:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-feature-settings:"liga" 1, "calt" 1;color:#101010;font-synthesis:none;--ink:#151615;--muted:#555954;--interactive-muted:#555954;--surface:#fbfbf9;--surface-alt:#f1f2ef;--surface-raised:#fff;--sidebar-surface:#dde0da;--sidebar-heading-surface:#eef0ec;--sidebar-trip-upcoming:#f5f6f3;--registration-header:var(--ink);--registration-header-ink:#f7f8f8;--registration-header-muted:#d2d7d9;--registration-row-alternating:#243d6305;--registration-row-alternating-solid:#f7f7f6;--registration-row-hover:#f1f2ef85;--registration-row-hover-solid:#f6f6f4;--border:#d9dad5;--border-strong:#a7aaa3;--transition-divider:#c4c8c2;--navy:#243d63;--danger:#b42318;--warning:#8a4b06;--success:#116b47;--focus:#2768ff;--control-radius:3px;--text-xs:.625rem;--space-2:8px;--space-3:12px;--control-height-compact:38px;--control-height:44px;--control-height-large:54px;--control-border:1px solid var(--border);--control-border-strong:1px solid var(--border-strong);--panel-border:1px solid var(--border);--panel-radius:var(--control-radius);--shadow-subtle:0 3px 12px #1010100a;--shadow-floating:0 14px 38px #10101029;--ink-inverse:#fff;--action-primary-ink:var(--ink-inverse);--action-primary-border:var(--ink);--action-primary-surface:var(--ink);--action-primary-hover-ink:var(--ink-inverse);--action-primary-hover-border:var(--navy);--action-primary-hover-surface:var(--navy);--canvas:var(--surface-alt);--split-gutter-dot-color:#c4c8c2;--split-gutter-dot-hover-color:#89948e;--status-success:#67c98f;--status-pending:#d5a247;--status-danger:#d7655c;--status-warning-soft:#fff7e7;--status-danger-soft:#fff0ee;--layer-popover:100;--layer-status-popover:110;--layer-status-incident:180;--layer-floating-control:900;--layer-navigation-backdrop:999;--layer-navigation:1000;--layer-map-overlay:1100;--layer-modal:1200;--layer-toast:1300;background:#ecece9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@supports (font-variation-settings:normal){:root{font-family:InterVariable,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}}*{box-sizing:border-box}body{background:var(--surface);min-width:320px;min-height:100dvh;margin:0}button,input,select{font:inherit}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}[hidden]{display:none!important}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{--browser-fullscreen-top-inset:0px;--topbar-height:calc(64px + var(--browser-fullscreen-top-inset));--workspace-footer-height:100px;background:var(--surface);min-height:100dvh;position:relative}.app-shell.is-browser-fullscreen{--browser-fullscreen-top-inset:24px}.eyebrow{text-transform:uppercase;color:var(--muted);font-size:var(--text-xs);letter-spacing:.15em;margin:0 0 12px;font-weight:650}.text-button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-bottom:1px solid;padding:0;font-size:.66rem;text-decoration:none}h1,h2{letter-spacing:-.02em;margin:0;font-size:1.25rem;font-weight:470}.button{min-height:var(--control-height);border:var(--control-border-strong);border-radius:var(--panel-radius);color:var(--ink);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:7px;padding:9px 16px;font-size:.74rem;font-weight:580;display:inline-flex}.button:hover:not(:disabled){color:var(--ink);border-color:var(--ink);background:var(--surface-alt)}.field{letter-spacing:.03em;gap:7px;margin:18px 0;font-size:.73rem;font-weight:550;display:grid}.field select,.field input{width:100%;min-height:var(--control-height);border:var(--control-border);color:var(--ink);border-color:var(--border);border-radius:var(--panel-radius);background:var(--surface);padding:9px 11px}.field select:focus,.field input:focus{border-color:var(--ink);background:var(--surface-raised)}.compact-field{margin:0;font-size:.7rem}@media (width<=760px){.search-field{grid-column:1/-1}}.button.is-primary{color:var(--action-primary-ink);border-color:var(--action-primary-border);background:var(--action-primary-surface)}.button.is-primary:hover:not(:disabled){color:var(--action-primary-hover-ink);border-color:var(--action-primary-hover-border);background:var(--action-primary-hover-surface)}.button.is-danger{color:var(--ink-inverse);border-color:var(--danger);background:var(--danger)}.button.is-danger:hover:not(:disabled){color:var(--ink-inverse);background:#7f2922;border-color:#7f2922}.text-button:hover{color:var(--ink)}.field select:hover,.field input:hover{border-color:var(--border-strong)}.button,.text-button,.field input,.field select{transition:color .15s,border-color .15s,background-color .15s,box-shadow .15s,opacity .15s}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sidebar-toggle-button{border:var(--control-border);border-radius:var(--panel-radius);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.sidebar-toggle-button>span{justify-content:center;align-items:center;width:16px;height:16px;line-height:0;display:flex}.sidebar-toggle-button svg{width:16px;height:16px;display:block}.sidebar-toggle-button:hover,.sidebar-toggle-button:focus-visible{color:var(--ink);border-color:var(--border-strong);background:var(--surface-alt)}.sidebar-backdrop{display:none}@media (width<=960px){.sidebar-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:var(--layer-navigation-backdrop);opacity:0;pointer-events:none;background:#10141873;transition:opacity .22s ease-out;display:block;position:fixed;inset:0}.sidebar-backdrop.is-active{opacity:1;pointer-events:auto}}.shell.is-sidebar-collapsed .sidebar{display:none}.sidebar{border-right:1px solid var(--border);height:calc(100dvh - var(--topbar-height));border-right-color:var(--border);background:var(--sidebar-surface);flex-direction:column;min-height:0;padding:28px 20px 24px;display:flex;overflow:hidden}.sidebar-trips-header{border-bottom:1px solid var(--border);background:var(--sidebar-heading-surface);flex:none;grid-template-columns:minmax(0,1fr);justify-content:stretch;align-self:flex-start;align-items:stretch;gap:0;width:calc(100% + 40px);min-height:42px;margin:0 0 0 -20px;padding:0;display:grid}.sidebar-overview-nav{border-bottom:1px solid var(--border);background:var(--sidebar-heading-surface);flex:none;width:calc(100% + 40px);margin:-28px -20px 0}.sidebar-overview-nav button{width:100%;min-height:48px;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;border-left:3px solid #0000;align-items:center;gap:10px;padding:0 14px;font-size:.78rem;font-weight:650;display:flex}.sidebar-overview-nav button:hover,.sidebar-overview-nav button:focus-visible{color:var(--ink);background:var(--surface-raised)}.sidebar-overview-nav button[aria-current=page]{border-left-color:var(--navy);color:var(--ink);background:var(--surface-raised);padding-left:14px}.sidebar-overview-icon{place-items:center;width:16px;height:16px;display:grid}.sidebar-overview-icon svg{width:16px;height:16px}.sidebar-overview-chevron{place-items:center;width:16px;height:16px;margin-left:auto;display:grid}.sidebar-overview-chevron svg{width:16px;height:16px}.sidebar-trips-header>span{min-width:0;color:var(--muted);font-size:var(--text-xs);letter-spacing:.11em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-weight:650;overflow:hidden}.sidebar-empty{border-bottom:1px solid var(--border);color:var(--muted);margin:0;padding:18px;font-size:.82rem;line-height:1.5}.trip-button{border:0;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;border-bottom-color:var(--border);background:0 0;grid-template-columns:14px minmax(0,1fr);gap:10px;width:100%;min-height:62px;padding:10px 20px;transition:background-color .15s,border-color .15s;display:grid;position:relative}.trip-button.is-selected{background:var(--surface-raised);box-shadow:inset 0 0 0 1px var(--border-strong)}.trip-state{border:1px solid var(--border-strong);z-index:1;border-color:var(--border-strong);background:var(--sidebar-trip-upcoming);color:#0000;border-radius:50%;place-items:center;width:9px;height:9px;margin:6px 0 0 2px;font-size:0;display:grid}.trip-button.is-expected .trip-state{color:var(--ink-inverse);border-color:var(--navy);background:var(--navy)}.trip-button.has-error{color:var(--danger);background:color-mix(in srgb, var(--status-danger) 10%, transparent);opacity:1}.trip-button.has-error .trip-state{color:var(--ink-inverse);border-color:var(--status-danger);background:var(--status-danger)}.trip-button strong{font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums;font-size:.83rem;font-weight:560;display:block}.trip-button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:.67rem;display:block;overflow:hidden}.trip-status-bar.is-negative-onboard .trip-status-onboard-count{color:var(--danger)}.sidebar-trips-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:40px;padding:0 8px 0 12px;display:flex}.sidebar-trips-heading>span{color:var(--muted);font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;font-weight:700}.sidebar-trips-heading button{border-radius:var(--control-radius);width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;padding:0;display:grid}.sidebar-trips-heading button svg{width:14px;height:14px}.sidebar-trips-heading button:hover:not(:disabled),.sidebar-trips-heading button[aria-pressed=true]{color:var(--ink);border-color:var(--border);background:var(--surface-raised)}.trips{overscroll-behavior:contain;scrollbar-color:var(--border-strong) #70756f14;scrollbar-gutter:stable;scrollbar-width:thin;border-top:0;flex:auto;align-content:start;min-height:0;margin:0 -20px;display:grid;overflow:hidden scroll}.trips::-webkit-scrollbar{width:6px}.trips::-webkit-scrollbar-track{background:#70756f14}.trips::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.trip-group-label{min-height:28px;color:var(--muted);background:var(--sidebar-surface);font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;align-items:flex-end;padding:11px 20px 6px;font-weight:700;line-height:1;display:flex}.trip-button:before{content:"";background:var(--border-strong);opacity:.55;width:1px;position:absolute;top:0;bottom:0;left:26px}.trip-button:not(.is-past-by-time){background:#ffffff6b}.trip-button:hover{background:var(--surface-raised)}.trip-button.is-selected:not(.is-expected,.has-error) .trip-state{border-color:var(--interactive-muted);background:var(--surface-raised);box-shadow:0 0 0 2px var(--surface-raised)}.trip-copy{min-width:0;display:block}.trip-button.is-past-by-time{color:var(--interactive-muted);background:color-mix(in srgb, var(--sidebar-surface) 86%, var(--surface-raised))}.trip-button.is-past-by-time:hover{background:var(--surface-raised)}.trip-button.has-error:hover{background:color-mix(in srgb, var(--status-danger) 16%, transparent);opacity:1}.trip-button.has-error.is-selected{background:color-mix(in srgb, var(--status-danger) 20%, transparent);opacity:1}.trip-button.has-error .trip-departure,.trip-button.has-error .trip-line,.trip-button.has-error small{color:var(--danger)}.trip-button.is-past-by-time .trip-state{color:var(--muted);border-color:var(--border);background:var(--surface-alt)}.trip-button.is-past-by-time strong,.trip-button.is-past-by-time small{color:var(--interactive-muted)}.trip-departure{color:var(--ink);letter-spacing:-.015em;flex:0 0 38px;font-size:.82rem;font-weight:720}.trip-line{min-width:0;color:var(--muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;font-weight:560;overflow:hidden}.trip-reconciliation-label{color:var(--ink-inverse);background:var(--status-danger);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;flex:none;align-items:center;margin-left:auto;padding:3px 5px;font-weight:700;line-height:1;display:inline-flex}@media (width<=960px){.shell .sidebar{top:var(--topbar-height);width:min(300px,85vw);z-index:var(--layer-navigation);background:var(--surface-alt);height:calc(100dvh - var(--topbar-height));min-height:auto;transition:transform .25s cubic-bezier(.16,1,.3,1);position:fixed;bottom:0;left:0;overflow-y:auto;box-shadow:4px 0 24px #00000029}.shell.is-sidebar-collapsed .sidebar{display:flex;transform:translate(-100%)}.shell:not(.is-sidebar-collapsed) .sidebar{transform:translate(0)}}@media (width<=760px){.sidebar{border-right:0;border-bottom:1px solid var(--ink);padding-inline:16px}.sidebar-clock.sidebar-time{padding-bottom:env(safe-area-inset-bottom,0px)}.sidebar-clock.sidebar-time.is-date-only{min-height:52px;padding:14px 16px max(14px, env(safe-area-inset-bottom,0px));margin-inline:-16px}.sidebar-clock.sidebar-time.is-date-only .workspace-clock-date{margin-top:0;font-size:.8rem}.sidebar-trips-header{width:calc(100% + 32px);margin-left:-16px;margin-right:0;padding-inline:0}.sidebar-overview-nav{width:calc(100% + 32px);margin-inline:-16px}.sidebar-trips-heading{padding:0 8px 0 12px}.trips{scrollbar-gutter:stable;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));min-height:160px;margin-inline:-16px;overflow:hidden auto}.trip-group-label{padding-inline:16px}.trip-button{border-right:1px solid var(--border);padding-inline:16px}.trip-button:before{left:22px}}@media (width>=761px){.shell.is-pax-expanded .sidebar-trips-heading>span{font-size:var(--text-xs)}.shell.is-pax-expanded .trip-group-label{font-size:var(--text-xs);padding-inline:22px}.shell.is-pax-expanded .trip-button{grid-template-columns:14px minmax(0,1fr);min-height:68px;padding:11px 22px}.shell.is-pax-expanded .trip-button:before{left:28px}.shell.is-pax-expanded .trip-departure{flex-basis:44px;font-size:.92rem}.shell.is-pax-expanded .trip-line{font-size:.68rem}.shell.is-pax-expanded .trip-button small{font-size:.74rem}}@media (prefers-reduced-motion:no-preference){.sidebar{transition:color .18s,background-color .18s,border-color .18s}}.sidebar-clock{padding:16px 18px;text-align:center;border-bottom:1px solid var(--border);padding-top:18px;padding-bottom:24px;padding-inline:20px;position:relative}.sidebar-clock time{letter-spacing:-.045em;font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums;cursor:help;width:max-content;margin:0 auto;font-size:2.15rem;font-weight:680;line-height:1;display:block;position:relative}.sidebar-clock time:after{content:attr(data-tooltip);z-index:30;border-radius:var(--control-radius);color:#fff;background:var(--ink);min-width:max-content;font-size:var(--text-xs);letter-spacing:0;opacity:0;pointer-events:none;padding:6px 8px;font-weight:540;line-height:1;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px)}.sidebar-clock time:hover:after,.sidebar-clock time:focus-visible:after{opacity:1;transform:translate(-50%)}.sidebar-clock .workspace-clock-date{color:var(--muted);margin-top:10px;font-size:.72rem;font-weight:470;line-height:1.3;display:block}.sidebar-clock.sidebar-time{min-height:var(--workspace-footer-height);border-top:1px solid var(--ink);color:#fff;background:var(--ink);border-bottom:0;flex-direction:column;flex:none;justify-content:center;margin:0 -20px -24px;display:flex}.sidebar-clock.sidebar-time .workspace-clock-date{color:#ffffffb3;letter-spacing:.01em;text-transform:capitalize;margin-top:6px;font-size:.74rem;font-weight:480}.sidebar-time time{color:#fff}.sidebar-time time:after{color:var(--ink);background:#fff;box-shadow:0 5px 16px #00000038}.service-date-native-input{opacity:0;cursor:pointer;z-index:2;border:none;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.service-date-native-input::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.service-date-native-input:focus-visible+.traffic-day-date-content{outline:2px solid var(--navy);outline-offset:-2px}.topbar{z-index:var(--layer-toast);border-bottom:1px solid var(--ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-height:var(--topbar-height);padding:calc(10px + var(--browser-fullscreen-top-inset)) 28px 10px;border-bottom-color:var(--border);background:#fbfbf9f7;align-items:center;gap:40px;display:flex;position:sticky;top:0}.brand{white-space:nowrap;align-items:center;gap:14px;min-width:210px;line-height:1;display:flex}.brand-mark{letter-spacing:.12em;align-content:center;width:44px;height:44px;padding:5px 6px;font-size:.78rem;font-weight:720;line-height:.92;display:grid;position:relative}.brand-mark span{display:block}.brand-session{border-left:1px solid var(--border);color:var(--muted);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;gap:5px;padding-left:14px;font-weight:600;display:grid}.brand-session strong{max-width:180px;color:var(--ink);letter-spacing:0;text-overflow:ellipsis;text-transform:none;font-size:.78rem;font-weight:650;overflow:hidden}.topbar-service-date{max-width:min(34vw,420px);color:var(--muted);letter-spacing:.035em;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;font-size:.75rem;font-weight:620;line-height:1;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.topbar-tools{flex:none;align-items:center;gap:10px;margin-left:auto;display:flex;position:relative}.topbar-control{min-height:var(--control-height);border:var(--control-border);border-radius:var(--panel-radius);color:var(--muted);cursor:pointer;background:0 0;transition:color .15s,border-color .15s,background-color .15s}.topbar-control:hover,.topbar-control:focus-visible,.topbar-control[aria-expanded=true]{color:var(--ink);border-color:var(--border-strong);background:var(--surface-alt)}.topbar-control:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app-settings{flex:none;position:relative}.settings-trigger{width:var(--control-height);height:var(--control-height);place-items:center;padding:0;display:grid}.settings-trigger>span{pointer-events:none;place-items:center;display:grid}.settings-trigger svg{width:18px;height:18px}.settings-popover{width:270px;z-index:var(--layer-popover);border:var(--control-border-strong);background:var(--surface-raised);box-shadow:var(--shadow-floating);position:absolute;top:calc(100% + 10px);right:0}.settings-heading,.settings-source{border-bottom:1px solid var(--border);gap:5px;padding:14px 16px;display:grid}.settings-heading span,.settings-source span,.settings-theme{color:var(--muted);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;font-weight:650}.settings-heading strong,.settings-source strong{font-size:.78rem;font-weight:650}.settings-source small{color:var(--muted);font-size:.64rem}.settings-theme{border-bottom:1px solid var(--border);gap:8px;padding:14px 16px;display:grid}.settings-theme select{border:var(--control-border);border-radius:var(--panel-radius);min-height:36px;color:var(--ink);background:var(--surface);letter-spacing:0;text-transform:none;padding:7px 9px;font-size:.72rem}.settings-actions{padding:6px;display:grid}.settings-actions button{min-height:40px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:8px 10px;font-size:.72rem;display:flex}.settings-actions button:hover{background:var(--surface-alt)}.settings-actions button.reset-app-button{color:var(--danger)}.settings-actions button.reset-app-button:hover{background:var(--status-danger-soft)}.settings-actions button svg{width:15px;height:15px;color:var(--muted)}.settings-actions .logout-button{border-top:1px solid var(--border);color:var(--danger);margin-top:5px}.settings-deployment{border-top:1px solid var(--border);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-size:.64rem;display:flex}.settings-deployment strong{color:var(--ink);letter-spacing:.06em;font-size:.68rem;font-weight:700}.topbar-sidebar-toggle{width:var(--control-height);height:var(--control-height);display:inline-flex}.topbar:has(.topbar-sidebar-toggle){gap:16px}.topbar-sidebar-toggle>span,.topbar-sidebar-toggle svg{width:18px;height:18px}.shell{--sidebar-width:248px;grid-template-columns:minmax(200px, var(--sidebar-width)) minmax(0, 1fr);min-height:calc(100vh - var(--topbar-height));display:grid}.shell.is-sidebar-collapsed{--sidebar-width:0px;grid-template-columns:minmax(0,1fr)}.workspace{background:var(--surface);view-transition-name:workspace-content;min-width:0;display:grid;position:relative}.workspace[data-layout=pax],.workspace[data-layout=overview]{grid-template-columns:minmax(0,1fr)}.workspace[data-layout=split]{--split-position:50%;grid-template-columns:minmax(0, var(--split-position)) minmax(0, calc(100% - var(--split-position)))}.split-gutter{width:22px;z-index:var(--layer-modal);top:0;bottom:0;left:var(--split-position);cursor:col-resize;touch-action:none;position:absolute;transform:translate(-50%)}.split-gutter:before{content:"";inset-block:0;background:var(--border);width:1px;transition:background-color .12s;position:absolute;left:50%;transform:translate(-50%)}.split-gutter:after{content:"";border:1px solid var(--border-strong);background:radial-gradient(circle, var(--split-gutter-dot-color) 1px, transparent 1.5px) center/4px 6px, var(--surface-raised);pointer-events:none;border-radius:999px;width:11px;height:48px;transition:border-color .12s,box-shadow .12s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 3px 12px #1010101f}.split-gutter:hover:before,body.is-resizing-split .split-gutter:before{background:var(--interactive-muted)}.split-gutter:hover,.split-gutter:focus-visible,body.is-resizing-split .split-gutter{--split-gutter-dot-color:var(--split-gutter-dot-hover-color)}.split-gutter:hover:after,.split-gutter:focus-visible:after,body.is-resizing-split .split-gutter:after{border-color:var(--interactive-muted);box-shadow:var(--shadow-subtle)}.split-gutter:focus-visible{outline:none}.split-reset{border:var(--control-border-strong);width:28px;height:28px;color:var(--ink);background:var(--surface-raised);cursor:pointer;opacity:0;pointer-events:none;box-shadow:var(--shadow-subtle);border-radius:50%;place-items:center;padding:0;transition:opacity .12s,transform .12s,color .12s,border-color .12s,background-color .12s;display:grid;position:absolute;top:calc(50% + 36px);left:50%;transform:translate(-50%,4px)}.split-reset svg{width:14px;height:14px}.split-gutter:hover .split-reset,.split-gutter:focus-within .split-reset{opacity:1;pointer-events:auto;transform:translate(-50%)}.split-reset:hover{color:var(--ink-inverse);border-color:var(--ink);background:var(--ink)}body.is-resizing-split{cursor:col-resize;-webkit-user-select:none;user-select:none}.workspace[data-layout=trips]{grid-template-columns:minmax(0,1fr)}@media print{body *{visibility:hidden!important}}@media (width<=760px){.shell,.workspace[data-layout=split]{grid-template-columns:1fr}.split-gutter{display:none}}@media (width>=761px) and (width<=1100px){.workspace[data-layout=split]{grid-template-columns:1fr}.split-gutter{display:none}}body,.app-shell{background:var(--surface)}@media (prefers-reduced-motion:no-preference){::view-transition-group(workspace-content){animation-duration:.22s;animation-timing-function:cubic-bezier(.22,.8,.25,1)}::view-transition-old(workspace-content){animation:.12s ease-in both workspace-view-out}::view-transition-new(workspace-content){animation:.22s cubic-bezier(.22,.8,.25,1) both workspace-view-in}@keyframes workspace-view-out{to{opacity:0;transform:translateY(-2px)}}@keyframes workspace-view-in{0%{opacity:0;transform:translateY(5px)}}}@media (width<=960px){.topbar-sidebar-toggle{display:flex}.workspace[data-layout=split]{grid-template-columns:minmax(0,1fr)}.workspace[data-layout=split] .split-gutter{display:none}.shell{min-height:calc(100dvh - var(--topbar-height));grid-template-columns:1fr;position:relative}}@media (width<=760px){.app-shell{--topbar-height:calc(72px + var(--browser-fullscreen-top-inset) + env(safe-area-inset-top,0px))}.topbar{min-height:var(--topbar-height);padding:calc(12px + var(--browser-fullscreen-top-inset) + env(safe-area-inset-top,0px)) max(14px, env(safe-area-inset-right,0px)) 12px max(14px, env(safe-area-inset-left,0px));flex-wrap:nowrap;align-items:center;gap:8px}.brand{flex:none;gap:8px;width:auto;min-width:0}.brand-session{text-align:center;text-transform:none;border-left:0;width:max-content;min-width:0;max-width:calc(100% - 220px);padding-left:0;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.brand-session-label{display:none}.brand-session strong{letter-spacing:.035em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;max-width:100%;font-size:1.125rem;font-weight:700;display:block;overflow:hidden}.topbar-sidebar-toggle,.settings-trigger{width:46px;height:46px}.topbar-sidebar-toggle>span,.settings-trigger>span,.topbar-sidebar-toggle svg,.settings-trigger svg{width:20px;height:20px}.app-settings{margin-left:auto}.topbar-tools{gap:8px}.topbar-service-date{display:none}}@media (width>=761px){.shell.is-pax-expanded:not(.is-sidebar-collapsed){--sidebar-width:288px}}@media (prefers-reduced-motion:no-preference){body,.app-shell,.topbar,.workspace{transition:color .18s,background-color .18s,border-color .18s}}.sync-status{border-radius:var(--control-radius);cursor:help;background:0 0;border:0;place-items:center;width:20px;height:38px;padding:0;display:grid;position:relative}.sync-dot{background:var(--status-success);width:9px;height:9px;box-shadow:0 0 0 3px color-mix(in srgb, var(--status-success) 13%, transparent);border-radius:50%;transition:background-color .16s,opacity .16s}.sync-status.is-saving .sync-dot{background:var(--status-pending);box-shadow:0 0 0 3px color-mix(in srgb, var(--status-pending) 13%, transparent)}.sync-status.is-offline .sync-dot{background:var(--status-danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--status-danger) 13%, transparent)}.sync-status.is-conflict .sync-dot{background:#b23b4a;box-shadow:0 0 0 3px #b23b4a2e}.sync-status.is-storage-failure .sync-dot{background:var(--status-danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--status-danger) 18%, transparent)}.sync-count{color:#fff;min-width:14px;height:14px;font-size:var(--text-xs);background:#9c3543;border-radius:999px;place-items:center;padding:0 3px;font-weight:800;line-height:1;display:grid;position:absolute;top:2px;right:-4px}.sync-status:after{content:attr(data-tooltip);width:max-content;max-width:320px;z-index:var(--layer-status-popover);border-radius:var(--control-radius);color:#fff;text-align:left;white-space:pre-line;opacity:0;pointer-events:none;background:#101010;padding:8px 11px;font-size:.65rem;font-weight:500;line-height:1.45;transition:opacity .12s,transform .12s;position:absolute;left:0;box-shadow:0 5px 16px #10101029}.topbar-sync:after{top:calc(100% + 8px);transform:translateY(-3px)}.trip-header-sync:after{top:calc(100% + 8px);left:auto;right:0;transform:translateY(-3px)}.sync-status:hover:after,.sync-status:focus-visible:after{opacity:1;transform:translateY(0)}.sync-status:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.trip-header-sync{width:32px;height:32px;margin-top:-4px}.sync-storage-incident-layer{z-index:var(--layer-status-incident);inset:var(--topbar-height,56px) 0 auto;pointer-events:none;justify-content:center;padding:12px;display:flex;position:fixed}.sync-storage-incident-layer.is-blocking{inset:var(--topbar-height,56px) 0 0;background:color-mix(in srgb, var(--surface) 76%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:auto;align-items:flex-start}.sync-storage-incident{border:1px solid color-mix(in srgb, var(--status-danger) 45%, var(--border));border-radius:var(--card-radius);background:var(--surface);width:min(720px,100%);box-shadow:var(--shadow-lg);pointer-events:auto;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.sync-storage-incident strong{color:var(--status-danger);display:block}.sync-storage-incident p{max-width:60ch;font-size:var(--text-sm);margin:4px 0 0;line-height:1.45}.sync-storage-incident .btn{flex:none}@media (width<=520px){.sync-storage-incident{flex-direction:column;align-items:stretch}}.workspace-clock-copy{min-width:0}.workspace-clock time{font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}.workspace-clock-date{color:var(--muted);text-transform:capitalize;font-size:.72rem;font-weight:480;line-height:1.3;display:block}.workspace-clock-label{color:var(--muted);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:650;display:none}.footer-clock{min-height:var(--control-height-large);justify-self:start;display:block}.footer-clock time{color:var(--ink);letter-spacing:-.045em;font-size:1.9rem;font-weight:680;line-height:1;display:block}.map-clock{min-width:210px;z-index:var(--layer-floating-control);right:14px;bottom:max(34px, calc(12px + env(safe-area-inset-bottom,0px)));border-radius:var(--panel-radius);color:var(--ink-inverse);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#121312f0;border:1px solid #ffffff2e;justify-items:end;padding:17px 21px 18px;display:grid;position:absolute;box-shadow:0 5px 18px #10101033}.map-clock time{color:var(--ink-inverse);letter-spacing:-.035em;white-space:nowrap;font-size:2rem;font-weight:680;line-height:1;display:block}.toast{z-index:20;color:#fff;border-radius:var(--control-radius);background:var(--ink);border:0;max-width:min(380px,100% - 40px);padding:13px 16px;font-size:.78rem;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 24px #10101029}@media (width<=760px){.toast{right:max(14px, env(safe-area-inset-right,0px));bottom:max(20px, env(safe-area-inset-bottom,0px));left:max(14px, env(safe-area-inset-left,0px));max-width:none}}@media (prefers-reduced-motion:no-preference){.toast{animation:.16s ease-out toast-in}@keyframes toast-in{0%{opacity:0;transform:translateY(5px)}}.toast:not([hidden]){animation:.22s cubic-bezier(.22,.8,.25,1) both toast-soft-in}@keyframes toast-soft-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}}@media (width>=761px){.workspace[data-layout=split] .trip-heading-block{grid-area:1/1}.workspace[data-layout=split] .trip-header-tools{grid-area:1/2;justify-self:end;margin-left:0}}.trip-heading-block{flex:auto;align-items:flex-start;gap:12px;min-width:min(330px,100%);display:flex}.trip-workspace .trip-heading-block{padding-left:0}.trip-heading-text-group{flex-direction:column;display:flex}.trip-header-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;width:fit-content;margin-left:auto;display:flex}.workspace-map-toggle{min-height:var(--control-height);padding:7px var(--space-3);border:var(--control-border);border-radius:var(--panel-radius);color:var(--muted);cursor:pointer;font-size:var(--text-xs);letter-spacing:.035em;white-space:nowrap;background:0 0;align-items:center;gap:7px;font-weight:620;display:inline-flex}.workspace-map-toggle svg{width:14px;height:14px}.topbar-map-toggle{min-height:var(--control-height);padding:7px var(--space-3);color:var(--ink);border-color:var(--border-strong);background:var(--surface-raised);font-size:var(--text-xs)}.topbar-map-toggle:hover,.topbar-map-toggle:focus-visible{color:var(--ink);border-color:var(--border-strong);background:var(--surface-alt)}.topbar-map-toggle:focus-visible{outline-color:var(--border-strong)}.topbar-map-toggle[aria-pressed=true]{color:var(--ink-inverse);border-color:var(--registration-header);background:var(--registration-header)}@media (width<=760px){.trip-heading-block{min-width:100%}.trip-header-tools{width:100%;margin-left:0}.topbar-map-toggle{justify-content:center;width:46px;min-height:46px;padding:0}.topbar-map-toggle svg{width:18px;height:18px}.topbar-map-toggle .label{display:none}}.workspace[data-layout=split] .main{padding-inline:24px}.main{min-width:0;min-height:calc(100dvh - var(--topbar-height));flex-direction:column;padding:30px 32px 28px;display:flex}.main:has(>.traffic-day-overview){grid-template-rows:auto minmax(0,1fr);display:grid}.traffic-day-overview{grid-row:2;place-self:center;width:min(680px,100%);margin:0;transform:translateY(clamp(-48px,-4vh,-24px))}.traffic-day-toolbar{min-height:var(--control-height-compact);align-items:center;margin:-6px 0 10px;display:flex}.traffic-day-back{min-height:36px;color:var(--muted);background:0 0;padding:7px 11px 7px 9px}.traffic-day-back:hover,.traffic-day-back:focus-visible{color:var(--ink);background:var(--surface-alt)}.traffic-day-back svg{width:15px;height:15px}.traffic-day-overview h1{letter-spacing:-.045em;max-width:620px;margin:0;font-size:clamp(2rem,4.6vw,4.2rem);font-weight:430;line-height:1.02}.traffic-day-date-row{margin-top:26px}.traffic-day-service-date{border:var(--panel-border);border-left:3px solid var(--navy);background:var(--surface-raised);grid-template-columns:48px minmax(0,1fr) 48px;align-items:stretch;width:100%;min-width:0;display:grid}.traffic-day-date-shortcut{justify-content:flex-end;margin-top:8px;display:flex}.traffic-day-date-shortcut .button{min-height:32px;color:var(--muted);background:0 0;border-color:#0000;padding:5px 8px}.traffic-day-date-shortcut .button:hover,.traffic-day-date-shortcut .button:focus-visible{color:var(--ink);border-color:var(--border);background:var(--surface-raised)}.traffic-day-date-shortcut svg{width:14px;height:14px}.traffic-day-date-picker-wrapper{cursor:pointer;align-items:stretch;min-width:0;transition:background-color .15s;display:flex;position:relative}.traffic-day-date-picker-wrapper:hover{background:var(--surface-alt)}.traffic-day-date-content{pointer-events:none;align-content:center;width:100%;min-width:0;padding:13px 16px 14px;display:grid}.traffic-day-date-content>span{color:var(--muted);font-size:var(--text-xs);letter-spacing:.13em;text-transform:uppercase;margin-bottom:6px;font-weight:650}.traffic-day-service-date strong{letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:620}.traffic-day-service-date small{color:var(--muted);text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;margin-top:4px;font-size:.7rem;overflow:hidden}.traffic-day-service-date>button{border:0;border-right:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;place-items:center;padding:0;display:grid}.traffic-day-service-date>button:last-child{border-right:0;border-left:1px solid var(--border)}.traffic-day-service-date>button:hover:not(:disabled){color:var(--ink);background:var(--surface-alt)}.traffic-day-service-date>button svg{width:17px;height:17px}.day-lock-banner{border:var(--panel-border);border-left:4px solid var(--danger);background:var(--status-danger-soft);justify-content:space-between;align-items:center;gap:18px;width:100%;margin:18px 0 0;padding:16px;display:flex}.day-lock-banner[hidden]{display:none}.day-lock-status{align-items:center;gap:13px;min-width:0;display:flex}.day-lock-icon{width:34px;height:34px;color:var(--danger);background:color-mix(in srgb, var(--danger) 13%, transparent);border-radius:50%;flex:none;place-items:center;display:grid}.day-lock-icon svg{width:16px;height:16px}.day-lock-content{gap:3px;min-width:0;display:grid}.day-lock-heading{flex-wrap:wrap;align-items:baseline;gap:5px 9px;display:flex}.day-lock-heading strong{color:var(--ink);letter-spacing:-.01em;font-size:.92rem;font-weight:720}.day-lock-heading span{color:var(--danger);font-size:.7rem;font-weight:650}.day-lock-banner small{color:var(--muted);font-size:.72rem;line-height:1.45}.day-lock-banner small span{color:var(--ink);text-transform:capitalize}.day-lock-banner .button{min-height:34px;color:var(--ink-inverse);border-color:var(--danger);background:var(--danger);flex:none;padding:6px 11px}.day-lock-banner .button:hover:not(:disabled){color:var(--ink-inverse);border-color:color-mix(in srgb, var(--danger) 78%, black);background:color-mix(in srgb, var(--danger) 78%, black)}.day-lock-banner.is-unlocked{border-left-color:var(--success);background:color-mix(in srgb, var(--surface-raised) 92%, var(--success) 8%)}.day-lock-banner.is-unlocked .day-lock-heading span,.day-lock-banner.is-unlocked .day-lock-icon{color:var(--success)}.day-lock-banner.is-unlocked .day-lock-icon{background:color-mix(in srgb, var(--success) 13%, transparent)}.day-lock-banner.is-unlocked .button{color:var(--ink);border-color:var(--border-strong);background:0 0}.day-lock-banner.is-unlocked .button:hover:not(:disabled){color:var(--ink);border-color:var(--ink);background:var(--surface-alt)}.traffic-day-guidance{max-width:600px;color:var(--muted);margin:24px 0 18px;font-size:.9rem;line-height:1.55}.traffic-day-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.traffic-day-statistics{border-block:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));width:min(620px,100%);margin:30px 0 0;display:grid}.traffic-day-statistics>div{border-right:1px solid var(--border);min-width:0;padding:17px 16px 18px}.traffic-day-statistics>div:nth-child(2){padding-left:0}.traffic-day-statistics>div:last-child{border-right:0}.traffic-day-statistics>.traffic-day-statistic-main{border-right:0;border-bottom:1px solid var(--border);grid-column:1/-1;padding:22px 0 24px}.traffic-day-statistics dt{color:var(--muted);font-size:var(--text-xs);letter-spacing:.11em;text-transform:uppercase;font-weight:700}.traffic-day-statistics dd{color:var(--ink);letter-spacing:-.045em;font-variant-numeric:tabular-nums;margin:7px 0 0;font-size:clamp(1.75rem,3vw,2.45rem);font-weight:620;line-height:1}.traffic-day-statistics .traffic-day-statistic-main dd{margin-top:9px;font-size:clamp(3.4rem,7vw,5.2rem);font-weight:560}.traffic-day-loading{width:min(520px,100%);min-height:116px;color:var(--muted);align-content:center;gap:12px;margin-top:26px;font-size:.82rem;display:grid}.traffic-day-loading-line{background:var(--border);width:100%;height:1px;position:relative;overflow:hidden}.traffic-day-loading-line:after{content:"";inset-block:0;background:var(--navy);width:34%;animation:1.1s ease-in-out infinite alternate traffic-day-loading;position:absolute;left:0}@keyframes traffic-day-loading{to{transform:translate(194%)}}.trip-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;min-height:90px;margin-bottom:20px;display:flex}.trip-meta{color:var(--muted);margin:7px 0 0;font-size:.8rem;line-height:1.5}.trip-workspace{padding-bottom:18px}@media (width<=960px){.trip-workspace{--registration-dock-column:clamp(184px, 45vw, 196px);--registration-dock-padding:12px;--registration-row-height:64px;--registration-header-height:36px;--registration-cell-padding:4px;--registration-field-height:44px;--registration-field-width:56px;--registration-kpk-width:52px;--registration-bike-width:52px}}.actions{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:18px;display:flex}@media (width<=520px){.traffic-day-service-date{grid-template-columns:42px minmax(0,1fr) 42px;width:100%;min-width:0}.traffic-day-service-date small{white-space:normal}}@media (width<=760px){.trip-workspace{--registration-passenger-column:calc(clamp(54px, 15vw, 60px) + 8px);--registration-passenger-total-column:calc(clamp(44px, 12vw, 48px) + 4px);--registration-dock-column:calc(100cqw - var(--registration-passenger-column) - var(--registration-passenger-column) - var(--registration-passenger-total-column));--registration-cell-padding:3px;--registration-field-width:calc(var(--registration-passenger-column) - 6px)}.traffic-day-overview{place-self:start stretch;margin:34px 0;transform:none}.actions{width:100%}.actions .button{flex:1}}.trip-title-row{justify-content:flex-start;align-items:baseline;gap:7px;min-width:0;display:flex}@media (width>=761px){.workspace[data-layout=split] .main{--registration-grid:minmax(112px, 1fr) minmax(44px, 52px) minmax(44px, 52px) minmax(34px, 42px) minmax(48px, 58px) minmax(44px, 52px) minmax(40px, 46px) minmax(34px, 42px);padding:24px 20px}.workspace[data-layout=split] .trip-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;min-height:auto;display:grid}.workspace[data-layout=split] .actions{align-items:stretch;gap:0}.workspace[data-layout=split] .actions .button{flex:1}.workspace[data-layout=split] .actions .trip-action-fix{flex-grow:1.15}}@media (width<=960px){.workspace[data-layout=split] .main{grid-column:1}}@media (width<=760px){.main{padding:16px 12px}}.main:has(.trip-workspace:not([hidden])){padding-top:0}.main:has(.trip-workspace:not([hidden]))>.day-lock-banner{margin-top:0}.trip-workspace .trip-header{margin-bottom:0;border:1px solid var(--ink);width:calc(100% + 64px);color:var(--registration-header-ink);background:var(--registration-header);border-bottom:0;border-radius:0;margin-inline:-32px;padding:20px;position:relative}.trip-workspace .trip-meta{color:var(--registration-header-muted);margin:6px 0 0;font-size:.88rem;font-weight:480}.trip-workspace .trip-heading{letter-spacing:-.02em;color:var(--ink-inverse);margin:0;font-size:1.45rem;font-weight:650}.workspace[data-layout=split] .trip-workspace .trip-header,.workspace[data-layout=split] .main>.day-lock-banner{width:calc(100% + 40px);margin-inline:-20px}@media (width<=760px){.trip-workspace .trip-header,.workspace[data-layout=split] .trip-workspace .trip-header{grid-template-columns:minmax(0,1fr) 32px;align-items:start;gap:8px;width:calc(100% + 24px);min-height:0;margin-inline:-12px;padding:12px 14px;display:grid}.trip-workspace .trip-heading-block{grid-area:1/1;min-width:0;padding-left:0}.trip-workspace .trip-heading-text-group{min-width:0}.trip-workspace .trip-heading{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.125rem;line-height:1.22;display:-webkit-box;overflow:hidden}.trip-workspace .trip-meta{text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:.75rem;line-height:1.35;overflow:hidden}.trip-workspace .trip-header-tools{grid-area:1/2;place-self:start end;width:32px;margin-left:0}.main:has(.trip-workspace:not([hidden])){min-height:calc(100dvh - var(--topbar-height))}.trip-workspace:not([hidden]){flex-direction:column;flex:auto;min-height:0;padding-bottom:0;display:flex}.trip-workspace .trip-footer{padding:8px 0 max(8px, env(safe-area-inset-bottom,0px));flex:none;margin-top:auto}.trip-workspace .actions,.trip-workspace .actions.has-footer-clock{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr) minmax(0,1fr);align-items:stretch;gap:0;width:100%;margin-top:8px;display:grid}.trip-workspace .actions .footer-clock{width:100%;min-height:var(--control-height-compact);border:1px solid var(--border-strong);background:var(--surface-raised);border-bottom:0;grid-column:1/-1;justify-content:stretch;align-items:center;padding:7px 10px;display:flex}.trip-workspace .actions .footer-clock .workspace-clock-copy{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.trip-workspace .actions .footer-clock .workspace-clock-label{display:block}.trip-workspace .actions .footer-clock time{letter-spacing:-.03em;font-size:1.35rem;font-weight:650}.trip-workspace .actions .button{min-width:0;min-height:52px;padding:8px;font-size:.7rem;overflow:hidden}}.trip-action-previous,.trip-action-fix,.trip-action-next{align-items:center;column-gap:10px;display:grid}.trip-action-previous{border-radius:var(--panel-radius) 0 0 var(--panel-radius)}.trip-action-fix{border-left-width:0;border-radius:0}.trip-action-next{border-radius:0 var(--panel-radius) var(--panel-radius) 0;border-left-width:0;grid-template-columns:minmax(0,1fr) auto}.trip-action-previous,.trip-action-fix{grid-template-columns:auto minmax(0,1fr)}.trip-action-previous .trip-action-label,.trip-action-fix .trip-action-label{text-align:right}.trip-action-next .trip-action-label{text-align:left}.trip-action-icon{place-items:center;width:18px;height:18px;display:grid}.trip-action-icon svg{width:18px;height:18px}.trip-action-label-mobile{display:none}.trip-action-fix.is-fixed .trip-action-icon,.trip-action-fix.is-success .trip-action-icon{color:var(--success)}.trip-action-previous:hover:not(:disabled),.trip-action-fix:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-alt)}.trip-action-fix:hover:not(:disabled),.trip-action-next:hover:not(:disabled){border-left-color:#0000}@media (width<=760px){.trip-action-label-full{display:none}.trip-action-label-mobile{display:block}.trip-action-previous,.trip-action-fix,.trip-action-next{column-gap:6px}}@media (prefers-reduced-motion:no-preference){.trip-action-icon{transition:color .16s,transform .16s}.trip-action-previous:hover:not(:disabled) .trip-action-icon{transform:translate(-3px)}.trip-action-next:hover:not(:disabled) .trip-action-icon{transform:translate(3px)}.trip-action-fix.is-success .trip-action-icon{animation:.36s cubic-bezier(.2,.9,.3,1.25) trip-fix-success}@keyframes trip-fix-success{0%{opacity:.35;transform:scale(.72)}to{opacity:1;transform:scale(1)}}}.table-wrap{border-top:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);scrollbar-gutter:stable;background:var(--surface);width:100%;overflow:auto scroll}table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:960px}th{border-bottom:1px solid var(--border);color:var(--muted);text-align:left;text-transform:uppercase;z-index:2;background:var(--surface);height:40px;font-weight:600;font-size:var(--text-xs);letter-spacing:.12em;padding:8px 10px;position:sticky;top:0}th:nth-child(n+2),td:nth-child(n+2){text-align:right}.number-input{color:var(--ink);font-variant-numeric:tabular-nums;appearance:textfield;border-radius:var(--panel-radius);background:var(--surface-alt);text-align:center;border:1px solid #0000;width:68px;min-height:36px;padding:7px 8px;font-size:.9rem}.number-input.bike-input{width:52px}.onboard-cell{font-variant-numeric:tabular-nums;color:var(--navy);font-size:.9rem;font-weight:560}.onboard-cell.is-warning{color:var(--warning)}.onboard-cell.is-danger{color:var(--danger)}.kpk-column,.kpk-cell,.cycle-column-start{border-left:0;position:relative}th.kpk-column,th.cycle-column-start{position:sticky}.kpk-column:before,.kpk-cell:before,.cycle-column-start:before{content:"";background:var(--border);pointer-events:none;width:1px;position:absolute;top:0;bottom:0;left:0}.number-input,.onboard-cell{font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}th:first-child{width:32%}th:nth-child(2),th:nth-child(3){width:10%}th:nth-child(4){width:7%}th:nth-child(5),th:nth-child(6),th:nth-child(7){width:9%}th:nth-child(8){width:6%}.registration-column-header th:first-child{padding-left:24px}.number-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.number-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-input:hover{border-color:var(--border-strong);background:var(--surface-raised)}.number-input:focus{border-color:var(--navy);outline-color:var(--navy);background:var(--surface-raised)}.number-input.kpk-input{width:58px;color:var(--warning);background:var(--status-warning-soft)}.number-input.kpk-input::placeholder{color:var(--warning);opacity:.8}.trip-workspace .table-wrap{border-top:0;width:calc(100% + 64px);margin-inline:-32px}.trip-workspace .registration-column-header th{color:var(--muted);border-bottom-color:var(--border);background:var(--surface)}.workspace[data-layout=split] .trip-workspace .registration-column-header{background:var(--surface-alt);box-shadow:0 1px 0 var(--border)}.workspace[data-layout=split] .trip-workspace .registration-column-header th{background:0 0}.registration-column-header th[data-tooltip]{cursor:help}.registration-column-header th[data-tooltip]:after{content:attr(data-tooltip);z-index:20;border-radius:var(--panel-radius);min-width:max-content;color:var(--ink-inverse);background:var(--ink);box-shadow:var(--shadow-floating);font-size:var(--text-xs);letter-spacing:0;text-align:left;text-transform:none;white-space:nowrap;opacity:0;pointer-events:none;padding:7px 9px;font-weight:560;line-height:1;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%,-3px)}.registration-column-header th[data-tooltip]:hover,.registration-column-header th[data-tooltip]:focus-visible{z-index:12}.registration-column-header th[data-tooltip]:hover:after,.registration-column-header th[data-tooltip]:focus-visible:after{opacity:1;transform:translate(-50%)}.registration-column-header th[data-tooltip]:first-child:after{left:8px;transform:translateY(-3px)}.registration-column-header th[data-tooltip]:first-child:hover:after,.registration-column-header th[data-tooltip]:first-child:focus-visible:after{transform:translateY(0)}.registration-column-header th[data-tooltip]:nth-last-child(-n+2):after{left:auto;right:8px;transform:translateY(-3px)}.registration-column-header th[data-tooltip]:nth-last-child(-n+2):hover:after,.registration-column-header th[data-tooltip]:nth-last-child(-n+2):focus-visible:after{transform:translateY(0)}.workspace[data-layout=split] .trip-workspace .table-wrap{border-bottom-color:var(--border);width:calc(100% + 40px);margin-inline:-20px}.trip-workspace{--insert-button-offset:110px}.stop-row td{border-bottom:1px solid var(--border);vertical-align:middle;height:56px;padding:5px 10px;transition:background-color .15s,border-color .15s}.stop-row:last-child td{border-bottom:0}.extra-tag{border:var(--control-border-strong);color:var(--muted);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;margin-left:8px;padding:2px 5px;font-weight:500;display:inline-block}.flow-not-applicable{width:68px;min-height:36px;color:var(--muted);text-align:center;place-items:center;margin-inline:auto;font-size:.8rem;display:grid}.insert-row td{border:0;height:0;padding:0;position:relative}.insert-row button{z-index:1;border:var(--control-border);color:var(--ink);cursor:pointer;width:22px;height:22px;margin:-11px 0 -11px var(--insert-button-offset,110px);background:var(--surface);opacity:.72;border-radius:50%;place-items:center;padding:0;font-size:.78rem;line-height:1;display:grid;position:relative}.insert-row button:before{content:"";position:absolute;inset:-12px}.insert-row:hover button,.insert-row button:focus-visible{opacity:1;color:var(--ink-inverse);border-color:var(--navy);background:var(--navy)}.stop-row td:first-child{padding-left:24px}.stop-row:not(.transition-stop-row):hover td{background:#f1f2ef85}.stop-name{font-size:1.05rem;font-weight:650}.stop-time{font-variant-numeric:tabular-nums;color:var(--muted);flex-shrink:0;margin-right:14px;font-size:.92rem;font-weight:680}.stop-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.stop-name-content{align-items:center;gap:8px;min-width:0;display:flex}.remove-extra-stop{border-radius:var(--panel-radius);width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;margin-left:auto;padding:0;display:grid}.remove-extra-stop svg{width:14px;height:14px}.remove-extra-stop:hover,.remove-extra-stop:focus-visible{color:var(--danger);background:var(--status-danger-soft)}.insert-row .insert-cell{text-align:left}.insert-row button svg{width:13px;height:13px}.transition-stop-row .stop-name-content{gap:2px;display:grid}.transition-stop-row .transition-title{color:var(--ink);font-size:.95rem;font-weight:650}.transition-stop-row .transition-label{color:var(--muted);white-space:normal;font-size:.72rem;font-weight:520}.transition-stop-row .transition-input{font-weight:680}.remove-extra-stop,.insert-row button{transition:color .15s,border-color .15s,background-color .15s,box-shadow .15s,opacity .15s}@media (width>=761px){.workspace[data-layout=split] .trip-workspace{--insert-button-offset:88px}.workspace[data-layout=split] .stop-row{grid-template-columns:var(--registration-grid);border-bottom:1px solid var(--border);grid-template-rows:34px 34px;column-gap:8px;width:100%;min-height:68px;padding:0 12px 0 24px;display:grid}.workspace[data-layout=split] .stop-row td{background:0 0;border:0;min-width:0;height:auto;padding:0}.workspace[data-layout=split] .stop-name{text-overflow:ellipsis;white-space:nowrap;grid-area:1/1/3;align-self:center;padding-bottom:0;overflow:hidden}.workspace[data-layout=split] .stop-row td:nth-child(n+2){text-align:center;align-self:stretch;place-items:center;display:grid}.workspace[data-layout=split] .stop-row td:nth-child(2){grid-area:1/2/3}.workspace[data-layout=split] .stop-row td:nth-child(3){grid-area:1/3/3}.workspace[data-layout=split] .stop-row td:nth-child(4){grid-area:1/4/3}.workspace[data-layout=split] .stop-row td:nth-child(5){border-left:0;grid-area:1/5/3}.workspace[data-layout=split] .stop-row td:nth-child(6){border-left:0;grid-area:1/6/3}.workspace[data-layout=split] .stop-row td:nth-child(5):before,.workspace[data-layout=split] .stop-row td:nth-child(6):before{top:0;bottom:0;left:-5px}.workspace[data-layout=split] .stop-row td:nth-child(7){grid-area:1/7/3}.workspace[data-layout=split] .stop-row td:nth-child(8){grid-area:1/8/3}.workspace[data-layout=split] .flow-not-applicable{width:100%}.workspace[data-layout=split] .insert-row{grid-template-columns:var(--registration-grid);column-gap:8px;width:100%;height:0;padding:0 12px 0 24px;display:grid}.workspace[data-layout=split] .insert-row td{display:none}.workspace[data-layout=split] .insert-row .insert-cell{grid-column:1;display:block}}.workspace[data-layout=split] .trip-workspace .stop-row{background:var(--surface);transition:background-color .14s}.workspace[data-layout] .trip-workspace .stop-row.is-alternating td{background:var(--registration-row-alternating)}.workspace[data-layout] .trip-workspace .stop-row:not(.transition-stop-row):hover td{background:var(--registration-row-hover)}.workspace[data-layout=split] .trip-workspace .stop-row.is-alternating{background:var(--registration-row-alternating)}.workspace[data-layout=split] .trip-workspace .stop-row.is-alternating td,.workspace[data-layout=split] .trip-workspace .stop-row:not(.transition-stop-row):hover td{background:0 0}.workspace[data-layout=split] .trip-workspace .stop-row:not(.transition-stop-row):hover{background:var(--registration-row-hover)}.workspace[data-layout] .trip-workspace .transition-stop-row,.workspace[data-layout] .trip-workspace .transition-stop-row,.workspace[data-layout] .trip-workspace .transition-stop-row td{background:var(--surface-alt)}.workspace[data-layout] .trip-workspace .transition-stop-row td{transition-property:border-color}.workspace[data-layout=split] .trip-workspace .transition-stop-row .stop-name{grid-row:1/3;align-self:center;padding-block:0}@media (width>=761px){.workspace[data-layout=pax] .trip-workspace{--insert-button-offset:120px}.workspace[data-layout=pax] .trip-workspace .stop-row{grid-template-columns:var(--pax-registration-grid);border-bottom:1px solid var(--border);align-items:stretch;width:100%;min-height:64px;display:grid}.workspace[data-layout=pax] .trip-workspace .stop-row:not(.transition-stop-row):hover{background:#f1f2ef85}.workspace[data-layout=pax] .trip-workspace .stop-row td{text-align:center;background:0 0;border-bottom:0;place-items:center;min-width:0;height:auto;padding:0;display:grid}.workspace[data-layout=pax] .trip-workspace .stop-row td:first-child{text-align:left;align-items:center;padding:0 18px 0 28px;display:flex;overflow:hidden}.workspace[data-layout=pax] .trip-workspace .stop-name,.workspace[data-layout=pax] .trip-workspace .stop-time{font-size:1rem}.workspace[data-layout=pax] .trip-workspace .insert-row{grid-template-columns:var(--pax-registration-grid);width:100%;height:0;display:grid}.workspace[data-layout=pax] .trip-workspace .insert-row td{display:none}.workspace[data-layout=pax] .trip-workspace .insert-row .insert-cell{grid-column:1;display:block}}.transition-stop-row.is-incoming td{border-bottom:5px solid var(--transition-divider)}.transition-stop-row.is-outgoing td{border-top:5px solid var(--transition-divider);border-bottom:0}@media (width>=761px){.workspace[data-layout] .trip-workspace .transition-stop-row.is-incoming{border-bottom:5px solid var(--transition-divider)}.workspace[data-layout] .trip-workspace .transition-stop-row.is-outgoing{border-top:5px solid var(--transition-divider)}.workspace[data-layout] .trip-workspace .transition-stop-row.is-incoming td,.workspace[data-layout] .trip-workspace .transition-stop-row.is-outgoing td{border-top:0;border-bottom:0}}.trip-status-bar{border:var(--panel-border);border-radius:var(--panel-radius);background:var(--surface-raised);box-shadow:var(--shadow-subtle);grid-template-columns:minmax(0,1fr);margin-top:14px;display:grid;overflow:hidden}.trip-status-bar>div{min-width:0}.trip-status-label{color:var(--muted);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;font-weight:650;display:block}.trip-status-onboard{grid-template-columns:minmax(130px,1fr) minmax(130px,1.15fr) minmax(160px,1fr);align-items:stretch;min-height:104px;display:grid}.trip-status-primary{color:var(--registration-header-ink);background:var(--registration-header);text-align:center;align-content:center;justify-items:center;gap:8px;padding:14px 12px;display:grid}.trip-status-primary .trip-status-label{color:var(--registration-header-ink)}.trip-status-remaining-box{background:var(--surface-raised);border-left:1px solid var(--border)}.trip-status-remaining-box .trip-status-label{color:var(--muted)}.trip-status-remaining-box .trip-status-value>strong{color:var(--ink)}.trip-status-remaining-box .trip-status-value>strong.is-danger{color:var(--danger)}.trip-status-value{justify-content:center;align-items:flex-end;width:100%;min-width:0;display:flex}.trip-status-value>strong{min-width:0;color:var(--registration-header-ink);letter-spacing:-.075em;font-variant-numeric:tabular-nums;font-size:3.1rem;font-weight:680;line-height:.8}.trip-status-capacity{border-left:1px solid var(--border);background:var(--surface-alt);grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:minmax(0,1fr);display:grid}.trip-status-capacity>span{border-right:0;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-width:0;padding:10px 16px;display:flex}.trip-status-capacity>span:last-child{border-bottom:0}.trip-status-capacity small{color:var(--muted);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:640}.trip-status-capacity b{color:var(--muted);font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:600;line-height:1}.trip-status-bar.is-over-capacity .trip-status-capacity-remaining{color:var(--danger)}.workspace[data-layout=split] .trip-status-bar{grid-template-columns:minmax(0,1fr)}.workspace[data-layout=split] .trip-status-onboard{grid-template-columns:minmax(110px,1fr) minmax(110px,1.15fr) minmax(130px,1fr)}.workspace[data-layout=split] .trip-status-primary{padding-inline:6px}.workspace[data-layout=split] .trip-status-value>strong{font-size:2.5rem}.trip-status-bar+.actions{margin-top:8px}@media (width>=761px){.workspace[data-layout=split] .table-wrap{overflow:visible}.workspace[data-layout=split] .registration-column-header{z-index:3;grid-template-columns:var(--registration-grid);border-bottom:1px solid var(--border);background:var(--surface);align-items:stretch;column-gap:8px;width:100%;min-height:42px;padding:0 12px 0 24px;display:grid;position:sticky;top:0}.workspace[data-layout=split] .registration-column-header th{width:auto;min-width:0;height:auto;font-size:var(--text-xs);background:0 0;border:0;justify-content:center;align-items:center;padding:8px 0;display:flex;position:relative}.workspace[data-layout=split] .registration-column-header th:first-child{grid-column:1;justify-content:flex-start;font-size:0}.workspace[data-layout=split] .registration-column-header th:first-child:before{content:"Tid / brygga";width:auto;height:auto;font-size:var(--text-xs);background:0 0;position:static}.workspace[data-layout=split] .registration-column-header th:nth-child(2){grid-column:2}.workspace[data-layout=split] .registration-column-header th:nth-child(3){grid-column:3}.workspace[data-layout=split] .registration-column-header th:nth-child(4){grid-column:4}.workspace[data-layout=split] .registration-column-header th:nth-child(5){grid-column:5}.workspace[data-layout=split] .registration-column-header th:nth-child(6){grid-column:6}.workspace[data-layout=split] .registration-column-header th:nth-child(7){grid-column:7}.workspace[data-layout=split] .registration-column-header th:nth-child(8){grid-column:8}.workspace[data-layout=split] .registration-column-header .kpk-column,.workspace[data-layout=split] .registration-column-header .cycle-column-start{border-left:0;padding-left:0}.workspace[data-layout=split] .registration-column-header .kpk-column:before,.workspace[data-layout=split] .registration-column-header .cycle-column-start:before{left:-5px}.workspace[data-layout=split] table{table-layout:auto;border-collapse:separate;width:100%;min-width:520px;display:block}.workspace[data-layout=split] thead{display:none}.workspace[data-layout=split] tbody{width:100%;display:block}.workspace[data-layout=split] .number-input{width:100%;max-width:48px;min-height:34px;padding-inline:4px}.workspace[data-layout=split] .number-input.kpk-input{max-width:50px}.workspace[data-layout=split] .number-input.bike-input{max-width:44px}.trip-status-bar{flex:none;margin-top:12px}.workspace[data-layout=pax] .trip-status-bar{width:100%;margin:0}.workspace[data-layout=pax] .trip-status-onboard{grid-template-columns:minmax(130px,1fr) minmax(130px,1.15fr) minmax(160px,1fr);min-height:104px}.workspace[data-layout=pax] .trip-status-primary{gap:8px;min-width:0;padding:14px 12px}.workspace[data-layout=pax] .trip-status-capacity{display:grid}.workspace[data-layout=pax] .main,.workspace[data-layout=split] .main{height:calc(100dvh - var(--topbar-height));min-height:0;overflow:hidden}.trip-workspace:not([hidden]){flex-direction:column;flex:auto;min-height:0;display:flex}.trip-workspace .trip-header,.trip-workspace .trip-footer{flex:none}.workspace[data-layout=pax] .main{background:var(--surface);align-items:stretch;padding:0}.workspace[data-layout=pax] .trip-workspace:not([hidden]){--pax-registration-grid:minmax(280px, 340px) repeat(7, minmax(80px, 1fr));background:var(--surface);width:100%;max-height:100%;box-shadow:none;border:0;border-radius:0;flex:auto;padding-bottom:0;overflow:hidden}.workspace[data-layout=pax] .trip-workspace .trip-header{border:0;border-bottom:1px solid #ffffff24;width:100%;min-height:96px;margin-inline:0;padding:21px 28px}.workspace[data-layout=pax] .trip-workspace .trip-heading{font-size:1.58rem}.workspace[data-layout=pax] .trip-workspace .trip-meta{font-size:.92rem}.workspace[data-layout=pax] .trip-workspace .trip-footer{border-top:1px solid var(--border);background:var(--surface-alt);width:100%;padding:16px 24px 0}.workspace[data-layout=pax] .trip-workspace .actions{width:100%;min-height:var(--workspace-footer-height);background:var(--surface-alt);border-bottom:0;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr);justify-content:stretch;align-items:center;gap:0;margin:0 auto;padding:14px 0 18px;display:grid}.workspace[data-layout=pax] .trip-workspace .actions.has-footer-clock{grid-template-columns:minmax(220px,1fr) 180px 190px 210px}.workspace[data-layout=pax] .trip-workspace .actions .button{min-height:var(--control-height-large);box-shadow:none;padding:12px 22px;font-size:.88rem;font-weight:620}.workspace[data-layout=pax] .trip-workspace .actions .button:not(.is-primary){border-color:var(--border-strong);background:var(--surface-raised)}.workspace[data-layout=pax] .trip-action-previous,.workspace[data-layout=pax] .trip-action-fix,.workspace[data-layout=pax] .trip-action-next{justify-self:stretch;min-width:0}}@media (width>=761px) and (width<=960px){.trip-workspace{--registration-dock-column:clamp(200px, 26vw, 220px);--registration-dock-padding:16px;--registration-field-width:58px;--registration-kpk-width:54px;--registration-bike-width:54px}.workspace[data-layout=pax] .trip-workspace:not([hidden]){--pax-registration-grid:minmax(var(--registration-dock-column), 220px) minmax(72px, 1fr) minmax(72px, 1fr) minmax(60px, .82fr) minmax(68px, .92fr) minmax(68px, .92fr) minmax(68px, .92fr) minmax(60px, .82fr)}.workspace[data-layout=pax] .trip-workspace .trip-header{min-height:80px;padding:14px 20px}.workspace[data-layout=pax] .trip-workspace .trip-heading{font-size:1.25rem}.workspace[data-layout=pax] .trip-workspace .trip-meta{font-size:.8rem}.workspace[data-layout=pax] .trip-workspace .trip-footer{padding:10px 20px 0}.workspace[data-layout=pax] .trip-workspace .actions{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr);padding:10px 0 12px}.workspace[data-layout=pax] .trip-workspace .actions .button{min-height:52px;padding:10px 14px}.workspace[data-layout=pax] .trip-workspace .actions.has-footer-clock{grid-template-rows:auto minmax(54px,auto);grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr);min-height:auto}.workspace[data-layout=pax] .trip-workspace .actions .footer-clock{width:100%;min-height:var(--control-height-compact);grid-column:1/-1;justify-content:flex-end;justify-self:stretch;align-items:center;padding:0 2px 8px;display:flex}.workspace[data-layout=pax] .trip-workspace .actions .footer-clock time{font-size:1.5rem}.workspace[data-layout=pax] .trip-status-onboard{min-height:92px}.workspace[data-layout=pax] .trip-status-primary{gap:6px;padding:10px 8px}.workspace[data-layout=pax] .trip-status-value>strong{font-size:2.7rem}.workspace[data-layout=pax] .trip-status-capacity>span{padding:8px 12px}}@media (width>=761px) and (width<=960px) and (orientation:landscape){.trip-workspace{--registration-dock-column:clamp(210px, 25vw, 230px);--registration-field-width:60px;--registration-kpk-width:56px;--registration-bike-width:56px}.workspace[data-layout=pax] .trip-workspace .trip-header{min-height:72px;padding-block:12px}}@media (prefers-reduced-motion:no-preference){.main{transition:color .18s,background-color .18s,border-color .18s}}@media (width<=960px){.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.registration-column-header th:first-child,.stop-row td.stop-name{z-index:10;background:var(--surface);box-shadow:none;position:sticky;left:0}.stop-row:not(.transition-stop-row):hover td.stop-name{background:var(--registration-row-hover-solid)}.workspace[data-layout=pax] .trip-workspace{--insert-button-offset:calc(var(--registration-dock-padding) + 28px)}.workspace[data-layout=pax] .trip-workspace .stop-row{min-height:var(--registration-row-height)}.workspace[data-layout=pax] .trip-workspace .stop-row td{padding-inline:var(--registration-cell-padding)}.workspace[data-layout=pax] .trip-workspace .stop-row td.stop-name{z-index:12;padding:7px var(--registration-dock-padding);isolation:isolate;background:var(--surface)}.workspace[data-layout=pax] .trip-workspace .stop-name{font-size:.875rem;font-weight:500}.workspace[data-layout=pax] .trip-workspace .stop-name-content{flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;width:100%;position:relative}.workspace[data-layout=pax] .trip-workspace .stop-time,.workspace[data-layout=pax] .trip-workspace .stop-title{font-size:.875rem;line-height:1.2}.workspace[data-layout=pax] .trip-workspace .stop-time{margin-right:0;font-weight:600}.workspace[data-layout=pax] .trip-workspace .stop-title{width:100%;color:var(--ink);font-weight:500}.workspace[data-layout=pax] .trip-workspace .transition-stop-row .stop-name-content strong{font-size:.875rem;font-weight:500}.workspace[data-layout=pax] .trip-workspace .stop-name-content>.remove-extra-stop{position:absolute;top:50%;right:0;transform:translateY(-50%)}.workspace[data-layout=pax] .trip-workspace .insert-row .insert-cell{z-index:21;position:sticky;left:0;overflow:visible}.workspace[data-layout=pax] .trip-workspace .stop-row.is-alternating td.stop-name{background:var(--registration-row-alternating-solid)}.workspace[data-layout=pax] .trip-workspace .stop-row:not(.transition-stop-row):hover td.stop-name{background:var(--registration-row-hover-solid)}.workspace[data-layout=pax] .trip-workspace .transition-stop-row td,.workspace[data-layout=pax] .trip-workspace .transition-stop-row td.stop-name{background:var(--surface-alt)}.workspace[data-layout=pax] .trip-workspace .table-wrap.is-scrolled-x .registration-column-header th:first-child,.workspace[data-layout=pax] .trip-workspace .table-wrap.is-scrolled-x .stop-row td.stop-name{box-shadow:9px 0 12px -10px #1010106b}}@media (width<=760px){.table-wrap{container-type:inline-size}table{min-width:calc(var(--registration-dock-column) + var(--registration-passenger-column) + var(--registration-passenger-column) + var(--registration-passenger-total-column) + 60px + 60px + 60px + 48px)}th:first-child{width:var(--registration-dock-column)}th:nth-child(2),th:nth-child(3){width:var(--registration-passenger-column)}th:nth-child(4){width:var(--registration-passenger-total-column)}th:nth-child(5),th:nth-child(6),th:nth-child(7){width:60px}th:nth-child(8){width:48px}.registration-column-header th:nth-child(n+2),.stop-row td:nth-child(n+2){text-align:center}.registration-dock-track{width:var(--registration-dock-column)}.registration-passenger-track{width:var(--registration-passenger-column)}.registration-passenger-total-track{width:var(--registration-passenger-total-column)}.registration-kpk-track,.registration-bike-track{width:60px}.registration-bike-total-track{width:48px}.number-input{min-height:var(--control-height);font-size:.95rem}th{top:0}.trip-status-bar,.workspace[data-layout=split] .trip-status-bar{box-shadow:none;grid-template-columns:minmax(0,1fr);margin-top:10px}.trip-workspace{--insert-button-offset:calc(var(--registration-dock-padding) + 28px)}.stop-row td{height:var(--registration-row-height)}.insert-row{z-index:20;position:relative}.insert-row .insert-cell,.insert-row button{z-index:21}.trip-status-onboard,.workspace[data-layout=split] .trip-status-onboard{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0}.trip-status-primary{gap:5px;min-height:80px;padding:9px 8px}.trip-status-onboard .trip-status-value>strong{font-size:2.5rem;line-height:.86}.trip-status-remaining-box .trip-status-value>strong{font-size:2rem}.trip-status-capacity{border-top:1px solid var(--border);border-left:0;grid-column:1/-1;grid-template-rows:minmax(0,1fr);grid-template-columns:repeat(2,minmax(0,1fr));min-height:36px}.trip-status-capacity>span{border-right:1px solid var(--border);border-bottom:0;padding:7px 10px}.trip-status-capacity>span:last-child{border-right:0}.trip-status-capacity b{font-size:1rem}.trip-workspace .table-wrap,.workspace[data-layout=split] .trip-workspace .table-wrap{width:calc(100% + 24px);margin-inline:-12px}}@media (width>=761px){.trip-workspace .table-wrap{overscroll-behavior:contain;scrollbar-color:var(--border-strong) transparent;scrollbar-gutter:stable;scrollbar-width:thin;flex:auto;min-height:0;overflow:auto scroll}.trip-workspace .table-wrap::-webkit-scrollbar{width:7px;height:7px}.trip-workspace .table-wrap::-webkit-scrollbar-track{background:0 0}.trip-workspace .table-wrap::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.workspace[data-layout=pax] .trip-workspace .table-wrap{border-bottom:0;flex:auto;width:100%;margin-inline:0;overflow-y:auto}.workspace[data-layout=pax] .trip-workspace table{table-layout:auto;border-collapse:separate;width:100%;min-width:840px;display:block}.workspace[data-layout=pax] .trip-workspace tbody{width:100%;display:block}.workspace[data-layout=pax] .trip-workspace .registration-column-header{z-index:3;grid-template-columns:var(--pax-registration-grid);background:var(--surface-alt);width:100%;min-height:40px;box-shadow:0 1px 0 var(--border), 0 6px 14px #1010100f;align-items:stretch;display:grid;position:sticky;top:0}.workspace[data-layout=pax] .trip-workspace .registration-column-header th{text-align:center;background:0 0;justify-content:center;align-items:center;width:auto;min-width:0;height:40px;padding:8px 0;display:flex;position:relative}.workspace[data-layout=pax] .trip-workspace .registration-column-header th:first-child{text-align:left;justify-content:flex-start;padding-left:28px}.workspace[data-layout=pax] .trip-workspace .number-input{width:76px;min-height:40px;font-size:1rem}.workspace[data-layout=pax] .trip-workspace .number-input.bike-input{width:68px}}@media (width<=960px){.trip-workspace .table-wrap.can-scroll-right{box-shadow:inset -18px 0 14px -16px #10101061}.workspace[data-layout=pax] .trip-workspace .number-input{width:var(--registration-field-width);min-height:var(--registration-field-height);padding-inline:5px}.workspace[data-layout=pax] .trip-workspace .number-input.kpk-input{width:var(--registration-kpk-width)}.workspace[data-layout=pax] .trip-workspace .number-input.bike-input{width:var(--registration-bike-width)}.workspace[data-layout=pax] .trip-workspace .registration-column-header{min-height:var(--registration-header-height)}.workspace[data-layout=pax] .trip-workspace .registration-column-header th{height:var(--registration-header-height);padding:6px var(--registration-cell-padding);font-size:var(--text-xs);letter-spacing:.08em}.workspace[data-layout=pax] .trip-workspace .registration-column-header th:first-child{padding-left:var(--registration-dock-padding)}}@media (width>=761px) and (width<=960px){.workspace[data-layout=pax] .trip-workspace table{min-width:690px}}@media (width>=761px) and (width<=960px) and (orientation:landscape){.workspace[data-layout=pax] .trip-workspace table{min-width:100%}}@media (width<=760px){.main:has(.trip-workspace:not([hidden])){height:calc(100dvh - var(--topbar-height));overflow:hidden}.trip-workspace:not([hidden]){height:100%;max-height:100%;overflow:hidden}.trip-workspace .table-wrap{overscroll-behavior:contain;flex:1 1 0;min-height:0;overflow:auto}.trip-workspace .trip-footer{margin-top:0}}@media (width<=520px){.day-lock-banner{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;display:grid}.day-lock-status{gap:8px}.day-lock-icon{width:30px;height:30px}.day-lock-content{gap:2px}.day-lock-banner small{display:none}.day-lock-banner .button{width:auto;min-height:34px;padding-inline:9px}}@media (width<=960px) and (height<=600px) and (orientation:landscape){.day-lock-banner{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 12px;display:grid}.day-lock-status{gap:8px}.day-lock-icon{width:30px;height:30px}.day-lock-content{gap:2px}.day-lock-banner small{display:none}.workspace[data-layout=pax] .trip-workspace .trip-header{min-height:56px;padding:8px 14px}.workspace[data-layout=pax] .trip-workspace .trip-footer{padding:6px 12px 0}.workspace[data-layout=pax] .trip-status-bar{margin-top:0}.workspace[data-layout=pax] .trip-status-onboard{min-height:64px}.workspace[data-layout=pax] .trip-status-primary{gap:3px;padding:6px}.workspace[data-layout=pax] .trip-status-value>strong{font-size:2rem}.workspace[data-layout=pax] .trip-status-capacity>span{padding:4px 8px}.workspace[data-layout=pax] .trip-workspace .actions,.workspace[data-layout=pax] .trip-workspace .actions.has-footer-clock{grid-template-rows:minmax(44px,auto);min-height:0;padding:6px 0}.workspace[data-layout=pax] .trip-workspace .actions .footer-clock{display:none}.workspace[data-layout=pax] .trip-workspace .actions .button{min-height:44px;padding:7px 10px}}.trip-manager{min-width:0;min-height:calc(100dvh - var(--topbar-height));background:var(--surface-alt);padding:0 32px 48px}.trip-manager-inner{width:min(1120px,100%);margin-inline:auto}.trip-manager-toolbar{z-index:20;min-height:68px;top:var(--topbar-height);border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface-alt) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky}.trip-manager-toolbar .button svg{width:15px;height:15px}.trip-manager-toolbar-actions,.trip-manager-autosave{align-items:center;display:flex}.trip-manager-toolbar-actions{gap:8px}.trip-manager-autosave{color:var(--muted);font-size:var(--text-xs);white-space:nowrap;gap:7px;margin-right:6px}.trip-manager-autosave i{background:var(--success);border-radius:50%;width:6px;height:6px}.trip-manager-heading{padding:38px 0 28px}.trip-manager-heading h1{letter-spacing:-.05em;font-size:clamp(2.3rem,4vw,3.7rem);font-weight:430;line-height:1}.trip-manager-heading>p:not(.eyebrow){max-width:560px;color:var(--muted);margin:12px 0 0;font-size:.84rem;line-height:1.55}.trip-manager-summary{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:26px;padding-top:16px;font-size:.72rem;display:flex}.trip-manager-summary span{align-items:baseline;gap:5px;display:inline-flex}.trip-manager-summary strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:650}.trip-manager-list{border:1px solid var(--border);background:var(--surface-raised);overflow:hidden}.trip-manager-columns,.trip-manager-row{grid-template-columns:42px 112px minmax(260px,1fr) 100px 116px;align-items:center;gap:14px;display:grid}.trip-manager-columns{border-bottom:1px solid var(--border);min-height:36px;color:var(--muted);background:var(--surface);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;padding:0 16px;font-weight:700}.trip-manager-columns span:last-child{text-align:right}.trip-manager-row{border-bottom:1px solid var(--border);background:var(--surface-raised);min-height:72px;padding:10px 16px;transition:background-color .15s}.trip-manager-row:last-child{border-bottom:0}.trip-manager-row:hover{background:var(--surface)}.trip-manager-order{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.68rem;font-weight:650}.trip-manager-time,.trip-manager-route{min-width:0}.trip-manager-time strong,.trip-manager-time small,.trip-manager-route strong,.trip-manager-route small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.trip-manager-time strong{font-variant-numeric:tabular-nums;font-size:.86rem;font-weight:700}.trip-manager-time small{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:5px;font-size:.68rem}.trip-manager-route strong{font-size:.8rem;font-weight:620}.trip-manager-route small{color:var(--muted);margin-top:6px;font-size:.68rem}.trip-manager-state{width:fit-content;color:var(--muted);border:1px solid var(--border);background:var(--surface);font-size:var(--text-xs);white-space:nowrap;border-radius:999px;padding:4px 7px;font-weight:650}.trip-manager-controls{justify-content:flex-end;gap:5px;display:flex}.trip-manager-controls button{border:1px solid var(--border);border-radius:var(--control-radius);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;place-items:center;padding:0;display:grid}.trip-manager-controls button:hover:not(:disabled){color:var(--ink);border-color:var(--border-strong);background:var(--surface-alt)}.trip-manager-controls button.is-remove:hover{color:var(--danger);border-color:var(--danger)}.trip-manager-controls svg{width:14px;height:14px}.trip-manager-empty{color:var(--muted);text-align:center;padding:64px 16px;font-size:.78rem}.trip-manager-add{margin:0}@media (width<=760px){.trip-manager{padding:0 12px 32px}.trip-manager-toolbar{align-items:flex-start;min-height:58px;padding-block:10px}.trip-manager-toolbar-actions{flex-wrap:wrap;justify-content:flex-end}.trip-manager-autosave{justify-content:flex-end;width:100%;margin:0 0 2px}.trip-manager-heading{padding:28px 0 22px}.trip-manager-heading h1{font-size:clamp(2.15rem,11vw,3rem)}.trip-manager-summary{gap:10px 16px}.trip-manager-columns{display:none}.trip-manager-row{grid-template-rows:auto auto;grid-template-columns:28px 64px minmax(0,1fr) 106px;gap:5px 8px;min-height:82px;padding:11px 10px}.trip-manager-order,.trip-manager-time{grid-row:1/span 2}.trip-manager-route{grid-area:1/3}.trip-manager-state{grid-area:2/3}.trip-manager-controls{grid-area:1/4/span 2}}@media (width<=480px){.trip-manager-toolbar .button{min-height:var(--control-height-compact);padding-inline:11px}.trip-manager-toolbar-actions{gap:6px}.trip-manager-autosave{display:none}.trip-manager-undo span:last-child{max-width:84px;line-height:1.15}.trip-manager-row{grid-template-rows:auto auto auto;grid-template-columns:24px 62px minmax(0,1fr)}.trip-manager-route,.trip-manager-state{grid-column:3}.trip-manager-controls{grid-area:3/2/auto/-1;justify-content:flex-start;margin-top:5px}}.workspace[data-layout=split] .map-panel{border-left:0}.map-panel{background:#dfe4e3;min-width:0;min-height:calc(100vh - 72px);position:relative;overflow:hidden}.map-stage{background:#dfe4e3;width:100%;height:100%;min-height:calc(100vh - 72px);position:relative;overflow:hidden}.map-panel.is-basemap-only .map-stop-marker,.map-panel.is-basemap-only .map-vessel-marker.is-ferry,.map-panel.is-basemap-only .map-kpk-marker,.map-panel.is-basemap-only .map-trip-route-casing,.map-panel.is-basemap-only .map-trip-route-core,.map-panel.is-basemap-only .leaflet-popup-pane,.map-panel.is-basemap-only .leaflet-tooltip-pane{display:none!important}.leaflet-map{width:100%;height:100%;min-height:calc(100vh - 72px);font-family:inherit}.leaflet-container{background:#dfe4e3}.leaflet-bar,.leaflet-control-attribution,.leaflet-popup-content-wrapper,.leaflet-tooltip{box-shadow:none;border-radius:0}.leaflet-control-zoom.leaflet-bar{border:1px solid var(--border-strong);border-radius:var(--control-radius);background:var(--surface);overflow:hidden;box-shadow:0 4px 14px #090d0b2e}.leaflet-control-zoom.leaflet-bar a{width:36px;height:36px;color:var(--ink);background:var(--surface);font-family:inherit;font-size:1rem;font-weight:560;line-height:35px;transition:color .15s,background-color .15s,opacity .15s;border:0!important;border-radius:0!important}.leaflet-control-zoom.leaflet-bar a:first-child{border-bottom:1px solid var(--border)!important}.leaflet-control-zoom.leaflet-bar a:hover{color:var(--ink);background:var(--surface-alt)}.leaflet-control-zoom.leaflet-bar a:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.leaflet-control-zoom.leaflet-bar a.leaflet-disabled{color:var(--border-strong);background:var(--surface-alt)}.leaflet-control-attribution{color:var(--muted);font-size:var(--text-xs);background:#f8f8f6f0;padding:3px 7px;margin:0 0 6px 6px!important}.leaflet-control-attribution a{color:var(--ink);text-decoration:none}.leaflet-popup-content-wrapper{border:1px solid var(--ink);background:var(--surface);border-color:var(--border-strong);border-radius:4px;box-shadow:0 8px 24px #10101024}.leaflet-popup-tip{background:var(--surface);box-shadow:none}.leaflet-tooltip{border:1px solid var(--ink);background:var(--surface);border-color:var(--border-strong);border-radius:var(--control-radius);padding:5px 7px;font-size:.68rem;font-weight:600}.map-top-controls{width:min(360px,100% - 24px);z-index:var(--layer-map-overlay);pointer-events:none;justify-items:end;gap:8px;display:grid;position:absolute;top:12px;right:12px}.map-load-status{border:1px solid var(--border-strong);border-radius:var(--control-radius);max-width:100%;color:var(--ink);font-size:var(--text-sm);pointer-events:auto;background:#f8f8f6f5;align-items:center;gap:10px;padding:8px 11px;display:flex;box-shadow:0 4px 16px #1010101f}.map-load-status.is-error{border-color:var(--danger)}.map-live-status:not(.is-error){border-color:#a96b12}.map-load-status button{border:1px solid var(--border-strong);border-radius:var(--control-radius);color:var(--ink);background:var(--surface-raised);cursor:pointer;flex:none;padding:4px 7px}.map-load-status button:hover,.map-load-status button:focus-visible{border-color:var(--ink);background:var(--surface-alt)}.map-filter-menu{pointer-events:auto;position:relative}.map-filter-trigger{width:var(--control-height);height:var(--control-height);border:var(--control-border);border-radius:var(--panel-radius);color:var(--muted);background:var(--surface-raised);cursor:pointer;place-items:center;padding:0;transition:color .15s,border-color .15s,background-color .15s;display:grid;position:relative}.map-filter-trigger:hover,.map-filter-trigger:focus-visible,.map-filter-trigger[aria-expanded=true]{border-color:var(--border-strong);color:var(--ink);background:var(--surface-alt)}.map-filter-trigger:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.map-filter-trigger.is-filtered:after{border:1px solid var(--surface);background:var(--danger,#b4423a);content:"";border-radius:50%;width:7px;height:7px;position:absolute;top:5px;right:5px}.map-filter-trigger span,.map-filter-trigger svg{width:18px;height:18px}.map-filter-popover{border:var(--control-border-strong);width:270px;color:var(--ink);background:var(--surface-raised);box-shadow:var(--shadow-floating);padding:0;position:absolute;top:calc(100% + 10px);right:0}.map-filter-heading{border-bottom:1px solid var(--border);gap:5px;padding:14px 16px;display:grid}.map-filter-heading>span{color:var(--muted);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;font-weight:650}.map-filter-heading small{color:var(--muted);font-size:.64rem}.map-transport-filter{border:0;gap:0;margin:0;padding:6px;font-size:.72rem;display:grid}.map-transport-filter label{white-space:nowrap;cursor:pointer;border:0;grid-template-columns:18px 8px minmax(0,1fr);align-items:center;gap:8px;min-height:40px;padding:7px 10px;font-weight:650;transition:border-color .14s,background-color .14s;display:grid}.map-transport-filter label.is-disabled{cursor:not-allowed;opacity:.45}.map-transport-filter label:hover:not(.is-disabled){background:var(--surface-alt)}.map-transport-filter label:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:0}.map-filter-check,.map-filter-check svg{width:18px;height:18px;display:block}.map-filter-check{color:var(--ink)}.map-route-filter-line{width:10px;height:4px;box-shadow:0 0 0 2px var(--surface-raised);background:#174f7f;border-radius:999px}.map-filter-option-copy{gap:2px;min-width:0;display:grid}.map-filter-option-copy small{color:var(--muted);font-size:.62rem;font-weight:500}.map-transport-filter__dot{background:var(--danger,#b4423a);border-radius:50%;width:8px;height:8px}.map-transport-filter__dot.is-tram{background:#2467a8}.map-transport-filter__dot.is-bus{background:#a85d13}@media (width<=760px){.workspace[data-layout=split] .map-panel{border-top:1px solid var(--ink);border-left:0}.map-panel,.map-stage{min-height:500px}.leaflet-map{height:500px;min-height:500px}.map-top-controls{width:min(360px,100% - 20px);top:10px;right:10px}}@media (width>=761px) and (width<=1100px){.workspace[data-layout=split] .map-panel{border-top:1px solid var(--ink);border-left:0}}.map-panel,.map-stage,.leaflet-map{min-height:calc(100vh - var(--topbar-height))}@media (width<=960px){.map-panel,.map-stage,.leaflet-map{min-height:calc(100dvh - var(--topbar-height))}.workspace[data-layout=split] .map-panel{border-top:1px solid var(--border);grid-column:1}}@media (width<=760px){.app-shell.is-mobile-map-only{grid-template-rows:auto minmax(0,1fr);height:100dvh;min-height:0;display:grid;overflow:hidden}.app-shell.is-mobile-map-only .topbar{position:relative}.app-shell.is-mobile-map-only .shell,.app-shell.is-mobile-map-only .workspace,.app-shell.is-mobile-map-only .map-panel,.app-shell.is-mobile-map-only .map-stage,.app-shell.is-mobile-map-only .leaflet-map{height:100%;min-height:0}.app-shell.is-mobile-map-only .map-panel{border-top:0}}@media (prefers-reduced-motion:no-preference){.leaflet-tile-pane{transition:filter .22s}}.map-stop-marker{background:0 0;border:0;place-items:center;display:grid!important}.map-stop-marker__dot{border:2px solid var(--surface-raised);background:var(--color-primary-700,#245c50);border-radius:50%;width:12px;height:12px;transition:scale .12s,background-color .12s;display:block;box-shadow:0 0 0 1px #090d0b6b,0 2px 5px #090d0b4d}.map-stop-marker:hover .map-stop-marker__dot,.map-stop-marker:focus-visible .map-stop-marker__dot{background:var(--color-primary-500,#368676);scale:1.2}.map-stop-marker:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.map-kpk-marker{background:0 0;border:0;width:auto!important;height:auto!important}.map-kpk-marker__label{border:1px solid color-mix(in srgb, var(--ink) 70%, transparent);border-radius:var(--control-radius);width:max-content;max-width:190px;color:var(--surface-raised);background:color-mix(in srgb, var(--ink) 92%, transparent);white-space:nowrap;padding:5px 8px;font-size:.7rem;font-weight:700;line-height:1.15;display:block;box-shadow:0 2px 8px #090d0b47}.map-stop-popup{gap:4px;min-width:150px;display:grid}.map-stop-popup strong{color:var(--ink);font-size:var(--text-sm)}.map-stop-popup span{color:var(--muted);font-size:var(--text-xs)}.map-vessel-marker{background:0 0;border:0;place-items:center;display:grid!important}.map-vessel-marker__body{width:46px;height:46px;transform:rotate(var(--vehicle-bearing,0deg));transform-origin:50%;filter:drop-shadow(0 2px 2px #090d0b80);opacity:1;place-items:center;transition:opacity .18s;display:grid}.map-vessel-marker.is-stale .map-vessel-marker__body{opacity:.58}.map-vehicle-symbol{object-fit:contain;-webkit-user-select:none;user-select:none;width:20px;height:40px;display:block}.map-tram-stop-marker,.map-bus-stop-marker{background:0 0;border:0;place-items:center;display:grid!important;overflow:visible!important}.map-tram-stop-marker__dot,.map-bus-stop-marker__dot{background:var(--surface-raised);border:2px solid #2467a8;border-radius:50%;width:8px;height:8px;display:block;box-shadow:0 1px 3px #090d0b42}.map-bus-stop-marker__dot{border-color:#55aeea}.map-tram-stop-marker__label,.map-bus-stop-marker__label{z-index:1;color:var(--ink);background:color-mix(in srgb, var(--surface-raised) 92%, transparent);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;border:1px solid #2467a86b;border-radius:3px;padding:2px 4px;font-size:.66rem;font-weight:650;line-height:1.2;transition:opacity .12s;position:absolute;top:50%;left:12px;transform:translateY(-50%);box-shadow:0 1px 3px #090d0b29}.map-tram-stop-marker.is-label-visible .map-tram-stop-marker__label,.map-bus-stop-marker.is-label-visible .map-bus-stop-marker__label{opacity:1;visibility:visible}.leaflet-tooltip.map-vessel-tooltip{color:var(--surface-raised);background:var(--ink);font-weight:650}.leaflet-tooltip.map-vessel-tooltip:before{display:none}.map-vessel-popup{gap:4px;min-width:170px;display:grid}.map-vessel-popup span,.map-vessel-popup small{color:var(--muted);font-size:var(--text-xs)}.dialog-copy{color:var(--muted);margin:7px 0 0;font-size:.84rem;line-height:1.5}dialog{border:1px solid var(--ink);width:min(560px,100% - 32px);max-height:calc(100% - 32px);color:var(--ink);border-color:var(--border-strong);background:var(--surface-raised);border-radius:4px;padding:0;position:relative;overflow:auto;box-shadow:0 20px 60px #10101033}.dialog-close-button{z-index:10;border:1px solid var(--border);border-radius:var(--control-radius);width:36px;height:36px;color:var(--muted);background:var(--surface-raised);cursor:pointer;place-items:center;padding:0;transition:color .15s,background-color .15s,border-color .15s;display:grid;position:absolute;top:18px;right:18px}.dialog-close-button:hover{color:var(--ink);border-color:var(--ink);background:var(--surface-alt)}.dialog-close-button svg{width:18px;height:18px}.dialog-body h2{font-size:1.55rem;font-weight:450}.dialog-actions{border-top:1px solid var(--ink);border-top-color:var(--border);background:var(--surface-alt);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;min-height:68px;padding:13px 20px;display:flex}.confirm-dialog{border:1px solid var(--ink);border-radius:var(--control-radius);background:var(--surface);width:min(460px,100vw - 32px);max-width:460px;box-shadow:0 16px 40px #00000029}.confirm-dialog.is-update-dialog{border-color:color-mix(in srgb, var(--focus) 24%, var(--border));border-radius:8px;width:min(500px,100vw - 32px);max-width:500px;overflow:hidden;box-shadow:0 24px 70px #09142a3d}.confirm-dialog.is-update-dialog .dialog-body{padding:30px 30px 27px}.confirm-dialog.is-update-dialog .dialog-body h2{letter-spacing:-.035em;max-width:360px;font-size:clamp(1.55rem,5vw,2rem);line-height:1.08}.confirm-dialog.is-update-dialog .dialog-copy{max-width:410px;margin-top:12px;font-size:.88rem;line-height:1.58}.confirm-dialog.is-update-dialog .dialog-actions{min-height:76px;padding:15px 20px}.confirm-dialog.is-update-dialog .button.is-primary{border-color:var(--focus);background:var(--focus)}.confirm-dialog.is-update-dialog .button.is-primary:hover:not(:disabled){background:#1f57d6;border-color:#1f57d6}.confirm-update-mark{border:1px solid color-mix(in srgb, var(--focus) 22%, transparent);width:44px;height:44px;color:var(--focus);background:color-mix(in srgb, var(--focus) 9%, var(--surface));border-radius:50%;place-items:center;margin-bottom:24px;display:grid}.confirm-update-mark svg{width:22px;height:22px}dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#15161585}.dialog-body{padding:32px}.dock-time-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dock-time-fields .field{margin-block:0}@media (width<=480px){.confirm-dialog.is-update-dialog .dialog-body{padding:26px 24px 23px}.confirm-dialog.is-update-dialog .dialog-actions{padding-inline:14px}.confirm-dialog.is-update-dialog .dialog-actions .button{flex:auto}.dock-time-fields{grid-template-columns:1fr}}@media (prefers-reduced-motion:no-preference){dialog[open]{animation:.2s cubic-bezier(.22,.8,.25,1) both dialog-soft-in}dialog[open]::backdrop{animation:.18s ease-out both backdrop-soft-in}@keyframes dialog-soft-in{0%{opacity:0;transform:translateY(8px)scale(.988)}}@keyframes backdrop-soft-in{0%{opacity:0}}dialog{transition:color .18s,background-color .18s,border-color .18s}}.login-dialog{background:var(--surface-alt);width:100%;max-width:none;height:100dvh;max-height:none;box-shadow:none;border:0;margin:0;inset:0;overflow:hidden}.login-dialog::backdrop{background:var(--surface-alt)}.login-card{grid-template-columns:minmax(360px,.82fr) minmax(520px,1.18fr);width:100%;min-height:100%;margin:0;display:grid}.login-intro{color:#fff;background:var(--ink);flex-direction:column;min-height:100dvh;padding:clamp(34px,5vw,72px);display:flex;position:relative;overflow:hidden}.login-intro:before{content:"";aspect-ratio:1;pointer-events:none;border:1px solid #ffffff1a;border-radius:50%;width:min(46vw,620px);position:absolute;bottom:min(-18vw,-200px);right:min(-18vw,-180px);box-shadow:0 0 0 70px #ffffff06,0 0 0 140px #ffffff05}.login-theme-toggle{z-index:2;border-radius:var(--control-radius);color:#ffffffd1;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff4d;place-items:center;width:44px;height:44px;padding:0;transition:color .15s,border-color .15s,background-color .15s;display:grid;position:absolute;top:clamp(28px,4vw,56px);right:clamp(28px,4vw,56px)}.login-theme-toggle:hover,.login-theme-toggle:focus-visible{color:#fff;background:#ffffff1a;border-color:#ffffffad}.login-theme-toggle>span{place-items:center;display:grid}.login-theme-toggle svg{width:19px;height:19px}.login-product-mark{z-index:1;align-items:center;gap:18px;display:flex;position:relative}.login-product-mark>span{color:#ffffff9e;max-width:150px;font-size:var(--text-xs);letter-spacing:.13em;text-transform:uppercase;font-weight:650;line-height:1.45}.login-brand{width:74px;height:74px;color:var(--ink);font-kerning:normal;font-feature-settings:"kern" 1;letter-spacing:.065em;background:#fff;align-content:center;margin:0;padding:10px 12px;font-size:1.27rem;font-weight:760;line-height:.88;display:grid}.login-brand span{text-align:center;display:block}.login-intro-copy{z-index:1;max-width:520px;margin-block:auto;position:relative}.login-intro-copy>p{color:#ffffff94;font-size:var(--text-xs);letter-spacing:.17em;text-transform:uppercase;margin:0 0 18px;font-weight:680}.login-intro-copy h1{color:#fff;letter-spacing:-.06em;margin:0;font-size:clamp(2.7rem,5.4vw,5.6rem);font-weight:390;line-height:.94}.login-intro-copy>span{color:#ffffffad;max-width:460px;margin-top:28px;font-size:clamp(.82rem,1.2vw,1rem);line-height:1.65;display:block}.login-environment{z-index:1;color:#ffffff94;font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:9px;font-weight:650;display:flex;position:relative}.login-environment i{background:#74cf9d;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #74cf9d1f}.login-entry{background:#f3f4f1;place-items:center;min-height:100dvh;padding:clamp(30px,6vw,84px);display:grid}.dialog-body.login-body{border:1px solid var(--border);border-radius:var(--control-radius);background:var(--surface-raised);border-top-color:#0000;width:min(500px,100%);padding:clamp(30px,4vw,46px);position:relative;overflow:hidden;box-shadow:0 24px 70px #15161517}.dialog-body.login-body:before{content:"";background:linear-gradient(90deg,#163a70 0%,#2768ff 55%,#69c7ff 100%);height:4px;position:absolute;inset:0 0 auto}.login-overline{color:var(--muted);font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;margin:0 0 13px;font-weight:680}.dialog-body.login-body h2{letter-spacing:-.05em;margin:0;font-size:clamp(2rem,4vw,3rem);font-weight:430}.login-copy{max-width:400px;color:var(--muted);margin:18px 0 0;font-size:.86rem;line-height:1.65}.field.login-field{gap:8px;margin:30px 0 20px}.field.login-field>.login-field-label{color:var(--ink);letter-spacing:.06em;font-size:.68rem;font-weight:650}.field.login-field>small{color:var(--muted);font-size:var(--text-xs);letter-spacing:0;font-weight:450;line-height:1.4}.vessel-dropdown-custom{width:100%;position:relative}.vessel-select-trigger{border:1px solid var(--border-strong);border-left:4px solid var(--ink);border-radius:var(--control-radius);width:100%;min-height:56px;color:var(--ink);cursor:pointer;background:#fff;justify-content:space-between;align-items:center;padding:11px 16px 11px 14px;font-size:.96rem;font-weight:650;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 3px 10px #15161509}.vessel-select-trigger:hover,.vessel-select-trigger:focus-visible{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px #1414141f}.vessel-trigger-info{align-items:center;gap:12px;display:flex}.vessel-trigger-name{color:var(--ink);font-size:.96rem;font-weight:650}.vessel-chevron{color:var(--muted);transition:transform .18s}.vessel-dropdown-custom.is-open .vessel-chevron{transform:rotate(180deg)}.vessel-dropdown-menu{z-index:var(--layer-popover);border-radius:var(--control-radius);border:1px solid var(--border-strong);background:#fff;max-height:240px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 30px #00000024,0 2px 6px #0000000a}.vessel-dropdown-option{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;padding:10px 14px;transition:background-color .12s;display:flex}.vessel-dropdown-option:hover,.vessel-dropdown-option:focus{background:#f1f3f5}.vessel-dropdown-option.is-selected{color:#1864ab;background:#e7f5ff}.vessel-option-info{align-items:center;gap:10px;display:flex}.vessel-option-name{font-size:.92rem;font-weight:600}.vessel-check-icon{color:#1864ab}.button.login-button{width:100%;min-height:var(--control-height-large);color:#fff;border-radius:var(--control-radius);box-shadow:none;background:#2768ff;border:0;justify-content:space-between;margin-top:26px;padding-inline:18px}.button.login-button:hover:not(:disabled),.button.login-button:focus-visible{color:#fff;box-shadow:none;background:#1f57d6}.login-button-chevron{border-top:2px solid;border-right:2px solid;width:9px;height:9px;margin-right:3px;transition:transform .18s;transform:rotate(45deg)}.button.login-button:hover:not(:disabled) .login-button-chevron,.button.login-button:focus-visible .login-button-chevron{transform:translate(5px)rotate(45deg)}.login-header-row{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:6px;display:flex}.login-pin-control{align-items:center;display:flex;position:relative}.login-pin-input{width:100%;min-height:var(--control-height-large);border:1px solid var(--border-strong);border-left:3px solid var(--ink);border-radius:var(--control-radius);color:var(--ink);letter-spacing:.35em;background:#fff;padding:10px 110px 10px 16px;font-size:1.25rem;font-weight:700;transition:border-color .15s,box-shadow .15s;box-shadow:0 3px 10px #15161509}.login-field.has-error .login-pin-input{background:#fff8f8;border-color:#e53935}.login-pin-input:focus{outline:2px solid color-mix(in srgb, var(--ink) 20%, transparent);outline-offset:2px}.field.login-field>.login-field-error-text{color:#e53935;font-size:.68rem;font-weight:650}@media (width<=960px){.login-dialog{background:var(--registration-header);overflow:auto}.login-dialog::backdrop,.login-card,.login-entry{background:var(--registration-header)}.login-card{grid-template-columns:minmax(0,1fr);min-height:100%}.login-intro{min-height:280px;padding:max(28px, env(safe-area-inset-top,0px)) max(24px, env(safe-area-inset-right,0px)) 28px max(24px, env(safe-area-inset-left,0px))}.login-theme-toggle{top:max(28px, env(safe-area-inset-top,0px));right:max(24px, env(safe-area-inset-right,0px))}.login-intro:before{width:360px;bottom:-230px;right:-180px}.login-product-mark{gap:14px}.login-brand{width:62px;height:62px;font-size:1.02rem}.login-intro-copy{margin:44px 0 28px}.login-intro-copy>p{margin-bottom:12px}.login-intro-copy h1{font-size:clamp(2.45rem,10vw,4rem)}.login-intro-copy>span{max-width:520px;margin-top:18px}.login-entry{min-height:auto;padding:30px max(16px, env(safe-area-inset-right,0px)) max(48px, env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));align-items:start}}.catalog-dialog{width:min(1080px,100% - 32px)}.catalog-heading{justify-content:space-between;align-items:flex-start;gap:20px;padding-right:44px;display:flex}.catalog-total{border:1px solid var(--border-strong);color:var(--muted);flex:none;padding:6px 9px;font-size:.7rem}.catalog-mode-switch{border:1px solid var(--border);border-radius:var(--control-radius);background:var(--surface-alt);grid-template-columns:repeat(2,auto);gap:2px;width:fit-content;margin-top:22px;padding:3px;display:grid}.catalog-mode-switch button{border-radius:calc(var(--control-radius) - 1px);min-height:32px;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;padding:6px 12px;font-size:.68rem;font-weight:620}.catalog-mode-switch button[aria-pressed=true]{color:#fff;background:var(--navy)}.catalog-filters{grid-template-columns:165px 145px minmax(220px,1fr) 150px;gap:12px;margin-top:24px;display:grid}.catalog-controls{justify-content:space-between;align-items:center;gap:14px;min-height:42px;display:flex}.catalog-controls p{color:var(--muted);margin:0;font-size:.76rem}.catalog-list{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--surface);border-color:var(--border-strong);max-height:min(52vh,480px);overflow:auto}.catalog-trip{border-bottom:1px solid var(--border);cursor:pointer;border-bottom-color:var(--border);grid-template-columns:22px 44px 100px minmax(0,1fr);align-items:center;gap:12px;min-height:58px;padding:9px 8px;transition:background-color .15s,border-color .15s;display:grid}.catalog-trip:last-child{border-bottom:0}.catalog-trip:hover{background:var(--surface-alt)}.catalog-trip:has(input:checked){background:var(--surface-alt)}.catalog-trip input{width:16px;height:16px;accent-color:var(--ink)}.line-badge{border:1px solid var(--border-strong);place-items:center;min-height:27px;font-size:.69rem;font-weight:600;display:inline-grid}.catalog-time{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;font-size:.8rem}.catalog-route{min-width:0}.catalog-route strong,.catalog-route small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.catalog-route strong{font-size:.8rem;font-weight:550}.catalog-route small{color:var(--muted);margin-top:4px;font-size:.69rem}.catalog-empty{color:var(--muted);text-align:center;padding:40px 18px}.custom-trip-builder{margin-top:18px}.custom-trip-intro{border:1px solid var(--border);border-left:3px solid var(--navy);border-radius:var(--control-radius);background:var(--surface-alt);grid-template-columns:minmax(0,1fr) 240px;align-items:end;gap:24px;padding:14px;display:grid}.custom-trip-intro>div{gap:4px;display:grid}.custom-trip-intro>div>span,.custom-stops-heading span{color:var(--muted);font-size:var(--text-xs);letter-spacing:.11em;text-transform:uppercase;font-weight:680}.custom-trip-intro>div>strong{font-size:.95rem;font-weight:630}.custom-trip-intro small,.custom-stops-heading small{color:var(--muted);font-size:var(--text-xs);line-height:1.35}.custom-stops-heading{min-height:var(--control-height-large);justify-content:space-between;align-items:center;gap:18px;display:flex}.custom-stops-heading>div{gap:4px;display:grid}.custom-stops-heading .button{min-height:32px;padding-block:5px}.custom-stop-list{scrollbar-gutter:stable;border:1px solid var(--border-strong);border-radius:var(--control-radius);background:var(--surface);max-height:min(42vh,380px);overflow-y:auto}.custom-stop-row{border-bottom:1px solid var(--border);grid-template-columns:28px minmax(220px,1fr) 150px 34px;align-items:end;gap:12px;min-height:64px;padding:9px 10px;display:grid}.custom-stop-row:last-child{border-bottom:0}.custom-stop-order{border:1px solid var(--border);width:24px;height:24px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:50%;align-self:center;place-items:center;font-size:.63rem;font-weight:650;display:grid}.custom-stop-row .field{min-width:0}.custom-stop-row input{min-height:var(--control-height-compact)}.remove-custom-stop{border-radius:var(--control-radius);width:32px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;padding:0;display:grid}.remove-custom-stop svg{width:15px;height:15px}.remove-custom-stop:hover:not(:disabled){color:var(--danger);border-color:var(--border);background:var(--status-danger-soft)}.remove-custom-stop:disabled{opacity:.25;cursor:default}.selection-count{color:var(--muted);margin-right:auto;font-size:.75rem}@media (width<=760px){.catalog-mode-switch{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.custom-trip-intro{grid-template-columns:minmax(0,1fr);gap:14px}.custom-stop-row{grid-template-columns:24px minmax(0,1fr) 92px 32px;gap:8px}}@media (width<=520px){.custom-stop-row{grid-template-columns:24px minmax(0,1fr) 32px;align-items:center}.custom-stop-row .field:nth-of-type(2){grid-column:2}.custom-stop-row .remove-custom-stop{grid-area:1/3/span 2}.custom-stop-order{grid-row:1/span 2}}@media (width<=760px){.catalog-heading{display:block}.catalog-total{margin-top:16px;display:inline-block}.catalog-filters{grid-template-columns:1fr 1fr}.catalog-trip{grid-template-columns:22px 44px minmax(0,1fr)}.catalog-time{color:var(--muted);grid-area:2/3}}.catalog-total,.line-badge{border-color:var(--border);border-radius:var(--control-radius)}.report-lines{border-top:1px solid var(--ink);margin:24px 0;display:grid}.report-line,.report-total{border-bottom:1px solid var(--border);justify-content:space-between;gap:14px;padding:12px 0;font-size:.82rem;display:flex}.report-line{flex-wrap:wrap}.report-line small{color:var(--muted);flex-basis:100%}.report-line .has-report-issue{color:var(--danger);font-weight:650}.report-total{border-bottom-color:var(--ink);font-weight:560}.audit-dialog{width:min(760px,100vw - 32px);max-height:min(820px,100vh - 32px)}.audit-state{color:var(--muted);margin:20px 0}.audit-state.has-error{color:var(--danger)}.audit-events{gap:10px;max-height:55vh;margin:20px 0 0;padding:0;list-style:none;display:grid;overflow:auto}.audit-event{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:14px 16px}.audit-event>div{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.audit-event>div span,.audit-event>p,.audit-event summary{color:var(--muted);font-size:.82rem}.audit-event>p{margin:5px 0 0}.audit-event details{margin-top:10px}.audit-event summary{cursor:pointer}.audit-event pre{background:var(--canvas);white-space:pre-wrap;border-radius:8px;max-height:220px;margin:10px 0 0;padding:10px;font-size:.72rem;overflow:auto}.report-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.report-summary-grid span{color:var(--muted);gap:5px;display:grid}.report-summary-grid strong{color:var(--ink);font-size:.95rem}.report-warning{border:1px solid var(--danger);color:var(--danger);background:color-mix(in srgb, var(--danger) 7%, var(--surface));gap:4px;margin-top:18px;padding:12px 14px;font-size:.82rem;display:grid}@media print{.report-dialog,.report-dialog *{visibility:visible!important}.report-dialog{color:#000;width:100%;max-width:none;max-height:none;box-shadow:none;background:#fff;border:0;margin:0;padding:0;display:block;position:absolute;inset:0}.report-dialog::backdrop,.report-dialog .dialog-actions{display:none}}.operations-display{color:#111513;background:#f7f8f7;width:100%;min-height:100dvh;position:relative;overflow:hidden}.operations-display-control{z-index:1;top:max(20px, env(safe-area-inset-top));width:54px;height:54px;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;transition:opacity .15s,transform .15s;display:grid;position:absolute}.operations-display-control:hover{opacity:.68;transform:translateY(-1px)}.operations-display-control span,.operations-display-control svg{width:24px;height:24px}.operations-display-back{left:max(20px, env(safe-area-inset-left))}.operations-display-theme{right:max(20px, env(safe-area-inset-right))}.operations-display-content{flex-direction:column;justify-content:center;width:min(1180px,100% - 48px);min-height:100dvh;margin:0 auto;padding:clamp(104px,12vh,150px) 0 clamp(220px,31vh,310px);transition:padding-bottom .2s;display:flex}.operations-display-content.is-footer-collapsed,.operations-display-content.is-chrome-hidden{padding-bottom:max(72px, env(safe-area-inset-bottom))}.operations-display-footer{z-index:1;background:#f7f8f7;border-top:1px solid #d9ddda;height:clamp(178px,25vh,250px);transition:height .2s,opacity .2s,transform .2s;position:absolute;bottom:0;left:0;right:0;overflow:visible}.operations-display-footer.is-collapsed{height:1px}.operations-display.is-chrome-hidden .operations-display-footer{opacity:0;pointer-events:none;transform:translateY(12px)}.operations-display-footer-toggle{width:48px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;margin:0 auto;transition:opacity .15s,transform .15s;display:grid;position:absolute;top:-68px;left:calc(50% - 24px)}.operations-display-footer-toggle:hover{opacity:.62}.operations-display-footer-toggle span,.operations-display-footer-toggle svg{width:22px;height:22px}.operations-display-latest{width:100%;height:100%;padding:0 max(24px, env(safe-area-inset-right)) 0 max(24px, env(safe-area-inset-left));opacity:1;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 auto;transition:opacity .15s,transform .2s;display:grid;overflow:hidden;transform:translateY(0)}.operations-display-footer.is-collapsed .operations-display-latest{opacity:0;transform:translateY(12px)}.operations-display-primary{width:100%}.operations-display-stat{text-align:center;min-width:0;padding:0 clamp(16px,4vw,64px)}.operations-display-latest article+article{border-left:1px solid #d9ddda}.operations-display-stat h1{color:#47504b;letter-spacing:.12em;text-transform:uppercase;margin:0 0 clamp(8px,1.5vh,20px);font-size:clamp(.88rem,1.7vw,1.35rem);font-weight:750;transition:opacity .2s,transform .2s}.operations-display-onboard-value{width:100%;color:inherit;cursor:pointer;font-variant-numeric:tabular-nums;letter-spacing:-.07em;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:0 0;border:0;padding:0;font-size:clamp(6rem,20vw,17rem);font-weight:760;line-height:.82;display:block}.operations-display-onboard-value.is-danger{color:#bd241d}.operations-display-latest article{padding:clamp(18px, 3vh, 34px) clamp(16px, 4vw, 64px) max(clamp(18px, 3vh, 34px), env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;display:grid}.operations-display-latest>article>span{color:#47504b;letter-spacing:.08em;text-transform:uppercase;gap:2px;font-size:clamp(.78rem,1.35vw,1.08rem);font-weight:740;display:grid}.operations-display-latest strong{font-variant-numeric:tabular-nums;font-size:clamp(2.25rem,5.5vw,5rem);line-height:1}.operations-display-latest strong.is-danger{color:#bd241d}:root[data-theme=dark] .operations-display{color:#f4f7f5;background:#000}:root[data-theme=dark] .operations-display-footer,:root[data-theme=dark] .operations-display-latest article+article{border-color:#252a27}:root[data-theme=dark] .operations-display-footer{background:#000}:root[data-theme=dark] .operations-display-stat h1,:root[data-theme=dark] .operations-display-latest>article>span{color:#a8b0ac}:root[data-theme=dark] .operations-display-onboard-value.is-danger{color:#ff6b61}.operations-display.is-chrome-hidden .operations-display-control,.operations-display.is-chrome-hidden .operations-display-footer-toggle,.operations-display.is-chrome-hidden .operations-display-stat h1{opacity:0;pointer-events:none;transform:translateY(-8px)}:root[data-theme=dark] .operations-display-latest strong.is-danger{color:#ff6b61}@media (width<=760px),(orientation:portrait) and (height<=760px){.operations-display-content{width:min(100% - 32px,620px);padding-top:92px;padding-bottom:232px}.operations-display-stat{padding:0 10px}.operations-display-onboard-value{font-size:clamp(5rem,26vw,9rem)}.operations-display-latest article{text-align:left;gap:6px;padding:18px 12px}}@media (prefers-reduced-motion:reduce){.operations-display-control,.operations-display-content,.operations-display-footer,.operations-display-footer-toggle,.operations-display-latest{transition:none}}.workspace[data-layout=auxiliary]{background:var(--canvas);grid-template-columns:minmax(0,1fr)}.traffic-workspace{width:100%;height:calc(100dvh - var(--topbar-height));background:var(--surface);min-width:0;position:relative;overflow:hidden;container-type:inline-size}.traffic-workspace__toolbar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:center;align-items:center;min-height:58px;padding:7px 24px;display:flex}.traffic-workspace__switch{border:1px solid var(--border);background:var(--surface-alt);border-radius:5px;padding:3px;display:inline-flex}.traffic-workspace__switch button{min-height:36px;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:3px;align-items:center;gap:8px;padding:7px 18px;font-size:.75rem;font-weight:650;display:inline-flex}.traffic-workspace__switch button[aria-pressed=true]{color:var(--registration-header-ink);background:var(--registration-header);box-shadow:var(--shadow-subtle)}.traffic-workspace__switch svg,.traffic-workspace__expand svg{width:16px;height:16px}.traffic-workspace__expand{border:1px solid var(--border);width:38px;height:38px;color:var(--muted);background:var(--surface-raised);cursor:pointer;border-radius:4px;place-items:center;display:grid;position:absolute;right:24px}.traffic-workspace__expand:hover,.traffic-workspace__expand:focus-visible{color:var(--ink);border-color:var(--border-strong)}.traffic-workspace__surface.is-map,.traffic-workspace__surface.is-map .map-panel,.traffic-workspace__surface.is-map .map-stage,.traffic-workspace__surface.is-map .leaflet-map{height:calc(100vh - var(--topbar-height) - 58px);min-height:480px}.traffic-workspace__surface.is-overview{height:calc(100dvh - var(--topbar-height) - 58px);overflow:auto}.traffic-operations{background:radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--registration-header) 8%, transparent), transparent 30%), var(--canvas);min-height:100%;padding:clamp(24px,3vw,46px)}.traffic-operations__intro{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.traffic-operations__eyebrow,.traffic-operations__intro p,.traffic-operations__refresh{color:var(--muted)}.traffic-operations__eyebrow{letter-spacing:.13em;text-transform:uppercase;font-size:.66rem;font-weight:700}.traffic-operations__intro h1{letter-spacing:-.055em;margin:7px 0 4px;font-size:clamp(2rem,4vw,4rem);font-weight:560;line-height:.96}.traffic-operations__intro p{margin:0;font-size:.84rem}.traffic-operations__refresh{align-items:center;gap:10px;font-size:.7rem;display:flex}.traffic-operations__refresh button{border:1px solid var(--border);width:38px;height:38px;color:var(--muted);background:var(--surface-raised);cursor:pointer;border-radius:4px;place-items:center;display:grid}.traffic-operations__refresh svg{width:15px;height:15px}.traffic-operations__refresh .is-spinning{animation:.8s linear infinite traffic-spin}@keyframes traffic-spin{to{transform:rotate(360deg)}}.traffic-operations__error{border:1px solid var(--danger);color:var(--danger);background:var(--status-danger-soft);justify-content:space-between;margin-top:20px;padding:12px 14px;font-size:.76rem;display:flex}.traffic-operations__error button{color:inherit;cursor:pointer;background:0 0;border:0;font-weight:700}.traffic-kpis{border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-subtle);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:30px;display:grid}.traffic-kpis article{border-right:1px solid var(--border);grid-template-columns:1fr auto;align-content:space-between;min-height:126px;padding:20px 22px;display:grid}.traffic-kpis article:last-child{border-right:0}.traffic-kpis span{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;grid-column:1/-1;font-size:.65rem;font-weight:700}.traffic-kpis strong{letter-spacing:-.05em;font-size:clamp(2rem,3vw,3.15rem);font-weight:600;line-height:1}.traffic-kpis small{color:var(--muted);text-align:right;align-self:end;font-size:.66rem}.traffic-operations__grid{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:22px;margin-top:22px;display:grid}.fleet-panel,.saltholmen-panel{border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-subtle)}.fleet-panel__toolbar{border-bottom:1px solid var(--border);align-items:end;gap:12px;min-height:76px;padding:14px 18px;display:flex}.fleet-panel__toolbar label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;gap:5px;font-size:.61rem;font-weight:700;display:grid}.fleet-panel__toolbar input,.fleet-panel__toolbar select{border:1px solid var(--border);height:36px;color:var(--ink);background:var(--surface);font:inherit;letter-spacing:0;text-transform:none;border-radius:3px;padding:6px 10px;font-size:.72rem}.fleet-search input{width:170px}.fleet-table-wrap{min-height:260px;position:relative;overflow-x:auto}.fleet-table{border-collapse:collapse;width:100%;font-size:.72rem}.fleet-table th,.fleet-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:14px 16px}.fleet-table thead th{color:var(--muted);background:var(--surface-alt);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;font-size:.59rem;font-weight:720}.fleet-table tbody tr:last-child>*{border-bottom:0}.fleet-table tbody tr:hover>*{background:color-mix(in srgb, var(--registration-header) 4%, var(--surface-raised))}.fleet-table tbody th{min-width:145px}.fleet-table tbody th small,.fleet-table td small{color:var(--muted);font-size:.61rem}.fleet-table td>strong,.fleet-table td>small{display:block}.fleet-table__number{white-space:nowrap}.fleet-table__number strong{font-variant-numeric:tabular-nums;font-size:1rem}.fleet-table__muted{color:var(--muted)}.fleet-table__empty{color:var(--muted);text-align:center!important;padding:34px!important}.fleet-table__loading{color:var(--muted);background:color-mix(in srgb, var(--surface-raised) 88%, transparent);place-items:center;display:grid;position:absolute;inset:0}.saltholmen-panel__heading{border-bottom:1px solid var(--border);padding:20px}.saltholmen-panel__heading>span{color:var(--ink);letter-spacing:.12em;text-transform:uppercase;font-size:.62rem;font-weight:720}.saltholmen-panel h2{margin:6px 0 0;font-size:1.45rem}.saltholmen-panel__heading p,.saltholmen-panel__note{color:var(--muted);font-size:.68rem;line-height:1.45}.saltholmen-panel dl{margin:0}.saltholmen-panel dl>div{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;padding:17px 20px;display:grid}.saltholmen-panel dt{font-size:.7rem;font-weight:650}.saltholmen-panel dd{grid-area:1/2/span 2;margin:0;font-size:1.75rem;font-weight:600;line-height:1}.saltholmen-panel dl small{color:var(--muted);font-size:.61rem}.saltholmen-panel dl>div.is-accent{color:var(--registration-header-ink);background:var(--registration-header)}.saltholmen-panel dl>div.is-accent small{color:color-mix(in srgb, var(--registration-header-ink) 74%, transparent)}.saltholmen-panel__note{margin:0;padding:16px 20px}@media (width<=1100px){.traffic-operations__grid{grid-template-columns:minmax(0,1fr)}.saltholmen-panel dl{grid-template-columns:repeat(3,1fr);display:grid}.saltholmen-panel dl>div{border-right:1px solid var(--border)}}@media (width<=760px){.traffic-workspace__toolbar{justify-content:flex-start;padding-inline:12px}.traffic-workspace__expand{right:12px}.traffic-workspace__switch button{padding-inline:11px}.traffic-operations{padding:22px 14px}.traffic-operations__intro{flex-direction:column;align-items:flex-start}.traffic-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.traffic-kpis article:nth-child(2){border-right:0}.traffic-kpis article:nth-child(-n+2){border-bottom:1px solid var(--border)}.fleet-panel__toolbar{flex-wrap:wrap;align-items:stretch}.fleet-panel__toolbar label{flex:130px}.fleet-search input{width:100%}.saltholmen-panel dl{grid-template-columns:1fr}.saltholmen-panel dl>div{border-right:0}}@media (width<=480px){.traffic-workspace__switch button{font-size:0}.traffic-workspace__switch button svg{width:18px;height:18px}.traffic-kpis{grid-template-columns:1fr}.traffic-kpis article{border-right:0;border-bottom:1px solid var(--border)}}@media (prefers-reduced-motion:reduce){.traffic-operations__refresh .is-spinning{transition:none;animation:none}}@container (width<=920px){.traffic-operations{padding:24px}.traffic-operations__grid{grid-template-columns:minmax(0,1fr)}.saltholmen-panel dl{grid-template-columns:repeat(3,1fr);display:grid}.saltholmen-panel dl>div{border-right:1px solid var(--border)}}@container (width<=680px){.traffic-operations__intro{flex-direction:column;align-items:flex-start}.traffic-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.traffic-kpis article:nth-child(2){border-right:0}.traffic-kpis article:nth-child(-n+2){border-bottom:1px solid var(--border)}.fleet-panel__toolbar{flex-wrap:wrap;align-items:stretch}.fleet-panel__toolbar label{flex:130px}.fleet-search input{width:100%}.saltholmen-panel dl{grid-template-columns:1fr}.saltholmen-panel dl>div{border-right:0}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#edf2ef;--ink:#edf2ef;--muted:#9fa9a3;--interactive-muted:#9fa9a3;--surface:#111614;--surface-alt:#19201d;--surface-raised:#222a27;--sidebar-surface:#151b19;--sidebar-heading-surface:#1b2320;--sidebar-trip-upcoming:#242d29;--registration-header:#090d0b;--registration-header-ink:#f4f7f5;--registration-header-muted:#aeb8b2;--registration-row-alternating:#79aaf00a;--registration-row-alternating-solid:#151c1d;--registration-row-hover:#202925;--registration-row-hover-solid:#202925;--border:#303a36;--border-strong:#56635d;--transition-divider:#73817a;--navy:#79aaf0;--danger:#ff8c84;--warning:#e4b86e;--success:#72d1a2;--focus:#8bb4ff;--action-primary-ink:#eef3f0;--action-primary-border:#53625b;--action-primary-surface:#2e3934;--action-primary-hover-ink:#fff;--action-primary-hover-border:#6a7b72;--action-primary-hover-surface:#394740;--canvas:#0c100f;--split-gutter-dot-color:#68726d;--split-gutter-dot-hover-color:#89948e;--status-success:#72d1a2;--status-pending:#e1b563;--status-danger:#ef7f76;--status-warning-soft:#2d2518;--status-danger-soft:#321d1c;scrollbar-color:#46534d #090d0b;background:#0c100f}:root[data-theme=dark]::-webkit-scrollbar{width:11px;height:11px}:root[data-theme=dark] body::-webkit-scrollbar{width:11px;height:11px}:root[data-theme=dark] ::-webkit-scrollbar{width:11px;height:11px}:root[data-theme=dark]::-webkit-scrollbar-track{background:#090d0b}:root[data-theme=dark] body::-webkit-scrollbar-track{background:#090d0b}:root[data-theme=dark] ::-webkit-scrollbar-track{background:#090d0b}:root[data-theme=dark]::-webkit-scrollbar-thumb{background:#46534d;border:2px solid #090d0b;border-radius:999px}:root[data-theme=dark] body::-webkit-scrollbar-thumb{background:#46534d;border:2px solid #090d0b;border-radius:999px}:root[data-theme=dark] ::-webkit-scrollbar-thumb{background:#46534d;border:2px solid #090d0b;border-radius:999px}:root[data-theme=dark]::-webkit-scrollbar-thumb:hover{background:#607068}:root[data-theme=dark] body::-webkit-scrollbar-thumb:hover{background:#607068}:root[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#607068}:root[data-theme=dark] body,:root[data-theme=dark] .app-shell{background:var(--surface)}:root[data-theme=dark] .topbar{border-bottom-color:var(--border-strong);background:#0e1311f5}:root[data-theme=dark] .settings-popover,:root[data-theme=dark] dialog,:root[data-theme=dark] .leaflet-popup-content-wrapper,:root[data-theme=dark] .leaflet-popup-tip,:root[data-theme=dark] .leaflet-tooltip{color:var(--ink);background:var(--surface-raised)}:root[data-theme=dark] .settings-popover,:root[data-theme=dark] dialog{box-shadow:0 20px 60px #0000008c}:root[data-theme=dark] .settings-theme select,:root[data-theme=dark] .field select,:root[data-theme=dark] .field input,:root[data-theme=dark] .number-input{color:var(--ink);background:var(--surface-alt)}:root[data-theme=dark] .settings-trigger:hover,:root[data-theme=dark] .settings-trigger:focus-visible,:root[data-theme=dark] .settings-trigger[aria-expanded=true],:root[data-theme=dark] .settings-actions button:hover,:root[data-theme=dark] .sidebar-trips-heading button:hover:not(:disabled),:root[data-theme=dark] .sidebar-trips-heading button[aria-pressed=true]{color:var(--ink);background:var(--surface-raised)}:root[data-theme=dark] .trip-button:not(.is-past-by-time){background:#ffffff09}:root[data-theme=dark] .trip-button:hover,:root[data-theme=dark] .trip-button.is-selected{background:var(--surface-raised)}:root[data-theme=dark] .trip-button.is-past-by-time strong,:root[data-theme=dark] .trip-button.is-past-by-time small,:root[data-theme=dark] .trip-group-label{color:var(--interactive-muted)}:root[data-theme=dark] .trip-button.has-error .trip-departure,:root[data-theme=dark] .trip-button.has-error .trip-line,:root[data-theme=dark] .trip-button.has-error small{color:#ffaaa4}:root[data-theme=dark] .workspace[data-layout=split] .trip-workspace .registration-column-header,:root[data-theme=dark] .trip-workspace .transition-stop-row,:root[data-theme=dark] .workspace[data-layout=split] .trip-workspace .transition-stop-row{background:var(--surface-alt)}:root[data-theme=dark] .workspace[data-layout=split] .trip-workspace .stop-row:not(.transition-stop-row):hover,:root[data-theme=dark] .stop-row:not(.transition-stop-row):hover td{background:#202925}:root[data-theme=dark] .remove-extra-stop:hover,:root[data-theme=dark] .remove-extra-stop:focus-visible{background:var(--status-danger-soft)}:root[data-theme=dark] .topbar-map-toggle[aria-pressed=true]{color:var(--registration-header-ink);border-color:var(--registration-header);background:var(--registration-header)}:root[data-theme=dark] .trip-reconciliation-label,:root[data-theme=dark] .toast,:root[data-theme=dark] .sidebar-clock.sidebar-time{color:#f4f7f5;background:#090d0b}:root[data-theme=dark] .sidebar-clock.sidebar-time{border-top-color:#27312d}:root[data-theme=dark] .trip-workspace .trip-header{border-color:#27312d}:root[data-theme=dark] .sidebar-time time,:root[data-theme=dark] .insert-row:hover button,:root[data-theme=dark] .insert-row button:focus-visible{color:#f4f7f5}:root[data-theme=dark] .trip-status-remaining-box{background:var(--surface-alt)}:root[data-theme=dark] .login-intro{background:#090d0b}:root[data-theme=dark] .login-brand{color:#090d0b;background:#f1f5f2}:root[data-theme=dark] .login-entry,:root[data-theme=dark] .login-dialog,:root[data-theme=dark] .login-dialog::backdrop{background:#101513}:root[data-theme=dark] .dialog-body.login-body{background:#19201d;box-shadow:0 28px 80px #0000007a}:root[data-theme=dark] .vessel-select-trigger,:root[data-theme=dark] .vessel-dropdown-menu,:root[data-theme=dark] .login-pin-input{color:var(--ink);background:var(--surface-raised)}:root[data-theme=dark] .vessel-select-trigger,:root[data-theme=dark] .login-pin-input{border-left-color:#dfe7e3;box-shadow:0 3px 12px #00000047}:root[data-theme=dark] .vessel-dropdown-option:hover,:root[data-theme=dark] .vessel-dropdown-option:focus{background:#2a3430}:root[data-theme=dark] .vessel-dropdown-option.is-selected{color:#b9d3ff;background:#1b2b42}:root[data-theme=dark] .vessel-check-icon{color:#7dd7aa}:root[data-theme=dark] .login-field.has-error .login-pin-input{background:var(--status-danger-soft)}:root[data-theme=dark] .field select:focus,:root[data-theme=dark] .field input:focus{color:var(--ink);background:var(--surface-raised)}:root[data-theme=dark] .split-reset{background-color:var(--surface-raised);box-shadow:0 4px 18px #0006}:root[data-theme=dark] .leaflet-tile-pane{filter:invert(.9)hue-rotate(175deg)brightness(.76)contrast(1.08)saturate(.7)}:root[data-theme=dark] .map-static-route-casing,:root[data-theme=dark] .map-tram-route-casing{display:none}:root[data-theme=dark] .leaflet-map,:root[data-theme=dark] .map-stage,:root[data-theme=dark] .map-panel{background:#0b1113}:root[data-theme=dark] .leaflet-bar{border-color:var(--border-strong);background:var(--surface-raised)}:root[data-theme=dark] .leaflet-bar a,:root[data-theme=dark] .leaflet-control-attribution,:root[data-theme=dark] .map-load-status{color:var(--ink);border-color:var(--border);background:#181f1deb}:root[data-theme=dark] .map-load-status.is-error{border-color:var(--danger)}:root[data-theme=dark] .leaflet-bar a:hover{background:#2b3531}:root[data-theme=dark] .leaflet-control-attribution a{color:#9bc3ff}:root[data-theme=dark] dialog::backdrop,:root[data-theme=dark] .sidebar-backdrop.is-active{background:#030605b8}:root[data-theme=dark] ::selection{color:#08100c;background:#9bc3ff}
