:root,[data-theme=dark]{--specai-color-bg-base: oklch(.15 .02 250);--specai-color-bg-raised: oklch(.28 .01 250);--specai-color-bg-overlay: oklch(.7 .16 175 / .04);--specai-color-bg-input: oklch(.2 .015 250);--specai-color-bg-glass: oklch(.28 .01 250 / .85);--specai-color-bg-inverse: oklch(1 0 0);--specai-color-text-primary: oklch(.87 .005 250);--specai-color-text-secondary: oklch(.65 .005 250);--specai-color-text-muted: oklch(.55 .005 250);--specai-color-text-inverse: oklch(.15 .02 250);--specai-color-text-link: oklch(.7 .16 175);--specai-color-border-default: oklch(.7 .16 175 / .12);--specai-color-border-subtle: oklch(.7 .16 175 / .06);--specai-color-border-focus: oklch(.7 .16 175);--specai-color-accent-primary: oklch(.6 .16 250);--specai-color-accent-primaryHover: oklch(.72 .12 250);--specai-color-accent-success: oklch(.7 .16 175);--specai-color-accent-successHover: oklch(.77 .14 175);--specai-color-accent-danger: oklch(.62 .2 25);--specai-color-accent-dangerHover: oklch(.72 .16 25);--specai-color-accent-warning: oklch(.75 .18 85);--specai-color-accent-warningHover: oklch(.8 .16 85);--specai-space-1: 4px;--specai-space-2: 8px;--specai-space-3: 12px;--specai-space-4: 16px;--specai-space-6: 24px;--specai-space-8: 32px;--specai-radius-sm: 4px;--specai-radius-md: 8px;--specai-radius-lg: 12px;--specai-radius-xl: 16px;--specai-radius-full: 9999px;--specai-shadow-sm: 0 1px 2px oklch(0 0 0 / .05);--specai-shadow-md: 0 4px 6px oklch(0 0 0 / .07), 0 2px 4px oklch(0 0 0 / .06);--specai-shadow-lg: 0 10px 15px oklch(0 0 0 / .1), 0 4px 6px oklch(0 0 0 / .05);--specai-shadow-glow: 0 0 20px oklch(.7 .16 175 / .15);--specai-font-sans: "Inter", "Noto Sans", system-ui, -apple-system, sans-serif;--specai-font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--specai-duration-fast: .1s;--specai-duration-normal: .2s;--specai-duration-slow: .3s;--specai-easing: cubic-bezier(.4, 0, .2, 1);--specai-sidebar-width: 240px}[data-theme=light]{--specai-color-bg-base: oklch(.97 .005 250);--specai-color-bg-raised: oklch(1 0 0);--specai-color-bg-overlay: oklch(.5 .18 250 / .04);--specai-color-bg-input: oklch(1 0 0);--specai-color-bg-glass: oklch(1 0 0 / .85);--specai-color-bg-inverse: oklch(.15 .02 250);--specai-color-text-primary: oklch(.15 .02 250);--specai-color-text-secondary: oklch(.4 .005 250);--specai-color-text-muted: oklch(.55 .005 250);--specai-color-text-inverse: oklch(1 0 0);--specai-color-text-link: oklch(.5 .18 250);--specai-color-border-default: oklch(.55 .005 250 / .2);--specai-color-border-subtle: oklch(.55 .005 250 / .1);--specai-color-border-focus: oklch(.6 .16 250);--specai-color-accent-primary: oklch(.5 .18 250);--specai-color-accent-primaryHover: oklch(.42 .16 250);--specai-color-accent-success: oklch(.62 .15 175);--specai-color-accent-danger: oklch(.52 .22 25);--specai-color-accent-warning: oklch(.65 .16 85);--specai-shadow-sm: 0 1px 2px oklch(0 0 0 / .04);--specai-shadow-md: 0 4px 6px oklch(0 0 0 / .05), 0 2px 4px oklch(0 0 0 / .03);--specai-shadow-lg: 0 10px 15px oklch(0 0 0 / .07), 0 4px 6px oklch(0 0 0 / .04);--specai-shadow-glow: 0 0 20px oklch(.5 .18 250 / .1)}[data-theme=executive]{--specai-color-bg-base: oklch(.14 .01 270);--specai-color-bg-raised: oklch(.22 .01 270);--specai-color-bg-overlay: oklch(.55 .1 50 / .04);--specai-color-bg-input: oklch(.18 .01 270);--specai-color-text-primary: oklch(.9 .005 50);--specai-color-text-secondary: oklch(.68 .005 50);--specai-color-text-link: oklch(.72 .1 50);--specai-color-accent-primary: oklch(.55 .1 50);--specai-color-accent-primaryHover: oklch(.65 .08 50);--specai-color-border-default: oklch(.55 .1 50 / .12);--specai-shadow-glow: 0 0 20px oklch(.55 .1 50 / .12)}[data-theme=minimal]{--specai-color-bg-base: oklch(.98 0 0);--specai-color-bg-raised: oklch(1 0 0);--specai-color-bg-overlay: oklch(.5 0 0 / .03);--specai-color-bg-input: oklch(.96 0 0);--specai-color-text-primary: oklch(.2 0 0);--specai-color-text-secondary: oklch(.45 0 0);--specai-color-text-muted: oklch(.6 0 0);--specai-color-text-link: oklch(.3 0 0);--specai-color-accent-primary: oklch(.35 0 0);--specai-color-accent-primaryHover: oklch(.25 0 0);--specai-color-border-default: oklch(.5 0 0 / .12);--specai-color-border-subtle: oklch(.5 0 0 / .06);--specai-shadow-glow: none}[data-theme=nature]{--specai-color-bg-base: oklch(.16 .02 145);--specai-color-bg-raised: oklch(.24 .02 145);--specai-color-bg-overlay: oklch(.65 .14 145 / .05);--specai-color-bg-input: oklch(.2 .02 145);--specai-color-text-primary: oklch(.88 .01 145);--specai-color-text-secondary: oklch(.66 .01 145);--specai-color-text-link: oklch(.68 .14 145);--specai-color-accent-primary: oklch(.58 .14 145);--specai-color-accent-primaryHover: oklch(.68 .12 145);--specai-color-accent-success: oklch(.65 .14 145);--specai-color-border-default: oklch(.65 .14 145 / .12);--specai-shadow-glow: 0 0 20px oklch(.58 .14 145 / .15)}[data-theme=ocean]{--specai-color-bg-base: oklch(.14 .02 230);--specai-color-bg-raised: oklch(.22 .02 230);--specai-color-bg-overlay: oklch(.62 .14 210 / .05);--specai-color-bg-input: oklch(.18 .02 230);--specai-color-text-primary: oklch(.88 .01 210);--specai-color-text-secondary: oklch(.66 .01 210);--specai-color-text-link: oklch(.68 .14 210);--specai-color-accent-primary: oklch(.56 .14 210);--specai-color-accent-primaryHover: oklch(.66 .12 210);--specai-color-border-default: oklch(.62 .14 210 / .12);--specai-shadow-glow: 0 0 20px oklch(.56 .14 210 / .15)}[data-theme=high-contrast]{--specai-color-bg-base: oklch(0 0 0);--specai-color-bg-raised: oklch(.1 0 0);--specai-color-bg-overlay: oklch(1 0 0 / .05);--specai-color-bg-input: oklch(.05 0 0);--specai-color-text-primary: oklch(1 0 0);--specai-color-text-secondary: oklch(.85 0 0);--specai-color-text-muted: oklch(.7 0 0);--specai-color-text-link: oklch(.8 .2 250);--specai-color-accent-primary: oklch(.75 .2 250);--specai-color-accent-primaryHover: oklch(.85 .16 250);--specai-color-accent-success: oklch(.8 .2 145);--specai-color-accent-danger: oklch(.75 .25 25);--specai-color-accent-warning: oklch(.85 .2 85);--specai-color-border-default: oklch(1 0 0 / .25);--specai-color-border-subtle: oklch(1 0 0 / .15);--specai-shadow-glow: 0 0 20px oklch(.75 .2 250 / .2)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--specai-font-sans);background:var(--specai-color-bg-base);color:var(--specai-color-text-primary);line-height:1.5}a{color:var(--specai-color-text-link);text-decoration:none}a:hover{opacity:.85}.loading{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--specai-color-text-secondary)}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--specai-sidebar-width);background:var(--specai-color-bg-raised);border-right:1px solid var(--specai-color-border-default);padding:var(--specai-space-4) 0;position:fixed;top:0;left:0;height:100vh;overflow-y:auto}.sidebar-logo{padding:0 var(--specai-space-4) var(--specai-space-4);font-size:20px;font-weight:700;color:var(--specai-color-accent-primary);border-bottom:1px solid var(--specai-color-border-default);margin-bottom:var(--specai-space-3)}.sidebar-nav{list-style:none;padding:0 var(--specai-space-2)}.sidebar-nav a{display:flex;align-items:center;gap:10px;padding:10px var(--specai-space-3);border-radius:var(--specai-radius-md);color:var(--specai-color-text-secondary);font-size:14px;transition:all var(--specai-duration-fast) var(--specai-easing)}.sidebar-nav a:hover{background:var(--specai-color-bg-overlay);color:var(--specai-color-text-primary);opacity:1}.sidebar-nav a.active{background:var(--specai-color-accent-primary);color:var(--specai-color-bg-inverse)}.main-content{margin-left:var(--specai-sidebar-width);flex:1;padding:var(--specai-space-6) var(--specai-space-8)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--specai-space-6)}.page-title{font-size:24px;font-weight:600}.card{background:var(--specai-color-bg-raised);border:1px solid var(--specai-color-border-default);border-radius:var(--specai-radius-md);padding:var(--specai-space-4)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--specai-space-4)}.stat-card{display:flex;flex-direction:column;gap:var(--specai-space-2)}.stat-value{font-size:32px;font-weight:700}.stat-label{font-size:13px;color:var(--specai-color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;padding:10px var(--specai-space-4);font-size:12px;color:var(--specai-color-text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--specai-color-border-default)}td{padding:var(--specai-space-3) var(--specai-space-4);font-size:14px;border-bottom:1px solid var(--specai-color-border-subtle)}tr:hover{background:var(--specai-color-bg-overlay)}.badge{display:inline-block;padding:2px var(--specai-space-2);border-radius:var(--specai-radius-full);font-size:12px;font-weight:500}.badge-success{background:#00b89a1f;background:oklch(.7 .16 175 / .12);color:var(--specai-color-accent-success)}.badge-warning{background:#daa5001f;background:oklch(.75 .18 85 / .12);color:var(--specai-color-accent-warning)}.badge-danger{background:#e643431f;color:var(--specai-color-accent-danger)}.badge-info{background:#1a83db1f;color:var(--specai-color-accent-primary)}.trust-bar{width:80px;height:6px;background:var(--specai-color-border-default);border-radius:var(--specai-radius-sm);overflow:hidden}.trust-fill{height:100%;border-radius:var(--specai-radius-sm);transition:width var(--specai-duration-slow)}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--specai-space-4)}.form-label{font-size:13px;color:var(--specai-color-text-secondary)}.form-input{padding:10px 14px;background:var(--specai-color-bg-input);border:1px solid var(--specai-color-border-default);border-radius:var(--specai-radius-md);color:var(--specai-color-text-primary);font-size:14px;outline:none;transition:border-color var(--specai-duration-fast)}.form-input:focus{border-color:var(--specai-color-border-focus);box-shadow:var(--specai-shadow-glow)}.btn{padding:10px 20px;border:none;border-radius:var(--specai-radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--specai-duration-fast) var(--specai-easing)}.btn-primary{background:var(--specai-color-accent-primary);color:var(--specai-color-bg-inverse)}.btn-primary:hover{background:var(--specai-color-accent-primaryHover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-card{width:100%;max-width:400px;padding:var(--specai-space-8)}.login-title{font-size:24px;font-weight:600;margin-bottom:var(--specai-space-6);text-align:center}.login-error{padding:10px;background:#e6434314;border:1px solid var(--specai-color-accent-danger);border-radius:var(--specai-radius-md);color:var(--specai-color-accent-danger);font-size:13px;margin-bottom:var(--specai-space-4)}.header-bar{display:flex;justify-content:flex-end;align-items:center;gap:var(--specai-space-3);margin-bottom:var(--specai-space-6);padding-bottom:var(--specai-space-4);border-bottom:1px solid var(--specai-color-border-subtle)}.user-info{font-size:13px;color:var(--specai-color-text-secondary)}.btn-logout{background:none;border:1px solid var(--specai-color-border-default);color:var(--specai-color-text-secondary);padding:6px 12px;border-radius:var(--specai-radius-md);cursor:pointer;font-size:12px}.btn-logout:hover{border-color:var(--specai-color-accent-danger);color:var(--specai-color-accent-danger)}.cursor-blink{animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.pulse-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#fff;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}
