:root{--bg:oklch(98.2% 0.005 80);--surface:oklch(100% 0 0);--surface-2:oklch(96.5% 0.006 80);--border:oklch(91% 0.008 80);--border-strong:oklch(84% 0.01 80);--ink:oklch(20% 0.015 80);--ink-2:oklch(36% 0.012 80);--ink-3:oklch(54% 0.01 80);--ink-4:oklch(72% 0.008 80);--accent:oklch(52% 0.11 195);--accent-ink:oklch(36% 0.10 195);--accent-strong:oklch(42% 0.10 195);--accent-soft:oklch(94% 0.025 195);--accent-soft-2:oklch(88% 0.045 195);--amber:oklch(76% 0.15 70);--amber-soft:oklch(95% 0.05 75);--amber-ink:oklch(48% 0.12 60);--success:oklch(60% 0.12 150);--success-soft:oklch(94% 0.04 150);--danger:oklch(58% 0.19 25);--danger-soft:oklch(95% 0.04 25);--info:oklch(58% 0.13 250);--info-soft:oklch(95% 0.03 250);--violet:oklch(58% 0.16 295);--violet-soft:oklch(95% 0.04 295);--sidebar-bg:oklch(99% 0.004 80);--topbar-bg:oklch(100% 0 0);--radius:10px;--radius-sm:6px;--radius-lg:14px;--shadow-sm:0 1px 2px oklch(0% 0 0/0.04),0 1px 1px oklch(0% 0 0/0.02);--shadow:0 1px 2px oklch(0% 0 0/0.06),0 6px 16px -8px oklch(0% 0 0/0.08);--shadow-lg:0 4px 24px -8px oklch(0% 0 0/0.16),0 2px 4px oklch(0% 0 0/0.06);--font-ui:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"Geist Mono",ui-monospace,"SF Mono",Consolas,monospace;--font-gu:"Noto Sans Gujarati","Geist",ui-sans-serif,system-ui,sans-serif;--row-h:40px;--row-h-tight:34px;--row-h-loose:48px}[data-density=tight]{--row-h:var(--row-h-tight)}[data-density=loose]{--row-h:var(--row-h-loose)}[data-theme=dark]{--bg:oklch(18% 0.012 80);--surface:oklch(22% 0.012 80);--surface-2:oklch(26% 0.012 80);--border:oklch(30% 0.012 80);--border-strong:oklch(38% 0.012 80);--ink:oklch(96% 0.008 80);--ink-2:oklch(82% 0.01 80);--ink-3:oklch(64% 0.01 80);--ink-4:oklch(48% 0.01 80);--accent-soft:oklch(28% 0.035 195);--accent-soft-2:oklch(34% 0.06 195);--amber-soft:oklch(32% 0.05 70);--success-soft:oklch(28% 0.05 150);--danger-soft:oklch(30% 0.07 25);--info-soft:oklch(28% 0.05 250);--violet-soft:oklch(30% 0.06 295);--sidebar-bg:oklch(20% 0.012 80);--topbar-bg:oklch(22% 0.012 80)}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}[data-lang=gu] .ui,[data-lang=gu] body{font-family:var(--font-gu)}button{font-family:inherit}input,select,textarea{font-family:inherit;color:inherit}.app{display:grid;grid-template-columns:248px 1fr;grid-template-rows:56px 1fr;grid-template-areas:"sidebar topbar" "sidebar main";height:100vh;overflow:hidden}.app[data-sidebar=collapsed]{grid-template-columns:64px 1fr}.app[data-sidebar=hidden]{grid-template-columns:0 1fr;grid-template-areas:"topbar topbar" "main main"}.app[data-sidebar=hidden] .sidebar{display:none}.sidebar{grid-area:sidebar;background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.topbar{grid-area:topbar;background:var(--topbar-bg);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 20px;gap:16px}.main{grid-area:main;overflow:auto;background:var(--bg)}.brand{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border);min-height:56px}.brand-mark{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--accent) 0,var(--accent-ink) 100%);color:#fff;font-weight:600;display:grid;place-items:center;font-family:var(--font-mono);font-size:13px;letter-spacing:-.02em}.brand-name{font-weight:600;font-size:15px;letter-spacing:-.01em}.brand-sub{color:var(--ink-3);font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.nav-section{padding:14px 12px 4px}.nav-section-title{font-size:10.5px;font-weight:500;color:var(--ink-4);text-transform:uppercase;letter-spacing:.09em;padding:0 8px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--radius-sm);font-size:13.5px;color:var(--ink-2);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:1px solid transparent}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item[data-active=true]{background:var(--accent-soft);color:var(--accent-ink);font-weight:500}[data-theme=dark] .nav-item[data-active=true]{color:oklch(85% .08 195)}.nav-item .ico{width:16px;height:16px;display:grid;place-items:center;color:currentColor;opacity:.85;flex-shrink:0}.nav-item .badge{margin-left:auto;font-size:11px;background:var(--ink);color:var(--bg);padding:1px 6px;border-radius:999px;font-family:var(--font-mono);font-weight:500}.nav-item[data-active=true] .badge{background:var(--accent-ink);color:#fff}.topbar-search{position:relative;display:flex;align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:6px 12px;width:360px;gap:8px}.topbar-search input{background:transparent;border:0;outline:0;flex:1;font-size:13px;color:var(--ink)}.topbar-search input::-moz-placeholder{color:var(--ink-4)}.topbar-search input::placeholder{color:var(--ink-4)}.kbd{font-family:var(--font-mono);font-size:10.5px;background:var(--surface);border:solid var(--border);border-width:1px 1px 2px;padding:1px 5px;border-radius:4px;color:var(--ink-3)}.topbar-actions{margin-left:auto}.role-pill,.topbar-actions{display:flex;align-items:center;gap:8px}.role-pill{padding:5px 10px 5px 6px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-size:12.5px;color:var(--ink-2);cursor:pointer}.role-pill:hover{background:var(--surface)}.role-pill .dot{width:22px;height:22px;border-radius:999px;background:var(--accent);color:#fff;font-size:11px;display:grid;place-items:center;font-weight:600;font-family:var(--font-mono)}.icon-btn{width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--ink-2);display:grid;place-items:center;cursor:pointer;position:relative}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.icon-btn .dot-notif{position:absolute;top:5px;right:6px;width:7px;height:7px;background:var(--danger);border:2px solid var(--surface);border-radius:999px}.lang-toggle{display:flex;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px;font-family:var(--font-mono);font-size:11px}.lang-toggle button{background:transparent;border:0;padding:3px 8px;border-radius:4px;cursor:pointer;color:var(--ink-3)}.lang-toggle button[data-on=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.page{padding:24px 28px;max-width:1480px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px;gap:16px;flex-wrap:wrap}.page-title{font-size:22px;font-weight:600;letter-spacing:-.02em;margin:0}.page-sub{font-size:13.5px;margin-top:4px}.crumb,.page-sub{color:var(--ink-3)}.crumb{font-size:12px;display:flex;align-items:center;gap:6px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.crumb span{color:var(--ink-4)}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);font-size:13px;font-weight:500;cursor:pointer;box-shadow:var(--shadow-sm);white-space:nowrap}.btn:hover{background:var(--surface-2)}.btn-primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}[data-theme=dark] .btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:oklch(from var(--ink) calc(l - .05) c h)}.btn-accent{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-accent:hover{background:var(--accent-ink)}.btn-ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--ink-2)}.btn-ghost:hover{background:var(--surface-2);color:var(--ink)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-sm{padding:4px 8px;font-size:12px}.btn-icon{padding:6px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.card-header{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.card-title{font-size:14px;font-weight:600;margin:0;letter-spacing:-.01em}.card-sub{color:var(--ink-3);font-size:12px;margin-top:2px}.card-body{padding:16px 18px}.card-body.flush{padding:0}.dash-grid>*{height:100%}.dash-grid .card{height:100%;display:flex;flex-direction:column}.dash-grid .card-body{flex:1 1 auto}.dash-grid .card-body>.funnel-chart{height:100%}.dash-grid .card-body>.funnel{height:100%;justify-content:space-evenly}.dash-grid>*>.grid{height:100%}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:18px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;position:relative}.kpi-label{font-size:11.5px;color:var(--ink-3);font-weight:500;text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:6px}.kpi-value{font-size:26px;font-weight:600;letter-spacing:-.025em;margin-top:8px;font-feature-settings:"tnum"}.kpi-delta{display:inline-flex;align-items:center;gap:4px;font-size:12px;margin-top:6px;padding:1px 7px;border-radius:999px;font-family:var(--font-mono);font-weight:500}.kpi-delta.up{background:var(--success-soft);color:var(--success)}.kpi-delta.down{background:var(--danger-soft);color:var(--danger)}.kpi-delta.flat{background:var(--surface-2);color:var(--ink-3)}.kpi-spark{position:absolute;right:14px;bottom:14px;width:100px;height:32px;opacity:.9}.table-wrap{overflow:auto}table.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.tbl thead th{text-align:left;font-weight:500;color:var(--ink-3);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;padding:10px 14px;background:var(--surface-2);position:sticky;top:0;z-index:1;white-space:nowrap}.tbl tbody td,.tbl thead th{border-bottom:1px solid var(--border)}.tbl tbody td{padding:0 14px;height:var(--row-h);color:var(--ink-2);vertical-align:middle}.tbl tbody tr:hover{background:var(--surface-2)}.tbl tbody tr:last-child td{border-bottom:0}.tbl .mono{font-family:var(--font-mono);font-size:12.5px;color:var(--ink-2)}.tbl .num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";text-align:right}.pill{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;font-size:11.5px;font-weight:500;background:var(--surface-2);color:var(--ink-2);white-space:nowrap}.pill,.pill .pulse{border-radius:999px}.pill .pulse{width:6px;height:6px;background:currentColor}.pill.success{background:var(--success-soft);color:var(--success)}.pill.danger{background:var(--danger-soft);color:var(--danger)}.pill.warning{background:var(--amber-soft);color:var(--amber-ink)}.pill.info{background:var(--info-soft);color:var(--info)}.pill.violet{background:var(--violet-soft);color:var(--violet)}.pill.accent{background:var(--accent-soft);color:var(--accent-ink)}.avatar{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;color:#fff;font-weight:600;font-size:11px;font-family:var(--font-mono);flex-shrink:0}.avatar.sm{width:22px;height:22px;font-size:10px}.avatar.lg{width:40px;height:40px;font-size:14px}.user-cell{display:flex;align-items:center;gap:10px}.user-cell .name{color:var(--ink);font-weight:500}.user-cell .meta{color:var(--ink-3);font-size:11.5px;font-family:var(--font-mono)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:12px;color:var(--ink-2);font-weight:500}.field label .req{color:var(--danger);margin-left:2px}.field .hint{font-size:11.5px;color:var(--ink-3)}.field .gu{font-size:11px;color:var(--ink-3);font-family:var(--font-gu);margin-left:4px}.input,.select,.textarea{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:7px 10px;font-size:13px;color:var(--ink);outline:none;width:100%}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.textarea{min-height:70px;resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal-backdrop{position:fixed;inset:0;background:oklch(0 0 0/.4);backdrop-filter:blur(2px);z-index:120;display:grid;place-items:center;animation:fade .15s ease-out}.modal{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-lg);max-width:720px;width:calc(100% - 32px);max-height:calc(100vh - 60px);display:flex;flex-direction:column;animation:pop .18s cubic-bezier(.2,.9,.3,1.2)}.modal-lg{max-width:960px}.modal-xl{max-width:1180px}.modal-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-body{padding:20px;overflow:auto}.modal-footer{padding:14px 20px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;background:var(--surface-2)}.drawer-backdrop{position:fixed;inset:0;background:oklch(0 0 0/.3);z-index:100;animation:fade .15s ease-out}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,92vw);background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:101;display:flex;flex-direction:column;animation:slide-in .22s cubic-bezier(.2,.8,.3,1)}.drawer-lg{width:min(760px,95vw)}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes slide-in{0%{transform:translateX(100%)}to{transform:none}}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px}.seg button{background:transparent;border:0;padding:4px 10px;font-size:12.5px;border-radius:4px;color:var(--ink-3);cursor:pointer;font-family:inherit}.seg button[data-on=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.toolbar{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap}.toolbar .input{width:240px;padding:5px 10px}.toolbar .grow{flex:1}.row{align-items:center}.col,.row{display:flex;gap:8px}.col{flex-direction:column}.grow{flex:1}.gap-4{gap:4px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.mono{font-family:var(--font-mono)}.muted{color:var(--ink-3)}.muted-2{color:var(--ink-4)}.small{font-size:12px}.tnum{font-variant-numeric:tabular-nums}.bold{font-weight:600}.divider{height:1px;background:var(--border);margin:14px 0}.dot-sep{color:var(--ink-4);margin:0 6px}.grid-2{grid-template-columns:1fr 1fr}.grid-2,.grid-3{display:grid;gap:16px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-12{display:grid;grid-template-columns:2fr 1fr;gap:16px}@media (max-width:1100px){.grid-12,.grid-2,.grid-3{grid-template-columns:1fr}}.chart-axis{font-size:10.5px;fill:var(--ink-4);font-family:var(--font-mono)}.chart-grid line{stroke:var(--border)}.chart-line{fill:none;stroke-width:2}.chart-area{opacity:.12}.chart-bar:hover{opacity:.85}.chart-tooltip{position:absolute;background:var(--ink);color:var(--bg);padding:6px 10px;border-radius:6px;font-size:12px;pointer-events:none;white-space:nowrap;box-shadow:var(--shadow)}.cal-grid{display:grid;grid-template-columns:64px repeat(7,1fr);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.cal-header{background:var(--surface-2);padding:10px 8px;font-size:11.5px;font-weight:500;color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em;text-align:center}.cal-header,.cal-time{border-bottom:1px solid var(--border);border-right:1px solid var(--border)}.cal-time{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-3);padding:4px 6px;height:56px;text-align:right}.cal-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);position:relative;min-height:56px;padding:2px}.cal-event{background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:4px;padding:4px 6px;font-size:11.5px;cursor:grab;margin-bottom:2px;color:var(--accent-ink);-webkit-user-select:none;-moz-user-select:none;user-select:none}.cal-event:active{cursor:grabbing}.cal-event.dragging{opacity:.4}.cal-event.subj-math{background:var(--info-soft);border-left-color:var(--info);color:var(--info)}.cal-event.subj-sci{background:var(--success-soft);border-left-color:var(--success);color:var(--success)}.cal-event.subj-eng{background:var(--violet-soft);border-left-color:var(--violet);color:var(--violet)}.cal-event.subj-soc{background:var(--amber-soft);border-left-color:var(--amber);color:var(--amber-ink)}.cal-event.subj-guj{background:var(--danger-soft);border-left-color:var(--danger);color:var(--danger)}.cal-event-title{font-weight:500}.cal-event-meta{font-size:10.5px;opacity:.8;font-family:var(--font-mono)}.cal-cell.drop-target{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.kanban{grid-template-columns:repeat(4,minmax(240px,1fr));gap:14px}.kanban-col{min-height:400px}.kanban-col-header{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);font-size:12px;font-weight:600}.kanban-col-body{padding:8px;display:flex;flex-direction:column;gap:6px;flex:1}.kanban-col.drop-target{background:var(--accent-soft)}.lead-card{padding:10px;cursor:grab;font-size:12.5px;box-shadow:var(--shadow-sm)}.lead-card:active{cursor:grabbing}.lead-card.dragging{opacity:.4}.lead-card .name{font-weight:500;color:var(--ink)}.lead-card .meta{display:flex;gap:8px;align-items:center;margin-top:4px;color:var(--ink-3);font-size:11px;font-family:var(--font-mono)}.funnel-chart{display:flex;flex-direction:column;height:100%;min-height:200px}.funnel-seg{flex:1 1 0;min-height:34px;background:linear-gradient(90deg,var(--accent),var(--accent-ink));color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;font-size:12.5px;transition:opacity .2s}.funnel-seg-label{font-weight:500}.funnel-seg-value{font-family:var(--font-mono);font-weight:600}.funnel-seg-step{font-size:11px;opacity:.85}.funnel{display:flex;flex-direction:column;gap:6px}.funnel-row{gap:12px}.funnel-bar,.funnel-row{display:flex;align-items:center}.funnel-bar{background:linear-gradient(90deg,var(--accent),var(--accent-ink));border-radius:4px;height:32px;padding:0 10px;color:#fff;font-weight:500;font-size:12px;font-family:var(--font-mono);min-width:60px;position:relative}.funnel-label{flex:0 0 130px;font-size:12.5px}.funnel-pct{color:var(--ink-3);font-size:11px;font-family:var(--font-mono);flex:0 0 60px}.lb-row{display:grid;grid-template-columns:32px 1fr 80px 80px;align-items:center;gap:12px;padding:8px 4px;border-bottom:1px solid var(--border);font-size:12.5px}.lb-row:last-child{border-bottom:0}.lb-rank{font-family:var(--font-mono);font-weight:600;color:var(--ink-3);text-align:center;background:var(--surface-2);border-radius:var(--radius-sm);padding:4px 0}.lb-row.top1 .lb-rank{background:oklch(85% .13 90);color:oklch(35% .13 90)}.lb-row.top2 .lb-rank{background:oklch(88% .02 80);color:oklch(40% .02 80)}.lb-row.top3 .lb-rank{background:oklch(85% .06 50);color:oklch(40% .06 50)}.lb-bar{height:6px;background:var(--surface-2);border-radius:999px;overflow:hidden}.lb-bar-fill{height:100%;background:var(--accent);border-radius:999px}.queue-item{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.queue-item:last-child{border-bottom:0}.queue-item:hover{background:var(--surface-2)}.file-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);font-size:12.5px;color:var(--ink-2)}.file-row .ext{font-family:var(--font-mono);font-size:10px;background:var(--surface-2);padding:2px 6px;border-radius:4px}.chk{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--ink-2)}.chk input{accent-color:var(--accent);width:14px;height:14px}@media (max-width:1000px){.notif-grid{grid-template-columns:1fr!important}.notif-grid>div[style*=sticky]{position:static!important}}.region-map{position:relative;background:var(--surface-2);border-radius:var(--radius);padding:16px;min-height:280px}.dropdown{position:absolute;top:calc(100% + 6px);right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:340px;z-index:50;overflow:hidden;animation:pop .15s cubic-bezier(.2,.9,.3,1.2)}.dropdown.lg{width:440px}.dropdown-item{padding:10px 14px;border-bottom:1px solid var(--border);font-size:13px;cursor:pointer}.dropdown-item:hover{background:var(--surface-2)}.dropdown-item:last-child{border-bottom:0}.role-menu-item{padding:8px 12px;cursor:pointer;display:flex;gap:10px;align-items:center;font-size:13px}.role-menu-item:hover{background:var(--surface-2)}.role-menu-item .ico{width:28px;height:28px;border-radius:6px;background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center;font-weight:600;font-family:var(--font-mono);font-size:11px}.steps{display:flex;gap:0;border-bottom:1px solid var(--border);padding:0 20px}.step{padding:14px 0;margin-right:24px;font-size:13px;color:var(--ink-3);border-bottom:2px solid transparent;cursor:pointer;display:flex;align-items:center;gap:8px}.step[data-active=true]{color:var(--ink);border-bottom-color:var(--accent);font-weight:500}.step .num{width:20px;height:20px;border-radius:999px;background:var(--surface-2);display:grid;place-items:center;font-family:var(--font-mono);font-size:11px;color:var(--ink-3)}.step[data-active=true] .num{background:var(--accent);color:#fff}.step[data-done=true] .num{background:var(--success);color:#fff}.step[data-done=true]{color:var(--ink-2)}.toast-wrap{position:fixed;bottom:20px;right:20px;z-index:200;flex-direction:column}.toast,.toast-wrap{display:flex;gap:10px}.toast{background:var(--ink);color:var(--bg);padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;box-shadow:var(--shadow-lg);align-items:center;animation:slide-in .25s cubic-bezier(.2,.8,.3,1)}.toast.success{background:var(--success);color:#fff}.toast.danger{background:var(--danger);color:#fff}.tag{font-family:var(--font-mono);font-size:10.5px;background:var(--surface-2);color:var(--ink-3);padding:1px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}.tp-panel{font-family:var(--font-ui)!important}.sched-grid{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface)}.sched-grid table{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px}.sched-grid thead th{background:var(--surface-2);text-align:left;font-weight:500;color:var(--ink-2);padding:8px 10px;border-bottom:1px solid var(--border);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0}.sched-grid tbody td{padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:middle}.sched-grid tbody tr:last-child td{border-bottom:0}.sched-grid input[type=time]{font-family:var(--font-mono);font-size:12px;padding:4px 6px;border:1px solid var(--border);border-radius:4px;background:var(--surface);width:90px}.sched-grid input[type=time]:invalid,.sched-grid input[type=time][data-empty=true]{border-color:var(--danger);background:var(--danger-soft)}.sched-grid .subj-cell{font-weight:500;min-width:130px}.sched-grid .subj-meta{color:var(--ink-3);font-size:10.5px;font-family:var(--font-mono)}.sched-grid .tutor-cell select{width:100%;min-width:180px}.batch-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;overflow:hidden}.batch-card-head{padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--border);display:grid;grid-template-columns:1.2fr 1.2fr 1fr .9fr .9fr .7fr auto;gap:10px;align-items:end}.batch-card-head .field{margin-bottom:0}.batch-card-foot{padding:10px 14px;border-top:1px solid var(--border);background:var(--surface);display:flex;align-items:center;gap:12px;font-size:12px}.kanban{display:grid;grid-template-columns:repeat(5,minmax(240px,1fr));gap:12px;align-items:start;overflow-x:auto;padding-bottom:6px;scrollbar-gutter:stable}.kanban-col{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);min-height:200px;display:flex;flex-direction:column}.kanban-head{padding:10px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}.kanban-head .label{font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.kanban-count{margin-left:auto;background:var(--surface);padding:1px 8px;border-radius:999px;font-size:11.5px;color:var(--ink-3);border:1px solid var(--border);font-family:var(--font-mono)}.kanban-body{padding:8px;display:flex;flex-direction:column;gap:8px;flex:1;min-height:80px}.lead-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;cursor:pointer;transition:border-color .12s,box-shadow .12s;display:flex;flex-direction:column;gap:6px}.lead-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.lead-card .lead-title{font-weight:600;font-size:13.5px;letter-spacing:-.01em}.lead-card .lead-meta{font-size:11.5px;color:var(--ink-3);font-family:var(--font-mono)}.lead-score{position:absolute}.kanban-empty{padding:20px 12px;text-align:center;font-size:12px;color:var(--ink-4);font-style:italic}.kanban-col[data-status=New] .kanban-head{border-bottom-color:var(--info)}.kanban-col[data-status=Contacted] .kanban-head{border-bottom-color:var(--amber)}.kanban-col[data-status=Interested] .kanban-head{border-bottom-color:var(--violet)}.kanban-col[data-status=Converted] .kanban-head{border-bottom-color:var(--success)}.kanban-col[data-status=Lost] .kanban-head{border-bottom-color:var(--danger)}.lead-stat-row{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px}.lead-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px;display:flex;align-items:center;gap:10px;min-width:0}.lead-stat .lead-stat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.lead-stat .lead-stat-body{min-width:0;flex:1}.lead-stat .lead-stat-num{font-size:20px;font-weight:600;line-height:1.1;font-feature-settings:"tnum";letter-spacing:-.02em}.lead-stat .lead-stat-lbl{font-size:10.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}@media (max-width:1000px){.lead-stat-row{grid-template-columns:repeat(3,1fr)}}@media (max-width:640px){.lead-stat-row{grid-template-columns:repeat(2,1fr)}}.ba-stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.ba-stat-row>div{padding:14px 16px;border-right:1px solid var(--border)}.ba-stat-row>div:last-child{border-right:0}.ba-stat-label{font-size:11.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-weight:500;margin-bottom:6px}.ba-stat-val{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.ba-stat-sub{font-size:11.5px;color:var(--ink-3);margin-top:2px}.dual-bar{display:flex;height:8px;border-radius:999px;overflow:hidden;background:var(--surface-2);margin-top:8px}.dual-bar .seg-a{background:var(--accent)}.dual-bar .seg-b{background:var(--amber)}.dual-bar .seg-c{background:var(--success)}.dual-bar .seg-d{background:var(--info)}.money-big{font-size:36px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.money-big.danger{color:var(--danger)}.money-big.success{color:var(--success)}.form-section{font-size:13px;font-weight:600;color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em;padding:10px 0 8px;border-bottom:1px solid var(--border);margin-bottom:14px;margin-top:18px}.form-section:first-child{margin-top:0}.field-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.field-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width:900px){.field-row-2,.field-row-3{grid-template-columns:1fr}}.lbl-gu{display:block;font-size:11px;font-family:var(--font-gu);color:var(--ink-3);font-weight:400;margin-top:1px}.receipt{border:1px dashed var(--border-strong);background:var(--surface-2);border-radius:var(--radius);padding:18px;font-family:var(--font-mono);font-size:12.5px}.receipt-row{padding:4px 0}.receipt-row,.receipt-total{display:flex;justify-content:space-between}.receipt-total{border-top:1px solid var(--border-strong);margin-top:8px;padding-top:8px;font-size:15px;font-weight:600}.step-trail{display:flex;align-items:center;gap:0;margin:12px 0}.step-trail .s{flex:1;padding:7px 10px;background:var(--surface-2);border:1px solid var(--border);color:var(--ink-3);font-size:12px;font-weight:500;text-align:center;position:relative}.step-trail .s:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.step-trail .s:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.step-trail .s+.s{border-left:0}.step-trail .s.active{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent)}.step-trail .s.done{background:var(--success-soft);color:var(--success);border-color:var(--success)}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px;padding:14px}.course-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 14px 12px;cursor:pointer;transition:border-color .12s,box-shadow .12s,transform .12s;display:flex;flex-direction:column;gap:10px}.course-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.course-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.course-card-head{display:flex;align-items:flex-start;gap:10px}.course-card-title{font-weight:600;font-size:14.5px;letter-spacing:-.01em;line-height:1.3;margin-bottom:2px}.course-card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.course-card-states{display:flex;gap:4px;flex-wrap:wrap;min-height:22px}.course-card-stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 4px}.course-card-stats>div{text-align:center;padding:2px 0}.course-card-stats>div+div{border-left:1px solid var(--border)}.course-card-stats .stat-label{font-size:10.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.course-card-stats .stat-val{font-size:15px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.course-card-foot{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid var(--border)}.course-card-foot .course-fee .small{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:500}.course-chk{display:flex;align-items:center;padding:2px}.course-chk input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.course-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.course-type-card{display:flex;gap:12px;align-items:flex-start;text-align:left;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.course-type-card:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-2)}.course-type-card:disabled{opacity:.45;cursor:not-allowed}.course-type-card.is-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-soft)}.course-type-card[data-tone=info].is-selected{border-color:var(--info);background:var(--info-soft);box-shadow:0 0 0 3px var(--info-soft)}.course-type-card[data-tone=violet].is-selected{border-color:var(--violet);background:var(--violet-soft);box-shadow:0 0 0 3px var(--violet-soft)}.course-type-card[data-tone=warning].is-selected{border-color:var(--amber-ink);background:var(--amber-soft);box-shadow:0 0 0 3px var(--amber-soft)}.course-type-icon{width:36px;height:36px;flex:0 0 36px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--surface-2);color:var(--ink-2)}.course-type-card[data-tone=info] .course-type-icon{background:var(--info-soft);color:var(--info)}.course-type-card[data-tone=violet] .course-type-icon{background:var(--violet-soft);color:var(--violet)}.course-type-card[data-tone=accent] .course-type-icon{background:var(--accent-soft);color:var(--accent-ink)}.course-type-card[data-tone=warning] .course-type-icon{background:var(--amber-soft);color:var(--amber-ink)}.course-type-body{flex:1;min-width:0}.course-type-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;letter-spacing:-.005em;color:var(--ink-2)}.course-type-tagline{margin-top:2px;font-size:12px;color:var(--ink-3)}.course-type-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:var(--accent);color:#fff}.course-type-card[data-tone=info].is-selected .course-type-check{background:var(--info)}.course-type-card[data-tone=violet].is-selected .course-type-check{background:var(--violet)}.course-type-card[data-tone=warning].is-selected .course-type-check{background:var(--amber-ink)}.course-type-foot{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border)}.course-type-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px 2px 6px;border-radius:999px;font-size:11px;font-weight:500;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--border);white-space:nowrap}.course-type-chip svg{flex:0 0 auto}.course-type-chip[data-tone=info]{background:var(--info-soft);color:var(--info);border-color:transparent}.course-type-chip[data-tone=violet]{background:var(--violet-soft);color:var(--violet);border-color:transparent}.course-type-chip[data-tone=accent]{background:var(--accent-soft);color:var(--accent-ink);border-color:transparent}.course-type-chip[data-tone=warning]{background:var(--amber-soft);color:var(--amber-ink);border-color:transparent}.bulk-bar{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:999px;box-shadow:0 12px 32px -8px oklch(0 0 0/.25);z-index:50;font-size:13px;min-width:480px}.bulk-bar .grow{flex:1}.bulk-bar .btn{background:oklch(from var(--ink) calc(l + .08) c h);color:var(--bg);border-color:oklch(from var(--ink) calc(l + .12) c h)}.bulk-bar .btn:hover{background:oklch(from var(--ink) calc(l + .14) c h)}.bulk-bar .btn-ghost{background:transparent;border-color:transparent;color:var(--bg);opacity:.7}.bulk-bar .btn-ghost:hover{opacity:1;background:transparent}.action-list{display:flex;flex-direction:column}.action-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:transparent;border:0;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;color:var(--ink);font-size:13px;width:100%}.action-item:last-child{border-bottom:0}.action-item:hover{background:var(--surface-2)}.action-icon{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center;flex-shrink:0}.action-item.danger .action-icon{background:var(--danger-soft);color:var(--danger)}.compact-list .tbl tbody tr{cursor:pointer}.action-menu-wrap{position:relative}.action-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 12px 32px -8px oklch(0 0 0/.18);min-width:200px;padding:4px}.action-menu-item{display:flex;align-items:center;gap:10px;padding:7px 10px;width:100%;background:transparent;border:0;border-radius:4px;cursor:pointer;font-size:13px;color:var(--ink);text-align:left}.action-menu-item:hover{background:var(--surface-2)}.action-menu-item.danger{color:var(--danger)}.action-menu-item.danger:hover{background:var(--danger-soft)}.action-menu-sep{height:1px;background:var(--border);margin:4px 0}.action-menu-scrim{position:fixed;inset:0;z-index:35}.master-add-row{display:flex;gap:8px;align-items:center;padding:10px 14px;background:var(--accent-soft);border-bottom:1px solid var(--border)}.master-add-row .input,.master-add-row .select{padding:5px 10px;font-size:13px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px;border:2px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}.link-btn{background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-family:inherit;font-size:inherit}.link-btn:hover{opacity:.75}.field-row .card:focus{outline:2px solid var(--accent)}.login-shell{position:fixed;inset:0;display:grid;grid-template-columns:1fr 1fr;background:var(--bg);z-index:1}.login-left{background:linear-gradient(155deg,var(--accent) 0,var(--accent-ink) 100%);color:#fff;padding:48px 56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-left:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 10%,hsla(0,0%,100%,.12),transparent 40%),radial-gradient(circle at 10% 90%,hsla(0,0%,100%,.08),transparent 40%);pointer-events:none}.login-brand{display:flex;align-items:center;gap:12px;position:relative;z-index:1;color:#fff}.login-brand .brand-mark{background:hsla(0,0%,100%,.18);color:#fff;border:1px solid hsla(0,0%,100%,.3)}.login-brand .brand-name{color:#fff;font-weight:600}.login-brand .brand-sub{color:hsla(0,0%,100%,.7);font-size:11px}.login-headline{position:relative;z-index:1;max-width:420px}.login-headline .kicker{text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:hsla(0,0%,100%,.7);margin-bottom:12px}.login-headline h1{font-size:44px;line-height:1.1;font-weight:600;letter-spacing:-.02em;margin:0 0 14px;text-wrap:balance}.login-headline p{font-size:15px;color:hsla(0,0%,100%,.85);margin:0;max-width:380px}.login-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:20px;border-top:1px solid hsla(0,0%,100%,.18)}.login-stats>div{display:flex;flex-direction:column;gap:4px}.login-stats .big{font-size:24px;font-weight:600;color:#fff}.login-stats .muted{font-size:11px;color:hsla(0,0%,100%,.7)}.login-right{display:grid;place-items:center;padding:32px;overflow:auto}.login-card{width:100%;max-width:420px;display:flex;flex-direction:column;gap:10px}.login-title{font-size:26px;font-weight:600;letter-spacing:-.02em}.login-sub{margin-top:-4px}.login-error{padding:8px 12px;border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-size:13px;gap:6px}.login-divider,.login-error{display:flex;align-items:center}.login-divider{gap:10px;margin:14px 0 6px;color:var(--ink-3);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.login-divider:after,.login-divider:before{content:"";flex:1;height:1px;background:var(--border)}.login-quick{display:grid;grid-template-columns:1fr 1fr;gap:8px}.login-quick-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:all .12s ease}.login-quick-card:hover{border-color:var(--accent);background:var(--accent-soft)}.login-quick-card .lq-text{flex:1;min-width:0}.login-quick-card .lq-name{font-size:12.5px;font-weight:500;color:var(--ink)}.login-quick-card .lq-meta{font-size:10.5px;color:var(--ink-3)}@media (max-width:860px){.login-shell{grid-template-columns:1fr}.login-left{padding:24px;min-height:220px}.login-headline h1{font-size:30px}.login-stats{padding-top:16px}}.area-alloc{border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;background:var(--surface-2)}.area-builder{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.area-builder>.field{margin-bottom:0}.district-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));padding:8px;background:var(--surface);border:1px solid var(--border);max-height:160px;overflow:auto}.district-chk,.district-grid{gap:6px;border-radius:var(--radius-sm)}.district-chk{display:flex;align-items:center;padding:6px 10px;cursor:pointer;font-size:12.5px;background:var(--surface-2);border:1px solid transparent}.district-chk:hover{background:var(--surface);border-color:var(--border)}.district-chk[data-on=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink);font-weight:500}.district-chk input{margin:0}.area-list{margin-top:14px;display:flex;flex-direction:column;gap:8px}.area-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.area-state{display:flex;align-items:center;gap:6px;width:180px;flex-shrink:0;padding-top:4px}.area-districts{flex:1;display:flex;flex-wrap:wrap;gap:4px}.area-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 8px;background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;font-size:11.5px;font-weight:500}.area-chip .icon-btn{padding:2px;color:var(--accent-ink);opacity:.7}.area-chip .icon-btn:hover{opacity:1}.cred-card{padding:14px;background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:8px}.cred-row{display:grid;grid-template-columns:120px 1fr auto}.cred-row,.pw-strength{gap:10px;align-items:center}.pw-strength{display:flex;margin-top:6px}.pw-strength-track{flex:1;height:4px;background:var(--border);border-radius:999px;overflow:hidden}.pw-strength-fill{height:100%;transition:width .2s ease,background .2s ease}.permstat{display:flex;flex-direction:column;gap:2px;padding:10px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:130px}.permstat-v{font-size:22px;font-weight:650;color:var(--ink);line-height:1.05;letter-spacing:-.01em}.permstat-l{font-size:11.5px;color:var(--ink-3)}.permbar{flex:1;height:6px;min-width:80px;background:var(--surface-2);border-radius:999px;overflow:hidden;border:1px solid var(--border)}.permbar>span{display:block;height:100%;border-radius:999px;transition:width .25s ease}.ptag{display:inline-flex;align-items:center;padding:1px 7px;border-radius:999px;font-size:10.5px;font-weight:600;letter-spacing:.01em;white-space:nowrap;text-transform:none}.ptag.neutral{background:var(--surface-2);color:var(--ink-3);border:1px solid var(--border)}.ptag.info{background:var(--info-soft);color:var(--info)}.ptag.accent{background:var(--accent-soft);color:var(--accent-ink)}.ptag.danger{background:var(--danger-soft);color:var(--danger)}.pswitch{flex:none;width:38px;height:22px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);position:relative;cursor:pointer;padding:0;transition:background .16s ease,border-color .16s ease}.pswitch-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:999px;background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .16s ease}.pswitch.on{background:var(--success);border-color:var(--success)}.pswitch.on .pswitch-knob{transform:translateX(16px);background:#fff}.pswitch.locked{opacity:.55;cursor:not-allowed}.pswitch.locked.on{background:var(--accent);border-color:var(--accent)}.permck{display:flex;flex-direction:column}.permck-search{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-bottom:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-3)}.permck-search input{flex:1;border:0;background:transparent;outline:none;font:inherit;font-size:13px;color:var(--ink)}.permck-search .x{border:0;background:transparent;cursor:pointer;color:var(--ink-3);font-size:16px;line-height:1;padding:0 2px}.permck-body{overflow:auto;border:1px solid var(--border);border-radius:var(--radius)}.permck-group+.permck-group{border-top:1px solid var(--border)}.permck-grouphead{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--surface-2);position:sticky;top:0;z-index:1;border-bottom:1px solid var(--border)}.permck-grouphead .bold{color:var(--ink);font-size:12.5px}.permck-bulk{border:0;background:transparent;cursor:pointer;font:inherit;font-size:11.5px;font-weight:600;color:var(--accent-ink)}.permck-bulk:hover{text-decoration:underline}.permck-row{display:flex;align-items:center;gap:12px;padding:9px 14px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .12s ease}.permck-group .permck-row:last-child{border-bottom:0}.permck-row:hover{background:var(--surface-2)}.permck-row.ro{cursor:default}.permck-row.ro:hover{background:transparent}.permck-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.permck-desc{font-size:12.5px;color:var(--ink-2)}.permck-id{font-size:10.5px}.permck-empty{padding:30px;text-align:center;color:var(--ink-3);font-size:13px}.permck-lock{display:flex;align-items:center;gap:8px;padding:10px 12px;margin-bottom:10px;background:var(--accent-soft);color:var(--accent-ink);border-radius:var(--radius-sm);font-size:12.5px}.roleperm-split{display:grid;grid-template-columns:240px 1fr;min-height:540px}.roleperm-rail{border-right:1px solid var(--border);overflow:auto;max-height:620px;padding:6px}.roleperm-railitem{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:8px 10px;border:0;background:transparent;border-radius:var(--radius-sm);cursor:pointer;font:inherit;color:var(--ink-2)}.roleperm-railitem:hover{background:var(--surface-2)}.roleperm-railitem.on{background:var(--ink);color:var(--bg)}.roleperm-railname{font-size:13px;font-weight:500;display:flex;align-items:center}.roleperm-railcount{font-size:11px;opacity:.75}.roleperm-railitem.on .ptag{background:hsla(0,0%,100%,.2);color:#fff}.roleperm-main{padding:14px;min-width:0}.roleperm-mainhead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.permmaster-group td{background:var(--surface-2);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);padding:6px 14px!important}@media (max-width:860px){.roleperm-split{grid-template-columns:1fr}.roleperm-rail{display:flex;gap:6px;overflow-x:auto;max-height:none;border-right:0;border-bottom:1px solid var(--border)}.roleperm-railitem{min-width:150px}}