:root{--brand: #565ae0;--brand-hover: #4549c7;--brand-bg: #eef2ff;--brand-text: #565ae0;--brand-gold-light: #5c5ac7;--brand-gold: #565ae0;--brand-gold-dark: #4549c7;--brand-gold-text: #565ae0;--brand-gradient: linear-gradient(135deg, #18173f 0%, #565ae0 50%, #5c5ac7 100%);--gold: #565ae0;--sidebar-width: 248px;--topbar-height: 56px;--bg: #fcfcfd;--surface: #ffffff;--surface-2: #f7f7f9;--border: #e6e8ec;--border-2: #ced2d9;--sidebar-bg: #ffffff;--sidebar-border: #e6e8ec;--sidebar-fg: #0b0d12;--sidebar-text: #4f586a;--sidebar-hover: #f2f4f9;--sidebar-active-bg: #eef2ff;--sidebar-active-text: #565ae0;--text: #0b0d12;--text-2: #2c3038;--text-3: #5b6472;--fg: var(--text);--muted: var(--text-3);--accent: var(--brand);--accent-muted: var(--brand-bg);--card-bg: var(--surface);--ok: #10b981;--ok-bg: rgba(16, 185, 129, .1);--ok-border: rgba(16, 185, 129, .25);--warn: #e85d75;--warn-bg: rgba(232, 93, 117, .1);--warn-border: rgba(232, 93, 117, .24);--err: #f43f5e;--err-bg: rgba(244, 63, 94, .1);--err-border: rgba(244, 63, 94, .25);--info: #5c7cfa;--info-bg: rgba(92, 124, 250, .1);--info-border: rgba(92, 124, 250, .25);--purple: #7c3aed;--purple-bg: #fdf4ff;--shadow-xs: 0 1px 2px rgb(11 13 18 / .04);--shadow-sm: 0 1px 2px rgb(11 13 18 / .04), 0 1px 1px rgb(11 13 18 / .03);--shadow: 0 4px 12px rgb(11 13 18 / .06), 0 2px 4px rgb(11 13 18 / .04);--shadow-md: 0 8px 20px rgb(11 13 18 / .08), 0 3px 8px rgb(11 13 18 / .04);--shadow-lg: 0 16px 32px rgb(11 13 18 / .1), 0 6px 12px rgb(11 13 18 / .05);--radius-sm: 6px;--radius: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%}h1,h2,h3,h4{font-family:Montserrat,Inter,-apple-system,sans-serif;letter-spacing:-.02em}#root{height:100%}a{color:var(--brand-gold-text);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit;font-size:inherit}input,select,textarea{font-family:inherit;font-size:inherit;color:var(--text)}.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}.skip-to-content{position:absolute;top:-100px;left:16px;z-index:9999;padding:8px 16px;background:var(--brand);color:#fff;border-radius:var(--radius-md);font-weight:600;font-size:14px;text-decoration:none;transition:top .2s ease}.skip-to-content:focus{top:16px}.layout{display:flex;height:100vh;overflow:hidden}.main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.content{flex:1;overflow-y:auto;padding:28px 32px;animation:content-in .25s ease}@keyframes content-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--sidebar-bg);display:flex;flex-direction:column;overflow-y:auto;border-right:1px solid var(--sidebar-border);position:relative}.sidebar:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--brand-gradient);z-index:1}.sidebar-logo{display:flex;align-items:center;gap:12px;padding:20px 16px 16px;border-bottom:1px solid var(--sidebar-border);flex-shrink:0}.sidebar-logo-mark{width:36px;height:36px;background:var(--brand-gradient);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;color:#fff;flex-shrink:0;letter-spacing:-.5px;box-shadow:0 2px 10px #565ae038}.sidebar-logo-text{font-weight:800;font-size:13.5px;color:var(--text);letter-spacing:.4px;line-height:1.2}.sidebar-logo-sub{font-size:10px;color:var(--sidebar-text);font-weight:500;letter-spacing:1.2px;text-transform:uppercase}.nav{flex:1;padding:10px 0;overflow-y:auto}.nav-pinned{padding:6px 0 8px;border-bottom:1px solid var(--sidebar-border);margin-bottom:4px}.nav-section{margin-bottom:2px}.nav-section-label{padding:10px 16px 3px;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--sidebar-text)}.nav-section-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding-right:12px;user-select:none}.nav-section-header:hover .nav-section-label{color:var(--text-2)}.nav-chevron{width:12px;height:12px;color:var(--sidebar-text);opacity:.4;transition:transform .2s;flex-shrink:0}.nav-chevron.open{transform:rotate(0)}.nav-chevron.closed{transform:rotate(-90deg)}.nav-section-items{overflow:hidden;transition:max-height .2s ease}.nav-section-items.open{max-height:800px}.nav-section-items.closed{max-height:0}.nav-item{display:flex;align-items:center;gap:9px;padding:8px 12px;margin:1px 8px;border-radius:var(--radius-sm);color:var(--sidebar-text);cursor:pointer;transition:all .15s ease;font-size:13px;font-weight:500;position:relative;border:none;background:none;width:calc(100% - 16px);text-align:left;border-left:3px solid transparent}.nav-item:hover{background:var(--sidebar-hover);color:var(--text)}.nav-item.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);border-left-color:var(--brand)}.nav-item.active .nav-icon{opacity:1;color:var(--sidebar-active-text)}.nav-icon{width:16px;height:16px;flex-shrink:0;opacity:.7}.nav-badge{margin-left:auto;background:var(--err);color:#fff;font-size:10px;font-weight:700;padding:1px 5px;border-radius:var(--radius-full);min-width:18px;text-align:center;line-height:16px}.sidebar-footer{padding:12px;border-top:1px solid var(--sidebar-border);flex-shrink:0}.sidebar-status{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.status-row{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--sidebar-text)}.status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-dot.ok{background:var(--ok);box-shadow:0 0 4px var(--ok)}.status-dot.warn{background:var(--warn)}.status-dot.err{background:var(--err);box-shadow:0 0 4px var(--err)}.sidebar-user{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--surface-2)}.sidebar-avatar{width:28px;height:28px;border-radius:50%;background:var(--brand);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-tier{font-size:10px;color:var(--sidebar-text);text-transform:uppercase;letter-spacing:.4px}.btn-logout{background:none;border:none;padding:4px;color:var(--sidebar-text);cursor:pointer;display:flex;align-items:center;border-radius:4px;transition:color .13s;min-width:44px;min-height:44px;justify-content:center}.btn-logout:hover{color:#ef4444}.btn-dark-toggle{background:none;border:1px solid var(--border);padding:5px 8px;border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;transition:all .13s}.btn-dark-toggle:hover{background:var(--surface-2);color:var(--text)}.btn-menu{display:none;background:none;border:none;padding:4px;color:var(--text-2);cursor:pointer;align-items:center}.topbar{height:var(--topbar-height);flex-shrink:0;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 28px;gap:12px;box-shadow:0 1px 3px #0000000a;position:relative;z-index:10}.topbar-title{font-size:15px;font-weight:700;color:var(--text);flex:1;letter-spacing:-.2px}.topbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:16px}.page-title{font-size:21px;font-weight:800;color:var(--text);letter-spacing:-.3px}.page-subtitle{font-size:13px;color:var(--text-3);margin-top:3px}.page-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-xs);transition:border-color .16s ease,box-shadow .16s ease}.card:hover{border-color:var(--border-2);box-shadow:var(--shadow-sm)}.card-header{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;background:var(--surface);border-radius:var(--radius) var(--radius) 0 0}.card-title{font-size:13.5px;font-weight:650;color:var(--text);flex:1;letter-spacing:0}.card-subtitle{font-size:12px;color:var(--text-3);margin-top:1px}.card-body{padding:18px}.card-footer{padding:10px 18px;border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--radius) var(--radius);font-size:12px;color:var(--text-3)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:14px;margin-bottom:22px}.kpi{background:var(--surface);border-radius:var(--radius);padding:18px 20px;border:1px solid var(--border);box-shadow:var(--shadow-xs);position:relative;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease}.kpi:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--border);opacity:1}.kpi:hover{border-color:var(--border-2);box-shadow:var(--shadow-sm)}.kpi-label{display:block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-3);margin-bottom:8px}.kpi-value{display:block;font-size:28px;font-weight:800;color:var(--text);line-height:1.15;font-variant-numeric:tabular-nums;margin-bottom:4px;letter-spacing:-.5px}.kpi-sub{display:block;font-size:11px;color:var(--text-3);margin-top:6px}.kpi.kpi-alert .kpi-value{color:var(--err)}.kpi.kpi-alert:before{background:var(--err)}.kpi.kpi-warn .kpi-value{color:var(--warn)}.kpi.kpi-warn:before{background:var(--warn)}.kpi.kpi-ok .kpi-value{color:var(--ok)}.kpi.kpi-ok:before{background:var(--ok)}.kpi.kpi-brand .kpi-value{color:var(--brand)}.hero-kpi-section{margin-bottom:28px}.hero-kpi-title{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-3);margin-bottom:14px}.hero-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.hero-kpi{background:var(--surface);border-radius:var(--radius);padding:22px 22px 18px;border:1px solid var(--border);box-shadow:var(--shadow-xs);position:relative;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease}.hero-kpi:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--brand)}.hero-kpi:hover{border-color:var(--border-2);box-shadow:var(--shadow-sm)}.hero-kpi-value{display:block;font-size:36px;font-weight:800;color:var(--text);line-height:1.15;font-variant-numeric:tabular-nums;margin-bottom:4px;letter-spacing:-.5px}.hero-kpi.kpi-alert .hero-kpi-value{color:var(--err)}.hero-kpi.kpi-alert:before{background:var(--err)}.hero-kpi.kpi-ok .hero-kpi-value{color:var(--ok)}.hero-kpi.kpi-ok:before{background:var(--ok)}.hero-kpi.kpi-warn .hero-kpi-value{color:var(--warn)}.hero-kpi.kpi-warn:before{background:var(--warn)}@media (max-width: 860px){.hero-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.hero-kpi-grid{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;padding:7px 14px;border-radius:var(--radius);font-size:13px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;line-height:1.4;text-align:center}.btn:disabled{opacity:.45;cursor:not-allowed}.btn svg{width:14px;height:14px;flex-shrink:0}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--brand-bg)}.btn-primary{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover);box-shadow:var(--shadow-sm)}.btn-primary:focus-visible{outline:none;box-shadow:0 0 0 3px #565ae038}.btn-primary:active:not(:disabled){box-shadow:var(--shadow-xs)}.btn-secondary{background:var(--surface);color:var(--brand-text);border:1px solid var(--border-2)}.btn-secondary:hover:not(:disabled){background:var(--brand-bg);border-color:var(--brand)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-danger{background:var(--err-bg);color:var(--err);border-color:var(--err-border)}.btn-danger:hover:not(:disabled){background:#fee2e2;border-color:var(--err)}.btn-ghost{background:transparent;color:var(--text-2);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-sm{padding:5px 10px;font-size:12px}.btn-xs{padding:3px 8px;font-size:11px}.btn-icon{padding:6px;border-radius:var(--radius-sm);min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.btn-icon svg{width:16px;height:16px}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-full);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;line-height:1.4}.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-err{background:var(--err-bg);color:var(--err)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-neutral{background:var(--surface-2);color:var(--text-2)}.badge-brand{background:var(--brand-bg);color:var(--brand-text)}.badge-purple{background:var(--purple-bg, #fdf4ff);color:var(--purple, #7c3aed)}.badge-safe{background:var(--ok-bg);color:var(--ok)}.badge-low{background:var(--info-bg);color:var(--info)}.badge-medium{background:var(--warn-bg);color:var(--warn)}.badge-high{background:var(--warn-bg);color:#ea580c}.badge-critical{background:var(--err-bg);color:var(--err)}.badge-upload{background:var(--info-bg);color:#1d4ed8}.badge-download{background:var(--ok-bg);color:var(--ok)}.badge-delete{background:var(--err-bg);color:var(--err)}.badge-backup,.badge-compliance{background:var(--purple-bg, #fdf4ff);color:var(--purple, #7c3aed)}.badge-auth{background:var(--surface-2);color:var(--text-3)}.badge-default{background:var(--surface-2);color:var(--text-2)}.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-xs)}table{width:100%;border-collapse:collapse}thead{position:sticky;top:0;z-index:1}thead th{padding:11px 14px;text-align:left;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-3);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;position:relative}thead th:after{content:none}thead th:first-child{border-radius:var(--radius) 0 0 0}thead th:last-child{border-radius:0 var(--radius) 0 0}[data-theme=dark] thead th{background:var(--surface-2);color:var(--text-3)}tbody tr{border-bottom:1px solid var(--border);transition:all .12s ease}tbody tr:last-child{border-bottom:none}tbody tr:nth-child(2n){background:transparent}tbody tr:hover{background:var(--brand-bg)}[data-theme=dark] tbody tr:hover{background:#5e7cff1a}tbody td{padding:11px 14px;font-size:13px;color:var(--text-2);vertical-align:middle}.td-mono{font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:12px}.td-right{text-align:right}.td-actions{display:flex;gap:4px;justify-content:flex-end;align-items:center}.td-truncate{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.form-row{display:flex;flex-direction:column;gap:5px}.form-label{font-size:12px;font-weight:600;color:var(--text-2)}.input,.select,.textarea{padding:9px 13px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:13px;transition:border-color .18s ease,box-shadow .18s ease;outline:none;width:100%}.input:hover,.select:hover,.textarea:hover{border-color:var(--border-2)}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #565ae024}.input::placeholder{color:var(--text-3)}.form-hint{font-size:11.5px;color:var(--text-3)}.form-error{font-size:11.5px;color:var(--err)}.progress{height:6px;background:var(--border);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;border-radius:var(--radius-full);transition:width .35s ease}.progress-fill.ok{background:var(--ok)}.progress-fill.warn{background:var(--warn)}.progress-fill.err{background:var(--err)}.progress-fill.brand{background:var(--brand)}.alert-card{border-radius:var(--radius);padding:14px 16px;border:1px solid;margin-bottom:8px}.alert-card.critical{background:var(--err-bg);border-color:var(--err-border)}.alert-card.high,.alert-card.medium{background:var(--warn-bg);border-color:var(--warn-border)}.alert-card.low{background:var(--info-bg);border-color:var(--info-border)}.alert-card.resolved{background:var(--surface-2);border-color:var(--border);opacity:.65}.loading{display:flex;align-items:center;justify-content:center;padding:48px 24px}.spinner{width:22px;height:22px;background:currentColor;border-radius:15%;display:inline-block;vertical-align:middle;animation:spin 1.4s ease-in-out infinite}@keyframes spin{0%,to{border-radius:15%;transform:rotate(0)}50%{border-radius:50%;transform:rotate(180deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation:none;border-radius:15%;opacity:.7}}.skeleton{background:linear-gradient(90deg,var(--border) 25%,var(--surface-2) 50%,var(--border) 75%);background-size:200% 100%;border-radius:var(--radius-sm);animation:shimmer 1.4s infinite}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--text-3);text-align:center;gap:8px}.empty svg{width:40px;height:40px;opacity:.25;margin-bottom:4px}.empty-title{font-size:14px;font-weight:700;color:var(--text-2)}.empty-sub{font-size:13px}.toast-portal{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:9999;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:var(--radius);background:#1a2236;color:#e2e8f0;font-size:13px;box-shadow:var(--shadow-lg);pointer-events:all;animation:toast-in .2s ease;max-width:360px;min-width:260px;border-left:3px solid var(--brand)}.toast.ok{border-left-color:var(--ok)}.toast.err{border-left-color:var(--err)}.toast.warn{border-left-color:var(--warn)}.toast-msg{flex:1;line-height:1.4}.toast-close{background:none;border:none;color:#64748b;cursor:pointer;padding:0;line-height:1;font-size:16px;flex-shrink:0}.toast-close:hover{color:#e2e8f0}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes loginFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes loginPulse{0%,to{opacity:.25}50%{opacity:.7}}@keyframes loginFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes loginShimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes loginDotFloat1{0%,to{transform:translate(0);opacity:.3}25%{transform:translate(40px,-60px);opacity:.7}50%{transform:translate(-20px,-100px);opacity:.4}75%{transform:translate(60px,-40px);opacity:.6}}@keyframes loginDotFloat2{0%,to{transform:translate(0);opacity:.2}25%{transform:translate(-50px,-80px);opacity:.5}50%{transform:translate(30px,-120px);opacity:.3}75%{transform:translate(-40px,-50px);opacity:.6}}@keyframes loginDotFloat3{0%,to{transform:translate(0);opacity:.4}33%{transform:translate(70px,-40px);opacity:.7}66%{transform:translate(-30px,-90px);opacity:.2}}@keyframes loginGridPulse{0%,to{opacity:.03}50%{opacity:.07}}.login-page{min-height:100vh;background:var(--sidebar-bg);display:flex;align-items:center;justify-content:center;padding:20px}.login-brand{display:flex;align-items:center;justify-content:center;margin-bottom:20px}.login-mark{display:none}.login-name{font-size:22px;font-weight:800;color:var(--text);line-height:1.2;letter-spacing:-.3px;background:var(--brand-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-sub{font-size:10.5px;color:var(--text-3);letter-spacing:2px;text-transform:uppercase;font-weight:600;margin-top:2px}.login-tagline{font-size:13px;color:var(--text-3);margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--border)}.login-error{background:var(--err-bg);color:var(--err);border:1px solid var(--err-border);border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;margin-bottom:16px}.login-split{min-height:100vh;display:flex;background-color:#07090f;background-image:radial-gradient(ellipse 120% 90% at 50% -25%,rgba(201,162,39,.11) 0%,transparent 55%),radial-gradient(ellipse 55% 45% at 100% 35%,rgba(201,162,39,.055) 0%,transparent 50%),radial-gradient(ellipse 50% 40% at 0% 85%,rgba(201,162,39,.065) 0%,transparent 48%),radial-gradient(ellipse 40% 35% at 78% 92%,rgba(221,184,58,.04) 0%,transparent 45%)}.login-left{flex:1;background:transparent;display:flex;align-items:center;justify-content:center;padding:60px 48px;position:relative;overflow:hidden}.login-left:before{content:"";position:absolute;inset:0;background:radial-gradient(2px 2px at 10% 20%,rgba(212,175,55,.5) 50%,transparent 50%),radial-gradient(2px 2px at 25% 65%,rgba(13,148,136,.4) 50%,transparent 50%),radial-gradient(2.5px 2.5px at 45% 15%,rgba(212,175,55,.35) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 60% 80%,rgba(13,148,136,.5) 50%,transparent 50%),radial-gradient(2px 2px at 80% 35%,rgba(212,175,55,.4) 50%,transparent 50%),radial-gradient(3px 3px at 15% 85%,rgba(13,148,136,.3) 50%,transparent 50%),radial-gradient(2px 2px at 70% 55%,rgba(212,175,55,.3) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 90% 70%,rgba(13,148,136,.45) 50%,transparent 50%),radial-gradient(2px 2px at 35% 45%,rgba(212,175,55,.25) 50%,transparent 50%),radial-gradient(2.5px 2.5px at 55% 90%,rgba(13,148,136,.35) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 85% 10%,rgba(212,175,55,.45) 50%,transparent 50%),radial-gradient(2px 2px at 5% 50%,rgba(13,148,136,.3) 50%,transparent 50%);animation:loginPulse 6s ease-in-out infinite;pointer-events:none;z-index:1}.login-left:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(212,175,55,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(212,175,55,.04) 1px,transparent 1px);background-size:60px 60px;animation:loginGridPulse 8s ease-in-out infinite;pointer-events:none;z-index:1}.login-particle{position:absolute;border-radius:50%;pointer-events:none;z-index:1}.login-particle:nth-child(1){width:4px;height:4px;background:#d4af3799;top:20%;left:15%;animation:loginDotFloat1 12s ease-in-out infinite}.login-particle:nth-child(2){width:3px;height:3px;background:#0d948899;top:60%;left:70%;animation:loginDotFloat2 10s ease-in-out infinite 1s}.login-particle:nth-child(3){width:5px;height:5px;background:#d4af3766;top:40%;left:50%;animation:loginDotFloat3 14s ease-in-out infinite 2s}.login-particle:nth-child(4){width:3px;height:3px;background:#0d948880;top:75%;left:25%;animation:loginDotFloat1 11s ease-in-out infinite 3s}.login-particle:nth-child(5){width:4px;height:4px;background:#d4af3759;top:15%;left:80%;animation:loginDotFloat2 13s ease-in-out infinite .5s}.login-particle:nth-child(6){width:2px;height:2px;background:#0d94888c;top:85%;left:55%;animation:loginDotFloat3 9s ease-in-out infinite 4s}.login-network-lines{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}.login-network-lines:before{content:"";position:absolute;top:15%;left:10%;width:300px;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.12),transparent);transform:rotate(25deg);animation:loginPulse 7s ease-in-out infinite 1s}.login-network-lines:after{content:"";position:absolute;bottom:25%;right:5%;width:250px;height:1px;background:linear-gradient(90deg,transparent,rgba(13,148,136,.12),transparent);transform:rotate(-15deg);animation:loginPulse 9s ease-in-out infinite 2s}.login-orbit{position:absolute;width:420px;height:420px;border:1px solid rgba(212,175,55,.08);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;animation:loginOrbitSpin 40s linear infinite}.login-orbit:before{content:"";position:absolute;width:8px;height:8px;background:#d4af3780;border-radius:50%;top:-4px;left:50%;box-shadow:0 0 12px #d4af3766}.login-orbit-2{position:absolute;width:520px;height:520px;border:1px dashed rgba(212,175,55,.05);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;animation:loginOrbitSpin 60s linear infinite reverse}.login-orbit-2:before{content:"";position:absolute;width:6px;height:6px;background:#0d948880;border-radius:50%;bottom:-3px;left:50%;box-shadow:0 0 10px #0d948866}@keyframes loginOrbitSpin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.login-hex{position:absolute;width:40px;height:46px;pointer-events:none;z-index:1;opacity:0;animation:loginHexFade 8s ease-in-out infinite}.login-hex:before{content:"";position:absolute;width:100%;height:100%;background:transparent;border:1px solid rgba(212,175,55,.1);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}.login-hex:nth-child(7){top:8%;left:5%;animation-delay:0s}.login-hex:nth-child(8){top:70%;left:85%;animation-delay:2s}.login-hex:nth-child(9){top:30%;left:90%;animation-delay:4s}.login-hex:nth-child(10){top:88%;left:12%;animation-delay:6s}@keyframes loginHexFade{0%,to{opacity:0;transform:scale(.8) rotate(0)}50%{opacity:1;transform:scale(1) rotate(30deg)}}.login-dataflow{position:absolute;height:1px;pointer-events:none;z-index:1;overflow:hidden}.login-dataflow:before{content:"";position:absolute;width:60px;height:100%;background:linear-gradient(90deg,transparent,rgba(212,175,55,.3),transparent);animation:loginDataStream 4s linear infinite}.login-dataflow:nth-child(11){top:25%;left:0;width:100%;transform:rotate(5deg)}.login-dataflow:nth-child(12){top:55%;left:0;width:100%;transform:rotate(-3deg);animation-delay:1.5s}.login-dataflow:nth-child(13){top:80%;left:0;width:100%;transform:rotate(8deg);animation-delay:3s}.login-dataflow:nth-child(11):before{animation-duration:3s}.login-dataflow:nth-child(12):before{animation-duration:5s;background:linear-gradient(90deg,transparent,rgba(13,148,136,.25),transparent)}.login-dataflow:nth-child(13):before{animation-duration:4s}@keyframes loginDataStream{0%{transform:translate(-60px)}to{transform:translate(100vw)}}.login-corner{position:absolute;width:30px;height:30px;border-color:#d4af3726;border-style:solid;border-width:0;pointer-events:none;z-index:1}.login-corner-tl{top:20px;left:20px;border-top-width:2px;border-left-width:2px}.login-corner-tr{top:20px;right:20px;border-top-width:2px;border-right-width:2px}.login-corner-bl{bottom:20px;left:20px;border-bottom-width:2px;border-left-width:2px}.login-corner-br{bottom:20px;right:20px;border-bottom-width:2px;border-right-width:2px}.login-left-inner{max-width:460px;width:100%;text-align:center;position:relative;z-index:2;animation:loginFadeIn .8s ease-out}.login-logo-card{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:36px 32px 28px;margin-bottom:36px;box-shadow:0 8px 32px #0003,inset 0 1px #ffffff0d}.login-logo-float{animation:loginFloat 6s ease-in-out infinite;display:inline-block}.login-tagline-gradient{font-size:15px;font-weight:600;line-height:1.6;letter-spacing:-.1px;background:linear-gradient(135deg,#565ae0,#e8c84a 40%,#f5e6a3 60%,#565ae0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.login-version-pill{display:inline-flex;align-items:center;gap:6px;background:#d4af371a;border:1px solid rgba(212,175,55,.25);color:#d4af37d9;font-size:10px;font-weight:700;padding:5px 14px;border-radius:9999px;letter-spacing:1.5px;text-transform:uppercase;margin-top:16px}.login-version-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:#0d9488;box-shadow:0 0 6px #0d948899}.login-left-headline{font-size:28px;font-weight:800;color:#fff;line-height:1.35;margin:0 0 24px;text-align:center;letter-spacing:-.3px}.login-features{list-style:none;margin:0 0 40px;padding:0;display:flex;flex-direction:column;gap:16px;align-items:center}.login-feature-item{display:flex;align-items:center;justify-content:center;gap:12px;font-size:13.5px;color:#fffc;line-height:1.5}.login-badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.login-badge{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#ffffffbf;font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;letter-spacing:.3px}.login-footer{margin-top:auto;padding-top:20px;font-size:11px;color:#8b95a7d9;text-align:center;line-height:1.8}.login-right{width:500px;flex-shrink:0;background:transparent;display:flex;align-items:center;justify-content:center;padding:48px 40px;animation:loginFadeIn .6s ease-out .2s both}.login-card-wrapper{position:relative;width:100%;border-radius:16px;padding:0;background:none}.login-card{position:relative;background:#ffffff09;border-radius:16px;padding:40px 36px;width:100%;border:.5px solid rgba(255,255,255,.22);box-shadow:0 0 0 .5px #ffffff0f,0 24px 48px #00000073;overflow:hidden;color:#e8eaef}.login-card:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(201,162,39,.4),transparent);pointer-events:none}.login-card .login-brand-hero{font-size:16px;font-weight:800;color:#f8fafc;line-height:1.2;letter-spacing:-.3px}.login-card .login-brand-subline{font-size:10px;color:#8b95a7f2;letter-spacing:1.2px;text-transform:uppercase;font-weight:500;margin-top:2px}.login-card .login-welcome-title{font-size:22px;font-weight:800;color:#f1f5f9;margin:0}.login-card .login-welcome-sub{font-size:13px;color:#8b95a7;margin-top:6px;line-height:1.45}.login-card .form-label{font-size:11px;font-weight:600;color:#c9a2278c;text-transform:uppercase;letter-spacing:.06em}.login-card .input,.login-card .select,.login-card .textarea{background:#ffffff0a;border:1px solid rgba(255,255,255,.12);color:#e8eaef}.login-card .input:hover,.login-card .select:hover,.login-card .textarea:hover{border-color:#ffffff2e}.login-card .input::placeholder,.login-card .textarea::placeholder{color:#8b95a7bf}.login-split .login-error,.login-card .login-error{background:#ef44441f;border:1px solid rgba(239,68,68,.35);color:#fca5a5;border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;margin-bottom:16px}.login-split .btn-ghost{color:#c8d0dbf2;border-color:#ffffff1f}.login-split .btn-ghost:hover{background:#ffffff0f;color:#fff}.login-card .btn-ghost{color:#c8d0dbf2;border-color:#ffffff1f;background:#ffffff0a}.login-card .btn-ghost:hover{background:#ffffff14;color:#fff}.login-compliance-tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:18px}.login-compliance-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#c9a227d1;background:#c9a22714;border:1px solid rgba(201,162,39,.22);border-radius:3px;padding:4px 8px}.login-card-header{margin-bottom:22px;text-align:center}.login-title{font-size:22px;font-weight:800;color:#f1f5f9;margin:0 0 8px}.login-subtitle{font-size:13px;color:#8b95a7;margin:0;line-height:1.5}.login-subtitle strong{color:#e8eaef}.login-left-content{position:relative;z-index:2;text-align:center;max-width:360px}.login-brand-title{font-size:28px;font-weight:800;color:#fff;margin:16px 0 8px;letter-spacing:-.02em}.login-brand-sub{font-size:13px;color:#c9a227b8;margin:0}.login-tabs{display:flex;gap:4px;border-radius:999px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);padding:4px;margin-bottom:22px}.login-tab{flex:1;padding:10px 0;border:none;cursor:pointer;font-weight:600;font-size:13px;background:transparent;color:#8b95a7f2;border-radius:999px;transition:background .2s ease,color .2s ease}.login-tab:hover:not(.active){color:#e2e8f0eb;background:#ffffff0d}.login-tab.active{background:#c9a22726;color:#ddb83a;box-shadow:none;text-shadow:none}.login-input-field{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;transition:border-color .25s ease,box-shadow .25s ease}.login-input-field:focus{border-color:#c9a227d9!important;box-shadow:0 0 0 1px #c9a22759,0 0 0 4px #c9a2271f,0 0 24px #c9a2272e!important;outline:none}.login-btn-primary{background:linear-gradient(135deg,#c9a227,#ddb83a)!important;border:none!important;color:#07090f!important;font-weight:700;transition:filter .2s ease,box-shadow .2s ease,transform .15s ease}.login-btn-primary:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 6px 22px #c9a22761;transform:translateY(-1px)}.login-btn-primary:active:not(:disabled){transform:translateY(0)}.login-btn-primary:disabled{opacity:.52;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.login-security-indicators{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 18px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.06)}.login-sec-item{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:600;color:#8b95a7f2}.login-sec-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px #22c55e80;flex-shrink:0}.sidebar-overlay{display:none;position:fixed;inset:0;background:#0000008c;z-index:99}@media (max-width: 860px){.login-split{flex-direction:column}.login-left{padding:40px 24px;flex:none;min-height:260px}.login-left-headline{font-size:20px;margin-bottom:16px}.login-right{width:100%;padding:28px 16px}.login-card{padding:28px 20px}.login-logo-card{padding:24px 20px 20px;margin-bottom:20px}.login-tagline-gradient{font-size:13px}.login-logo-float img{width:140px!important}.login-card-wrapper{border-radius:16px}.login-card{border-radius:16px;padding:28px 22px}.sidebar{position:fixed;left:-260px;top:0;height:100vh;z-index:100;transition:left .25s ease;width:var(--sidebar-width)}.sidebar.mobile-open{left:0}.sidebar-overlay.mobile-open{display:block}.main{margin-left:0;width:100%}.btn-menu{display:flex}.content{padding:16px 16px 80px}.mobile-bottom-nav{display:flex}}.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:1000;background:var(--sidebar-bg);border-top:1px solid var(--border);padding:6px 0 max(6px,env(safe-area-inset-bottom));justify-content:space-around;align-items:center}.mobile-nav-btn{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;color:var(--sidebar-text);font-size:10px;padding:4px 12px;min-height:44px;cursor:pointer;transition:color .15s}.mobile-nav-btn:hover,.mobile-nav-btn.active{color:var(--brand)}.mobile-nav-btn svg{width:22px;height:22px}.mobile-nav-btn span{font-weight:500}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-row{display:flex;flex-direction:column;gap:10px;padding:16px 0}.skeleton-line{height:14px}.skeleton-line.short{width:40%}.skeleton-line.medium{width:65%}.skeleton-line.full{width:100%}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center}.empty-state-icon{font-size:36px;margin-bottom:16px;opacity:.35}.empty-state-title{font-size:15px;font-weight:700;color:var(--text-2);margin-bottom:6px}.empty-state-body{font-size:13px;color:var(--text-3);max-width:300px;line-height:1.6}.drop-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:28px 20px;text-align:center;cursor:pointer;transition:all .2s;background:var(--surface-2)}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--brand);background:var(--brand-bg)}.drop-zone-icon{font-size:28px;margin-bottom:8px}.drop-zone-text{font-size:13.5px;font-weight:600;color:var(--text-2);margin-bottom:3px}.drop-zone-sub{font-size:12px;color:var(--text-3)}.split{display:flex;gap:16px}.split-side{width:180px;flex-shrink:0}.split-main{flex:1;min-width:0}.folder-item{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;color:var(--text-2);transition:all .13s;border:none;background:none;width:100%;text-align:left}.folder-item:hover{background:var(--surface-2)}.folder-item.active{background:var(--brand-bg);color:var(--brand-text);font-weight:600}.folder-count{margin-left:auto;font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums}.folder-item.active .folder-count{color:var(--brand-text);opacity:.7}.checklist{display:flex;flex-direction:column;gap:8px}.check-item{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-2)}.check-icon{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:9px;font-weight:900}.check-icon.ok{background:var(--ok-bg);color:var(--ok)}.check-icon.err{background:var(--err-bg);color:var(--err)}.bar-chart{display:flex;align-items:flex-end;gap:3px;height:120px}.bar-col{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}.bar-fill{width:100%;background:var(--brand);border-radius:2px 2px 0 0;min-height:2px;opacity:.75;transition:opacity .15s}.bar-fill:hover{opacity:1}.bar-label{font-size:9px;color:var(--text-3);writing-mode:vertical-lr;transform:rotate(180deg)}.strip-bar{display:flex;height:10px;border-radius:var(--radius-full);overflow:hidden}.strip-segment{height:100%;transition:width .3s}.search-bar{display:flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 10px;min-width:180px;max-width:260px;transition:border-color .13s}.search-bar:focus-within{border-color:var(--brand);background:var(--surface)}.search-icon{color:var(--text-3);flex-shrink:0}.search-input{border:none;background:transparent;outline:none;font-size:12.5px;color:var(--text);width:100%}.search-input::placeholder{color:var(--text-3)}.search-clear{background:none;border:none;color:var(--text-3);cursor:pointer;font-size:16px;line-height:1;padding:0 2px;flex-shrink:0}.search-clear:hover{color:var(--text)}.class-badge-btn{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:var(--radius-full);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;border:1px solid transparent;cursor:pointer;transition:opacity .13s;white-space:nowrap}.class-badge-btn:hover{opacity:.8}.class-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:200;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius);box-shadow:var(--shadow-md);min-width:110px;overflow:hidden}.class-dropdown-item{display:block;width:100%;text-align:left;padding:7px 12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;background:none;border:none;cursor:pointer;transition:background .1s}.class-dropdown-item:hover{background:var(--surface-2)}.copy-btn{opacity:0;transition:opacity .13s;color:var(--text-3)}.copy-btn.copied{opacity:1;color:var(--ok)}.file-row:hover .copy-btn{opacity:1}.delete-confirm-row{display:inline-flex;align-items:center;gap:4px}.meta-chip{display:inline-flex;align-items:center;gap:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-full);padding:2px 8px;font-size:11px}.meta-chip-label{color:var(--text-3);font-weight:600;text-transform:uppercase;letter-spacing:.3px}.meta-chip-value{color:var(--text-2);font-family:JetBrains Mono,Fira Code,monospace}.rule-explainer{background:#00000008;border-radius:var(--radius-sm);padding:12px 14px;border:1px solid rgba(0,0,0,.06)}.rule-explainer-row{display:flex;gap:10px}.rule-explainer-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px}.rule-explainer-dot.what{background:var(--info)}.rule-explainer-dot.action{background:var(--ok)}.rule-explainer-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-3)}.drop-zone.has-file{border-color:var(--ok);background:var(--ok-bg)}.section-gap{margin-top:24px}.divider{border:none;border-top:1px solid var(--border);margin:20px 0}.banner{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius);border:1px solid;font-size:13px;margin-bottom:16px}.banner.ok{background:var(--ok-bg);border-color:var(--ok-border);color:#14532d}.banner.warn{background:var(--warn-bg);border-color:var(--warn-border);color:#78350f}.banner.err{background:var(--err-bg);border-color:var(--err-border);color:#7f1d1d}.banner.info{background:var(--info-bg);border-color:var(--info-border);color:#1e3a8a}[data-theme=dark] .banner.ok{color:#86efac}[data-theme=dark] .banner.warn{color:#fcd34d}[data-theme=dark] .banner.err{color:#fca5a5}[data-theme=dark] .banner.info{color:var(--brand-text)}.help-banner{background:var(--info-bg, #eff6ff);border:1px solid var(--info-border, #bfdbfe);border-radius:var(--radius, 8px);margin-bottom:16px;overflow:hidden}.help-banner-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:none;border:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--info, #2563eb);text-align:left}.help-banner-toggle:hover{background:#2563eb0f}.help-banner-toggle svg{flex-shrink:0}.help-banner-label{flex:1}.help-banner-body{padding:0 14px 12px 38px;font-size:13px;color:var(--text-2, #6b7280);line-height:1.6;animation:help-fade-in .2s ease}@keyframes help-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.help-banner-desc{margin:0 0 8px}.help-banner-steps{margin:0 0 8px 16px;padding:0;list-style:disc}.help-banner-steps li{margin-bottom:3px}.help-banner-tip{font-size:12px;font-style:italic;color:var(--brand-text, #565ae0);padding:6px 10px;background:#565ae014;border-radius:var(--radius-sm, 6px);border-left:3px solid var(--brand, #565ae0)}[data-theme=dark] .help-banner{background:#2563eb14;border-color:#2563eb33}[data-theme=dark] .help-banner-toggle{color:#93b4f4}[data-theme=dark] .help-banner-toggle:hover{background:#2563eb1f}[data-theme=dark] .help-banner-body{color:var(--text-2, #94a3b8)}[data-theme=dark] .help-banner-tip{background:#565ae024;color:var(--brand-text)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.wrap{flex-wrap:wrap}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.p-0{padding:0}.w-full{width:100%}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono{font-family:JetBrains Mono,Fira Code,Courier New,monospace}.text-xs{font-size:11px}.text-sm{font-size:12px}.text-base{font-size:14px}.text-lg{font-size:16px}.text-muted{color:var(--text-3)}.text-2{color:var(--text-2)}.text-ok{color:var(--ok)}.text-warn{color:var(--warn)}.text-err{color:var(--err)}.text-brand{color:var(--brand)}.font-600{font-weight:600}.font-700{font-weight:700}.font-800{font-weight:800}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-3)}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:#565ae038;border-radius:4px}.sidebar::-webkit-scrollbar-thumb:hover{background:#565ae057}@media (max-width: 900px){.sidebar{display:none}.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3{grid-template-columns:1fr}.split{flex-direction:column}.split-side{width:100%}.content{padding:16px}}.modal-overlay{position:fixed;inset:0;background:#0000008c;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(4px)}.modal-panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 64px #0003,0 8px 24px #0000001a;width:100%;animation:modal-in .2s ease;position:relative;overflow:hidden}.modal-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--brand-gradient)}@keyframes modal-in{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.clinical-search-row{display:flex;gap:10px;flex-wrap:wrap;padding:12px 16px;background:var(--surface-2);border-bottom:1px solid var(--border)}.upload-progress{margin-top:12px}.upload-progress-track{width:100%;height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden}.upload-progress-bar{height:100%;background:linear-gradient(90deg,#565ae0,#5c5ac7);border-radius:4px;transition:width .3s ease}.upload-progress-bar.done{background:#059669}.upload-progress-bar.error{background:#dc2626}.upload-phase{font-size:.8rem;color:var(--text-muted);margin-top:6px}.upload-queue{border:1px solid var(--border);border-radius:var(--radius);padding:4px 0;max-height:220px;overflow-y:auto}.upload-queue-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border)}.upload-queue-item:last-child{border-bottom:none}.upload-queue-item .filename{flex:1;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.upload-queue-item .status-icon{width:20px;text-align:center;flex-shrink:0;font-size:14px}.upload-queue-item .progress-mini{width:60px;height:6px;background:var(--border);border-radius:3px;overflow:hidden;flex-shrink:0}.upload-queue-item .progress-mini-bar{height:100%;background:linear-gradient(90deg,#565ae0,#5c5ac7);border-radius:3px;transition:width .3s ease}.tag-chip{display:inline-flex;align-items:center;padding:1px 7px;border-radius:9999px;font-size:10px;font-weight:600;line-height:16px;white-space:nowrap}.batch-toolbar{display:flex;align-items:center;gap:10px;padding:8px 16px;background:#eff6ff;border-bottom:1px solid #bfdbfe}[data-theme=dark] .batch-toolbar{background:#1e293b;border-bottom-color:#334155}@media (max-width: 860px){.table-wrap .table thead{display:none}.table-wrap .table,.table-wrap .table tbody,.table-wrap .table tr,.table-wrap .table td{display:block;width:100%}.table-wrap .table tr{padding:12px 16px;border-bottom:1px solid var(--border);position:relative}.table-wrap .table td{padding:2px 0;border:none}.table-wrap .table td:first-child{padding-right:0}.td-actions{display:flex;gap:6px;margin-top:8px;justify-content:flex-end}.drop-zone{min-height:120px}.split{flex-direction:column}.split-side{width:100%}.share-popover{position:fixed;inset:auto 16px 16px}}.file-preview-overlay{position:fixed;inset:0;background:#000000b3;z-index:1100;display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(6px);animation:file-preview-fade-in .2s ease}@keyframes file-preview-fade-in{0%{opacity:0}to{opacity:1}}.file-preview-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:960px;max-height:92vh;display:flex;flex-direction:column;animation:modal-in .2s ease;position:relative;overflow:hidden}.file-preview-modal:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--brand-gradient)}.file-preview-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.file-preview-header-info{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.file-preview-filename{font-weight:600;font-size:14px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview-size{font-size:12px;color:var(--text-3);flex-shrink:0}.file-preview-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.file-preview-content{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--surface-2);min-height:300px}.file-preview-pdf{width:100%;height:75vh;border:none;border-radius:var(--radius);background:#fff}.file-preview-image{max-width:100%;max-height:75vh;object-fit:contain;border-radius:var(--radius)}.file-preview-text{width:100%;max-height:75vh;overflow:auto;padding:16px 20px;margin:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:12px;line-height:1.6;white-space:pre-wrap;word-break:break-word;color:var(--text);tab-size:2}.file-preview-loading{display:flex;align-items:center;gap:10px;padding:48px 24px;color:var(--text-2);font-size:14px}.file-preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:48px 24px;text-align:center}.file-preview-empty-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--border);color:var(--text-3);font-size:20px;font-weight:700;margin-bottom:8px}.file-preview-empty-title{margin:0;font-size:15px;font-weight:600;color:var(--text)}.file-preview-empty-sub{margin:0;font-size:13px;color:var(--text-3)}@media (max-width: 640px){.file-preview-modal{max-width:100%;max-height:100vh;border-radius:0}.file-preview-header{flex-wrap:wrap;padding:12px 16px}.file-preview-pdf,.file-preview-image,.file-preview-text{max-height:60vh}.file-preview-pdf{height:60vh}}.rx-status-new,.rx-status-filling,.rx-status-ready,.rx-status-picked_up{display:inline-block;padding:2px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:600;letter-spacing:.2px;white-space:nowrap}.rx-status-new{background:var(--info-bg);color:var(--info);border:1px solid var(--info-border)}.rx-status-filling{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn-border)}.rx-status-ready{background:var(--ok-bg);color:var(--ok);border:1px solid var(--ok-border)}.rx-status-picked_up{background:var(--surface-2);color:var(--text-3);border:1px solid var(--border)}.claim-paid,.claim-rejected,.claim-pending{display:inline-block;padding:2px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:600;letter-spacing:.2px;white-space:nowrap}.claim-paid{background:var(--ok-bg);color:var(--ok);border:1px solid var(--ok-border)}.claim-rejected{background:var(--err-bg);color:var(--err);border:1px solid var(--err-border)}.claim-pending{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn-border)}.pms-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.quick-actions{display:flex;flex-wrap:wrap;gap:10px}.quick-actions .btn{flex:0 0 auto}@media (max-width: 900px){.quick-actions{flex-direction:column}.quick-actions .btn{width:100%}}.pricing-page{max-width:1280px;margin:0 auto;padding-bottom:48px}.pricing-header{text-align:center;margin-bottom:40px}.pricing-title{font-size:32px;font-weight:800;color:var(--text);margin-bottom:8px;letter-spacing:-.5px}.pricing-subtitle{font-size:15px;color:var(--text-2);max-width:480px;margin:0 auto;line-height:1.6}.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:32px;align-items:start}.pricing-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 24px 24px;position:relative;display:flex;flex-direction:column;transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease}.pricing-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.pricing-card.popular{border-color:var(--brand);box-shadow:0 4px 24px -4px #565ae029,var(--shadow-sm);z-index:1}.pricing-card.popular:hover{box-shadow:0 8px 32px -4px #565ae038,var(--shadow-md)}.pricing-card.featured{border-color:var(--border-2)}.pricing-card.current{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand),var(--shadow-sm)}.pricing-popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--brand-gradient);color:#fff;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:4px 16px;border-radius:var(--radius-full);white-space:nowrap;box-shadow:0 2px 8px #565ae040}.pricing-current-badge{position:absolute;top:12px;right:12px;background:var(--brand-bg);color:var(--brand-text);font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:3px 10px;border-radius:var(--radius-full);border:1px solid var(--brand)}.pricing-tier-name{font-size:18px;font-weight:700;color:var(--text);margin-bottom:8px}.pricing-price{display:flex;align-items:baseline;gap:2px;margin-bottom:6px}.pricing-currency{font-size:22px;font-weight:700;color:var(--text-2);align-self:flex-start;margin-top:4px}.pricing-amount{font-size:42px;font-weight:800;color:var(--text);line-height:1;letter-spacing:-1px}.pricing-card.popular .pricing-amount{background:var(--brand-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.pricing-period{font-size:14px;color:var(--text-3);font-weight:500;margin-left:2px}.pricing-tag{font-size:13px;color:var(--text-2);line-height:1.4;margin-bottom:16px}.pricing-divider{height:1px;background:var(--border);margin-bottom:16px}.pricing-card.popular .pricing-divider{background:linear-gradient(90deg,transparent,var(--brand),transparent)}.pricing-features{list-style:none;padding:0;margin:0 0 20px;flex:1}.pricing-features li{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--text-2);padding:5px 0;line-height:1.4}.pricing-check{color:var(--ok);font-weight:700;font-size:14px;flex-shrink:0;width:16px;text-align:center;margin-top:1px}.pricing-card-footer{margin-top:auto}.pricing-cta{width:100%;padding:10px 16px;border-radius:var(--radius);font-weight:600;font-size:14px;text-align:center;transition:all .2s ease;border:1.5px solid transparent}.pricing-cta-upgrade{background:transparent;border-color:var(--brand);color:var(--brand)}.pricing-cta-upgrade:hover{background:var(--brand);color:#fff;box-shadow:0 2px 8px #565ae038}.pricing-card.popular .pricing-cta-upgrade{background:var(--brand-gradient);color:#fff;border-color:transparent}.pricing-card.popular .pricing-cta-upgrade:hover{box-shadow:0 4px 16px #565ae047;transform:translateY(-1px)}.pricing-cta-current{background:var(--brand-bg);color:var(--brand-text);border-color:var(--brand);cursor:default;opacity:.85}.pricing-cta-lower{background:var(--surface-2);color:var(--text-3);border-color:var(--border);cursor:default}.pricing-cta-contact{background:var(--brand-gradient);color:#fff;border-color:transparent;padding:12px 32px;font-size:15px;width:auto;min-width:180px}.pricing-cta-contact:hover{box-shadow:0 4px 16px #565ae047;transform:translateY(-1px)}.pricing-custom-cta{margin-bottom:40px}.pricing-custom-inner{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.pricing-custom-text h3{font-size:18px;font-weight:700;color:var(--text);margin-bottom:4px}.pricing-custom-text p{font-size:13px;color:var(--text-2);line-height:1.5;max-width:640px}.pricing-includes{margin-bottom:48px}.pricing-includes-title{text-align:center;font-size:16px;font-weight:700;color:var(--text);margin-bottom:20px}.pricing-includes-grid{display:flex;justify-content:center;gap:32px;flex-wrap:wrap}.pricing-includes-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-2);font-weight:500}.pricing-includes-item .icon{color:var(--brand);font-size:16px}.pricing-comparison{margin-bottom:48px}.pricing-comparison-title{text-align:center;font-size:22px;font-weight:700;color:var(--text);margin-bottom:24px}.feature-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.feature-table{width:100%;border-collapse:collapse;font-size:13px}.feature-table thead{position:sticky;top:0;z-index:2}.feature-table th{background:var(--surface-2);font-weight:700;padding:14px 16px;text-align:center;border-bottom:1px solid var(--border);color:var(--text);white-space:nowrap}.feature-table th.feature-table-label{text-align:left;min-width:180px}.feature-table th.feature-table-active{background:var(--brand-bg);color:var(--brand-text);box-shadow:inset 0 -2px 0 var(--brand)}.feature-table td{padding:12px 16px;text-align:center;border-bottom:1px solid var(--border);color:var(--text-2)}.feature-table td.feature-table-label{text-align:left;font-weight:500;color:var(--text)}.feature-table tr:last-child td{border-bottom:none}.feature-table tr:hover td{background:var(--surface-2)}.feature-cell-yes{color:var(--ok);font-weight:700;font-size:16px}.feature-cell-no{color:var(--text-3);font-size:14px}.feature-cell-text{font-weight:500;color:var(--text)}.pricing-faq{margin-bottom:40px}.pricing-faq-title{text-align:center;font-size:22px;font-weight:700;color:var(--text);margin-bottom:24px}.pricing-faq-list{max-width:700px;margin:0 auto}.faq-item{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;overflow:hidden;background:var(--surface);transition:box-shadow .2s ease}.faq-item:hover{box-shadow:var(--shadow-xs)}.faq-item.faq-open{border-color:var(--border-2)}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:none;border:none;font-size:14px;font-weight:600;color:var(--text);text-align:left;cursor:pointer;gap:12px}.faq-question:hover{color:var(--brand)}.faq-chevron{font-size:18px;font-weight:400;color:var(--text-3);flex-shrink:0;width:20px;text-align:center}.faq-answer{padding:0 18px 16px;font-size:13px;color:var(--text-2);line-height:1.65;animation:faq-in .2s ease}@keyframes faq-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.pricing-help{text-align:center;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.pricing-help p{font-size:14px;color:var(--text-2)}.pricing-help a{color:var(--brand);font-weight:600}@media (max-width: 1100px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.pricing-grid{grid-template-columns:1fr}.pricing-header{margin-bottom:28px}.pricing-title{font-size:24px}.pricing-custom-inner{flex-direction:column;text-align:center}.pricing-includes-grid{flex-direction:column;align-items:center;gap:16px}.feature-table{font-size:12px}.feature-table th,.feature-table td{padding:10px}}*:focus-visible{outline:2px solid var(--brand);outline-offset:2px}[data-theme=dark] *:focus-visible{outline-color:#f0d060}button.nav-section-header{appearance:none;background:none;border:none;width:100%;font:inherit;color:inherit;text-align:left}.adm-dash{display:flex;flex-direction:column;gap:20px}.adm-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.adm-kpi{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:6px;margin:0;transition:box-shadow .2s,border-color .2s;position:relative;overflow:hidden}.adm-kpi:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--border);border-radius:12px 12px 0 0}.adm-kpi:hover{box-shadow:0 4px 16px #00000014;border-color:var(--accent)}.adm-kpi--brand:before{background:var(--accent)}.adm-kpi--green:before{background:var(--ok)}.adm-kpi--red:before{background:var(--err)}.adm-kpi--orange:before{background:var(--warn)}.adm-kpi--blue:before{background:var(--brand)}.adm-kpi__header{display:flex;align-items:center;justify-content:space-between}.adm-kpi__label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.adm-kpi__icon{color:var(--muted);opacity:.5}.adm-kpi__value{font-size:28px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1;color:var(--fg);margin:0}.adm-kpi__footer{display:flex;align-items:center;gap:8px;min-height:20px}.adm-kpi__change{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;padding:2px 6px;border-radius:4px}.adm-kpi__change--up{color:var(--ok);background:#0596691a}.adm-kpi__change--down{color:var(--err);background:#dc26261a}.adm-kpi__sub{font-size:12px;color:var(--muted)}.adm-chart-row{display:flex;gap:16px}.adm-chart-card{flex:1;min-width:0}.adm-chart-card--wide{flex:2}.adm-chart-wrap{position:relative;width:100%}.adm-chart-wrap--lg{height:260px}.adm-chart-wrap--md{height:220px}.adm-chart-wrap--sm{height:160px}.adm-doughnut-center{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);text-align:center;display:flex;flex-direction:column;pointer-events:none}.adm-doughnut-total{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--fg)}.adm-doughnut-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.adm-chart-card .card-body{position:relative}.adm-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.adm-dot--ok{background:var(--ok)}.adm-dot--err{background:var(--err)}.adm-dot--warn{background:var(--warn)}.adm-footer-stats{display:flex;flex-wrap:wrap;gap:24px;padding:16px 20px;background:var(--card-bg);border:1px solid var(--border);border-radius:12px}.adm-footer-stat{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.adm-footer-stat svg{color:var(--ok)}@media (max-width: 1024px){.adm-kpi-grid{grid-template-columns:repeat(2,1fr)}.adm-chart-row{flex-direction:column}.adm-chart-card--wide{flex:1}}@media (max-width: 640px){.adm-kpi-grid{grid-template-columns:1fr}.adm-kpi__value{font-size:24px}.adm-footer-stats{flex-direction:column;gap:12px}}.pharm-page{max-width:1140px;margin:0 auto}.pharm-header{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800;color:var(--text);margin-bottom:20px;letter-spacing:-.02em}.pharm-header svg{color:var(--brand, #565ae0)}.pharm-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:14px;margin-bottom:20px}.pharm-kpi{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 20px 16px;overflow:hidden;transition:box-shadow .2s,transform .15s}.pharm-kpi:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--_accent, var(--brand));border-radius:12px 12px 0 0}.pharm-kpi:hover{box-shadow:0 4px 16px #0000000f;transform:translateY(-1px)}.pharm-kpi-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-bottom:6px}.pharm-kpi-value{font-size:28px;font-weight:800;line-height:1.1;color:var(--_accent, var(--text))}.pharm-kpi-sub{font-size:11px;color:var(--text-3);margin-top:4px}.pharm-kpi--ok{--_accent: var(--ok, #059669)}.pharm-kpi--warn{--_accent: var(--warn, #d97706)}.pharm-kpi--err{--_accent: var(--err, #dc2626)}.pharm-kpi--brand{--_accent: var(--brand, #565ae0)}.pharm-kpi--muted{--_accent: var(--border-2, #cdd3de)}.pharm-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-bottom:20px;overflow:hidden}.pharm-card-body{padding:24px}.pharm-card-flush{padding:0}.pharm-section-title{font-size:15px;font-weight:700;color:var(--text);margin:0 0 4px}.pharm-section-subtitle{font-size:12px;color:var(--text-3);margin:0 0 16px}.pharm-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.pharm-table thead th{text-align:left;padding:10px 14px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);background:var(--surface-2, #f8f9fb);border-bottom:2px solid var(--border);white-space:nowrap}.pharm-table thead th:first-child{border-radius:8px 0 0}.pharm-table thead th:last-child{border-radius:0 8px 0 0}.pharm-table tbody td{padding:12px 14px;color:var(--text);border-bottom:1px solid var(--border);vertical-align:middle}.pharm-table tbody tr:last-child td{border-bottom:none}.pharm-table tbody tr{transition:background .12s}.pharm-table tbody tr:hover{background:#565ae00a}.pharm-table .td-mono{font-family:SF Mono,Consolas,monospace;font-size:12px;letter-spacing:-.01em}.pharm-table .td-muted{color:var(--text-3);font-size:12px}.pharm-table .td-actions{text-align:center;white-space:nowrap}.pharm-badge{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;padding:3px 10px;border-radius:99px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;line-height:1.4}.pharm-badge--critical{background:#ef44441f;color:#dc2626}.pharm-badge--high{background:#ea580c1a;color:#ea580c}.pharm-badge--medium{background:#f59e0b1f;color:#b45309}.pharm-badge--low{background:#6b72801a;color:#6b7280}.pharm-badge--ok{background:#0596691a;color:#059669}.pharm-badge--err{background:#dc26261a;color:#dc2626}.pharm-badge--warn{background:#d977061a;color:#d97706}.pharm-badge--info{background:#3b82f61a;color:#2563eb}.pharm-badge--brand{background:#565ae01f;color:var(--brand)}.pharm-badge--solid-err{background:#dc2626;color:#fff}.pharm-badge--solid-ok{background:#059669;color:#fff}.pharm-badge--solid-warn{background:#d97706;color:#fff}.pharm-dea{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:6px;white-space:nowrap}.pharm-dea--II{background:#fee2e2;color:#991b1b}.pharm-dea--III{background:#ffedd5;color:#9a3412}.pharm-dea--IV{background:#fef3c7;color:#92400e}.pharm-dea--V{background:#d1fae5;color:#065f46}.pharm-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:8px 18px;border-radius:8px;border:none;cursor:pointer;transition:opacity .15s,transform .1s,box-shadow .15s;white-space:nowrap}.pharm-btn:hover{opacity:.92;transform:translateY(-.5px)}.pharm-btn:active{transform:translateY(0)}.pharm-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.pharm-btn--primary{background:var(--brand-gradient);color:#fff;box-shadow:0 2px 8px #565ae038}.pharm-btn--primary:hover{box-shadow:0 4px 16px #565ae047}.pharm-btn--secondary{background:transparent;color:var(--text-3);border:1px solid var(--border);padding:7px 16px}.pharm-btn--ghost{background:transparent;color:var(--brand);border:1px solid var(--border);padding:5px 12px;font-size:11px}.pharm-btn--ok{background:#059669;color:#fff}.pharm-btn--danger{background:#dc2626;color:#fff}.pharm-btn--sm{font-size:11px;padding:5px 12px;border-radius:6px}.pharm-alert{display:flex;align-items:flex-start;gap:14px;padding:16px 20px;border-radius:12px;margin-bottom:20px;font-size:13px}.pharm-alert--err{background:#dc26260f;border:1px solid rgba(220,38,38,.18);color:var(--err, #dc2626)}.pharm-alert--ok{background:#0596690f;border:1px solid rgba(5,150,105,.18);color:var(--ok, #059669)}.pharm-alert-title{font-weight:700;margin-bottom:2px}.pharm-alert-detail{font-size:12px;opacity:.8}.pharm-tabs{display:flex;border-bottom:2px solid var(--border)}.pharm-tab{flex:1;padding:13px 20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:color .15s,border-color .15s}.pharm-tab:hover{color:var(--text)}.pharm-tab[aria-selected=true]{color:var(--brand);border-bottom-color:var(--brand)}.pharm-field-label{display:block;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-bottom:5px}.pharm-input,.pharm-select,.pharm-textarea{width:100%;padding:9px 12px;font-size:13px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;transition:border-color .15s,box-shadow .15s}.pharm-input:focus,.pharm-select:focus,.pharm-textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #565ae024}.pharm-textarea{resize:vertical}.pharm-progress{height:8px;border-radius:99px;background:var(--border);overflow:hidden}.pharm-progress-bar{height:100%;border-radius:99px;transition:width .5s ease}.pharm-gauge-wrap{display:flex;flex-direction:column;align-items:center;gap:8px}.pharm-gauge-label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.pharm-overdue-row{background:#dc262608!important}.pharm-overdue-text{font-size:10px;font-weight:800;color:var(--err);margin-top:2px;letter-spacing:.04em}.pharm-empty{padding:32px 20px;text-align:center;font-size:13px;color:var(--text-3)}.pharm-empty--ok{color:var(--ok, #059669);font-weight:600}.pharm-inline-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 0}.pharm-checklist-item{padding:18px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2, #f8f9fb);transition:border-color .15s,box-shadow .15s}.pharm-checklist-item:hover{border-color:var(--border-2);box-shadow:0 2px 8px #0000000a}[data-theme=dark] .pharm-kpi,[data-theme=dark] .pharm-card{background:var(--surface);border-color:var(--border)}[data-theme=dark] .pharm-table thead th{background:#ffffff08}[data-theme=dark] .pharm-table tbody tr:hover{background:#565ae014}[data-theme=dark] .pharm-input,[data-theme=dark] .pharm-select,[data-theme=dark] .pharm-textarea{background:var(--bg);border-color:var(--border)}[data-theme=dark] .pharm-checklist-item{background:#ffffff05}[data-theme=dark] .pharm-dea--II{background:#fee2e21f}[data-theme=dark] .pharm-dea--III{background:#ffedd51f}[data-theme=dark] .pharm-dea--IV{background:#fef3c71f}[data-theme=dark] .pharm-dea--V{background:#d1fae51f}.datatable{display:flex;flex-direction:column;gap:12px;width:100%}.datatable__toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.datatable__search{flex:1 1 220px;min-width:0;padding:8px 12px;font:inherit;font-size:13px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color .15s,box-shadow .15s}.datatable__search:focus{outline:none;border-color:var(--brand, #565ae0);box-shadow:0 0 0 3px #565ae02e}.datatable__count{font-size:12px;color:var(--text-3);flex-shrink:0}.datatable__scroll{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.datatable__table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.datatable__table thead th{position:sticky;top:0;z-index:1;background:var(--surface-2, #f7f7f9);color:var(--text-2, #2c3038);font-weight:600;font-size:12px;letter-spacing:.02em;padding:10px 14px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.datatable__table tbody td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text)}.datatable__table tbody tr:last-child td{border-bottom:none}.datatable__row--clickable{cursor:pointer}.datatable__row--clickable:hover td{background:var(--surface-2, #f7f7f9)}.datatable__sort{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;font-weight:600;font-size:12px;letter-spacing:.02em}.datatable__sort-arrow{font-size:10px;opacity:.6}.datatable__sort:hover .datatable__sort-arrow{opacity:1}.datatable__pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:4px 0}.datatable__pager-label{font-size:12px;color:var(--text-3)}.craft-shell__menu-btn{display:none;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid var(--border);border-radius:8px;cursor:pointer;color:var(--text-2)}.craft-shell__menu-btn:hover{background:var(--surface-2)}.craft-shell__overlay{display:none;position:fixed;inset:0;background:#0b0d126b;z-index:90;animation:shell-overlay-in .15s ease}@keyframes shell-overlay-in{0%{opacity:0}}@media (max-width: 860px){.craft-shell__menu-btn{display:inline-flex}.craft-shell__sidebar{position:fixed;top:0;left:0;height:100vh;z-index:100;transform:translate(-100%);transition:transform .22s ease;box-shadow:0 12px 32px #0b0d122e}.craft-shell__sidebar--open{transform:translate(0)}.craft-shell__overlay--open{display:block}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}button:not([class]):focus-visible,a[href]:not([class]):focus-visible,[role=button]:not([class]):focus-visible{outline:none;box-shadow:0 0 0 3px #565ae038;border-radius:6px}.clinician-shell{background:linear-gradient(180deg,#f4f2ff,#fcfcfd 40%);min-height:100vh}[data-reveal]{opacity:0;transform:translateY(8px);transition:opacity .25s cubic-bezier(.2,.8,.2,1),transform .25s cubic-bezier(.2,.8,.2,1);will-change:opacity,transform}[data-reveal][data-reveal-in=true]{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){[data-reveal]{opacity:1;transform:none;transition:none}}.tlx-glass{background:#ffffffa6;border:1px solid rgba(255,255,255,.6);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}@media (prefers-reduced-transparency: reduce){.tlx-glass{background:#fff;border:1px solid #e6e8ec;backdrop-filter:none;-webkit-backdrop-filter:none}}@keyframes tlx-hero-frame-fade{0%{opacity:0}3%{opacity:1}30%{opacity:1}33%{opacity:0}to{opacity:0}}.tlx-hero-mockup{position:relative}.tlx-hero-mockup__frame{animation:tlx-hero-frame-fade 12s linear infinite;opacity:0}.tlx-hero-mockup:hover .tlx-hero-mockup__frame{animation-play-state:paused}@media (prefers-reduced-motion: reduce){.tlx-hero-mockup__frame{animation:none}.tlx-hero-mockup__frame--1,.tlx-hero-mockup__frame--2{display:none}.tlx-hero-mockup__frame--3{opacity:1;position:relative}}.tlx-hero-cta{transition:background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1)}.tlx-hero-cta--primary:hover{background:var(--brand-hover, #4549c7)}.tlx-hero-cta--ghost:hover{background:#eef2ff;color:#18173f;border-color:#eef2ff}.tlx-hero-cta:focus-visible{outline:none;box-shadow:0 0 0 3px #565ae038}.tlx-hero-trust{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:0;margin:24px 0 0;padding:0}@media (max-width: 860px){.tlx-topnav-links{display:none!important}}@media (max-width: 520px){.tlx-topnav-signin{display:none!important}}@media (max-width: 640px){.tlx-cost-table thead{display:none}.tlx-cost-table,.tlx-cost-table tbody,.tlx-cost-table tr,.tlx-cost-table td{display:block;width:100%}.tlx-cost-table tr{border:1px solid #e6e8ec;border-radius:8px;margin:0 0 12px;padding:4px 12px}.tlx-cost-table td{position:static!important;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e6e8ec!important;border-left:none!important;padding:8px 0!important;text-align:right}.tlx-cost-table td:last-child{border-bottom:none!important}.tlx-cost-table td:before{content:attr(data-label);font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#5b6472;text-align:left}.tlx-cost-table td:first-child{justify-content:flex-start;font-size:16px;padding-top:10px!important}.tlx-cost-table td:first-child:before{content:none}}@media (max-width: 768px){.tlx-hero-bg section>div{grid-template-columns:1fr!important}.tlx-hero-mockup{transform:none!important;margin-top:24px}.tlx-hero-bg section>div>div:first-child a,.tlx-hero-bg section>div>div:first-child>div{width:100%;box-sizing:border-box;justify-content:center;text-align:center}}@keyframes tlx-spin-360{to{transform:rotate(360deg)}}.tlx-card-lift{transition:border-color .15s cubic-bezier(.2,.8,.2,1),box-shadow .15s cubic-bezier(.2,.8,.2,1),transform .15s cubic-bezier(.2,.8,.2,1);will-change:transform,box-shadow}.tlx-card-lift:hover,.tlx-card-lift:focus-visible{border-color:#565ae0;box-shadow:0 4px 12px #0b0d120f,0 2px 4px #0b0d120a;transform:translateY(-2px)}@media (prefers-reduced-motion: reduce){.tlx-card-lift:hover,.tlx-card-lift:focus-visible{transform:none}}.clinician-grid{display:grid;gap:16px;align-items:flex-start;grid-template-columns:1fr}@media (min-width: 768px){.clinician-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.clinician-grid>:nth-child(3){grid-column:1 / -1}}@media (min-width: 1024px){.clinician-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr)}.clinician-grid>:nth-child(3){grid-column:auto}}.clinician-shell input:focus-visible,.clinician-shell select:focus-visible{outline:none;border-color:#565ae0;box-shadow:0 0 0 3px #565ae038}@media (max-width: 767px){.clinician-sign-send{position:sticky;bottom:0;left:0;right:0;width:100%;align-self:stretch!important;z-index:10;padding-bottom:calc(12px + env(safe-area-inset-bottom))!important;box-shadow:0 -4px 12px #0b0d120f}}.tlx-bento-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(160px,auto);gap:12px}.tlx-bento-large{grid-column:span 2;grid-row:span 2}.tlx-bento-tall{grid-column:span 1;grid-row:span 2}.tlx-bento-wide{grid-column:span 2;grid-row:span 1}.tlx-bento-small{grid-column:span 1;grid-row:span 1}.tlx-bento-item{position:relative;overflow:hidden;border-radius:12px;padding:28px;border:1px solid rgba(86,90,224,.18);background:#ffffff08;transition:border-color .2s,background .2s;cursor:default}.tlx-bento-item:before{content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;transition:opacity .3s;background:radial-gradient(400px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(86,90,224,.14),transparent 70%);pointer-events:none}.tlx-bento-item:hover{border-color:#565ae073;background:#ffffff0e}.tlx-bento-item:hover:before{opacity:1}@media (max-width: 1023px){.tlx-bento-grid{grid-template-columns:repeat(2,1fr)}.tlx-bento-large{grid-column:span 2;grid-row:span 2}.tlx-bento-wide{grid-column:span 2}.tlx-bento-tall{grid-column:span 1;grid-row:span 2}}@media (max-width: 639px){.tlx-bento-grid{grid-template-columns:1fr}.tlx-bento-large,.tlx-bento-tall,.tlx-bento-wide,.tlx-bento-small{grid-column:span 1;grid-row:span 1}}
