:root{--font-ui: "IBM Plex Sans Arabic", system-ui, -apple-system, "Segoe UI", Tahoma, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--bg: #F2F5F3;--surface: #FFFFFF;--surface-2: #F7F9F8;--sunken: #EAF0ED;--line: #DEE5E2;--line-strong: #C6D1CD;--text: #0F1F1B;--text-2: #3D504B;--muted: #5B6E68;--focus: #0B6E5E;--accent: #0B6E5E;--accent-hover: #08594C;--accent-soft: #E0F0EB;--accent-text: #08594C;--on-accent: #FFFFFF;--rail: #0D2420;--rail-2: #133430;--rail-active: #1D4740;--rail-text: #C9DAD5;--rail-strong: #FFFFFF;--rail-muted: #84A199;--rail-line: #22433D;--rail-cta: #19A688;--rail-cta-text: #06201B;--warn-bg: #FFF2D9;--warn-text: #774700;--warn-line: #E8C783;--warn-dot: #C98A12;--info-bg: #E6EDFF;--info-text: #1D4AAD;--info-dot: #2F62D6;--live-bg: #DCF2EA;--live-text: #08594B;--live-dot: #0E8C72;--done-bg: #ECF0EE;--done-text: #45544F;--done-dot: #7D8B86;--danger-bg: #FCE8E6;--danger-text: #9C2216;--danger-dot: #D2463A;--danger: #B42318;--review-bg: #EEE9FD;--review-text: #5739B2;--review-dot: #7A5CE0;--type-arrival: #2F62D6;--type-departure: #B26B00;--type-transfer: #0B6E5E;--type-site: #7A5CE0;--shadow-1: 0 1px 2px rgba(15, 31, 27, .06), 0 1px 1px rgba(15, 31, 27, .03);--shadow-2: 0 4px 14px rgba(15, 31, 27, .08), 0 1px 3px rgba(15, 31, 27, .06);--shadow-pop: 0 18px 44px rgba(9, 24, 21, .22), 0 3px 8px rgba(9, 24, 21, .1);--scrim: rgba(7, 18, 15, .46);--radius-sm: 7px;--radius: 10px;--radius-lg: 14px;--rail-w: 248px;--rail-w-collapsed: 68px;--topbar-h: 60px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0A1311;--surface: #101C19;--surface-2: #142320;--sunken: #0D1715;--line: #213430;--line-strong: #2E4641;--text: #E4EDEA;--text-2: #BDCDC8;--muted: #93A8A2;--focus: #3BC2A4;--accent: #2FAE92;--accent-hover: #3BC2A4;--accent-soft: #123A33;--accent-text: #6FD6BD;--on-accent: #04201A;--rail: #071210;--rail-2: #0E1F1C;--rail-active: #17352F;--rail-line: #183029;--warn-bg: #3A2A0B;--warn-text: #F2C46B;--warn-line: #6B4E18;--warn-dot: #E3A23B;--info-bg: #15264A;--info-text: #9DB8FF;--info-dot: #5F8BF0;--live-bg: #0F3A31;--live-text: #7FE0C6;--live-dot: #2FC4A0;--done-bg: #1A2825;--done-text: #A9BAB5;--done-dot: #74867F;--danger-bg: #43191A;--danger-text: #FFA59B;--danger-dot: #F0675B;--danger: #F0675B;--review-bg: #2A2150;--review-text: #C3B2FF;--review-dot: #9C84F2;--type-arrival: #6E93F2;--type-departure: #E3A23B;--type-transfer: #2FC4A0;--type-site: #A890F5;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 6px 18px rgba(0, 0, 0, .45);--shadow-pop: 0 20px 48px rgba(0, 0, 0, .6);--scrim: rgba(0, 0, 0, .58)}}:root[data-theme=dark]{color-scheme:dark;--bg: #0A1311;--surface: #101C19;--surface-2: #142320;--sunken: #0D1715;--line: #213430;--line-strong: #2E4641;--text: #E4EDEA;--text-2: #BDCDC8;--muted: #93A8A2;--focus: #3BC2A4;--accent: #2FAE92;--accent-hover: #3BC2A4;--accent-soft: #123A33;--accent-text: #6FD6BD;--on-accent: #04201A;--rail: #071210;--rail-2: #0E1F1C;--rail-active: #17352F;--rail-line: #183029;--warn-bg: #3A2A0B;--warn-text: #F2C46B;--warn-line: #6B4E18;--warn-dot: #E3A23B;--info-bg: #15264A;--info-text: #9DB8FF;--info-dot: #5F8BF0;--live-bg: #0F3A31;--live-text: #7FE0C6;--live-dot: #2FC4A0;--done-bg: #1A2825;--done-text: #A9BAB5;--done-dot: #74867F;--danger-bg: #43191A;--danger-text: #FFA59B;--danger-dot: #F0675B;--danger: #F0675B;--review-bg: #2A2150;--review-text: #C3B2FF;--review-dot: #9C84F2;--type-arrival: #6E93F2;--type-departure: #E3A23B;--type-transfer: #2FC4A0;--type-site: #A890F5;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 6px 18px rgba(0, 0, 0, .45);--shadow-pop: 0 20px 48px rgba(0, 0, 0, .6);--scrim: rgba(0, 0, 0, .58)}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:var(--accent-text)}h1,h2,h3,h4{margin:0;text-wrap:balance}p{margin:0}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.mono{font-family:var(--font-mono);font-feature-settings:"zero" 0}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}[dir=rtl] .flip-rtl{transform:scaleX(-1)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app{display:flex;min-height:100%}.rail{position:sticky;top:0;height:100vh;flex:none;width:var(--rail-w);background:var(--rail);color:var(--rail-text);display:flex;flex-direction:column;gap:14px;padding:16px 12px 12px;transition:width .18s ease;overflow:hidden;z-index:30}.app.is-collapsed .rail{width:var(--rail-w-collapsed)}.rail-brand{display:flex;align-items:center;gap:10px;padding:2px 6px 4px;min-height:40px}.rail-mark{width:36px;height:36px;flex:none;border-radius:10px;background:var(--rail-cta);color:var(--rail-cta-text);display:grid;place-items:center}.rail-name{display:flex;flex-direction:column;min-width:0;white-space:nowrap}.rail-name strong{color:var(--rail-strong);font-size:15px}.rail-name span{color:var(--rail-muted);font-size:12px}.rail-cta{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:0;border-radius:var(--radius);background:var(--rail-cta);color:var(--rail-cta-text);font-weight:700;white-space:nowrap}.rail-cta:hover{filter:brightness(1.06)}.rail-nav{display:flex;flex-direction:column;gap:14px;overflow-y:auto;overflow-x:hidden;flex:1;margin-inline:-4px;padding-inline:4px}.rail-group{display:flex;flex-direction:column;gap:2px}.rail-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--rail-muted);padding:0 10px 4px;white-space:nowrap}.rail-item{position:relative;display:flex;align-items:center;gap:11px;min-height:40px;padding:0 10px;border:0;border-radius:9px;background:transparent;color:var(--rail-text);font-size:14px;font-weight:500;text-align:start;white-space:nowrap;width:100%}.rail-item:hover{background:var(--rail-2);color:var(--rail-strong)}.rail-item[aria-current=page]{background:var(--rail-active);color:var(--rail-strong);font-weight:600}.rail-item svg{flex:none}.rail-item .rail-count{margin-inline-start:auto;min-width:22px;padding:1px 7px;border-radius:999px;background:var(--warn-dot);color:#1e1300;font-size:11px;font-weight:700;text-align:center}.rail-foot{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--rail-line);padding-top:10px}.app.is-collapsed .rail-label,.app.is-collapsed .rail-text,.app.is-collapsed .rail-name{display:none}.app.is-collapsed .rail-item{justify-content:center;padding:0}.app.is-collapsed .rail-item .rail-count{position:absolute;top:3px;inset-inline-end:4px;margin:0;min-width:8px;height:8px;padding:0;font-size:0}.app.is-collapsed .rail-brand{justify-content:center;padding-inline:0}.app.is-collapsed .rail-cta{padding:0}.app.is-collapsed .rail-item[data-tip]:hover:after,.app.is-collapsed .rail-item[data-tip]:focus-visible:after{content:attr(data-tip);position:fixed;inset-inline-start:calc(var(--rail-w-collapsed) + 6px);padding:6px 10px;border-radius:7px;background:var(--text);color:var(--bg);font-size:12px;font-weight:600;white-space:nowrap;pointer-events:none;z-index:60;transform:translateY(0)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;height:var(--topbar-h);display:flex;align-items:center;gap:10px;padding:0 20px;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.topbar-search{display:flex;align-items:center;gap:10px;flex:1;max-width:440px;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:13.5px;text-align:start}.topbar-search:hover{border-color:var(--line-strong)}.topbar-search kbd{margin-inline-start:auto}.topbar-search .label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}kbd{font-family:var(--font-mono);font-size:11px;padding:1px 6px;border-radius:5px;border:1px solid var(--line-strong);background:var(--surface);color:var(--muted)}.topbar-spacer{flex:1}.clock{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;padding-inline:6px}.clock strong{font-family:var(--font-mono);font-size:15px}.clock span{font-size:11px;color:var(--muted)}.page{padding:22px 24px 48px;display:flex;flex-direction:column;gap:18px;min-width:0}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px}.page-title{display:flex;flex-direction:column;gap:3px;min-width:0}.page-title h1{font-size:26px;line-height:1.2;letter-spacing:-.01em}.page-title p{color:var(--muted);font-size:13px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.crumbs button{border:0;background:none;padding:0;color:var(--accent-text);font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 14px;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-size:13.5px;font-weight:600;white-space:nowrap;text-decoration:none;transition:background .12s,border-color .12s,color .12s}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--muted)}.btn:disabled{opacity:.5}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover:not(:disabled){background:var(--sunken);border-color:transparent}.btn-danger{border-color:transparent;background:transparent;color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-bg);border-color:transparent}.btn-danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.btn-warn{border-color:var(--warn-dot);color:var(--warn-text);background:var(--surface)}.btn-warn:hover:not(:disabled){background:var(--warn-bg);border-color:var(--warn-dot)}.btn-sm{min-height:32px;padding:0 10px;font-size:12.5px;border-radius:8px}.btn-lg{min-height:46px;padding:0 20px;font-size:15px}.btn-block{width:100%}.icon-btn{width:38px;height:38px;flex:none;display:inline-grid;place-items:center;border:0;border-radius:9px;background:transparent;color:var(--text-2);position:relative}.icon-btn:hover{background:var(--sunken);color:var(--text)}.icon-btn.sm{width:32px;height:32px}.icon-btn .dot{position:absolute;top:6px;inset-inline-end:6px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--danger-dot);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;border:2px solid var(--surface)}.link-btn{border:0;background:none;padding:0;color:var(--accent-text);font-weight:600}.link-btn:hover{text-decoration:underline;text-underline-offset:2px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}.card-head h2,.card-head h3{font-size:15px}.card-body{padding:16px}.card-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:start}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.between{justify-content:space-between}.divider{height:1px;background:var(--line);border:0;margin:0}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.kpi{display:flex;flex-direction:column;gap:4px;padding:14px 16px;text-align:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);transition:border-color .12s,box-shadow .12s}button.kpi:hover{border-color:var(--line-strong);box-shadow:var(--shadow-1)}.kpi[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.kpi-label{font-size:12.5px;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:6px}.kpi-value{font-size:28px;font-weight:700;line-height:1.05;font-variant-numeric:tabular-nums}.kpi-sub{font-size:12.5px;color:var(--muted)}.kpi.warn{background:var(--warn-bg);border-color:var(--warn-line)}.kpi.warn .kpi-label,.kpi.warn .kpi-value,.kpi.warn .kpi-sub{color:var(--warn-text)}.kpi .dotmark{width:8px;height:8px;border-radius:999px}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;line-height:1.4}.pill:before{content:"";width:7px;height:7px;border-radius:999px;background:currentColor;opacity:.85}.pill.no-dot:before{display:none}.tone-warn{background:var(--warn-bg);color:var(--warn-text)}.tone-info{background:var(--info-bg);color:var(--info-text)}.tone-live{background:var(--live-bg);color:var(--live-text)}.tone-done{background:var(--done-bg);color:var(--done-text)}.tone-danger{background:var(--danger-bg);color:var(--danger-text)}.tone-review{background:var(--review-bg);color:var(--review-text)}.tone-accent{background:var(--accent-soft);color:var(--accent-text)}.tone-neutral{background:var(--sunken);color:var(--text-2)}.pill.live:before{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.9}50%{opacity:.25}}.tag{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:6px;font-size:11.5px;font-weight:600;white-space:nowrap}.type-icon{width:30px;height:30px;flex:none;border-radius:8px;display:grid;place-items:center;color:var(--surface);background:var(--type-transfer)}.type-icon.arrival{background:var(--type-arrival)}.type-icon.departure{background:var(--type-departure)}.type-icon.transfer{background:var(--type-transfer)}.type-icon.site{background:var(--type-site)}.plate{display:inline-flex;align-items:center;gap:6px;padding:2px 7px;border:1.5px solid var(--text);border-radius:6px;font-family:var(--font-mono);font-size:12.5px;font-weight:600;letter-spacing:.05em;background:var(--surface);white-space:nowrap;direction:ltr}.plate .ksa{font-size:9px;letter-spacing:.02em;padding-inline-end:6px;border-inline-end:1px solid var(--line-strong);color:var(--muted)}.avatar{width:32px;height:32px;flex:none;border-radius:999px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-text);font-size:12px;font-weight:700}.avatar.lg{width:52px;height:52px;font-size:17px}.avatar.ext{background:var(--review-bg);color:var(--review-text)}.person{display:flex;align-items:center;gap:10px;min-width:0}.person-text{display:flex;flex-direction:column;min-width:0}.person-text strong{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-text span{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.tab{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:0;border-bottom:2.5px solid transparent;background:transparent;color:var(--muted);font-weight:600;white-space:nowrap;margin-bottom:-1px}.tab:hover{color:var(--text)}.tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.count{min-width:22px;padding:1px 7px;border-radius:999px;font-size:11.5px;font-weight:700;text-align:center;background:var(--sunken);color:var(--text-2)}.tab[aria-selected=true] .count{background:var(--accent);color:var(--on-accent)}.seg{display:inline-flex;padding:3px;gap:2px;border-radius:10px;background:var(--sunken);border:1px solid var(--line)}.seg button{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--text-2);font-weight:600;font-size:13px;white-space:nowrap}.seg button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label,.field-label{font-size:12.5px;font-weight:600;color:var(--text-2)}.field .hint{font-size:12px;color:var(--muted)}.field .err{font-size:12px;color:var(--danger);font-weight:600;display:flex;gap:5px;align-items:flex-start}.input,.select,.textarea{width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:14px}.textarea{min-height:84px;resize:vertical}.input:hover,.select:hover,.textarea:hover{border-color:var(--muted)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--danger)}.input.mono{font-family:var(--font-mono)}.input-group{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface)}.input-group:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input-group input{border:0;outline:none;background:transparent;flex:1;min-width:0;height:100%}.input-group svg{color:var(--muted);flex:none}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.form-grid .span-all{grid-column:1 / -1}.check{display:flex;align-items:center;gap:10px;font-weight:500}.switch{position:relative;width:38px;height:22px;flex:none}.switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.switch span{position:absolute;inset:0;border-radius:999px;background:var(--line-strong);transition:background .15s;pointer-events:none}.switch span:after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:16px;height:16px;border-radius:999px;background:#fff;transition:transform .15s;box-shadow:var(--shadow-1)}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translate(16px)}[dir=rtl] .switch input:checked+span:after{transform:translate(-16px)}.switch input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}.stepper{display:inline-flex;align-items:center;border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.stepper button{width:40px;height:40px;border:0;background:var(--surface-2);font-size:18px;font-weight:600;color:var(--text)}.stepper button:hover:not(:disabled){background:var(--sunken)}.stepper output{min-width:52px;text-align:center;font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}.choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.choice{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;text-align:start;border:1.5px solid var(--line);border-radius:12px;background:var(--surface)}.choice:hover:not(:disabled){border-color:var(--line-strong)}.choice[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.choice:disabled{opacity:.5}.choice strong{font-size:15px}.choice small{font-size:12px;color:var(--muted)}.choice .price{font-family:var(--font-mono);font-weight:600;font-size:14px}.form-section{display:flex;flex-direction:column;gap:14px;padding:18px}.form-section+.form-section{border-top:1px solid var(--line)}.form-section h2{font-size:15px;display:flex;align-items:center;gap:10px}.step-no{width:24px;height:24px;border-radius:999px;display:inline-grid;place-items:center;background:var(--accent-soft);color:var(--accent-text);font-size:12px;font-weight:700}.notice{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;font-size:13px}.notice svg{flex:none;margin-top:1px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.toolbar .input-group{flex:1 1 220px;max-width:340px}.toolbar .select{width:auto;min-height:38px;padding-block:6px;min-width:150px}.toolbar-end{margin-inline-start:auto;display:flex;gap:8px;align-items:center}.table-wrap{width:100%;overflow-x:auto}.dt{width:100%;border-collapse:collapse}.dt th{position:sticky;top:0;z-index:1;padding:10px 14px;text-align:start;white-space:nowrap;font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--line)}.dt td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:middle}.dt tbody tr:last-child td{border-bottom:0}.dt tbody tr.clickable{cursor:pointer}.dt tbody tr.clickable:hover td{background:var(--surface-2)}.dt tbody tr.is-selected td{background:var(--accent-soft)}.dt .end{text-align:end}.dt .nowrap{white-space:nowrap}.dt .group-row td{background:var(--sunken);font-size:12.5px;font-weight:700;color:var(--text-2);padding-block:7px}.cell-main{font-weight:600}.cell-sub{font-size:12.5px;color:var(--muted);margin-top:1px}.time-big{font-family:var(--font-mono);font-size:16px;font-weight:600;direction:ltr;display:inline-block}.ref{font-family:var(--font-mono);font-size:12px;color:var(--accent-text);direction:ltr;display:inline-block}.route-line{display:flex;align-items:center;gap:6px;font-weight:600;flex-wrap:wrap}.route-line .arrow{color:var(--muted)}.trip-cell{display:flex;align-items:center;gap:10px;min-width:0}@media(max-width:1180px){.dt .hide-lg{display:none}}@media(max-width:760px){.dt.responsive thead{display:none}.dt.responsive,.dt.responsive tbody,.dt.responsive tr,.dt.responsive td{display:block;width:100%}.dt.responsive tr{padding:12px 14px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:8px 12px}.dt.responsive td{padding:0;border:0}.dt.responsive td[data-label]:before{content:attr(data-label);display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:2px}.dt.responsive td.wide{grid-column:1 / -1}.dt.responsive .hide-lg{display:block}.dt.responsive td.end{text-align:start}}.pager{display:flex;align-items:center;gap:6px}.empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;text-align:center;color:var(--muted)}.empty strong{color:var(--text);font-size:15px}.empty svg{color:var(--line-strong)}.menu-wrap{position:relative;display:inline-flex}.menu{position:absolute;top:calc(100% + 6px);inset-inline-end:0;min-width:220px;z-index:45;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-pop);padding:6px;display:flex;flex-direction:column}.menu.start{inset-inline-end:auto;inset-inline-start:0}.menu-item{display:flex;align-items:center;gap:10px;min-height:36px;padding:0 10px;border:0;border-radius:8px;background:transparent;text-align:start;font-size:13.5px;font-weight:500;color:var(--text);white-space:nowrap;width:100%}.menu-item:hover:not(:disabled),.menu-item:focus-visible{background:var(--sunken);outline:none}.menu-item:disabled{opacity:.45}.menu-item.danger{color:var(--danger)}.menu-item svg{color:var(--muted);flex:none}.menu-item.danger svg{color:var(--danger)}.menu-sep{height:1px;background:var(--line);margin:5px 4px}.menu-head{padding:8px 10px 6px;display:flex;flex-direction:column;gap:2px}.menu-head strong{font-size:14px}.menu-head span{font-size:12px;color:var(--muted)}.popover{width:360px;max-width:calc(100vw - 32px);padding:0}.popover-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}.notif{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:start;width:100%}.notif:hover{background:var(--surface-2)}.notif:last-child{border-bottom:0}.notif .ico{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex:none}.notif strong{font-size:13.5px;display:block}.notif span{font-size:12.5px;color:var(--muted)}.scrim{position:fixed;inset:0;background:var(--scrim);z-index:50;animation:fade .15s ease}@keyframes fade{0%{opacity:0}}.drawer{position:fixed;top:0;bottom:0;inset-inline-end:0;z-index:51;width:min(500px,100vw);background:var(--surface);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;animation:slide-in .2s ease}@keyframes slide-in{0%{transform:translate(24px);opacity:.4}}[dir=rtl] .drawer{animation-name:slide-in-rtl}@keyframes slide-in-rtl{0%{transform:translate(-24px);opacity:.4}}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--line)}.drawer-body{flex:1;overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:20px}.drawer-foot{display:flex;flex-wrap:wrap;gap:8px;padding:12px 20px;border-top:1px solid var(--line);background:var(--surface-2)}.modal-host{position:fixed;inset:0;z-index:55;display:grid;place-items:center;padding:16px;overflow-y:auto}.modal-host .scrim{z-index:0;position:fixed}.modal{position:relative;z-index:1;width:min(560px,100%);max-height:calc(100vh - 32px);background:var(--surface);border-radius:16px;box-shadow:var(--shadow-pop);display:flex;flex-direction:column;animation:pop .16s ease}.modal.wide{width:min(760px,100%)}.modal.narrow{width:min(440px,100%)}@keyframes pop{0%{transform:translateY(8px) scale(.98);opacity:0}}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 12px}.modal-head h2{font-size:18px}.modal-head p{color:var(--muted);font-size:13px;margin-top:3px}.modal-body{padding:4px 20px 18px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.modal-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--line);background:var(--surface-2);border-radius:0 0 16px 16px}.section-title{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;margin:0}.kv dt{font-size:12px;font-weight:600;color:var(--muted)}.kv dd{margin:2px 0 0;font-weight:600;overflow-wrap:anywhere}.route-viz{display:flex;gap:12px}.route-viz .rail-dots{display:flex;flex-direction:column;align-items:center;padding-top:5px}.route-viz .node{width:12px;height:12px;border-radius:999px;border:2.5px solid var(--accent);background:var(--surface)}.route-viz .node.end{background:var(--accent)}.route-viz .seg-line{width:2px;flex:1;min-height:30px;background:repeating-linear-gradient(var(--line-strong) 0 4px,transparent 4px 8px)}.route-viz .stops{display:flex;flex-direction:column;gap:16px;min-width:0}.progress-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}.progress-steps li{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--muted)}.progress-steps li:before{content:"";height:4px;border-radius:999px;background:var(--line)}.progress-steps li.on{color:var(--text)}.progress-steps li.on:before{background:var(--accent)}.activity{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.activity li{position:relative;display:flex;gap:12px;padding-bottom:14px}.activity li:before{content:"";position:absolute;top:18px;bottom:0;inset-inline-start:5px;width:2px;background:var(--line)}.activity li:last-child:before{display:none}.activity .a-dot{width:12px;height:12px;border-radius:999px;background:var(--line-strong);margin-top:4px;flex:none;position:relative}.activity .a-dot.accent{background:var(--accent)}.activity strong{font-size:13px;font-weight:600;display:block}.activity span{font-size:12px;color:var(--muted)}.candidate{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;text-align:start;border:1.5px solid var(--line);border-radius:12px;background:var(--surface)}.candidate:hover:not(:disabled){border-color:var(--line-strong)}.candidate[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.candidate:disabled{opacity:.5}.candidate .grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.candidate .grow span{font-size:12.5px;color:var(--muted)}.cand-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto;padding:2px}.toasts{position:fixed;bottom:18px;inset-inline-end:18px;z-index:70;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;max-width:420px;padding:11px 14px;border-radius:12px;background:var(--text);color:var(--bg);box-shadow:var(--shadow-pop);font-size:13.5px;font-weight:600;animation:pop .18s ease}.toast.error{background:var(--danger);color:#fff}.toast button{border:0;background:transparent;color:inherit;opacity:.7;padding:2px}.cmdk{position:relative;z-index:1;width:min(620px,100%);align-self:start;margin-top:10vh;background:var(--surface);border-radius:16px;box-shadow:var(--shadow-pop);overflow:hidden;animation:pop .14s ease}.cmdk-input{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}.cmdk-input input{flex:1;border:0;outline:none;background:transparent;font-size:16px}.cmdk-list{max-height:420px;overflow-y:auto;padding:6px}.cmdk-group{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:10px 10px 4px}.cmdk-item{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:6px 10px;border:0;border-radius:9px;background:transparent;text-align:start}.cmdk-item[aria-selected=true]{background:var(--accent-soft)}.cmdk-item .grow{flex:1;min-width:0;display:flex;flex-direction:column}.cmdk-item .grow span{font-size:12px;color:var(--muted)}.tl-wrap{overflow-x:auto}.tl{min-width:1280px;position:relative}.tl-row{display:grid;grid-template-columns:220px 1fr;border-bottom:1px solid var(--line);min-height:52px}.tl-row:last-child{border-bottom:0}.tl-label{position:sticky;inset-inline-start:0;z-index:3;background:var(--surface);border-inline-end:1px solid var(--line);padding:8px 12px;display:flex;align-items:center}.tl-head .tl-label{background:var(--surface-2);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.tl-head{min-height:34px;background:var(--surface-2)}.tl-hours{position:relative;display:grid;grid-template-columns:repeat(24,1fr)}.tl-hours span{font-family:var(--font-mono);font-size:11px;color:var(--muted);padding:9px 0 0 4px;border-inline-start:1px solid var(--line)}.tl-lane{position:relative;background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(100% / 24 - 1px),var(--line) calc(100% / 24 - 1px),var(--line) calc(100% / 24))}[dir=rtl] .tl-lane{background-image:repeating-linear-gradient(to left,transparent 0,transparent calc(100% / 24 - 1px),var(--line) calc(100% / 24 - 1px),var(--line) calc(100% / 24))}.tl-lane.drop-ok{background-color:var(--accent-soft)}.tl-lane.unassigned{background-color:color-mix(in srgb,var(--warn-bg) 55%,transparent)}.tl-block{position:absolute;height:36px;display:flex;align-items:center;gap:6px;padding:0 8px;overflow:hidden;border-radius:8px;border:1px solid transparent;font-size:12px;font-weight:600;white-space:nowrap;text-align:start;box-shadow:var(--shadow-1)}.tl-block:hover{z-index:2;box-shadow:var(--shadow-2)}.tl-block[draggable=true]{cursor:grab}.tl-block .mono{font-size:11.5px}.tl-block.tone-warn{border:1.5px dashed var(--warn-dot)}.tl-now{position:absolute;top:0;bottom:0;width:2px;background:var(--danger-dot);z-index:4;pointer-events:none}.tl-now:before{content:"";position:absolute;top:-1px;inset-inline-start:-4px;width:10px;height:10px;border-radius:999px;background:var(--danger-dot)}.banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:11px 14px;border-radius:12px;border:1px solid var(--warn-line);background:var(--warn-bg);color:var(--warn-text);font-weight:600;font-size:13.5px}.banner .grow{flex:1;min-width:200px}.split{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start}.split>.main-col{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:16px}.split>.side-col{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:16px;position:sticky;top:calc(var(--topbar-h) + 16px)}.summary-price{font-family:var(--font-mono);font-size:28px;font-weight:700}.matrix td.cell-edit{padding:6px 8px}.matrix input{width:96px;min-height:34px;padding:4px 8px;text-align:end;font-family:var(--font-mono)}.matrix td.changed input{border-color:var(--warn-dot);background:var(--warn-bg)}.loc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.class-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.class-card{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.class-card .seats{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.signin{min-height:100%;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(1200px 500px at 85% -10%,var(--accent-soft),transparent 60%),var(--bg)}.signin-card{width:min(420px,100%);padding:32px 28px;display:flex;flex-direction:column;gap:18px}.signin-card h1{font-size:24px}.only-mobile{display:none}@media(max-width:900px){.only-mobile{display:inline-grid}.hide-mobile{display:none!important}.rail{position:fixed;inset-block:0;inset-inline-start:0;height:100%;width:min(280px,86vw)!important;transform:translate(-102%);transition:transform .2s ease;box-shadow:var(--shadow-pop)}[dir=rtl] .rail{transform:translate(102%)}.app.nav-open .rail{transform:none}.app.is-collapsed .rail-label,.app.is-collapsed .rail-text,.app.is-collapsed .rail-name{display:initial}.app.is-collapsed .rail-item{justify-content:flex-start;padding:0 10px}.topbar{padding:0 12px}.page{padding:16px 16px 40px}.clock{display:none}.split>.side-col{position:static}}@media(max-width:560px){.topbar-search span.label,.topbar-search kbd{display:none}.topbar-search{flex:0 0 auto;width:38px;padding:0;justify-content:center}.page-title h1{font-size:22px}}.form-grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.fieldset{border:1px solid var(--line);border-radius:12px;padding:12px 14px 14px;margin:0}.fieldset legend{padding:0 6px;font-weight:650;font-size:13px}.price-grid td.cell-edit{padding:6px 8px;vertical-align:top}.price-grid td.cell-edit.changed .money-input{border-color:var(--accent);background:var(--accent-soft)}.price-grid .err{color:var(--danger);font-size:11.5px;font-weight:600;margin-top:3px}.money-input{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong, var(--line));border-radius:9px;padding:0 8px;background:var(--surface);min-width:112px;max-width:140px}.money-input span{font-size:11px;color:var(--muted);font-weight:600;letter-spacing:.03em}.money-input .input{border:0;background:transparent;padding:6px 0;min-height:32px;text-align:end;box-shadow:none;min-width:0}.money-input:focus-within{outline:2px solid var(--focus, var(--accent));outline-offset:1px}.warn-text{color:var(--warn-text)}.sheet h3{margin:4px 0 10px;font-size:15px}.sheet-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.sheet-list li{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.sheet h3{display:none}@media print{body *{visibility:hidden!important}.print-area,.print-area *{visibility:visible!important}.print-area{position:absolute;inset:0 auto auto 0;width:100%;padding:16px;background:#fff;color:#000}.sheet h3{display:block}.sheet-list li{break-inside:avoid;border-color:#bbb}}app-icon{display:inline-flex;flex:none;line-height:0}.modal-foot:empty,.drawer-foot:empty{display:none}app-status,app-plate,app-avatar,app-person,app-route,app-type-icon{flex:none}app-person,app-route{min-width:0;flex:0 1 auto}app-menu{display:inline-flex}.loading-screen{min-height:100vh;display:grid;place-items:center;color:var(--muted);gap:12px;text-align:center;padding:24px}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:spin .8s linear infinite;margin-inline:auto}@keyframes spin{to{transform:rotate(360deg)}}.demo-ribbon{position:fixed;inset-block-end:12px;inset-inline-start:12px;z-index:70;padding:4px 10px;border-radius:999px;background:var(--review-bg);color:var(--review-text);font-size:11.5px;font-weight:700;letter-spacing:.04em;pointer-events:none}a.rail-item,a.rail-cta{text-decoration:none}.rail-item .rail-count.neutral{background:var(--rail-active);color:var(--rail-strong)}
