
/* Page base */
body{margin:0;font-family:Arial,sans-serif;background:#f7f7f7;color:#111;}
a{color:#0056b3;text-decoration:none;}
a:hover{text-decoration:underline;}

/* Layout */
.layout{display:flex;min-height:100vh;}
.content{flex:1;padding:18px;}

/* Sidebar */
.sidebar{width:280px;background:#111827;color:#fff;display:flex;flex-direction:column;}
.brand{padding:20px 16px;border-bottom:1px solid rgba(255,255,255,.08);text-align:center;}
.brand-logo{margin-bottom:12px;}
.brand-logo img{max-width:140px;border-radius:10px;box-shadow:0 4px 6px rgba(0,0,0,0.3);}
.brand-title{font-size:18px;font-weight:700;}
.brand-sub{font-size:12px;color:rgba(255,255,255,.7);margin-top:2px;}
.nav{padding:10px;}
.nav-item{display:block;padding:10px
10px;border-radius:10px;color:#fff;text-decoration:none;margin-bottom:10px;border:1px solid rgba(255,255,255,.08);}
.nav-item:hover{background:rgba(255,255,255,.06);}
.nav-item.active{background:#1f2937;border-color:rgba(255,255,255,.18);}
.nav-item.disabled{opacity:.45;cursor:not-allowed;pointer-events:none;}
.nav-label{font-weight:700;font-size:13px;}
.nav-desc{font-size:12px;color:rgba(255,255,255,.7);margin-top:2px;line-height:1.2;}
.sidebar-footer{margin-top:auto;padding:12px 16px;border-top:1px solid rgba(255,255,255,.08);}
.tiny{font-size:11px;color:rgba(255,255,255,.6);}

/* Card / UI primitives */
.card{background:#fff;border:1px solid #ddd;border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.06);padding:14px;}
h1{font-size:20px;margin:0 0 8px;}
.subtitle{font-size:12px;color:#666;margin-bottom:12px;}

.box{border:1px solid #e3e3e3;border-radius:10px;padding:12px;background:#fff;}
.two-col{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;}
.box{flex:1;min-width:320px;}

label{display:block;font-size:12px;color:#333;margin-bottom:4px;}
input[type=text], select{
padding:6px 8px;border:1px solid #ccc;border-radius:6px;
}
.small{font-size:12px;color:#666;}
.info{font-size:12px;color:#666;margin-top:8px;}
.warn{color:darkred;font-weight:700;margin-top:8px;}

.btn{padding:7px 10px;border:0;border-radius:6px;background:#0056b3;color:#fff;cursor:pointer;font-size:13px;}
.btn:hover{background:#003d80;}
.btn.gray{background:#444;}
.btn.gray:hover{background:#222;}

.breadcrumbs{margin:10px 0;padding:8px;background:#f5f5f5;border:1px solid #e3e3e3;border-radius:8px;font-size:12px;}

table{border-collapse:collapse;margin-top:10px;width:100%;}
th,td{border:1px solid #ccc;padding:6px 8px;text-align:left;font-size:13px;}
th{background:#eee;}
tr:nth-child(even){background:#fafafa;}