:root{font-family:Space Grotesk,Segoe UI,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text);background:var(--page-bg);--page-bg: radial-gradient(circle at top left, rgba(255, 196, 123, .15), transparent 26%), radial-gradient(circle at bottom right, rgba(88, 166, 142, .18), transparent 30%), linear-gradient(180deg, #0b1210 0%, #121b18 46%, #0d141b 100%);--text: #ebf1ec;--text-strong: #edf2ed;--text-dim: rgba(235, 241, 236, .7);--panel: rgba(14, 24, 20, .86);--panel-soft: rgba(255, 255, 255, .04);--panel-border: rgba(214, 231, 217, .1);--sidebar-bg: linear-gradient(180deg, rgba(10, 16, 14, .96), rgba(15, 24, 21, .92)), rgba(0, 0, 0, .2);--accent: #f1b86b;--accent-soft: rgba(241, 184, 107, .12);--accent-border: rgba(241, 184, 107, .18);--success-soft: rgba(105, 181, 158, .14);--success-text: #9fe6d2;--input-bg: rgba(8, 13, 11, .72);--button-muted: rgba(255, 255, 255, .06);--danger: #ffb8ad;--danger-soft: rgba(122, 29, 31, .28);--table-border: rgba(255, 255, 255, .08);--shadow: 0 20px 60px rgba(0, 0, 0, .2)}:root[data-theme=light]{--page-bg: radial-gradient(circle at top left, rgba(114, 196, 181, .18), transparent 24%), radial-gradient(circle at bottom right, rgba(255, 204, 138, .22), transparent 28%), linear-gradient(180deg, #f4fbf8 0%, #edf7f4 44%, #f9fcfd 100%);--text: #17302c;--text-strong: #18312d;--text-dim: rgba(23, 48, 44, .68);--panel: rgba(255, 255, 255, .82);--panel-soft: rgba(20, 73, 66, .05);--panel-border: rgba(32, 104, 92, .12);--sidebar-bg: linear-gradient(180deg, rgba(234, 247, 243, .96), rgba(225, 241, 236, .94)), rgba(255, 255, 255, .8);--accent: #127a6b;--accent-soft: rgba(18, 122, 107, .1);--accent-border: rgba(18, 122, 107, .18);--success-soft: rgba(18, 122, 107, .1);--success-text: #0f6a5d;--input-bg: rgba(248, 252, 251, .94);--button-muted: rgba(18, 122, 107, .08);--danger: #b13f4a;--danger-soft: rgba(177, 63, 74, .12);--table-border: rgba(21, 76, 69, .1);--shadow: 0 18px 48px rgba(20, 63, 57, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);background:var(--page-bg);transition:background .18s ease,color .18s ease}button,input{font:inherit}button{cursor:pointer}code{font-family:IBM Plex Mono,SFMono-Regular,monospace}#root{min-height:100vh}.login-shell,.loading-shell{min-height:100vh;display:grid;place-items:center;padding:28px}.login-hero{width:min(1180px,100%);display:grid;grid-template-columns:1.1fr 420px;gap:24px;align-items:stretch}.login-copy,.login-card,.loading-card,.stat-card,.panel{border:1px solid var(--panel-border);background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.login-copy,.loading-card{border-radius:32px;padding:36px}.login-card,.panel{border-radius:28px;padding:24px}.eyebrow,.sidebar-kicker{margin:0 0 10px;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;color:var(--accent)}.login-copy-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.login-copy h1,.sidebar h1,.topbar h2,.loading-card h2{margin:0;letter-spacing:-.04em}.login-copy h1{font-size:clamp(2.6rem,5vw,5rem);line-height:.95;max-width:10ch}.login-lede,.sidebar-copy,.empty,.sidebar-status p,.meta-label,.login-form span,.table-wrap td,.table-wrap th,.panel-head p{color:var(--text-dim)}.login-lede{max-width:56ch;margin:20px 0 28px}.login-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.login-meta>div,.sidebar-status{padding:18px;border-radius:22px;background:var(--panel-soft);border:1px solid var(--panel-border)}.meta-label,.sidebar-status span,.stat-card span{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}.panel-head,.topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.panel h3,.login-card h3{margin:0;font-size:1.35rem}.demo-strip{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 18px}.nav-item,.demo-strip button,.secondary,.login-form button{border:0;border-radius:18px;transition:transform .16s ease,background .16s ease,border-color .16s ease}.demo-strip button,.secondary{padding:10px 14px;background:var(--button-muted);color:var(--text-strong)}.theme-toggle{padding:10px 14px;border:1px solid var(--panel-border);border-radius:999px;background:var(--panel-soft);color:var(--text-strong)}.demo-strip button:hover,.secondary:hover,.login-form button:hover,.nav-item:hover{transform:translateY(-1px)}.login-form{display:grid;gap:14px}.login-form label,.role-form label{display:grid;gap:8px}.login-form input,.role-form input{width:100%;padding:14px 16px;border-radius:16px;border:1px solid var(--panel-border);background:var(--input-bg);color:var(--text-strong);outline:none}.login-form input:focus,.role-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.login-form button,.role-form button{padding:14px 18px;background:linear-gradient(135deg,var(--accent),#9ed8cf);color:#0f211d;font-weight:700}.feedback{margin:14px 0 0;padding:12px 14px;border-radius:14px}.role-feedback{background:var(--panel-soft);color:var(--text-strong);border:1px solid var(--panel-border)}.error{background:var(--danger-soft);color:var(--danger)}.admin-shell{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;justify-content:space-between;padding:30px 24px;border-right:1px solid var(--panel-border);background:var(--sidebar-bg)}.sidebar h1{font-size:2.6rem;line-height:.95}.sidebar-nav{display:grid;gap:10px;margin:28px 0 auto}.nav-item{text-align:left;padding:14px 16px;background:transparent;color:var(--text-strong);border:1px solid transparent}.nav-item.active,.nav-item:hover{background:var(--panel-soft);border-color:var(--panel-border)}.workspace{padding:28px}.topbar h2{font-size:clamp(2rem,4vw,3.4rem);line-height:.96}.topbar-actions{display:flex;gap:10px;align-items:center}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0}.stat-card{padding:18px 20px;border-radius:24px}.stat-card strong{display:block;margin-top:16px;font-size:2.1rem;line-height:1}.stat-card.warm{background:linear-gradient(180deg,#432d12b8,#121b17eb)}.stat-card.cool{background:linear-gradient(180deg,#14363ab8,#121b17eb)}.stat-card.neutral{background:linear-gradient(180deg,#262b27c7,#121b17eb)}.content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.lower-grid{margin-top:18px}.panel-wide{grid-column:1 / -1}.role-badge{padding:8px 12px;border-radius:999px;background:var(--success-soft);color:var(--success-text);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.profile-summary{display:grid;gap:18px;margin-top:20px}.profile-summary strong{display:block;margin-top:6px}.permission-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.permission-list.compact{margin-top:12px}.permission-pill{padding:10px 14px;border-radius:999px;background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent)}.table-wrap{margin-top:18px;overflow:auto}.role-form{display:grid;gap:14px}.role-catalog{display:grid;gap:14px;margin-top:18px}.role-card{padding:16px;border:1px solid var(--panel-border);border-radius:18px;background:var(--panel-soft)}.role-card p{margin:10px 0 0;color:var(--text-dim)}.role-card-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.role-source{padding:6px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--table-border);vertical-align:top}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}@media (max-width: 1120px){.login-hero,.content-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 860px){.admin-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--panel-border)}.workspace,.login-shell,.loading-shell{padding:20px}.topbar{flex-direction:column}.topbar-actions,.login-copy-top{width:100%}.login-meta{grid-template-columns:1fr}}@media (max-width: 640px){.summary-grid{grid-template-columns:1fr}.panel,.sidebar,.login-card,.login-copy,.loading-card{padding:20px}}
