:root{color-scheme:light;--bg:#f5f2ed;--bg-elev:#ffffff;--surface-1:#fffefb;--surface-2:#f1ece4;--surface-3:#e9e3da;--border:rgba(18,17,26,0.11);--border-strong:rgba(18,17,26,0.18);--text-1:#12111a;--text-2:#3a3848;--text-3:#6b6980;--text-inverse:#f8f6f2;--accent:#1a7f55;--accent-hi:#0f5c3d;--accent-dim:#2f9e6b;--accent-wash:rgba(26,127,85,0.1);--accent-wash-strong:rgba(26,127,85,0.18);--accent-ink:#ffffff;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--ok:#1f8f52;--warn:#9b6c2c;--serious:#bd6b3c;--critical:#b54a3a;--ok-wash:rgba(31,143,82,0.12);--warn-wash:rgba(155,108,44,0.13);--serious-wash:rgba(189,107,60,0.13);--critical-wash:rgba(181,74,58,0.11);--ok-ink:#17743f;--warn-ink:#8a5f22;--critical-ink:#a53f30;--grid:rgba(18,17,26,0.08);--axis:rgba(18,17,26,0.16);--muted-ink:#6b6980;--font-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;--fs-display:clamp(1.75rem,1.2rem + 1.8vw,2.5rem);--fs-h1:clamp(1.35rem,1.1rem + 0.9vw,1.75rem);--fs-h2:1.0625rem;--fs-body:0.875rem;--fs-sm:0.8125rem;--fs-xs:0.75rem;--fs-2xs:0.6875rem;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:22px;--r-pill:999px;--shadow-sm:0 0 0 1px rgba(18,17,26,0.03),0 1px 2px rgba(18,17,26,0.06);--shadow-md:0 8px 26px -12px rgba(18,17,26,0.18);--shadow-lg:0 24px 60px -24px rgba(18,17,26,0.22);--ring:0 0 0 3px var(--accent-wash-strong);--dur-fast:120ms;--dur:200ms;--dur-slow:420ms;--ease:cubic-bezier(0.22,0.61,0.36,1);--ease-out:cubic-bezier(0.16,1,0.3,1);--sidebar-w:252px;--topbar-h:62px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px;--sp-9:48px;--sp-10:64px;--z-sticky-cell:2;--z-raised:5;--z-dropdown:20;--z-topbar:30;--z-chat:60;--z-sal-page:70;--z-overlay:120;--z-menu:140;--z-modal:150;--z-voice:160;--z-tour:170;--z-toast:200}*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}body,html{height:100%}body{background:var(--bg);color:var(--text-1);font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;background-image:radial-gradient(900px 520px at 12% -8%,rgba(26,127,85,.06),transparent 62%),radial-gradient(760px 420px at 100% 0,rgba(47,163,115,.05),transparent 58%);background-attachment:fixed}canvas,img,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-weight:620;letter-spacing:-.018em;line-height:1.2}:focus-visible{outline:2px solid var(--accent-hi);outline-offset:2px;border-radius:var(--r-sm)}::selection{background:var(--accent-wash-strong);color:var(--text-1)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid transparent;background-clip:content-box;border-radius:var(--r-pill)}::-webkit-scrollbar-thumb:hover{background:#3d4557;background-clip:content-box}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:20px}.tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono);font-size:.9em;letter-spacing:-.01em;white-space:nowrap}.eyebrow{font-size:var(--fs-2xs);font-weight:680;letter-spacing:.09em;text-transform:uppercase;color:var(--text-3)}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 15px;border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-1);font-size:var(--fs-sm);font-weight:600;white-space:nowrap;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.btn:hover:not(:disabled){background:var(--surface-3);border-color:#3a4152}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:680}.btn-primary:hover:not(:disabled){background:var(--accent-hi);border-color:var(--accent-hi)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text-1)}.btn-danger{border-color:rgba(181,74,58,.4);color:var(--critical);background:var(--critical-wash)}.btn-danger:hover:not(:disabled){background:rgba(181,74,58,.18);border-color:rgba(181,74,58,.6)}.btn-sm{padding:6px 11px;font-size:var(--fs-xs);border-radius:var(--r-sm)}.btn-icon{padding:8px;width:34px;height:34px}.input,.select,.textarea{width:100%;padding:10px 13px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-1);font-size:var(--fs-sm);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);background:var(--surface-1);box-shadow:var(--ring)}.input[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--critical)}.input[aria-invalid=true]:focus,.select[aria-invalid=true]:focus{box-shadow:0 0 0 3px var(--critical-wash)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:calc(100% - 17px) calc(50% + 1px),calc(100% - 12px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:var(--fs-xs);font-weight:620;color:var(--text-2)}.field-error{font-size:var(--fs-xs);color:var(--critical);font-weight:560}.field-hint{font-size:var(--fs-xs);color:var(--text-3)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:var(--r-pill);font-size:var(--fs-2xs);font-weight:660;letter-spacing:.01em;white-space:nowrap;border:1px solid transparent}.badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.badge-ok{background:var(--ok-wash);color:var(--ok);border-color:rgba(31,143,82,.3)}.badge-warn{background:var(--warn-wash);color:var(--warn);border-color:rgba(155,108,44,.3)}.badge-serious{background:var(--serious-wash);color:var(--serious);border-color:rgba(189,107,60,.32)}.badge-critical{background:var(--critical-wash);color:var(--critical);border-color:rgba(181,74,58,.34)}.badge-neutral{background:var(--surface-3);color:var(--text-2);border-color:var(--border-strong)}.badge-accent{background:var(--accent-wash);color:var(--accent-hi);border-color:rgba(26,127,85,.3)}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-sm)}.table th{text-align:left;font-size:var(--fs-2xs);font-weight:680;letter-spacing:.075em;text-transform:uppercase;color:var(--text-3);padding:10px 14px;background:var(--surface-1);position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky-cell);white-space:nowrap}.table td,.table th{border-bottom:1px solid var(--border)}.table td{padding:12px 14px;color:var(--text-1);vertical-align:middle}.table tbody tr{transition:background var(--dur-fast) var(--ease)}.table tbody tr:hover{background:var(--surface-2)}.table .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.divider{height:1px;background:var(--border);border:0}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:var(--r-sm)}@keyframes shimmer{to{background-position:-200% 0}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:56px 24px;text-align:center;color:var(--text-3)}.empty-state strong{color:var(--text-1);font-size:var(--fs-h2);font-weight:620}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.recharts-cartesian-grid line{stroke:var(--grid)}.recharts-cartesian-axis-line,.recharts-cartesian-axis-tick-line{stroke:var(--axis)}.recharts-text{fill:var(--muted-ink);font-size:11px}.recharts-surface:focus:not(:focus-visible),.recharts-wrapper:focus:not(:focus-visible){outline:none}.recharts-surface:focus-visible,.recharts-wrapper:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.recharts-tooltip-cursor{fill:rgba(18,17,26,.05)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media print{body{background:#fff;color:#000;background-image:none}.no-print{display:none!important}}