:root{--ink-900: #1a1a2e;--ink-600: #6b7280;--ink-400: #9aa3d8;--line: #e8eaff;--paper: #fbfbff;--paper-dim: #f5f6ff;--card-bg: #ffffff;--accent: #5271ff;--accent-light: #eef0ff;--accent-soft: #a3afff;--accent-mid: #7b8eff;--accent-dark: #2f2ce2;--good: #16a34a;--good-bg: #dcfce7;--good-bg-soft: #eaf6ee;--warn: #d97706;--warn-bg: #fef9c3;--warn-bg-soft: #fdf3da;--bad: #b91c1c;--bad-bg: #fecaca;--bad-bg-soft: #fef2f2;--delivery-purple: #7b3fe4;--hr-green: #2f8a6d;--hr-green-dark: #0e7a4f;--hero-gradient: linear-gradient(135deg, #2f2ce2, #0e0055);--hero-gradient-delivery: linear-gradient(150deg, #3a2a8c, #1a1145);--font-display: "Cabin", system-ui, sans-serif;--font-body: "Cabin", system-ui, sans-serif;--font-mono: "Cabin", monospace;--radius-sm: 6px;--radius-md: 8px;--radius-pill: 99px;--shadow-card: none}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);background:var(--paper-dim);color:var(--ink-900);-webkit-font-smoothing:antialiased}a{color:inherit}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.app-shell{display:grid;grid-template-columns:256px 1fr;min-height:100vh}.sidebar{background:var(--card-bg);border-right:1px solid var(--line);color:var(--ink-900);padding:24px 16px;display:flex;flex-direction:column;gap:4px}.sidebar-brand{font-family:var(--font-display);font-weight:700;font-size:15px;letter-spacing:.01em;color:var(--accent);margin-bottom:28px;padding:0 8px}.sidebar-brand small{display:block;color:var(--ink-600);font-family:var(--font-body);font-size:11.5px;font-weight:600;margin-top:2px}.nav-link{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:var(--radius-md);font-size:13.5px;font-weight:600;text-decoration:none;color:var(--ink-600);transition:background .12s ease,color .12s ease}.nav-link:hover{background:var(--accent-light);color:var(--ink-900)}.nav-link.active{background:var(--accent-light);color:var(--accent)}.nav-section-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-400);font-weight:700;margin:18px 12px 6px}.main{padding:28px 36px 60px;max-width:1180px}.page-title{font-family:var(--font-display);font-weight:700;font-size:18px;margin:0 0 4px;color:var(--ink-900)}.page-subtitle{color:var(--ink-600);font-size:13.5px;margin:0 0 24px}.card{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:20px}.card+.card{margin-top:16px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-400);font-weight:700;padding:8px 10px;border-bottom:1px solid var(--line)}td{padding:9px 10px;border-bottom:1px solid var(--paper-dim)}tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:700}.badge-good{background:var(--good-bg);color:var(--good)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-accent{background:var(--accent-light);color:var(--accent)}.badge-bad{background:var(--bad-bg);color:var(--bad)}.badge-neutral{background:var(--paper-dim);color:var(--ink-600)}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--ink-600);font-size:13px;font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease}.btn:hover{background:var(--accent-light);color:var(--ink-900)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font-family:var(--font-body);font-size:13.5px;padding:10px 12px;border:1px solid var(--accent-light);border-radius:var(--radius-md);background:#fff;color:var(--ink-900);width:100%}label{display:block;font-size:12px;font-weight:600;color:var(--ink-600);margin-bottom:5px}.field{margin-bottom:14px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.error-banner{background:var(--bad-bg-soft);border:1px solid var(--bad-bg);color:var(--bad);padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:16px}.empty-state{text-align:center;padding:48px 16px;color:var(--ink-400);font-size:13.5px}.spinner{border:2px solid var(--accent-light);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.bar-track{height:8px;background:var(--accent-light);border-radius:var(--radius-pill);overflow:hidden}.bar-fill{height:100%;border-radius:var(--radius-pill)}.score-pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-display);font-weight:700}.perf-scale{display:flex;gap:3px;margin:10px 0}.perf-seg{flex:1;height:10px}.role-toggle{display:inline-flex;background:var(--paper-dim);border-radius:var(--radius-sm);padding:3px;gap:2px}.role-toggle button{padding:7px 16px;border-radius:6px;border:none;font-size:13px;font-weight:600;cursor:pointer;background:transparent;color:var(--ink-600)}.role-toggle button.active{background:var(--accent);color:#fff}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--ink-900)}.login-card{background:#fff;border-radius:var(--radius-md);padding:40px;width:360px;text-align:center;box-shadow:0 20px 60px #1a1a2e4d}.login-card h1{font-family:var(--font-display);font-weight:700;font-size:18px;margin:0 0 4px;color:var(--ink-900)}.login-card p{color:var(--ink-600);font-size:13px;margin:0 0 24px}.ms-signin-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:11px 16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:14px;font-weight:600;color:var(--ink-600);cursor:pointer}.ms-signin-btn:hover{background:var(--paper-dim)}
