*,:after,:before{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%}:root{--bg:#f4f7fb;--bg-card:#fff;--bg-sidebar:#eef2f7;--bg-input:#fff;--border:#d8e0ea;--border-hover:#b8c5d6;--accent:#0891b2;--accent-hover:#0e7490;--accent-dim:#0891b21a;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--success:#16a34a;--warning:#d97706;--danger:#dc2626;--card-rest:0 0 0 1px #d8e0eaf2,0 2px 10px #0f172a0d;--card-hover:0 0 0 1px #0891b240,0 6px 18px #0f172a14;--main-backdrop:radial-gradient(ellipse 100% 70% at 50% -20%,#0891b214 0%,#0000 50%),radial-gradient(ellipse 50% 40% at 100% 0%,#0596690d 0%,#0000 48%);--surface-sheen:linear-gradient(145deg,#ffffffe6,#0000 42%,#0891b208);--shadow-sm:0 1px 4px #0f172a0f;--shadow-md:0 4px 14px #0f172a14;--shadow-lg:0 10px 28px #0f172a1a;--color-scheme:light;--font-display:"Sora","DM Sans",system-ui,sans-serif;--font-body:"DM Sans",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--brand-sna:#22d3ee;--brand-prolife:#34d399;--brand-plas:#f59e0b}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f7fb;background:var(--bg);color:#0f172a;color:var(--text-primary);font-family:DM Sans,system-ui,sans-serif;font-family:var(--font-body);transition:background .25s ease,color .25s ease}.display-font,h1,h2,h3{font-family:Sora,DM Sans,system-ui,sans-serif;font-family:var(--font-display);letter-spacing:-.02em}.num,.tabular-nums{font-feature-settings:"tnum" 1,"tnum";font-variant-numeric:tabular-nums}.delta-up{color:#16a34a;color:var(--success)}.delta-down{color:#dc2626;color:var(--danger)}.delta-flat{color:#64748b;color:var(--text-muted)}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#b8c5d6;background:var(--border-hover);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#64748b;background:var(--text-muted)}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.55)}html[data-theme=light] input[type=date]::-webkit-calendar-picker-indicator{filter:none}::selection{background:color-mix(in srgb,#0891b2 35%,#0000);background:color-mix(in srgb,var(--accent) 35%,#0000);color:#0f172a;color:var(--text-primary)}button,input,select{font-family:inherit}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInSoft{0%{opacity:0}to{opacity:1}}@keyframes tabInk{0%{opacity:0;transform:scaleX(.4)}to{opacity:1;transform:scaleX(1)}}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.dashboard-main-enter{animation:fadeIn .4s cubic-bezier(.22,1,.36,1) both}.dashboard-panel-enter{animation:fadeInSoft .45s ease both}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid color-mix(in srgb,#0891b2 50%,#0000);outline:2px solid color-mix(in srgb,var(--accent) 50%,#0000);outline-offset:2px}.nav-dash-link{align-items:center;background:#0000;border-radius:10px;color:#475569;color:var(--text-secondary);display:flex;font-size:14px;font-weight:500;gap:12px;gap:var(--space-sm);padding:10px 14px;text-decoration:none;transition:transform .2s cubic-bezier(.22,1,.36,1),background .2s,color .2s,box-shadow .2s}.nav-dash-link svg{flex-shrink:0;opacity:.85}.nav-dash-link:hover{background:#0891b21a;background:var(--accent-dim);color:#0f172a;color:var(--text-primary);transform:translateX(3px)}.nav-dash-link:hover svg{opacity:1}.nav-dash-link--active{background:#0891b21a;background:var(--accent-dim);box-shadow:inset 3px 0 0 #0891b2;box-shadow:inset 3px 0 0 var(--accent);color:#0891b2;color:var(--accent);font-weight:600}.nav-dash-link--active svg{color:#0891b2;color:var(--accent);opacity:1}.nav-dash-link--active:hover{transform:translateX(0)}.preset-chip{transition:transform .2s cubic-bezier(.22,1,.36,1),border-color .2s,box-shadow .2s,color .2s,background .2s}.preset-chip:hover{background:#0891b21a!important;background:var(--accent-dim)!important;border-color:color-mix(in srgb,#0891b2 40%,#d8e0ea)!important;border-color:color-mix(in srgb,var(--accent) 40%,var(--border))!important;box-shadow:0 0 0 1px #d8e0eaf2,0 2px 10px #0f172a0d;box-shadow:var(--card-rest);color:#0f172a!important;color:var(--text-primary)!important;transform:translateY(-1px)}.preset-chip:active{transform:translateY(0) scale(.98)}.dash-section{box-shadow:0 0 0 1px #d8e0eaf2,0 2px 10px #0f172a0d;box-shadow:var(--card-rest);transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s ease,border-color .2s ease}.dash-section:hover{border-color:color-mix(in srgb,#0891b2 25%,#d8e0ea)!important;border-color:color-mix(in srgb,var(--accent) 25%,var(--border))!important;box-shadow:0 0 0 1px #0891b240,0 6px 18px #0f172a14;box-shadow:var(--card-hover);transform:translateY(-1px)}.dash-toolbar-btn{transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s,filter .2s!important}.dash-toolbar-btn:hover:not(:disabled){border-color:color-mix(in srgb,#0891b2 45%,#d8e0ea)!important;border-color:color-mix(in srgb,var(--accent) 45%,var(--border))!important;box-shadow:0 0 0 1px #d8e0eaf2,0 2px 10px #0f172a0d!important;box-shadow:var(--card-rest)!important;filter:brightness(1.04);transform:translateY(-1px)}.dash-toolbar-btn:active:not(:disabled){transform:translateY(0)}.dash-main-tabs{background:color-mix(in srgb,#fff 80%,#0000);background:color-mix(in srgb,var(--bg-card) 80%,#0000);border:1px solid #d8e0ea;border:1px solid var(--border);border-radius:12px;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px;margin-bottom:var(--space-lg);padding:4px}.dash-main-tab{background:#0000;border:none;border-radius:9px;color:#475569;color:var(--text-secondary);cursor:pointer;font-family:Sora,DM Sans,system-ui,sans-serif;font-family:var(--font-display);font-size:13px;font-weight:600;padding:10px 16px;position:relative;transition:color .2s,background .2s,transform .2s cubic-bezier(.22,1,.36,1)}.dash-main-tab:hover{color:#0f172a;color:var(--text-primary)}.dash-main-tab--active,.dash-main-tab:hover{background:#0891b21a;background:var(--accent-dim)}.dash-main-tab--active{color:#0891b2;color:var(--accent)}.dash-main-tab--active:after{animation:tabInk .28s cubic-bezier(.22,1,.36,1) both;background:#0891b2;background:var(--accent);border-radius:2px;bottom:4px;content:"";height:2px;left:14px;position:absolute;right:14px;transform-origin:center}.brand-chip{align-items:center;background:#0000;border:1px solid #d8e0ea;border:1px solid var(--border);border-radius:999px;color:#475569;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:7px 12px;transition:background .2s,border-color .2s,color .2s,transform .2s}.brand-chip:hover{transform:translateY(-1px)}.brand-chip--sna{--chip:var(--brand-sna)}.brand-chip--prolife{--chip:var(--brand-prolife)}.brand-chip--plas{--chip:var(--brand-plas)}.brand-chip--active{background:color-mix(in srgb,#0891b2 12%,#0000);background:color-mix(in srgb,var(--chip,var(--accent)) 12%,#0000);border-color:color-mix(in srgb,#0891b2 45%,#d8e0ea);border-color:color-mix(in srgb,var(--chip,var(--accent)) 45%,var(--border));color:#0891b2;color:var(--chip,var(--accent))}.im-zebra tbody tr:nth-child(2n) td{background:color-mix(in srgb,#fff 35%,#0000);background:color-mix(in srgb,var(--bg-input) 35%,#0000)}.im-zebra tbody tr:hover td{background:#0891b21a;background:var(--accent-dim)}html[data-theme=light] .im-zebra tbody tr:nth-child(2n) td{background:color-mix(in srgb,#f4f7fb 70%,#fff);background:color-mix(in srgb,var(--bg) 70%,var(--bg-card))}.education-link{transition:transform .2s cubic-bezier(.22,1,.36,1),border-color .2s,box-shadow .2s,background .2s,color .2s}.education-link:hover{background:#0891b21a!important;background:var(--accent-dim)!important;border-color:color-mix(in srgb,#0891b2 35%,#d8e0ea);border-color:color-mix(in srgb,var(--accent) 35%,var(--border));box-shadow:0 0 0 1px #d8e0eaf2,0 2px 10px #0f172a0d;box-shadow:var(--card-rest);color:#0f172a;color:var(--text-primary);transform:translateY(-1px)}.empty-state{background:color-mix(in srgb,#fff 60%,#0000);background:color-mix(in srgb,var(--bg-card) 60%,#0000);border:1px dashed #d8e0ea;border:1px dashed var(--border);border-radius:14px;color:#64748b;color:var(--text-muted);font-size:14px;padding:40px 24px;text-align:center}.error-state{background:color-mix(in srgb,#dc2626 10%,#0000);background:color-mix(in srgb,var(--danger) 10%,#0000);border:1px solid color-mix(in srgb,#dc2626 30%,#0000);border:1px solid color-mix(in srgb,var(--danger) 30%,#0000);border-radius:12px;color:#dc2626;color:var(--danger);font-size:13px;margin-bottom:16px;margin-bottom:var(--space-md);padding:12px 16px}.loading-wait-wrap{align-items:center;box-sizing:border-box;display:flex;justify-content:center;padding:32px 16px;padding:var(--space-xl) var(--space-md)}.loading-wait-inner{align-items:center;animation:loading-wait-float 1.35s ease-in-out infinite;background:linear-gradient(145deg,#0891b21a,#fff 55%,#0891b21a);background:linear-gradient(145deg,var(--accent-dim) 0,var(--bg-card) 55%,var(--accent-dim) 100%);border:1px solid color-mix(in srgb,#0891b2 35%,#d8e0ea);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:14px;box-shadow:0 0 0 1px #d8e0eaf2,0 2px 10px #0f172a0d;box-shadow:var(--card-rest);display:inline-flex;gap:10px;padding:14px 22px}.loading-wait-text{color:#0891b2;color:var(--accent);font-family:Sora,DM Sans,system-ui,sans-serif;font-family:var(--font-display);font-size:14px;font-weight:650;letter-spacing:.01em}.loading-wait-dots{align-items:flex-end;display:inline-flex;gap:5px;height:18px;padding-bottom:2px}.loading-wait-dots i{animation:loading-wait-dot .9s ease-in-out infinite;background:#0891b2;background:var(--accent);border-radius:50%;display:block;height:6px;width:6px}.loading-wait-dots i:nth-child(2){animation-delay:.15s}.loading-wait-dots i:nth-child(3){animation-delay:.3s}@keyframes loading-wait-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes loading-wait-dot{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.dash-main-tab--active:after,.dashboard-main-enter,.dashboard-panel-enter,.loading-wait-dots i,.loading-wait-inner{animation:none}}
/*# sourceMappingURL=main.20912e2a.css.map*/