:root{--ink: #16181d;--paper: #f8f8f9;--paper-raised: #ffffff;--primary: #5b527f;--primary-dark: #201d2c;--primary-light: #6f678e;--primary-soft: #f0eef7;--nav-active: #2f6f52;--nav-active-soft: #e7f2ec;--accent: #a46a3f;--accent-soft: #f7eee7;--danger: #b42318;--danger-soft: #fee4e2;--danger-dot: #e4867f;--success: #12805c;--success-soft: #e1f5ec;--success-dot: #76b594;--warn: #b54708;--warn-soft: #fff4e5;--warn-dot: #e5a155;--border: #e7e7ea;--border-strong: #cdcdd3;--muted: #667085;--muted-strong: #475467;--muted-on-page: var(--muted);--muted-dot: #98a2b3;--input-bg: #ffffff;--pill-neutral-bg: #f1f1f2;--info: #9c4a78;--info-soft: #f9ebf3;--card-radius: 14px;--pill-radius: 999px;--input-radius: 10px;--radius-sm: 8px;--card-shadow: 0 1px 2px rgba(16, 19, 35, .04);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--shadow-raised: 0 4px 12px rgba(16, 19, 35, .08), 0 12px 32px rgba(16, 19, 35, .1);--shadow-modal: 0 8px 20px rgba(16, 19, 35, .12), 0 24px 64px rgba(16, 19, 35, .16);--overlay-scrim: rgba(16, 19, 35, .4);--surface-blur: 16px;--material-bg: rgba(255, 255, 255, .88);--focus-ring: rgba(91, 82, 127, .24);--ease-standard: cubic-bezier(.4, 0, .2, 1);--duration-fast: .12s;--duration-base: .2s;--font-display: "Figtree", -apple-system, sans-serif;--font-body: "Figtree", -apple-system, sans-serif;--font-mono: "Figtree", -apple-system, sans-serif}[data-theme=dark]{--ink: #ededf0;--paper: #14151a;--paper-raised: #1c1d24;--primary: #9089b8;--primary-dark: #15121d;--primary-light: #a69fc7;--primary-soft: #26233a;--nav-active: #7a9e6e;--nav-active-soft: #212a1e;--accent: #c98f65;--accent-soft: #2f2620;--danger: #e08b83;--danger-soft: #3a201e;--danger-dot: #e4867f;--success: #5fbb95;--success-soft: #16261f;--success-dot: #76b594;--warn: #e0a165;--warn-soft: #332417;--warn-dot: #e5a155;--border: #2e2f38;--border-strong: #3d3e4a;--muted: #9297a8;--muted-strong: #b0b5c2;--muted-on-page: #b4b8c4;--muted-dot: #98a2b3;--input-bg: #1c1d24;--pill-neutral-bg: #262731;--info: #c284a8;--info-soft: #2f2130;--card-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 16px rgba(0, 0, 0, .22);--shadow-raised: 0 4px 12px rgba(0, 0, 0, .32), 0 12px 32px rgba(0, 0, 0, .3);--shadow-modal: 0 8px 20px rgba(0, 0, 0, .38), 0 24px 64px rgba(0, 0, 0, .42);--overlay-scrim: rgba(0, 0, 0, .55);--material-bg: rgba(28, 29, 36, .88);--focus-ring: rgba(144, 137, 184, .32)}*{box-sizing:border-box}a,button,input,select,textarea,.nav-tab,.tab-btn,.pill,.card,tbody tr{transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:14px;line-height:1.5}h1,h2,h3{font-family:var(--font-display);font-weight:600;margin:0}a{color:inherit}button{font-family:var(--font-body);cursor:pointer}.app-shell{display:grid;grid-template-columns:242px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--paper-raised);color:var(--ink);border-right:1px solid var(--border);padding:24px 0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-brand{padding:0 20px 24px;border-bottom:1px solid var(--border);margin-bottom:12px}.sidebar-brand .org{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:.01em;color:var(--ink)}.sidebar-brand .product{font-size:11px;color:var(--primary);text-transform:uppercase;letter-spacing:.14em;margin-top:2px}.nav-tab{display:flex;align-items:baseline;gap:10px;padding:10px 12px;margin:0 12px 2px;color:var(--muted-strong);text-decoration:none;font-size:13.5px;border-radius:10px}.nav-tab .tab-index{font-family:var(--font-mono);font-size:11px;color:var(--muted);width:18px}.nav-tab:hover{background:var(--paper);color:var(--ink)}.nav-tab.active{background:var(--nav-active-soft);color:var(--nav-active);font-weight:600}.nav-tab.active .tab-index{color:var(--nav-active)}.sidebar-footer{margin-top:auto;padding:16px 20px 0;border-top:1px solid var(--border);font-size:12.5px}.sidebar-footer .user-name{color:var(--ink);font-weight:600}.sidebar-footer button{margin-top:8px;background:none;border:1px solid var(--border);color:var(--muted-strong);border-radius:var(--pill-radius);padding:4px 12px;font-size:12px}.sidebar-footer button:hover{border-color:var(--primary);color:var(--primary)}.main{padding:32px 40px 60px;max-width:1600px;width:100%;margin:0 auto}.page-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:var(--space-5);gap:var(--space-4)}.page-header h1{font-size:27px}.page-header .subtitle{color:var(--muted-on-page);font-size:13px;margin-top:4px}.page-loading{padding:60px;text-align:center;color:var(--muted);font-family:var(--font-display);font-size:18px}.card{background:var(--paper-raised);border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:20px 22px}.card+.card{margin-top:var(--space-4)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.stat-card{background:var(--paper-raised);border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:16px 20px}.stat-card .stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.kpi-chip{display:flex;align-items:center;justify-content:center;flex-shrink:0}.hero-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3);margin-bottom:var(--space-5)}.hero-kpi-row .stat-card{box-shadow:var(--shadow-raised)}.stat-card .stat-value{font-family:var(--font-mono);font-size:26px;font-weight:800;margin-top:6px;color:var(--primary)}.clickable{cursor:pointer}.hoverable{transition:box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.hoverable:hover{box-shadow:var(--shadow-raised);transform:translateY(-1px)}table{width:100%;border-collapse:collapse;font-size:13.5px}thead th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--border);padding:8px 10px;font-weight:500}tbody td{padding:11px 10px;border-bottom:1px solid var(--border);vertical-align:middle}tbody tr:hover{background:#5b527f0d}tbody tr.clickable{cursor:pointer}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:var(--pill-radius);background:var(--pill-neutral-bg);color:var(--ink);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border:1px solid transparent}.pill:before{content:"";width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--dot-color, var(--muted-dot))}.pill-success{--dot-color: var(--success-dot)}.pill-danger{--dot-color: var(--danger-dot)}.pill-warn{--dot-color: var(--warn-dot)}.pill-neutral{--dot-color: var(--muted-dot);color:var(--muted-strong)}.seg{display:inline-flex;background:var(--paper);border:1px solid var(--border);border-radius:var(--pill-radius);padding:3px;gap:2px}.seg-opt{position:relative;cursor:pointer}.seg-opt input{position:absolute;opacity:0;pointer-events:none}.seg-opt span{display:block;padding:6px 14px;border-radius:var(--pill-radius);font-size:12.5px;color:var(--muted);white-space:nowrap;transition:background .12s ease,color .12s ease}.seg-opt input:checked+span{background:var(--primary);color:#fff;font-weight:500}.seg-opt:hover input:not(:checked)+span{color:var(--ink)}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.field label{font-size:12px;color:var(--muted);font-weight:500}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{font-family:var(--font-body);font-size:13.5px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--input-radius);background:var(--input-bg);color:var(--ink)}textarea{resize:vertical;min-height:70px}input:not([type=checkbox]):not([type=radio]):not([type=file]):focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.btn{display:inline-block;padding:9px 18px;border-radius:var(--pill-radius);border:1px solid var(--primary);background:var(--primary);color:#fff;font-size:13px;font-weight:500}.btn:hover{background:var(--primary-light);border-color:var(--primary-light)}.btn-secondary{display:inline-block;padding:9px 18px;border-radius:var(--pill-radius);border:1px solid var(--border);background:transparent;color:var(--primary);font-size:13px;font-weight:500}.btn-secondary:hover{background:var(--primary-soft);border-color:var(--primary)}.btn-text{border:none;background:none;color:var(--primary);font-size:13px;padding:4px 0;text-decoration:underline}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--primary-dark)}.login-card{background:var(--paper-raised);padding:40px 36px;border-radius:var(--card-radius);width:340px}.login-card h1{font-size:23px;color:var(--primary)}.login-card .tag{color:var(--muted);font-size:12.5px;margin:6px 0 22px}.error-banner{background:var(--danger-soft);color:var(--danger);padding:8px 14px;border-radius:var(--input-radius);font-size:12.5px;margin-bottom:14px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:18px}.tab-btn{background:none;border:none;padding:9px 14px;font-size:13px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.tab-btn.active{color:var(--primary);border-bottom-color:var(--accent);font-weight:500}.note-item{padding:10px 0;border-bottom:1px solid var(--border)}.note-meta{font-size:11.5px;color:var(--muted);margin-bottom:3px}.empty-state{color:var(--muted);font-size:13px;padding:20px 0;text-align:center}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;border:1.5px solid var(--border-strong, var(--border));border-radius:5px;background:var(--paper-raised);cursor:pointer;position:relative;flex-shrink:0;transition:background .15s ease,border-color .15s ease}input[type=checkbox]:hover{border-color:var(--primary)}input[type=checkbox]:checked{background:var(--primary);border-color:var(--primary)}input[type=checkbox]:checked:after{content:"";position:absolute;left:5px;top:1px;width:5px;height:9px;border:solid var(--paper-raised, #f7f3ec);border-width:0 2px 2px 0;transform:rotate(45deg)}input[type=checkbox]:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.icon-btn{border:none;background:transparent;padding:4px;cursor:pointer;display:flex;border-radius:var(--radius-sm)}.icon-btn:hover{background:var(--paper)}.icon-btn-bordered{border:1px solid var(--border);padding:6px}.icon-btn-bordered:hover{border-color:var(--primary);background:var(--paper)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-scrim);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;animation:overlay-fade-in var(--duration-base) var(--ease-standard)}.modal-panel{max-width:640px;width:100%;max-height:90vh;overflow-y:auto;animation:panel-rise-in var(--duration-base) var(--ease-standard)}.popover{position:absolute;top:100%;left:0;right:0;margin-top:6px;background:var(--paper-raised);border:1px solid var(--border);border-radius:var(--radius-sm);max-height:260px;overflow-y:auto;z-index:20;box-shadow:var(--shadow-raised);animation:overlay-fade-in var(--duration-fast) var(--ease-standard)}.popover-item{padding:8px 12px;cursor:pointer}.popover-item:hover{background:var(--paper)}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes panel-rise-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
