:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:#f3f6fb}*{box-sizing:border-box}body{margin:0;background:#f3f6fb;color:#0f172a}.app-shell{min-height:100vh;display:flex}.sidebar{width:320px;background:#0f172a;color:#cbd5e1;padding:1rem;border-right:1px solid #1e293b;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:.75rem;padding-bottom:1rem;border-bottom:1px solid #1e293b}.brand-badge{width:2rem;height:2rem;border-radius:.5rem;display:grid;place-items:center;background:#2563eb;color:#fff;font-weight:700;font-size:.75rem}.brand-title{margin:0;font-size:.75rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.08em}.brand-subtitle{margin:.25rem 0 0;font-size:.68rem;color:#94a3b8}.sidebar-nav{margin-top:1rem;display:grid;gap:1rem}.nav-group-title{margin:0 0 .45rem;font-size:.66rem;font-weight:700;text-transform:uppercase;color:#64748b;letter-spacing:.08em}.nav-link{display:block;text-decoration:none;color:#cbd5e1;padding:.45rem .6rem;border-radius:.5rem;margin-bottom:.25rem;font-size:.8rem}.nav-link:hover{background:#1e293b;color:#fff}.nav-link.is-active{background:#1e40af;color:#dbeafe;font-weight:600}.content{flex:1;padding:1.25rem 1.5rem 2rem}.topbar{display:grid;gap:.85rem;padding-bottom:1rem;border-bottom:1px solid #cbd5e1;margin-bottom:1.25rem}.topbar-nav{display:flex;justify-content:space-between;align-items:center;gap:.8rem;flex-wrap:wrap}.topbar-left{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.topbar-right{display:flex;align-items:center;gap:.5rem}.chip{display:inline-flex;align-items:center;border-radius:.6rem;border:1px solid #dbe3ef;background:#fff;color:#334155;font-size:.78rem;padding:.35rem .55rem;line-height:1;font-weight:600}.live-chip{border-color:#c7d2fe;background:#eef2ff;color:#1d4ed8}.role-chip{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.filter-chip,.sync-chip{background:#f8fafc}.status-chip{border-color:#86efac;background:#f0fdf4;color:#047857}.icon-btn{width:2rem;height:2rem;border-radius:.5rem;border:1px solid #dbe3ef;background:#fff;color:#475569;font-weight:700}.user-chip{display:flex;align-items:center;gap:.45rem;background:#fff;border:1px solid #dbe3ef;border-radius:.75rem;padding:.35rem .5rem}.avatar{width:1.9rem;height:1.9rem;border-radius:.6rem;background:#2563eb;color:#fff;font-size:.72rem;font-weight:700;display:grid;place-items:center}.user-name{margin:0;font-size:.76rem;font-weight:700;color:#0f172a}.user-role{margin:.08rem 0 0;font-size:.68rem;color:#64748b}.topbar-brand{display:block}.topbar-kicker{margin:0;color:#475569;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:700}.topbar h1{margin:.2rem 0 0;font-size:1.3rem}.module-header{background:#fff;border:1px solid #dbe3ef;border-radius:.85rem;padding:1rem}.module-category{margin:0;color:#2563eb;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}.module-header h2{margin:.4rem 0;font-size:1.35rem}.module-header p{margin:0;color:#475569}.cards{margin-top:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.card{background:#fff;border:1px solid #dbe3ef;border-radius:.85rem;padding:.95rem}.card-label{margin:0;color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:700}.card-title{margin:.4rem 0 0;font-size:1rem;font-weight:700}.card-copy{margin:.35rem 0 0;color:#475569;font-size:.85rem}.module-footer{margin-top:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.link-button{display:inline-block;text-decoration:none;background:#0f172a;color:#fff;border-radius:.6rem;padding:.55rem .85rem;font-size:.82rem;font-weight:600}.link-button:hover{background:#1e293b}.footer-note{color:#64748b;font-size:.75rem}@media(max-width:960px){.app-shell{display:block}.sidebar{width:100%;height:auto;position:static;border-right:0}.module-footer{display:block}.footer-note{display:block;margin-top:.75rem}.topbar-nav{align-items:flex-start;flex-direction:column}.topbar-right{width:100%;justify-content:space-between}}
