:root{--navy: #1d1d1f;--blue: #0071e3;--blue-hover: #0077ed;--bg: #f5f5f7;--bg-mesh: radial-gradient(at 12% 0%, rgba(0, 113, 227, .07) 0px, transparent 48%), radial-gradient(at 88% 4%, rgba(88, 86, 214, .06) 0px, transparent 46%), radial-gradient(at 50% 95%, rgba(52, 199, 89, .04) 0px, transparent 50%), #f5f5f7;--surface: rgba(255, 255, 255, .78);--surface-solid: #ffffff;--surface-2: rgba(242, 242, 247, .72);--surface-3: rgba(118, 118, 128, .11);--surface-elevated: rgba(255, 255, 255, .88);--head-bg: rgba(255, 255, 255, .72);--head-ink: #1d1d1f;--ink: #1d1d1f;--ink-secondary: #424245;--muted: #86868b;--line: rgba(0, 0, 0, .075);--line-strong: rgba(0, 0, 0, .13);--glass-border: rgba(255, 255, 255, .75);--accent: #0071e3;--accent-ink: #ffffff;--accent-soft: rgba(0, 113, 227, .1);--good: #248a3d;--good-bright: #34c759;--good-soft: rgba(52, 199, 89, .13);--warn: #b25000;--warn-bright: #ff9f0a;--warn-soft: rgba(255, 159, 10, .15);--crit: #d70015;--crit-bright: #ff3b30;--crit-soft: rgba(255, 59, 48, .12);--s-ap: #0071e3;--s-af: #5856d6;--s-auto: #30b0c7;--s-pyme: #ff9f0a;--f1: #64d2ff;--f2: #409cff;--f3: #007aff;--f4: #0071e3;--f5: #3634a3;--f6: #5856d6;--f7: #248a3d;--blur: saturate(180%) blur(24px);--blur-sm: saturate(160%) blur(14px);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .03);--shadow: 0 4px 20px -2px rgba(0, 0, 0, .045), 0 1px 3px rgba(0, 0, 0, .03), inset 0 1px 0 rgba(255, 255, 255, .7);--shadow-hover: 0 12px 32px -4px rgba(0, 0, 0, .085), 0 2px 6px rgba(0, 0, 0, .04), inset 0 1px 0 rgba(255, 255, 255, .9);--shadow-modal: 0 28px 80px -12px rgba(0, 0, 0, .26), 0 0 1px rgba(0, 0, 0, .2), inset 0 1px 0 rgba(255, 255, 255, .65);--r-sm: 10px;--r-md: 14px;--r-lg: 18px;--r-xl: 24px;--font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Inter", system-ui, sans-serif;--mono: "SF Mono", "JetBrains Mono", ui-monospace, Menlo, monospace}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--navy: #f5f5f7;--blue: #0a84ff;--blue-hover: #409cff;--bg: #000000;--bg-mesh: radial-gradient(at 15% 0%, rgba(10, 132, 255, .14) 0px, transparent 50%), radial-gradient(at 85% 5%, rgba(94, 92, 230, .12) 0px, transparent 48%), radial-gradient(at 50% 100%, rgba(48, 209, 88, .06) 0px, transparent 50%), #090a0f;--surface: rgba(28, 28, 32, .72);--surface-solid: #1c1c1e;--surface-2: rgba(44, 44, 48, .58);--surface-3: rgba(118, 118, 128, .24);--surface-elevated: rgba(38, 38, 42, .86);--head-bg: rgba(20, 20, 24, .72);--head-ink: #f5f5f7;--ink: #f5f5f7;--ink-secondary: #d1d1d6;--muted: #8e8e93;--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .16);--glass-border: rgba(255, 255, 255, .1);--accent: #0a84ff;--accent-ink: #ffffff;--accent-soft: rgba(10, 132, 255, .16);--good: #30d158;--good-bright: #30d158;--good-soft: rgba(48, 209, 88, .16);--warn: #ffd60a;--warn-bright: #ff9f0a;--warn-soft: rgba(255, 159, 10, .18);--crit: #ff453a;--crit-bright: #ff453a;--crit-soft: rgba(255, 69, 58, .18);--shadow: 0 8px 28px -4px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .4), inset 0 1px 0 rgba(255, 255, 255, .08);--shadow-hover: 0 14px 36px -4px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .14);--shadow-modal: 0 32px 90px rgba(0, 0, 0, .75), 0 0 0 1px rgba(255, 255, 255, .12), inset 0 1px 0 rgba(255, 255, 255, .1);color-scheme:dark}}:root[data-theme=dark]{--navy: #f5f5f7;--blue: #0a84ff;--blue-hover: #409cff;--bg: #000000;--bg-mesh: radial-gradient(at 15% 0%, rgba(10, 132, 255, .14) 0px, transparent 50%), radial-gradient(at 85% 5%, rgba(94, 92, 230, .12) 0px, transparent 48%), radial-gradient(at 50% 100%, rgba(48, 209, 88, .06) 0px, transparent 50%), #090a0f;--surface: rgba(28, 28, 32, .72);--surface-solid: #1c1c1e;--surface-2: rgba(44, 44, 48, .58);--surface-3: rgba(118, 118, 128, .24);--surface-elevated: rgba(38, 38, 42, .86);--head-bg: rgba(20, 20, 24, .72);--head-ink: #f5f5f7;--ink: #f5f5f7;--ink-secondary: #d1d1d6;--muted: #8e8e93;--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .16);--glass-border: rgba(255, 255, 255, .1);--accent: #0a84ff;--accent-ink: #ffffff;--accent-soft: rgba(10, 132, 255, .16);--good: #30d158;--good-bright: #30d158;--good-soft: rgba(48, 209, 88, .16);--warn: #ffd60a;--warn-bright: #ff9f0a;--warn-soft: rgba(255, 159, 10, .18);--crit: #ff453a;--crit-bright: #ff453a;--crit-soft: rgba(255, 69, 58, .18);--shadow: 0 8px 28px -4px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .4), inset 0 1px 0 rgba(255, 255, 255, .08);--shadow-hover: 0 14px 36px -4px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .14);--shadow-modal: 0 32px 90px rgba(0, 0, 0, .75), 0 0 0 1px rgba(255, 255, 255, .12), inset 0 1px 0 rgba(255, 255, 255, .1);color-scheme:dark}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{margin:0;min-height:100vh}body{background:var(--bg-mesh);background-attachment:fixed;color:var(--ink);font-family:var(--font);font-size:13.5px;line-height:1.48;letter-spacing:-.011em}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}.num{font-variant-numeric:tabular-nums;letter-spacing:-.02em}.mono{font-family:var(--mono);font-size:.92em}.wrap{padding-left:max(22px,env(safe-area-inset-left,0px));padding-right:max(22px,env(safe-area-inset-right,0px))}.top{background:var(--head-bg);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);color:var(--head-ink);position:sticky;top:env(safe-area-inset-top,0px);z-index:30;border-bottom:1px solid var(--line)}.top-in{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding-block:11px;max-width:1640px;margin:0 auto}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand .chip{background:#fff;border-radius:10px;padding:5px 10px;display:flex;align-items:center;box-shadow:0 2px 8px #0000000f,0 0 0 1px #0000000a}.brand img{height:26px;width:auto;display:block}.brand h1{font-size:15px;margin:0;font-weight:600;letter-spacing:-.022em;color:var(--ink)}.brand small{display:block;color:var(--muted);font-size:11.5px;font-weight:400}.top-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto}.who{display:flex;flex-direction:column;line-height:1.2;text-align:right;padding-right:6px;border-right:1px solid var(--line);margin-right:2px}.who b{font-size:13px;font-weight:600;color:var(--ink)}.who small{color:var(--muted);font-size:11px}.btn{border:1px solid var(--line-strong);background:var(--surface-elevated);backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);color:var(--ink);border-radius:999px;padding:6px 14px;cursor:pointer;font-weight:500;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-shadow:var(--shadow-xs);transition:all .18s cubic-bezier(.22,1,.36,1);text-decoration:none}.btn:hover:not([disabled]){background:var(--surface-solid);border-color:#0071e359;transform:translateY(-.5px);box-shadow:0 3px 10px #0000000f}.btn:active:not([disabled]){transform:scale(.98)}.btn:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,.tab:focus-visible,.card:focus-visible{outline:none;box-shadow:0 0 0 3.5px #0071e347}.btn.primary{background:var(--blue);color:#fff;border-color:transparent;box-shadow:0 2px 10px #0071e347,inset 0 1px #ffffff38}.btn.primary:hover:not([disabled]){background:var(--blue-hover);box-shadow:0 4px 14px #0071e361,inset 0 1px #ffffff47}.btn.nuevo{background:var(--blue);border-color:transparent;color:#fff;font-weight:600;box-shadow:0 2px 10px #0071e347,inset 0 1px #ffffff40}.btn.nuevo:hover:not([disabled]){background:var(--blue-hover);box-shadow:0 4px 16px #0071e361}.btn.danger{color:var(--crit);background:var(--crit-soft);border-color:#d700152e}.btn.danger:hover:not([disabled]){background:#ff3b3033}.btn.ghost-light{background:var(--surface-3);border-color:transparent;color:var(--ink);box-shadow:none}.btn.ghost-light:hover:not([disabled]){background:#7676802e;transform:none}.btn[disabled]{opacity:.42;cursor:not-allowed;transform:none}.btn.sm{padding:4px 11px;font-size:12px}.tabs{background:#ffffff85;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border-bottom:1px solid var(--line);position:sticky;top:calc(env(safe-area-inset-top,0px) + 55px);z-index:25}:root[data-theme=dark] .tabs{background:#1212169e}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .tabs{background:#1212169e}}.tabs-in{display:flex;align-items:center;justify-content:space-between;gap:12px;overflow-x:auto;max-width:1640px;margin:0 auto;padding-block:8px}.nav-pills{display:inline-flex;gap:3px;padding:3.5px;background:var(--surface-3);border-radius:12px}.tab{border:0;background:transparent;padding:6px 15px;cursor:pointer;font-weight:500;font-size:13px;color:var(--muted);border-radius:9px;white-space:nowrap;transition:all .2s cubic-bezier(.22,1,.36,1);display:inline-flex;align-items:center;gap:6px}.tab:hover{color:var(--ink)}.tab[aria-selected=true]{color:var(--ink);font-weight:600;background:var(--surface-solid);box-shadow:0 2px 7px #00000014,0 .5px 1px #0000000d}.tab-count{font-size:11px;padding:1px 6px;border-radius:999px;background:var(--surface-3);color:var(--muted);font-variant-numeric:tabular-nums}.tab[aria-selected=true] .tab-count{background:var(--accent-soft);color:var(--blue)}main{max-width:1640px;margin:0 auto;padding-block:22px 68px}.banner{display:flex;gap:10px;flex-wrap:wrap;align-items:center;background:var(--surface);backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);border:1px solid var(--line);border-left:3.5px solid var(--blue);border-radius:var(--r-md);padding:11px 16px;margin-bottom:16px;font-size:13px;box-shadow:var(--shadow-xs)}.banner b{color:var(--ink);font-weight:600}.bar{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center;margin-bottom:16px}.bar .grow{flex:1 1 220px;min-width:0}.in,select.in,textarea.in{width:100%;border:1px solid var(--line-strong);background:var(--surface-elevated);backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);border-radius:var(--r-sm);padding:8px 12px;min-width:0;font-size:13.5px;color:var(--ink);transition:border-color .16s,box-shadow .16s,background .16s;box-shadow:inset 0 1px 2px #00000005}.in::placeholder{color:var(--muted)}.in:hover:not([disabled]):not([readonly]){border-color:#0071e366}.in:focus{border-color:var(--blue);background:var(--surface-solid)}.in[disabled],.in[readonly]{background:var(--surface-2);color:var(--muted);border-color:var(--line);cursor:not-allowed;box-shadow:none}.seg{display:inline-flex;padding:3px;border-radius:10px;background:var(--surface-3);border:0;gap:2px}.seg button{border:0;background:transparent;padding:5px 12px;border-radius:7.5px;cursor:pointer;font-weight:500;font-size:12.5px;color:var(--muted);transition:all .18s cubic-bezier(.22,1,.36,1)}.seg button:hover{color:var(--ink)}.seg button[aria-pressed=true]{background:var(--surface-solid);color:var(--ink);font-weight:600;box-shadow:0 2px 6px #00000017,0 .5px 1px #0000000d}.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(276px,1fr);gap:14px;overflow-x:auto;padding-bottom:16px;align-items:start;scrollbar-width:thin}.col{background:var(--surface-2);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:var(--r-lg);min-height:280px;display:flex;flex-direction:column;min-width:0;box-shadow:inset 0 1px 0 var(--glass-border);transition:border-color .2s,background .2s}.col.over{border-color:var(--blue);background:var(--accent-soft);box-shadow:0 0 0 2px #0071e340}.col-h{padding:13px 14px 11px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.col-h h3{margin:0;font-size:12px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.col-h .n{font-weight:600;font-size:11.5px;background:var(--surface-3);color:var(--ink-secondary);padding:2px 8px;border-radius:999px}.col-h small{color:var(--muted);display:block;font-size:11.5px;margin-top:2px;font-weight:500}.col-b{padding:10px;display:flex;flex-direction:column;gap:10px}.card{background:var(--surface-elevated);backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);border:1px solid var(--line);border-radius:var(--r-md);padding:13px;box-shadow:var(--shadow);cursor:pointer;min-width:0;position:relative;transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s cubic-bezier(.22,1,.36,1),border-color .18s}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:#0071e352}.card.sla-rojo{border-left:3.5px solid var(--crit-bright)}.card.sla-ambar{border-left:3.5px solid var(--warn-bright)}.card.ballena{background:linear-gradient(145deg,var(--surface-elevated) 40%,var(--accent-soft) 100%);border-color:#0071e352}.card h4{margin:0 0 6px;font-size:13.5px;font-weight:600;letter-spacing:-.015em;line-height:1.3;color:var(--ink);overflow-wrap:anywhere}.card .row{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:11.5px;color:var(--muted)}.card .monto{font-weight:700;color:var(--ink);font-size:15.5px;letter-spacing:-.025em;margin:7px 0 5px}.card .mv{display:flex;justify-content:flex-end;gap:5px;margin-top:8px;padding-top:6px;border-top:1px solid var(--line)}.mini{display:grid;grid-template-columns:auto 1fr auto;gap:4px 8px;align-items:center;font-size:10.5px;color:var(--muted);margin-top:6px}.bar-t{height:5px;background:var(--surface-3);border-radius:999px;overflow:hidden}.bar-t i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),#409cff);border-radius:999px;transition:width .3s ease}.tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8.5px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:-.005em;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-secondary);white-space:nowrap}.tag.pnc{background:var(--good-soft);color:var(--good);border-color:#34c75938}.tag.whale{background:linear-gradient(135deg,#0071e3,#5856d6);color:#fff;border-color:transparent;box-shadow:0 2px 6px #0071e340}.tag.rojo{background:var(--crit-soft);color:var(--crit);border-color:#ff3b3033}.tag.ambar{background:var(--warn-soft);color:var(--warn);border-color:#ff9f0a3d}.tag.verde{background:var(--good-soft);color:var(--good);border-color:#34c75938}.tag.p-AP{background:#0071e31a;color:var(--s-ap);border-color:#0071e33d}.tag.p-AF{background:#5856d61a;color:var(--s-af);border-color:#5856d63d}.tag.p-Automotriz{background:#30b0c71f;color:#1c8ea3;border-color:#30b0c747}.tag.p-Pyme{background:#ff9f0a21;color:var(--warn);border-color:#ff9f0a47}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.dot.rojo{background:var(--crit-bright);box-shadow:0 0 0 3px var(--crit-soft)}.dot.ambar{background:var(--warn-bright);box-shadow:0 0 0 3px var(--warn-soft)}.dot.verde,.dot.ok{background:var(--good-bright);box-shadow:0 0 0 3px var(--good-soft)}.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--shadow)}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-2);backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);padding:10px 12px;position:sticky;top:0;white-space:nowrap;border-bottom:1px solid var(--line)}td{padding:10px 12px;border-top:1px solid var(--line);vertical-align:middle}tbody tr:first-child td{border-top:0}td.r,th.r{text-align:right}tr.click{cursor:pointer;transition:background .14s ease}tr.click:hover td{background:var(--accent-soft)}tr.paid td{color:var(--muted)}tr.late td{background:var(--crit-soft)}.panel{background:var(--surface);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow);min-width:0}.panel h2{margin:0 0 4px;font-size:16px;font-weight:600;letter-spacing:-.022em}.panel h3{margin:0 0 10px;font-size:13.5px;font-weight:600;letter-spacing:-.015em}.sub{color:var(--muted);font-size:12px}.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr))}.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.stat{background:var(--surface);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:4px}.stat b{display:block;font-size:23px;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ink)}.stat span{color:var(--muted);font-size:11.5px;font-weight:500;letter-spacing:-.005em}.alert{border-radius:var(--r-md);padding:11px 14px;font-weight:500;font-size:13px;display:flex;gap:10px;align-items:center;border:1px solid transparent}.alert.crit{background:var(--crit-soft);color:var(--crit);border-color:#ff3b3038}.alert.warn{background:var(--warn-soft);color:var(--warn);border-color:#ff9f0a3d}.alert.good{background:var(--good-soft);color:var(--good);border-color:#34c7593d}.kpi{display:grid;grid-template-columns:minmax(135px,1.15fr) 3fr auto;gap:6px 14px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.kpi:first-of-type{border-top:0}.kpi .lbl{font-weight:500;font-size:12.5px;display:flex;align-items:center;gap:8px}.meter{position:relative;height:10px;background:var(--surface-3);border-radius:999px}.meter i{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--blue);transition:width .35s cubic-bezier(.22,1,.36,1)}.meter i.rojo{background:linear-gradient(90deg,#ff3b30,#ff6961)}.meter i.ambar{background:linear-gradient(90deg,#ff9f0a,#ffb340)}.meter i.verde{background:linear-gradient(90deg,#28cd41,#34c759)}.meter u{position:absolute;top:-3px;bottom:-3px;width:2px;border-radius:1px;background:var(--ink);opacity:.35}.meter-k{font-size:10.5px;color:var(--muted);margin-top:4px;white-space:nowrap}.kpi .val{text-align:right;font-weight:600;min-width:94px;font-variant-numeric:tabular-nums;font-size:13.5px}@media (max-width: 560px){.kpi{grid-template-columns:1fr auto}.kpi .meter,.kpi .meter-k{grid-column:1 / -1}}.step{display:flex;align-items:center;gap:4px}.step input{width:70px}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.ov{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000052;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:24px 14px;overflow-y:auto}.modal{background:var(--surface-elevated);backdrop-filter:saturate(200%) blur(32px);-webkit-backdrop-filter:saturate(200%) blur(32px);border:1px solid var(--glass-border);border-radius:var(--r-xl);width:min(1080px,100%);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;max-height:calc(100vh - 48px);animation:modalFadeIn .22s cubic-bezier(.22,1,.36,1)}.modal-h,.modal-t,.modal-f{flex:none}.modal-h{padding:18px 22px 14px;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.modal-h h2{margin:0;font-size:19px;font-weight:700;letter-spacing:-.025em;overflow-wrap:anywhere}.modal-t{display:flex;gap:4px;padding:8px 22px;border-bottom:1px solid var(--line);overflow-x:auto;background:var(--surface-2)}.modal-b{padding:20px 22px;overflow-y:auto;flex:1}.modal-f{padding:14px 22px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:var(--surface-2);border-radius:0 0 var(--r-xl) var(--r-xl)}.modal-f .sp{flex:1}.fields{display:grid;gap:12px 16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,215px),1fr))}.fld{display:flex;flex-direction:column;gap:5px;min-width:0}.fld label{font-size:11.5px;font-weight:500;color:var(--ink-secondary);display:flex;gap:6px;align-items:center}.fld.miss label{color:var(--crit)}.fld.span2{grid-column:span 2}@media (max-width: 520px){.fld.span2{grid-column:auto}}.fld.full{grid-column:1 / -1}.chk{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);cursor:pointer;transition:all .16s ease}.chk:hover{border-color:#0071e359}.chk input{width:17px;height:17px;accent-color:var(--blue);border-radius:5px}.chk.on{background:var(--good-soft);border-color:#34c7594d}.lock{color:var(--muted);font-size:11px;font-weight:400}.ring{display:flex;align-items:center;gap:14px}.pillbar{height:8px;background:var(--surface-3);border-radius:999px;overflow:hidden;flex:1;min-width:80px}.pillbar i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),#409cff);border-radius:999px;transition:width .3s ease}.pillbar i.full{background:linear-gradient(90deg,#28cd41,#34c759)}.sect{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.sect:first-child{margin-top:0;padding-top:0;border-top:0}.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:80;background:#1c1c1ee0;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);color:#fff;padding:10px 20px;border-radius:999px;border:1px solid rgba(255,255,255,.14);box-shadow:0 12px 36px #00000047;max-width:min(560px,calc(100vw - 32px));font-weight:500;font-size:13px}.toast.err{background:#d70015e6}.legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;margin-top:8px}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px}svg text{fill:var(--ink);font-family:var(--font)}svg .m{fill:var(--muted)}.list-r{display:flex;flex-direction:column;gap:4px}.list-r .it{display:flex;gap:12px;align-items:center;padding:9px 10px;border-radius:var(--r-sm);border-top:1px solid var(--line);cursor:pointer;transition:background .15s ease}.list-r .it:first-child{border-top:0}.list-r .it:hover{background:var(--surface-2)}.note{font-size:12px;color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:42px 16px}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(at 20% 15%,rgba(0,113,227,.16) 0px,transparent 50%),radial-gradient(at 80% 85%,rgba(88,86,214,.14) 0px,transparent 50%),var(--bg)}.auth-card{background:var(--surface-elevated);backdrop-filter:saturate(190%) blur(30px);-webkit-backdrop-filter:saturate(190%) blur(30px);border:1px solid var(--glass-border);width:min(430px,100%);border-radius:26px;padding:34px 32px;display:grid;gap:14px;box-shadow:var(--shadow-modal)}.auth-card img{height:40px;width:auto;justify-self:center;background:#fff;padding:6px 12px;border-radius:12px;box-shadow:0 2px 10px #0000000f}.auth-card h1{margin:4px 0 0;font-size:22px;font-weight:700;letter-spacing:-.028em;text-align:center}.auth-card p{margin:0;text-align:center}.steps{list-style:none;display:flex;gap:6px;padding:0;margin:10px 0 0;flex-wrap:wrap}.steps button{border:0;background:transparent;display:flex;align-items:center;gap:7px;padding:5px 12px 5px 5px;border-radius:999px;color:var(--muted);font-weight:500;font-size:12.5px;cursor:pointer;transition:all .16s ease}.steps i{font-style:normal;width:22px;height:22px;border-radius:50%;background:var(--surface-3);color:var(--ink);display:grid;place-items:center;font-size:11.5px;font-weight:600}.steps .on button{color:var(--blue);background:var(--accent-soft);font-weight:600}.steps .on i{background:var(--blue);color:#fff}.steps .done i{background:var(--good-bright);color:#fff}.opt{border:1px solid var(--line-strong);background:var(--surface-elevated);border-radius:999px;padding:7px 15px;cursor:pointer;font-weight:500;font-size:13px;min-height:36px;transition:all .16s ease}.opt:hover{border-color:var(--blue)}.opt.on{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 2px 8px #0071e347}.prodgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.prod{border:1px solid var(--line-strong);background:var(--surface-elevated);border-radius:var(--r-md);padding:12px 14px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:3px;transition:all .18s cubic-bezier(.22,1,.36,1)}.prod b{font-size:15.5px;letter-spacing:-.02em}.prod span{font-size:12px;color:var(--muted)}.prod:hover{border-color:var(--blue);transform:translateY(-1px)}.prod.on{border-color:var(--blue);box-shadow:0 0 0 2px #0071e340;background:var(--accent-soft)}.req{color:var(--crit-bright)}.errt{color:var(--crit);font-size:12px}
