*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}#root{min-height:100vh;min-height:100dvh;width:100%}button,input,textarea,select{font-family:inherit}:root,[data-theme=light]{color-scheme:light;--canvas: #F4F6FA;--surface: #FFFFFF;--surface-raised: #F8FAFC;--surface-hover: #F1F4F9;--surface-dark: #1E293B;--zs-border: #E3E8EF;--zs-border-strong: #CBD3DF;--border-focus: #3B5BDB;--brand-primary: #3B5BDB;--brand-hover: #2F4AC0;--brand-light: #EEF2FF;--focus-ring: 0 0 0 3px rgba(59, 91, 219, .18);--status-success: #059669;--status-warning: #B45309;--status-critical: #DC2626;--status-neutral: #64748B;--success-bg: #ECFDF5;--warning-bg: #FFFBEB;--critical-bg: #FEF2F2;--neutral-bg: #F1F5F9;--text-primary: #0F172A;--text-secondary: #475569;--text-muted: #7C8A9E;--text-inverse: #FFFFFF;--ai-accent: #7C3AED;--ai-bg: #F5F3FF;--shadow-card: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .06);--shadow-pop: 0 12px 32px -8px rgba(16, 24, 40, .18), 0 4px 8px -4px rgba(16, 24, 40, .08);--radius-card: 12px;--radius-control: 8px;--font-display: "Sora", "DM Sans", system-ui, sans-serif;--font-body: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", monospace}[data-theme=dark]{color-scheme:dark;--canvas: #0A0F1C;--surface: #111827;--surface-raised: #161F31;--surface-hover: #1B2539;--surface-dark: #0A0F1C;--zs-border: #222D42;--zs-border-strong: #33405A;--border-focus: #7B93F5;--brand-primary: #7B93F5;--brand-hover: #95A8F8;--brand-light: #1A2347;--focus-ring: 0 0 0 3px rgba(123, 147, 245, .28);--status-success: #34D399;--status-warning: #FBBF24;--status-critical: #F87171;--status-neutral: #94A3B8;--success-bg: #0E2A22;--warning-bg: #2E2410;--critical-bg: #331A1D;--neutral-bg: #1B2436;--text-primary: #E7ECF4;--text-secondary: #A8B3C5;--text-muted: #6E7B92;--text-inverse: #0A0F1C;--ai-accent: #A78BFA;--ai-bg: #231A3F;--shadow-card: 0 1px 2px rgba(0, 0, 0, .3);--shadow-pop: 0 16px 40px -8px rgba(0, 0, 0, .6);--radius-card: 12px;--radius-control: 8px;--font-display: "Sora", "DM Sans", system-ui, sans-serif;--font-body: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", monospace}body{font-family:var(--font-body);background-color:var(--canvas);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}::-moz-selection{background:color-mix(in srgb,var(--brand-primary) 28%,transparent)}::selection{background:color-mix(in srgb,var(--brand-primary) 28%,transparent)}.type-display{font-family:var(--font-display);font-size:32px;font-weight:700;color:var(--text-primary);letter-spacing:-1px;line-height:1.2}.type-h1{font-family:var(--font-display);font-size:24px;font-weight:700;color:var(--text-primary);letter-spacing:-.5px;line-height:1.3}.type-h2{font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--text-primary);line-height:1.4}.type-h3{font-family:var(--font-body);font-size:15px;font-weight:600;color:var(--text-primary);line-height:1.4}.type-h4{font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.4}.type-body{font-family:var(--font-body);font-size:14px;font-weight:400;color:var(--text-secondary);line-height:1.6}.type-body-medium{font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--text-primary);line-height:1.5}.type-body-sm{font-family:var(--font-body);font-size:13px;font-weight:400;color:var(--text-secondary);line-height:1.5}.type-caption{font-family:var(--font-body);font-size:12px;font-weight:400;color:var(--text-muted);line-height:1.4}.type-caption-medium{font-family:var(--font-body);font-size:12px;font-weight:500;color:var(--text-secondary);line-height:1.4}.type-mono{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--text-secondary);letter-spacing:-.02em}.type-mono-sm{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--text-muted);letter-spacing:-.02em}.type-label{font-family:var(--font-body);font-size:11px;font-weight:600;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;line-height:1.3}.type-number-lg{font-family:var(--font-display);font-size:40px;font-weight:700;color:var(--text-primary);letter-spacing:-1.5px;line-height:1}.type-number-md{font-family:var(--font-display);font-size:28px;font-weight:700;color:var(--text-primary);letter-spacing:-.8px;line-height:1}.zs-card{background:var(--surface);border:1px solid var(--zs-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:background-color .3s ease,border-color .3s ease}.badge{border-radius:100px;padding:3px 9px;line-height:1.3;white-space:nowrap;font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;display:inline-flex;align-items:center;gap:4px}.zs-loader-shell{width:min(560px,100%);padding:12px 8px;text-align:center;position:relative}.zs-loader-orb{width:52px;height:52px;border-radius:12px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--brand-primary),var(--brand-hover));color:var(--text-inverse);box-shadow:0 8px 22px color-mix(in srgb,var(--brand-primary) 30%,transparent);animation:zs-loader-pulse 1.8s ease-in-out infinite}.zs-loader-rings{display:flex;justify-content:center;gap:8px;margin-bottom:12px}.zs-loader-rings span{width:8px;height:8px;border-radius:999px;background:var(--brand-primary);opacity:.3;animation:zs-loader-dots 1.2s ease-in-out infinite}.zs-loader-rings span:nth-child(2){animation-delay:.12s}.zs-loader-rings span:nth-child(3){animation-delay:.24s}.zs-loader-title{margin:0;font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--text-primary)}.zs-loader-subtitle{margin:8px 0 16px;font-size:13px;color:var(--text-secondary)}.zs-loader-track{width:min(280px,100%);height:10px;margin:0 auto;border-radius:999px;overflow:hidden;position:relative;background:linear-gradient(90deg,var(--zs-border),color-mix(in srgb,var(--brand-light) 60%,var(--zs-border)),var(--zs-border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand-primary) 12%,transparent)}.zs-loader-segment{display:block;width:100%;height:100%;border-radius:inherit;background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--brand-primary) 18%,transparent) 0,color-mix(in srgb,var(--brand-primary) 18%,transparent) 10px,color-mix(in srgb,var(--status-success) 20%,transparent) 10px,color-mix(in srgb,var(--status-success) 20%,transparent) 20px),linear-gradient(90deg,var(--brand-primary),var(--status-success));background-size:240% 100%,100% 100%;animation:zs-loader-progress 1.5s linear infinite}.zs-loader-segment:after{content:"";display:block;width:35%;height:100%;margin-left:-35%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:zs-loader-shimmer 1.5s ease-in-out infinite}@keyframes zs-loader-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes zs-loader-dots{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}@keyframes zs-loader-progress{0%{background-position:0 0,0 0}to{background-position:220px 0,0 0}}@keyframes zs-loader-shimmer{0%{transform:translate(0);opacity:0}30%{opacity:.7}to{transform:translate(360%);opacity:0}}.badge-success{background:var(--success-bg);color:var(--status-success)}.badge-warning{background:var(--warning-bg);color:var(--status-warning)}.badge-critical{background:var(--critical-bg);color:var(--status-critical)}.badge-neutral{background:var(--neutral-bg);color:var(--status-neutral)}.badge-ai{background:var(--ai-bg);color:var(--ai-accent)}.badge-brand{background:var(--brand-light);color:var(--brand-primary)}.btn-primary,.btn-secondary{border-radius:var(--radius-control);padding:8px 16px;font-family:var(--font-body);font-size:14px;font-weight:600;line-height:20px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .05s}.btn-primary{background:var(--brand-primary);color:#fff;border:1px solid transparent;box-shadow:0 1px 2px #1018281f,inset 0 1px #ffffff1f}[data-theme=dark] .btn-primary{color:#0a0f1c}.btn-primary:hover:not(:disabled){background:var(--brand-hover)}.btn-secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--zs-border-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--text-muted)}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled){transform:translateY(1px)}.btn-primary:focus-visible,.btn-secondary:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.45;cursor:not-allowed}.zs-input{border:1px solid var(--zs-border-strong);border-radius:var(--radius-control);height:38px;padding:0 12px;font-family:var(--font-body);font-size:14px;background:var(--surface);color:var(--text-primary);outline:none;width:100%;min-width:0;max-width:100%;transition:background-color .3s ease,color .3s ease,border-color .15s ease,box-shadow .15s ease}.zs-input::-moz-placeholder{color:var(--text-muted)}.zs-input::placeholder{color:var(--text-muted)}.zs-input:hover:not(:disabled):not(:focus){border-color:var(--text-muted)}.zs-input:focus{border-color:var(--border-focus);box-shadow:var(--focus-ring)}.zs-input:disabled{opacity:.6;cursor:not-allowed}textarea.zs-input{height:auto;padding:10px 12px;line-height:1.5}select.zs-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:32px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237C8A9E' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;cursor:pointer}input[type=checkbox],input[type=radio]{accent-color:var(--brand-primary)}.zs-table-scroll{overflow-x:auto;border-radius:var(--radius-card) var(--radius-card) 0 0}.zs-table-head{background:var(--surface-raised);border-bottom:1px solid var(--zs-border)}.zs-table-row{border-bottom:1px solid var(--zs-border);transition:background .12s;font-variant-numeric:tabular-nums}.zs-table-row:last-child{border-bottom:none}.zs-table-row:hover{background:var(--surface-hover)}.zs-table-row.is-clickable{cursor:pointer}.zs-table-foot{border-top:1px solid var(--zs-border)}.nav-item-active{background:var(--brand-light);color:var(--brand-primary);border-left:3px solid var(--brand-primary)}@keyframes ai-pulse{0%,to{opacity:1}50%{opacity:.5}}.ai-running{animation:ai-pulse 2s infinite}@keyframes zs-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.zs-spinner{animation:zs-spin .9s linear infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(300%)}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--zs-border-strong);border-radius:10px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:padding-box;border:3px solid transparent}a:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.zs-nav-link:hover:not(.is-active){background:var(--surface-hover)!important;color:var(--text-primary)!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.zs-layout{display:flex;height:100vh;height:100dvh;overflow:hidden;background:var(--canvas)}.zs-policy-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:16px}.zs-policy-grid>*,.zs-card,fieldset{min-width:0}@media(max-width:1200px){.zs-policy-grid{grid-template-columns:minmax(0,1fr)}}[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.75);cursor:pointer}
