:root{--navy:#0b3d91;--navy-2:#062a63;--blue:#0a66ff;--blue-600:#0857db;--blue-50:#eef5ff;--blue-100:#dceaff;--cyan:#00c2ff;--brand-grad:linear-gradient(120deg,#0b3d91,#0a66ff 50%,#00c2ff);--ink:#0a1b33;--ink-2:#33445e;--muted:#64748b;--muted-2:#94a3b8;--line:#e3eaf4;--line-2:#d3deec;--bg:#f5f8fc;--surface:#ffffff;--surface-2:#f8fafd;--hover:#f2f6fc;--success:#0f8a5f;--success-bg:#e8f7f0;--warn:#b45309;--warn-bg:#fff5e1;--danger:#d92d3a;--danger-bg:#fdecee;--info:#0a66ff;--info-bg:#eaf2ff;--neutral:#475569;--neutral-bg:#f1f4f8;--r-sm:8px;--r:12px;--r-lg:16px;--r-xl:22px;--sh-xs:0 1px 2px rgba(10,27,51,0.05);--sh-sm:0 1px 3px rgba(10,27,51,0.06),0 1px 2px rgba(10,27,51,0.04);--sh-md:0 8px 24px -6px rgba(10,27,51,0.12),0 2px 6px rgba(10,27,51,0.05);--sh-lg:0 24px 60px -12px rgba(10,27,51,0.28);--ring:0 0 0 3px rgba(10,102,255,0.22);--font:var(--font-sans),"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--font-brand-stack:var(--font-brand),"Michroma",var(--font);--mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,monospace;--sidebar-w:256px;--sidebar-w-collapsed:72px;--topbar-h:64px;--ease:cubic-bezier(0.2,0.8,0.2,1)}*,:after,:before{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,p{margin:0}code{font-family:var(--mono);font-size:.9em;background:var(--neutral-bg);padding:1px 6px;border-radius:6px}:focus-visible{outline:none;box-shadow:var(--ring)}.mono{font-family:var(--mono);font-size:.86em}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.muted{color:var(--muted)}.small{font-size:12px}.grow{flex:1;min-width:0;display:flex;flex-direction:column}.pad{padding:20px}.pad-x{padding:0 20px 12px}.stack{display:flex;flex-direction:column;gap:16px}.grad-text{background:linear-gradient(100deg,#7ec8ff,#00c2ff 60%,#a5f0ff);-webkit-background-clip:text;background-clip:text;color:transparent}.eyebrow{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}.eyebrow.light{color:rgba(255,255,255,.72)}.wordmark{display:flex;flex-direction:column;line-height:1.1;min-width:0}.wordmark-name{font-family:var(--font-brand-stack);font-size:15px;letter-spacing:.14em;background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.wordmark-sub{margin-top:3px;font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.02em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:10px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,transform .08s,color .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-md{height:40px;padding:0 16px;font-size:14px}.btn-sm{height:32px;padding:0 12px;font-size:13px;border-radius:8px;gap:6px}.btn-block{width:100%}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 1px 2px rgba(10,102,255,.3),inset 0 1px 0 rgba(255,255,255,.14)}.btn-primary:hover:not(:disabled){background:var(--blue-600);box-shadow:0 6px 16px -4px rgba(10,102,255,.5)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line-2);box-shadow:var(--sh-xs)}.btn-secondary:hover:not(:disabled){background:var(--hover);border-color:#c3d2e6}.btn-ghost{background:transparent;color:var(--ink-2)}.btn-ghost:hover:not(:disabled){background:var(--hover);color:var(--ink)}.btn-danger{background:var(--surface);color:var(--danger);border-color:#f4c3c8}.btn-danger:hover:not(:disabled){background:var(--danger-bg)}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){background:#0b7550}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;border:0;background:transparent;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}.icon-btn:hover:not(:disabled){background:var(--hover);color:var(--ink)}.icon-btn.danger:hover:not(:disabled){background:var(--danger-bg);color:var(--danger)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.link-btn{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--blue)}.link-btn:hover{color:var(--blue-600)}.spinner{width:15px;height:15px;border-radius:50%;border:2px solid;border-right:2px solid transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-neutral{background:var(--neutral-bg);color:var(--neutral)}.chip-group{display:flex;flex-wrap:wrap;gap:8px}.chip{height:32px;padding:0 14px;border-radius:999px;border:1px solid var(--line-2);background:var(--surface);font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer;transition:all .15s}.chip.on,.chip:hover{border-color:var(--blue);color:var(--blue)}.chip.on{background:var(--blue-50)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--muted-2)}.dot-up{background:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.18)}.dot-down{background:var(--danger);box-shadow:0 0 0 3px rgba(217,45,58,.18)}.dot-checking{background:#f59e0b}.segmented{display:inline-flex;padding:3px;gap:2px;border-radius:10px;background:var(--neutral-bg);border:1px solid var(--line);max-width:100%;overflow-x:auto;scrollbar-width:none}.segmented button{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:0;border-radius:8px;background:transparent;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,box-shadow .15s}.segmented button:hover{color:var(--ink)}.segmented button.on{background:var(--surface);color:var(--ink);box-shadow:var(--sh-sm)}.seg-count{min-width:20px;height:18px;padding:0 6px;border-radius:999px;background:var(--warn-bg);color:var(--warn);font-size:11px;display:inline-grid;place-items:center}.form-grid{display:grid;gap:16px}.form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field.span-2{grid-column:1/-1}.field-label{font-size:12.5px;font-weight:600;color:var(--ink-2)}.field-hint{font-size:12px;color:var(--muted)}.input{width:100%;height:40px;padding:0 12px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface);color:var(--ink);transition:border-color .15s,box-shadow .15s}.input::-moz-placeholder{color:var(--muted-2)}.input::placeholder{color:var(--muted-2)}.input:hover{border-color:#b9c8dc}.input:focus{outline:none;border-color:var(--blue);box-shadow:var(--ring)}.textarea{height:auto;min-height:96px;padding:10px 12px;resize:vertical;line-height:1.55}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}.input-affix{position:relative}.input-affix .input{padding-right:42px}.affix-btn{position:absolute;right:4px;top:4px;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center}.affix-btn:hover{background:var(--hover)}.notice{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r);font-size:13.5px;line-height:1.5;border:1px solid;border-left:4px solid}.notice>svg{flex-shrink:0;margin-top:1px}.notice-body{flex:1;min-width:0}.notice-body strong{display:block;margin-bottom:2px}.notice-action{flex-shrink:0;align-self:center}.notice-success{background:var(--success-bg);border-color:#b7e4cf;border-left-color:var(--success);color:#0b5e41}.notice-error{background:var(--danger-bg);border-color:#f6c8cd;border-left-color:var(--danger);color:#a51d2a}.notice-warning{background:var(--warn-bg);border-color:#fbe0ad;border-left-color:var(--warn);color:#8a4205}.notice-info{background:var(--info-bg);border-color:#cfe0ff;border-left-color:var(--info);color:#0a3f9e}.notice-success>svg{color:var(--success)}.notice-error>svg{color:var(--danger)}.notice-warning>svg{color:var(--warn)}.notice-info>svg{color:var(--info)}.status-page{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;max-width:520px;margin:8vh auto;padding:36px 28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}.status-ico{display:grid;place-items:center;width:56px;height:56px;border-radius:50%}.status-success .status-ico{background:var(--success-bg);color:var(--success)}.status-error .status-ico{background:var(--danger-bg);color:var(--danger)}.status-warning .status-ico{background:var(--warn-bg);color:var(--warn)}.status-info .status-ico{background:var(--info-bg);color:var(--info)}.status-code{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.status-page h1{margin:0;font-size:22px}.status-page p{margin:0;color:var(--muted);line-height:1.55}.status-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px}.status-ref{margin-top:4px;color:var(--muted-2);font-family:var(--mono);font-size:12px}.status-standalone{min-height:100vh;display:grid;place-items:center;padding:16px;background:var(--bg)}.status-standalone .status-page{margin:0}.skeleton{display:inline-block;height:12px;border-radius:6px;background:linear-gradient(90deg,#edf2f8,#f7fafd 50%,#edf2f8);background-size:200% 100%;animation:shimmer 1.3s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.shell{min-height:100dvh;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);transition:grid-template-columns .25s var(--ease)}.shell.is-collapsed{grid-template-columns:var(--sidebar-w-collapsed) minmax(0,1fr)}.shell-main{min-width:0;display:flex;flex-direction:column}.shell-scrim{display:none}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--line);overflow:hidden;z-index:40}.sidebar-brand{height:var(--topbar-h);padding:0 18px;border-bottom:1px solid var(--line);flex-shrink:0}.sidebar-brand,.sidebar-logo{display:flex;align-items:center}.sidebar-logo{gap:11px;min-width:0}.sidebar-logo svg{flex-shrink:0}.sidebar-nav{flex:1;overflow-y:auto;padding:12px 12px 8px;scrollbar-width:thin}.nav-group+.nav-group{margin-top:14px}.nav-section{padding:6px 10px;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);white-space:nowrap}.nav-item{position:relative;display:flex;align-items:center;gap:11px;height:38px;padding:0 10px;margin:1px 0;border-radius:9px;color:var(--ink-2);font-weight:550;font-size:13.5px;white-space:nowrap;transition:background .15s,color .15s}.nav-item svg{flex-shrink:0;color:var(--muted);transition:color .15s}.nav-item:hover{background:var(--hover);color:var(--ink)}.nav-item.active{background:var(--blue-50);font-weight:650}.nav-item.active,.nav-item.active svg{color:var(--blue)}.nav-item.active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--blue)}.nav-label{flex:1;overflow:hidden;text-overflow:ellipsis}.nav-count{min-width:22px;height:20px;padding:0 7px;border-radius:999px;display:grid;place-items:center;background:#ff8a1f;color:#fff;font-size:11px;font-weight:700}.nav-live{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 0 0 rgba(16,185,129,.5);animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(16,185,129,.5)}70%{box-shadow:0 0 0 7px rgba(16,185,129,0)}to{box-shadow:0 0 0 0 rgba(16,185,129,0)}}.sidebar-collapse{display:flex;align-items:center;gap:11px;margin:8px 12px 14px;height:36px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--muted);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}.sidebar-collapse:hover{color:var(--ink);background:var(--hover)}.is-collapsed .nav-label,.is-collapsed .nav-section,.is-collapsed .wordmark{display:none}.is-collapsed .nav-item,.is-collapsed .sidebar-brand{justify-content:center;padding:0}.is-collapsed .nav-count{position:absolute;top:2px;right:6px;min-width:16px;height:16px;padding:0 4px;font-size:10px}.is-collapsed .nav-live{position:absolute;top:8px;right:12px}.is-collapsed .nav-group+.nav-group{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.is-collapsed .sidebar-collapse{justify-content:center;padding:0}.topbar{position:sticky;top:0;z-index:30;height:var(--topbar-h);display:flex;align-items:center;gap:14px;padding:0 28px;background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line)}.topbar-menu{display:none}.crumbs{display:flex;align-items:center;gap:6px;min-width:0;color:var(--muted-2);font-size:13px}.crumb-root{color:var(--muted);font-weight:600}.crumb-current{color:var(--ink);font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-ctx{margin-left:auto;display:flex;align-items:center;gap:8px}.ctx-pill{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:12.5px;font-weight:600;color:var(--ink-2);white-space:nowrap}.ctx-pill svg{color:var(--blue)}.ctx-dim{color:var(--muted);font-weight:500}.user-menu{position:relative}.user-btn{display:flex;align-items:center;gap:10px;padding:4px 8px 4px 4px;border:0;border-radius:999px;background:transparent;cursor:pointer;color:var(--muted)}.user-btn:hover{background:var(--hover)}.user-btn-text{display:flex;flex-direction:column;text-align:left;line-height:1.2}.user-btn-text strong{font-size:13px;color:var(--ink)}.user-btn-text small{font-size:11.5px;color:var(--muted)}.menu{position:absolute;right:0;top:calc(100% + 8px);width:280px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-lg);padding:6px;animation:pop .16s var(--ease)}@keyframes pop{0%{opacity:0;transform:translateY(-4px) scale(.98)}}.menu-hd{padding:12px;display:flex;flex-direction:column;gap:2px}.menu-hd span{font-size:12.5px;color:var(--muted)}.menu-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.menu-meta{padding:8px 12px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}.menu-item{width:100%;display:flex;align-items:center;gap:10px;height:38px;padding:0 12px;border:0;border-radius:9px;background:transparent;cursor:pointer;font-weight:600;color:var(--ink-2)}.menu-item:hover{background:var(--danger-bg);color:var(--danger)}.workspace{flex:1;padding:28px;width:100%;max-width:1440px;margin:0 auto}.page{display:flex;flex-direction:column;gap:20px;animation:fade-up .3s var(--ease)}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}}.page-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-hd h1{font-size:24px;font-weight:750;letter-spacing:-.025em}.page-hd p{margin-top:4px;color:var(--muted);max-width:680px}.page-hd-actions{display:flex;gap:10px}.boot{min-height:100dvh;display:grid;place-content:center;justify-items:center;gap:22px;background:var(--bg)}.boot-bar{width:140px;height:3px;border-radius:3px;background:var(--line);overflow:hidden}.boot-bar span{display:block;width:40%;height:100%;background:var(--brand-grad);border-radius:3px;animation:slide 1s var(--ease) infinite}@keyframes slide{0%{transform:translateX(-100%)}to{transform:translateX(260%)}}.forbidden{max-width:460px;margin:10vh auto 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.forbidden h2{font-size:20px;letter-spacing:-.02em}.forbidden p{color:var(--muted);margin-bottom:8px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-xs);padding:20px;min-width:0}.card-flush{padding:0;overflow:hidden}.card-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.card-flush>.card-hd{margin:0;padding:16px 20px}.card-hd-text{display:flex;align-items:center;gap:12px;min-width:0}.card-hd-ico{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--blue-50);color:var(--blue);flex-shrink:0}.card-hd h3{font-size:15px;font-weight:700;letter-spacing:-.01em}.card-hd p{font-size:12.5px;color:var(--muted);margin-top:1px}.card-hd-actions{display:flex;gap:8px;flex-shrink:0}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-2-1{display:grid;gap:20px}.grid-2-1{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start}.hero-card{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:28px 30px;color:#fff;background:radial-gradient(600px 260px at 100% 0,rgba(0,194,255,.45),transparent 60%),radial-gradient(500px 300px at 0 120%,rgba(10,102,255,.55),transparent 60%),linear-gradient(120deg,#0b3d91,#0a4fc4);display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;box-shadow:0 18px 40px -18px rgba(11,61,145,.6)}.hero-card:after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border:2px solid rgba(255,255,255,.14);border-radius:50%;pointer-events:none}.hero-card h1{font-size:28px;font-weight:750;letter-spacing:-.03em;margin-top:6px}.hero-card p{color:rgba(255,255,255,.82);margin-top:6px;max-width:560px}.hero-card-services{display:flex;flex-wrap:wrap;gap:8px;position:relative;z-index:1}.svc-pill{height:30px;padding:0 12px;display:inline-flex;align-items:center;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);font-size:12.5px;font-weight:600;backdrop-filter:blur(6px)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 18px 16px;box-shadow:var(--sh-xs);transition:box-shadow .2s,transform .2s}.stat:hover{box-shadow:var(--sh-md);transform:translateY(-1px)}.stat-top{display:flex;align-items:center;justify-content:space-between}.stat-label{font-size:12.5px;font-weight:600;color:var(--muted)}.stat-ico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center}.stat-info .stat-ico{background:var(--info-bg);color:var(--info)}.stat-success .stat-ico{background:var(--success-bg);color:var(--success)}.stat-warn .stat-ico{background:var(--warn-bg);color:var(--warn)}.stat-danger .stat-ico{background:var(--danger-bg);color:var(--danger)}.stat-neutral .stat-ico{background:var(--neutral-bg);color:var(--neutral)}.stat-value{margin-top:10px;font-size:28px;font-weight:750;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.15}.stat-hint{margin-top:4px;font-size:12px;color:var(--muted)}.queue{list-style:none;margin:0;padding:0 8px 8px}.queue-row{width:100%;display:flex;align-items:center;gap:12px;padding:12px;border:0;border-radius:12px;background:transparent;text-align:left;cursor:pointer;transition:background .15s}.queue-row:hover{background:var(--hover)}.queue-ico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--warn-bg);color:var(--warn);flex-shrink:0}.queue-text{flex:1;min-width:0;display:flex;flex-direction:column}.queue-cta{display:inline-flex;align-items:center;gap:2px;font-size:12.5px;font-weight:650;color:var(--blue);opacity:.7;transition:opacity .15s}.queue-row:hover .queue-cta{opacity:1}.quick-grid{display:grid;gap:8px}.quick{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;transition:border-color .15s,background .15s,transform .15s}.quick:hover{border-color:#bcd4ff;background:var(--blue-50);transform:translateX(2px)}.quick-ico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--brand-grad);color:#fff;flex-shrink:0}.quick strong{display:block;font-size:13.5px}.quick small{display:block;font-size:12px;color:var(--muted)}.list-plain{list-style:none;margin:0;padding:0}.list-plain-row{display:flex;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid var(--line)}.list-plain.bordered{border:1px solid var(--line);border-radius:var(--r)}.list-plain.bordered .list-plain-row{padding:10px 14px}.list-plain.bordered .list-plain-row:first-child{border-top:0}.partner-ico{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--blue-50);color:var(--blue);flex-shrink:0}.kv{margin:0;display:grid;gap:0}.kv>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 0;border-top:1px solid var(--line)}.kv>div:first-child{border-top:0;padding-top:0}.kv dt{font-size:12.5px;color:var(--muted)}.kv dd,.kv dt{font-weight:600}.kv dd{margin:0;text-align:right;min-width:0}.avatar{display:inline-grid;place-items:center;border-radius:50%;background:var(--brand-grad);color:#fff;font-weight:700;flex-shrink:0;letter-spacing:.02em}.person{align-items:center;gap:10px}.person,.person-text{display:flex;min-width:0}.person-text{flex-direction:column}.cell-primary{font-weight:650;color:var(--ink)}.cell-primary,.cell-sub{display:block;overflow:hidden;text-overflow:ellipsis}.cell-sub{font-size:12px;color:var(--muted)}.dt{display:flex;flex-direction:column;min-width:0}.dt-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}.card-flush>.card-hd+.dt .dt-toolbar,.card-flush>.card-hd+.pad-x+.dt .dt-toolbar{padding-top:0}.search{position:relative;flex:1 1 240px;max-width:360px;display:flex;align-items:center}.search svg{position:absolute;left:12px;color:var(--muted-2);pointer-events:none}.search input{width:100%;height:38px;padding:0 12px 0 36px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface-2);transition:border-color .15s,background .15s,box-shadow .15s}.search input:focus{outline:none;background:var(--surface);border-color:var(--blue);box-shadow:var(--ring)}.dt-filters{display:flex;gap:8px;flex-wrap:wrap;min-width:0}.dt-actions{margin-left:auto;display:flex;gap:8px}.dt-scroll{position:relative;overflow-x:auto}.dt-progress{position:absolute;inset:0 0 auto;height:2px;z-index:2;background:linear-gradient(90deg,transparent,var(--blue),var(--cyan),transparent);background-size:50% 100%;background-repeat:no-repeat;animation:progress 1s linear infinite}@keyframes progress{0%{background-position:-50% 0}to{background-position:150% 0}}.table{width:100%;border-collapse:collapse;font-size:13.5px}.table th{position:sticky;top:0;text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);padding:10px 16px;white-space:nowrap}.table td,.table th{border-bottom:1px solid var(--line)}.table td{padding:12px 16px;vertical-align:middle;max-width:360px}.table-dense td{padding:9px 16px}.table tbody tr{transition:background .12s}.table tbody tr:hover{background:#f8fbff}.table tbody tr:last-child td{border-bottom:0}.table tr.clickable{cursor:pointer}.ta-end{text-align:right!important}.row-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}.row-actions.start{justify-content:flex-start;gap:6px}.sk-row td{padding:16px}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:44px 20px;color:var(--muted)}.empty strong{color:var(--ink);font-size:14.5px}.empty p{max-width:360px;font-size:13px}.empty .btn{margin-top:10px}.empty-ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--blue-50);color:var(--blue);margin-bottom:6px}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--line);background:var(--surface-2)}.pager-info{font-size:13px;color:var(--muted)}.pager-info strong{color:var(--ink)}.pager-btns{display:flex;align-items:center;gap:4px}.pg{min-width:32px;height:32px;padding:0 8px;border:1px solid transparent;border-radius:8px;background:transparent;font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer;display:inline-grid;place-items:center}.pg:hover:not(:disabled){background:var(--surface);border-color:var(--line-2)}.pg.on{background:var(--blue);color:#fff}.pg:disabled{opacity:.4;cursor:not-allowed}.pg-gap{color:var(--muted-2);padding:0 4px}.drawer-root,.modal-root{position:fixed;inset:0;z-index:100}.drawer-scrim{position:absolute;inset:0;background:rgba(10,27,51,.42);backdrop-filter:blur(2px);animation:fade .2s ease}@keyframes fade{0%{opacity:0}}.drawer{position:absolute;top:0;right:0;bottom:0;width:min(560px,100vw);background:var(--surface);box-shadow:var(--sh-lg);animation:drawer-in .28s var(--ease)}@keyframes drawer-in{0%{transform:translateX(40px);opacity:0}}.drawer-form{height:100%;display:flex;flex-direction:column}.drawer-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 18px;border-bottom:1px solid var(--line)}.drawer-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.drawer-hd h2{font-size:18px;font-weight:750;letter-spacing:-.02em}.drawer-hd p{margin-top:4px;font-size:13px;color:var(--muted)}.drawer-bd{flex:1;overflow-y:auto;padding:22px 24px}.drawer-ft{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:14px 24px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface-2)}.drawer-cancel{margin-right:auto}.modal-root{display:grid;place-items:center;padding:16px}.modal{position:relative;width:min(440px,100%);background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--sh-lg);padding:24px;animation:pop .2s var(--ease)}.modal h2{font-size:18px;letter-spacing:-.02em}.modal-msg{margin-top:8px;color:var(--muted)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.toasts{position:fixed;top:calc(var(--topbar-h) + 12px);right:20px;z-index:300;flex-direction:column;width:min(400px,calc(100vw - 32px))}.toast,.toasts{display:flex;gap:10px}.toast{align-items:flex-start;padding:12px 12px 12px 14px;border-radius:var(--r);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-left:4px solid;box-shadow:var(--sh-lg);font-size:13.5px;line-height:1.45;animation:toast-in .25s var(--ease)}.toast>span{flex:1}.toast>svg{flex-shrink:0;margin-top:1px}.toast-success{border-left-color:var(--success)}.toast-success>svg{color:var(--success)}.toast-error{border-left-color:var(--danger)}.toast-error>svg{color:var(--danger)}.toast-warning{border-left-color:var(--warn)}.toast-warning>svg{color:var(--warn)}.toast-info{border-left-color:var(--info)}.toast-info>svg{color:var(--info)}.toast-x{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:2px;border-radius:6px}.toast-x:hover{color:var(--ink);background:var(--hover)}@media (max-width:640px){.toasts{top:68px;left:16px;right:16px;width:auto}}@keyframes toast-in{0%{transform:translateY(10px);opacity:0}}.type-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.type-opt{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;border:1.5px solid var(--line-2);border-radius:14px;background:var(--surface);text-align:left;cursor:pointer;transition:all .15s}.type-opt svg{color:var(--muted);margin-bottom:4px}.type-opt strong{font-size:13.5px}.type-opt small{font-size:12px;color:var(--muted);line-height:1.4}.type-opt:hover{border-color:#a9c6ff}.type-opt.on{border-color:var(--blue);background:var(--blue-50);box-shadow:var(--ring)}.type-opt.on svg{color:var(--blue)}.splitbar{display:flex;align-items:center;gap:10px;min-width:150px}.splitbar-track{display:flex;gap:2px;width:80px;height:8px;border-radius:4px;background:var(--neutral-bg);overflow:hidden}.splitbar.wide{flex-direction:column;align-items:stretch}.splitbar.wide .splitbar-track{width:100%;height:12px;border-radius:6px}.seg-a{background:var(--blue)}.seg-b{background:var(--cyan)}.splitbar-track span{display:block;height:100%;transition:width .3s var(--ease)}.splitbar-lbl{font-size:12.5px;font-weight:600;white-space:nowrap}.splitbar-legend{display:flex;gap:16px;font-size:12.5px;color:var(--ink-2)}.splitbar-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.split-preview{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line)}.split-preview-hd{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:var(--muted)}.split-preview-hd strong{font-size:22px;color:var(--ink);letter-spacing:-.02em}.plugin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.plugin{display:flex;flex-direction:column;gap:16px}.plugin-hd{display:flex;align-items:center;gap:12px}.plugin-logo{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--brand-grad);color:#fff;font-weight:800;font-size:13px;letter-spacing:.04em;flex-shrink:0}.plugin-key{display:flex;align-items:center;gap:10px;padding:12px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line);color:var(--muted);min-width:0}.plugin-versions{display:flex;gap:6px;flex-wrap:wrap}.ver{height:22px;padding:0 8px;border-radius:6px;display:inline-grid;place-items:center;font-size:11.5px;font-weight:700;background:var(--neutral-bg);color:var(--muted)}.ver.on{background:var(--success-bg);color:var(--success)}.plugin .btn{align-self:flex-start}.finance-bar{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap}.finance-bar-group{display:flex;flex-direction:column;gap:6px}.finance-bar-group .select{min-width:160px}.finance-bar-actions{margin-left:auto;display:flex;gap:10px}.date-range{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.date-inputs{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 10px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface);color:var(--muted)}.date-inputs input{border:0;background:transparent;font-size:13px;font-weight:600;color:var(--ink);padding:0;outline:none}.files{display:flex;flex-direction:column;gap:4px}.file-chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11.5px;color:var(--ink-2)}.file-chip svg{color:var(--muted)}.barlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.barlist li{display:grid;grid-template-columns:140px 1fr auto;align-items:center;gap:14px}.barlist-lbl{display:flex;flex-direction:column;line-height:1.25;min-width:0}.barlist-lbl small{color:var(--muted);font-size:12px}.barlist-track{height:12px}.barlist-bar{display:block;height:100%;min-width:4px;border-radius:0 4px 4px 0;background:var(--blue);transition:width .4s var(--ease),opacity .15s}.barlist li:hover .barlist-bar{opacity:.8}.barlist-val{font-size:13px;font-weight:650;color:var(--ink)}.login{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);background:var(--surface)}.login-hero{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:48px 56px;color:#fff;background:linear-gradient(150deg,#062a63,#0b3d91 55%,#0a55d6)}.login-hero-glow{position:absolute;inset:0;background:radial-gradient(520px 380px at 85% 10%,rgba(0,194,255,.4),transparent 60%),radial-gradient(500px 400px at 10% 100%,rgba(10,102,255,.55),transparent 60%)}.login-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 0);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse at 30% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at 30% 40%,#000 20%,transparent 75%)}.login-hero-inner{position:relative;max-width:520px}.login-logo{width:132px;height:132px;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 20px 50px -10px rgba(0,0,0,.45),0 0 0 6px rgba(255,255,255,.08);margin-bottom:40px}.login-logo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:scale(1.18)}.login-hero h1{font-size:clamp(30px,3.4vw,44px);line-height:1.12;font-weight:750;letter-spacing:-.035em}.login-points{list-style:none;padding:0;margin:32px 0 0;display:flex;flex-direction:column;gap:14px}.login-points li{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.86);font-size:15px}.login-points svg{flex-shrink:0;padding:7px;width:32px;height:32px;border-radius:10px;background:rgba(255,255,255,.12);color:var(--cyan)}.login-foot{position:relative;font-family:var(--font-brand-stack);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55)}.login-panel{display:grid;place-items:center;padding:40px 24px;background:radial-gradient(500px 300px at 100% 0,rgba(0,194,255,.08),transparent 60%),var(--surface)}.login-card{width:min(400px,100%);display:flex;flex-direction:column;gap:18px}.login-card-hd h2{font-size:30px;font-weight:750;letter-spacing:-.03em;margin-top:6px}.login-card-hd p{color:var(--muted);margin-top:4px}.login-card .input{height:46px;border-radius:12px}.login-card .affix-btn{top:7px}.login-card .btn{height:48px;border-radius:12px;font-size:15px}.login-test{display:flex;flex-direction:column;gap:8px;padding-top:18px;border-top:1px solid var(--line)}.login-test>span{font-weight:600}.login-status,.login-test>span{font-size:12px;color:var(--muted)}.login-status{display:flex;align-items:center;gap:8px}@media (max-width:1200px){.hide-lg{display:none}}@media (max-width:1080px){.grid-2,.grid-2-1{grid-template-columns:minmax(0,1fr)}}@media (max-width:900px){.shell,.shell.is-collapsed{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:min(290px,86vw);transform:translateX(-100%);transition:transform .28s var(--ease);box-shadow:var(--sh-lg)}.is-mobile-open .sidebar{transform:none}.shell-scrim{display:block;position:fixed;inset:0;z-index:35;background:rgba(10,27,51,.42);opacity:0;pointer-events:none;transition:opacity .25s}.is-mobile-open .shell-scrim{opacity:1;pointer-events:auto}.is-collapsed .nav-label,.is-collapsed .nav-section,.is-collapsed .wordmark{display:revert}.is-collapsed .nav-item{justify-content:flex-start;padding:0 10px}.is-collapsed .sidebar-brand{justify-content:flex-start;padding:0 18px}.is-collapsed .nav-count{position:static}.sidebar-collapse{display:none}.topbar-menu{display:inline-grid;margin-left:-8px}.topbar{padding:0 16px}.workspace{padding:20px 16px 40px}.login{grid-template-columns:minmax(0,1fr)}.login-hero{padding:32px 24px}.login-hero h1{font-size:28px}.login-logo{width:84px;height:84px;border-radius:20px;margin-bottom:24px}.login-foot,.login-points{display:none}}@media (max-width:720px){.hide-md{display:none!important}.crumb-root,.crumbs>svg{display:none}.page-hd h1{font-size:21px}.page-hd-actions{width:100%}.page-hd-actions .btn{flex:1}.hero-card{padding:22px}.hero-card h1{font-size:23px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat{padding:14px}.stat-value{font-size:22px}.form-grid.cols-2,.type-picker{grid-template-columns:minmax(0,1fr)}.search{max-width:none;flex-basis:100%}.dt-actions{margin-left:0}.finance-bar-actions{margin-left:0;width:100%}.finance-bar-actions .btn{flex:1}.barlist li{grid-template-columns:90px 1fr auto}.table thead{display:none}.table,.table tbody,.table td,.table tr{display:block;width:100%}.table tr{padding:12px 16px;border-bottom:1px solid var(--line)}.table tbody tr:last-child{border-bottom:0}.table td{border:0;padding:4px 0;max-width:none;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:right}.table td:first-child{text-align:left;padding-bottom:8px}.table td[data-label]:not(:first-child):before{content:attr(data-label);font-size:12px;font-weight:600;color:var(--muted);text-align:left}.table td.hide-lg,.table td.hide-md,.table td:not([data-label]):empty{display:none}.table td.ta-end:last-child:not([data-label]){justify-content:flex-end;padding-top:8px}.drawer{width:100vw}.drawer-bd,.drawer-hd{padding-left:18px;padding-right:18px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.changes{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.changes-hd,.changes-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 16px minmax(0,1fr);gap:10px;align-items:center;padding:10px 14px}.changes-hd{background:var(--surface-2);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line)}.changes-row+.changes-row{border-top:1px solid var(--line)}.changes-field{font-weight:600;font-size:13px}.changes-from{color:var(--muted);text-decoration:line-through;text-decoration-color:rgba(217,45,58,.45);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.changes-to{font-weight:700;color:var(--success);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.changes-arrow{color:var(--muted-2)}.change-mini{font-size:12.5px;white-space:nowrap}.stat-btn{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-xs);cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s}.stat-btn:hover{box-shadow:var(--sh-md)}.stat-btn.on{border-color:var(--blue);box-shadow:var(--ring)}.stat-btn .stat-value{margin:0}.select.compact{height:38px;width:auto;min-width:160px}.check-row{align-items:center;font-weight:600}.check-row input{width:16px;height:16px;accent-color:var(--blue)}.veh-card,.veh-list{display:flex;flex-direction:column;gap:10px}.veh-card{border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;transition:opacity .2s}.veh-card.off{opacity:.55}.veh-card-hd{display:flex;align-items:center;gap:12px}.veh-price{display:flex;gap:18px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}.veh-price strong{color:var(--ink);font-variant-numeric:tabular-nums}.card.inset{background:var(--surface-2);box-shadow:none}.switch{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;inset:0;border-radius:999px;background:var(--line-2);cursor:pointer;transition:background .2s}.switch span:before{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:var(--sh-sm);transition:transform .2s var(--ease)}.switch input:checked+span{background:var(--success)}.switch input:checked+span:before{transform:translateX(18px)}.switch input:disabled+span{opacity:.6;cursor:wait}.dispatch{display:flex;flex-direction:column;gap:14px;height:calc(100dvh - var(--topbar-h) - 56px);min-height:560px;animation:fade-up .3s var(--ease)}.dispatch-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.dispatch-hd h1{font-size:24px;font-weight:750;letter-spacing:-.025em}.dispatch-hd p{margin-top:2px;color:var(--muted);font-size:13px;display:flex;align-items:center;gap:6px}.dispatch-kpis{display:flex;gap:8px;flex-wrap:wrap}.kpi{display:flex;flex-direction:column;min-width:92px;padding:8px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}.kpi span{font-size:11.5px;font-weight:600;color:var(--muted)}.kpi strong{font-size:20px;font-weight:750;font-variant-numeric:tabular-nums;line-height:1.2}.kpi-warn strong{color:var(--warn)}.kpi-danger{border-color:#f6c8cd;background:var(--danger-bg)}.kpi-danger strong{color:var(--danger)}.kpi-success strong{color:var(--success)}.dispatch-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dispatch-pane-switch{display:none}.dispatch-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px}.dispatch-map{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:#e8eef6;min-height:360px}.dispatch-gl,.dispatch-gl.maplibregl-map,.dispatch-map-skeleton{position:absolute;inset:0}.dispatch-map-skeleton{background:linear-gradient(90deg,#e6edf6,#f1f5fb,#e6edf6);background-size:200% 100%;animation:shimmer 1.4s infinite}.dm-wrap{background:none;border:0}.dm{display:block;width:100%;height:100%;border:2.5px solid #fff;box-shadow:0 2px 6px rgba(10,27,51,.35)}.dm-pickup{border-radius:50%;background:var(--ink)}.dm-pickup.dm-risk{background:#f59e0b;animation:risk 1.6s infinite}@keyframes risk{70%{box-shadow:0 0 0 10px rgba(245,158,11,0)}0%{box-shadow:0 0 0 0 rgba(245,158,11,.55)}}.dm-dropoff{border-radius:3px;background:var(--blue)}.dm-courier{border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px rgba(0,194,255,.25),0 2px 6px rgba(10,27,51,.35)}.dispatch-focus{position:absolute;left:14px;bottom:14px;z-index:500;width:min(340px,calc(100% - 28px))}.df{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--sh-lg);padding:14px 16px;flex-direction:column;gap:12px;animation:pop .18s var(--ease)}.df,.df-hd{display:flex}.df-hd{justify-content:space-between;gap:10px}.df-hd strong{display:block}.df-hd span{font-size:12.5px;color:var(--muted)}.df-route,.dl-route{display:flex;flex-direction:column;gap:4px;font-size:13px}.df-route span,.dl-route span{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-a,.dl-b{width:8px;height:8px;flex-shrink:0}.dl-a{border-radius:50%;background:var(--ink)}.dl-b{border-radius:2px;background:var(--blue)}.df-kv{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.df-kv dt{font-size:11.5px;color:var(--muted);font-weight:600}.df-kv dd{margin:0;font-size:13px;font-weight:600}.dispatch-list{min-height:0;overflow-y:auto;padding-right:2px;scrollbar-width:thin}.dispatch-list,.dl-item{display:flex;flex-direction:column;gap:8px}.dl-item{padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}.dl-item:hover{box-shadow:var(--sh-sm)}.dl-item.on{border-color:var(--blue);box-shadow:var(--ring)}.dl-item.risk{border-left:3px solid #f59e0b}.dl-item.sk{min-height:104px;background:linear-gradient(90deg,#edf2f8,#f7fafd 50%,#edf2f8);background-size:200% 100%;animation:shimmer 1.3s infinite;border-color:transparent}.dl-top{display:flex;justify-content:space-between}.dl-top,.dl-wait{align-items:center}.dl-wait{display:inline-flex;gap:4px;font-size:12px;font-weight:650;color:var(--muted)}.dl-wait.risk{color:var(--danger)}.dl-meta{display:flex;gap:10px;font-size:12.5px;color:var(--muted)}.dl-meta strong{margin-left:auto;color:var(--ink)}@media (max-width:1080px){.dispatch-body{grid-template-columns:minmax(0,1fr)}.dispatch-pane-switch{display:block}.dispatch-body.show-list .dispatch-map,.dispatch-body.show-map .dispatch-list{display:none}}@media (max-width:720px){.dispatch{height:auto}.dispatch-map{height:60dvh}.dispatch-kpis{width:100%}.kpi{flex:1 1 30%;min-width:0}}.dm-driver{border-radius:50%;background:var(--success);border-width:2px}.dm-driver-busy{background:var(--blue)}.cand-list{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto}.cand{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px}.cand .grow{min-width:0}.cand-dist{font-size:12px;font-weight:650;color:var(--ink-2);white-space:nowrap;text-align:right}.src-tag{display:inline-block;margin-left:6px;padding:0 6px;border-radius:6px;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--neutral-bg);color:var(--muted)}.src-tag.gps{background:var(--success-bg);color:var(--success)}.provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.provider-opt{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px;border:1.5px solid var(--line-2);border-radius:12px;background:var(--surface);text-align:left;cursor:pointer;transition:all .15s}.provider-opt strong{font-size:13px}.provider-opt small{font-size:11.5px;color:var(--muted)}.provider-opt.on{border-color:var(--blue);background:var(--blue-50);box-shadow:var(--ring)}.provider-opt:disabled{opacity:.5;cursor:not-allowed}.provider-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.provider-tags .badge{height:20px;font-size:11px;padding:0 7px}@media (max-width:720px){.provider-grid{grid-template-columns:minmax(0,1fr)}}.row-gap{display:inline-flex;align-items:center;gap:6px}.row-gap.wrap{flex-wrap:wrap}.readiness{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.ready-tile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:92px;padding:14px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2,#f7f9fc)}.ready-tile.live{border-color:rgba(15,138,95,.35)}.ready-tile.test{border-color:rgba(245,179,1,.45)}.ready-tile.missing{border-color:rgba(217,45,58,.4)}.ready-area{font-weight:700;font-size:13.5px}.ready-tile small{font-size:12px;color:var(--muted,#61708a);line-height:1.35}.density-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.density{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted,#61708a)}.check-row:has(small){align-items:flex-start}.check-row small{display:block;font-size:12.5px;color:var(--muted,#61708a);font-weight:400}.mini-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px}.mini-stats>div{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2,#f7f9fc)}.mini-stats strong{font-size:17px;font-variant-numeric:tabular-nums}.mini-stats span{font-size:12px}.mini-stats span,.sub-hd{color:var(--muted,#61708a)}.sub-hd{margin:18px 0 8px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.event-list{list-style:none;margin:0;padding:0}.event-list li{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--line);font-size:13.5px}.rule-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:10px}.rule-list li{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45}.rule-list svg{flex-shrink:0;margin-top:2px;color:var(--blue)}.matrix-wrap{overflow-x:auto}.matrix{width:100%;border-collapse:collapse;font-size:13.5px}.matrix td,.matrix th{padding:9px 12px;border-bottom:1px solid var(--line);text-align:center;white-space:nowrap}.matrix td:first-child,.matrix th:first-child{text-align:left;position:sticky;left:0;background:var(--surface,#fff);z-index:1;min-width:230px}.matrix th{font-weight:650;vertical-align:bottom}.matrix th small,.matrix th span{display:block}.matrix th small{font-weight:500;font-size:11.5px;color:var(--muted,#61708a)}.matrix td:first-child span{display:block;font-weight:600}.matrix td:first-child code,.matrix tr.area td{font-size:11.5px;color:var(--muted,#61708a)}.matrix tr.area td{text-align:left;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--surface-2,#f7f9fc)}.matrix .cell svg{color:var(--ok,#0f8a5f)}.matrix .dash{display:inline-block;width:10px;height:2px;border-radius:2px;background:var(--line-2,#d3dcea);vertical-align:middle}.matrix .you{background:var(--blue-50,#eef5ff)}.perm-row{display:grid;grid-template-columns:minmax(120px,200px) 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--line);align-items:center}@media (max-width:640px){.perm-row{grid-template-columns:1fr;gap:6px}}.settle-lines{list-style:none;margin:0;padding:0}.settle-lines li{padding:12px 16px;border-top:1px solid var(--line)}.settle-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.settle-head small{display:block;color:var(--muted,#61708a);font-size:12.5px}.settle-math{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:13px;color:var(--ink-2,#2f405a);font-variant-numeric:tabular-nums}.chip-row{display:inline-flex;flex-wrap:wrap;gap:4px}.load-more{display:flex;justify-content:center;padding:14px;border-top:1px solid var(--line,#e5e7eb)}.json-block{margin:0;padding:12px;max-height:360px;overflow:auto;border-radius:10px;background:var(--surface-2,#f6f7f9);font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.timeline{list-style:none;margin:0;padding:0;display:grid;gap:10px}.timeline li{display:grid;grid-template-columns:12px 1fr auto;gap:10px;align-items:baseline}.timeline li:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--blue,#0a66ff)}.region-switch{position:relative}.region-switch>.ctx-pill{cursor:pointer;border:0;font:inherit}.region-menu{left:0;right:auto;max-height:60vh;overflow:auto}.region-menu .menu-item{height:auto;padding:8px 12px;text-align:left}.region-menu .menu-item.active,.region-menu .menu-item:hover{background:var(--hover);color:var(--ink)}.region-menu .menu-item small{display:block;font-weight:500;color:var(--muted)}.check-group{border:1px solid var(--line);border-radius:var(--r);padding:10px 14px 12px;margin:0}.check-group legend{padding:0 6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.check-row{display:flex;align-items:flex-start;gap:10px;padding:6px 0;font-size:13.5px;cursor:pointer}.check-row input{margin-top:3px}.check-row .hint,.check-row small{color:var(--muted)}.check-row .hint{display:block;font-size:12.5px}.check-row.disabled{opacity:.5;cursor:not-allowed}.check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.check-list li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r)}.check-list li span{display:flex;flex-direction:column;gap:2px}.check-list li small{color:var(--muted)}.check-list li.ok>svg{color:var(--success)}.check-list li.bad>svg{color:var(--danger)}.check-list li.warn>svg{color:var(--warn)}.input-prefix{display:flex;align-items:center;gap:6px}.input-prefix>span{font-family:var(--mono);color:var(--muted)}.region-head{display:flex;flex-direction:column;gap:12px}.region-head h1{margin:2px 0 0;font-size:24px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line)}.tab{padding:10px 14px;font-weight:600;font-size:13.5px;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap;text-decoration:none}.tab:hover{color:var(--ink)}.tab.active{color:var(--blue);border-bottom-color:var(--blue)}.chart-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.chart-kpis>div{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r)}.chart-kpis strong{font-size:20px}.chart-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.chart-title{margin:0 0 8px;font-size:13.5px}.chart-svg{width:100%;height:160px;display:block}.chart-bar{fill:var(--blue);opacity:.85}.chart-bar.on{opacity:1;fill:var(--navy)}.chart-axis{stroke:var(--line-2)}.chart-x{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:4px}.plain-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.menu-label{padding:8px 12px 4px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#6b7a90)}