
:root{--lio-dark:#842114;--lio-mid:#a83319;--lio-light:#bf4b1e;--ink:#222;--muted:#6f7378;--bg:#f5f6f8;--card:#fff;--line:#e7e8eb}*{box-sizing:border-box}body{margin:0;font-family:Montserrat,sans-serif;color:var(--ink);background:var(--bg)}.auth-page{min-height:100vh;background:radial-gradient(circle at top left,rgba(191,75,30,.16),transparent 34%),linear-gradient(145deg,#fff 0%,#f5f6f8 100%)}.auth-wrapper{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,430px);background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:0 24px 70px rgba(73,35,25,.12)}.login-brand{text-align:center;margin-bottom:28px}.login-brand img{width:150px;height:150px;object-fit:contain}.login-brand h1{font-size:24px;margin:0 0 8px;font-weight:700}.login-brand p{font-size:13px;color:var(--muted);line-height:1.6}.form-control{min-height:46px;border-radius:12px}.btn-primary{background:linear-gradient(135deg,var(--lio-dark),var(--lio-light));border:0;min-height:46px;border-radius:12px;font-weight:600}.login-footer{text-align:center;color:#8a8e93;font-size:11px;margin-top:24px}.app-shell{min-height:100vh;display:flex}.sidebar{width:280px;min-height:100vh;background:linear-gradient(180deg,#771c12,#952617 55%,#702018);color:#fff;padding:22px 16px;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand-block{display:flex;align-items:center;gap:12px;padding:6px 8px 22px;border-bottom:1px solid rgba(255,255,255,.16)}.brand-block img{width:54px;height:54px;object-fit:contain;border-radius:12px;background:#fff}.brand-title{font-weight:700;font-size:14px}.brand-subtitle{font-size:10px;opacity:.76}.sidebar-nav{margin-top:18px;gap:4px}.sidebar-nav .nav-link{color:rgba(255,255,255,.82);border-radius:10px;padding:11px 12px;font-size:13px;display:flex;justify-content:space-between}.sidebar-nav .nav-link.active{background:rgba(255,255,255,.13);color:#fff}.sidebar-nav .nav-link.disabled{color:rgba(255,255,255,.42)}.sidebar-nav .nav-link span{font-size:8px}.menu-label{margin:20px 12px 8px;font-size:9px;text-transform:uppercase;letter-spacing:.16em;opacity:.65}.main-area{margin-left:280px;min-height:100vh;width:calc(100% - 280px);display:flex;flex-direction:column}.topbar{background:#fff;border-bottom:1px solid var(--line);padding:18px 28px;display:flex;justify-content:space-between;align-items:center}.topbar h1{margin:0;font-size:20px;font-weight:700}.topbar p{margin:4px 0 0;color:var(--muted);font-size:11px}.user-panel{display:flex;gap:15px;align-items:center}.user-panel strong,.user-panel small{display:block;font-size:11px}.content-area{padding:26px;flex:1}.welcome-card{background:linear-gradient(135deg,#fff,#fff7f3);border:1px solid #f0d8cd;border-radius:18px;padding:24px;display:flex;justify-content:space-between;align-items:center}.eyebrow{color:var(--lio-mid);font-size:9px;letter-spacing:.18em;font-weight:700}.welcome-card h2{font-size:23px;margin:5px 0}.welcome-card p{margin:0;color:var(--muted);font-size:12px}.status-pill{background:var(--lio-dark);color:#fff;border-radius:999px;padding:8px 13px;font-size:10px}.metric-card,.panel-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;height:100%}.metric-label{font-size:11px;color:var(--muted)}.metric-value{font-size:30px;font-weight:700}.metric-description{font-size:10px;color:#8b8f94}.panel-card h3{font-size:15px;font-weight:700}.panel-card p{font-size:11px;color:var(--muted)}.check-row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid #eef0f2;font-size:11px}.check-row strong{color:#25844d;font-size:10px}.app-footer{text-align:center;color:#8d9196;font-size:10px;padding:18px}@media(max-width:720px){.sidebar{position:static;width:100%;min-height:auto}.app-shell{display:block}.main-area{margin-left:0;width:100%}.sidebar-nav{display:none}.topbar{padding:15px 18px}.topbar p,.user-panel div{display:none}.content-area{padding:16px}.welcome-card{align-items:flex-start;flex-direction:column}}


/* Sprint 1A.2 */
.page-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}
.page-intro { margin: 0; color: var(--muted); font-size: 12px; }
.table-panel { padding: 0; overflow: hidden; }
.table-panel .table { margin-bottom: 0; }
.table-panel th {
    background: #fafafa;
    color: #777c82;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .05em;
    padding: 14px 18px;
    border-bottom: 1px solid var(--line);
}
.table-panel td { font-size: 11px; padding: 14px 18px; border-color: #eef0f2; }
.form-select { min-height: 46px; border-radius: 12px; border-color: #dcdfe3; }
.form-select:focus { border-color: var(--lio-light); box-shadow: 0 0 0 .2rem rgba(191,75,30,.12); }
.form-hint { display:block; margin-top:6px; color:#8b8f94; font-size:10px; }
.form-actions {
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:10px;
    padding-top:22px;
    margin-top:22px;
    border-top:1px solid var(--line);
}
.section-title { margin-bottom:20px; padding-bottom:15px; border-bottom:1px solid var(--line); }
.section-title h3 { margin:0 0 5px; }
.section-title p { margin:0; color:var(--muted); font-size:11px; }
.permission-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.permission-group { border:1px solid var(--line); border-radius:14px; padding:16px; }
.permission-group h4 { font-size:12px; font-weight:700; margin:0 0 12px; }
.permission-item { display:flex; gap:10px; align-items:flex-start; padding:9px 0; border-bottom:1px solid #f0f1f3; cursor:pointer; }
.permission-item:last-child { border-bottom:0; }
.permission-item input { margin-top:3px; }
.permission-item strong { display:block; font-size:11px; }
.permission-item small { display:block; color:var(--muted); font-size:9px; margin-top:2px; }
.activity-row { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:11px 0; border-bottom:1px solid #eef0f2; }
.activity-row:last-child { border-bottom:0; }
.activity-row strong { display:block; font-size:10px; }
.activity-row small { display:block; color:var(--muted); font-size:9px; margin-top:3px; }
.user-agent-cell { max-width:360px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sidebar-nav .nav-link.active { background:rgba(255,255,255,.17); }
.nav-tabs .nav-link { color:var(--ink); font-size:11px; }
.nav-tabs .nav-link.active { color:var(--lio-dark); font-weight:600; }

@media (max-width: 900px) {
    .permission-grid { grid-template-columns:1fr; }
}
@media (max-width: 720px) {
    .page-actions { align-items:flex-start; }
    .table-panel { border-radius:12px; }
}
