*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-synthesis-weight:none}#root{height:100%;width:100%}button,input,select,textarea{font-family:inherit;font-size:inherit}button,a{color:inherit}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:var(--lh-tight);letter-spacing:var(--ls-tight)}ul{margin:0;padding:0;list-style:none}img,svg,video{max-width:100%}table{border-collapse:collapse}.mono,.tabular,td.num,th.num{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-xs)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:var(--r-full);border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover);background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent}::selection{background:var(--primary-tint-2);color:var(--text)}:root{--primary: #2563d8;--primary-hover: #1d54bd;--primary-active: #17459d;--primary-tint: #eff5ff;--primary-tint-2: #dce9fe;--primary-line: #bad3fb;--primary-contrast: #ffffff;--mint: #0a7a5a;--mint-strong: #086446;--mint-tint: #e8f7f1;--mint-line: #b3e4d1;--mint-contrast: #ffffff;--violet: #6f52d1;--violet-tint: #f1eefd;--violet-line: #d5cbf6;--amber: #96620f;--amber-tint: #fdf4e5;--amber-line: #f0d8a4;--orange: #ab4d17;--orange-tint: #fdece0;--orange-line: #f4c8a2;--red: #c2342f;--red-tint: #fdeeee;--red-line: #f5c6c4;--red-hover: #a52a26;--red-contrast: #ffffff;--cyan: #0c7690;--cyan-tint: #e4f5f9;--bg: #f5f7fa;--surface: #ffffff;--surface-2: #f8fafc;--surface-3: #eef2f7;--surface-inset: #f1f5f9;--border: #e5eaf1;--border-strong: #cfd8e3;--overlay: rgba(16, 24, 40, .48);--text: #101828;--text-1: #101828;--text-2: #475467;--text-3: #5b6779;--text-inverse: #ffffff;--navy: #0f1b2d;--navy-2: #0a1422;--grad-brand: linear-gradient(135deg, #1d3354 0%, var(--navy) 55%, var(--navy-2) 100%);--grad-primary: linear-gradient(180deg, color-mix(in srgb, var(--primary) 88%, #fff) 0%, var(--primary) 100%);--grad-surface: linear-gradient(180deg, var(--surface) 0%, var(--surface-2) 100%);--grad-sheen: linear-gradient(180deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,0) 60%);--shadow-xs: 0 1px 2px rgba(16,24,40,.05);--shadow-sm: 0 1px 2px rgba(16,24,40,.05), 0 1px 3px rgba(16,24,40,.04);--shadow-md: 0 2px 4px -1px rgba(16,24,40,.05), 0 8px 18px -4px rgba(16,24,40,.09);--shadow-lg: 0 4px 8px -2px rgba(16,24,40,.06), 0 20px 40px -8px rgba(16,24,40,.14);--shadow-xl: 0 8px 16px -4px rgba(16,24,40,.07), 0 32px 64px -12px rgba(16,24,40,.2);--shadow-inset: inset 0 1px 0 rgba(255,255,255,.6);--shadow: var(--shadow-md);--focus: var(--primary);--focus-ring: 0 0 0 3px color-mix(in srgb, var(--primary) 22%, transparent);--focus-ring-danger: 0 0 0 3px color-mix(in srgb, var(--red) 24%, transparent);--scrollbar: #c9d3e0;--scrollbar-hover: #adbaca;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Noto Sans", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--fs-2xs: 11px;--fs-xs: 12px;--fs-sm: 13px;--fs-base: 14px;--fs-md: 16px;--fs-lg: 18px;--fs-xl: 22px;--fs-2xl: 28px;--fs-3xl: 42px;--lh-tight: 1.22;--lh-snug: 1.38;--lh-normal: 1.5;--lh-relaxed: 1.65;--ls-tight: -.018em;--ls-tighter: -.028em;--ls-wide: .04em;--ls-caps: .07em;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-black: 800;--r-xs: 6px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--r-full: 999px;--radius: 14px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 28px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--h-sm: 34px;--h-md: 40px;--h-lg: 48px;--h-field: 42px;--dur-1: .12s;--dur-2: .18s;--dur-3: .26s;--dur-4: .4s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--z-sticky: 100;--z-sidebar: 200;--z-dropdown: 300;--z-overlay: 1000;--z-toast: 1100;--z-tooltip: 1200}[data-theme=warm]{--primary: #96552c;--primary-hover: #7f4724;--primary-active: #68391d;--primary-tint: #fdf4ec;--primary-tint-2: #f7e2ce;--primary-line: #eccca6;--mint: #0d6d55;--mint-strong: #0a5843;--mint-tint: #e8f4ef;--mint-line: #bfe0d3;--amber: #8a5b0d;--amber-tint: #fbf3e3;--amber-line: #ebd5a2;--orange: #a24b16;--orange-tint: #fbeade;--orange-line: #eec5a0;--red: #b53931;--red-tint: #fbebe9;--red-line: #eec6c2;--red-hover: #9a2f28;--violet: #6a51bb;--violet-tint: #efeafa;--violet-line: #d2c8f0;--bg: #faf6f0;--surface: #fffdfb;--surface-2: #f9f3ec;--surface-3: #f2e8db;--surface-inset: #f6eee3;--border: #ecdfd0;--border-strong: #dcc7ae;--overlay: rgba(44, 32, 20, .46);--text: #2c2014;--text-1: #2c2014;--text-2: #6d5c48;--text-3: #6f5c4c;--navy: #3a2a1c;--navy-2: #271c12;--grad-brand: linear-gradient(135deg, #5a4229 0%, var(--navy) 55%, var(--navy-2) 100%);--scrollbar: #d9c8b2;--scrollbar-hover: #c2ab90;--shadow-xs: 0 1px 2px rgba(74,52,30,.06);--shadow-sm: 0 1px 2px rgba(74,52,30,.06), 0 1px 3px rgba(74,52,30,.05);--shadow-md: 0 2px 4px -1px rgba(74,52,30,.06), 0 8px 18px -4px rgba(74,52,30,.1);--shadow-lg: 0 4px 8px -2px rgba(74,52,30,.07), 0 20px 40px -8px rgba(74,52,30,.16);--shadow-xl: 0 8px 16px -4px rgba(74,52,30,.08), 0 32px 64px -12px rgba(74,52,30,.22)}[data-theme=dark]{--primary: #5b95ff;--primary-hover: #7aabff;--primary-active: #4a83ea;--primary-tint: rgba(91,149,255,.14);--primary-tint-2: rgba(91,149,255,.24);--primary-line: rgba(91,149,255,.38);--primary-contrast: #08122a;--mint: #34d3a6;--mint-strong: #5fe0bd;--mint-tint: rgba(52,211,166,.14);--mint-line: rgba(52,211,166,.3);--mint-contrast: #05231a;--violet: #a891f2;--violet-tint: rgba(168,145,242,.16);--violet-line: rgba(168,145,242,.32);--amber: #f0b155;--amber-tint: rgba(240,177,85,.15);--amber-line: rgba(240,177,85,.32);--orange: #f18f58;--orange-tint: rgba(241,143,88,.16);--orange-line: rgba(241,143,88,.32);--red: #f4726a;--red-tint: rgba(244,114,106,.16);--red-line: rgba(244,114,106,.34);--red-hover: #f8938c;--red-contrast: #2b0908;--cyan: #4fc9e6;--cyan-tint: rgba(79,201,230,.16);--bg: #0a1120;--surface: #121a2b;--surface-2: #172136;--surface-3: #1e2a42;--surface-inset: #0e1626;--border: #23304a;--border-strong: #33435f;--overlay: rgba(3, 7, 16, .66);--text: #eff3f9;--text-1: #eff3f9;--text-2: #aebbcd;--text-3: #91a0b5;--navy: #060c16;--navy-2: #03060c;--grad-brand: linear-gradient(135deg, #16233c 0%, #0a1220 55%, var(--navy-2) 100%);--grad-surface: linear-gradient(180deg, var(--surface-2) 0%, var(--surface) 100%);--grad-sheen: linear-gradient(180deg, rgba(255,255,255,.07) 0%, rgba(255,255,255,0) 60%);--scrollbar: #2c3a55;--scrollbar-hover: #3d4f6f;--shadow-xs: 0 1px 2px rgba(0,0,0,.32);--shadow-sm: 0 1px 2px rgba(0,0,0,.34), 0 1px 3px rgba(0,0,0,.28);--shadow-md: 0 2px 4px -1px rgba(0,0,0,.36), 0 8px 18px -4px rgba(0,0,0,.44);--shadow-lg: 0 4px 8px -2px rgba(0,0,0,.42), 0 20px 40px -8px rgba(0,0,0,.56);--shadow-xl: 0 8px 16px -4px rgba(0,0,0,.46), 0 32px 64px -12px rgba(0,0,0,.64);--shadow-inset: inset 0 1px 0 rgba(255,255,255,.05)}.mono{font-family:var(--font-mono);font-size:.94em;letter-spacing:-.01em}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.t-h1{font-size:var(--fs-2xl);font-weight:var(--fw-black);line-height:var(--lh-tight);letter-spacing:var(--ls-tight)}.t-h2{font-size:var(--fs-xl);font-weight:var(--fw-black);line-height:var(--lh-tight);letter-spacing:var(--ls-tight)}.t-h3{font-size:var(--fs-lg);font-weight:var(--fw-bold);line-height:var(--lh-snug);letter-spacing:var(--ls-tight)}.t-h4{font-size:var(--fs-md);font-weight:var(--fw-bold);line-height:var(--lh-snug)}.t-sm{font-size:var(--fs-sm);line-height:var(--lh-normal)}.t-xs{font-size:var(--fs-xs);line-height:var(--lh-normal)}.t-eyebrow,.sec-title{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-3)}.t-num{font-variant-numeric:tabular-nums;letter-spacing:var(--ls-tight)}kbd,.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:var(--r-xs);background:var(--surface-2);font-family:var(--font-mono);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--text-3)}.row{display:flex;align-items:center}.col{display:flex;flex-direction:column}.row.center{justify-content:center}.col.center{align-items:center;justify-content:center}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.grow{flex:1}.gap-2{gap:2px}.gap-3{gap:3px}.gap-4{gap:var(--sp-1)}.gap-5{gap:5px}.gap-6{gap:6px}.gap-8{gap:var(--sp-2)}.gap-9{gap:9px}.gap-10{gap:10px}.gap-12{gap:var(--sp-3)}.gap-14{gap:14px}.gap-16{gap:var(--sp-4)}.gap-18{gap:18px}.gap-20{gap:var(--sp-5)}.stack{display:flex;flex-direction:column;gap:var(--sp-3)}.divider{height:1px;background:var(--border);border:none;width:100%}.lock-note{display:inline-flex;align-items:center;gap:6px;color:var(--text-3);font-size:var(--fs-xs)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-4)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4)}.grid-2-uneven{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--sp-4);align-items:start}.grid-aside{display:grid;grid-template-columns:1fr 1.6fr;gap:var(--sp-4);align-items:start}.form-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.97) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes shimmer{to{transform:translate(100%)}}@keyframes pulseRing{0%{box-shadow:0 0 color-mix(in srgb,var(--mint) 45%,transparent)}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}.fade-up{animation:fadeUp var(--dur-3) var(--ease-out)}.fade-in{animation:fadeIn var(--dur-2) var(--ease-out)}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid color-mix(in srgb,var(--primary) 22%,transparent);border-top-color:var(--primary);animation:spin .7s linear infinite;flex-shrink:0}.spinner-sm{width:13px;height:13px;border-width:1.5px}.spinner-lg{width:22px;height:22px;border-width:2.5px}.skeleton{position:relative;overflow:hidden;border-radius:var(--r-sm);background:var(--surface-3)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--surface) 65%,transparent),transparent);animation:shimmer 1.5s infinite}.tip{position:relative}.tip:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%) translateY(3px);background:var(--navy);color:#fff;font-size:var(--fs-xs);font-weight:var(--fw-semibold);line-height:1.35;white-space:nowrap;padding:6px 10px;border-radius:var(--r-sm);box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;z-index:var(--z-tooltip);transition:opacity var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out)}.tip:before{content:"";position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%) translateY(3px);border:5px solid transparent;border-top-color:var(--navy);opacity:0;pointer-events:none;z-index:var(--z-tooltip);transition:opacity var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out)}.tip:hover:after,.tip:focus-visible:after,.tip:hover:before,.tip:focus-visible:before{opacity:1;transform:translate(-50%) translateY(0)}@media(hover:none){.tip:after,.tip:before{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:var(--h-md);padding:0 16px;border-radius:var(--r-sm);border:1px solid transparent;font-weight:var(--fw-semibold);font-size:var(--fs-base);line-height:1;letter-spacing:-.005em;white-space:nowrap;cursor:pointer;position:relative;isolation:isolate;transition:background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out),box-shadow var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn:not(:disabled):active{transform:translateY(1px)}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn .ic,.btn svg{flex-shrink:0}.btn-primary{background:var(--primary);color:var(--primary-contrast);box-shadow:var(--shadow-xs),inset 0 1px #ffffff24}.btn-primary:not(:disabled):hover{background:var(--primary-hover);box-shadow:var(--shadow-sm),inset 0 1px #ffffff24}.btn-primary:not(:disabled):active{background:var(--primary-active)}.btn-mint{background:var(--mint);color:var(--mint-contrast);box-shadow:var(--shadow-xs),inset 0 1px #ffffff29}.btn-mint:not(:disabled):hover{background:var(--mint-strong);box-shadow:var(--shadow-sm),inset 0 1px #ffffff29}.btn-danger{background:var(--red);color:var(--red-contrast);box-shadow:var(--shadow-xs),inset 0 1px #ffffff24}.btn-danger:not(:disabled):hover{background:var(--red-hover);box-shadow:var(--shadow-sm)}.btn-danger:focus-visible{box-shadow:var(--focus-ring-danger)}.btn-danger:disabled{opacity:.55;cursor:not-allowed}.btn-outline{background:var(--surface);color:var(--text-2);border-color:var(--border-strong);box-shadow:var(--shadow-xs)}.btn-outline:not(:disabled):hover{background:var(--surface-2);color:var(--text);border-color:var(--text-3)}.btn-danger-outline{background:var(--surface);color:var(--red);border-color:var(--red-line);box-shadow:var(--shadow-xs)}.btn-danger-outline:not(:disabled):hover{background:var(--red-tint);border-color:var(--red)}.btn-danger-outline:focus-visible{box-shadow:var(--focus-ring-danger)}.btn-ghost{background:transparent;color:var(--text-2);border-color:var(--border)}.btn-ghost:not(:disabled):hover{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}.btn-link{background:none;border:none;padding:0;height:auto;color:var(--primary);font-weight:var(--fw-semibold);cursor:pointer}.btn-link:hover{text-decoration:underline}.btn-block{width:100%}.btn-sm{height:var(--h-sm);padding:0 12px;font-size:var(--fs-sm);border-radius:var(--r-xs);gap:6px}.btn-lg{height:var(--h-lg);padding:0 22px;font-size:var(--fs-md);border-radius:var(--r-md)}.btn-icon{width:var(--h-md);padding:0;flex-shrink:0}.btn-sm.btn-icon{width:var(--h-sm)}.btn-lg.btn-icon{width:var(--h-lg)}.btn.is-loading{color:transparent!important;pointer-events:none}.btn.is-loading:after{content:"";position:absolute;width:15px;height:15px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:currentColor;animation:spin .7s linear infinite}.btn-outline.is-loading:after,.btn-ghost.is-loading:after,.btn-danger-outline.is-loading:after{border-color:color-mix(in srgb,var(--text-3) 30%,transparent);border-top-color:var(--text-2)}.link{color:var(--primary);font-weight:var(--fw-semibold);cursor:pointer;background:none;border:none;padding:0;font-size:inherit;border-radius:var(--r-xs);transition:color var(--dur-1) var(--ease-out)}.link:hover{text-decoration:underline;color:var(--primary-hover)}.icon-btn{width:var(--h-md);height:var(--h-md);border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:center;color:var(--text-2);cursor:pointer;position:relative;flex-shrink:0;transition:background-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out)}.icon-btn:hover{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}.icon-btn:active{transform:translateY(1px)}.icon-btn .dot{position:absolute;top:7px;right:7px;width:8px;height:8px;border-radius:50%;background:var(--red);border:2px solid var(--surface)}.field{display:flex;flex-direction:column;gap:6px}.field label,.field-label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-2);line-height:var(--lh-snug);display:block}.field-label{margin-bottom:6px}.field-hint{font-size:var(--fs-xs);color:var(--text-3);line-height:var(--lh-snug)}.field-error{display:flex;align-items:flex-start;gap:5px;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--red);line-height:var(--lh-snug)}.req-mark{color:var(--red);margin-left:2px}.input-wrap{position:relative;display:flex;align-items:center}.input,.select,.textarea{width:100%;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:var(--fs-base);line-height:var(--lh-normal);outline:none;transition:border-color var(--dur-1) var(--ease-out),box-shadow var(--dur-1) var(--ease-out),background-color var(--dur-1) var(--ease-out)}.input{height:var(--h-field);padding:0 13px}.input::placeholder,.textarea::placeholder{color:var(--text-3);opacity:.82}.input:hover:not(:disabled),.select:hover:not(:disabled),.textarea:hover:not(:disabled){border-color:var(--text-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--surface-2);color:var(--text-3);cursor:not-allowed;border-color:var(--border)}.input[readonly]{background:var(--surface-2)}.input-icon{padding-left:40px}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--red)}.input[aria-invalid=true]:focus,.select[aria-invalid=true]:focus,.textarea[aria-invalid=true]:focus{box-shadow:var(--focus-ring-danger)}.input-wrap .ic-left{position:absolute;left:13px;color:var(--text-3);display:flex;pointer-events:none;transition:color var(--dur-1) var(--ease-out)}.input-wrap:focus-within .ic-left{color:var(--primary)}.input-wrap .ic-right{position:absolute;right:8px;color:var(--text-3);display:flex;cursor:pointer;background:none;border:none;padding:6px;border-radius:var(--r-xs);transition:color var(--dur-1) var(--ease-out),background-color var(--dur-1) var(--ease-out)}.input-wrap .ic-right:hover{color:var(--text);background:var(--surface-2)}.select{height:var(--h-field);padding:0 34px 0 12px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235b6779' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center}[data-theme=dark] .select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2391a0b5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.textarea{padding:11px 13px;resize:vertical;font-family:inherit;line-height:var(--lh-relaxed);min-height:88px}input[type=checkbox],input[type=radio]{accent-color:var(--primary);width:16px;height:16px;cursor:pointer;flex-shrink:0;margin:0}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed;opacity:.55}.checkbox-row{display:flex;align-items:center;gap:10px;color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--fs-sm);line-height:var(--lh-snug)}.checkbox-row:hover{color:var(--text)}.checkbox-row input{accent-color:var(--primary);width:16px;height:16px}.field>label.checkbox-row{display:flex;align-items:flex-start;gap:10px;font-weight:var(--fw-normal);font-size:var(--fs-sm);line-height:var(--lh-snug)}.field>label.checkbox-row input{margin-top:1px}.switch{width:42px;height:24px;border-radius:var(--r-full);border:none;background:var(--border-strong);position:relative;cursor:pointer;padding:0;flex-shrink:0;transition:background-color var(--dur-2) var(--ease-out)}.switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--dur-2) var(--ease-spring)}.switch:hover:not(:disabled){background:var(--text-3)}.switch.on{background:var(--primary)}.switch.on:hover:not(:disabled){background:var(--primary-hover)}.switch.on:after{transform:translate(18px)}.switch:disabled{opacity:.5;cursor:not-allowed}.switch:focus-visible{outline:none;box-shadow:var(--focus-ring)}.segmented{display:inline-flex;padding:3px;gap:2px;flex-shrink:0;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm)}.segmented-opt{height:30px;padding:0 14px;border-radius:var(--r-xs);border:none;background:transparent;color:var(--text-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;transition:background-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out),box-shadow var(--dur-1) var(--ease-out)}.segmented-opt:hover{color:var(--text)}.segmented-opt.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-xs)}.segmented-opt:focus-visible{outline:none;box-shadow:var(--focus-ring)}.chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:var(--r-full);border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.chip:hover{border-color:var(--border-strong);color:var(--text);background:var(--surface-2)}.chip.active{background:var(--primary-tint);border-color:var(--primary-line);color:var(--primary)}.chip:focus-visible{outline:none;box-shadow:var(--focus-ring)}.chip-count{min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-full);background:color-mix(in srgb,currentColor 14%,transparent);display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-2xs);font-weight:var(--fw-bold)}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar>.grow{min-width:200px}.badge{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:var(--fw-semibold);line-height:1;white-space:nowrap;border:1px solid transparent}.badge svg{flex-shrink:0}.b-blue{background:var(--primary-tint);color:var(--primary);border-color:color-mix(in srgb,var(--primary) 16%,transparent)}.b-mint,.b-green{background:var(--mint-tint);color:var(--mint-strong);border-color:color-mix(in srgb,var(--mint) 20%,transparent)}.b-amber{background:var(--amber-tint);color:var(--amber);border-color:color-mix(in srgb,var(--amber) 20%,transparent)}.b-orange{background:var(--orange-tint);color:var(--orange);border-color:color-mix(in srgb,var(--orange) 20%,transparent)}.b-violet{background:var(--violet-tint);color:var(--violet);border-color:color-mix(in srgb,var(--violet) 20%,transparent)}.b-red{background:var(--red-tint);color:var(--red);border-color:color-mix(in srgb,var(--red) 20%,transparent)}.b-gray{background:var(--surface-3);color:var(--text-2);border-color:color-mix(in srgb,var(--text-3) 14%,transparent)}.badge-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.badge-solid{color:#fff;border-color:transparent}.badge-sm{height:20px;padding:0 7px;font-size:var(--fs-2xs)}.badge-lg{height:28px;padding:0 11px;font-size:var(--fs-sm)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--text-3)}.status-dot.on{background:var(--mint);animation:pulseRing 2.4s var(--ease-out) infinite}.status-dot.off{background:var(--text-3)}.status-dot.warn{background:var(--amber)}.status-dot.err{background:var(--red)}.handoff-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--red);flex-shrink:0}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-full);background:var(--primary);color:var(--primary-contrast);font-weight:var(--fw-bold);font-size:var(--fs-base);letter-spacing:-.01em;width:38px;height:38px;flex-shrink:0;box-shadow:inset 0 0 0 1px #ffffff24,var(--shadow-xs);-webkit-user-select:none;user-select:none}.avatar-sm{width:30px;height:30px;font-size:var(--fs-xs)}.avatar-lg{width:54px;height:54px;font-size:var(--fs-lg)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-xs)}.card-pad{padding:var(--sp-5)}.card-lift{transition:box-shadow var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out)}.card-lift:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--border-strong)}.card-flush{border-radius:var(--radius);overflow:hidden}.card-quiet{background:var(--surface-2);box-shadow:none}.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:16px var(--sp-5);border-bottom:1px solid var(--border)}.card-body{padding:var(--sp-5)}.card-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px var(--sp-5);border-top:1px solid var(--border);background:var(--surface-2)}.accent-bar{height:3px;border-radius:var(--radius) var(--radius) 0 0;margin:-1px -1px 0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.section-title{font-size:var(--fs-md);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight)}.section-sub{font-size:var(--fs-xs);color:var(--text-3);margin-top:2px}.section-link{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--primary);cursor:pointer;background:none;border:none;display:inline-flex;align-items:center;gap:4px;padding:4px 6px;margin:-4px -6px;border-radius:var(--r-xs);transition:background-color var(--dur-1) var(--ease-out),gap var(--dur-1) var(--ease-out)}.section-link:hover{background:var(--primary-tint);gap:7px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);padding:var(--sp-5);animation:fadeIn var(--dur-2) var(--ease-out);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.modal{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-xl);border:1px solid var(--border);width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;position:relative;animation:scaleIn var(--dur-3) var(--ease-out)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-5) var(--sp-6) var(--sp-4);flex-shrink:0}.modal-header h3{font-size:var(--fs-md);font-weight:var(--fw-black);letter-spacing:var(--ls-tight)}.modal-header p{font-size:var(--fs-sm);color:var(--text-2);margin-top:3px;line-height:var(--lh-snug)}.modal-icon{width:40px;height:40px;border-radius:var(--r-md);background:var(--primary-tint);color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-close{border:none;background:none;color:var(--text-3);cursor:pointer;padding:7px;border-radius:var(--r-xs);display:flex;flex-shrink:0;transition:background-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.modal-close:hover{background:var(--surface-2);color:var(--text)}.modal-body{padding:0 var(--sp-6) var(--sp-6);overflow-y:auto}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--border);background:var(--surface-2);flex-shrink:0}.modal-discard{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;padding:var(--sp-5);border-radius:var(--r-lg);animation:fadeIn var(--dur-1) var(--ease-out)}.modal-discard-box{background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow-xl);padding:var(--sp-5) var(--sp-6);max-width:340px;width:100%;animation:scaleIn var(--dur-2) var(--ease-out)}.menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:5px;min-width:200px;z-index:var(--z-dropdown);animation:scaleIn var(--dur-2) var(--ease-out);transform-origin:top}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:var(--r-xs);border:none;background:none;color:var(--text-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);text-align:left;cursor:pointer;white-space:nowrap;transition:background-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.menu-item:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.menu-item:disabled{opacity:.45;cursor:not-allowed}.menu-item.active{background:var(--primary-tint);color:var(--primary);font-weight:var(--fw-semibold)}.menu-item.danger{color:var(--red)}.menu-item.danger:hover:not(:disabled){background:var(--red-tint);color:var(--red)}.menu-item .ic{display:flex;flex-shrink:0;opacity:.85}.menu-label{padding:8px 10px 4px;font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-3)}.menu-sep{height:1px;background:var(--border);margin:5px 0}.inline-alert{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border-radius:var(--r-md);font-size:var(--fs-sm);margin-bottom:var(--sp-4);border:1px solid transparent;line-height:var(--lh-snug)}.inline-alert-icon{flex-shrink:0;margin-top:1px}.inline-alert-text{flex:1;min-width:0;line-height:var(--lh-normal)}.inline-alert-error{background:var(--red-tint);border-color:var(--red-line);color:var(--red)}.inline-alert-warning{background:var(--amber-tint);border-color:var(--amber-line);color:var(--amber)}.inline-alert-info{background:var(--primary-tint);border-color:var(--primary-line);color:var(--primary)}.inline-alert-success{background:var(--mint-tint);border-color:var(--mint-line);color:var(--mint-strong)}.inline-alert-close{border:none;background:none;color:inherit;cursor:pointer;padding:4px;border-radius:var(--r-xs);display:flex;flex-shrink:0;opacity:.7;transition:opacity var(--dur-1) var(--ease-out),background-color var(--dur-1) var(--ease-out)}.inline-alert-close:hover{opacity:1;background:color-mix(in srgb,currentColor 12%,transparent)}.banner,.alert{display:block;padding:10px 13px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-2);line-height:var(--lh-snug)}.banner.row,.alert.row{display:flex}.banner-error,.alert-error{background:var(--red-tint);border-color:var(--red-line);color:var(--red);font-weight:var(--fw-semibold)}.banner-warning,.alert-warning{background:var(--amber-tint);border-color:var(--amber-line);color:var(--amber);font-weight:var(--fw-semibold)}.banner-info,.alert-info{background:var(--primary-tint);border-color:var(--primary-line);color:var(--primary);font-weight:var(--fw-semibold)}.banner-success,.alert-success{background:var(--mint-tint);border-color:var(--mint-line);color:var(--mint-strong);font-weight:var(--fw-semibold)}.strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px var(--sp-6);font-size:var(--fs-sm);border-bottom:1px solid var(--border);background:var(--surface-2)}.strip-amber{background:var(--amber-tint);border-bottom-color:var(--amber-line)}.strip-orange{background:var(--orange-tint);border-bottom-color:var(--orange-line)}.strip-red{background:var(--red-tint);border-bottom-color:var(--red-line)}.strip-title{font-weight:var(--fw-bold)}.privacy-banner{display:flex;align-items:center;gap:10px;padding:11px 15px;border-radius:var(--r-md);background:var(--mint-tint);border:1px solid var(--mint-line);color:var(--mint-strong);font-weight:var(--fw-semibold);font-size:var(--fs-sm)}.privacy-banner svg{flex-shrink:0}.toast-container{position:fixed;bottom:var(--sp-6);left:50%;transform:translate(-50%);z-index:var(--z-toast);display:flex;flex-direction:column;gap:10px;align-items:center;pointer-events:none;padding:0 var(--sp-4);max-width:100vw}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-xl);padding:11px 12px 11px 15px;font-size:var(--fs-sm);font-weight:var(--fw-semibold);max-width:480px;min-width:260px;position:relative;overflow:hidden;animation:fadeUp var(--dur-3) var(--ease-out);line-height:var(--lh-snug)}.toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.toast-success:before{background:var(--mint)}.toast-success .toast-icon{color:var(--mint-strong)}.toast-error:before{background:var(--red)}.toast-error .toast-icon{color:var(--red)}.toast-info:before{background:var(--primary)}.toast-info .toast-icon{color:var(--primary)}.toast-icon{display:flex;flex-shrink:0}.toast-message{flex:1;min-width:0}.toast-undo{border:none;background:none;color:var(--primary);font-weight:var(--fw-bold);font-size:var(--fs-sm);cursor:pointer;padding:5px 7px;border-radius:var(--r-xs);flex-shrink:0;transition:background-color var(--dur-1) var(--ease-out)}.toast-undo:hover{background:var(--primary-tint)}.toast-close{border:none;background:none;color:var(--text-3);cursor:pointer;padding:5px;border-radius:var(--r-xs);display:flex;flex-shrink:0;transition:background-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.toast-close:hover{background:var(--surface-2);color:var(--text)}.shell{display:flex;height:100%;width:100%;background:var(--bg)}.sidebar{width:256px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;transition:width var(--dur-3) var(--ease-out)}.sidebar.collapsed{width:76px}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:0 var(--sp-5);height:64px;flex-shrink:0;border-bottom:1px solid var(--border)}.sidebar.collapsed .sidebar-brand{padding:0 var(--sp-4);justify-content:center}.sidebar-brand .logo-mark{width:34px;height:34px;border-radius:10px;background:var(--primary);color:var(--primary-contrast);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-sm),inset 0 1px #fff3}.sidebar-brand .logo-text{font-size:var(--fs-lg);font-weight:var(--fw-black);letter-spacing:var(--ls-tight);white-space:nowrap}.sidebar-brand .logo-text span{color:var(--primary)}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:10px;display:flex;flex-direction:column;gap:2px}.nav-group+.nav-group{margin-top:2px}.nav-section{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-3);padding:var(--sp-4) 10px 6px;white-space:nowrap}.sidebar.collapsed .nav-sep{height:1px;background:var(--border);margin:10px 12px}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:var(--r-sm);color:var(--text-2);font-weight:var(--fw-semibold);font-size:var(--fs-base);cursor:pointer;border:none;background:none;width:100%;text-align:left;white-space:nowrap;position:relative;transition:background-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item .ic{flex-shrink:0;display:flex;color:var(--text-3);transition:color var(--dur-1) var(--ease-out)}.nav-item:hover .ic{color:var(--text-2)}.nav-item.active{background:var(--primary-tint);color:var(--primary)}.nav-item.active .ic{color:var(--primary)}.sidebar .nav-item.active:before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:3px;height:20px;border-radius:0 var(--r-full) var(--r-full) 0;background:var(--primary)}.nav-item:focus-visible{outline:none;box-shadow:var(--focus-ring)}.sidebar.collapsed .nav-item{justify-content:center;padding:10px 0}.nav-item-badge{margin-left:auto;height:18px;padding:0 6px;border-radius:var(--r-full);background:var(--violet-tint);color:var(--violet);font-size:var(--fs-2xs);font-weight:var(--fw-bold);display:inline-flex;align-items:center}.sidebar-footer{padding:10px;border-top:1px solid var(--border);flex-shrink:0}.collapse-btn{display:flex;align-items:center;gap:11px;width:100%;padding:9px 10px;border-radius:var(--r-sm);border:none;background:none;color:var(--text-3);cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-semibold);white-space:nowrap;text-decoration:none;transition:background-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.collapse-btn:hover{background:var(--surface-2);color:var(--text-2)}.collapse-btn .ic{transition:transform var(--dur-3) var(--ease-out);flex-shrink:0;display:flex}.sidebar.collapsed .collapse-btn{justify-content:center}.sidebar.collapsed .collapse-btn .ic{transform:rotate(180deg)}.topbar{height:64px;flex-shrink:0;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-6);position:relative;z-index:var(--z-sticky)}.topbar-search{flex:1;max-width:420px}.topbar-search .input-wrap{width:100%}.topbar-search .input{background:var(--surface-2);border-color:var(--border);height:38px;font-size:var(--fs-sm);cursor:pointer}.topbar-search .input:hover{background:var(--surface-3);border-color:var(--border-strong)}.topbar-kbd{position:absolute;right:9px;top:50%;transform:translateY(-50%);pointer-events:none}.topbar-actions{display:flex;align-items:center;gap:var(--sp-2);margin-left:auto}.tenant-chip{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 11px;border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--border);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-2);max-width:220px}.tenant-chip .tenant-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-user{display:flex;align-items:center;gap:var(--sp-2);padding:5px 8px 5px 5px;margin-left:2px;border-radius:var(--r-full);border:1px solid transparent;cursor:pointer;flex-shrink:0;position:relative;transition:background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out)}.topbar-user:hover{background:var(--surface-2);border-color:var(--border)}.topbar-user .who{display:flex;flex-direction:column;line-height:1.25;text-align:left}.topbar-user .name{font-size:var(--fs-sm);font-weight:var(--fw-bold)}.topbar-user .role{font-size:var(--fs-xs);color:var(--text-3)}.content{flex:1;overflow-y:auto;min-width:0;scroll-behavior:smooth}.content-inner{padding:var(--sp-7) var(--sp-8);max-width:1360px;margin:0 auto;display:flex;flex-direction:column;gap:var(--sp-5)}.page-title{font-size:24px;font-weight:var(--fw-black);letter-spacing:var(--ls-tight);line-height:var(--lh-tight)}.page-sub{color:var(--text-2);font-size:var(--fs-base);margin-top:5px;line-height:var(--lh-snug)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}.page-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tabbar{display:flex;gap:2px;margin-bottom:var(--sp-5);border-bottom:1px solid var(--border);flex-wrap:wrap;position:relative}.tab{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;font-size:var(--fs-base);font-weight:var(--fw-semibold);border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text-2);margin-bottom:-1px;cursor:pointer;border-radius:var(--r-xs) var(--r-xs) 0 0;transition:color var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out),background-color var(--dur-1) var(--ease-out)}.tab svg{flex-shrink:0;opacity:.8;transition:opacity var(--dur-1) var(--ease-out)}.tab:hover:not(:disabled){color:var(--text);background:var(--surface-2)}.tab:hover:not(:disabled) svg{opacity:1}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.tab.active svg{opacity:1}.tab:disabled{opacity:.45;cursor:default}.tab:focus-visible{outline:none;box-shadow:var(--focus-ring)}.stepper{display:flex;align-items:center;gap:0;width:100%}.step{display:flex;align-items:center;gap:9px;flex-shrink:0}.step-dot{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:var(--fw-bold);background:var(--surface-3);color:var(--text-3);border:1px solid var(--border);flex-shrink:0;transition:background-color var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out)}.step-label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-3);white-space:nowrap}.step.active .step-dot{background:var(--primary);color:var(--primary-contrast);border-color:var(--primary);box-shadow:var(--focus-ring)}.step.active .step-label{color:var(--text)}.step.done .step-dot{background:var(--mint-tint);color:var(--mint-strong);border-color:var(--mint-line)}.step.done .step-label{color:var(--text-2)}.step-line{flex:1;height:2px;background:var(--border);margin:0 12px;border-radius:var(--r-full);min-width:16px}.step-line.done{background:var(--mint-line)}.progress{width:100%;height:7px;border-radius:var(--r-full);background:var(--surface-3);overflow:hidden}.progress-bar{height:100%;border-radius:var(--r-full);background:var(--primary);transition:width var(--dur-4) var(--ease-out)}.progress-bar.mint{background:var(--mint)}.progress-bar.amber{background:var(--amber)}.progress-bar.red{background:var(--red)}.progress-sm{height:5px}.progress-lg{height:10px}.table-wrap{width:100%;overflow-x:auto;overflow-y:visible}.table-scroll{max-height:62vh;overflow:auto}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-sm)}.table thead th{position:sticky;top:0;z-index:2;background:var(--surface-2);padding:11px 18px;text-align:left;font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--border);white-space:nowrap}.table thead th:first-child{border-top-left-radius:var(--radius)}.table thead th:last-child{border-top-right-radius:var(--radius)}.table thead th.num,.table thead th.right{text-align:right}.table thead th.sortable{padding:0}.table th .th-btn{display:inline-flex;align-items:center;gap:5px;width:100%;padding:11px 18px;border:none;background:none;cursor:pointer;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;transition:color var(--dur-1) var(--ease-out)}.table th .th-btn:hover{color:var(--text-2)}.table th .th-btn.right{justify-content:flex-end}.table th[aria-sort=ascending],.table th[aria-sort=descending]{color:var(--primary)}.table th .sort-ic{opacity:.3;transition:opacity var(--dur-1) var(--ease-out)}.table th .th-btn:hover .sort-ic{opacity:.6}.table th[aria-sort=ascending] .sort-ic,.table th[aria-sort=descending] .sort-ic{opacity:1}.table tbody td{padding:13px 18px;border-bottom:1px solid var(--border);color:var(--text-2);vertical-align:middle}.table tbody td.num,.table tbody td.right{text-align:right;font-variant-numeric:tabular-nums}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background-color var(--dur-1) var(--ease-out)}.table tbody tr:hover{background:var(--surface-2)}.table-rows-clickable tbody tr{cursor:pointer}.table tbody tr:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.table-compact tbody td,.table-compact thead th,.table-compact th .th-btn{padding:9px 14px}.row-actions{opacity:0;transition:opacity var(--dur-1) var(--ease-out)}tr:hover .row-actions,tr:focus-within .row-actions{opacity:1}@media(hover:none){.row-actions{opacity:1}}.trow{transition:background-color var(--dur-1) var(--ease-out)}.trow:hover{background:var(--surface-2)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}.pagination-info{font-size:var(--fs-xs);color:var(--text-3);display:flex;align-items:center;gap:8px}.pagination-input{width:52px;height:30px;text-align:center;border:1px solid var(--border-strong);border-radius:var(--r-xs);background:var(--surface);color:var(--text);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;outline:none}.pagination-input:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(196px,1fr));gap:var(--sp-4)}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;transition:box-shadow var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out)}.kpi-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:var(--grad-sheen);opacity:.5}.kpi-card[role=button],.kpi-card.clickable{cursor:pointer}.kpi-card[role=button]:hover,.kpi-card.clickable:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--border-strong)}.kpi-card:focus-visible{outline:none;box-shadow:var(--focus-ring)}.kpi-icon{width:38px;height:38px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-icon.blue{background:var(--primary-tint);color:var(--primary)}.kpi-icon.mint{background:var(--mint-tint);color:var(--mint-strong)}.kpi-icon.violet{background:var(--violet-tint);color:var(--violet)}.kpi-icon.amber{background:var(--amber-tint);color:var(--amber)}.kpi-icon.red{background:var(--red-tint);color:var(--red)}.kpi-value{font-size:var(--fs-2xl);font-weight:var(--fw-black);letter-spacing:var(--ls-tighter);line-height:1.1;font-variant-numeric:tabular-nums;color:var(--text)}.kpi-label{font-size:var(--fs-sm);color:var(--text-2);font-weight:var(--fw-semibold);margin-top:2px}.kpi-sub{font-size:var(--fs-xs);color:var(--text-3);display:flex;align-items:center;gap:5px;margin-top:auto}.kpi-sub.up{color:var(--mint-strong);font-weight:var(--fw-bold)}.kpi-sub.down{color:var(--red);font-weight:var(--fw-bold)}.stat{display:flex;flex-direction:column;gap:2px}.stat-value{font-size:var(--fs-xl);font-weight:var(--fw-black);letter-spacing:var(--ls-tight);font-variant-numeric:tabular-nums}.stat-label{font-size:var(--fs-xs);color:var(--text-3);font-weight:var(--fw-semibold)}.info-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);padding:9px 0;border-bottom:1px solid var(--border)}.info-row:last-child{border-bottom:none}.info-row-label{font-size:var(--fs-sm);color:var(--text-2);flex-shrink:0}.info-row-value{font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-align:right;word-break:break-word}.timeline{position:relative;padding-left:26px}.timeline:before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:var(--border);border-radius:var(--r-full)}.timeline-item{position:relative;padding-bottom:var(--sp-5)}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";position:absolute;left:-23px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--surface);border:2px solid var(--border-strong)}.timeline-item.primary:before{border-color:var(--primary);background:var(--primary)}.timeline-item.mint:before{border-color:var(--mint);background:var(--mint)}.timeline-item.red:before{border-color:var(--red);background:var(--red)}.timeline-icons{padding-left:0}.timeline-icons:before{left:14px}.timeline-icons .timeline-item:before{display:none}.timeline-node{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--r-sm);flex-shrink:0;box-shadow:0 0 0 4px var(--surface)}.timeline-time{font-size:var(--fs-xs);color:var(--text-3);font-variant-numeric:tabular-nums}.timeline-title{font-size:var(--fs-sm);font-weight:var(--fw-bold);margin-top:1px}.timeline-body{font-size:var(--fs-sm);color:var(--text-2);margin-top:3px;line-height:var(--lh-normal)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:56px var(--sp-5);gap:10px;color:var(--text-2)}.empty-state .ic-wrap{width:60px;height:60px;border-radius:var(--r-xl);background:var(--surface-3);color:var(--text-3);display:flex;align-items:center;justify-content:center;margin-bottom:2px;box-shadow:inset 0 0 0 1px var(--border)}.empty-state h3{font-size:var(--fs-md);font-weight:var(--fw-black);color:var(--text);letter-spacing:var(--ls-tight)}.empty-state p{font-size:var(--fs-sm);max-width:38ch;line-height:var(--lh-normal);color:var(--text-2)}.appt-row{display:flex;align-items:center;gap:14px;padding:13px 15px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);cursor:pointer;transition:border-color var(--dur-1) var(--ease-out),box-shadow var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out)}.appt-row:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.appt-time{font-family:var(--font-mono);font-weight:var(--fw-bold);font-size:var(--fs-sm);width:50px;flex-shrink:0;color:var(--text-2)}.appt-bar{width:4px;height:34px;border-radius:var(--r-full);flex-shrink:0}.appt-info{flex:1;min-width:0}.appt-name{font-weight:var(--fw-bold);font-size:var(--fs-base)}.appt-proc{font-size:var(--fs-sm);color:var(--text-2);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-item{display:flex;align-items:center;gap:var(--sp-3);padding:11px 13px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);transition:border-color var(--dur-1) var(--ease-out),background-color var(--dur-1) var(--ease-out)}.alert-item:hover{border-color:var(--border-strong);background:var(--surface-2)}.alert-icon{width:34px;height:34px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.alert-icon.alta{background:var(--red-tint);color:var(--red)}.alert-icon.media{background:var(--amber-tint);color:var(--amber)}.alert-text{font-size:var(--fs-sm);line-height:var(--lh-snug);flex:1;min-width:0;color:var(--text-2)}.alert-patient{font-weight:var(--fw-bold);font-size:var(--fs-sm);margin-bottom:2px;color:var(--text)}.cal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:14px var(--sp-5);flex-wrap:wrap}.cal-title{font-size:var(--fs-md);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight)}.cal-grid{display:flex;padding-top:9px}.cal-gutter{width:56px;flex-shrink:0}.cal-hour{position:relative}.cal-hour-label{position:absolute;top:-7px;right:10px;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-3);font-variant-numeric:tabular-nums}.cal-daycol{position:relative;border-left:1px solid var(--border)}.cal-slot{border-bottom:1px solid var(--border)}.cal-slot.alt{background:var(--surface-2)}.cal-now{position:absolute;left:0;right:0;height:2px;background:var(--red);z-index:6;pointer-events:none}.cal-now:before{content:"";position:absolute;left:0;top:-4px;width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 20%,transparent)}.cal-daybtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:9px 0;border:none;background:var(--surface-2);cursor:pointer;transition:background-color var(--dur-1) var(--ease-out)}.cal-daybtn:hover{background:var(--surface-3)}.cal-daybtn.today{background:var(--primary-tint)}.cal-dayname{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-3);text-transform:uppercase;letter-spacing:.03em}.cal-daynum{font-size:var(--fs-lg);font-weight:var(--fw-black);letter-spacing:var(--ls-tight)}.cal-daybtn.today .cal-daynum{color:var(--primary)}.appt-card{position:absolute;border-radius:var(--r-sm);overflow:hidden;padding:5px 9px;box-shadow:var(--shadow-xs);border-left:3px solid transparent;transition:box-shadow var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out),filter var(--dur-1) var(--ease-out)}.appt-card:hover{box-shadow:var(--shadow-md);filter:saturate(1.08);z-index:8}.appt-card:active{cursor:grabbing}.appt-card:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.appt-card.cancelled{opacity:.58;text-decoration:line-through}.appt-card-time{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.appt-card-name{font-weight:var(--fw-bold);font-size:var(--fs-sm);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appt-card-proc{font-size:var(--fs-xs);color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-ghost{position:absolute;border-radius:var(--r-sm);background:var(--primary-tint);border:1.5px dashed var(--primary);display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:var(--fs-xs);font-weight:var(--fw-bold);pointer-events:none;z-index:3}.month-cell{position:relative;transition:background-color var(--dur-1) var(--ease-out)}.month-cell:hover{background:var(--surface-2)}.month-cell.today{background:var(--primary-tint)}.month-cell.today:hover{background:var(--primary-tint-2)}.month-cell .month-add{opacity:0;transition:opacity var(--dur-1) var(--ease-out)}.month-cell:hover .month-add,.month-add:focus-visible{opacity:1}@media(hover:none){.month-cell .month-add{opacity:1}}.month-add{border:1px solid var(--border);background:var(--surface);color:var(--primary);width:22px;height:22px;border-radius:var(--r-xs);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-xs)}.month-add:hover{background:var(--primary-tint);border-color:var(--primary-line)}.month-dow{padding:10px 0;text-align:center;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);background:var(--surface-2)}.month-appt{display:flex;align-items:center;gap:6px;width:100%;border:none;background:none;padding:2px 4px;margin:0 -4px;border-radius:var(--r-xs);text-align:left;cursor:pointer;font-size:var(--fs-xs);transition:background-color var(--dur-1) var(--ease-out)}.month-appt:hover{background:var(--surface-3)}.month-appt.cancelled{opacity:.55;text-decoration:line-through}.month-appt-dot{width:6px;height:6px;border-radius:2px;flex-shrink:0}.inbox-grid{display:grid;grid-template-columns:300px minmax(380px,1fr) 280px 244px;height:calc(100vh - 250px);min-height:520px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-xs)}.inbox-col{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border)}.inbox-col:last-child{border-right:none}.inbox-col-head{padding:12px;flex-shrink:0}.inbox-col-body{overflow-y:auto;flex:1;min-height:0}.inbox-side{padding:var(--sp-4);overflow-y:auto;min-height:0}.conv-item{width:100%;text-align:left;border:none;cursor:pointer;padding:11px 13px;display:flex;gap:10px;align-items:flex-start;background:transparent;border-bottom:1px solid var(--border);border-left:3px solid transparent;position:relative;transition:background-color var(--dur-1) var(--ease-out)}.conv-item:hover{background:var(--surface-2)}.conv-item.active{background:var(--primary-tint);border-left-color:var(--primary)}.conv-item:focus-visible{outline:none;box-shadow:inset var(--focus-ring)}.conv-avatar{width:38px;height:38px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--fs-sm);font-weight:var(--fw-bold)}.conv-name{font-weight:var(--fw-bold);font-size:var(--fs-sm)}.conv-preview{font-size:var(--fs-xs);color:var(--text-2)}.conv-time{font-size:var(--fs-xs);color:var(--text-3);flex-shrink:0;font-variant-numeric:tabular-nums}.chat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px var(--sp-4);border-bottom:1px solid var(--border);flex-shrink:0}.chat-scroll{overflow-y:auto;flex:1;min-height:0;padding:var(--sp-4);background:var(--bg)}.chat-composer{border-top:1px solid var(--border);padding:12px;flex-shrink:0;position:relative;background:var(--surface)}.bubble-row{display:flex;margin-bottom:10px}.bubble-row.out{justify-content:flex-end}.bubble-wrap{max-width:78%}.bubble{padding:9px 13px;border-radius:var(--r-md);font-size:var(--fs-sm);line-height:var(--lh-normal);white-space:pre-wrap;word-break:break-word;box-shadow:var(--shadow-xs)}.bubble-in{background:var(--surface);border:1px solid var(--border);color:var(--text);border-bottom-left-radius:4px}.bubble-out{background:var(--primary);color:var(--primary-contrast);border-bottom-right-radius:4px}.bubble-ai{background:var(--mint-tint);color:var(--text);border:1px solid var(--mint-line);border-bottom-right-radius:4px}.bubble-meta{font-size:var(--fs-xs);color:var(--text-3);margin-top:3px;display:flex;align-items:center;gap:4px}.odo-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.odo-kpi{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:11px 13px;transition:border-color var(--dur-1) var(--ease-out)}.odo-kpi:hover{border-color:var(--border-strong)}.odo-kpi-icon{width:32px;height:32px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.odo-kpi-icon.red{background:var(--red-tint);color:var(--red)}.odo-kpi-icon.amber{background:var(--amber-tint);color:var(--amber)}.odo-kpi-icon.violet{background:var(--violet-tint);color:var(--violet)}.odo-kpi-icon.gray{background:var(--surface-3);color:var(--text-3)}.odo-kpi-value{font-size:var(--fs-lg);font-weight:var(--fw-black);letter-spacing:var(--ls-tight);line-height:1.15;font-variant-numeric:tabular-nums}.odo-kpi-label{font-size:var(--fs-xs);color:var(--text-2);font-weight:var(--fw-semibold)}.odontogram-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);background:var(--bg);padding:var(--sp-5);overflow:auto}.proc-cat-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.proc-cat-tab{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--r-xs);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer;transition:border-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out),background-color var(--dur-1) var(--ease-out)}.proc-cat-tab:hover{color:var(--text);border-color:var(--border-strong)}.proc-cat-tab.active{background:var(--primary-tint);border-color:var(--primary);color:var(--primary)}.proc-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.proc-type-opt{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;text-align:left;transition:border-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out),background-color var(--dur-1) var(--ease-out)}.proc-type-opt:hover{border-color:var(--border-strong);color:var(--text);background:var(--surface-2)}.proc-type-opt.active{background:var(--primary-tint);border-color:var(--primary);color:var(--primary)}.proc-status-tabs{display:inline-flex;gap:4px;flex-wrap:wrap}.proc-status-tab{height:24px;padding:0 10px;border-radius:var(--r-full);border:1px solid var(--border);background:var(--surface);color:var(--text-3);font-size:var(--fs-2xs);font-weight:var(--fw-bold);cursor:pointer;transition:border-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out),background-color var(--dur-1) var(--ease-out)}.proc-status-tab:hover:not(:disabled){color:var(--text-2);border-color:var(--border-strong)}.proc-status-tab:disabled{cursor:default}.proc-status-tab.active.b-amber{background:var(--amber-tint);color:var(--amber);border-color:var(--amber-line)}.proc-status-tab.active.b-blue{background:var(--primary-tint);color:var(--primary);border-color:var(--primary-line)}.proc-status-tab.active.b-green{background:var(--mint-tint);color:var(--mint-strong);border-color:var(--mint-line)}.paint-toolbar{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-bottom:14px;background:var(--primary-tint);border:1px solid var(--primary-line);border-radius:var(--r-md)}.paint-chip{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border-radius:var(--r-full);border:1.5px solid var(--border);background:var(--surface);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--text-2);cursor:pointer;white-space:nowrap;transition:border-color var(--dur-1) var(--ease-out),background-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.paint-chip:hover{border-color:var(--border-strong);color:var(--text-1)}.paint-chip.active{color:var(--text-1);font-weight:var(--fw-bold);box-shadow:0 0 0 2px var(--primary-tint)}.login-shell{height:100%;width:100%;display:grid;grid-template-columns:460px 1fr;background:var(--surface)}.login-aside{background:var(--grad-brand);color:#fff;padding:44px;display:flex;flex-direction:column;position:relative;overflow:hidden}.login-aside:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(70% 50% at 15% 0%,color-mix(in srgb,var(--primary) 30%,transparent) 0%,transparent 70%)}.login-aside>*{position:relative}.login-aside .brand{display:flex;align-items:center;gap:12px}.login-aside .brand .mark{width:42px;height:42px;border-radius:var(--r-md);background:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 6px 18px color-mix(in srgb,var(--primary) 45%,transparent),inset 0 1px #ffffff3d}.login-aside .brand .name{font-size:20px;font-weight:var(--fw-black);letter-spacing:var(--ls-tight)}.login-aside .brand .name span{color:#7fbcff}.login-aside .headline{margin-top:auto;font-size:32px;font-weight:var(--fw-black);line-height:1.24;max-width:22ch;letter-spacing:var(--ls-tight)}.login-aside .features{display:flex;flex-direction:column;gap:13px;margin-top:28px}.login-aside .feature-row{display:flex;align-items:center;gap:10px;font-size:var(--fs-base);color:#ffffffd1}.login-aside .feature-row .ic{color:#5ee0bb;flex-shrink:0;display:flex}.login-aside .footer-note{margin-top:44px;font-size:var(--fs-xs);color:#ffffff73;font-family:var(--font-mono);display:flex;justify-content:space-between;gap:12px}.login-main{display:flex;padding:var(--sp-10);overflow-y:auto}.login-form{width:100%;max-width:396px;margin:auto}.login-form h1{font-size:27px;font-weight:var(--fw-black);letter-spacing:var(--ls-tight)}.login-form .lead{color:var(--text-2);font-size:var(--fs-base);margin-top:7px;line-height:var(--lh-snug)}.role-select{display:flex;gap:10px;margin-top:var(--sp-7)}.role-option{flex:1;padding:14px;border-radius:var(--r-md);border:1.5px solid var(--border-strong);cursor:pointer;background:var(--surface);text-align:left;transition:border-color var(--dur-2) var(--ease-out),background-color var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out)}.role-option:hover{border-color:var(--text-3);background:var(--surface-2)}.role-option .ic{color:var(--text-2);display:flex}.role-option .label{font-weight:var(--fw-bold);font-size:var(--fs-base);margin-top:10px}.role-option.active{border-color:var(--primary);background:var(--primary-tint);box-shadow:var(--focus-ring)}.role-option.active .ic,.role-option.active .label{color:var(--primary)}.login-fields{display:flex;flex-direction:column;gap:var(--sp-4);margin-top:var(--sp-6)}.login-row-between{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:var(--fs-sm)}.login-demo{margin-top:var(--sp-6);padding:14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-2);line-height:var(--lh-relaxed)}.login-demo b{color:var(--text)}.landing-shell{height:100%;width:100%;overflow-y:auto;background:var(--bg)}.landing-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:14px var(--sp-10);position:sticky;top:0;z-index:var(--z-sticky);background:color-mix(in srgb,var(--surface) 86%,transparent);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border)}.landing-nav .brand{display:flex;align-items:center;gap:11px;font-size:var(--fs-lg);font-weight:var(--fw-black);letter-spacing:var(--ls-tight)}.landing-nav .brand .mark{width:36px;height:36px;border-radius:10px;background:var(--primary);color:var(--primary-contrast);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-sm),inset 0 1px #fff3}.landing-nav .brand .name span{color:var(--primary)}.landing-hero{background:var(--grad-brand);color:#fff;padding:80px var(--sp-10) 72px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--sp-5);position:relative;overflow:hidden}.landing-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(60% 50% at 50% 0%,color-mix(in srgb,var(--primary) 26%,transparent) 0%,transparent 70%)}.landing-hero>*{position:relative}.landing-hero h1{font-size:var(--fs-3xl);font-weight:var(--fw-black);line-height:1.12;max-width:20ch;letter-spacing:var(--ls-tighter)}.landing-hero p{font-size:var(--fs-md);color:#ffffffc2;max-width:58ch;line-height:var(--lh-relaxed)}.landing-hero .feature-row{font-size:var(--fs-sm);color:#ffffffd1}.landing-hero .feature-row .ic{color:#5ee0bb;flex-shrink:0}.landing-section{max-width:1080px;margin:0 auto;padding:var(--sp-16) var(--sp-10)}.landing-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch;padding-top:14px}.landing-footer{border-top:1px solid var(--border);padding:var(--sp-6) var(--sp-10);text-align:center;font-size:var(--fs-xs);color:var(--text-3)}.tweaks-toggle-btn{position:fixed;bottom:20px;right:20px;z-index:9999;width:44px;height:44px;border-radius:50%;background:var(--primary);color:var(--primary-contrast);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-lg)}.tweaks-panel{position:fixed;bottom:20px;right:20px;z-index:9999;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-xl);width:270px;font-size:var(--fs-sm);color:var(--text);overflow:hidden}.tweaks-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);font-weight:var(--fw-bold);cursor:pointer}.tweaks-header button{border:none;background:none;color:var(--text-3);cursor:pointer;display:flex}.tweaks-body{padding:14px;display:flex;flex-direction:column;gap:12px;max-height:60vh;overflow-y:auto}.tweaks-section{font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--text-3);margin-top:6px}.tweaks-section:first-child{margin-top:0}.tweaks-radio-group{display:flex;flex-direction:column;gap:6px}.tweaks-radio-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-2)}.tweaks-radio-options{display:flex;gap:6px;flex-wrap:wrap}.tweaks-radio-opt{padding:6px 10px;border-radius:var(--r-xs);border:1px solid var(--border-strong);cursor:pointer;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-2);background:var(--surface)}.tweaks-radio-opt.active{background:var(--primary);border-color:var(--primary);color:var(--primary-contrast)}.tweaks-color-options{display:flex;gap:8px}.tweaks-color-dot{width:26px;height:26px;border-radius:50%;cursor:pointer;border:2px solid transparent;padding:0}.tweaks-color-dot.active{border-color:var(--text-2);box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--text-2)}.tweaks-row{display:flex;flex-direction:column;gap:6px}.tweaks-row-h{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.tweaks-row-label{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-2)}.tweaks-row-value{font-weight:var(--fw-normal);color:var(--text-3);font-variant-numeric:tabular-nums}.tweaks-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:var(--r-full);background:var(--surface-3);outline:none;cursor:pointer}.tweaks-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--primary);cursor:pointer}.tweaks-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--primary);border:none;cursor:pointer}.tweaks-num{display:flex;align-items:center;gap:6px;height:38px;padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--r-xs);background:var(--surface)}.tweaks-num-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-2);cursor:ew-resize;-webkit-user-select:none;user-select:none}.tweaks-num input{flex:1;min-width:0;border:none;background:transparent;outline:none;font:inherit;text-align:right;color:inherit;font-variant-numeric:tabular-nums}.tweaks-num input::-webkit-inner-spin-button,.tweaks-num input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tweaks-num-unit{font-size:var(--fs-xs);color:var(--text-3)}.tweaks-btn{height:var(--h-sm);padding:0 14px;border-radius:var(--r-xs);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer}.tweaks-btn:hover{background:var(--surface-2)}.tweaks-btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-contrast)}.tweaks-btn.primary:hover{background:var(--primary-hover)}.topbar-hamburger,.topbar-search-mobile{display:none}.dashboard-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--sp-5);align-items:start}.odo-layout{display:grid;grid-template-columns:1fr 320px;gap:var(--sp-4);align-items:start}.budget-grid{display:grid;grid-template-columns:64px 1fr 1fr 52px 76px 32px;gap:6px}@media(max-width:1520px){.inbox-grid{grid-template-columns:300px minmax(380px,1fr) 280px}.inbox-grid>:nth-child(4){display:none}}@media(max-width:1280px){.inbox-grid{grid-template-columns:288px minmax(380px,1fr)}.inbox-grid>:nth-child(3){display:none}}@media(max-width:1024px){.grid-4{grid-template-columns:repeat(2,1fr)}.inbox-grid{grid-template-columns:252px minmax(0,1fr);height:calc(100vh - 220px)}}@media(min-width:769px)and (max-width:1024px){.content-inner{padding:var(--sp-6) var(--sp-6);gap:18px}.topbar{padding:0 var(--sp-4)}.topbar-search{max-width:220px}.tenant-chip{display:none}.btn{min-height:44px}.btn-sm{min-height:38px}.btn-icon{min-width:44px}.icon-btn{width:44px;height:44px}.input,.select{min-height:44px}.nav-item,.collapse-btn{padding:12px 10px}.proc-type-opt{padding:12px 14px}.proc-cat-tab{height:36px}.tab{padding:12px 14px}.odo-layout{grid-template-columns:1fr 260px}.budget-grid{grid-template-columns:56px 1fr 1fr 50px 84px 36px}.budget-grid .input{min-height:38px}}@media(min-width:900px)and (max-width:1024px){.dashboard-grid{grid-template-columns:1.3fr 1fr}.kpi-grid{grid-template-columns:repeat(3,1fr)}.odo-kpis{grid-template-columns:repeat(4,1fr);gap:8px}}@media(min-width:769px)and (max-width:899px){.dashboard-grid{grid-template-columns:1fr}.kpi-grid,.odo-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.grid-2,.grid-3,.grid-4,.grid-2-uneven,.grid-aside{grid-template-columns:1fr}}@media(max-width:560px){.form-grid-2,.form-grid-3{grid-template-columns:1fr}}@media(max-width:860px){.login-shell{grid-template-columns:1fr}.login-aside{display:none}.login-main{padding:var(--sp-6)}.landing-hero h1{font-size:30px}.landing-hero{padding:52px var(--sp-6) 48px}.landing-section{padding:var(--sp-10) var(--sp-5)}.landing-nav{padding:12px var(--sp-5)}.landing-plans{grid-template-columns:1fr}}@media(max-width:768px){.topbar-hamburger{display:flex}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:var(--z-sidebar);width:268px!important;transform:translate(-100%);transition:transform var(--dur-3) var(--ease-out);box-shadow:none}.sidebar.mobile-open{transform:translate(0);box-shadow:var(--shadow-xl)}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:calc(var(--z-sidebar) - 1);animation:fadeIn var(--dur-2) var(--ease-out);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.content-inner{padding:18px var(--sp-4);gap:var(--sp-4)}.topbar{padding:0 14px;gap:10px;height:60px}.topbar-search{display:none}.topbar-search-mobile{display:flex;margin-left:auto}.tenant-chip,.topbar-user .who{display:none}.strip{padding:10px var(--sp-4)}.page-title{font-size:21px}.kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.kpi-card{padding:14px;gap:10px}.kpi-value{font-size:var(--fs-xl)}.odo-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.odo-layout,.admin-stats-grid{grid-template-columns:1fr}.card-pad{padding:var(--sp-4)}.modal-overlay{padding:12px}.modal-header{padding:var(--sp-4) var(--sp-4) var(--sp-3)}.modal-body{padding:0 var(--sp-4) var(--sp-4)}.modal-footer{padding:var(--sp-3) var(--sp-4)}.toast-container{bottom:var(--sp-4)}.inbox-grid{grid-template-columns:1fr;height:auto;min-height:0}.inbox-col{border-right:none}.inbox-grid>:nth-child(2){min-height:420px;border-top:1px solid var(--border)}.drawer{width:100vw}.table thead th,.table th .th-btn{padding:10px 12px}.table tbody td{padding:11px 12px}}@media(prefers-contrast:more){:root{--border: var(--border-strong)}.btn-ghost,.btn-outline{border-color:var(--text-3)}.badge{border-color:currentColor}}@media print{.sidebar,.topbar,.toast-container,.tweaks-panel,.tweaks-toggle-btn,.sidebar-backdrop,.strip{display:none!important}.content,.content-inner{padding:0;max-width:none;overflow:visible}.card{box-shadow:none;border-color:#ddd;break-inside:avoid}body{background:#fff}}
