*,*: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]{--canvas: #F0F4F8;--surface: #FFFFFF;--surface-raised: #F8FAFC;--surface-dark: #1E293B;--zs-border: #E2E8F0;--border-focus: #3B5BDB;--brand-primary: #3B5BDB;--brand-hover: #2F4AC0;--brand-light: #EEF2FF;--status-success: #059669;--status-warning: #D97706;--status-critical: #DC2626;--status-neutral: #64748B;--success-bg: #F0FDF4;--warning-bg: #FFFBEB;--critical-bg: #FEF2F2;--neutral-bg: #F8FAFC;--text-primary: #0F172A;--text-secondary: #475569;--text-muted: #94A3B8;--text-inverse: #FFFFFF;--ai-accent: #7C3AED;--ai-bg: #F5F3FF;--font-display: "Sora", sans-serif;--font-body: "DM Sans", sans-serif;--font-mono: "IBM Plex Mono", monospace}[data-theme=dark]{--canvas: #0F172A;--surface: #1E293B;--surface-raised: #334155;--surface-dark: #0F172A;--zs-border: #334155;--border-focus: #5B7FDB;--brand-primary: #5B7FDB;--brand-hover: #6B8FEB;--brand-light: #1E2B4F;--status-success: #10B981;--status-warning: #F59E0B;--status-critical: #EF4444;--status-neutral: #94A3B8;--success-bg: #064E3B;--warning-bg: #78350F;--critical-bg: #7F1D1D;--neutral-bg: #1E293B;--text-primary: #F1F5F9;--text-secondary: #CBD5E1;--text-muted: #64748B;--text-inverse: #0F172A;--ai-accent: #A78BFA;--ai-bg: #2E1065;--font-display: "Sora", sans-serif;--font-body: "DM Sans", sans-serif;--font-mono: "IBM Plex Mono", monospace}body{font-family:var(--font-body);background-color:var(--canvas);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.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:8px;box-shadow:0 1px 3px #0000001a;transition:background-color .3s ease,border-color .3s ease}[data-theme=dark] .zs-card{box-shadow:0 1px 3px #0000004d}.badge{border-radius:100px;padding:2px 10px;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{background:var(--brand-primary);color:var(--text-inverse);border-radius:6px;padding:10px 20px;font-family:var(--font-body);font-size:15px;font-weight:600;border:none;cursor:pointer;transition:background .15s;display:inline-flex;align-items:center;gap:6px}.btn-primary:hover{background:var(--brand-hover)}.btn-secondary{background:transparent;color:var(--brand-primary);border-radius:6px;padding:10px 20px;font-family:var(--font-body);font-size:15px;font-weight:600;border:1px solid var(--brand-primary);cursor:pointer;transition:background .15s;display:inline-flex;align-items:center;gap:6px}.btn-secondary:hover{background:var(--brand-light)}.zs-input{border:1px solid var(--zs-border);border-radius:6px;height:40px;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 .3s ease}.zs-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #3b5bdb1f}[data-theme=dark] .zs-input:focus{box-shadow:0 0 0 3px #5b7fdb33}.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:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--zs-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.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)}}
