:root{--bg:oklch(98.5% .006 85);--bg-2:oklch(96.5% .01 85);--bg-3:oklch(94% .012 85);--card:oklch(99% .004 85);--ink:oklch(17% .018 260);--ink-2:oklch(32% .014 260);--ink-3:oklch(48% .012 260);--muted:oklch(62% .01 260);--line:oklch(90% .01 80);--line-2:oklch(86% .012 80);--accent:#e2231a;--accent-soft:oklch(92% .06 25);--accent-ink:oklch(38% .16 25);--mint:oklch(74% .1 168);--mint-soft:oklch(94% .04 168);--mint-ink:oklch(38% .1 168);--lavender:oklch(72% .09 285);--lavender-soft:oklch(94% .04 285);--lavender-ink:oklch(38% .12 285);--amber:oklch(82% .13 80);--amber-soft:oklch(95% .05 80);--amber-ink:oklch(40% .12 80);--radius:14px;--radius-sm:8px;--radius-lg:22px;--shadow-sm:0 1px 0 #14141e0a, 0 1px 2px #14141e0a;--shadow-md:0 1px 0 #14141e0a, 0 6px 20px -8px #14141e1f;--shadow-lg:0 1px 0 #14141e0a, 0 18px 50px -16px #14141e38;--display:"Instrument Serif", "Cormorant Garamond", Georgia, serif;--sans:"Geist", "Söhne", ui-sans-serif, system-ui, sans-serif;--mono:"Geist Mono", "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;--sidebar-w:260px;--topbar-h:60px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.5}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}.display{font-family:var(--display);letter-spacing:-.01em;font-weight:400}.mono{font-family:var(--mono)}.serif{font-family:var(--display);font-weight:400}.muted{color:var(--ink-3)}.accent{color:var(--accent)}.mint{color:var(--mint-ink)}.row{align-items:center;gap:12px;display:flex}.col{flex-direction:column;gap:12px;display:flex}.between{justify-content:space-between;align-items:center;gap:12px;display:flex}.center{justify-content:center;align-items:center;display:flex}.divider{background:var(--line);height:1px;margin:14px 0}.spacer{flex:1}.app-shell{grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;height:100vh;display:grid;overflow:hidden}.sidebar{background:var(--bg-2);border-right:1px solid var(--line);flex-direction:column;grid-row:1/-1;display:flex;overflow:hidden auto}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:99px}.sidebar-brand{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:10px;padding:20px 16px 16px;display:flex}.sidebar-brand-mark{width:30px;height:30px;color:var(--accent);flex-shrink:0;place-items:center;display:grid}.sidebar-brand-text .brand-name{font-family:var(--display);letter-spacing:-.01em;font-size:20px;line-height:1}.sidebar-brand-text .brand-name em{color:var(--accent);font-style:italic}.sidebar-brand-text .brand-sub{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:2px;font-size:9.5px}.sidebar-nav{flex:1;padding:12px 10px}.nav-section-label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:14px 8px 6px;font-size:9.5px;font-weight:500}.nav-item{color:var(--ink-2);text-align:left;border-radius:10px;align-items:center;gap:10px;width:100%;margin-bottom:1px;padding:9px 10px;font-size:13.5px;font-weight:500;transition:background .12s,color .12s;display:flex;position:relative}.nav-item:hover{background:var(--bg-3);color:var(--ink)}.nav-item.active{background:var(--ink);color:var(--card)}.nav-item-icon{opacity:.7;flex-shrink:0;place-items:center;width:18px;height:18px;display:grid}.nav-item.active .nav-item-icon{opacity:1}.nav-item-text{flex:1}.nav-item-num{font-family:var(--mono);color:var(--muted);letter-spacing:.02em;flex-shrink:0;font-size:9.5px}.nav-item.active .nav-item-num{color:var(--card);opacity:.45}.nav-badge{background:var(--accent);color:#fff;font-size:9.5px;font-weight:600;font-family:var(--mono);border-radius:99px;flex-shrink:0;padding:2px 5px;line-height:1}.nav-item.active .nav-badge{color:#fff;background:#ffffff2e}.nav-item.disabled{opacity:.45;cursor:not-allowed}.nav-item.disabled:hover{color:var(--ink-2);background:0 0}.sidebar-footer{border-top:1px solid var(--line);flex-shrink:0;padding:12px 14px 16px}.sidebar-user{cursor:pointer;border-radius:10px;align-items:center;gap:10px;margin-bottom:10px;padding:8px;transition:background .12s;display:flex}.sidebar-user:hover{background:var(--bg-3)}.sidebar-user-avatar{background:linear-gradient(135deg, var(--bg-3), var(--bg-2));border:1.5px solid var(--line-2);width:32px;height:32px;font-family:var(--display);color:var(--ink-2);border-radius:99px;flex-shrink:0;place-items:center;font-size:14px;display:grid}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.sidebar-user-role{font-family:var(--mono);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-top:1px;font-size:10px}.sidebar-status{font-family:var(--mono);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;font-size:9.5px;display:flex}.sidebar-status .dot{background:var(--mint);width:6px;height:6px;box-shadow:0 0 0 3px color-mix(in oklch, var(--mint) 22%, transparent);border-radius:99px;flex-shrink:0}.topbar{height:var(--topbar-h);border-bottom:1px solid var(--line);background:var(--bg);flex-shrink:0;align-items:center;gap:16px;padding:0 24px;display:flex}.topbar-crumb{font-family:var(--mono);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;font-size:10.5px;display:flex}.topbar-crumb .sep{opacity:.4}.topbar-crumb .current{color:var(--ink);font-weight:600}.role-switch{background:var(--bg-2);border:1px solid var(--line);border-radius:99px;padding:3px;font-size:11.5px;display:flex}.role-switch button{color:var(--ink-3);border-radius:99px;padding:5px 13px;font-weight:500;transition:background .12s,color .12s}.role-switch button.active{background:var(--ink);color:var(--card)}.topbar-btn{background:var(--bg-2);border:1px solid var(--line);width:34px;height:34px;color:var(--ink-3);border-radius:99px;place-items:center;transition:background .12s,color .12s;display:grid;position:relative}.topbar-btn:hover{background:var(--bg-3);color:var(--ink)}.topbar-notif-dot{background:var(--accent);border:1.5px solid var(--bg);border-radius:99px;width:7px;height:7px;position:absolute;top:5px;right:5px}.topbar-avatar{background:linear-gradient(135deg, var(--bg-3), var(--bg-2));border:1.5px solid var(--line-2);width:32px;height:32px;font-family:var(--display);color:var(--ink-2);cursor:pointer;border-radius:99px;place-items:center;font-size:13px;display:grid}.main{background:var(--bg);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.stage{flex:1;padding:28px 32px 60px;overflow:hidden auto}.stage::-webkit-scrollbar{width:8px}.stage::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:99px}.stage-inner{max-width:1200px;margin:0 auto}.module-head{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.module-head h1{font-family:var(--display);letter-spacing:-.015em;font-size:36px;font-weight:400;line-height:1.05}.module-head h1 em{color:var(--accent);font-style:italic}.module-head .sub{color:var(--ink-3);max-width:56ch;margin-top:6px;font-size:13.5px}.module-head-right{flex-shrink:0;align-items:flex-start;gap:8px;display:flex}.tag-row{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.tag{font-family:var(--mono);letter-spacing:.05em;background:var(--bg-2);color:var(--ink-3);border:1px solid var(--line);text-transform:uppercase;border-radius:99px;align-items:center;gap:4px;padding:3px 8px;font-size:10px;line-height:1.4;display:inline-flex}.tag.accent{background:var(--accent-soft);color:var(--accent-ink);border-color:#0000}.tag.mint{background:var(--mint-soft);color:var(--mint-ink);border-color:#0000}.tag.lavender{background:var(--lavender-soft);color:var(--lavender-ink);border-color:#0000}.tag.amber{background:var(--amber-soft);color:var(--amber-ink);border-color:#0000}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.card.flush{padding:0;overflow:hidden}.card-title{font-family:var(--display);letter-spacing:-.005em;margin-bottom:2px;font-size:19px;font-weight:400;line-height:1.15}.card-sub{color:var(--ink-3);margin-bottom:14px;font-size:12.5px}.kv{grid-template-columns:auto 1fr;gap:6px 16px;font-size:13px;display:grid}.kv dt{color:var(--ink-3);white-space:nowrap}.kv dd{color:var(--ink);font-weight:500}.stat-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;display:grid}.stat-tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;transition:box-shadow .12s,border-color .12s}.stat-tile:hover{border-color:var(--line-2);box-shadow:var(--shadow-sm)}.stat-tile .k{color:var(--ink-3);letter-spacing:.02em;font-size:11px;font-weight:500}.stat-tile .v{font-family:var(--display);margin-top:6px;font-size:34px;font-weight:400;line-height:1.1}.stat-tile .d{font-family:var(--mono);color:var(--mint-ink);margin-top:4px;font-size:10.5px}.stat-tile .d.neutral{color:var(--ink-3)}.stat-tile .d.warn{color:var(--amber-ink)}.btn{border:1px solid var(--line);background:var(--card);color:var(--ink);white-space:nowrap;border-radius:10px;align-items:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:500;line-height:1.3;transition:background .12s,transform 60ms,border-color .12s,box-shadow .12s;display:inline-flex}.btn:hover{background:var(--bg-2);border-color:var(--line-2)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--ink);color:var(--card);border-color:var(--ink)}.btn.primary:hover{background:oklch(28% .02 260)}.btn.accent{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.accent:hover{filter:brightness(.94)}.btn.ghost{background:0 0;border-color:#0000;padding:8px 10px}.btn.ghost:hover{background:var(--bg-2)}.btn.sm{border-radius:8px;padding:5px 10px;font-size:12px}.btn.lg{border-radius:12px;padding:12px 20px;font-size:14.5px}.btn:disabled{opacity:.42;cursor:not-allowed}.btn .arrow{transition:transform .14s}.btn:hover:not(:disabled) .arrow{transform:translate(2px)}.field{flex-direction:column;gap:5px;display:flex}.field-label{color:var(--ink-3);letter-spacing:.02em;justify-content:space-between;align-items:baseline;font-size:11.5px;font-weight:500;display:flex}.field-label .hint{color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:400}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--card);border-radius:10px;outline:none;width:100%;padding:10px 13px;font-size:13.5px;transition:border-color .12s,box-shadow .12s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink-2);box-shadow:0 0 0 3px color-mix(in oklch, var(--ink) 6%, transparent)}.field textarea{resize:vertical;min-height:80px;line-height:1.5}.field-help{color:var(--muted);margin-top:1px;font-size:11.5px}.field-help.ok{color:var(--mint-ink)}.field-help.warn{color:var(--accent-ink)}.field.with-pre{position:relative}.field.with-pre .pre{font-family:var(--mono);color:var(--muted);pointer-events:none;align-items:center;padding:1px 0 0 13px;font-size:12.5px;display:flex;position:absolute;top:50%;bottom:0;left:0;transform:translateY(-50%)}.field.with-pre input{padding-left:40px}.search-bar{background:var(--card);border:1px solid var(--line);height:38px;color:var(--ink-3);border-radius:10px;align-items:center;gap:10px;min-width:240px;padding:0 14px;font-size:13.5px;transition:border-color .12s,box-shadow .12s;display:flex}.search-bar:focus-within{border-color:var(--ink-2);box-shadow:0 0 0 3px color-mix(in oklch, var(--ink) 6%, transparent);color:var(--ink)}.search-bar input{color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:13.5px}.search-bar input::placeholder{color:var(--muted)}.chip{border:1px solid var(--line);background:var(--card);cursor:pointer;white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;line-height:1.3;transition:background .1s,border-color .1s;display:inline-flex}.chip:hover{background:var(--bg-2)}.chip.on{background:var(--ink);color:var(--card);border-color:var(--ink)}.chip.accent{background:var(--accent-soft);color:var(--accent-ink);border-color:#0000}.filter-tabs{background:var(--bg-2);border:1px solid var(--line);border-radius:10px;gap:2px;padding:3px;display:flex}.filter-tab{color:var(--ink-3);border-radius:8px;padding:6px 14px;font-size:13px;font-weight:500;transition:background .12s,color .12s}.filter-tab:hover{color:var(--ink);background:var(--bg-3)}.filter-tab.active{background:var(--card);color:var(--ink);box-shadow:var(--shadow-sm)}.pulse-dot{background:var(--mint);border-radius:99px;flex-shrink:0;width:8px;height:8px;display:inline-block;position:relative}.pulse-dot:after{content:"";background:var(--mint);opacity:.3;border-radius:99px;animation:2s ease-out infinite sc-pulse;position:absolute;inset:-3px}@keyframes sc-pulse{0%{opacity:.4;transform:scale(.7)}to{opacity:0;transform:scale(1.9)}}.avatar{background:linear-gradient(135deg, var(--bg-3), var(--bg-2));border:1.5px solid var(--line);font-family:var(--display);color:var(--ink-2);border-radius:99px;flex-shrink:0;place-items:center;display:grid}.hatch{background:repeating-linear-gradient(135deg, var(--bg-3) 0 1px, transparent 1px 9px), var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;place-items:center;font-size:11px;display:grid}.split-2{grid-template-columns:1fr 360px;align-items:start;gap:20px;display:grid}.split-3{grid-template-columns:280px 1fr 340px;align-items:start;gap:20px;display:grid}.auth-shell{grid-template-columns:1.05fr 1fr;min-height:100vh;display:grid}.auth-brand{background:var(--ink);color:var(--bg);flex-direction:column;padding:40px 52px;display:flex;position:relative;overflow:hidden}.auth-brand:before{content:"";pointer-events:none;background:radial-gradient(circle at 75% 16%,oklch(28% .08 25/.6),#0000 50%),radial-gradient(circle at 12% 92%,oklch(28% .06 285/.5),#0000 55%);position:absolute;inset:0}.auth-brand>*{z-index:1;position:relative}.auth-brand-art{z-index:0;pointer-events:none;opacity:.45;position:absolute;inset:0}.auth-brand-top{align-items:center;gap:10px;display:flex}.auth-brand-name{font-family:var(--display);letter-spacing:-.01em;font-size:22px}.auth-brand-name em{color:var(--accent);font-style:italic}.auth-brand-sub{font-family:var(--mono);color:oklch(60% .015 260);letter-spacing:.08em;text-transform:uppercase;margin-top:1px;font-size:10px}.auth-brand-hero{margin-top:auto;margin-bottom:32px}.auth-brand-hero h1{font-family:var(--display);letter-spacing:-.022em;max-width:12ch;margin-bottom:18px;font-size:60px;font-weight:400;line-height:.98}.auth-brand-hero h1 em{color:var(--accent);font-style:italic}.auth-brand-hero p{color:oklch(76% .015 260);max-width:46ch;font-size:14.5px;line-height:1.55}.auth-feature-list{gap:14px;margin-top:22px;display:grid}.auth-feature{grid-template-columns:30px 1fr;align-items:start;gap:12px;display:grid}.auth-feature .glyph{color:oklch(76% .05 25);background:oklch(28% .025 260);border-radius:99px;flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.auth-feature .fl{font-size:13px;font-weight:500}.auth-feature .fd{color:oklch(68% .015 260);margin-top:1px;font-size:11.5px;line-height:1.45}.auth-brand-footer{font-family:var(--mono);color:oklch(58% .015 260);letter-spacing:.06em;text-transform:uppercase;border-top:1px solid oklch(28% .02 260);justify-content:space-between;align-items:center;padding-top:22px;font-size:10px;display:flex}.auth-form-pane{background:var(--bg);flex-direction:column;display:flex;overflow-y:auto}.auth-form-top{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;height:62px;padding:0 40px;display:flex}.auth-form-top .crumb{font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.auth-form-top .crumb b{color:var(--ink);font-weight:600}.auth-form-top .link{color:var(--ink-2);font-size:13px}.auth-form-top .link b{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.auth-form-body{flex-direction:column;flex:1;padding:36px 60px 60px;display:flex}.auth-form-container{width:100%;max-width:500px;margin:0 auto}.auth-form-container.wide{max-width:600px}.auth-eyebrow{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:10.5px}.auth-eyebrow b{color:var(--ink);font-weight:600}.auth-form-title{font-family:var(--display);letter-spacing:-.015em;margin-bottom:6px;font-size:38px;font-weight:400;line-height:1.05}.auth-form-title em{color:var(--accent);font-style:italic}.auth-form-sub{color:var(--ink-3);max-width:80ch;margin-bottom:26px;font-size:13.5px;line-height:1.55}.oauth-row{gap:8px;margin-bottom:20px;display:grid}.oauth{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:10px;align-items:center;gap:10px;width:100%;padding:11px 16px;font-size:13.5px;font-weight:500;transition:background .12s,border-color .12s;display:flex}.oauth:hover{background:var(--bg-2);border-color:var(--line-2)}.oauth .glyph{place-items:center;width:22px;height:22px;display:grid}.divider-or{color:var(--muted);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:12px;margin:14px 0 18px;font-size:10.5px;display:flex}.divider-or:before,.divider-or:after{content:"";background:var(--line);flex:1;height:1px}.role-cards{grid-template-columns:1fr 1fr;gap:14px;margin-top:8px;display:grid}.role-card{border:1px solid var(--line);background:var(--card);cursor:pointer;text-align:left;border-radius:16px;flex-direction:column;gap:8px;padding:22px;transition:border-color .14s,transform .14s,box-shadow .14s;display:flex;position:relative}.role-card:hover{border-color:var(--ink-2);box-shadow:var(--shadow-md);transform:translateY(-2px)}.role-card.selected{border-color:var(--ink);box-shadow:var(--shadow-md)}.role-card .badge{background:var(--bg-2);width:44px;height:44px;color:var(--ink-2);border-radius:14px;place-items:center;display:grid}.role-card.selected .badge{background:var(--accent-soft);color:var(--accent-ink)}.role-card h3{font-family:var(--display);margin:6px 0 2px;font-size:21px;font-weight:400;line-height:1.1}.role-card p{color:var(--ink-3);font-size:12.5px;line-height:1.45}.role-card .meta{font-family:var(--mono);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;border-top:1px dashed var(--line);gap:12px;margin-top:8px;padding-top:10px;font-size:10.5px;display:flex}.stepper{align-items:center;margin-bottom:24px;display:flex}.step{font-family:var(--mono);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:7px;font-size:10.5px;display:flex}.step .num{background:var(--bg-2);border:1px solid var(--line);width:22px;height:22px;color:var(--muted);border-radius:99px;flex-shrink:0;place-items:center;font-size:10px;font-weight:600;display:grid}.step.done .num{background:var(--mint-soft);color:var(--mint-ink);border-color:#0000}.step.active .num{background:var(--ink);border-color:var(--ink);color:var(--card)}.step.active .sl{color:var(--ink)}.step-line{background:var(--line);flex:1;min-width:16px;height:1px;margin:0 6px}.step.done+.step .step-line{background:var(--mint)}.wizard-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:28px;padding-top:22px;display:flex}.section-h{font-family:var(--display);margin:22px 0 2px;font-size:20px;font-weight:400;line-height:1.1}.section-h:first-child{margin-top:0}.section-sub{color:var(--ink-3);margin-bottom:14px;font-size:12.5px;line-height:1.45}.upload-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.upload{border:1.5px dashed var(--line-2);background:var(--bg-2);cursor:pointer;border-radius:12px;padding:16px;transition:border-color .12s,background .12s}.upload:hover{border-color:var(--ink-2);background:var(--bg-3)}.upload.uploaded{background:var(--mint-soft);border-style:solid;border-color:#0000}.upload .row-inline{align-items:center;gap:12px;display:flex}.upload .iconbox{background:var(--card);border:1px solid var(--line);width:34px;height:34px;color:var(--ink-2);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.upload.uploaded .iconbox{background:var(--mint);color:#fff;border:0}.upload .ul{font-size:13px;font-weight:500}.upload .us{color:var(--ink-3);margin-top:2px;font-size:11.5px}.upload.uploaded .us{color:var(--mint-ink)}.check{cursor:pointer;align-items:flex-start;gap:10px;padding:10px 0;font-size:13px;line-height:1.5;display:flex}.check .box{border:1.5px solid var(--line-2);background:var(--card);color:#fff;border-radius:5px;flex-shrink:0;place-items:center;width:18px;height:18px;margin-top:1px;transition:background .12s,border-color .12s;display:grid}.check.checked .box{background:var(--ink);border-color:var(--ink)}.check a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.strength{gap:3px;margin-top:6px;display:flex}.strength span{background:var(--bg-3);border-radius:99px;flex:1;height:3px}.strength span.s1{background:var(--accent)}.strength span.s2{background:oklch(82% .13 80)}.strength span.s3,.strength span.s4{background:var(--mint)}.otp{justify-content:center;gap:10px;margin:18px 0;display:flex}.otp input{border:1px solid var(--line);background:var(--card);text-align:center;width:54px;height:62px;font-family:var(--display);border-radius:12px;outline:0;font-size:28px}.otp input:focus{border-color:var(--ink-2);box-shadow:0 0 0 3px color-mix(in oklch, var(--ink) 6%, transparent)}.pw-field{position:relative}.pw-toggle{color:var(--ink-3);padding:4px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.spec-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.spec-card{border:1px solid var(--line);background:var(--card);cursor:pointer;text-align:left;border-radius:10px;padding:11px 12px;transition:border-color .12s,background .12s}.spec-card:hover{background:var(--bg-2)}.spec-card.on{border-color:var(--ink);background:var(--ink);color:var(--card)}.spec-card .sl{font-size:12.5px;font-weight:500}.spec-card .ss{opacity:.6;font-size:10px;font-family:var(--mono);letter-spacing:.02em;margin-top:1px}.success{text-align:center;padding:40px 24px}.success .ring{background:var(--mint-soft);width:80px;height:80px;color:var(--mint);border-radius:99px;place-items:center;margin:0 auto 20px;display:grid}.info-box{background:var(--bg-2);border-radius:12px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.info-box.lavender{background:var(--lavender-soft)}.info-box.mint{background:var(--mint-soft)}.info-box.amber{background:var(--amber-soft)}.users-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:22px;display:flex}.users-list{flex-direction:column;gap:10px;display:flex}.user-row{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;grid-template-columns:44px 1fr auto auto auto;align-items:center;gap:16px;padding:14px 18px;transition:border-color .12s,box-shadow .12s,background .12s;display:grid}.user-row:hover{border-color:var(--line-2);box-shadow:var(--shadow-sm);background:oklch(99.4% .002 85)}.user-row.selected{border-color:var(--ink);box-shadow:var(--shadow-md)}.user-row .name{font-size:14px;font-weight:600}.user-row .meta{color:var(--ink-3);margin-top:1px;font-size:12px}.user-row .actions{gap:6px;display:flex}.profile-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.rating-bar{flex-direction:column;gap:8px;display:flex}.rating-bar-item .label{margin-bottom:4px;font-size:12.5px}.rating-bar-track{background:var(--bg-2);border-radius:99px;height:4px;overflow:hidden}.rating-bar-fill{background:var(--accent);border-radius:99px;height:100%;transition:width .3s}.day-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:5px;font-size:10.5px;display:grid}.day-cell{background:var(--bg-2);color:var(--ink-3);font-family:var(--mono);cursor:pointer;border:1px solid #0000;border-radius:7px;padding:8px 2px;transition:background .1s}.day-cell.on{background:var(--ink);color:var(--card)}.day-cell.partial{background:var(--accent-soft);color:var(--accent-ink)}.slot-grid{font-family:var(--mono);grid-template-columns:repeat(4,1fr);gap:5px;font-size:10.5px;display:grid}.slot-cell{text-align:center;cursor:pointer;background:var(--bg-2);color:var(--ink-3);border:1px solid var(--line);border-radius:6px;padding:6px 0;transition:background .1s}.slot-cell.on{background:var(--mint-soft);color:var(--mint-ink);border-color:#0000}.slot-cell.off{opacity:.45;cursor:default;text-decoration:line-through}.symptoms-layout{grid-template-columns:1fr 320px;align-items:start;gap:20px;display:grid}.chat-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;min-height:580px;max-height:calc(100vh - 180px);display:flex;overflow:hidden}.chat-header{border-bottom:1px solid var(--line);background:var(--bg);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.chat-header-ai{align-items:center;gap:10px;display:flex}.chat-header-ai .ai-avatar{background:linear-gradient(135deg, var(--lavender-soft), var(--accent-soft));border:1.5px solid var(--line);width:34px;height:34px;color:var(--lavender-ink);border-radius:99px;place-items:center;display:grid}.chat-header-ai .ai-name{font-size:13.5px;font-weight:600}.chat-header-ai .ai-desc{color:var(--ink-3);font-size:11.5px;font-family:var(--mono);letter-spacing:.02em;margin-top:1px}.chat-thread{flex-direction:column;flex:1;gap:12px;padding:20px 22px;display:flex;overflow-y:auto}.chat-thread::-webkit-scrollbar{width:6px}.chat-thread::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}.bubble{border-radius:14px;flex-shrink:0;max-width:80%;padding:11px 14px;font-size:14px;line-height:1.55}.bubble.user{background:var(--ink);color:var(--card);border-bottom-right-radius:4px;align-self:flex-end}.bubble.ai{background:var(--bg-2);color:var(--ink);border:1px solid var(--line);border-bottom-left-radius:4px;align-self:flex-start}.bubble.ai .who{font-family:var(--mono);color:var(--lavender-ink);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:9.5px;display:block}.bubble-thinking{background:var(--lavender-soft);font-size:11px;font-family:var(--mono);color:var(--lavender-ink);border-radius:8px;margin-top:10px;padding:8px 10px;line-height:1.6}.typing{align-items:center;gap:3px;display:inline-flex}.typing span{background:var(--ink-3);border-radius:99px;width:5px;height:5px;animation:1.2s ease-in-out infinite typing-dot}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes typing-dot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.chat-input-bar{border-top:1px solid var(--line);background:var(--bg);flex-shrink:0;gap:10px;padding:12px 16px;display:flex}.chat-input-bar input{color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:14px}.chat-input-bar input::placeholder{color:var(--muted)}.rag-side{flex-direction:column;gap:14px;display:flex;position:sticky;top:0}.rag-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.rag-card-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--lavender-ink);margin-bottom:4px;font-size:9.5px}.rag-card-title{margin-bottom:12px;font-size:15px;font-weight:600}.rag-step{border-bottom:1px dashed var(--line);grid-template-columns:24px 1fr;gap:10px;padding:9px 0;display:grid}.rag-step:last-child{border-bottom:0}.rag-step .rn{background:var(--lavender-soft);width:22px;height:22px;color:var(--lavender-ink);font-family:var(--mono);border-radius:99px;flex-shrink:0;place-items:center;font-size:10px;font-weight:600;display:grid}.rag-step.done .rn{background:var(--mint-soft);color:var(--mint-ink)}.rag-step.active .rn{background:var(--ink);color:var(--card)}.rag-step .rl{font-size:12.5px;font-weight:500}.rag-step .rd{color:var(--muted);font-size:10.5px;font-family:var(--mono);margin-top:1px}.analysis-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-shrink:0;align-self:stretch;padding:20px;position:relative;overflow:visible}.analysis-card:before{content:"";background:linear-gradient(180deg, var(--lavender-soft) 0, transparent 100%);pointer-events:none;height:80px;position:absolute;inset:0 0 auto}.analysis-flags{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.analysis-flag{background:var(--bg-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.analysis-flag .fl{font-size:12.5px;font-weight:500}.analysis-flag .fd{font-family:var(--mono);color:var(--muted);margin-top:2px;font-size:10px}.coming-soon{text-align:center;min-height:400px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.coming-soon h2{font-family:var(--display);color:var(--ink);margin-bottom:4px;font-size:32px;font-weight:400}.coming-soon p{max-width:44ch;color:var(--ink-3);font-size:14px;line-height:1.6}.matching-layout{grid-template-columns:210px 1fr 340px;align-items:start;gap:20px;display:grid}.match-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;padding:18px;transition:border-color .12s,box-shadow .12s,background .12s}.match-card:hover{border-color:var(--line-2);box-shadow:var(--shadow-sm);background:oklch(99.4% .002 85)}.match-card.selected{border-color:var(--ink);box-shadow:var(--shadow-md)}.match-card-top{align-items:flex-start;gap:14px;display:flex}.video-shell{grid-template-columns:1fr 320px;align-items:stretch;gap:20px;height:calc(100vh - 210px);min-height:500px;display:grid}.video-main{border-radius:var(--radius);background:oklch(10% .02 260);flex-direction:column;display:flex;position:relative;overflow:hidden}.video-remote{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.video-pip{border:2px solid #ffffff24;border-radius:10px;width:138px;height:88px;position:absolute;bottom:76px;right:14px;overflow:hidden}.video-controls{background:linear-gradient(#0000 0%,#000000a6 100%);justify-content:center;align-items:center;gap:10px;padding:14px 20px;display:flex;position:absolute;bottom:0;left:0;right:0}.vc-btn{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1px solid #ffffff24;border-radius:99px;flex-shrink:0;place-items:center;width:46px;height:46px;transition:background .12s;display:grid}.vc-btn:hover{background:#ffffff38}.vc-btn.off{color:#fff6;background:#ffffff0f}.vc-btn.end{background:var(--accent);border-color:var(--accent)}.vc-btn.end:hover{filter:brightness(.9)}.video-side{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;min-height:0;padding:16px;display:flex;overflow:hidden}.history-row{cursor:pointer;align-items:flex-start;gap:14px;padding:14px 18px;transition:background .12s;display:flex;position:relative}.history-row:hover{background:var(--bg-2)}.history-row.selected{background:var(--bg-3)}.history-timeline-dot{z-index:1;width:10px;height:10px;box-shadow:0 0 0 3px var(--card);border-radius:99px;flex-shrink:0;margin-top:4px;position:relative}@keyframes sc-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes sc-fade-in{0%{opacity:0}to{opacity:1}}@keyframes sc-slide-right{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@keyframes sc-slide-up-sm{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes sc-scale-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes sc-ring-fill{0%{stroke-dasharray:0 10000}to{stroke-dasharray:var(--ring-fill) var(--ring-circ)}}.page-enter{animation:.38s cubic-bezier(.16,1,.3,1) both sc-fade-up}.anim-fade-up{animation:.34s cubic-bezier(.16,1,.3,1) both sc-fade-up}.anim-fade-in{animation:.22s both sc-fade-in}.anim-slide-r{animation:.34s cubic-bezier(.16,1,.3,1) both sc-slide-right}.anim-scale{animation:.26s cubic-bezier(.16,1,.3,1) both sc-scale-in}.d1{animation-delay:40ms}.d2{animation-delay:90ms}.d3{animation-delay:.15s}.d4{animation-delay:.21s}.d5{animation-delay:.28s}.d6{animation-delay:.35s}.d7{animation-delay:.42s}.d8{animation-delay:.5s}.score-ring-fill{stroke-dasharray:0 10000;animation:.9s cubic-bezier(.16,1,.3,1) .2s forwards sc-ring-fill}.bubble{animation:.22s cubic-bezier(.16,1,.3,1) both sc-slide-up-sm}.bubble.user{animation-name:sc-scale-in;animation-duration:.18s}.btn{transition:background .14s,color .14s,border-color .14s,box-shadow .14s,filter .14s,transform .1s}.btn:active:not(:disabled){transform:translateY(1px)scale(.98)}.btn.accent:active:not(:disabled){filter:brightness(.88)}.btn.ghost:active:not(:disabled){transform:scale(.96)}.card{transition:border-color .18s,box-shadow .2s}.stat-tile{transition:border-color .18s,box-shadow .22s,transform .22s cubic-bezier(.16,1,.3,1)}.stat-tile:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.match-card{transition:border-color .2s,box-shadow .22s,background .18s,transform .22s cubic-bezier(.16,1,.3,1)}.match-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.match-card.selected{box-shadow:var(--shadow-md);transform:translateY(-2px)}.nav-item{transition:background .14s,color .14s}.nav-item:active{transition:transform 80ms;transform:scale(.97)}.filter-tab{transition:background .14s,color .14s,box-shadow .14s}.slot-cell{transition:background .14s,color .14s,border-color .14s}.history-row{transition:background .15s}.role-switch button{transition:background .18s,color .18s}.vc-btn{transition:background .14s,filter .14s,transform .1s}.vc-btn:active{transform:scale(.92)}.user-row{transition:border-color .16s,box-shadow .18s,background .16s}.topbar-btn,.tag{transition:background .14s,color .14s}.chip{transition:background .14s,border-color .14s,color .14s}.spec-card{transition:border-color .14s,background .14s,color .14s}.review-block{transition:background .14s}.role-card{transition:border-color .18s,transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s}.review-block{border-bottom:1px solid var(--line);padding:14px 0}.review-block:last-child{border-bottom:0}.review-h{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.review-h .rl{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10px}.review-h .ra{color:var(--accent);cursor:pointer;font-size:12px;font-weight:500}.review-h .ra:hover{text-underline-offset:3px;text-decoration:underline}@keyframes sc-step-fwd{0%{opacity:0;transform:translate(22px)}to{opacity:1;transform:translate(0)}}@keyframes sc-step-back{0%{opacity:0;transform:translate(-22px)}to{opacity:1;transform:translate(0)}}@keyframes sc-phase-in{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.step-fwd{animation:.24s cubic-bezier(.16,1,.3,1) both sc-step-fwd}.step-back{animation:.24s cubic-bezier(.16,1,.3,1) both sc-step-back}.phase-in{animation:.3s cubic-bezier(.16,1,.3,1) both sc-phase-in}.otp-banner{background:var(--amber-soft);border:1px solid var(--amber);border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:20px;padding:13px 16px;display:flex}.otp-banner-icon{background:var(--amber);color:#fff;border-radius:8px;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:grid}.otp-banner-title{color:var(--amber-ink);margin-bottom:2px;font-size:13px;font-weight:600}.otp-banner-sub{color:var(--amber-ink);opacity:.85;font-size:12px;line-height:1.45}.exists-box{border:1px solid var(--amber);background:var(--amber-soft);border-radius:12px;margin-top:12px;padding:14px 16px}.exists-box-title{color:var(--amber-ink);margin-bottom:4px;font-size:13.5px;font-weight:600}.exists-box-sub{color:var(--amber-ink);margin-bottom:12px;font-size:12.5px;line-height:1.45}.exists-box-btns{gap:8px;display:flex}.pay-methods{gap:8px;margin-bottom:16px;display:flex}.pay-method{border:1.5px solid var(--line);background:var(--card);cursor:pointer;text-align:center;border-radius:10px;flex:1;padding:10px 8px;font-size:12.5px;font-weight:500;transition:border-color .14s,background .14s}.pay-method:hover{background:var(--bg-2)}.pay-method.on{border-color:var(--ink);background:var(--ink);color:var(--card)}.pay-method .pm-icon{margin-bottom:4px;font-size:20px;display:block}
