.traffic-day-banner{z-index:var(--layer-toast);color:var(--ink);grid-area:1/1/auto/-1;position:sticky;top:0}.traffic-day-banner .day-lock-banner.is-combined{--day-lock-action:var(--danger);--day-lock-button-surface:color-mix(in srgb, var(--surface-raised) 75%, var(--status-danger-soft));width:100%;min-height:48px;color:var(--ink-inverse);background:var(--day-lock-action);border:0;align-items:center;gap:12px;margin:0;padding:6px 20px;display:flex}.traffic-day-banner .day-lock-banner.is-combined.is-unlocked{--day-lock-action:var(--success);--day-lock-button-surface:color-mix(in srgb, var(--surface-raised) 75%, var(--status-success-soft));background:var(--day-lock-action)}:root[data-theme=dark] .traffic-day-banner .day-lock-banner.is-combined{--day-lock-action:var(--action-danger-surface)}:root[data-theme=dark] .traffic-day-banner .day-lock-banner.is-combined.is-unlocked{--day-lock-action:color-mix(in srgb, var(--success) 40%, #000)}.traffic-day-banner .day-lock-status{gap:8px}.traffic-day-banner .day-lock-icon{width:28px;height:28px;color:var(--ink-inverse);background:color-mix(in srgb, var(--ink-inverse) 16%, transparent)}.traffic-day-banner .day-lock-pill{width:auto;height:auto;min-height:28px;color:var(--ink-inverse);background:color-mix(in srgb, var(--ink-inverse) 16%, transparent);white-space:nowrap;border:0;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:550;line-height:1.25;display:inline-flex}.traffic-day-banner .day-lock-pill svg{flex:0 0 16px;width:16px;height:16px}.traffic-day-banner .day-lock-toggle:hover:not(:disabled){background:color-mix(in srgb, var(--ink-inverse) 24%, transparent)}.traffic-day-banner .day-lock-content{gap:0}.traffic-day-banner .day-lock-content small{line-height:1.25}.traffic-day-banner .day-lock-content :is(strong,span,small){color:var(--ink-inverse)}.traffic-day-banner .day-lock-heading strong{font-size:.8125rem;font-weight:600}.traffic-day-banner .day-lock-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.traffic-day-banner .day-lock-actions .app-button{--control-height-compact:38px;--app-button-ink:var(--ink);--app-button-border:transparent;--app-button-surface:var(--day-lock-button-surface);--app-button-hover-ink:var(--ink);--app-button-hover-border:transparent;--app-button-hover-surface:color-mix(in srgb, var(--day-lock-action) 8%, var(--surface-raised));border-color:var(--app-button-border);min-height:38px;color:var(--app-button-ink);background:var(--app-button-surface);border-radius:8px;gap:7px;padding-inline:12px;font-size:.75rem;font-weight:550}.traffic-day-banner .day-lock-actions .app-button:hover:not(:disabled){border-color:var(--app-button-hover-border);color:var(--app-button-hover-ink);background:var(--app-button-hover-surface)}.traffic-day-banner .day-lock-date .marked-date__trigger{white-space:nowrap;align-items:center;gap:7px;display:flex}.traffic-day-banner .day-lock-date strong{font:inherit}.traffic-day-banner .day-lock-actions svg{width:15px;height:15px}.marked-date__days [aria-current=date]{text-underline-offset:4px;text-decoration:underline}.app-shell.has-traffic-day-banner:not(.is-login-only){grid-template-rows:auto minmax(0,1fr)}.has-traffic-day-banner>.app-navigation,.has-traffic-day-banner>.app-frame{grid-row:2}.has-traffic-day-banner>.app-navigation{top:var(--traffic-day-banner-height)}@media (width<=760px){.traffic-day-banner .day-lock-banner.is-combined{flex-wrap:wrap;gap:6px 8px;padding:8px 12px}.traffic-day-banner .day-lock-actions{width:100%}.app-shell.has-traffic-day-banner:not(.is-login-only){grid-template-rows:auto var(--topbar-height) minmax(0, 1fr)}.has-traffic-day-banner>.mobile-app-topbar{grid-row:2}.has-traffic-day-banner>.app-frame{grid-row:3}}@media (pointer:coarse){.traffic-day-banner .day-lock-toggle{min-height:44px}.traffic-day-banner .day-lock-actions .app-button{--control-height-compact:44px;min-height:44px}}@media print{.traffic-day-banner{display:none}}.app-shell-banners{min-width:0;z-index:calc(var(--layer-toast) + 1);grid-area:1/1/auto/-1;align-self:start;position:sticky;top:0}.app-shell-banners:empty{display:none}.vessel-message-banner{--message-surface:#7fb8cb;--message-ink:#122b36;min-height:36px;color:var(--message-ink);background:var(--message-surface);padding:7px 56px 7px 20px;position:relative}.vessel-message-banner[data-tone=warning]{--message-surface:#e0b88d;--message-ink:#382918}.vessel-message-banner[data-tone=error]{--message-surface:color-mix(in srgb, var(--danger) 90%, #000);--message-ink:var(--ink-inverse)}:root[data-theme=dark] .vessel-message-banner[data-tone=error]{--message-surface:color-mix(in srgb, var(--action-danger-surface) 90%, #000)}.vessel-message-banner__content,.vessel-message-banner__copy{align-items:center;gap:10px;min-width:0;display:flex}.vessel-message-banner__content{flex-wrap:wrap;justify-content:space-between}.vessel-message-banner__copy{flex:300px;gap:8px}.vessel-message-banner__status{background:color-mix(in srgb, var(--message-ink) 16%, transparent);border-radius:999px;flex:none;align-items:center;gap:6px;min-height:28px;padding:4px 10px;display:inline-flex}.vessel-message-banner__status strong{white-space:nowrap;font-size:.75rem;font-weight:550;line-height:1.25}.vessel-message-banner__copy svg{flex:0 0 16px;width:16px;height:16px}.vessel-message-banner__copy p{margin:0;font-size:.75rem;line-height:1.5}.vessel-message-banner__toggle,.vessel-message-banner__action{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:0}.vessel-message-banner__action{text-underline-offset:3px;min-height:28px;padding:0 6px;font-size:.75rem;font-weight:650;text-decoration:underline}.vessel-message-banner__toggle{place-items:center;width:36px;height:36px;display:grid;position:absolute;top:0;right:12px}.vessel-message-banner__toggle svg{width:20px;height:20px}.vessel-message-banner:not(.is-collapsed) .vessel-message-banner__toggle{background:radial-gradient(circle 14px, color-mix(in srgb, var(--ink-inverse) 16%, transparent) 98%, transparent 100%);border-radius:50%;top:50%;transform:translateY(-50%)}.vessel-message-banner:not(.is-collapsed) .vessel-message-banner__toggle svg{width:16px;height:16px}.vessel-message-banner:not(.is-collapsed) .vessel-message-banner__toggle:hover{background:radial-gradient(circle 14px, color-mix(in srgb, var(--ink-inverse) 24%, transparent) 98%, transparent 100%)}.vessel-message-banner__toggle:hover,.vessel-message-banner__action:hover{background:#00000014}.vessel-message-banner button:focus-visible{outline-offset:-3px;outline:2px solid}.vessel-message-banner.is-collapsed{height:4px;min-height:0;padding:0}.vessel-message-banner.is-collapsed .vessel-message-banner__toggle{background:var(--message-surface);border-radius:0 0 4px 4px;height:28px}@media (width<=760px){.vessel-message-banner{min-height:44px;padding:10px 54px 10px 12px}.vessel-message-banner__toggle{width:44px;height:44px;right:4px}.vessel-message-banner.is-collapsed .vessel-message-banner__toggle{height:36px}}@media print{.app-shell-banners{display:none}}@layer tokens{@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/InterVariable-DiVDrmQJ.woff2)format("woff2")}:root{--font-family-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-family-sans);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:#f2f2f0;--accent:#2f80d8;--accent-strong:#2368ad;--accent-hover:#1d5d9f;--accent-soft:#acd3f6;--registration-header-ink:var(--ink);--registration-header-muted:var(--muted);--registration-row-base:var(--surface);--registration-row-alternating:#243d6305;--registration-row-alternating-solid:#f7f7f6;--registration-header:var(--registration-row-alternating-solid);--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:#2666f5;--keyboard-focus-ring:#adc6ef;--metric-accent:#174eaf;--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);--control-selected-ink:var(--action-primary-ink);--control-selected-border:var(--action-primary-border);--control-selected-surface:var(--action-primary-surface);--navigation-active-ink:var(--ink-inverse);--navigation-active-surface:var(--ink);--operational-surface:#151615;--operational-surface-raised:#2f302f;--operational-ink:#fff;--operational-muted:#ffffffa8;--operational-border:#ffffff2e;--canvas:var(--surface-alt);--status-success:#67c98f;--status-pending:#d5a247;--status-danger:#d7655c;--status-success-soft:#eaf6ee;--status-warning-soft:#fff7e7;--status-danger-soft:#fff0ee;--map-stop-marker:#588ab5;--map-stop-marker-ring:color-mix(in srgb, var(--map-stop-marker) 24%, transparent);--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-dialog:1200;--layer-toast:1300;--layer-tooltip:1500;background:#ecece9}}@layer base{*{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}}@layer components{.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)}.app-button{--app-button-ink:var(--ink);--app-button-border:color-mix(in srgb, var(--ink) 24%, transparent);--app-button-surface:var(--surface-raised);--app-button-hover-ink:var(--ink);--app-button-hover-border:color-mix(in srgb, var(--ink) 42%, transparent);--app-button-hover-surface:var(--surface-alt);min-height:var(--control-height-compact);border:1px solid var(--app-button-border);border-radius:var(--control-radius);color:var(--app-button-ink);background:var(--app-button-surface);letter-spacing:0;white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:7px 14px;font-size:.78rem;font-weight:620;line-height:1;text-decoration:none;transition:color .15s,border-color .15s,background-color .15s,box-shadow .15s,opacity .15s;display:inline-flex}.app-button:hover:not(:disabled){color:var(--app-button-hover-ink);border-color:var(--app-button-hover-border);background:var(--app-button-hover-surface)}.app-button:focus-visible{border-color:var(--app-button-hover-border);outline:none;box-shadow:0 0 0 3px #1414141f}.app-button:disabled{opacity:.5}.app-button[aria-disabled=true]{opacity:.5;pointer-events:none}.app-button.is-primary{--app-button-ink:var(--ink-inverse);--app-button-border:var(--ink);--app-button-surface:var(--ink);--app-button-hover-ink:var(--ink-inverse);--app-button-hover-border:color-mix(in srgb, var(--ink) 92%, var(--surface-raised));--app-button-hover-surface:color-mix(in srgb, var(--ink) 86%, var(--surface-raised))}.app-button.is-danger{--app-button-ink:var(--ink-inverse);--app-button-border:var(--danger);--app-button-surface:var(--danger);--app-button-hover-ink:var(--ink-inverse);--app-button-hover-border:#86170f;--app-button-hover-surface:#86170f}.app-button.is-danger[aria-expanded=true]{--app-button-border:#86170f;--app-button-surface:#86170f}.app-button.is-ghost{--app-button-border:color-mix(in srgb, var(--ink) 10%, transparent);--app-button-surface:color-mix(in srgb, var(--ink) 5%, var(--surface-raised));--app-button-hover-border:color-mix(in srgb, var(--ink) 28%, transparent);--app-button-hover-surface:color-mix(in srgb, var(--ink) 10%, var(--surface-raised))}.app-button.is-view-toggle{--app-button-ink:var(--control-selected-ink);--app-button-border:var(--control-selected-border);--app-button-surface:var(--control-selected-surface);--app-button-hover-ink:var(--ink-inverse);--app-button-hover-border:var(--accent);--app-button-hover-surface:var(--accent)}.app-button.is-view-toggle[aria-pressed=true]{--app-button-border:var(--accent);--app-button-surface:var(--accent)}.app-button.is-icon-only{width:var(--control-height-compact);flex:0 0 var(--control-height-compact);padding:0}.app-button svg{flex:0 0 16px;width:16px;height:16px}.app-button__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite app-button-spin}@keyframes app-button-spin{to{transform:rotate(360deg)}}.field{letter-spacing:.03em;gap:7px;margin:18px 0;font-size:.73rem;font-weight:550;display:grid}.field input:not(.app-control){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 input:not(.app-control):focus{border-color:var(--ink);background:var(--surface-raised)}.app-dropdown{width:100%;position:relative}.app-control{width:100%;height:var(--control-height-compact);min-height:var(--control-height-compact);border:1px solid color-mix(in srgb, var(--ink) 20%, transparent);border-radius:var(--control-radius);color:var(--ink);background:color-mix(in srgb, var(--ink) 4%, var(--surface-raised));font:inherit;letter-spacing:0;font-size:.78rem;font-weight:620;transition:border-color .15s,box-shadow .15s}.app-dropdown__trigger{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px 7px 12px;display:flex}.field .app-control{padding:7px 12px}.app-control:hover:not(:disabled),.app-control:focus-visible{border-color:var(--ink);background:color-mix(in srgb, var(--ink) 4%, var(--surface-raised));box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 25%, transparent);outline:none}.field .app-control::placeholder{color:var(--muted);opacity:1;font-weight:560}.app-dropdown__trigger-info,.app-dropdown__option-info{align-items:center;min-width:0;display:flex}.app-dropdown__trigger-label,.app-dropdown__option-label{color:inherit;font-size:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-dropdown__option-label{font-weight:600}.app-dropdown__chevron,.app-dropdown__check,.dock-combobox-check-icon{flex:0 0 14px;width:14px;height:14px}.app-dropdown__chevron{color:var(--muted);transition:transform .18s}.app-dropdown.is-open .app-dropdown__chevron{transform:rotate(180deg)}.app-dropdown__menu{max-height:240px;z-index:var(--layer-toast);position:fixed;overflow-y:auto}.app-dropdown__menu.is-short-list{overflow-y:visible}.app-dropdown__menu.is-short-list .app-dropdown__option-label{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;overflow:visible}dialog .app-dropdown__menu{position:absolute;width:100%!important;max-height:240px!important;top:calc(100% + 6px)!important;left:0!important}dialog .app-dropdown__menu.opens-above{bottom:calc(100% + 6px);top:auto!important}.app-dropdown__menu,.dock-combobox-options{border:1px solid var(--border);color:var(--ink);background:var(--surface-raised);border-radius:7px;padding:6px;box-shadow:0 10px 30px #00000024,0 2px 6px #0000000a}.app-dropdown__option{border-radius:calc(var(--control-radius) + 3px);width:100%;min-height:36px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:.78rem;transition:background-color .12s;display:flex}.app-dropdown__option:hover,.app-dropdown__option:focus,.dock-combobox-options>button.is-highlighted,.dock-combobox-options>button:hover{background:var(--surface-alt)}.app-dropdown__option.is-selected,.dock-combobox-options>button.is-selected{color:var(--ink-inverse);background:var(--accent-strong)}.app-dropdown__check,.dock-combobox-check-icon{color:currentColor}.app-dropdown__trigger.is-placeholder .app-dropdown__trigger-label{color:var(--muted);font-weight:560}.app-dropdown__trigger:disabled{cursor:not-allowed;opacity:.58}.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 input:not(.app-control):hover{border-color:var(--border-strong)}.button,.text-button,.field input{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}}.app-tooltip{width:max-content;max-width:min(320px,100vw - 16px);z-index:var(--layer-tooltip);border-radius:var(--control-radius);color:#fff;letter-spacing:0;text-align:left;white-space:pre-line;visibility:hidden;opacity:0;pointer-events:none;background:#101010;padding:7px 9px;font-size:.7rem;font-weight:560;line-height:1.25;transition:opacity .12s,visibility 0s linear .12s;position:fixed;box-shadow:0 5px 16px #10101029}.app-tooltip.is-positioned{visibility:visible;opacity:1;transition-delay:0s}.app-tooltip:before{content:"";border:5px solid #0000;width:0;height:0;position:absolute}.app-tooltip.is-bottom:before{bottom:100%;left:var(--app-tooltip-arrow-x,50%);border-top:0;border-bottom-color:#101010;transform:translate(-50%)}.app-tooltip.is-top:before{top:100%;left:var(--app-tooltip-arrow-x,50%);border-top-color:#101010;border-bottom:0;transform:translate(-50%)}.app-tooltip.is-right:before{top:var(--app-tooltip-arrow-y,50%);border-left:0;border-right-color:#101010;right:100%;transform:translateY(-50%)}.app-tooltip.is-left:before{top:var(--app-tooltip-arrow-y,50%);border-left-color:#101010;border-right:0;left:100%;transform:translateY(-50%)}.sidebar{width:var(--sidebar-panel-width);border-right:1px solid var(--border);border-right-color:var(--border);background:var(--sidebar-surface);flex-direction:column;height:100%;min-height:0;padding:0 20px 24px;display:flex;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 34px 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-state{border:1px solid var(--border-strong);z-index:4;background:var(--sidebar-trip-upcoming);color:#0000;border-radius:50%;justify-self:center;place-items:center;width:10px;height:10px;margin:6px 0 0;font-size:0;display:grid}.trip-button.is-expected .trip-state{color:var(--ink-inverse);border-color:var(--accent);background:var(--accent)}.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}.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}.trip-group{display:grid;position:relative}.trip-group.is-past:before{content:"";z-index:3;background:var(--accent-strong);pointer-events:none;width:2px;position:absolute;top:28px;bottom:0;left:26px}.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:"";z-index:2;background:var(--border-strong);opacity:.55;width:1px;position:absolute;top:0;bottom:0;left:26px}.trip-group.is-upcoming .trip-button{background:var(--sidebar-trip-upcoming)}.trip-button:hover{background:var(--surface-raised)}.trip-copy{z-index:4;min-width:0;display:block;position:relative}.trip-button.is-past-by-time{color:var(--interactive-muted);background:color-mix(in srgb, var(--sidebar-surface) 92%, 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 .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(--accent);border-color:var(--accent);background:var(--accent)}.trip-button.is-past-by-time strong,.trip-button.is-past-by-time small{color:var(--interactive-muted)}.trip-group.is-past .trip-button:not(.is-selected):before{display:none}.trip-button.is-selected:before{background:var(--accent-strong);opacity:1;width:2px}.trip-group-label.is-past,.trip-group-label.is-now{position:relative}.trip-group-label.is-past{color:var(--ink);background:color-mix(in srgb, var(--sidebar-surface) 86%, var(--ink) 14%)}.trip-group-label.is-now{color:var(--ink-inverse);background:var(--accent)}.trip-button.is-expected:before{background:linear-gradient(to bottom, var(--accent-strong) 0 21px, var(--border-strong) 21px 100%);opacity:1;width:2px}.trip-button.is-selected,.trip-button.is-selected:hover{color:var(--ink);background:var(--accent-soft);box-shadow:none}.trip-button.is-selected:not(.has-error) .trip-departure{color:var(--ink)}.trip-button.is-selected:not(.has-error) :is(.trip-line,small){color:var(--muted)}.trip-button.is-selected .trip-state{border-width:2px;border-color:var(--accent);width:12px;height:12px;box-shadow:none;background:#fff;margin-top:5px}.trip-group.is-now .trip-button:not(.has-error,.is-selected){background:var(--surface-raised)}.trip-button.has-error.is-selected .trip-state{border-color:var(--status-danger);background:var(--status-danger)}.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}.app-shell.is-vessel-shell .sidebar{--sidebar-surface:var(--vessel-context-surface);--sidebar-heading-surface:color-mix(in srgb, var(--sidebar-surface) 92%, var(--ink) 8%);--sidebar-trip-idle:transparent;--sidebar-trip-active:var(--accent-strong);--sidebar-trip-hover:color-mix(in srgb, var(--accent) 14%, var(--surface-raised));background:var(--sidebar-surface)}.app-shell.is-vessel-shell .trips{scrollbar-gutter:auto;scrollbar-width:none;padding-inline:12px}.app-shell.is-vessel-shell .trips::-webkit-scrollbar{display:none}.trip-list-scroll-frame{isolation:isolate;flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.trip-list-scroll-frame>.trips{min-height:0;margin:0;display:block;overflow-y:auto}.trip-list-content{align-content:start;transition-property:none;display:grid}.trip-list-scroll-frame.has-scroll-controls{--trip-scroll-edge-height:44px}.trip-list-scroll-frame>.trips:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.trip-list-scroll-edge{flex:0 0 var(--trip-scroll-edge-height);z-index:6;background:var(--sidebar-surface);grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:center;padding-inline:12px;display:grid}.trip-list-scroll-button{width:100%;height:44px;color:var(--ink);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-area:1/1/auto/-1;justify-content:center;align-items:center;padding:6px;font-size:.75rem;font-weight:600;display:flex}.trip-list-scroll-button svg{width:20px;height:20px}.trip-list-scroll-button:hover:not(:disabled){background:var(--surface-alt)}@media (width<=760px){.app-shell.is-vessel-shell .trips,.trip-list-scroll-edge{padding-inline:12px}}.app-shell.is-vessel-shell .sidebar .trip-button{background:0 0;grid-template-columns:34px minmax(0,1fr)}.app-shell.is-vessel-shell .sidebar .trip-button:hover{background:var(--sidebar-trip-hover)}.app-shell.is-vessel-shell .trip-button{border-bottom:0;border-radius:10px}.app-shell.is-vessel-shell .trip-button:before,.app-shell.is-vessel-shell .trip-group:before,.app-shell.is-vessel-shell .trip-state{display:none}.trip-identifiers{flex-direction:column;align-items:center;display:flex}.trip-line-badge{background:var(--accent-strong);min-width:32px;min-height:23px;color:var(--ink-inverse);border-radius:6px;flex:none;justify-content:center;align-items:center;padding:3px 6px;font-size:.7rem;font-weight:700;line-height:1.2;display:inline-flex}.app-shell.is-vessel-shell .trip-button.is-selected .trip-line-badge{background:var(--ink-inverse);color:var(--accent-strong)}.app-shell.is-vessel-shell .trip-button.has-error .trip-line-badge{background:var(--action-danger-surface,var(--danger));color:var(--ink-inverse)}.app-shell.is-vessel-shell .trip-button .trip-title-row{flex-wrap:wrap}.app-shell.is-vessel-shell .trip-button .trip-departure{white-space:nowrap;flex:none;font-weight:650}.app-shell.is-vessel-shell .trip-button .trip-line{font-weight:400}.app-shell.is-vessel-shell .trip-group-label{z-index:4;background:var(--sidebar-heading-surface);letter-spacing:.1em;border-radius:10px;align-items:center;min-height:32px;margin:8px 0 6px;padding-block:8px;font-weight:600;position:relative}.app-shell.is-vessel-shell .sidebar .trip-button.is-selected{background:var(--sidebar-trip-active);box-shadow:none}.app-shell.is-vessel-shell .trip-button.is-selected strong{font-weight:750}.app-shell.is-vessel-shell .trip-button.is-selected small{font-weight:600}.mobile-trip-list-heading,.mobile-trip-list-backdrop{display:none}@media (width<=960px){.shell .sidebar{top:var(--topbar-height);width:min(276px,85vw);z-index:var(--layer-navigation);background:var(--surface-alt);height:100%;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){.shell .sidebar{border-right:1px solid var(--border);background:var(--sidebar-surface);border-bottom:0;padding:0 16px 16px}.mobile-trip-list-heading{border-bottom:1px solid var(--border);background:var(--surface-raised);justify-content:space-between;align-items:center;gap:12px;min-height:60px;margin-inline:-16px;padding:8px 10px 8px 16px;display:flex}.mobile-trip-list-heading>div{gap:2px;min-width:0;display:grid}.mobile-trip-list-heading span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.62rem;font-weight:700}.mobile-trip-list-heading strong{font-size:1rem}.mobile-trip-list-heading .app-button{border:1px solid var(--border);border-radius:var(--control-radius);width:44px;height:44px;color:var(--ink);background:var(--surface);cursor:pointer;place-items:center;padding:0;display:grid}.mobile-trip-list-heading .app-button svg{width:19px;height:19px}.mobile-trip-list-backdrop{z-index:calc(var(--layer-navigation) + 1);inset:var(--topbar-height) 0 0;opacity:0;visibility:hidden;pointer-events:none;background:#0000005c;border:0;padding:0;transition:opacity .18s,visibility .18s step-end;display:block;position:fixed}.registration-layout.is-mobile-trip-list-open>.mobile-trip-list-backdrop{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .18s,visibility step-start}.sidebar-clock.sidebar-time{display:none}.trips{scrollbar-gutter:stable;grid-template-columns:repeat(auto-fit,minmax(186px,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,.trip-group.is-past:before{left:22px}}@media (width>=761px){.shell.is-pax-expanded .sidebar{border-right:0}.shell.is-pax-expanded .trips{border-right:1px solid var(--border)}.shell.is-pax-expanded .trip-group-label{font-size:var(--text-xs);padding-inline:14px}.shell.is-pax-expanded .trip-button{grid-template-columns:14px minmax(0,1fr);min-height:60px;padding:9px 14px}.shell.is-pax-expanded .trip-button:before,.shell.is-pax-expanded .trip-group.is-past:before{left:20px}.shell.is-pax-expanded .trip-departure{flex-basis:38px;font-size:.84rem}.shell.is-pax-expanded .trip-line,.shell.is-pax-expanded .trip-button small{font-size:.65rem}}@media (prefers-reduced-motion:no-preference){.sidebar{transition:transform .28s cubic-bezier(.22,.8,.25,1),opacity .18s,color .18s,background-color .18s,border-color .18s}}@media (prefers-reduced-motion:reduce){.mobile-trip-list-backdrop{transition:none}}.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;width:max-content;margin:0 auto;font-size:2.15rem;font-weight:620;line-height:1;display:block;position:relative}.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}.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}.sync-status{--sync-status-color:var(--status-success);--sync-status-halo-opacity:13%;font:inherit;border-radius:var(--control-radius);cursor:pointer;background:0 0;border:0;place-items:center;width:20px;height:38px;padding:0;display:grid;position:relative}.sync-dot{background:var(--sync-status-color);width:9px;height:9px;box-shadow:0 0 0 3px color-mix(in srgb, var(--sync-status-color) var(--sync-status-halo-opacity), transparent);border-radius:50%;transition:background-color .16s,box-shadow .16s,opacity .16s}.sync-status.is-saving{--sync-status-color:var(--status-pending)}.sync-status.is-saving .sync-dot{transition-delay:.2s}.sync-status.is-offline{--sync-status-color:var(--status-danger)}.sync-status.is-conflict{--sync-status-color:#b23b4a;--sync-status-halo-opacity:18%}.sync-status.is-storage-failure{--sync-status-color:var(--status-danger);--sync-status-halo-opacity:18%}.sync-count{color:#fff;min-width:14px;height:14px;font-size:var(--text-xs);border-radius:999px;place-items:center;padding:0 3px;font-weight:800;line-height:1;display:grid;position:absolute;top:5px;right:5px}.sync-count.is-pending{background:var(--status-pending);opacity:0;animation:0s linear .2s forwards reveal-pending-sync-count}.sync-count.is-alert{background:#9c3543}@keyframes reveal-pending-sync-count{to{opacity:1}}.trip-header-sync{border:0;border-radius:50%;align-self:center;width:38px;height:38px;margin:0 8px 0 0;transition:background-color .15s}.trip-header-sync:hover,.trip-header-sync:focus-visible{background:color-mix(in srgb, var(--registration-header-ink) 10%, var(--registration-header))}.app-shell.is-vessel-shell .trip-header-sync:hover,.app-shell.is-vessel-shell .trip-header-sync:focus-visible{background:color-mix(in srgb, var(--sync-status-color) 14%, var(--registration-header))}.trip-header-sync:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.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-floating);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 .app-button{flex:none}@media (width<=520px){.sync-storage-incident{flex-direction:column;align-items:stretch}}.system-status-dialog{width:min(760px,100vw - 24px);max-height:min(92vh,900px)}.system-status-body{gap:16px;display:grid}.system-status-summary{color:var(--success);background:var(--status-success-soft);border-left:4px solid var(--success,#17844c);justify-content:space-between;gap:12px;padding:12px 14px;display:flex}.system-status-summary.is-offline,.system-status-summary.is-error,.system-status-summary.is-conflict{color:var(--danger);background:var(--status-danger-soft);border-color:var(--danger)}.system-status-grid{border:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.system-status-grid div{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-width:0;padding:10px 12px}.system-status-grid dt{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}.system-status-grid dd{overflow-wrap:anywhere;margin:4px 0 0}.backup-section{border-top:1px solid var(--border);gap:10px;padding-top:12px;display:grid}.backup-section h3,.backup-section p{margin:0}.backup-actions{flex-wrap:wrap;gap:8px;display:flex}.backup-recommendation,.backup-preview{background:var(--status-warning-soft,#fff5db);padding:10px 12px}.backup-preview{gap:6px;display:grid}@media (width<=760px){.system-status-grid{grid-template-columns:1fr}}.support-trigger>span{pointer-events:none;place-items:center;display:grid}.support-unread-badge{color:#fff;background:var(--danger);pointer-events:none;border-radius:999px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:.65rem;font-weight:700;line-height:1;display:grid;position:absolute;top:5px;left:calc(50% + 4px)}.support-dialog{width:min(1100px,100vw - 24px);height:min(820px,100vh - 24px);padding:0;overflow:hidden}.support-dialog.is-page{background:0 0;border:0;border-radius:0;max-width:none;max-height:none;margin:0}.support-discard-confirmation{z-index:calc(var(--layer-dialog) + 3);background:#0c12187a;place-items:center;display:grid;position:absolute;inset:0}.support-discard-confirmation>div{border:1px solid var(--border);border-radius:var(--panel-radius);background:var(--surface-raised);width:min(420px,100% - 32px);box-shadow:var(--shadow-floating);padding:22px}.support-discard-confirmation h3{margin:4px 0 8px}.support-discard-confirmation p:not(.eyebrow){color:var(--muted);margin:0;line-height:1.5}.support-discard-confirmation>div>div{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.support-shell{grid-template-columns:minmax(260px,34%) 1fr;height:100%;display:grid}.support-dialog.is-page.is-empty-list:not(.has-thread) .support-shell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.support-dialog.is-page.is-empty-list:not(.has-thread) .support-list{border-right:0;border-bottom:1px solid var(--border);background:var(--surface-raised);overflow:visible}.support-dialog.is-page.is-empty-list:not(.has-thread) .support-list>header{justify-content:space-between;align-items:center;padding:22px clamp(24px,4vw,52px);display:flex}.support-list{border-right:1px solid var(--border);background:var(--surface-alt);overflow:auto}.support-list>header,.support-filters{gap:8px;padding:18px;display:grid}.support-list>header .eyebrow{margin-bottom:10px}.support-byline{overflow-wrap:anywhere;color:var(--focus);letter-spacing:.045em;margin:0 0 -4px;font-size:.73rem;font-weight:680}.support-list h2,.support-thread h3{margin:0}.support-list h2{letter-spacing:-.025em;font-size:1.55rem;font-weight:470}.support-ticket-row{border:0;border-top:1px solid var(--border);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;gap:10px;padding:13px 16px;display:flex}.support-ticket-row.active{background:var(--surface-raised)}.support-ticket-row i{background:var(--danger);border-radius:50%;width:8px;height:8px;margin-top:5px}.support-ticket-row span{gap:4px;min-width:0;display:grid}.support-ticket-row strong,.support-ticket-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.support-ticket-row small{color:var(--muted)}.support-offline{background:var(--status-warning-soft,#fff5db);margin:8px 16px;padding:10px}.support-thread{grid-template-rows:auto 1fr auto;min-width:0;display:grid;overflow:hidden}.support-thread-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.support-admin-state{justify-items:end;gap:6px;display:grid}.support-planned-version{gap:6px;display:flex}.support-planned-version input:not(.app-control),.support-admin-state select{border:1px solid var(--border);background:var(--surface-raised);min-width:180px;color:inherit;padding:8px}.support-messages{flex-direction:column;gap:12px;padding:18px 22px;display:flex;overflow:auto}.support-messages article{border:1px solid var(--border);background:var(--surface-alt);border-radius:8px;width:min(88%,680px);padding:12px 14px}.support-messages article.is-vessel-message{align-self:flex-start}.support-messages article.is-support-message{border-color:color-mix(in srgb, var(--focus) 35%, var(--border));background:color-mix(in srgb, var(--focus) 7%, var(--surface-raised));align-self:flex-end}.support-messages article.internal{background:var(--status-warning-soft,#fff5db);border-style:dashed}.support-messages article header{justify-content:space-between;gap:12px;display:flex}.support-messages article header em{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-left:5px;font-size:.65rem;font-style:normal;font-weight:600}.support-messages article p{white-space:pre-wrap}.support-messages img{max-width:100%;max-height:320px}.support-reply,.support-compose{gap:10px;padding:18px 22px;display:grid}.support-reply{border-top:1px solid var(--border);background:var(--surface-raised)}.support-compose{grid-row:1/-1;align-content:start;overflow-y:auto}.support-compose-heading{margin-bottom:6px}.support-compose-heading p{color:var(--muted);margin:5px 0 0;font-size:.82rem}.support-compose label{gap:5px;display:grid}.support-compose input:not(.app-control),.support-compose textarea,.support-compose select,.support-reply textarea,.support-filters input:not(.app-control),.support-filters select{border:1px solid var(--border);background:var(--surface-raised);width:100%;color:inherit;padding:9px}.support-compose .check,.support-reply .check{align-items:center;gap:7px;font-size:.78rem;display:flex}.support-compose .check input,.support-reply .check input{width:16px;height:16px}.support-system-information{border-block:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.support-system-information details{font-size:.75rem;position:relative}.support-system-information summary{color:var(--focus);cursor:pointer}.support-system-information pre{width:min(480px,70vw);max-height:240px;z-index:var(--layer-popover);border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-subtle);white-space:pre-wrap;margin:8px 0 0;padding:10px;font-size:.68rem;position:absolute;right:0;overflow:auto}.support-attachment-field{gap:7px;display:grid}.support-attachment-field>span{font-size:.78rem;font-weight:600}.support-image-button{width:fit-content}.support-image-button svg{width:15px;height:15px}.support-attachment-preview{border:1px solid var(--border);border-radius:var(--control-radius);background:var(--surface-alt);grid-template-columns:54px minmax(0,1fr) auto 38px;align-items:center;gap:10px;min-width:0;padding:8px;display:grid}.support-attachment-preview img{object-fit:cover;border-radius:calc(var(--control-radius) - 2px);width:54px;height:42px}.support-attachment-preview>span{gap:3px;min-width:0;display:grid}.support-attachment-preview strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.support-attachment-preview small{color:var(--muted);font-size:.68rem}.support-submit-row{justify-content:flex-end;display:flex}.support-submit-row .app-button{min-width:150px}.support-reply-options,.support-reply-actions{align-items:center;gap:12px;display:flex}.support-reply-options{flex-wrap:wrap}.support-reply-actions>.app-button.is-primary{min-width:130px;margin-left:auto}.support-reply-attachment{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.support-reply-attachment .app-button{margin-left:4px}.support-empty{border:1px solid var(--border);border-radius:var(--panel-radius);background:var(--surface-raised);width:min(620px,100% - 48px);margin:auto;padding:clamp(30px,5vw,56px)}.support-empty h3{margin:0 0 16px;font-size:clamp(1.5rem,3vw,2.2rem)}.support-empty>p:not(.eyebrow){color:var(--muted);line-height:1.6}.support-empty__steps{border-block:1px solid var(--border);color:var(--muted);margin:18px 0;padding:14px 0 14px 24px;font-size:.78rem}.support-empty__steps li+li{margin-top:10px}.support-empty__steps li::marker{color:var(--ink);font-weight:700}.support-mobile-back{display:none}@media (width<=760px){.support-shell{grid-template-columns:1fr}.support-dialog:not(.has-thread) .support-thread,.support-dialog.has-thread .support-list{display:none}.support-mobile-back{display:inline-flex}.support-thread-header{flex-direction:column;align-items:stretch}.support-admin-state{justify-items:stretch}.support-messages article{width:100%}.support-system-information,.support-reply-actions{flex-direction:column;align-items:stretch}.support-system-information pre{left:0;right:auto}.support-attachment-preview{grid-template-columns:48px minmax(0,1fr) 38px}.support-attachment-preview>.app-button{grid-area:2/2/auto/-1}.support-reply-actions>.app-button.is-primary{width:100%;margin-left:0}.support-empty{width:calc(100% - 24px);padding:24px}}.support-dialog{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}dialog.support-dialog:not([open]){display:none}.support-dialog.is-page{width:100%;height:var(--support-available-height,calc(100dvh - 100px));border:1px solid var(--border);border-radius:var(--panel-radius);background:var(--surface);min-height:0}.support-dialog .support-shell{flex:1;grid-template-columns:minmax(220px,30%) minmax(0,1fr);min-width:0;height:auto;min-height:0}.support-list,.support-thread,.support-messages{min-width:0;min-height:0}.support-thread{grid-template-rows:auto minmax(0,1fr) auto}.support-messages,.support-list,.support-compose{overscroll-behavior:contain}.support-thread-header{flex-wrap:wrap}.support-thread-header>div{min-width:0}.support-thread h3,.support-messages p,.support-offline{overflow-wrap:anywhere}.support-compose textarea,.support-reply textarea{resize:vertical;min-height:64px;max-height:min(25dvh,180px)}.support-reply{max-height:45dvh;overflow-y:auto}.support-reply-options,.support-reply-actions,.support-planned-version,.support-messages article header{flex-wrap:wrap}.support-delivery-status{background:var(--surface-alt);border-bottom:1px solid var(--border);margin:0;padding:10px 16px;font-size:.8rem}@media (width<=760px){.support-dialog .support-shell{grid-template-columns:minmax(0,1fr)}.support-reply{padding:12px}.support-thread-header,.support-messages{padding:14px}.support-thread-header{gap:8px}}.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:620;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}.workspace-page{min-width:0;min-height:calc(var(--app-viewport-height,100dvh) - var(--topbar-height));color:var(--ink);background:var(--surface-alt);padding:0 32px 48px}.workspace-page__inner{width:min(1120px,100%);margin-inline:auto}.workspace-page__toolbar{z-index:20;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;min-height:68px;display:flex;position:sticky;top:0}.workspace-page__context{color:var(--muted);font-size:var(--text-xs)}.workspace-page__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.workspace-page__heading{padding:38px 0 28px}.workspace-page__heading h1{letter-spacing:-.05em;margin:0;font-size:clamp(2.3rem,4vw,3.7rem);font-weight:430;line-height:1}.workspace-page__heading>p:not(.eyebrow){max-width:560px;color:var(--muted);margin:12px 0 0;font-size:.84rem;line-height:1.55}.workspace-page__filters{border-block:1px solid var(--border);flex-wrap:wrap;align-items:end;gap:16px 24px;margin-bottom:26px;padding:16px;display:flex}.workspace-page__filter-label{color:var(--muted);font-size:var(--text-xs);letter-spacing:.11em;text-transform:uppercase;margin-bottom:8px;font-weight:700;display:block}.workspace-page__body{gap:28px;min-width:0;display:grid}.workspace-date{width:min(520px,100%);min-width:0}.workspace-date__controls{grid-template-columns:42px minmax(0,1fr) 42px;display:grid}.workspace-date__controls>.app-button{background:var(--surface-raised);border-radius:0;min-width:0;padding:0}.workspace-date__picker{border-block:1px solid var(--border);background:var(--surface-raised);text-align:center;place-content:center;min-height:54px;display:grid;position:relative}.workspace-date__picker:focus-within{outline:2px solid var(--focus);outline-offset:-2px}.workspace-date__picker input{opacity:0;cursor:pointer;width:100%;min-width:0;position:absolute;inset:0}.workspace-date__picker strong{font-size:.86rem;font-weight:680}.workspace-date__picker small{color:var(--muted);font-size:var(--text-xs);text-transform:capitalize;margin-top:3px}@media (width<=760px){.workspace-page{padding:0 12px 32px}.workspace-page__toolbar{min-height:58px;padding-block:10px}.workspace-page__context{display:none}.workspace-page__actions{width:100%}.workspace-page__heading{padding:28px 0 22px}.workspace-page__heading h1{font-size:clamp(2.15rem,11vw,3rem)}.workspace-page__filters{padding-inline:0}}.marked-date{min-width:0}.marked-date__trigger{width:100%;min-height:54px;color:var(--ink);font:inherit;cursor:pointer;border-inline:0;border-radius:0;gap:0;padding:0;display:grid}.marked-date__panel{z-index:1200;border:1px solid var(--border);background:var(--surface-raised);max-height:calc(100dvh - 16px);color:var(--ink);border-radius:10px;padding:14px;position:fixed;overflow-y:auto;box-shadow:0 8px 28px #0000002e}.marked-date__header{align-items:center;gap:5px;margin-bottom:14px;display:flex}.marked-date__header .app-dropdown{flex:1;min-width:0}.marked-date__header .app-dropdown__trigger{text-transform:capitalize;min-height:38px;padding:5px;font-size:.8rem}.marked-date__weekdays,.marked-date__days{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.marked-date__weekdays{color:var(--muted);margin-bottom:6px;font-size:.7rem}.marked-date__days button{min-width:0;min-height:38px;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:3px 0 8px;font-size:.82rem;position:relative}.marked-date__days .app-button:hover:not(:disabled),.marked-date__days .app-button:focus-visible{background:var(--surface-alt);border-color:var(--accent)}.marked-date__days .app-button[aria-pressed=true],.marked-date__days .app-button[aria-pressed=true]:hover:not(:disabled){background:var(--accent);color:var(--ink-inverse)}.marked-date__days button:disabled{opacity:.35;cursor:default}.marked-date__days .is-other-month{visibility:hidden}.marked-date__dot{background:var(--success);border-radius:50%;width:5px;height:5px;display:inline-block}.marked-date__days .marked-date__dot{position:absolute;bottom:3px;left:calc(50% - 2.5px)}.marked-date__days [aria-pressed=true] .marked-date__dot{background:currentColor}.marked-date__panel footer{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-top:12px;font-size:.7rem;display:flex}.action-feedback{border:1px solid color-mix(in srgb, var(--danger) 45%, var(--border));border-radius:var(--control-radius);min-width:0;color:var(--ink);background:color-mix(in srgb, var(--danger) 6%, var(--surface-raised));align-items:flex-start;gap:12px;margin-block:12px;padding:12px;display:flex}.action-feedback__messages{overflow-wrap:anywhere;flex:1;min-width:0;font-size:.82rem;line-height:1.5}.action-feedback__messages p{margin:0}.action-feedback__messages p+p{margin-top:6px}.action-feedback>.app-button{flex-shrink:0}.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)}}}}@layer shell{.app-shell{--sidebar-panel-width:224px}.brand-control{height:var(--control-height);border:1px solid var(--border);color:var(--muted);cursor:pointer;font:inherit;background:0 0;border-radius:0;transition:color .15s,border-color .15s,background-color .15s}.brand-control:hover,.brand-control:focus-visible,.brand-control[aria-expanded=true]{color:var(--ink);background:var(--surface-alt)}.brand-control:focus-visible{z-index:1;outline:2px solid var(--focus);outline-offset:2px}.workspace{background:var(--surface);view-transition-name:workspace-content;min-width:0;min-height:0}body,.app-shell{background:var(--surface)}@media print{body:has(.vessel-report-print) .app-shell:not(.is-login-only){display:block;overflow:visible}body:has(.vessel-report-print) .app-frame{position:static}body :not(.vessel-report-print,.vessel-report-print *,.report-dialog,.report-dialog *){visibility:hidden!important}}@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)}}body,.app-shell{transition:color .18s,background-color .18s,border-color .18s}}.page-host{min-width:0;min-height:var(--app-viewport-height,100dvh);background:var(--surface);grid-template-rows:auto minmax(0,1fr);gap:18px;padding:18px clamp(18px,3vw,40px) 32px;display:grid}.app-breadcrumb{min-height:32px;color:var(--muted);align-items:center;gap:7px;font-size:.76rem;font-weight:650;display:flex}.app-breadcrumb__back{border:1px solid var(--border);border-radius:var(--control-radius);min-height:32px;color:var(--ink);background:var(--surface-raised);cursor:pointer;font:inherit;align-items:center;gap:7px;padding:0 10px 0 8px;font-weight:650;display:inline-flex}.app-breadcrumb__back:hover,.app-breadcrumb__back:focus-visible{border-color:var(--border-strong);background:var(--surface-alt)}.app-breadcrumb__divider{background:var(--border);width:1px;height:22px;margin-inline:4px}.app-breadcrumb a{color:var(--muted);text-decoration:none}.app-breadcrumb a:hover,.app-breadcrumb a:focus-visible{color:var(--success,#116b47);text-decoration:none}.app-breadcrumb svg{width:14px;height:14px}.page-host__content{min-width:0;min-height:0}.page-host[data-page-chrome=flush]{background:var(--surface-alt);padding:0;display:block}.page-host[data-page-chrome=flush] .page-host__content{min-height:var(--app-viewport-height,100dvh)}.page-host__content>.main,.page-host__content>.traffic-workspace{width:100%;height:100%}.page-host__content>.traffic-workspace{min-height:calc(var(--app-viewport-height,100dvh) - 92px);border:1px solid var(--border);border-radius:var(--panel-radius);background:var(--surface-raised);overflow:hidden}.page-host[data-page-layout=fullscreen]{height:var(--app-viewport-height,100dvh);padding:0;display:block;overflow:hidden}.page-host[data-page-layout=fullscreen] .page-host__content,.page-host[data-page-layout=fullscreen] .traffic-workspace{width:100%;height:var(--app-viewport-height,100dvh);min-height:0}.page-host[data-page-layout=fullscreen] .traffic-workspace{border:0;border-radius:0}@media (width<=760px){.page-host{gap:10px;padding:12px}}.settings-page{max-width:1080px;margin:0 auto}.page-host:has(.settings-page--vessel){grid-template-rows:minmax(0,1fr);gap:0;padding:0}.page-host:has(.settings-page--vessel) .page-host__content{min-height:inherit}.settings-page__header h1{margin:4px 0 8px;font-size:clamp(1.8rem,3vw,2.6rem)}.settings-page__header>p:last-child,.settings-page__card>p,.settings-page__card>small{color:var(--muted)}.settings-page__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px;display:grid}.settings-page__card{border:1px solid var(--border);border-radius:var(--panel-radius);background:var(--surface-raised);box-shadow:var(--shadow-subtle);min-width:0;padding:22px}.settings-page__card--wide{grid-column:1/-1}.settings-page__card h2{margin:0 0 18px;font-size:1rem}.settings-page__field,.settings-page__radios{gap:7px;display:grid}.settings-page__field+.settings-page__field{margin-top:14px}.settings-page__field>span,.settings-page__radios legend{font-size:.75rem;font-weight:680}.settings-page__field select,.settings-page__field input{border:1px solid var(--border);border-radius:var(--control-radius);width:100%;min-height:42px;color:inherit;background:var(--surface);padding:8px 10px}.settings-page__field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.settings-page__radios{border:0;margin:18px 0 10px;padding:0}.settings-page__radios label{gap:8px;display:flex}.settings-page__actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.settings-page__actions button,.settings-page__actions a,.settings-page__deployment button,.settings-page__admin-link{border:1px solid var(--border);border-radius:var(--control-radius);min-height:46px;color:var(--ink);background:var(--surface);cursor:pointer;font:inherit;align-items:center;gap:9px;padding:10px 12px;font-size:.76rem;font-weight:650;text-decoration:none;display:flex}.settings-page__actions svg,.settings-page__deployment svg,.settings-page__admin-link svg{width:17px;height:17px}.settings-page__actions .is-danger{color:var(--danger)}.settings-page__display-link{border:1px solid var(--border);border-radius:var(--control-radius);background:var(--surface-alt);margin-top:16px;padding:14px}.settings-page__display-link strong{align-items:center;gap:8px;display:flex}.settings-page__deployment{justify-content:space-between;align-items:center;gap:16px;display:flex}.settings-page__release{justify-content:space-between;align-items:center;gap:20px;display:flex}.settings-page__release-copy{overflow-wrap:anywhere;gap:5px;min-width:0;display:grid}.settings-page__release-copy>span{color:var(--muted);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:680}.settings-page__release-copy>strong{font-size:1.05rem}.settings-page__release-copy>small{color:var(--muted);font-size:.72rem}.settings-page__release-actions{flex-wrap:wrap;gap:8px;display:flex}.settings-page__status-dot{background:var(--status-success);border-radius:50%;width:8px;height:8px}.settings-page__risk{border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:color-mix(in srgb, var(--danger) 5%, var(--surface-raised))}.settings-page__risk .settings-page__release-copy>span{color:var(--danger);font-weight:720}.settings-page__deployment>div{gap:4px;display:grid}@media (width<=760px){.settings-page__grid,.settings-page__field-row,.settings-page__actions{grid-template-columns:1fr}.settings-page__release{flex-direction:column;align-items:stretch}.settings-page__display-link{grid-template-columns:1fr}.settings-page__display-link .app-button{width:100%}.settings-page__release-actions{flex-direction:column;align-items:stretch}}.trip-manager-page-stack{gap:22px;display:grid}.traffic-overview-page{background:var(--canvas);align-content:start;width:100%;min-width:0;min-height:100%;display:grid;overflow:hidden}.traffic-overview-page>*{min-width:0}.traffic-overview-tabs{min-height:54px;z-index:var(--layer-navigation);border-bottom:1px solid var(--border);background:var(--surface-raised);align-items:end;gap:4px;padding:0 clamp(20px,3vw,46px);display:flex;position:sticky;top:0}.traffic-overview-tabs a{min-height:53px;color:var(--muted);border-bottom:3px solid #0000;place-items:center;padding:0 18px;font-size:.76rem;font-weight:700;text-decoration:none;display:grid}.traffic-overview-tabs a.router-link-active{color:var(--ink);border-bottom-color:var(--focus)}.traffic-overview-date-navigation{z-index:calc(var(--layer-navigation) - 1);border-bottom:1px solid var(--border);background:var(--surface);grid-template-columns:42px minmax(220px,360px) 42px;justify-content:center;gap:8px;padding:16px clamp(20px,3vw,46px);display:grid;position:sticky;top:54px}.traffic-overview-page>.traffic-operations .traffic-dashboard-filter{z-index:calc(var(--layer-navigation) - 1);position:sticky;top:54px}.traffic-overview-date-navigation>button{border:1px solid var(--border);border-radius:var(--control-radius);color:var(--ink);background:var(--surface-raised);cursor:pointer;place-items:center;display:grid}.traffic-overview-date-navigation>button:disabled{cursor:default;opacity:.35}.traffic-overview-date-navigation svg{width:17px;height:17px}.traffic-overview-date-picker{border:1px solid var(--border);border-radius:var(--control-radius);background:var(--surface-raised);cursor:pointer;align-content:center;place-items:center;min-height:50px;display:grid;position:relative}.traffic-overview-date-picker input{opacity:0;cursor:pointer;position:absolute;inset:0}.traffic-overview-date-picker span{color:var(--muted);text-transform:capitalize;font-size:.65rem;font-weight:700}.traffic-overview-date-picker strong{font-size:.84rem}.traffic-overview-empty{text-align:center;place-content:center;min-height:360px;padding:clamp(32px,6vw,80px);display:grid}.traffic-overview-empty h1{margin:4px 0 10px}.traffic-overview-empty p:last-child{max-width:520px;color:var(--muted)}.route-navigation-status{z-index:30;top:var(--topbar-height,64px);border:1px solid var(--border);border-radius:var(--control-radius);color:var(--muted);background:var(--surface-raised);box-shadow:var(--shadow-sm);padding:7px 11px;font-size:.78rem;position:fixed;right:16px}.async-view-status,.route-load-error{min-height:160px;color:var(--muted);text-align:center;place-content:center;gap:12px;padding:28px;display:grid}.route-load-error h1,.route-load-error p{margin:0}.route-load-error .app-button{justify-self:center}.async-view-status.is-error{color:var(--danger)}@media (width<=760px){.traffic-overview-tabs{padding-inline:8px;overflow-x:auto}.traffic-overview-tabs a{white-space:nowrap;padding-inline:12px}.traffic-overview-date-navigation{grid-template-columns:40px minmax(0,1fr) 40px;padding-inline:12px}}.settings-page__preference{align-items:flex-start;gap:12px;margin:24px 0;display:flex}.settings-page__preference input{width:20px;height:20px;accent-color:var(--focus);flex-shrink:0}.settings-page__preference span{gap:6px;display:grid}.settings-page__preference small,.settings-page__hint{color:var(--muted);font-size:.8rem;line-height:1.6}.settings-page__risk summary{cursor:pointer;padding:4px 0;font-weight:650}.settings-page__risk[open] summary{margin-bottom:24px}.app-shell:not(.is-login-only){--topbar-height:0px;--app-navigation-width:232px;grid-template-columns:var(--app-navigation-width) minmax(0, 1fr);min-height:100dvh;display:grid;overflow:clip}.app-shell.is-navigation-collapsed{--app-navigation-width:68px}.app-frame{min-width:0;min-height:var(--app-viewport-height,100dvh);position:relative}.app-navigation{width:var(--app-navigation-width);height:var(--app-viewport-height,100dvh);min-height:0;z-index:var(--layer-toast);border-right:1px solid var(--border);background:var(--surface-raised);flex-direction:column;gap:6px;padding:14px 10px;display:flex;position:sticky;top:0;overflow:visible;box-shadow:8px 0 24px #10101009}.app-navigation-brand-row{justify-content:flex-start;align-items:center;gap:7px;min-height:58px;margin-bottom:8px;padding:0 4px;display:flex;position:relative}.app-navigation .brand-mark{border-radius:var(--control-radius);background:0 0;border:0;flex:0 0 46px;width:46px;height:46px;padding:0;text-decoration:none;display:block}.app-navigation .brand-mark img{border-radius:inherit;width:100%;height:100%;display:block}:root[data-theme=dark] .app-navigation .brand-mark img[src$=paxreg-transparent\.svg]{filter:invert()}.app-navigation-brand-lockup{flex:none;position:relative}.app-navigation-brand-lockup .topbar-sync{z-index:1;width:20px;height:20px;margin:0;position:absolute;top:-6px;right:-6px}.app-navigation-pilot-label{color:var(--muted);font-size:var(--text-xs);letter-spacing:.11em;font-weight:760}.app-navigation-primary,.app-navigation-secondary{gap:4px;display:grid}.app-navigation-primary{scrollbar-width:thin;min-height:0;overflow-y:auto}.app-navigation-section-label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;padding:4px 12px 6px;font-size:.63rem;font-weight:760}.app-navigation-pages{border-left:1px solid var(--border);gap:4px;margin:2px 0 10px 22px;padding:0 0 0 12px;list-style:none;display:grid}.app-navigation-pages a{border-radius:var(--control-radius);color:var(--muted);overflow-wrap:anywhere;padding:10px 12px;font-size:.8125rem;line-height:1.45;text-decoration:none;display:block}.app-navigation-pages a:hover,.app-navigation-pages a:focus-visible,.app-navigation-pages a[aria-current=page]{color:var(--ink);background:color-mix(in srgb, var(--accent) 12%, var(--surface-raised))}.app-navigation-pages a[aria-current=page]{font-weight:650}.app-navigation-secondary{border-top:1px solid var(--border);margin-top:auto;padding-top:8px}.admin-traffic-sources{min-width:0;color:var(--muted);padding:20px 12px 12px;font-size:11px;line-height:1.5}.admin-traffic-sources h2{color:var(--ink);letter-spacing:normal;margin:0 0 12px;font-size:12px;font-weight:550}.admin-traffic-sources__items{justify-items:start;gap:8px;display:grid}.admin-traffic-sources__label{cursor:help;border-radius:3px;display:block}.admin-traffic-sources__label:hover{color:var(--ink)}.admin-traffic-sources__label:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.app-navigation-link{border-radius:var(--control-radius);width:100%;min-width:0;height:46px;color:var(--muted);cursor:pointer;font:inherit;text-align:left;background:0 0;border:1px solid #0000;justify-content:flex-start;align-items:center;gap:12px;padding:0 12px;text-decoration:none;display:flex;position:relative}.app-navigation-link:hover,.app-navigation-link:focus-visible{color:var(--ink);border-color:var(--border);background:var(--surface-alt)}.app-navigation-link.router-link-active,.app-navigation-link[aria-pressed=true]{color:var(--navigation-active-ink);border-color:var(--navigation-active-surface);background:var(--navigation-active-surface)}.app-navigation-link.router-link-active .app-navigation-label,.app-navigation-link[aria-pressed=true] .app-navigation-label{color:var(--navigation-active-ink)}.app-navigation-link>svg,.app-navigation-link>span:first-child>svg{flex:none;width:20px;height:20px}.app-navigation-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.76rem;font-weight:650;line-height:1.2;overflow:hidden}.app-navigation-link>.app-navigation-lock-pin{width:16px;height:16px;margin-left:auto}.app-navigation .topbar-sync{flex:none;margin:0 0 0 auto}.app-navigation-lock-control{border-top:1px solid var(--border);margin-top:4px;padding-top:8px}.app-navigation-account{position:relative}.app-navigation-account-trigger{padding-right:40px}.app-navigation-link>.app-navigation-account-chevron{width:16px;height:16px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.account-popover{width:330px;max-width:calc(100vw - var(--app-navigation-width) - 24px);z-index:var(--layer-popover);border:1px solid var(--border);border-radius:var(--panel-radius);color:var(--ink);background:var(--surface-raised);box-shadow:var(--shadow-floating);padding:0;position:absolute;bottom:0;left:calc(100% + 10px)}.account-popover__identity{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:18px;display:flex}.account-popover__mark{border:1px solid var(--border);border-radius:var(--control-radius);width:40px;height:40px;color:var(--ink);background:var(--surface-alt);flex:0 0 40px;place-items:center;display:grid}.account-popover__mark svg{width:19px;height:19px}.account-popover__identity .eyebrow{margin:0}.account-popover h2{margin:4px 0 0;font-size:1.15rem;font-weight:800}.account-popover__facts{border:1px solid var(--border);border-radius:var(--control-radius);background:var(--surface-alt);margin:16px 18px 0;display:grid}.account-popover__facts>div{justify-content:space-between;align-items:center;gap:12px;min-height:38px;padding:9px 11px;display:flex}.account-popover__facts>div+div{border-top:1px solid var(--border)}.account-popover__facts dt{color:var(--muted);font-size:.72rem}.account-popover__facts dd{text-align:right;margin:0;font-size:.76rem;font-weight:650}.account-vessel-selector{gap:7px;margin:16px 18px 0;font-size:.75rem;font-weight:650;display:grid}.account-popover__menu{gap:6px;margin:16px 18px 0;display:grid}.account-popover__menu-item{border:1px solid var(--border);border-radius:var(--control-radius);width:100%;min-height:44px;color:var(--ink);background:var(--surface);cursor:pointer;font:inherit;align-items:center;gap:10px;padding:0 11px;font-size:.78rem;font-weight:700;text-decoration:none;display:flex}.account-popover__menu-item:hover,.account-popover__menu-item:focus-visible,.account-popover__menu-item.router-link-active{background:var(--surface-alt)}.account-popover__menu-item svg{width:18px;height:18px}.account-popover__actions{border-top:1px solid var(--border);margin-top:16px;padding:14px 18px 18px}.account-popover__actions .app-button{width:100%}.app-navigation.is-collapsed{padding-inline:8px}.app-navigation.is-hover-expanded{width:232px;box-shadow:12px 0 32px #10101029}.app-navigation.is-collapsed .app-navigation-brand-row{justify-content:center;padding:0}.app-navigation.is-collapsed .brand-mark{flex-basis:50px;width:50px;height:50px;padding:0}.app-navigation.is-collapsed .app-navigation-pilot-label,.app-navigation.is-collapsed .app-navigation-label{display:none}.app-navigation.is-collapsed .app-navigation-section-label{opacity:0;height:1px;padding:0;overflow:hidden}.app-navigation.is-collapsed .app-navigation-link{justify-content:center;width:50px;padding-inline:0}.app-navigation.is-collapsed .app-navigation-lock-control{width:50px}.app-navigation.is-collapsed .support-unread-badge{top:3px;left:auto;right:3px}.app-shell:not(.is-login-only),.app-navigation{transition:grid-template-columns .22s cubic-bezier(.22,.8,.25,1),width .22s cubic-bezier(.22,.8,.25,1)}@media (width<=960px){.app-shell .shell.has-sidebar-panel{--sidebar-width:min(200px, 30vw);grid-template-columns:minmax(166px, var(--sidebar-width)) minmax(0, 1fr)}.app-shell .shell .sidebar{width:100%;height:100%;box-shadow:none;position:sticky;top:0;bottom:auto;transform:none}}@media (width<=520px){.app-shell .shell.has-sidebar-panel{--sidebar-width:152px;grid-template-columns:var(--sidebar-width) minmax(0, 1fr)}.account-popover{width:auto;max-width:none;bottom:10px;right:10px;left:calc(var(--app-navigation-width) + 10px);position:fixed}}@media (prefers-reduced-motion:reduce){.app-shell:not(.is-login-only),.app-navigation{transition:none}}.mobile-app-topbar,.mobile-navigation-backdrop,.mobile-navigation-heading{display:none}@media (width>=761px) and (hover:none) and (pointer:coarse){.app-navigation.is-touch-expanded{width:232px;box-shadow:12px 0 32px #10101029}.mobile-navigation-backdrop.is-touch-navigation{z-index:calc(var(--layer-toast) - 1);cursor:default;opacity:1;visibility:visible;pointer-events:auto;touch-action:none;background:#0000003d;border:0;padding:0;display:block;position:fixed;inset:0}}@media (width<=760px){.app-shell:not(.is-login-only){--topbar-height:60px;--app-navigation-width:min(320px, 88vw);grid-template-columns:minmax(0,1fr);grid-template-rows:var(--topbar-height) minmax(0, 1fr);width:100%;height:100dvh;min-height:0;overflow:hidden}.mobile-app-topbar{min-width:0;height:var(--topbar-height);z-index:var(--layer-navigation);border-bottom:1px solid var(--border);background:var(--surface-raised);grid-row:1;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 10px;display:grid;position:relative;box-shadow:0 4px 16px #10101014}.mobile-app-topbar__control,.mobile-app-topbar__trips,.mobile-navigation-heading button{border:1px solid var(--border);border-radius:var(--control-radius);min-width:44px;min-height:44px;color:var(--ink);background:var(--surface);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex}.mobile-app-topbar__control svg,.mobile-app-topbar__trips svg,.mobile-navigation-heading button svg{width:20px;height:20px}.mobile-app-topbar__actions{grid-column:3;align-items:center;gap:8px;display:flex}.mobile-app-topbar__actions .topbar-sync{margin:0}.mobile-app-topbar__trips{width:auto;font:inherit;gap:6px;padding-inline:10px;font-size:.74rem;font-weight:680}.mobile-app-topbar__trips[aria-expanded=true],.mobile-app-topbar__control[aria-expanded=true]{color:var(--registration-header-ink);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, var(--surface))}.app-frame{width:100%;height:calc(var(--app-viewport-height,100dvh) - var(--topbar-height));grid-row:2;min-height:0;overflow:hidden}.app-navigation,.app-navigation.is-hover-expanded{width:var(--app-navigation-width);height:var(--app-viewport-height,100dvh);z-index:calc(var(--layer-navigation) + 2);border-right:1px solid var(--border);box-shadow:var(--shadow-floating);visibility:hidden;gap:6px;padding:12px;transition:transform .22s cubic-bezier(.22,.8,.25,1),visibility .22s step-end;position:fixed;inset:0 auto 0 0;overflow:hidden;transform:translate(-102%)}.app-navigation.is-mobile-open{visibility:visible;transition:transform .22s cubic-bezier(.22,.8,.25,1),visibility step-start;transform:translate(0)}.app-navigation .app-navigation-brand-row{display:none}.mobile-navigation-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:4px 2px 12px 8px;display:flex}.app-navigation .app-navigation-pilot-label,.app-navigation .app-navigation-label{display:initial}.app-navigation .app-navigation-section-label{opacity:1;height:auto;padding:4px 12px 6px;overflow:visible}.app-navigation .app-navigation-link,.app-navigation .app-navigation-lock-control{width:100%}.app-navigation .app-navigation-link{justify-content:flex-start;padding-inline:12px}.app-navigation .app-navigation-primary{overflow-y:auto}.app-navigation .app-navigation-lock-control{display:none}.mobile-navigation-backdrop{z-index:calc(var(--layer-navigation) + 1);cursor:default;opacity:0;visibility:hidden;pointer-events:none;background:#00000061;border:0;padding:0;transition:opacity .18s,visibility .18s step-end;display:block;position:fixed;inset:0}.mobile-navigation-backdrop.is-visible{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .18s,visibility step-start}.account-popover{width:min(330px,100vw - 24px);max-width:none;position:fixed;bottom:12px;left:12px;right:12px}}@media (prefers-reduced-motion:reduce){.app-navigation,.mobile-navigation-backdrop{transition:none}}.app-shell.is-vessel-shell{--vessel-navigation-expanded-width:208px;--vessel-canvas:var(--surface);--vessel-context-surface:var(--surface-alt);--vessel-navigation-surface:var(--surface-raised);background:var(--vessel-canvas)}:root:not([data-theme=dark]) .app-shell.is-vessel-shell{--vessel-canvas:#dde4e7;--vessel-context-surface:#edf1f2;--vessel-navigation-surface:#fff}@media (width>=761px){.app-shell.is-vessel-shell:not(.is-navigation-collapsed){--app-navigation-width:var(--vessel-navigation-expanded-width)}}.app-shell.is-vessel-shell.is-navigation-collapsed{--app-navigation-width:64px}.app-navigation.is-vessel-navigation{--vessel-navigation-accent:var(--accent);--navigation-active-ink:var(--ink);--navigation-active-surface:color-mix(in srgb, var(--vessel-navigation-accent) 10%, var(--surface-raised));width:var(--app-navigation-width);height:var(--app-viewport-height,100dvh);background:var(--vessel-navigation-surface);box-shadow:none;font-family:var(--font-family-sans);border:0;border-radius:0;gap:4px;margin:0;padding:20px 10px 12px}.is-vessel-navigation .app-navigation-brand-row{min-height:44px;margin-bottom:0;padding:0 12px}.is-vessel-navigation .brand-mark,.is-vessel-navigation.is-collapsed .brand-mark{flex-basis:32px;width:32px;height:32px}.vessel-navigation-heading{align-items:center;gap:12px;min-height:44px;margin:16px 0 8px;display:flex}.vessel-navigation-caption{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-left:12px;font-size:10px;font-weight:550}.is-vessel-navigation .app-navigation-link{border:0;border-radius:10px;gap:10px;height:44px;min-height:44px}.is-vessel-navigation .app-navigation-link.is-group-start{margin-top:12px}.is-vessel-navigation .app-navigation-link:hover{background:color-mix(in srgb, var(--accent-strong) 4%, var(--surface-raised))}.is-vessel-navigation .app-navigation-link.router-link-active{border-color:var(--navigation-active-surface);background:var(--navigation-active-surface)}.is-vessel-navigation .app-navigation-label{font-size:13px;font-weight:550;line-height:1.25}.is-vessel-navigation .router-link-active .app-navigation-label{font-weight:650}.is-vessel-navigation .app-navigation-link>svg{width:16px;height:16px}.is-vessel-navigation .app-navigation-primary .router-link-active:after{content:"";background:var(--vessel-navigation-accent);border-radius:50%;flex:0 0 5px;width:5px;height:5px;margin-left:auto}.is-vessel-navigation .app-navigation-primary .router-link-active>svg{color:var(--vessel-navigation-accent)}.is-vessel-navigation :is(a,button):focus-visible{outline:2px solid var(--vessel-navigation-accent);outline-offset:3px}.is-vessel-navigation .app-navigation-secondary{border-top:0;padding-top:12px}.is-vessel-navigation .account-popover{border:0;border-radius:12px;width:292px;max-height:calc(100dvh - 80px);padding:8px;overflow-y:auto}.is-vessel-navigation .account-popover__identity{border:0;padding:12px 10px}.is-vessel-navigation .account-popover__mark{width:36px;height:36px;color:var(--accent-strong);background:var(--navigation-active-surface);border:0;border-radius:10px;flex-basis:36px}.is-vessel-navigation .account-popover__identity .eyebrow{letter-spacing:.06em;font-size:10px;font-weight:550}.is-vessel-navigation .account-popover h2{font-size:16px;font-weight:600}.is-vessel-navigation .account-vessel-selector{margin:8px 10px 12px;font-weight:550}.is-vessel-navigation .account-popover__menu{gap:2px;margin:4px 0 0}.is-vessel-navigation .account-popover__menu-item{background:0 0;border:0;border-radius:8px;padding:0 12px;font-size:13px;font-weight:550}.is-vessel-navigation .account-popover__menu-item:is(:hover,:focus-visible,.router-link-active){background:var(--navigation-active-surface)}.is-vessel-navigation .account-popover__menu-item svg{width:16px;height:16px;color:var(--muted)}.is-vessel-navigation .account-popover__actions{border:0;margin-top:6px;padding:6px 0 8px}.is-vessel-navigation .account-popover__actions .app-button{color:var(--danger);box-shadow:none;background:0 0;border:0;border-radius:8px;justify-content:flex-start;padding-inline:12px;font-size:13px;font-weight:550}.is-vessel-navigation .account-popover__actions .app-button:hover{background:color-mix(in srgb, var(--danger) 7%, var(--surface-raised))}.account-popover__unread-count{min-width:20px;height:20px;color:var(--ink-inverse);background:var(--danger);border-radius:999px;place-items:center;margin-left:auto;padding-inline:5px;font-size:.7rem;display:grid}.account-popover__version{color:var(--muted);text-align:center;white-space:nowrap;margin:12px 0 0;font-size:11px;line-height:1.4}.vessel-navigation-toggle{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:0 0 44px;place-items:center;margin-left:auto;padding:0;display:grid}.vessel-navigation-toggle:hover{color:var(--ink);background:var(--surface-alt)}.vessel-navigation-toggle svg{width:18px;height:18px}.vessel-navigation-toggle[aria-pressed=true] svg{transform:rotate(180deg)}.is-vessel-navigation.is-collapsed{padding-inline:10px}.is-vessel-navigation.is-collapsed .vessel-navigation-caption{display:none}.is-vessel-navigation.is-collapsed .app-navigation-link{width:44px}.is-vessel-navigation.is-collapsed .app-navigation-primary .router-link-active:after{position:absolute;bottom:5px;right:4px}.is-vessel-navigation:is(.is-hover-expanded,.is-touch-expanded){width:var(--vessel-navigation-expanded-width);box-shadow:8px 4px 24px #1010101f}@media (width<=760px){.is-vessel-navigation .account-popover{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.app-shell.is-vessel-shell.is-navigation-collapsed{--app-navigation-width:min(320px, 88vw)}.app-navigation.is-vessel-navigation{width:var(--app-navigation-width);padding-top:12px;transform:translate(-102%)}.app-navigation.is-vessel-navigation.is-mobile-open{transform:translate(0)}.vessel-navigation-toggle{display:none}.vessel-navigation-heading{min-height:24px;margin-top:8px}}}@layer features{.trip-heading-block{flex:auto;align-items:center;gap:12px;min-width:min(330px,100%);display:flex}.trip-workspace .trip-heading-block{padding-left:0}.trip-heading-text-group{flex-direction:row;justify-content:center;align-items:center;gap:10px;min-width:0;display:flex}.trip-heading-number{border-radius:var(--control-radius);min-width:26px;color:var(--ink-inverse);background:var(--accent-strong);place-items:center;padding:6px 7px;font-size:.84rem;font-weight:750;line-height:1;display:inline-grid}.trip-header-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;width:fit-content;margin-left:auto;display:flex}.trip-capacity-control{align-self:center;align-items:center;display:flex;position:relative}.trip-workspace-controls{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-alt);justify-content:space-between;align-items:center;gap:10px;min-height:54px;padding:8px 12px;display:flex}.trip-workspace-settings,.trip-workspace-actions{align-items:center;gap:10px;min-width:0;display:flex}.trip-workspace-actions{flex:none;margin-left:auto}.trip-workspace-actions-divider{background:var(--border-strong);flex:0 0 1px;width:1px;height:26px}.trip-bike-fields-control{white-space:nowrap;cursor:pointer;align-items:center;gap:8px;min-height:38px;font-size:.75rem;font-weight:620;display:inline-flex}.trip-workspace-controls .trip-capacity-control .app-dropdown{width:178px}.trip-workspace-controls .trip-capacity-control.is-kpk-direction .app-dropdown{width:96px}.trip-workspace-controls .trip-capacity-control .app-dropdown__menu{width:max(100%,210px);left:auto;right:0}.trip-workspace-controls .trip-capacity-control.is-kpk-direction .app-dropdown__menu{width:112px}.trip-workspace-controls .trip-capacity-control .app-dropdown__option:disabled{color:var(--registration-header-muted);opacity:.52;cursor:not-allowed}.trip-fix-action-group{flex:none;display:flex;position:relative}.trip-table-actions{justify-content:flex-end;padding-block:12px;display:flex}.trip-table-actions .trip-header-fix-popover{top:auto;bottom:calc(100% + 8px)}.trip-header-fix,.trip-header-fix-help{--control-height-compact:38px}.trip-header-fix{border-radius:var(--control-radius) 0 0 var(--control-radius);flex:none;min-width:112px}.app-button.trip-header-fix-help{border-radius:0 var(--control-radius) var(--control-radius) 0;border-left:0}.trip-header-fix-popover{width:min(290px,100vw - 32px);z-index:var(--layer-popover);border:var(--panel-border);border-radius:calc(var(--control-radius) + 4px);color:var(--ink);background:var(--surface-raised);box-shadow:var(--shadow-floating);padding:14px 16px;font-size:.78rem;line-height:1.45;position:absolute;top:calc(100% + 8px);right:0}.trip-header-fix-popover strong,.trip-header-fix-popover p{margin:0}.trip-header-fix-popover p{color:var(--muted);margin-top:6px}@media (width>=761px){.workspace-shared-header{flex-wrap:nowrap}.workspace-shared-header .trip-heading-block{min-width:0}.workspace-shared-header .trip-workspace-controls{background:0 0;border:0;min-height:0;padding:0}.trip-workspace .trip-header-tools{margin-block:calc(-1 * var(--trip-header-padding-block));margin-right:calc(-1 * var(--trip-header-padding-inline));align-self:stretch;gap:0}.workspace-shared-header .trip-header-tools{margin-block:0;flex-wrap:nowrap;flex-shrink:0;align-self:stretch;gap:0;height:100%;margin-right:0}.trip-workspace-controls .trip-capacity-control{align-self:center;margin-inline:0}.trip-workspace-controls .trip-workspace-settings{margin-right:auto}.trip-workspace-controls .trip-fix-action-group{margin-right:0}}@media (width<=760px){.trip-heading-block{min-width:100%}.trip-heading-text-group{gap:7px}.trip-heading-number{font-size:.8rem}.trip-header-tools{width:auto;margin-left:0}.trip-workspace-controls{flex-wrap:wrap;gap:8px;width:100%;min-height:50px;margin-inline:0;padding:8px}.trip-workspace-settings,.trip-workspace-actions{gap:8px}.trip-workspace-actions-divider{height:24px}.trip-workspace-controls .trip-capacity-control .app-dropdown{width:158px}.trip-workspace-controls .trip-capacity-control.is-kpk-direction .app-dropdown{width:92px}.trip-header-fix,.trip-header-fix-help{--control-height-compact:34px}.trip-bike-fields-control{min-height:34px}}.traffic-day-overview{grid-row:1;place-self:center;width:min(680px,100%);margin:0;transform:none}.traffic-day-overview.is-choosing-vessel{width:min(560px,100%)}.traffic-day-vessel-start{width:100%}.traffic-day-vessel-eyebrow,.traffic-day-vessel-field>span,.traffic-day-vessel-context>span{color:var(--muted);font-size:var(--text-xs);letter-spacing:.13em;text-transform:uppercase;font-weight:680}.traffic-day-vessel-eyebrow{margin:0 0 12px}.traffic-day-vessel-guidance{max-width:440px;color:var(--muted);margin:18px 0 0;font-size:.9rem;line-height:1.55}.traffic-day-vessel-field{gap:8px;width:min(420px,100%);margin-top:28px;display:grid}.traffic-day-vessel-context{gap:8px;width:min(290px,100%);margin-bottom:24px;display:grid}.traffic-day-vessel-greeting{color:var(--ink);opacity:1;letter-spacing:-.01em;margin:0 0 12px;font-size:clamp(1.1rem,1.6vw,1.3rem);font-weight:560;line-height:1.25}.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-overview h1.is-empty-title{font-size:clamp(2rem,4vw,3.6rem)}.traffic-day-date-row{margin-top:26px}.traffic-day-service-date{--traffic-day-date-step-size:80px;width:100%;min-height:var(--traffic-day-date-step-size);grid-template-columns:var(--traffic-day-date-step-size) minmax(0, 1fr) var(--traffic-day-date-step-size);border:var(--panel-border);background:var(--surface-raised);align-items:stretch;min-width:0;display:grid}.traffic-day-date-shortcut{min-height:var(--control-height-compact);justify-content:flex-end;margin-top:8px;display:flex}.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>.app-button{width:100%;height:100%;min-height:var(--traffic-day-date-step-size);border:0;border-right:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:0;flex:none;place-items:center;padding:0;display:grid}.traffic-day-service-date>.app-button:last-child{border-right:0;border-left:1px solid var(--border)}.traffic-day-service-date>.app-button:hover:not(:disabled){color:var(--ink);background:var(--surface-alt)}.traffic-day-service-date>.app-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 .app-button{flex:none}.day-lock-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.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)}.traffic-day-guidance{max-width:600px;color:var(--muted);margin:24px 0 18px;font-size:.9rem;line-height:1.55}.traffic-day-empty-state{width:100%}.traffic-day-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.traffic-day-actions.is-summary{margin-top:18px}.traffic-day-secondary-actions{align-items:center;gap:10px;display:flex}.traffic-day-action-divider{background:var(--border-strong);flex:0 0 1px;width:1px;height:24px}.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%)}}@media (width<=760px){.traffic-day-overview{transform:none}.traffic-day-vessel-context{width:min(260px,100%);margin-bottom:20px}.traffic-day-empty-state .traffic-day-guidance{margin-bottom:0}.traffic-day-empty-state .traffic-day-actions{gap:10px;width:100%;margin-top:clamp(36px,7dvh,64px);display:grid}.traffic-day-empty-state .traffic-day-secondary-actions{gap:10px;width:100%;display:grid}.traffic-day-empty-state .traffic-day-action-divider{display:none}.traffic-day-empty-state .app-button{width:100%;min-height:48px}}@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>=761px) and (height<=800px){.registration-workspace-layout[data-layout=overview]>.registration-pane{padding-block:16px 14px}.traffic-day-vessel-context{gap:6px;width:min(260px,100%);margin-bottom:12px}.traffic-day-overview h1{font-size:clamp(2.4rem,4vw,3.25rem)}.traffic-day-date-row{margin-top:14px}.traffic-day-service-date{grid-template-columns:var(--traffic-day-date-step-size) minmax(0, 1fr) var(--traffic-day-date-step-size)}.traffic-day-date-content{padding:9px 14px 10px}.traffic-day-date-content>span{margin-bottom:4px}.traffic-day-service-date strong{font-size:1.18rem}.traffic-day-guidance{margin:14px 0 12px;font-size:.82rem;line-height:1.4}}.replacement-program-banner{border-left:3px solid var(--focus);color:var(--ink);background:color-mix(in srgb, var(--focus) 9%, var(--surface));margin:8px 0 20px;padding:12px 14px;font-size:.82rem}.trip-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;min-height:90px;margin-bottom:20px;display:flex}.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}}@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)}}.trip-title-row{justify-content:flex-start;align-items:baseline;gap:7px;min-width:0;display:flex}.trip-workspace .trip-header,.trip-header.workspace-shared-header{--trip-header-padding-block:0px;--trip-header-padding-inline:20px;margin-bottom:0;border:1px solid var(--border);width:100%;min-height:64px;color:var(--registration-header-ink);background:var(--registration-header);border-bottom:0;border-radius:0;margin-inline:0;padding:0 20px;position:relative}.trip-header.workspace-shared-header{width:100%;height:var(--shared-trip-header-height);min-height:var(--shared-trip-header-height);border-top:0;border-left:0;border-right:0;margin:0}.trip-workspace .trip-heading,.workspace-shared-header .trip-heading{letter-spacing:-.02em;color:var(--registration-header-ink);margin:0;font-size:1.45rem;font-weight:650}@media (width<=760px){.trip-workspace .trip-header{--trip-header-padding-block:12px;--trip-header-padding-inline:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:0;margin-inline:0;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-header-tools{flex-wrap:nowrap;grid-area:1/2;place-self:center end;width:auto;margin-left:0}.trip-workspace:not([hidden]){flex-direction:column;flex:auto;min-height:0;padding-bottom:0;display:flex}}.trip-navigation-actions{justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.app-button.trip-action-next.is-next-trip{--control-height-compact:48px;--app-button-border:var(--accent-strong);--app-button-surface:var(--accent-strong);--app-button-hover-border:var(--accent-hover);--app-button-hover-surface:var(--accent-hover);border-radius:var(--control-radius);min-width:128px;height:48px;padding-inline:18px 14px}.trip-action-label{display:inline-block}.trip-action-icon{place-items:center;width:20px;height:20px;display:grid}.trip-action-icon svg{width:20px;height:20px}@media (prefers-reduced-motion:no-preference){.trip-action-icon{transition:color .16s,transform .16s}.trip-action-next:hover:not(:disabled) .trip-action-icon{transform:translate(3px)}}.trip-workspace .table-wrap{border-top:0;border-bottom:1px solid var(--border-strong);scrollbar-gutter:stable;background:var(--surface);width:100%;margin-inline:0;overflow:auto scroll}.trip-workspace table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:960px}.trip-workspace 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}.trip-workspace th:nth-child(n+2),.trip-workspace td:nth-child(n+2){text-align:right}.number-input{border:1px solid var(--border);color:var(--ink);font-variant-numeric:tabular-nums;appearance:textfield;border-radius:var(--panel-radius);background:var(--surface-alt);text-align:center;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}.trip-workspace th.kpk-column,.trip-workspace 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}.trip-workspace th:first-child{width:32%}.trip-workspace th:nth-child(2),.trip-workspace th:nth-child(3){width:10%}.trip-workspace th:nth-child(4){width:7%}.trip-workspace th:nth-child(5),.trip-workspace th:nth-child(6),.trip-workspace th:nth-child(7){width:9%}.trip-workspace th:nth-child(8){width:6%}.workspace[data-layout] .trip-workspace.are-bike-fields-hidden :is(.registration-bike-track,.registration-bike-total-track),.workspace[data-layout] .trip-workspace.are-bike-fields-hidden :is(.registration-column-header,.registration-accessible-header) :is(th.cycle-column-start,th.cycle-column-start~th),.workspace[data-layout] .trip-workspace.are-bike-fields-hidden .stop-row :is(td.cycle-column-start,td.cycle-column-start+td,td.cycle-column-start+td+td){display:none}.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 .registration-column-header th{color:var(--muted);border-bottom-color:var(--border);background:var(--surface)}.registration-column-header th[data-app-tooltip]{cursor:help}.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(--border-strong);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:18px;height:18px;margin:-9px 0 -9px 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(--accent);background:var(--accent)}.stop-row td:first-child{padding-left:24px}.stop-row:not(.transition-stop-row):hover td{background:var(--registration-row-hover)}.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:32px;height:32px;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:11px;height:11px}.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}.trip-statistics-row{background:var(--surface)}.trip-statistics-row td{border-top:1px solid var(--border);text-align:left;background:0 0;padding:0}.trip-statistics-field{min-height:58px;color:var(--ink);cursor:text;grid-template-columns:32fr 10fr 10fr 7fr 9fr 9fr 9fr 6fr;align-items:center;display:grid}.trip-statistics-copy{text-align:left;grid-column:1;gap:2px;min-width:0;padding-left:24px;display:grid}.trip-statistics-copy strong{font-size:.78rem;font-weight:650}.trip-statistics-copy small{color:var(--muted);font-size:.68rem;font-weight:520;line-height:1.25}.trip-statistics-row .validated-tickets-control{grid-column:3/span 2;justify-content:center;justify-self:center;align-items:center;gap:10px;display:flex}.trip-statistics-row .validated-tickets-input{border-color:var(--border);background:var(--surface-alt);flex:0 0 68px;width:68px}.trip-statistics-row .validated-tickets-ratio{width:68px;color:var(--metric-accent);cursor:default;font-variant-numeric:tabular-nums;white-space:nowrap;flex:0 0 68px;align-items:center;font-size:.82rem;font-weight:750;display:flex;position:relative}.trip-statistics-row .validated-tickets-ratio-value{border-radius:var(--panel-radius);background:color-mix(in srgb, #000 5%, var(--surface-alt));border:0;place-items:center;width:100%;min-height:36px;display:grid}.trip-statistics-row .validated-tickets-ratio-suffix{color:var(--muted);position:absolute;left:calc(100% + 4px)}.workspace[data-layout=pax] .trip-workspace .trip-statistics-row .validated-tickets-input,.workspace[data-layout=pax] .trip-workspace .trip-statistics-row .validated-tickets-ratio{flex-basis:68px;width:68px}.workspace[data-layout=pax] .trip-workspace .trip-statistics-row .validated-tickets-input,.workspace[data-layout=pax] .trip-workspace .trip-statistics-row .validated-tickets-ratio-value{min-height:40px}.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=pax] .trip-workspace .trip-statistics-row,.workspace[data-layout=pax] .trip-workspace .trip-statistics-row td{width:100%;display:block}.workspace[data-layout=pax] .trip-workspace .trip-statistics-field{grid-template-columns:var(--pax-registration-grid)}.workspace[data-layout=pax] .trip-workspace .trip-statistics-copy{padding-left:28px}}@media (width>=761px) and (width<=960px){.workspace[data-layout=pax] .extra-tag{display:none}}.workspace[data-layout] .trip-workspace .stop-row:not(.transition-stop-row){background:var(--registration-row-base);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] .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}@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:var(--registration-row-hover)}.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}}.replacement-program-workspace-banner{border-bottom:1px solid color-mix(in srgb, var(--focus) 28%, var(--border));color:var(--ink);background:color-mix(in srgb, var(--focus) 9%, var(--surface));letter-spacing:.025em;text-align:center;padding:8px 14px;font-size:.72rem;font-weight:650}.departure-delay-button,.stop-time-edit-button{border:1px dashed color-mix(in srgb, var(--muted) 56%, transparent);color:inherit;font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;vertical-align:middle;background:0 0;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:1px;margin:-4px -5px;padding:4px 5px;line-height:1.05;display:inline-flex}.departure-delay-button:hover,.departure-delay-button:focus-visible,.stop-time-edit-button:hover,.stop-time-edit-button:focus-visible{color:var(--ink);border-style:solid;border-color:var(--focus);background:color-mix(in srgb, var(--focus) 7%, transparent)}.departure-delay-button:focus-visible,.stop-time-edit-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.departure-delay-button:disabled,.stop-time-edit-button:disabled{cursor:default;opacity:.65}.departure-delay-button small{color:var(--warning);white-space:nowrap;font-size:.6rem;font-weight:760}.departure-delay-button.has-delay{background:var(--status-warning-soft);border-style:solid;border-color:#d6a04b}.departure-delay-button.has-delay small{color:#8a5700}.registration-checkbox-control{cursor:pointer;flex:none;place-items:center;width:18px;height:18px;display:inline-grid;position:relative}.registration-checkbox-control input{opacity:0;width:18px;height:18px;cursor:inherit;margin:0;position:absolute;inset:0}.registration-checkbox-box{border:1px solid color-mix(in srgb, var(--muted) 28%, transparent);width:16px;height:16px;color:var(--muted);background:color-mix(in srgb, var(--muted) 5%, var(--surface-raised));border-radius:3px;place-items:center;display:grid}.registration-checkbox-check-icon{width:11px;height:11px}.stop-cancelled-control input:not(:checked)+.registration-checkbox-box{border-color:var(--danger);color:#fff;background:var(--danger)}.stop-cancelled-control input:not(:checked)+.registration-checkbox-box:after{content:"×";font-size:.84rem;font-weight:800;line-height:1}.registration-checkbox-control input:focus-visible+.registration-checkbox-box{outline:2px solid var(--focus);outline-offset:2px}.registration-checkbox-control:hover>.registration-checkbox-box{border-color:var(--border-strong)}.stop-cancelled-control:hover input:not(:checked)+.registration-checkbox-box{border-color:color-mix(in srgb, var(--danger) 76%, #000)}.registration-checkbox-control input:disabled+.registration-checkbox-box{opacity:.45}.stop-row.is-cancelled td,.stop-row.is-cancelled:hover td,.workspace[data-layout] .trip-workspace .stop-row.is-cancelled:hover td{background:var(--status-danger-soft)!important}.stop-row.is-cancelled .stop-time,.stop-row.is-cancelled .stop-title{color:color-mix(in srgb, var(--muted) 72%, var(--surface-raised))}.stop-row.is-cancelled .stop-title{text-decoration:line-through;text-decoration-thickness:1px}.stop-row.is-cancelled td:not(.stop-name){position:relative;color:#0000!important}.stop-row.is-cancelled td:not(.stop-name)>*{display:none}.stop-row.is-cancelled td:not(.stop-name):after{content:"—";color:var(--muted);opacity:.68;place-items:center;display:grid;position:absolute;inset:0}.cancelled-stop-tag{border:1px solid color-mix(in srgb, var(--danger) 45%, transparent);color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, transparent);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;flex:none;padding:2px 5px;font-weight:700;line-height:1.2}.trip-operations-panel{--status-onboard-surface:color-mix(in srgb, var(--accent-strong) 9%, var(--surface-raised));--status-onboard-ink:var(--accent-strong);width:654px;min-width:0;max-width:100%;min-height:112px;color:var(--ink);background:var(--surface-raised);border-radius:12px;grid-template-rows:74px 16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;padding:10px 16px;display:grid}.trip-operations-panel.has-status-clock{grid-template-columns:150px minmax(0,1fr) auto}.trip-status-bar{min-width:0;margin:0}.trip-status-onboard{align-items:center;gap:14px;display:flex}.trip-status-primary{align-content:center;gap:2px;display:grid}.trip-status-primary:first-child{min-width:120px;min-height:74px;color:var(--status-onboard-ink);background:var(--status-onboard-surface);border-radius:10px;gap:0;padding:4px 14px}.trip-status-label{color:var(--muted);white-space:nowrap;font-size:.75rem;font-weight:500;line-height:1.15}.trip-status-primary:first-child .trip-status-label{color:inherit}.trip-status-value>strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:3.25rem;font-weight:700;line-height:.95;display:block}.trip-status-remaining-box .trip-status-value>strong{font-size:1.625rem;font-weight:500;line-height:1}.trip-status-remaining-box .trip-status-label{font-size:.6875rem}.trip-status-primary.is-invalid:first-child{color:var(--ink-inverse);background:var(--danger)}.trip-status-context{background:var(--status-onboard-surface);border-radius:10px;align-content:center;min-width:0;min-height:74px;padding:8px 12px;display:grid}.trip-status-context .footer-clock{min-height:0}.trip-status-context .footer-clock time{white-space:nowrap;font-size:1.5rem;font-weight:600;line-height:1.15}.trip-status-context .workspace-clock-date{margin-top:2px;font-size:.6875rem;line-height:1.25}.trip-status-capacity{border-top:1px solid var(--border);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:2px 20px;min-width:0;min-height:16px;padding-top:2px;display:flex}.trip-status-capacity>span{color:var(--muted);cursor:help;align-items:baseline;gap:4px;font-size:.6875rem;line-height:1.25;display:flex}.trip-status-capacity small{font-size:inherit}.trip-status-capacity b{color:var(--ink);font-size:inherit;font-variant-numeric:tabular-nums;font-weight:600}.trip-status-capacity>span:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.trip-operations-panel .actions{min-width:0;margin:0;padding:0}.trip-operations-panel .trip-navigation-actions{background:color-mix(in srgb, var(--accent-strong) 80%, #000);border-radius:9px;align-items:stretch;gap:0;margin:0}.trip-operations-panel .trip-action-previous{--app-button-ink:var(--ink-inverse);--app-button-border:transparent;--app-button-surface:transparent;--app-button-hover-ink:var(--ink-inverse);--app-button-hover-border:transparent;--app-button-hover-surface:color-mix(in srgb, var(--accent-strong) 90%, #000);border-radius:9px;width:44px;min-width:44px;height:auto;min-height:74px;padding:0;display:inline-flex}.trip-operations-panel .is-paired .trip-action-previous{width:53px;min-width:53px;margin-right:-9px;padding-right:9px}.trip-operations-panel .trip-action-next,.trip-operations-panel .trip-action-previous:focus-visible{z-index:1;position:relative}.trip-operations-panel .trip-action-next.is-next-trip{border-radius:9px;justify-content:space-between;width:128px;height:74px;padding:12px 14px}.trip-operations-panel .trip-action-label{text-align:left;font-size:.8125rem;font-weight:600;line-height:1.15}.trip-action-time{font-variant-numeric:tabular-nums;margin-top:1px;font-size:1.375rem;font-weight:600;line-height:1.15;display:block}@container registration-pane (width<=560px){.trip-operations-panel{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.trip-operations-panel.has-status-clock{grid-template-columns:minmax(0,1fr) auto}.trip-status-context{grid-area:1/1;width:150px;min-height:60px;padding:6px 10px}.trip-status-context .footer-clock time{font-size:1.25rem}.trip-status-primary:first-child{min-height:60px}.trip-status-value>strong{font-size:2.5rem}.trip-status-bar{grid-area:2/1/auto/-1}.trip-status-onboard{justify-content:space-between}.trip-operations-panel .actions{grid-area:1/2}.trip-status-capacity{grid-row:3}.trip-operations-panel:not(.has-status-clock) .trip-status-bar{grid-row:1}.trip-operations-panel:not(.has-status-clock) .actions{grid-row:2}.trip-operations-panel .trip-action-next.is-next-trip{width:112px;min-width:112px;height:60px}.trip-operations-panel .trip-action-previous{min-height:60px}}@container registration-pane (width<=350px){.trip-operations-panel{gap:8px;padding:8px 10px}.trip-status-context{width:120px}.trip-operations-panel .trip-action-next.is-next-trip{width:84px;min-width:84px;padding-inline:8px}.trip-operations-panel .is-paired .trip-action-previous{width:44px;min-width:44px;margin-right:0;padding-right:0}.trip-operations-panel .trip-action-label{font-size:.6875rem}.trip-operations-panel .trip-action-time{font-size:1.125rem}.trip-status-capacity{column-gap:12px}}.registration-sync-issue{border:1px solid color-mix(in srgb, var(--danger) 42%, var(--border));width:100%;min-height:62px;color:var(--ink);background:var(--status-danger-soft);border-bottom:0;justify-content:space-between;align-items:center;gap:18px;margin:0;padding:12px 20px;display:flex}.registration-sync-issue>div{gap:3px;min-width:0;display:grid}.registration-sync-issue strong{font-size:.78rem}.registration-sync-issue span{color:var(--muted);font-size:.72rem;line-height:1.4}.registration-issue-bar{width:100%;z-index:var(--layer-popover);border-bottom:1px solid color-mix(in srgb, var(--danger) 38%, var(--border));background:color-mix(in srgb, var(--danger) 7%, var(--status-danger-soft));min-height:50px;color:var(--ink);margin-inline:0;position:relative}.registration-issue-summary{white-space:nowrap;align-items:center;gap:9px;min-height:50px;padding:6px 14px;display:flex;overflow:hidden}.registration-issue-summary strong{text-overflow:ellipsis;flex:0 auto;min-width:0;font-size:.75rem;overflow:hidden}.registration-issue-icon{width:16px;height:16px;color:var(--danger);flex:0 0 16px}.registration-issue-actions{align-self:stretch;align-items:center;gap:9px;margin-left:auto;display:flex}.registration-issue-bar .app-button{flex:none}.registration-issue-details{border:1px solid color-mix(in srgb, var(--danger) 38%, var(--border));background:var(--surface-raised);max-height:min(240px,45vh);box-shadow:var(--shadow-elevated);position:absolute;inset:100% 0 auto;overflow:auto}.registration-issue-details article{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 14px;font-size:.75rem;display:flex}.registration-issue-details article span{color:var(--muted)}.registration-issue-details article .app-button{margin-left:auto}@media (width<=760px){.registration-issue-bar{width:100%;margin-inline:0}.registration-sync-issue{flex-direction:column;align-items:stretch;gap:8px;width:100%;margin-inline:0;padding:10px 12px}.registration-sync-issue .button{width:100%}}@media (width>=761px){.workspace[data-layout=pax] .main{background:var(--surface);align-items:stretch;min-height:0;padding:0;overflow:hidden}.trip-workspace:not([hidden]){flex-direction:column;flex:auto;min-height:0;display:flex}.trip-workspace .trip-header{flex:none}.workspace[data-layout=pax] .trip-workspace:not([hidden]){--pax-registration-grid:minmax(280px, 1fr) 88px 88px 74px 82px 82px 82px 74px;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.are-bike-fields-hidden{--pax-registration-grid:minmax(360px, 1fr) 88px 88px 74px 82px}.workspace[data-layout=pax] .trip-workspace .trip-header{--trip-header-padding-block:0px;--trip-header-padding-inline:20px;border:0;border-bottom:1px solid #ffffff24;width:100%;min-height:64px;margin-inline:0;padding:0 20px}.workspace[data-layout=pax] .trip-workspace .trip-heading{font-size:1.58rem}}@media (width>=761px) and (width<=960px){.trip-workspace{--registration-dock-column:clamp(200px, 26vw, 220px);--registration-dock-padding:16px;--registration-field-width:50px;--registration-kpk-width:48px;--registration-bike-width:48px}.workspace[data-layout=pax] .trip-workspace:not([hidden]){--pax-registration-grid:minmax(var(--registration-dock-column), 1fr) 64px 64px 56px 68px 64px 64px 56px}.workspace[data-layout=pax] .trip-workspace.are-bike-fields-hidden{--pax-registration-grid:minmax(var(--registration-dock-column), 1fr) 76px 76px 64px 68px}.workspace[data-layout=pax] .trip-workspace .trip-heading{font-size:1.25rem}}@media (width>=761px) and (width<=960px) and (orientation:portrait){.trip-workspace{--registration-dock-column:164px;--registration-dock-padding:10px;--registration-row-height:64px;--registration-header-height:36px;--registration-cell-padding:3px;--registration-field-height:44px}.workspace[data-layout=pax] .trip-workspace:not([hidden],.are-bike-fields-hidden){--pax-registration-grid:minmax(154px, 164px) repeat(2, minmax(48px, 1fr)) minmax(38px, .8fr) repeat(3, minmax(44px, .9fr)) minmax(38px, .8fr)}}@media (width>=761px) and (width<=960px) and (orientation:landscape){.trip-workspace{--registration-dock-column:clamp(210px, 25vw, 230px);--registration-field-width:56px;--registration-kpk-width:50px;--registration-bike-width:50px}}@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{z-index:10;background:var(--surface);box-shadow:none;position:sticky;left:0}.stop-row td.stop-name{z-index:10;background:var(--registration-row-base);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(--registration-row-base)}.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}.trip-workspace 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)}.trip-workspace th:first-child{width:var(--registration-dock-column)}.trip-workspace th:nth-child(2),.trip-workspace th:nth-child(3){width:var(--registration-passenger-column)}.trip-workspace th:nth-child(4){width:var(--registration-passenger-total-column)}.trip-workspace th:nth-child(5),.trip-workspace th:nth-child(6),.trip-workspace th:nth-child(7){width:60px}.trip-workspace 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}.trip-workspace th{top:0}.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-workspace .table-wrap{width:100%;margin-inline:0}}@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:64px;min-height:40px;font-size:1rem}.workspace[data-layout=pax] .trip-workspace .number-input.kpk-input,.workspace[data-layout=pax] .trip-workspace .number-input.bike-input{width:56px}}@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:portrait){.workspace[data-layout=pax] .trip-workspace table{min-width:100%}.workspace[data-layout=pax] .trip-workspace .flow-not-applicable{width:100%}.workspace[data-layout=pax] .trip-workspace .stop-row td.stop-name{padding-block:2px}.workspace[data-layout=pax] .trip-workspace .stop-name-content{grid-template-rows:auto auto;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:0 4px;display:grid}.workspace[data-layout=pax] .trip-workspace .transition-stop-row .stop-name-content{grid-template-columns:minmax(0,1fr);align-content:center;gap:2px}.workspace[data-layout=pax] .trip-workspace .transition-stop-row .transition-title,.workspace[data-layout=pax] .trip-workspace .transition-stop-row .transition-label{grid-column:1;min-width:0}.workspace[data-layout=pax] .trip-workspace .transition-stop-row .transition-title{grid-row:1}.workspace[data-layout=pax] .trip-workspace .transition-stop-row .transition-label{grid-row:2}.workspace[data-layout=pax] .trip-workspace .stop-cancelled-control{grid-area:1/1/-1;width:28px;height:40px}.workspace[data-layout=pax] .trip-workspace .stop-time{grid-area:1/2}.workspace[data-layout=pax] .trip-workspace .stop-title{grid-area:2/2/auto/-1}.workspace[data-layout=pax] .trip-workspace .cancelled-stop-tag{grid-area:1/3}}@media (width>=761px) and (width<=960px) and (orientation:landscape){.workspace[data-layout=pax] .trip-workspace table{min-width:100%}}@media (width<=760px){.registration-workspace-layout{--registration-header-height:56px}.main:has(.trip-workspace:not([hidden])){overflow:hidden}.trip-workspace:not([hidden]){height:100%;max-height:100%;overflow:hidden}.trip-workspace .table-wrap{overscroll-behavior:contain;background:var(--surface-alt);flex:1 1 0;min-height:0;overflow:hidden auto}.trip-workspace .table-wrap table,.workspace[data-layout=pax] .trip-workspace .table-wrap table{border-collapse:separate;width:100%;min-width:0;display:block}.trip-workspace .table-wrap colgroup,.trip-workspace .table-wrap thead{display:none}.trip-workspace .table-wrap tbody{width:100%;padding:10px;display:block}.trip-workspace .stop-row,.workspace[data-layout=pax] .trip-workspace .stop-row{border:1px solid var(--border);border-radius:var(--panel-radius);background:var(--surface-raised);width:100%;min-height:0;box-shadow:var(--shadow-subtle);grid-template-rows:auto auto minmax(58px,auto) auto minmax(58px,auto);grid-template-columns:repeat(4,minmax(0,1fr));column-gap:0;margin:0 0 10px;padding:0;display:grid;position:relative;overflow:hidden}.trip-workspace .stop-row:before,.trip-workspace .stop-row:after{color:var(--muted);background:var(--surface-alt);letter-spacing:.12em;text-transform:uppercase;padding:8px 12px 4px;font-size:.61rem;font-weight:730}.trip-workspace .stop-row:before{content:"Passagerare";grid-area:2/1/auto/-1}.trip-workspace .stop-row:after{content:"Cyklar";grid-area:4/1/auto/-1}.workspace[data-layout=pax] .trip-workspace.are-bike-fields-hidden .stop-row{grid-template-rows:auto auto minmax(58px,auto)}.trip-workspace.are-bike-fields-hidden .stop-row:after{content:none}.trip-workspace .stop-row td,.workspace[data-layout=pax] .trip-workspace .stop-row td{background:var(--surface-raised);text-align:center;border:0;align-content:center;justify-items:center;gap:4px;width:auto;min-width:0;height:auto;padding:6px 4px 8px;display:grid;position:static}.trip-workspace .stop-row td:before{color:var(--muted);font-size:.61rem;font-weight:650;line-height:1}.trip-workspace .stop-row td:nth-child(2){grid-area:3/1}.trip-workspace .stop-row td:nth-child(2):before{content:"Av"}.trip-workspace .stop-row td:nth-child(3){grid-area:3/2}.trip-workspace .stop-row td:nth-child(3):before{content:"På"}.trip-workspace .stop-row td:nth-child(4){grid-area:3/3}.trip-workspace .stop-row td:nth-child(4):before{content:"Ombord"}.trip-workspace .stop-row td.kpk-cell{grid-area:3/4}.trip-workspace .stop-row td.kpk-cell:before{content:"KPK";background:0 0;width:auto;position:static}.trip-workspace .stop-row td.cycle-column-start{grid-area:5/1}.trip-workspace .stop-row td.cycle-column-start:before{content:"Av";background:0 0;width:auto;position:static}.trip-workspace .stop-row td.cycle-column-start+td{grid-area:5/2}.trip-workspace .stop-row td.cycle-column-start+td:before{content:"På"}.trip-workspace .stop-row td.bike-onboard-cell{grid-area:5/3}.trip-workspace .stop-row td.bike-onboard-cell:before{content:"Ombord"}.trip-workspace .stop-row td.stop-name,.workspace[data-layout=pax] .trip-workspace .stop-row td.stop-name{z-index:auto;align-items:center;justify-items:initial;border-bottom:1px solid var(--border);background:var(--surface-raised);min-height:58px;box-shadow:none;text-align:left;grid-area:1/1/auto/-1;padding:10px 12px;display:flex;position:static}.trip-workspace .stop-row td.stop-name:before{content:none}.workspace[data-layout=pax] .trip-workspace .stop-name-content{flex-direction:row;align-items:center;gap:8px}.workspace[data-layout=pax] .trip-workspace .stop-title,.workspace[data-layout=pax] .trip-workspace .stop-time{width:auto;font-size:.86rem}.trip-workspace .stop-row .number-input,.workspace[data-layout=pax] .trip-workspace .stop-row .number-input{width:min(58px,100% - 4px);min-height:42px;padding-inline:3px;font-size:.95rem}.trip-workspace .stop-row .flow-not-applicable{width:100%;min-height:42px}.trip-workspace .insert-row,.workspace[data-layout=pax] .trip-workspace .insert-row{width:100%;height:10px;padding:0;display:block}.trip-workspace .insert-row td,.workspace[data-layout=pax] .trip-workspace .insert-row td{display:none}.trip-workspace .insert-row .insert-cell,.workspace[data-layout=pax] .trip-workspace .insert-row .insert-cell{width:100%;height:10px;display:block;position:relative}.trip-workspace .insert-row button{margin:-4px auto 0}.trip-workspace .transition-stop-row{border-color:var(--transition-divider)}.trip-workspace .transition-stop-row.is-incoming,.trip-workspace .transition-stop-row.is-outgoing,.trip-workspace .transition-stop-row.is-incoming td,.trip-workspace .transition-stop-row.is-outgoing td{border-top-width:1px;border-bottom-width:1px}.trip-workspace .trip-statistics-row,.trip-workspace .trip-statistics-row td{width:100%;display:block}.trip-workspace .trip-statistics-row td{border:0;padding:10px}.trip-workspace .trip-statistics-field{border:1px solid var(--border);border-radius:var(--panel-radius);background:var(--surface-raised);justify-content:space-between;align-items:center;gap:12px;min-height:84px;padding:12px;display:flex}.trip-workspace .trip-statistics-copy{padding:0}.trip-workspace .trip-statistics-row .validated-tickets-control{margin-left:auto}}@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{--trip-header-padding-block:8px;--trip-header-padding-inline:14px;min-height:56px;padding:8px 14px}}.trip-manager{min-width:0;min-height:calc(var(--app-viewport-height,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;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;min-height:68px;display:flex;position:sticky;top:0}.trip-manager-toolbar .app-button svg{width:15px;height:15px}.trip-manager-toolbar-actions,.trip-manager-autosave{align-items:center;display:flex}.trip-manager-toolbar-identity{min-width:0;max-width:min(220px,30vw);color:var(--ink);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;opacity:0;visibility:hidden;font-size:1rem;font-weight:700;transition:opacity .14s,transform .14s,visibility .14s step-end;overflow:hidden;transform:translateY(4px)}.trip-manager-toolbar-identity.is-visible{opacity:1;visibility:visible;transition:opacity .14s,transform .14s,visibility step-start;transform:translateY(0)}.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-autosave[data-status=saving] i{background:var(--focus)}.trip-manager-autosave[data-status=offline] i{background:var(--warning)}.trip-manager-autosave[data-status=conflict] i,.trip-manager-autosave[data-status=error] i{background:var(--danger)}.trip-manager-heading{padding:38px 0 20px}.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-inline-link{color:inherit;-webkit-text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-underline-offset:2px;font-weight:600}.trip-manager-inline-link:hover,.trip-manager-inline-link:focus-visible{color:var(--focus);text-decoration-color:currentColor}.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-date{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 14px;margin-bottom:22px;padding:16px;display:grid}.trip-manager-date>span{color:var(--muted);font-size:var(--text-xs);letter-spacing:.11em;text-transform:uppercase;grid-column:1/-1;font-weight:700}.trip-manager-date__controls{grid-template-columns:42px minmax(0,1fr) 42px;width:min(520px,100%);display:grid}.trip-manager-date__controls>button{border:1px solid var(--border);color:var(--ink);background:var(--surface-raised);cursor:pointer;place-items:center;display:grid}.trip-manager-date__controls>button:disabled{cursor:default;opacity:.35}.trip-manager-date__controls svg{width:16px;height:16px}.trip-manager-date__picker{border-block:1px solid var(--border);background:var(--surface-raised);text-align:center;cursor:pointer;place-content:center;min-height:54px;display:grid;position:relative}.trip-manager-date__picker input{opacity:0;cursor:pointer;position:absolute;inset:0}.trip-manager-date__picker strong{font-size:.86rem;font-weight:680}.trip-manager-date__picker small{color:var(--muted);font-size:var(--text-xs);text-transform:capitalize;margin-top:3px}.trip-manager-overlap-summary{color:var(--warning);border:1px solid color-mix(in srgb, var(--warning) 35%, var(--border));background:color-mix(in srgb, var(--warning) 8%, var(--surface-raised));border-radius:999px;padding:5px 8px;font-weight:700}.trip-manager-list{border:1px solid var(--border);background:var(--surface-raised);overflow:hidden}.trip-manager-columns,.trip-manager-row{grid-template-columns:54px 112px minmax(260px,1fr) 84px;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;position:relative}.trip-manager-row.is-extra-trip{background:color-mix(in srgb, var(--focus) 5%, var(--surface-raised));box-shadow:inset 3px 0 color-mix(in srgb, var(--focus) 62%, var(--border))}.trip-manager-row.is-extra-trip:hover{background:color-mix(in srgb, var(--focus) 9%, var(--surface-raised))}.trip-manager-row.is-cancelled,.trip-manager-row.is-cancelled:hover{background:color-mix(in srgb, var(--muted) 7%, var(--surface-raised));box-shadow:none;border-bottom-color:var(--border-strong)}.trip-manager-row.is-cancelled .trip-manager-time,.trip-manager-row.is-cancelled .trip-manager-route>strong,.trip-manager-row.is-cancelled .trip-manager-route>small{color:var(--muted)}.trip-manager-row:last-child{border-bottom:0}.trip-manager-row:hover{background:var(--surface)}.trip-manager-row.is-expanded,.trip-manager-row.is-expanded:hover{border-block:1px solid var(--focus);background:color-mix(in srgb, var(--focus) 7%, var(--surface-raised));box-shadow:inset 3px 0 var(--focus), inset -1px 0 var(--focus);margin-block:12px}.trip-manager-active-control{cursor:pointer;place-items:center;width:32px;min-height:32px;display:grid}.trip-manager-active-control:has(input:disabled){cursor:default;opacity:.5}.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-route .trip-manager-overlap-warning{color:var(--warning);font-weight:700}.trip-manager-extra-tag,.trip-manager-cancelled-tag{width:fit-content;font-size:var(--text-xs);color:var(--focus);border:1px solid color-mix(in srgb, var(--focus) 30%, var(--border));background:color-mix(in srgb, var(--focus) 7%, var(--surface-raised));border-radius:999px;margin:7px 5px 0 0;padding:3px 7px;font-weight:700;line-height:1.2;display:inline-flex}.trip-manager-cancelled-tag{color:var(--ink);border-color:var(--border-strong);background:var(--surface)}.trip-manager-controls{justify-content:flex-end;gap:5px;display:flex}.trip-manager-controls .app-button.is-ghost{color:var(--muted);border-color:#0000}.trip-manager-controls .app-button[aria-expanded=true]{color:var(--focus);border-color:var(--focus);background:var(--surface-raised)}.trip-manager-controls .app-button.is-ghost:hover:not(:disabled),.trip-manager-controls .app-button.is-ghost:focus-visible{color:var(--ink);border-color:var(--border-strong);background:var(--surface)}.trip-manager-controls .trip-manager-remove-action:hover:not(:disabled),.trip-manager-controls .trip-manager-remove-action:focus-visible{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 38%, var(--border));background:color-mix(in srgb, var(--danger) 7%, var(--surface-raised))}.trip-manager-empty{color:var(--muted);text-align:center;padding:64px 16px;font-size:.78rem}.trip-manager-add{margin:0}.trip-manager-return{justify-content:flex-end;padding-top:28px;display:flex}@media (width<=760px){.trip-manager{padding:0 12px 32px}.trip-manager-toolbar{align-items:flex-start;min-height:58px;padding-block:10px;top:0}.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-date{grid-template-columns:1fr;padding-inline:0}.trip-manager-date .app-button{justify-self:end}.trip-manager-columns{display:none}.trip-manager-row{grid-template-rows:auto auto;grid-template-columns:40px 68px minmax(0,1fr) 76px;gap:5px 8px;min-height:82px;padding:11px 10px}.trip-manager-active-control,.trip-manager-time{grid-row:1/span 2}.trip-manager-route{grid-area:1/3}.trip-manager-controls{grid-area:1/4/span 2}}@media (width<=480px){.trip-manager-toolbar .app-button{min-height:var(--control-height-compact);padding-inline:11px}.trip-manager-toolbar-actions{gap:6px}.trip-manager-autosave[data-status=synced]{display:none}.trip-manager-undo span:last-child{max-width:none;line-height:1.15}.trip-manager-row{grid-template-rows:auto auto auto;grid-template-columns:36px 62px minmax(0,1fr)}.trip-manager-route{grid-column:3}.trip-manager-controls{grid-area:3/3;justify-content:flex-end;margin-top:5px}}.trip-cancellation-options{border:0;gap:10px;margin:20px 0;padding:0;display:grid}.trip-cancellation-options legend{margin-bottom:10px;font-weight:600}.trip-cancellation-options label{border:1px solid var(--border);cursor:pointer;border-radius:4px;align-items:flex-start;gap:12px;padding:12px;display:flex}.trip-cancellation-options label:has(input:checked){border-color:var(--focus)}.trip-cancellation-options input{flex:none;width:18px;height:18px;margin:2px 0}.trip-cancellation-options span{gap:4px;display:grid}.trip-cancellation-options small{color:var(--muted);line-height:1.5}.trip-cancellation-dialog textarea{border:1px solid var(--border);background:var(--surface-raised);width:100%;color:var(--ink);font:inherit;resize:vertical;border-radius:4px;padding:10px 12px;line-height:1.5}.trip-cancellation-dialog textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.trip-manager-cancellation-edit{min-height:32px;color:var(--focus);justify-self:start;padding:4px 0}.trip-stop-editor{border:1px solid var(--border);background:var(--surface-raised);min-width:0;color:var(--ink);grid-column:1/-1;margin-top:8px}.trip-stop-editor-heading{border-bottom:1px solid var(--border);padding:18px}.trip-stop-editor-heading h2{font-size:var(--text-sm);margin:0}.trip-stop-editor-heading p{color:var(--muted);font-size:var(--text-xs);margin:8px 0 0;line-height:1.5}.trip-stop-editor-list{margin:0;padding:0;list-style:none}.trip-stop-editor-list li+li{border-top:1px solid var(--border)}.trip-stop-editor-list .is-cancelled{background:color-mix(in srgb, var(--muted) 14%, var(--surface-raised));color:var(--muted)}.trip-stop-editor-stop{grid-template-columns:24px 60px minmax(0,1fr) minmax(260px,36%);place-items:center start;gap:12px;width:100%;height:auto;min-height:48px;padding:10px 18px;display:grid}.trip-stop-editor-stop input{width:100%;height:100%}.trip-stop-editor-stop:has(input:disabled){cursor:default}.trip-stop-editor-time{font-variant-numeric:tabular-nums;font-size:var(--text-xs)}.trip-stop-editor-name{overflow-wrap:anywhere;min-width:0;font-size:var(--text-sm)}.trip-stop-editor-statistics{font-variant-numeric:tabular-nums;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;display:grid}.trip-stop-editor-statistic{text-align:right;gap:4px;display:grid}.trip-stop-editor-statistic small{color:var(--muted);font-size:var(--text-xs)}.trip-stop-editor-statistic small[data-app-tooltip]{z-index:1;cursor:help;text-underline-offset:3px;justify-self:end;width:fit-content;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;position:relative}.trip-stop-editor-statistic strong{font-size:var(--text-sm);font-weight:600}.trip-stop-editor-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 18px;display:flex}.trip-stop-editor-actions .app-button{white-space:normal}@media (width<=760px){.trip-stop-editor{grid-row:4}}@media (width<=960px){.trip-stop-editor-stop{grid-template-columns:24px 60px minmax(0,1fr)}.trip-stop-editor-statistics{grid-column:2/-1}.trip-stop-editor-statistic{text-align:left}.trip-stop-editor-statistic small[data-app-tooltip]{justify-self:start}}.map-panel{background:#dfe4e3;flex-direction:column;min-width:0;min-height:calc(100vh - 72px);display:flex;position:relative;overflow:hidden}.map-stage{background:#dfe4e3;width:100%;height:100%;min-height:calc(100vh - 72px);position:relative;overflow:hidden}.paxreg-map{width:100%;height:100%;min-height:calc(100vh - 72px);font-family:inherit}.paxreg-map .maplibregl-canvas{display:block;width:100%!important;height:100%!important}.maplibregl-map{background:#dfe4e3}.maplibregl-ctrl-attrib,.maplibregl-popup-content{box-shadow:none;border-radius:0}.maplibregl-ctrl-attrib{color:var(--muted);font-size:var(--text-xs);background:#f8f8f6f0;padding:3px 7px;margin:0 10px 10px 6px!important}:root[data-theme=dark] .maplibregl-ctrl-attrib.maplibregl-compact{color:var(--ink)!important;background-color:color-mix(in srgb, var(--surface-raised) 94%, transparent)!important}:root[data-theme=dark] .maplibregl-ctrl-attrib-button{filter:invert();background-color:#0000!important}.maplibregl-ctrl-attrib a{color:var(--ink);text-decoration:none}.maplibregl-popup-content{border:1px solid var(--ink);background:var(--surface);border-color:var(--border-strong);border-radius:4px;box-shadow:0 8px 24px #10101024}.maplibregl-popup-tip{box-shadow:none}.maplibregl-popup-anchor-top .maplibregl-popup-tip,.maplibregl-popup-anchor-top-left .maplibregl-popup-tip,.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{border-bottom-color:var(--surface)}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip,.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip,.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{border-top-color:var(--surface)}.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:var(--surface)}.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:var(--surface)}.map-navigation-controls{z-index:var(--layer-map-overlay);gap:6px;display:grid;position:absolute;bottom:44px;right:10px}.map-navigation-controls .app-button{box-shadow:0 4px 14px #090d0b2e}.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;grid-row:1;position:relative}.map-filter-trigger{position:relative}.map-filter-trigger[aria-expanded=true]{border-color:var(--app-button-hover-border);background:var(--surface-alt)}.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-popover{border:var(--control-border-strong);width:280px;max-height:min(680px,100vh - 110px);color:var(--ink);background:var(--surface-raised);box-shadow:var(--shadow-floating);overscroll-behavior:contain;padding:0;position:absolute;top:calc(100% + 10px);right:0;overflow-y:auto}.map-filter-heading{border-bottom:1px solid var(--border);padding:14px 16px 13px}.map-filter-heading>span{color:var(--muted);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;font-weight:650}.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;color:var(--muted)}.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{border:1px solid color-mix(in srgb, var(--ink) 24%, transparent);width:16px;height:16px;color:var(--ink-inverse);background:var(--surface-raised);border-radius:3px;place-items:center;display:grid}.map-filter-check svg{width:11px;height:11px}.map-transport-filter input:checked+.map-filter-check{color:var(--control-selected-ink);border-color:var(--control-selected-border);background:var(--control-selected-surface)}.map-transport-filter input:disabled+.map-filter-check{border-color:color-mix(in srgb, var(--muted) 28%, transparent);color:#0000;background:color-mix(in srgb, var(--muted) 5%, var(--surface-raised))}.map-transport-filter__dot{background:var(--danger,#b4423a);border-radius:50%;width:8px;height:8px}.map-transport-filter__dot.is-ferry{background:#73a9f6}.map-transport-filter__dot.is-tram{background:#2467a8}.map-transport-filter__dot.is-bus{background:#a85d13}.map-transport-filter label.is-disabled .map-transport-filter__dot{background:color-mix(in srgb, var(--muted) 44%, var(--surface-raised))}.map-filter-select-section{border-top:1px solid var(--border);gap:7px;padding:11px 14px 13px;display:grid}.map-filter-section-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.64rem;font-weight:700}.map-filter-select-section .app-dropdown__trigger{background:var(--surface-raised)}.map-filter-selection-hint{min-height:1.35em;color:var(--muted);font-size:.64rem;line-height:1.35}@media (width<=760px){.map-panel,.map-stage{min-height:500px}.paxreg-map{height:500px;min-height:500px}.map-top-controls{width:min(360px,100% - 20px);top:10px;right:10px}}.map-panel,.map-stage,.paxreg-map{min-height:calc(100vh - var(--topbar-height))}@media (width<=960px){.map-panel,.map-stage,.paxreg-map{min-height:calc(100dvh - var(--topbar-height))}}.map-panel>.map-stage{flex:1;height:auto;min-height:0}.map-source-controls{color:var(--ink);background:var(--surface);border-bottom:1px solid var(--border);font-size:var(--text-sm);flex-wrap:wrap;flex:none;align-items:center;gap:8px 16px;padding:8px 12px;display:flex}.map-source-explanation{flex-basis:100%;align-items:center;gap:12px;display:flex}.map-source-explanation p{flex:1}.map-missing-vessels{position:relative}.map-missing-vessels summary{cursor:pointer;padding:8px 0}.map-missing-vessels ul{z-index:calc(var(--layer-map-overlay) + 2);background:var(--surface);border:1px solid var(--border);width:240px;max-height:220px;padding:8px;list-style:none;position:absolute;top:100%;right:0;overflow:auto}.map-missing-vessels button{text-align:left;width:100%;min-height:40px}.traffic-workspace:not(.is-standalone) .traffic-workspace__surface.is-map{box-sizing:border-box;padding-top:52px}.traffic-workspace:not(.is-standalone) .traffic-workspace__surface.is-map .map-panel .map-top-controls{top:12px}@media (width<=480px){.map-missing-vessels{flex-basis:100%}.map-missing-vessels ul{width:100%;left:0;right:auto}}.maplibregl-popup{z-index:10}.map-stop-marker{z-index:1;cursor:pointer;background:0 0;border:0;place-items:center;width:18px;height:18px;padding:0;display:grid!important}.map-stop-marker__dot{background:var(--map-stop-marker);width:7px;height:7px;box-shadow:0 0 0 4px var(--map-stop-marker-ring), 0 1px 3px #090d0b33;border:0;border-radius:50%;transition:scale .12s,background-color .12s;display:block}.map-stop-marker:hover .map-stop-marker__dot,.map-stop-marker:focus-visible .map-stop-marker__dot{background:var(--map-stop-marker);scale:1.25}.map-stop-marker:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.map-kpk-marker{z-index:2;background:0 0;border:0;width:auto!important;height:auto!important}.map-kpk-marker:has(details[open]){z-index:4}.map-kpk-marker details{border:1px solid color-mix(in srgb, var(--ink) 70%, transparent);border-radius:var(--control-radius);width:max-content;max-width:min(320px,100vw - 40px);color:var(--surface-raised);background:color-mix(in srgb, var(--ink) 92%, transparent);box-shadow:0 2px 8px #090d0b47}.map-kpk-marker__label{cursor:pointer;grid-template-columns:minmax(0,1fr) 12px;gap:5px 18px;min-width:180px;min-height:48px;padding:10px 12px;font-size:.7rem;line-height:1.35;list-style:none;display:grid}.map-kpk-marker__label:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.map-kpk-marker__name{overflow-wrap:anywhere;font-size:.8rem}.map-kpk-marker__estimates{grid-column:1;gap:3px;display:grid}.map-kpk-marker__chevron{border-bottom:2px solid;border-right:2px solid;grid-area:1/2/span 2;align-self:center;width:8px;height:8px;transform:rotate(45deg)}.map-kpk-marker details[open] .map-kpk-marker__chevron{transform:rotate(225deg)}.map-kpk-marker__label::marker{content:""}.map-kpk-marker__label::-webkit-details-marker{display:none}.map-kpk-marker__details{border-top:1px solid color-mix(in srgb, currentColor 25%, transparent);padding:10px 12px;font-size:.68rem;line-height:1.5}.map-kpk-marker__details p,.map-kpk-marker__departures,.map-kpk-marker__departures dd{margin:0}.map-kpk-marker__departures{gap:6px;margin-top:8px;display:grid}.map-kpk-marker__departures>div{grid-template-columns:max-content minmax(0,1fr);gap:16px;display:grid}.map-kpk-marker__departures dd{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-weight:600}.map-kpk-marker__sources{border-top:1px solid color-mix(in srgb, currentColor 25%, transparent);margin-top:10px;padding-top:8px}.maplibregl-popup:has(.map-stop-popup) .maplibregl-popup-content{color:var(--ink);overflow:hidden;border-color:color-mix(in srgb, var(--border-strong) 72%, transparent)!important;background:var(--surface-raised)!important;border-radius:12px!important;padding:0!important;box-shadow:0 18px 48px #090d0b38,0 3px 10px #090d0b1f!important}:is(.maplibregl-popup:has(.map-stop-popup).maplibregl-popup-anchor-top .maplibregl-popup-tip,.maplibregl-popup:has(.map-stop-popup).maplibregl-popup-anchor-top-left .maplibregl-popup-tip,.maplibregl-popup:has(.map-stop-popup).maplibregl-popup-anchor-top-right .maplibregl-popup-tip){border-bottom-color:var(--surface-raised)!important}:is(.maplibregl-popup:has(.map-stop-popup).maplibregl-popup-anchor-bottom .maplibregl-popup-tip,.maplibregl-popup:has(.map-stop-popup).maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip,.maplibregl-popup:has(.map-stop-popup).maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip){border-top-color:var(--surface-raised)!important}.maplibregl-popup:has(.map-stop-popup).maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:var(--surface-raised)!important}.maplibregl-popup:has(.map-stop-popup).maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:var(--surface-raised)!important}.map-stop-popup{width:284px;max-height:min(420px,50dvh - 80px);color:var(--ink);background:var(--surface-raised);overflow-y:auto}.map-stop-popup__header{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--accent) 10%, var(--surface-raised));gap:5px;padding:16px 44px 15px 16px;display:grid;position:relative}.map-stop-popup__header:before{background:var(--accent);content:"";border-radius:0 3px 3px 0;width:3px;position:absolute;inset:12px auto 12px 0}.map-stop-popup__eyebrow,.map-stop-popup__section-heading>span{color:color-mix(in srgb, var(--accent) 76%, var(--ink));letter-spacing:.1em;text-transform:uppercase;font-size:.6rem;font-weight:800}.map-stop-popup__title{color:var(--ink);font-size:.94rem;font-weight:760;line-height:1.25}.map-stop-popup__section{padding:13px 14px 14px}.map-stop-popup__section+.map-stop-popup__section{border-top:1px solid var(--border)}.map-stop-popup__section.is-previous{background:color-mix(in srgb, var(--ink) 2%, var(--surface-raised))}.map-stop-popup__section-heading{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.map-stop-popup__departures{gap:5px;margin:0;padding:0;list-style:none;display:grid}.map-stop-departure{background:color-mix(in srgb, var(--ink) 2%, var(--surface-raised));border:1px solid #0000;border-radius:7px;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:8px;min-height:38px;padding:6px 8px;display:grid}.map-stop-popup__section.is-upcoming .map-stop-departure:first-child{border-color:color-mix(in srgb, var(--accent) 28%, transparent);background:color-mix(in srgb, var(--accent) 12%, var(--surface-raised))}.map-stop-departure__time{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:780}.map-stop-popup__section.is-upcoming .map-stop-departure:first-child .map-stop-departure__time{color:color-mix(in srgb, var(--accent) 82%, var(--ink))}.map-stop-departure__vessel{min-width:0;color:var(--ink);align-items:center;gap:7px;font-size:.71rem;display:flex}.map-stop-departure__vessel-text{gap:2px;min-width:0;display:grid}.map-stop-departure__vessel strong{text-overflow:ellipsis;white-space:nowrap;font-weight:680;overflow:hidden}.map-stop-departure__destination{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;font-weight:560;line-height:1.2;overflow:hidden}.map-stop-departure__vessel-dot{background:var(--accent);border-radius:50%;flex:0 0 6px;width:6px;height:6px}.map-stop-popup__totals{border-top:1px solid var(--border);background:color-mix(in srgb, var(--accent) 5%, var(--surface-raised));padding:13px 14px 14px}.map-stop-popup__totals .map-stop-popup__section-heading{margin-bottom:8px}.map-stop-departure__counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.map-stop-departure__counts>div{border:1px solid var(--border);background:var(--surface-raised);text-align:center;border-radius:7px;align-content:center;gap:2px;min-height:48px;padding:7px 10px;display:grid}.map-stop-departure__counts dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.53rem;font-weight:700}.map-stop-departure__counts dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-size:.86rem;font-weight:800}.map-stop-popup__empty{color:var(--muted);padding:5px 7px 3px;font-size:.66rem;display:block}.maplibregl-popup:has(.map-stop-popup) .maplibregl-popup-close-button{width:30px;height:30px;color:var(--muted);border-radius:50%;place-items:center;font-size:1.05rem;line-height:1;display:grid;top:7px;right:7px;background:0 0!important;padding:0!important}:is(.maplibregl-popup:has(.map-stop-popup) .maplibregl-popup-close-button:hover,.maplibregl-popup:has(.map-stop-popup) .maplibregl-popup-close-button:focus-visible){color:var(--ink);background:var(--surface-alt)!important}.maplibregl-popup:has(.map-stop-popup) .maplibregl-popup-close-button:focus-visible{box-shadow:inset 0 0 0 2px var(--focus);outline:none}.map-vessel-marker{--map-vessel-label-anchor-x:80px;z-index:2;color:#73a9f6;background:0 0;border:0;place-items:center;width:46px;height:46px;padding:0;display:grid!important}.map-vessel-marker.is-own-vessel{color:var(--status-success)}.map-vessel-marker.is-no-current-trip{color:#89939d}.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-delayed .map-vessel-marker__body{opacity:.72}.map-vessel-marker.is-stale .map-vessel-marker__body{opacity:.6}.map-vessel-marker__label{top:50%;left:calc(var(--map-vessel-label-anchor-x) + var(--map-vessel-label-offset-x,0px));z-index:1;border:1px solid var(--border);min-width:142px;color:inherit;background:color-mix(in srgb, var(--surface-alt) 94%, transparent);font-size:var(--text-xs);text-align:left;white-space:nowrap;transform:translateY(calc(-50% + var(--map-vessel-label-offset-y,0px)));pointer-events:none;opacity:0;visibility:hidden;border-left:2px solid;gap:2px;padding:7px 9px;line-height:1.2;transition:opacity .18s,transform .14s;display:grid;position:absolute;box-shadow:0 3px 10px #0000004d}.map-vessel-marker__label.is-layout-ready{opacity:1;visibility:visible}.map-vessel-marker__label:before{width:var(--map-vessel-connector-horizontal,20px);content:"";border-top:1px solid;position:absolute;top:50%;right:100%}.map-vessel-marker__label:after{width:var(--map-vessel-connector-diagonal-length,0px);top:50%;right:calc(100% + var(--map-vessel-connector-horizontal,20px));content:"";transform:rotate(var(--map-vessel-connector-diagonal-angle,0deg));transform-origin:100%;border-top:1px solid;position:absolute}.map-vessel-marker__connector-dot{top:calc(50% + var(--map-vessel-connector-end-y,0px) - 2px);right:calc(100% + var(--map-vessel-connector-end-x,24px) - 2px);width:4px;height:4px;color:inherit;box-shadow:0 0 0 2px var(--surface-alt);background:currentColor;border-radius:50%;position:absolute}.map-vessel-marker.is-own-vessel .map-vessel-marker__label:before,.map-vessel-marker.is-own-vessel .map-vessel-marker__label:after{border-top-color:var(--status-success)}.map-vessel-marker.is-no-current-trip .map-vessel-marker__label:before,.map-vessel-marker.is-no-current-trip .map-vessel-marker__label:after{border-top-color:#89939d}.map-vessel-marker__label strong,.map-vessel-marker__capacity{color:var(--ink)}.map-vessel-marker__navigation{font-variant-numeric:tabular-nums}.map-vessel-marker__label>span:not(.map-vessel-marker__capacity,.map-vessel-marker__connector-dot){color:var(--muted)}.map-vessel-marker.is-delayed .map-vessel-marker__age,.map-vessel-marker.is-stale .map-vessel-marker__age{color:var(--warning)}.map-vehicle-symbol{object-fit:contain;-webkit-user-select:none;user-select:none;width:20px;height:40px;display:block}.map-vehicle-symbol--ferry{width:16px;height:32px}.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}.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)}.map-vessel-marker.is-stale .map-vessel-marker__body svg path:first-child{fill:var(--surface);stroke:currentColor;stroke-width:4px;stroke-dasharray:5 3}.map-vessel-marker.is-stale .map-vessel-marker__body *{transition:none;animation:none}.map-vessel-marker__name small{font-size:.65rem;font-weight:400;display:block}.map-detail-panel{z-index:var(--layer-map-overlay);width:min(360px,100% - 76px);min-height:0;max-height:calc(100% - 24px);color:var(--ink);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--control-radius);box-shadow:var(--shadow-floating);flex-direction:column;display:flex;position:absolute;inset:12px auto auto 12px}.map-detail-panel__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.map-detail-panel__category{color:var(--muted);font-size:var(--text-xs)}.map-detail-panel h2{overflow-wrap:anywhere;margin:4px 0 0;font-size:1rem}.map-detail-panel__body{overscroll-behavior:contain;min-height:0;padding:16px;font-size:.875rem;overflow-y:auto}.map-detail-content,.map-dock-content{gap:16px;display:grid}.map-detail-content p{margin:0}.map-detail-panel__lead{font-size:.875rem;font-weight:600}.map-detail-panel__hint{color:var(--muted);line-height:1.5}.map-detail-facts{gap:12px;margin:0;display:grid}.map-detail-facts>div{justify-content:space-between;gap:12px;display:flex}.map-detail-facts dt{color:var(--muted)}.map-detail-facts dd{font-variant-numeric:tabular-nums;text-align:right;margin:0}.map-dock-departures h3{color:var(--muted);margin:16px 0 8px;font-size:.75rem;font-weight:500}.map-dock-departures p{color:var(--muted);font-size:.75rem}.map-dock-all-departures>summary{cursor:pointer;padding:12px 0}.map-detail-panel .map-kpk-marker__details{font-size:inherit;border:0;padding:0}.map-detail-panel .map-kpk-marker__departures>div{border-bottom:1px solid var(--border);grid-template-columns:1fr;gap:3px;padding:8px 0}.map-detail-panel .map-kpk-marker__departures dd{text-align:left}.map-view-presets{grid-template-columns:1fr 1fr;gap:8px;padding:16px;display:grid}.map-view-presets .app-button[aria-pressed=true]{background:var(--surface-alt);border-color:var(--ink)}.map-view-presets p{color:var(--muted);font-size:var(--text-xs);grid-column:1/-1;margin:4px 0 0;line-height:1.5}.map-advanced-options>summary{cursor:pointer;border-top:1px solid var(--border);padding:12px 16px;font-size:.875rem}.map-vessel-marker__name,.map-stop-marker__name{text-overflow:ellipsis;white-space:nowrap;border-radius:var(--control-radius);background:var(--surface-raised);max-width:130px;color:var(--ink);font-size:var(--text-xs);pointer-events:none;padding:2px 5px;line-height:1.4;position:absolute;top:calc(100% + 3px);left:50%;overflow:hidden;transform:translate(-50%)}.map-vessel-marker.is-compact:not(.is-own-vessel,.is-selected) .map-vessel-marker__body{scale:.8}.map-vessel-marker.is-selected{z-index:5;outline:2px solid var(--focus);outline-offset:3px}.paxreg-map[data-map-detail=overview] .map-vessel-marker:not(.is-own-vessel,.is-selected,:focus-visible,:hover) .map-vessel-marker__name,.paxreg-map:not([data-map-detail=detail]) .map-stop-marker:not(:focus-visible,:hover) .map-stop-marker__name{display:none}.map-kpk-marker.is-panel-trigger details{color:var(--ink);background:var(--surface-raised);border-color:var(--border-strong);box-shadow:var(--shadow-subtle)}.map-kpk-marker.is-panel-trigger .map-kpk-marker__label{gap:3px 8px;min-width:0;min-height:36px;padding:6px 8px}.map-kpk-marker.is-panel-trigger .map-kpk-marker__chevron{width:6px;height:6px;transform:rotate(-45deg)}.paxreg-map[data-map-detail=overview] .map-kpk-marker.is-panel-trigger .map-kpk-marker__name{display:none}@media (width<=760px){.map-detail-panel{width:auto;max-height:46%;inset:auto 8px 8px}.map-detail-panel__header{padding:10px 14px}.map-detail-panel__body{padding:14px}.map-stage:has(.map-detail-panel) .map-navigation-controls{bottom:calc(46% + 20px)}}.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;position:absolute;top:18px;right: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-required-text{gap:8px;margin-top:20px;display:grid}.confirm-required-text span{color:var(--muted);font-size:.78rem;font-weight:700}.confirm-required-text input{border:1px solid var(--border-strong);border-radius:var(--control-radius);width:100%;min-height:42px;color:var(--ink);background:var(--surface-raised);padding:0 11px}.confirm-required-text input:focus-visible{border-color:var(--focus);outline:2px solid color-mix(in srgb, var(--focus) 28%, transparent);outline-offset:1px}.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-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}.replacement-program-dialog{width:min(620px,100% - 32px)}.replacement-program-field{gap:8px;margin-top:24px;display:grid}.replacement-program-field>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.replacement-program-field select{border:1px solid var(--border-strong);border-radius:var(--control-radius);width:100%;min-height:46px;color:var(--ink);background:var(--surface-raised);padding:0 12px}.replacement-program-summary,.replacement-program-note,.replacement-program-empty{border:1px solid var(--border);background:var(--surface-alt);margin-top:16px;padding:13px 14px}.replacement-program-summary{gap:4px;display:grid}.replacement-program-summary span,.replacement-program-note,.replacement-program-empty{color:var(--muted);font-size:.78rem;line-height:1.45}.dock-time-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dock-time-fields .field{margin-block:0}.dock-validation-error{border-left:3px solid var(--danger);color:var(--ink);background:var(--status-danger-soft);gap:4px;padding:11px 12px;display:grid}.dock-validation-error strong{font-size:.78rem}.dock-validation-error span{color:var(--muted);font-size:.72rem;line-height:1.4}.dock-time-fields input[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.stop-time-dialog{width:min(600px,100% - 32px)}.stop-time-fields{gap:12px;margin-top:24px;display:grid}.stop-time-field{border:1px solid var(--border);background:var(--surface-alt);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:14px;display:grid}.stop-time-field .field{margin:0}.stop-time-field .app-button{white-space:nowrap;margin-bottom:1px}.stop-time-dialog .dock-validation-error{margin-top:14px}@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 .app-button{flex:auto}.dock-time-fields,.stop-time-field{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}}.vessel-change-dialog{border-radius:var(--control-radius);width:min(520px,100vw - 32px);overflow:hidden}.changelog-page{gap:32px;width:min(900px,100%);margin:0 auto;display:grid}.changelog-page__header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;display:grid}.changelog-page__header h1{margin:4px 0 8px;font-size:clamp(1.8rem,3vw,2.6rem)}.changelog-page__header>p:last-child{color:var(--muted);margin:0}.changelog-page__header>div:first-child>p:last-child{max-width:540px;color:var(--muted);margin:0;line-height:1.55}.changelog-current{border:1px solid color-mix(in srgb, var(--accent) 24%, var(--border));border-radius:var(--panel-radius);background:color-mix(in srgb, var(--accent) 6%, var(--surface-raised));gap:3px;min-width:190px;padding:16px 18px;display:grid}.changelog-current span{color:var(--accent-strong);letter-spacing:.09em;text-transform:uppercase;font-size:.6rem;font-weight:720}.changelog-current strong{letter-spacing:-.025em;font-size:1.25rem}.changelog-current time{color:var(--muted);font-size:.68rem}.changelog-list{gap:10px;display:grid}.changelog-release{border:1px solid var(--border);border-radius:var(--panel-radius);background:var(--surface-raised);box-shadow:var(--shadow-subtle)}.changelog-release>summary{cursor:pointer;justify-content:space-between;align-items:start;gap:18px;padding:18px 20px;list-style:none;display:flex}.changelog-release>summary::-webkit-details-marker{display:none}.changelog-release>summary>div{align-items:center;gap:9px;display:flex}.changelog-release h2{margin:0;font-size:1rem}.changelog-release__badge{color:var(--muted);background:var(--surface-alt);border-radius:999px;padding:3px 6px;font-size:.6rem;font-weight:700}.changelog-release__badge.is-current{color:var(--accent-strong);background:color-mix(in srgb, var(--accent) 12%, var(--surface))}.changelog-release__meta{justify-content:flex-end}.changelog-release__meta time{color:var(--muted);white-space:nowrap;font-size:.68rem}.changelog-release__chevron{border-bottom:1.5px solid;border-right:1.5px solid;width:8px;height:8px;transition:transform .15s;transform:rotate(45deg)translateY(-2px)}.changelog-release[open] .changelog-release__chevron{transform:rotate(225deg)translate(-2px,-2px)}.changelog-release ul{border-top:1px solid var(--border);color:var(--muted);gap:7px;margin:0 20px 20px;padding:17px 0 0 18px;font-size:.8rem;line-height:1.55;display:grid}.changelog-release.is-current{border-color:color-mix(in srgb, var(--accent) 32%, var(--border));box-shadow:inset 3px 0 var(--accent);background:color-mix(in srgb, var(--accent) 4%, var(--surface-raised))}.vessel-change-dialog>form{grid-template-rows:minmax(0,1fr) auto;max-height:calc(100vh - 32px);display:grid}.vessel-change-body h2{margin-top:8px}.vessel-change-body .dialog-copy{margin-top:12px}.vessel-change-field>span{color:var(--muted);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:650}.vessel-change-body{gap:8px;min-height:0;display:grid;overflow-y:auto}.vessel-change-field{gap:8px;margin-top:18px;display:grid}.vessel-change-field .app-dropdown__menu{max-height:none;margin-top:6px;position:static;overflow:visible}.vessel-change-empty{border:1px solid var(--border);color:var(--muted);background:var(--surface-alt);margin:18px 0 0;padding:13px 14px;font-size:.78rem}@media (width<=480px){.changelog-page__header{grid-template-columns:1fr;gap:20px}.changelog-current{min-width:0}.changelog-release{padding:0}.changelog-release>summary,.changelog-release>summary>div{flex-direction:column;align-items:flex-start;gap:7px}.changelog-release>summary{padding:16px 18px}.changelog-release__meta{justify-content:space-between;width:100%;flex-direction:row!important}.changelog-release ul{margin-inline:18px}}.login-dialog{width:100%;max-width:none;height:100dvh;max-height:none;color:var(--ink);background:var(--surface-raised);box-shadow:none;border:0;margin:0;inset:0;overflow:hidden}.login-dialog::backdrop{background:var(--surface-raised)}@media (prefers-reduced-motion:no-preference){.login-dialog[open],.login-dialog[open]::backdrop{animation:none}}.login-card{grid-template-columns:minmax(440px,1.08fr) minmax(500px,.92fr);width:100%;min-height:100dvh;margin:0;display:grid}.login-intro{isolation:isolate;min-height:100dvh;color:var(--operational-ink);background:radial-gradient(circle at 80% 18%,#4393e747,#0000 27%),linear-gradient(145deg,#111a26 0%,#182b42 54%,#0d1722 100%);place-items:center;padding:clamp(34px,5vw,72px);display:grid;position:relative;overflow:hidden}.login-product-mark{align-items:center;display:flex;position:absolute;top:clamp(34px,5vw,72px);left:clamp(34px,5vw,72px)}.login-brand,.login-product-mark img{border-radius:var(--control-radius);width:54px;height:54px}.login-intro-copy{text-align:left;width:min(440px,100%)}.login-intro-copy h1{color:var(--operational-ink);letter-spacing:-.06em;margin:0;font-size:clamp(2.5rem,4.5vw,4.8rem);font-weight:380;line-height:.95}.login-lead{color:var(--operational-muted);margin:13px 0 0;font-size:.9rem;line-height:1.55}.login-session-copy,.login-field-error-text{color:var(--operational-muted);margin:14px 0 0;font-size:.76rem;line-height:1.5}.login-field-error-text{color:#ffb7b1;font-weight:650}.field.login-field{gap:8px;margin:24px 0 0}.field.login-field>.login-field-label{color:var(--operational-ink);letter-spacing:.06em;font-size:.68rem;font-weight:650}.field.login-field>small{color:var(--operational-muted);font-size:var(--text-xs);letter-spacing:0;font-weight:450;line-height:1.4}.login-intro .app-dropdown__trigger{color:#111a26;background:#fff;border-color:#ffffffbd}.login-intro .app-dropdown__trigger:hover:not(:disabled),.login-intro .app-dropdown__trigger:focus-visible{background:#fff;border-color:#fff}.login-intro .app-dropdown__chevron{color:#516171}.login-button.app-button{--app-button-ink:#111a26;--app-button-border:#fff;--app-button-surface:#fff;--app-button-hover-ink:#111a26;--app-button-hover-border:#dcecff;--app-button-hover-surface:#dcecff;width:100%;min-height:var(--control-height-large);justify-content:space-between;margin-top:26px;padding-inline:18px;font-size:.82rem;box-shadow:0 18px 42px #0000003d}.login-button.app-button svg{width:16px;height:16px;transition:transform .18s}.login-button.app-button:hover:not(:disabled) svg,.login-button.app-button:focus-visible svg{transform:translate(4px)}.login-contact{color:var(--operational-muted);text-align:left;border-top:1px solid #ffffff2e;gap:7px;margin-top:24px;padding-top:18px;font-size:.72rem;font-style:normal;line-height:1.5;display:grid}.login-contact p{margin:0}.login-contact a{color:var(--operational-ink);text-underline-offset:3px;font-weight:650}.login-contact a:hover,.login-contact a:focus-visible{color:#bfe2ff}.login-entry{background:radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--accent-soft) 32%, transparent), transparent 31%), var(--surface-alt);place-items:center;min-height:100dvh;padding:clamp(34px,6vw,90px);display:grid;position:relative}.login-theme-toggle.app-button{width:var(--control-height);height:var(--control-height);z-index:12;position:fixed;top:clamp(24px,3vw,44px);right:clamp(24px,3vw,44px)}.login-sheet-handle.app-button,.login-sheet-backdrop.app-button{display:none}.login-entry-inner{width:min(470px,100%);position:relative}.login-entry-inner:before{content:"";background:var(--accent);border-radius:2px;width:42px;height:4px;position:absolute;top:-34px;left:0}.login-entry-inner>h2{max-width:470px;color:var(--ink);letter-spacing:-.06em;margin:0 0 34px;font-size:clamp(2.5rem,4.6vw,4.6rem);font-weight:390;line-height:.96}.login-pilot-note{padding:0}.login-pilot-note strong{color:var(--ink);font-size:1.05rem;font-weight:680;line-height:1.35;display:block}.login-pilot-note p{max-width:460px;color:var(--muted);margin:13px 0 0;font-size:.9rem;line-height:1.68}.login-pilot-note p+p{margin-top:16px}.login-voluntary-note{border-top:1px solid color-mix(in srgb, var(--accent) 22%, var(--border));margin-top:25px;padding-top:23px}.login-voluntary-note strong,.login-voluntary-note p{color:var(--ink)}.login-voluntary-note strong{font-size:.92rem}.login-voluntary-note p{margin-top:7px}@media (height<=680px) and (width>=961px){.login-intro,.login-entry{min-height:620px}}@media (width<=960px){.login-dialog,.login-dialog::backdrop,.login-card{background:#111a26}.login-card{min-height:100dvh;display:block}.login-intro{min-height:100dvh;padding:max(24px, env(safe-area-inset-top,0px)) max(22px, env(safe-area-inset-right,0px)) 104px max(22px, env(safe-area-inset-left,0px));overflow-y:auto}.login-product-mark{top:max(24px, env(safe-area-inset-top,0px));left:max(22px, env(safe-area-inset-left,0px))}.login-brand,.login-product-mark img{width:44px;height:44px}.login-intro-copy{width:min(470px,100%)}.login-theme-toggle.app-button{--app-button-ink:var(--operational-ink);--app-button-border:#ffffff3d;--app-button-surface:#ffffff12;--app-button-hover-ink:var(--operational-ink);--app-button-hover-border:#ffffff6b;--app-button-hover-surface:#ffffff1f;z-index:7;top:max(18px, env(safe-area-inset-top,0px));right:max(18px, env(safe-area-inset-right,0px))}.login-sheet-backdrop.app-button{z-index:8;background:#050c1461;border:0;border-radius:0;width:auto;min-height:0;padding:0;display:block;position:fixed;inset:0}.login-entry{--login-sheet-top:max(92px, calc(env(safe-area-inset-top,0px) + 72px));--login-sheet-drag:0px;width:100%;height:calc(100dvh - var(--login-sheet-top));z-index:10;border:1px solid var(--border);background:var(--surface-raised);border-bottom:0;border-radius:22px 22px 0 0;flex-direction:column;min-height:0;padding:0;transition:transform .34s cubic-bezier(.2,.78,.22,1);display:flex;position:fixed;bottom:0;left:0;overflow:hidden;transform:translateY(calc(100% - 72px));box-shadow:0 -18px 56px #050c1438}.login-entry.is-open{transform:translateY(var(--login-sheet-drag))}.login-entry.is-dragging{transition:none}.login-sheet-handle.app-button{--app-button-border:transparent;--app-button-surface:var(--surface-raised);--app-button-hover-border:transparent;--app-button-hover-surface:var(--surface-alt);border:0;border-bottom:1px solid var(--border);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:0;flex:0 0 72px;justify-content:space-between;width:100%;min-height:72px;padding:0 24px;font-size:.84rem;font-weight:680;display:inline-flex;position:relative}.login-sheet-handle.app-button:before{content:"";background:var(--border-strong);border-radius:999px;width:38px;height:4px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.login-sheet-handle.app-button svg{width:18px;height:18px}.login-entry-inner{width:100%;max-width:560px;min-height:0;padding:28px 28px max(48px, env(safe-area-inset-bottom,0px));visibility:hidden;opacity:0;flex:1;margin-inline:auto;transition:opacity .18s;overflow-y:auto}.login-entry.is-open .login-entry-inner{visibility:visible;opacity:1}.login-entry-inner:before,.login-entry-inner>h2{display:none}}@media (width<=760px){.login-intro-copy h1{font-size:clamp(2.4rem,11vw,3.2rem)}.login-entry{--login-sheet-top:max(84px, calc(env(safe-area-inset-top,0px) + 68px))}.login-entry-inner{padding-inline:22px}}@media (height<=620px) and (width<=960px){.login-intro{place-items:start center}.login-intro-copy{margin-top:84px}}@media (prefers-reduced-motion:reduce){.login-entry,.login-entry-inner{transition:none}}.catalog-dialog{width:min(1080px,100% - 32px)}.catalog-page{background:0 0;border:0;border-radius:0;width:min(1080px,100%);min-height:calc(100dvh - 92px);margin:0 auto;overflow:visible}.catalog-page>form{min-height:inherit;grid-template-rows:minmax(0,1fr) auto;display:grid}.catalog-page .catalog-body{min-height:0}.catalog-page .catalog-list{max-height:none}.catalog-page .dialog-actions{z-index:var(--layer-navigation);border-top:1px solid var(--border);background:var(--surface-raised);position:sticky;bottom:0}.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:150px 145px 125px minmax(180px,1fr) 135px;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-date-display{align-items:center;display:flex}.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(90px,130px) 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-vessel{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:650;overflow:hidden}.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}.catalog-empty p{margin:0}.catalog-empty .text-button{margin-top:12px}.catalog-pagination{justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.catalog-pagination>div{color:var(--muted);text-align:center;font-size:.7rem}.catalog-pagination strong{color:var(--ink);display:block}.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-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)}.dock-combobox{min-width:0;position:relative}.dock-combobox>input{width:100%;padding-right:38px}.dock-combobox>button{width:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;inset:1px 1px 1px auto}.dock-combobox>button svg{width:14px;height:14px}.dock-combobox-options{z-index:calc(var(--layer-dialog) + 2);position:fixed;overflow-y:auto}.dock-combobox-options>button{border-radius:calc(var(--control-radius) - 1px);width:100%;min-height:36px;color:var(--ink);cursor:pointer;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;justify-content:space-between;align-items:center;padding:7px 10px;font-size:.78rem;display:flex;overflow:hidden}.dock-combobox-options>button.is-selected{font-weight:700}.dock-combobox-check-icon{flex:none;width:14px;height:14px}.dock-combobox-options>p{color:var(--muted);margin:0;padding:12px 10px;font-size:.76rem}.remove-custom-stop{justify-self:center}.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){.catalog-pagination{flex-wrap:wrap}.catalog-pagination>div{order:-1;width:100%}.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-vessel{grid-area:3/3}}.catalog-total,.line-badge{border-color:var(--border);border-radius:var(--control-radius)}.report-dialog{width:min(1080px,100vw - 32px);max-height:min(860px,100vh - 32px);overflow:hidden}.report-dialog[open]{flex-direction:column;display:flex}.report-dialog .dialog-body{flex:auto;min-height:0;padding:28px 32px 22px;overflow:auto}.report-dialog .dialog-body h2{margin:7px 0 0;font-size:clamp(1.55rem,3vw,2rem)}.report-dialog .dialog-actions{z-index:2;box-shadow:0 -8px 22px color-mix(in srgb, var(--canvas) 10%, transparent);flex:none;position:relative}.report-lines{margin:22px 0 0}.report-summary-grid{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.report-summary-card{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);flex-direction:column;justify-content:space-between;gap:8px;min-height:104px;padding:14px 16px;display:flex}.report-summary-label{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:.67rem;font-weight:680}.report-summary-value{color:var(--ink);font-size:2rem;font-weight:560;line-height:1}.report-table-wrap{border:1px solid var(--border);margin-top:20px;overflow-x:auto}.report-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:680px;font-size:.76rem}.report-table th,.report-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:10px 11px}.report-table th{z-index:1;color:var(--muted);background:var(--surface-alt);letter-spacing:.075em;text-transform:uppercase;font-size:.61rem;font-weight:680;position:sticky;top:0}.report-table th:first-child{width:84px}.report-table th:nth-child(2){width:auto}.report-table th:nth-child(3),.report-table th:nth-child(4){width:125px}.report-table th:nth-child(5){width:110px}.report-table th:nth-child(6){width:82px}.report-table tbody tr:last-child td{border-bottom:0}.report-table tbody tr:hover{background:var(--surface-alt)}.report-table .is-numeric{text-align:right;font-variant-numeric:tabular-nums}.report-trip-time,.report-trip-route,.report-trip-capacity{line-height:1.25}.report-trip-time strong,.report-trip-time small,.report-trip-route strong,.report-trip-route small,.report-trip-capacity strong,.report-trip-capacity small{display:block}.report-trip-time small,.report-trip-route small,.report-trip-capacity small{color:var(--muted);margin-top:3px;font-size:.66rem}.report-trip-route strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.report-trip-count,.report-trip-capacity strong{color:var(--ink);font-size:.88rem;font-weight:620}.report-trip-delay small{max-width:130px;color:var(--muted);white-space:normal;margin-top:3px;font-size:.62rem;font-weight:500;line-height:1.25;display:block}.report-trip-note-action{text-align:center!important}.report-note-button{min-width:64px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;padding:0 9px;font-size:.68rem;font-weight:650;display:inline-grid}.report-note-button:hover,.report-note-button:focus-visible,.report-note-button.has-note{color:var(--metric-accent);border-color:var(--border);background:var(--surface)}.report-note-row td{background:var(--surface-alt);padding:14px 16px 16px}.report-note-row.is-collapsed-note{display:none}.report-note-row label,.report-day-note>span{color:var(--ink);font-size:.73rem;font-weight:650;display:block}.report-note-row textarea,.report-day-note textarea{resize:vertical;border:1px solid var(--border);width:100%;color:var(--ink);background:var(--canvas);font:inherit;border-radius:6px;margin-top:8px;padding:10px 12px;line-height:1.45}.report-note-row small,.report-day-note small{color:var(--muted);margin-top:6px;font-size:.66rem;display:block}.report-system-note{border-left:3px solid var(--metric-accent);background:var(--surface);gap:2px;margin-top:8px;padding:9px 11px;font-size:.72rem;display:grid}.report-note-save-row{justify-content:space-between;align-items:center;gap:12px;margin-top:6px;display:flex}.report-note-save-row small{margin:0}.report-day-note{border:1px solid var(--border);background:var(--surface);margin-top:20px;padding:16px;display:block}.report-note-print{display:none}.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-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 (width<=760px){.report-dialog{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.report-dialog .dialog-body{padding:22px 18px 18px}.report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-summary-card{min-height:96px;padding:12px}.report-dialog .dialog-actions .app-button{flex:auto}}@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 .dialog-body{padding:0;overflow:visible}.report-table-wrap{overflow:visible}.report-table{min-width:0;font-size:8pt}.report-table th{position:static}.report-note-row.is-collapsed-note{display:table-row}.report-note-row textarea,.report-day-note textarea,.report-note-row small,.report-day-note small{display:none}.report-note-print{white-space:pre-wrap;margin:8px 0 0;display:block}.report-dialog::backdrop,.report-dialog .dialog-actions{display:none}}.vessel-report-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:start;gap:16px;padding-bottom:18px;display:flex}.vessel-report-heading h2,.vessel-reports-history h2{margin:0 0 8px;font-size:1rem}.vessel-report-heading p{color:var(--muted);margin:0;font-size:.8rem}.vessel-report-heading a{color:var(--muted);text-underline-offset:3px;font-size:.78rem}.vessel-reports-history{border:1px solid var(--border);background:var(--surface-raised);padding:22px}.vessel-reports-filter{flex-wrap:wrap;align-items:end;gap:12px;margin-top:18px;display:flex}.vessel-reports-filter label{min-width:0;color:var(--muted);gap:8px;font-size:.78rem;display:grid}.vessel-reports-filter input,.vessel-report-review textarea{border:1px solid var(--border);border-radius:var(--control-radius);background:var(--surface);width:100%;min-width:0;color:var(--ink);font:inherit;padding:10px}.vessel-reports-list{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));max-height:260px;margin:20px 0 0;padding:0;list-style:none;display:grid;overflow:auto}.vessel-reports-list button{text-align:left;border:1px solid #0000;border-bottom-color:var(--border);width:100%;color:var(--ink);cursor:pointer;background:0 0;border-radius:0;gap:5px;padding:14px;display:grid}.vessel-reports-list button[aria-current]{background:var(--surface-alt);box-shadow:inset 3px 0 var(--ink)}.vessel-reports-list span,.vessel-reports-list small{color:var(--muted);font-size:.78rem}.vessel-report-detail{min-width:0}.vessel-report-actions{flex-wrap:wrap;gap:8px;display:flex}.vessel-report-versions{gap:8px;max-width:420px;margin:20px 0;font-size:.8rem;display:grid}.vessel-report-edit-help,.vessel-report-review{background:var(--surface-raised);border:1px solid var(--border);margin:20px 0;padding:20px}.vessel-report-review{gap:12px;display:grid}.vessel-report-difference{border-top:1px solid var(--border);overflow-wrap:anywhere;white-space:pre-wrap;padding-top:8px}.vessel-report-print-title{display:none}.vessel-report-print{flex-direction:column;display:flex}.vessel-report-print .report-summary-grid{order:-2;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:20px}.vessel-report-print .report-summary-card{min-height:88px}.vessel-report-print .report-summary-value{font-size:1.6rem}.vessel-report-print .report-day-note textarea{min-height:76px;font-size:.84rem}.vessel-report-print .report-day-note{order:-1}.vessel-report-print .report-table{min-width:1100px}@media (width<=1100px){.vessel-report-print .report-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.vessel-report-print .report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vessel-report-heading{flex-direction:column}.vessel-reports-history{padding:16px}.vessel-reports-filter label{flex:120px}}@media print{body .vessel-report-print,body .vessel-report-print *{visibility:visible!important}.vessel-report-print{color:#000;background:#fff;padding:12px;position:absolute;inset:0}.vessel-report-print-title{order:-2;display:block}.vessel-report-print .report-table{table-layout:auto;min-width:0;font-size:7pt}.vessel-report-print .report-table th{width:auto}.vessel-report-print textarea,.vessel-report-print .report-note-save-row,.vessel-report-print .report-trip-note-action{display:none}.vessel-report-print .report-note-print{white-space:pre-wrap;display:block}.vessel-report-print .report-table-wrap{overflow:visible}.vessel-report-print tr{break-inside:avoid}}.traffic-workspace{width:100%;height:calc(var(--app-viewport-height,100dvh) - var(--topbar-height));background:var(--surface);grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative;overflow:hidden;container-type:inline-size}.traffic-workspace__toolbar{height:52px;z-index:calc(var(--layer-map-overlay) + 1);border-top:1px solid var(--border);border-bottom:1px solid color-mix(in srgb, var(--border) 78%, transparent);background:color-mix(in srgb, var(--surface-raised) 78%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;justify-content:flex-end;align-items:center;padding:8px 12px;display:flex;position:absolute;inset:0 0 auto}.traffic-workspace__toolbar .app-button{pointer-events:auto}.traffic-workspace__surface{min-height:0}.traffic-workspace__surface.is-overview{background:var(--canvas);padding-top:52px;overflow:auto}.traffic-workspace__surface.is-map{overflow:hidden}.traffic-workspace:not(.is-standalone) .traffic-workspace__surface.is-map .map-top-controls{top:64px}.traffic-workspace__surface.is-map,.traffic-workspace__surface.is-map :is(.map-panel,.map-stage,.paxreg-map){height:100%;min-height:0}.workspace.has-shared-trip-header>.traffic-workspace{height:100%}.traffic-workspace.is-standalone,.traffic-workspace.is-standalone :is(.traffic-workspace__surface,.map-panel,.map-stage,.paxreg-map){height:100%;min-height:0}.traffic-workspace__coming-soon{height:100%;min-height:0;color:var(--muted);background:var(--canvas);letter-spacing:.04em;place-items:center;padding:32px;font-size:.9rem;font-weight:650;display:grid}.compact-fleet{color:var(--lightningcss-light,var(--ink))var(--lightningcss-dark,var(--muted));background:var(--lightningcss-light,var(--surface))var(--lightningcss-dark,var(--canvas))}.compact-fleet__header,.compact-fleet__row{grid-template-columns:minmax(110px,.9fr) minmax(170px,1.5fr) repeat(3,minmax(64px,.55fr));align-items:center;column-gap:14px;display:grid}.compact-fleet__header{z-index:1;border-bottom:1px solid var(--lightningcss-light,var(--border-strong))var(--lightningcss-dark,var(--border));min-height:40px;color:var(--muted);background:var(--surface-alt);letter-spacing:.1em;text-transform:uppercase;padding:8px 18px;font-size:.62rem;font-weight:750;position:sticky;top:0}.compact-fleet__header>span:nth-child(4){text-align:center}.compact-fleet__sort-button{min-height:0;font:inherit;padding:0}.compact-fleet__header>span:nth-child(3) .fleet-sort-button{justify-content:center}.compact-fleet__header>span:nth-child(5) .fleet-sort-button{justify-content:flex-end}.compact-fleet__row{border-bottom:1px solid var(--border);min-height:66px;padding:9px 18px}.compact-fleet__row.is-alternating{background:var(--registration-row-alternating)}.compact-fleet__row:hover{background:var(--registration-row-hover)}.compact-fleet__row.is-relevant{color:var(--ink)}.compact-fleet :is(.compact-fleet__vessel,.compact-fleet__route,.compact-fleet__metric){gap:3px;min-width:0;display:grid}.compact-fleet :is(.compact-fleet__vessel,.compact-fleet__route)>strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compact-fleet__vessel>strong{letter-spacing:.035em;text-transform:uppercase;font-size:.78rem}.compact-fleet :is(.compact-fleet__vessel,.compact-fleet__route,.compact-fleet__metric) small,.compact-fleet__route>span{color:var(--muted);font-size:.65rem}.compact-fleet__vessel small{align-items:center;gap:6px;display:flex}.compact-fleet__vessel small>span{background:var(--muted);border-radius:50%;flex:none;width:7px;height:7px}.compact-fleet__vessel small.is-active>span{background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb, var(--success) 13%, transparent)}.compact-fleet__vessel small.is-upcoming>span{background:var(--focus)}.compact-fleet__route>strong{font-size:.74rem}.compact-fleet__metric{grid-template-columns:auto auto;justify-content:start;align-items:baseline}.compact-fleet__row>.compact-fleet__metric:nth-child(3),.compact-fleet__row>.compact-fleet__metric:nth-child(4){justify-content:center}.compact-fleet__row>.compact-fleet__metric:nth-child(5){justify-content:end}.compact-fleet__metric strong{font-size:.94rem}.compact-fleet__message{min-height:160px;color:var(--muted);text-align:center;place-content:center;gap:12px;padding:24px;display:grid}@container (width<=590px){.compact-fleet__header,.compact-fleet__row{grid-template-columns:minmax(92px,.9fr) minmax(125px,1.35fr) repeat(3,minmax(48px,.5fr));column-gap:8px;padding-inline:10px}.compact-fleet__header{font-size:.55rem}.compact-fleet__row{min-height:60px}.compact-fleet :is(.compact-fleet__route,.compact-fleet__vessel)>strong{font-size:.69rem}.compact-fleet__metric strong{font-size:.82rem}}@container (width<=470px){.compact-fleet__header,.compact-fleet__row{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) repeat(3,minmax(38px,48px))}.compact-fleet :is(.compact-fleet__header>span:first-child,.compact-fleet__vessel){grid-area:1/1}.compact-fleet :is(.compact-fleet__header>span:nth-child(2),.compact-fleet__route){grid-area:2/1}.compact-fleet :is(.compact-fleet__header>span:nth-child(n+3),.compact-fleet__metric){grid-row:1/3}.compact-fleet__header>span:nth-child(3),.compact-fleet__row>.compact-fleet__metric:nth-child(3){grid-column:2}.compact-fleet__header>span:nth-child(4),.compact-fleet__row>.compact-fleet__metric:nth-child(4){grid-column:3}.compact-fleet__header>span:nth-child(5),.compact-fleet__row>.compact-fleet__metric:nth-child(5){grid-column:4}.compact-fleet__metric{text-align:center;grid-template-columns:1fr;justify-items:center}.compact-fleet__metric small{font-size:.58rem}}.traffic-operations{background:radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--registration-header) 8%, transparent), transparent 30%), var(--canvas);width:100%;min-width:0;min-height:100%;padding:clamp(24px,3vw,46px)}.traffic-operations__intro{justify-content:space-between;align-items:center;gap:24px;display:flex}.traffic-operations__date,.traffic-operations__updated{color:var(--muted)}.traffic-operations__date{letter-spacing:.13em;text-transform:uppercase;font-size:.72rem;font-weight:700}.traffic-operations__updated{font-variant-numeric:tabular-nums;font-size:.7rem}.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-summary-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.traffic-summary-kpis.is-vessel-view{grid-template-columns:repeat(3,minmax(0,1fr))}.traffic-summary-kpis article{border:1px solid var(--border);background:var(--surface-raised);align-content:center;gap:4px;min-height:92px;padding:14px 16px;display:grid}.traffic-summary-kpis span,.traffic-summary-kpis small{color:var(--muted);font-size:.66rem}.traffic-summary-kpis span{letter-spacing:.07em;text-transform:uppercase;font-weight:700}.traffic-summary-kpis strong{font-size:1.4rem}.traffic-attention{border:1px solid color-mix(in srgb, var(--warning) 48%, var(--border));background:var(--status-warning-soft);margin-top:12px;padding:14px 16px}.traffic-attention h2{margin:3px 0 0;font-size:.95rem}.traffic-attention ul{gap:5px;margin:12px 0 0;padding-left:20px;font-size:.72rem;display:grid}.traffic-operations__grid{margin-top:22px}.fleet-panel{border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-subtle)}.fleet-table-wrap{min-height:260px;position:relative;overflow-x:auto}.fleet-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:900px;font-size:.72rem}.fleet-table th{z-index:auto;width:auto;height:auto;position:static;top:auto}.fleet-table th:first-child{width:18%}.fleet-table th:nth-child(2){width:32%}.fleet-table th:is(:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)){width:12.5%}.fleet-table th,.fleet-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:16px 20px}.fleet-table thead th{color:var(--muted);background:var(--surface-alt);padding:0}.fleet-sort-button{width:100%;min-height:54px;color:inherit;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:13px 20px;display:flex}.fleet-sort-button:hover,.fleet-sort-button:focus-visible{color:var(--ink);background:color-mix(in srgb, var(--registration-header) 5%, var(--surface-alt))}.fleet-table thead strong{letter-spacing:.1em;text-transform:uppercase;font-size:.64rem;font-weight:720}.fleet-sort-indicator{min-width:18px;color:var(--interactive-muted);text-align:center;opacity:.55;font-size:.85rem}:is([aria-sort=ascending],[aria-sort=descending]) .fleet-sort-indicator{color:var(--navy);opacity:1}.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 tr.is-active>th{box-shadow:inset 3px 0 var(--success)}.fleet-table tbody tr.is-selected>*{background:color-mix(in srgb, var(--focus) 8%, var(--surface-raised))}.fleet-vessel-cell{cursor:pointer}.fleet-vessel-cell:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.fleet-table tbody th>strong{letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:720;display:block}.fleet-table tbody th small,.fleet-table td small{color:var(--muted);font-size:.61rem}.fleet-vessel-status{align-items:center;gap:6px;margin-top:6px;font-weight:560;display:flex}.fleet-vessel-status>span{background:var(--interactive-muted);border-radius:50%;flex:none;width:6px;height:6px}.fleet-vessel-status.is-active>span{background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb, var(--success) 15%, transparent)}.fleet-vessel-status.is-upcoming>span{background:var(--status-pending)}.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}.traffic-dashboard-filter{border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-subtle);align-items:end;gap:10px;padding:12px;display:flex}.traffic-dashboard-filter__date,.traffic-dashboard-filter__field{gap:6px;display:grid}.traffic-dashboard-filter__date>span,.traffic-dashboard-filter__field>span{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:.61rem;font-weight:750}.traffic-dashboard-filter__date>div{display:flex}.traffic-dashboard-filter__date button,.traffic-dashboard-filter__date input,.traffic-dashboard-filter__today,.traffic-dashboard-filter__reset{border:1px solid var(--border);min-height:40px;color:var(--ink);background:var(--surface);font:inherit}.traffic-dashboard-filter__date button{cursor:pointer;place-items:center;width:40px;display:grid}.traffic-dashboard-filter__date button:disabled{opacity:.38;cursor:default}.traffic-dashboard-filter__date button svg{width:16px;height:16px}.traffic-dashboard-filter__date input{border-inline:0;min-width:154px;padding:0 10px;font-size:.74rem;font-weight:650}.traffic-dashboard-filter__field{min-width:170px}.traffic-dashboard-filter__field .app-dropdown__trigger{min-height:40px}.traffic-dashboard-filter__today,.traffic-dashboard-filter__reset{cursor:pointer;padding:0 14px;font-size:.7rem;font-weight:700}.traffic-dashboard-filter__today{color:var(--action-primary-ink);background:var(--action-primary-surface)}.traffic-dashboard-filter__reset{margin-left:auto}.traffic-dashboard-filter button:hover:not(:disabled),.traffic-dashboard-filter button:focus-visible,.fleet-vessel-cell button:focus-visible{border-color:var(--border-strong);outline:2px solid var(--focus);outline-offset:1px}.traffic-dashboard-filter+.traffic-operations__intro{margin-top:12px}.traffic-summary-kpis article.has-warning{border-color:color-mix(in srgb, var(--warning) 55%, var(--border));background:var(--status-warning-soft)}.traffic-dashboard-primary{grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:12px;margin-top:12px;display:grid}.traffic-dashboard-primary.is-vessel-view{grid-template-columns:minmax(0,1fr)}.traffic-dashboard-panel{border:1px solid var(--border);background:var(--surface-raised);min-width:0;box-shadow:var(--shadow-subtle)}.traffic-dashboard-panel>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;min-height:70px;padding:14px 16px;display:flex}.traffic-dashboard-panel>header h2{margin:3px 0 0;font-size:.94rem}.traffic-dashboard-panel>header>small{max-width:360px;color:var(--muted);text-align:right;font-size:.64rem}.traffic-chart-legend{color:var(--muted);gap:12px;font-size:.66rem;display:flex}.traffic-chart-legend span{align-items:center;gap:5px;display:flex}.traffic-chart-legend span:before{content:"";background:var(--navy);width:8px;height:8px}.traffic-chart-legend .is-alighted:before{background:color-mix(in srgb, var(--navy) 35%, var(--surface))}.traffic-passenger-chart{background:repeating-linear-gradient(to top, transparent 0 49px, var(--border) 50px);align-items:stretch;gap:clamp(4px,.9vw,14px);height:250px;padding:24px 18px 14px;display:flex;overflow-x:auto}.traffic-passenger-chart__hour{flex:1 0 32px;grid-template-rows:minmax(0,1fr) 22px;gap:8px;min-width:32px;display:grid}.traffic-passenger-chart__bars{justify-content:center;align-items:end;gap:2px;display:flex}.traffic-passenger-chart__bars span{background:var(--navy);width:min(13px,42%);min-height:2px}.traffic-passenger-chart__bars .is-alighted{background:color-mix(in srgb, var(--navy) 35%, var(--surface))}.traffic-passenger-chart time{color:var(--muted);text-align:center;font-variant-numeric:tabular-nums;font-size:.58rem}.traffic-dashboard-panel__empty{min-height:250px;color:var(--muted);place-items:center;margin:0;font-size:.72rem;display:grid}.traffic-attention{border-color:var(--border);background:var(--surface-raised);margin-top:0;padding:0}.traffic-attention ul{margin:0;padding:16px 20px 18px 36px}.traffic-attention__clear{min-height:250px;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:6px;display:grid}.traffic-attention__clear>span{width:34px;height:34px;color:var(--success);background:color-mix(in srgb, var(--success) 12%, transparent);border-radius:50%;place-items:center;font-weight:800;display:grid}.traffic-attention__clear strong{color:var(--ink);font-size:.78rem}.traffic-attention__clear small{font-size:.64rem}.traffic-dock-balance,.fleet-panel{margin-top:12px}.traffic-dock-balance__table-wrap,.fleet-table-wrap{overflow-x:auto}.traffic-dock-balance table{border-collapse:collapse;width:100%;min-width:760px;font-size:.71rem}.traffic-dock-balance th,.traffic-dock-balance td{border-bottom:1px solid var(--border);text-align:right;padding:11px 16px}.traffic-dock-balance th:first-child{text-align:left}.traffic-dock-balance thead th{color:var(--muted);background:var(--surface-alt);letter-spacing:.07em;text-transform:uppercase;font-size:.6rem}.traffic-dock-balance tbody tr:last-child>*{border-bottom:0}.traffic-dock-balance td small{color:var(--muted);font-size:.59rem;display:block}.traffic-balance-state{color:var(--success);background:color-mix(in srgb, var(--success) 10%, transparent);border-radius:999px;padding:4px 8px;font-size:.59rem;font-weight:750;display:inline-block}.traffic-balance-state.is-watch{color:var(--warning-ink,var(--ink));background:var(--status-warning-soft)}.traffic-balance-state.is-high{color:var(--danger);background:var(--status-danger-soft)}.fleet-vessel-cell{padding:0!important}.fleet-vessel-cell>button{width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:16px 20px;display:block}.fleet-vessel-cell>button>strong{letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:720;display:block}@media (width<=960px){.traffic-dashboard-filter{flex-wrap:wrap;align-items:stretch}.traffic-dashboard-filter__reset{margin-left:0}.traffic-dashboard-primary{grid-template-columns:1fr}}@media (width<=760px){.traffic-operations{padding:16px}.traffic-dashboard-filter__date,.traffic-dashboard-filter__date>div,.traffic-dashboard-filter__field,.traffic-dashboard-filter__today,.traffic-dashboard-filter__reset{width:100%}.traffic-dashboard-filter__date input{flex:1;min-width:0}.traffic-summary-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.traffic-dashboard-panel>header{flex-direction:column;align-items:flex-start}.traffic-dashboard-panel>header>small{text-align:left}}.dock-overview{padding:clamp(20px,3vw,46px)}.dock-overview__loading,.dock-overview__empty{min-height:240px;color:var(--muted);place-items:center;padding:32px;display:grid}.dock-overview__header{justify-content:space-between;align-items:center;gap:20px;display:flex}.dock-overview__header h2{margin:4px 0 0;font-size:clamp(1.5rem,2.5vw,2.1rem)}.dock-overview__sort{display:flex}.dock-overview__sort button{border:1px solid var(--border);min-height:40px;color:var(--muted);background:var(--surface-raised);cursor:pointer;font:inherit;padding:0 13px;font-size:.7rem;font-weight:700}.dock-overview__sort button+button{border-left:0}.dock-overview__sort button[aria-pressed=true]{color:var(--action-primary-ink);border-color:var(--action-primary-surface);background:var(--action-primary-surface)}.dock-overview__kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 14px;display:grid}.dock-overview__kpis article{border:1px solid var(--border);background:var(--surface-raised);gap:4px;padding:13px 15px;display:grid}.dock-overview__kpis span{color:var(--muted);font-size:.65rem}.dock-overview__kpis strong{font-size:1.3rem}.dock-overview__list{gap:14px;display:grid}.dock-overview-card{border:1px solid var(--border);background:var(--surface-raised);grid-template-columns:minmax(380px,1.15fr) minmax(320px,.85fr);gap:24px;padding:20px;display:grid}.dock-overview-card h2{margin:0 0 16px;font-size:1.1rem}.dock-overview-card__title{justify-content:space-between;align-items:start;gap:12px;display:flex}.dock-overview-card__title>span{color:var(--warning);background:var(--status-warning-soft);border-radius:999px;padding:4px 7px;font-size:.62rem;font-weight:700}.dock-overview-card dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;display:grid}.dock-overview-card dl>div{border:1px solid var(--border);background:var(--surface);padding:10px}.dock-overview-card dt{color:var(--muted);font-size:.62rem}.dock-overview-card dd{margin:5px 0 0;font-size:1.05rem;font-weight:750}.dock-overview-card__departures{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.dock-overview-card__departures h3{color:var(--muted);text-transform:uppercase;margin:0 0 10px;font-size:.67rem}.dock-overview-card__departures ol,.dock-overview-card__departures p{gap:7px;margin:0;padding:0;font-size:.72rem;list-style:none;display:grid}.dock-overview-card__departures li{display:grid}.dock-overview-card__departures li,.dock-overview-card__departures p{grid-template-columns:42px minmax(0,1fr)}.dock-overview-card__departures time{font-variant-numeric:tabular-nums;font-weight:750}.dock-overview-card__departures span{color:var(--muted);grid-column:1/-1}@media (width<=960px){.dock-overview-card{grid-template-columns:1fr}}@media (width<=760px){.dock-overview__header{flex-direction:column;align-items:stretch}.dock-overview__kpis,.dock-overview-card dl,.dock-overview-card__departures{grid-template-columns:repeat(2,minmax(0,1fr))}}.operator-vessel-filter{width:min(280px,100%)}.operator-vessel-filter .app-dropdown{width:100%}.operator-vessel-filter .app-dropdown__trigger{border-radius:0;min-height:54px}.operator-section-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:20px;display:flex}.operator-section-heading span{color:var(--muted);font-size:var(--text-xs)}.operator-card .operator-section-heading h2{margin:0}.fleet-columns{color:var(--muted);background:var(--surface-alt);grid-template-columns:minmax(80px,1fr) minmax(160px,2fr) 1fr 1fr 16px;gap:14px;padding:12px 6px;font-size:.7rem;font-weight:700;display:grid}.operator-card{border:1px solid var(--border);background:var(--surface-raised);border-radius:0;min-width:0;padding:22px}.operator-card h2,.operator-card h3{margin:0 0 12px;font-size:1rem}.operator-card p,.fleet-trip-details p{color:var(--muted);font-size:.8rem}.passenger-flow-card header{justify-content:space-between;align-items:center;gap:12px;display:flex}.passenger-flow-card header>div:last-child{text-align:right;display:grid}.passenger-flow-card header>div:last-child strong{font-size:2rem}.passenger-flow-card header>div:last-child span{color:var(--muted);font-size:.8rem}.passenger-flow-legend{flex-wrap:wrap;gap:16px;display:flex}.passenger-flow-legend span{color:var(--ink);align-items:center;gap:6px;display:inline-flex}.passenger-flow-legend span:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px}.passenger-flow-card{--chart-secondary:#a8d5f7}.passenger-flow-legend .passenger-flow-legend__validated:before{background:var(--chart-secondary)}.passenger-flow-chart{min-width:0;height:280px;margin:20px 0}.passenger-flow-chart:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.app-chart{width:100%;min-width:0;height:100%}.dock-passenger-view{--chart-secondary:#a8d5f7;min-width:0;padding-bottom:12px}.dock-passenger-view>p{margin-block:8px}.dock-passenger-view .passenger-flow-legend__validated:before{background:var(--chart-secondary)}.dock-passenger-chart{min-width:0;height:250px}.dock-passenger-chart:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.dock-passenger-table>summary{justify-content:start}.operator-table-scroll{min-width:0;overflow-x:auto}.operator-table-scroll table{border-collapse:collapse;width:100%;font-size:.8rem}.operator-table-scroll th,.operator-table-scroll td{border-bottom:1px solid var(--border);text-align:right;white-space:nowrap;padding:10px}.operator-table-scroll th:first-child{text-align:left}.operator-table-scroll small,.fleet-trip-details small{color:var(--muted);display:block}.fleet-accordion{border-top:1px solid var(--border)}.fleet-accordion__summary.app-button{text-align:left;white-space:normal;grid-template-columns:minmax(80px,1fr) minmax(160px,2fr) 1fr 1fr 16px;gap:14px;width:100%;padding:18px 6px;font-weight:400;display:grid}.fleet-trip-details{grid-template-columns:minmax(180px,1fr) minmax(0,2fr);gap:20px;padding:18px 0;display:grid}.fleet-trip-details__trips{flex-direction:column;gap:4px;max-height:420px;display:flex;overflow-y:auto}.fleet-trip-details__trips .app-button{text-align:left;white-space:normal;justify-content:start}.operator-dock{border-top:1px solid var(--border)}.operator-dock summary{cursor:pointer;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:16px 0;display:flex}.operator-dock summary span{color:var(--muted);font-size:.8rem}.dock-departure-list{margin:0;padding:0;list-style:none}.dock-departure-list li{border-bottom:1px solid var(--border);gap:18px;padding:12px 4px;display:flex}.dock-departure-list time{font-variant-numeric:tabular-nums;font-weight:700}.dock-departure-list small{color:var(--muted);margin-top:3px;display:block}.dock-departure-list .is-past{opacity:.68}.dock-departure-list .is-cancelled strong{text-decoration:line-through}.map-dock-sidebar{z-index:6;border:1px solid var(--border);background:var(--surface);width:min(370px,100% - 24px);color:var(--ink);box-shadow:var(--shadow-subtle);border-radius:12px;flex-direction:column;gap:14px;min-height:0;padding:18px;display:flex;position:absolute;inset:12px 12px 12px auto}.map-dock-sidebar header{justify-content:space-between;align-items:center;gap:8px;display:flex}.map-dock-sidebar h2{margin:0;font-size:1.2rem}.map-dock-sidebar__list{overscroll-behavior:contain;min-height:0;overflow-y:auto}.map-dock-sidebar__date{justify-content:space-between;align-items:center;gap:8px;display:flex}@media (width<=760px){.fleet-columns{display:none}.operator-card{padding:16px}.fleet-accordion__summary.app-button{grid-template-columns:1fr 1fr 16px}.fleet-accordion__summary>span:nth-child(2){grid-area:2/1/auto/-1}.fleet-accordion__summary>span:nth-child(4){grid-column:1/-1}.fleet-accordion__summary>span:last-child{grid-area:1/3}.fleet-trip-details{grid-template-columns:minmax(0,1fr)}.fleet-trip-details__trips{max-height:200px}}@container (width<=920px){.traffic-operations{padding:24px}}@media (width<=760px){.traffic-summary-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.traffic-operations{padding:22px 14px}.traffic-operations__intro{gap:12px}}.office-workspace{--office-panel-radius:12px;--office-control-radius:8px;min-height:100%;font-family:var(--font-family-sans);background:var(--canvas);align-content:start;display:grid}.office-context-nav{z-index:2;border-bottom:1px solid var(--border);background:var(--surface-raised);scrollbar-width:thin;justify-content:space-between;align-items:center;gap:18px;min-width:0;min-height:84px;padding:12px clamp(14px,2.2vw,28px);display:flex;position:relative;overflow:visible;box-shadow:0 3px 14px #10161c0a}.office-context-nav__title{color:var(--ink);letter-spacing:-.01em;flex:none;font-size:.86rem;font-weight:800}.office-context-nav__primary,.office-context-nav__links{align-items:center;display:flex}.office-context-nav__primary{flex:0 auto;align-self:stretch;gap:clamp(16px,2vw,24px);min-width:0;overflow-x:auto}.office-context-nav__links{flex:none;align-self:center;gap:8px}.office-context-nav__links a{border:1px solid var(--border);border-radius:var(--office-control-radius);min-height:52px;color:var(--ink);background:var(--surface);white-space:nowrap;align-items:center;padding:0 20px;font-size:.9375rem;font-weight:720;text-decoration:none;display:inline-flex;position:relative}.office-context-nav__links a:hover,.office-context-nav__links a:focus-visible{color:var(--ink);background:color-mix(in srgb, var(--accent) 7%, var(--surface-raised))}.office-context-nav__links a.is-active{color:var(--ink);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface-raised))}.office-context-nav__links a.is-active:after{background:var(--accent);content:"";border-radius:2px;height:2px;position:absolute;bottom:5px;left:14px;right:14px}.office-context-nav__tools,.office-mode-switch,.office-mode-switch>div{align-items:center;display:flex}.office-context-nav__tools{flex:none;gap:10px;margin-left:auto}.office-mode-switch{gap:8px}.office-mode-switch>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:.62rem;font-weight:760}.office-mode-switch>div{border:1px solid var(--border);border-radius:calc(var(--office-control-radius) + 2px);background:var(--surface-alt);gap:2px;padding:2px}.office-mode-switch :is(a,button){border-radius:var(--office-control-radius);min-height:32px;color:var(--muted);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;padding:0 12px;font-size:.69rem;font-weight:700;text-decoration:none;display:inline-flex}.office-mode-switch :is(a,button):hover,.office-mode-switch :is(a,button):focus-visible{color:var(--ink);border-color:var(--border);background:var(--surface-raised)}.office-mode-switch :is(a,button).is-active{color:var(--ink-inverse);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 82%, #12395f)}.office-workspace__today{font-size:.68rem;font-weight:750;width:auto!important;color:var(--action-primary-ink)!important;background:var(--action-primary-surface)!important;padding-inline:12px!important}.office-workspace__content{min-width:0}.office-workspace__map{border:1px solid var(--border);background:var(--surface-raised);border-top:0;min-height:620px}.office-feature-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.office-feature-header h2{margin:4px 0 0;font-size:clamp(1.5rem,2.5vw,2.1rem)}.office-feature-header>span{color:var(--muted);font-size:.74rem}.office-trips,.office-analysis,.office-export-history{padding:clamp(24px,3vw,46px)}.office-trip-kpis,.office-analysis-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:22px;display:grid}.office-trip-kpis button,.office-analysis-kpis article{border:1px solid var(--border);min-height:94px;color:var(--ink);background:var(--surface-raised);text-align:left;align-content:center;gap:5px;padding:15px 17px;display:grid}.office-trip-kpis button{cursor:pointer;font:inherit}.office-trip-kpis button.is-active{border-color:var(--focus);box-shadow:inset 0 -3px var(--focus)}.office-trip-kpis span,.office-analysis-kpis span{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.68rem;font-weight:700}.office-trip-kpis strong,.office-analysis-kpis strong{font-size:1.55rem}.office-trip-filters,.office-analysis-toolbar{border:1px solid var(--border);background:var(--surface-raised);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:10px;display:flex}.office-trip-filters>button,.office-analysis-toolbar button{border:1px solid var(--border);min-height:40px;color:var(--muted);background:var(--surface);cursor:pointer;font:inherit;padding:0 14px;font-size:.74rem;font-weight:700}.office-analysis-toolbar>div{display:flex}.office-analysis-toolbar button+button{border-left:0}.office-trip-filters>button.is-active,.office-analysis-toolbar button.is-active{color:var(--action-primary-ink);border-color:var(--action-primary-surface);background:var(--action-primary-surface)}.office-trip-filters label,.office-trip-vessel-filter,.office-analysis-toolbar label,.office-analysis-vessel-filter{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;gap:4px;font-size:.65rem;font-weight:700;display:grid}.office-trip-vessel-filter .app-dropdown,.office-analysis-vessel-filter .app-dropdown{letter-spacing:normal;text-transform:none;min-width:190px}.office-trip-table-wrap,.office-export-history__table-wrap{border:1px solid var(--border);background:var(--surface-raised);min-height:260px;margin-top:14px;position:relative;overflow-x:auto}.office-trip-table,.office-export-history table,.office-analysis-panel table{border-collapse:collapse;width:100%;font-size:.72rem}.office-trip-table{min-width:960px}.office-trip-table th,.office-trip-table td,.office-export-history th,.office-export-history td,.office-analysis-panel th,.office-analysis-panel td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:13px 15px}.office-trip-table thead th,.office-export-history thead th,.office-analysis-panel thead th{color:var(--muted);background:var(--surface-alt);letter-spacing:.08em;text-transform:uppercase;font-size:.63rem}.office-trip-table td>strong,.office-trip-table td>small,.office-trip-table td>span{display:block}.office-trip-table td>small{color:var(--muted);margin-top:3px}.office-trip-table tr.has-attention>:first-child{box-shadow:inset 3px 0 var(--warning)}.office-trip-status{width:fit-content;color:var(--muted);background:var(--surface-alt);border-radius:999px;padding:4px 7px;font-size:.65rem;font-weight:700}.office-trip-status.is-active{color:var(--success);background:color-mix(in srgb, var(--success) 12%, transparent)}.office-trip-status.is-upcoming{color:var(--focus);background:color-mix(in srgb, var(--focus) 10%, transparent)}.office-analysis-kpis small{color:var(--muted);font-size:.68rem}.office-analysis-kpis small.is-up{color:var(--success)}.office-analysis-kpis small.is-down{color:var(--danger)}.office-analysis-grid{grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:14px;margin-top:14px;display:grid}.office-analysis-panel{border:1px solid var(--border);background:var(--surface-raised);min-width:0}.office-analysis-panel>header{border-bottom:1px solid var(--border);padding:16px 18px}.office-analysis-panel h3{margin:0;font-size:.92rem}.office-analysis-chart{gap:9px;max-height:520px;padding:14px 18px;display:grid;overflow-y:auto}.office-analysis-bar-row{grid-template-columns:68px minmax(0,1fr) 62px;align-items:center;gap:10px;font-size:.68rem;display:grid}.office-analysis-bar-row time{color:var(--muted)}.office-analysis-bar-row>span{background:var(--surface-alt);border-radius:2px;height:12px;overflow:hidden}.office-analysis-bar-row i{background:var(--focus);height:100%;display:block}.office-analysis-bar-row strong{text-align:right}.office-export-history__notice{border:1px solid var(--border);color:var(--muted);background:var(--surface-raised);margin:18px 0 0;padding:10px 12px;font-size:.72rem}.office-export-history table{min-width:900px}.office-export-history a{font-weight:700}@media (width<=960px){.office-day-summary__layout{grid-template-columns:minmax(0,760px)}.office-day-summary__primary{display:contents}.office-day-summary__filters{order:1}.office-day-summary__sidebar-column{order:2;min-height:0}.office-day-summary__stats{order:3}}@media (width<=760px){.office-day-summary__trip-preview-summary{flex-wrap:wrap;align-items:flex-start}.office-day-summary__trip-times{justify-content:flex-start}.office-day-summary__dock-row{grid-template-columns:minmax(0,1fr) 54px 54px}.office-context-nav{gap:10px;min-height:72px;padding:10px}.office-context-nav__tools{gap:6px}.office-context-nav__primary{flex:1;gap:6px;overflow:visible}.office-context-nav__title{display:none}.office-context-nav__links{flex-wrap:wrap;flex:1}.office-context-nav__links a{min-height:48px;padding-inline:14px}.office-mode-switch{gap:6px}.office-mode-switch>span{display:none}.office-mode-switch :is(a,button){padding-inline:9px}.office-trip-kpis,.office-analysis-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.office-trip-filters,.office-analysis-toolbar{flex-direction:column;align-items:stretch}.office-trip-filters label,.office-trip-vessel-filter,.office-analysis-toolbar label,.office-analysis-vessel-filter,.office-trip-vessel-filter .app-dropdown,.office-analysis-vessel-filter .app-dropdown,.office-analysis-toolbar>div{width:100%}.office-analysis-toolbar button{flex:1}.office-analysis-grid{grid-template-columns:1fr}}.office-day-summary{min-height:calc(100vh - 64px);padding:clamp(26px,3.5vw,48px) clamp(18px,4vw,56px) 64px}.office-day-summary__page-header{width:min(100%,1180px);margin:0 auto 22px}.office-day-summary__page-header h1{color:var(--ink);letter-spacing:-.035em;margin:0;font-size:clamp(2rem,3vw,2.7rem);font-weight:700;line-height:1.05}.office-day-summary__layout{grid-template-columns:minmax(0,820px) minmax(280px,340px);align-items:stretch;gap:18px;width:min(100%,1180px);margin-inline:auto;display:grid}.office-day-summary__primary{align-content:start;gap:16px;min-width:0;display:grid}.office-day-summary__filters{border-radius:var(--office-panel-radius);background:var(--surface-raised);width:100%;box-shadow:var(--shadow-subtle);border:0;overflow:hidden}.office-day-summary__filters-header{border-radius:var(--office-control-radius);background:color-mix(in srgb, var(--accent) 58%, #12395f);border:0;align-items:center;min-height:64px;margin:18px 18px 0;padding:0 22px;display:flex}.office-day-summary__filters-header span{color:var(--ink-inverse);letter-spacing:-.015em;text-transform:none;align-items:center;gap:11px;font-size:1.25rem;font-weight:700;display:flex}.office-day-summary__step-number{width:32px;height:32px;color:var(--ink-inverse);background:color-mix(in srgb, var(--accent) 26%, #082b4d);border-radius:50%;flex:none;place-items:center;font-size:.98rem;font-weight:700;line-height:1;display:grid}.office-day-summary__substep-heading{border-radius:var(--office-control-radius);min-height:52px;color:color-mix(in srgb, var(--accent) 72%, var(--ink));background:color-mix(in srgb, var(--accent) 9%, var(--surface-raised));letter-spacing:-.01em;text-transform:none;align-items:center;gap:10px;padding:0 16px;font-size:1.05rem;font-weight:700;display:flex}.office-day-summary__substep-number{width:32px;height:32px;color:var(--ink-inverse);background:color-mix(in srgb, var(--accent) 62%, #12395f);border-radius:50%;flex:none;place-items:center;font-size:.78rem;font-weight:700;line-height:1;display:grid}.office-day-summary__filters-body{gap:26px;padding:clamp(28px,3vw,36px);display:grid}.office-day-summary__choice>span,.office-day-summary__vessel>span,.office-day-summary__period-mode>span,.office-day-summary__period-fields label>span{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:.86rem;font-weight:780}.office-day-summary__choice>.office-day-summary__substep-heading{color:color-mix(in srgb, var(--accent) 72%, var(--ink));letter-spacing:-.01em;text-transform:none;font-size:1.05rem;font-weight:700}.office-day-summary__choices{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.office-day-summary__choice,.office-day-summary__vessel,.office-day-summary__period-fields label{gap:10px;min-width:0;display:grid}.office-day-summary__choice-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.office-day-summary__choice-options button{border:1px solid color-mix(in srgb, var(--border) 62%, var(--surface-raised));border-radius:var(--office-control-radius);min-height:62px;color:var(--ink);background:var(--surface-raised);cursor:pointer;font:inherit;text-align:left;white-space:nowrap;align-items:center;gap:12px;padding:0 18px;font-size:.94rem;font-weight:720;transition:background-color .15s;display:flex}.office-day-summary__choice-options button:before{background:color-mix(in srgb, var(--ink) 14%, var(--surface-raised));width:18px;height:18px;box-shadow:none;content:"";border:0;border-radius:50%;flex:none}.office-day-summary__choice-options button:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 4%, var(--surface-raised))}.office-day-summary__choice-options button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.office-day-summary__choice-options button.is-active{color:var(--ink);background:var(--surface-alt);box-shadow:none;border-color:#0000}.office-day-summary__choice-options button.is-active:before{background:radial-gradient(circle, #111 0 5px, var(--surface-raised) 5.5px)}.office-day-summary__choice-options button:disabled{border-color:color-mix(in srgb, var(--border) 44%, var(--surface-raised));color:color-mix(in srgb, var(--muted) 68%, var(--surface-raised));background:color-mix(in srgb, var(--surface-alt) 62%, var(--surface-raised));cursor:not-allowed;opacity:.72}.office-day-summary__choice-options button:disabled:before{background:color-mix(in srgb, var(--border) 52%, var(--surface-raised))}.office-day-summary__choice-options button:disabled:hover{color:color-mix(in srgb, var(--muted) 68%, var(--surface-raised));background:color-mix(in srgb, var(--surface-alt) 62%, var(--surface-raised))}.office-day-summary__vessel{width:min(100%,440px)}.office-day-summary__scope{width:100%;padding-top:34px}.office-day-summary__period-fields input{border:1px solid var(--border);border-radius:var(--office-control-radius);min-width:0;min-height:52px;color:var(--ink);background:var(--surface);font:inherit;padding:0 14px;font-size:.98rem}.office-day-summary__vessel .app-dropdown__trigger{border-color:var(--border);border-radius:var(--office-control-radius);background:var(--surface-raised);height:56px;min-height:56px;padding:0 16px;font-size:1rem;font-weight:680}.office-day-summary__vessel .app-dropdown__chevron{flex-basis:18px;width:18px;height:18px}.office-day-summary__date{gap:12px;display:grid}.office-day-summary__date-controls{border:1px solid var(--border);border-radius:var(--office-panel-radius);background:var(--surface-raised);grid-template-columns:52px minmax(0,1fr) 52px;display:grid}.office-day-summary__date-controls button{min-height:112px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.office-day-summary__date-controls button:first-child{border-right:1px solid var(--border)}.office-day-summary__date-controls button:last-child{border-left:1px solid var(--border)}.office-day-summary__date-controls button:hover:not(:disabled),.office-day-summary__date-controls button:focus-visible{color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface-raised))}.office-day-summary__date-controls button:disabled{opacity:.35;cursor:default}.office-day-summary__date-controls svg{width:20px;height:20px}.office-day-summary__date-picker{text-align:center;cursor:pointer;place-content:center;gap:4px;min-width:0;display:grid;position:relative}.office-day-summary__date-picker strong{color:var(--ink);font-size:clamp(1.8rem,3vw,2.25rem);font-weight:800;line-height:1.1}.office-day-summary__date-picker small{color:var(--muted);font-size:.92rem}.office-day-summary__date-picker input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.office-day-summary__date-picker:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:-2px}.office-day-summary__period-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.office-day-summary__period-selection,.office-day-summary__period-mode{gap:12px;display:grid}.office-day-summary__period-mode>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.office-day-summary__period-mode button{border:1px solid color-mix(in srgb, var(--border) 62%, var(--surface-raised));border-radius:var(--office-control-radius);min-height:48px;color:var(--ink);background:var(--surface-raised);cursor:pointer;font:inherit;padding:0 14px;font-size:.9rem;font-weight:700}.office-day-summary__period-mode button:hover{background:color-mix(in srgb, var(--ink) 4%, var(--surface-raised))}.office-day-summary__period-mode button:disabled{color:color-mix(in srgb, var(--muted) 58%, var(--surface-raised));background:color-mix(in srgb, var(--surface-alt) 48%, var(--surface-raised));cursor:not-allowed;opacity:.72}.office-day-summary__period-mode button:disabled:hover{background:color-mix(in srgb, var(--surface-alt) 48%, var(--surface-raised))}.office-day-summary__period-mode button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.office-day-summary__period-mode button.is-active{background:var(--surface-alt);border-color:#0000}.office-day-summary__period-structured-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.office-day-summary__period-structured-fields--year{grid-template-columns:minmax(0,1fr);max-width:calc(50% - 7px)}.office-day-summary__period-structured-field{gap:8px;min-width:0;display:grid}.office-day-summary__period-structured-field>span{color:var(--muted);font-size:.78rem;font-weight:760}.office-day-summary__period-structured-field .app-dropdown__trigger{border-color:color-mix(in srgb, var(--border) 62%, var(--surface-raised));border-radius:var(--office-control-radius);background:var(--surface-raised);height:52px;min-height:52px;padding:0 14px;font-size:.9rem;font-weight:680}.office-day-summary__incomplete-notice{border-radius:var(--office-control-radius);background:color-mix(in srgb, var(--status-pending) 9%, var(--surface-raised));border:0;align-items:center;gap:16px;width:100%;min-height:72px;margin-top:0;padding:10px 16px;display:flex}.office-day-summary__incomplete-notice:before{width:32px;height:32px;color:var(--operational-surface);background:color-mix(in srgb, var(--status-pending) 62%, var(--surface-raised));content:"!";border-radius:50%;flex:none;place-items:center;font-size:.98rem;font-weight:800;line-height:1;display:grid}.office-day-summary__incomplete-notice>div{gap:2px;min-width:0;display:grid}.office-day-summary__incomplete-notice strong{color:var(--ink);font-size:1.02rem}.office-day-summary__incomplete-notice small{color:var(--muted);font-size:.9rem;line-height:1.45}.office-period-label{color:var(--muted);text-align:right;gap:5px;display:grid}.classic-report-builder{border:1px solid var(--border);border-radius:var(--panel-radius);background:var(--surface-raised);margin-top:28px;padding:22px}.office-report-archive{border:1px solid var(--border);border-radius:var(--panel-radius);background:var(--surface-raised);gap:16px;margin-top:20px;padding:22px;display:grid}.office-report-archive>header,.office-report-archive__versions article>header,.office-report-archive__versions>footer{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.office-report-archive>header p:last-child,.office-report-archive__editor p{color:var(--muted);margin:0}.office-report-notifications{border:1px solid color-mix(in srgb, var(--warning) 45%, var(--border));border-radius:var(--control-radius);background:color-mix(in srgb, var(--warning) 8%, var(--surface-raised));gap:6px;padding:12px;display:grid}.office-report-notifications button{border-radius:var(--control-radius);background:var(--surface-raised);text-align:left;justify-content:space-between;gap:12px;padding:9px 10px;display:flex}.office-report-notifications small,.office-report-archive small,.office-report-archive__versions>footer>span{color:var(--muted)}.office-report-archive__filters{grid-template-columns:repeat(3,minmax(170px,1fr));gap:10px;display:grid}.office-report-archive__filters label,.office-report-archive__filters>div,.office-report-archive__editor label{color:var(--muted);gap:5px;font-size:.7rem;font-weight:700;display:grid}.office-report-archive__filters .app-control,.office-report-archive__filters .app-dropdown__trigger{width:100%}.office-report-archive__list{gap:7px;display:grid}.office-report-archive__list details{border:1px solid var(--border);border-radius:var(--control-radius);overflow:hidden}.office-report-archive__list summary{cursor:pointer;grid-template-columns:1fr 1fr auto;align-items:center;gap:14px;min-height:64px;padding:11px 13px;display:grid}.office-report-archive__list summary>span:not(.office-report-archive__status){gap:3px;display:grid}.office-report-archive__status{color:var(--success);background:color-mix(in srgb, var(--success) 10%, var(--surface-raised));border-radius:999px;padding:5px 8px;font-size:.68rem}.office-report-archive__status.has-warning{color:color-mix(in srgb, var(--warning) 70%, var(--ink));background:color-mix(in srgb, var(--warning) 16%, var(--surface-raised))}.office-report-archive__versions{border-top:1px solid var(--border);background:var(--surface-alt);gap:8px;padding:12px;display:grid}.office-report-archive__versions article{border:1px solid var(--border);border-radius:var(--control-radius);background:var(--surface-raised);padding:11px}.office-report-archive__versions article header>div,.office-report-archive__versions article header>span{gap:3px;display:grid}.office-report-archive__versions article p,.office-report-archive__versions article ul{color:var(--muted);margin:9px 0 0;font-size:.72rem}.office-report-archive__versions>footer{justify-content:flex-end;align-items:center}.office-report-archive__versions>footer>span{margin-right:auto;font-size:.7rem}.office-report-archive__editor{border-radius:var(--panel-radius);width:min(520px,100vw - 36px);max-height:calc(100dvh - 36px);color:var(--ink);background:var(--surface-raised);border:0;padding:0;overflow:auto}.office-report-archive__editor::backdrop{background:#0000006b}.office-report-archive__editor>div{border:1px solid var(--border);border-radius:var(--panel-radius);background:var(--surface-raised);width:min(520px,100%);box-shadow:var(--shadow-floating);gap:14px;padding:22px;display:grid}.office-report-archive__editor textarea{min-height:90px}.office-report-archive__editor footer{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.classic-report-builder__header,.classic-report-preview>header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.classic-report-builder__header h2,.classic-report-preview h3{margin:3px 0 5px}.classic-report-builder__header p:last-child,.classic-report-preview header p:last-child{color:var(--muted);margin:0}.classic-report-builder__badge{border:1px solid var(--border-strong);color:var(--muted);border-radius:999px;flex:none;padding:7px 10px;font-size:.7rem;font-weight:750}.classic-report-builder__steps{grid-template-columns:minmax(165px,.7fr) minmax(210px,1fr) minmax(250px,1.25fr) auto;align-items:end;gap:14px;margin-top:20px;display:grid}.classic-report-builder__steps>label,.classic-report-builder__field{gap:6px;display:grid}.classic-report-builder__steps>label>span,.classic-report-builder__field>span,.classic-report-builder__steps legend{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:750}.classic-report-builder__steps input[type=date],.classic-report-builder__steps select,.classic-report-builder__field .app-dropdown{width:100%;min-height:42px}.classic-report-builder__steps input[type=date]{border:1px solid var(--border-strong);color:var(--ink);background:var(--surface);padding:0 10px}.classic-report-builder__steps select{padding-inline:10px}.classic-report-builder__steps fieldset{border:0;align-items:center;gap:14px;min-height:42px;padding:0;display:flex}.classic-report-builder__steps fieldset label{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:.75rem;display:flex}.classic-report-preview{border-top:1px solid var(--border);margin-top:22px;padding-top:20px}.classic-report-preview__actions{gap:8px;display:flex}.classic-report-preview__checks{flex-wrap:wrap;gap:6px;margin:14px 0 10px;display:flex}.classic-report-preview__checks span{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:5px 8px;font-size:.68rem}.classic-report-preview__checks span.has-warning{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 48%, var(--border))}.classic-report-preview iframe{border:1px solid var(--border-strong);background:#d6d8db;width:100%;min-height:620px}.office-period-label span,.office-toolbar label{letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:750}.office-toolbar{border:1px solid var(--border);border-radius:var(--panel-radius);background:var(--surface-raised);align-items:center;gap:12px;min-height:72px;margin-top:28px;padding:12px;display:flex}.office-period-tabs,.office-summary-toggle{display:flex}.office-period-tabs button,.office-summary-toggle button{border:1px solid var(--border);min-height:42px;color:var(--muted);background:var(--surface);cursor:pointer;padding:0 16px}.office-period-tabs button+button,.office-summary-toggle button+button{border-left:0}.office-period-tabs button.is-active,.office-summary-toggle button.is-active{color:var(--action-primary-ink);border-color:var(--action-primary-surface);background:var(--action-primary-surface)}.office-toolbar label{color:var(--muted);gap:4px;display:grid}.office-toolbar label:last-child{margin-left:auto}.office-vessel-filter{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;gap:4px;margin-left:auto;font-size:.68rem;font-weight:750;display:grid}.office-vessel-filter .app-dropdown{letter-spacing:normal;text-transform:none;min-width:190px}.office-toolbar input,.office-toolbar select{border:1px solid var(--border-strong);min-width:170px;min-height:40px;color:var(--ink);background:var(--surface-raised);padding:0 10px}.office-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.office-export-action{white-space:nowrap;width:auto;padding-inline:16px}.office-report-check{border:1px solid var(--border);border-radius:var(--panel-radius);background:var(--surface-raised);margin-top:20px;padding:18px 20px}.office-report-check>header{justify-content:space-between;align-items:center;gap:18px;display:flex}.office-report-check h2{margin:3px 0 0;font-size:1.05rem}.office-report-check__state{border-radius:999px;padding:6px 9px;font-size:.68rem;font-weight:750}.office-report-check__state.is-ready{color:var(--success);background:color-mix(in srgb, var(--success) 12%, transparent)}.office-report-check__state.is-warning{color:var(--warning);background:color-mix(in srgb, var(--warning) 14%, transparent)}.office-report-check dl{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:16px 0 0;display:grid}.office-report-check dl>div{border:1px solid var(--border);background:var(--surface);padding:10px 12px}.office-report-check dl>div.has-warning{border-color:color-mix(in srgb, var(--warning) 48%, var(--border))}.office-report-check dt{color:var(--muted);font-size:.66rem}.office-report-check dd{margin:4px 0 0;font-size:1.1rem;font-weight:750}.office-report-check>p{color:var(--muted);margin:12px 0 0;font-size:.72rem}.office-panel{margin-top:20px}.office-panel>header{min-height:82px}.office-table-wrap{min-height:90px;overflow:auto}.office-table{table-layout:auto}.office-table th,.office-table td{text-align:right;width:auto!important}.office-table th:first-child,.office-table td:first-child,.office-detail-panel th:nth-child(2),.office-detail-panel td:nth-child(2),.office-detail-panel th:nth-child(3),.office-detail-panel td:nth-child(3){text-align:left}.office-replacement{color:var(--focus);font-weight:700}.office-replacement small{color:var(--muted);font-weight:500;display:block}@media (width<=1100px){.classic-report-builder__steps{grid-template-columns:repeat(2,minmax(0,1fr))}.office-toolbar{flex-wrap:wrap;align-items:stretch}.office-vessel-filter{width:100%;margin-left:0}.office-vessel-filter .app-dropdown{width:min(100%,360px)}.office-report-check dl{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.classic-report-builder{padding:16px}.classic-report-builder__header,.classic-report-preview>header{display:grid}.classic-report-builder__steps{grid-template-columns:1fr}.classic-report-builder__steps fieldset{flex-direction:column;align-items:flex-start}.classic-report-preview__actions{width:100%}.classic-report-preview__actions .app-button{flex:1}.classic-report-preview iframe{min-height:440px}.office-period-tabs{width:100%;overflow-x:auto}.office-period-tabs button{white-space:nowrap;flex:1 0 auto;padding-inline:12px}.office-toolbar label{flex:160px}.office-toolbar input{width:100%;min-width:0}.office-kpis,.office-report-check dl{grid-template-columns:repeat(2,minmax(0,1fr))}.office-summary-toggle{overflow-x:auto}.office-table{min-width:760px}.office-report-archive{padding:16px}.office-report-archive>header,.office-report-archive__versions>footer,.office-report-notifications button{display:grid}.office-report-archive__filters,.office-report-archive__list summary{grid-template-columns:1fr}}.office-standard{width:min(1440px,100%);margin-inline:auto;container-type:inline-size}.office-standard .workspace-page__inner{width:100%;color:var(--ink)}.office-standard .operator-card{--office-card-padding:22px;padding:var(--office-card-padding)}.office-standard .operator-card>header{--muted:var(--ink-inverse);min-height:64px;margin:calc(-1 * var(--office-card-padding)) calc(-1 * var(--office-card-padding)) var(--office-card-padding);padding:16px var(--office-card-padding);color:var(--ink-inverse);background:var(--accent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.office-standard .operator-card>header h2{color:inherit;margin:0;font-size:1.2rem;font-weight:700;line-height:1.3}.office-standard .operator-card>header span{color:inherit}.office-traffic-controls{border-bottom:1px solid var(--accent);min-width:0;color:var(--ink-inverse);background:var(--accent);padding:14px clamp(14px,2.2vw,28px)}.office-traffic-controls :is(.workspace-date__picker,.app-dropdown__trigger,.app-button){color:var(--ink);background:var(--surface-raised)}.office-traffic-controls :is(.workspace-date__picker,.app-dropdown__trigger,.app-button):focus-visible{outline:2px solid var(--ink-inverse);outline-offset:3px}.office-traffic-controls .workspace-page__external-controls,.office-traffic-controls .workspace-page__external-filters{flex-wrap:wrap;align-items:center;gap:12px 24px;min-width:0;display:flex}.office-traffic-controls .workspace-page__external-filters{flex:1}.office-traffic-controls .workspace-page__external-actions{margin-left:auto}.office-traffic-controls :is(.workspace-date,.operator-vessel-filter){align-items:center;gap:12px;display:flex}.office-traffic-controls .workspace-page__filter-label{color:var(--ink-inverse);flex-shrink:0;margin:0;font-size:.62rem}.office-traffic-controls .workspace-date__controls{flex:1;min-width:0}.office-traffic-controls :is(.workspace-date__picker,.app-dropdown__trigger){min-height:44px}.office-traffic-controls .workspace-date__picker strong{font-size:.78rem}.office-standard__flow-and-deviations,.office-standard__flow-and-docks{align-items:start;gap:28px;min-width:0;display:grid}.office-traffic-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.office-traffic-summary__value{color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(2rem,3vw,3rem);font-weight:700;line-height:1.2;display:block}@container (width<=900px){.office-traffic-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (width<=440px){.office-traffic-summary{grid-template-columns:minmax(0,1fr)}}@container (width>=1100px){.office-workspace[data-content-width=full] .office-standard__flow-and-deviations{grid-template-columns:minmax(0,2fr) minmax(340px,1fr)}}.office-standard__deviations{margin:0;padding:0;list-style:none}.office-standard__deviations li{border-bottom:1px solid var(--border);grid-template-columns:106px 1fr;gap:12px;padding:12px 16px;display:grid}.office-standard__deviations li>span{width:fit-content;height:fit-content;color:color-mix(in srgb, var(--warning) 70%, var(--ink));background:color-mix(in srgb, var(--warning) 18%, var(--surface-raised));border-radius:999px;padding:4px 7px;font-size:.64rem;font-weight:760}.office-standard__deviations p{color:var(--muted);white-space:pre-wrap;margin:3px 0 0;font-size:.73rem;line-height:1.4}.office-standard__deviations time{color:var(--muted);margin-top:3px;font-size:.68rem;display:block}.office-deviations-footer{border-top:1px solid var(--border);justify-content:flex-end;margin-top:16px;padding-top:14px;display:flex}.office-deviations-footer a{color:var(--accent-strong);text-underline-offset:3px;font-size:.82rem;font-weight:650}.office-deviation-source{color:var(--accent-strong);text-underline-offset:3px;margin-top:8px;font-size:.875rem;font-weight:600;display:inline-block}[id=traffic-source]{outline:2px solid var(--accent);outline-offset:6px;scroll-margin-top:170px}.fleet-day-context{border:1px solid var(--border);background:var(--surface-alt);grid-column:1/-1;padding:16px}.fleet-source-highlight{border-left:3px solid var(--accent);padding-left:12px}.fleet-report-note{white-space:pre-wrap}.office-standard__deviations li>div{overflow-wrap:anywhere;min-width:0}@media (width<=760px){.office-standard .operator-card{--office-card-padding:16px}.office-traffic-controls .workspace-page__external-filters{flex-basis:100%;gap:12px}.office-traffic-controls :is(.workspace-date,.operator-vessel-filter){width:100%}.office-traffic-controls .workspace-page__filter-label{width:95px}.office-standard__deviations li{grid-template-columns:1fr;gap:8px;padding-inline:0}}.office-workspace[data-content-width]{--office-content-max-width:1440px;--office-content-gutter:clamp(14px, 2.2vw, 28px)}.office-workspace[data-content-width=full]{--office-content-max-width:none}.office-workspace[data-content-width]>.office-workspace__content,.office-workspace[data-content-width]>.office-workspace__date-navigation{width:100%;max-width:var(--office-content-max-width);padding-inline:var(--office-content-gutter);margin-inline:auto}.office-workspace[data-content-width] :is(.office-standard,.office-main){width:100%;max-width:none}.office-workspace[data-content-width] :is(.office-standard,.office-trips,.office-analysis,.office-export-history,.traffic-operations,.dock-overview){padding-inline:0}.office-mode-switch button{background:0 0}.office-settings{position:relative}.office-settings>.app-button{width:52px;height:52px}.office-settings__panel{border:1px solid var(--border);border-radius:var(--office-panel-radius);background:var(--surface-raised);gap:18px;width:min(360px,100vw - 28px);max-height:calc(100dvh - 150px);padding:18px;display:grid;position:absolute;top:calc(100% + 10px);right:0;overflow-y:auto;box-shadow:0 8px 28px #00000029}.office-settings__heading{color:var(--ink);font-size:.9rem}.office-settings__panel .office-mode-switch{flex-wrap:wrap;gap:12px;display:flex}.office-settings__panel .office-mode-switch>span{letter-spacing:normal;text-transform:none;flex:1 0 85px;font-size:.74rem;display:block}.office-settings__panel .office-mode-switch :is(a,button){flex:1;justify-content:center;min-height:38px}.office-settings__panel .office-mode-switch>div{flex:1 0 190px}.app-navigation.is-office-navigation{font-family:var(--font-family-sans)}.app-navigation.is-office-navigation .app-navigation-label{font-size:.875rem;font-weight:600}.office-workspace[data-content-width]{font-family:var(--font-family-sans);font-optical-sizing:auto;font-variant-numeric:tabular-nums;font-size:1rem;line-height:1.5}body:has(.office-workspace[data-content-width]) :is(.marked-date__panel,.app-dropdown__menu){font-family:var(--font-family-sans);font-optical-sizing:auto;font-variant-numeric:tabular-nums;font-size:1rem;line-height:1.5}body:has(.office-workspace[data-content-width]) .marked-date__weekdays{font-size:.75rem}body:has(.office-workspace[data-content-width]) .marked-date__panel footer{font-size:.75rem}.office-standard,.office-traffic-controls{--muted:color-mix(in srgb, var(--ink) 78%, var(--surface-raised));--chart-font-size:13;--chart-tooltip-font-size:14}.office-standard .workspace-page__heading h1{letter-spacing:-.035em;font-weight:600;line-height:1.15}.office-standard .workspace-page__heading>p:not(.eyebrow){font-size:1rem;line-height:1.6}.office-standard .operator-card>header h2{font-size:1.125rem;font-weight:600;line-height:1.4}.office-standard :is(.operator-card p,.operator-table-scroll table,.fleet-accordion__summary.app-button,.fleet-trip-details__trips .app-button){font-size:.875rem;line-height:1.6}.office-standard :is(.operator-dock summary,.dock-departure-list li){font-size:1rem;line-height:1.5}.office-standard :is(.operator-dock summary span,.operator-card>header span,.fleet-columns,small,.office-standard__deviations time){font-size:.8125rem;line-height:1.5}.office-standard :is(.eyebrow,.office-standard__deviations li>span){font-size:.75rem;font-weight:600}.office-standard .office-deviations-footer a{font-size:.875rem;font-weight:600}.office-standard .office-standard__deviations li{grid-template-columns:120px minmax(0,1fr)}.office-workspace[data-content-width] .office-context-nav__title,.office-workspace[data-content-width] .office-context-nav__links a{font-size:.9375rem;font-weight:600}.office-workspace[data-content-width] .office-mode-switch :is(a,button){font-size:.8125rem;font-weight:600}.office-workspace[data-content-width] .office-mode-switch>span,.office-traffic-controls .workspace-page__filter-label{letter-spacing:.06em;font-size:.75rem}.office-traffic-controls :is(.workspace-date__picker strong,.app-dropdown__trigger,.app-button){font-size:.875rem}.office-traffic-controls .workspace-date__picker small{font-size:.8125rem}.office-traffic-controls .workspace-date{width:min(460px,100%)}@media (width<=760px){.office-standard .office-standard__deviations li{grid-template-columns:minmax(0,1fr)}.office-traffic-controls .workspace-date{width:100%}}.office-overview-design{--office-panel-radius:var(--control-radius);--office-control-radius:var(--control-radius);--overview-radius:var(--control-radius);--overview-space:24px;--overview-line:color-mix(in srgb, var(--ink) 12%, var(--surface-raised));--overview-soft:color-mix(in srgb, var(--ink) 3%, var(--surface-raised));--overview-muted:color-mix(in srgb, var(--ink) 70%, var(--surface-raised));--overview-heading:var(--accent-strong)}:root[data-theme=dark] .office-overview-design{--overview-heading:var(--focus)}.office-overview-design .office-standard{--muted:var(--overview-muted);background:0 0}.office-overview-design .workspace-page__heading{padding:28px 0 24px}.office-overview-design .workspace-page__heading .eyebrow{color:var(--overview-muted);letter-spacing:.09em;margin-bottom:8px;font-size:.6875rem}.office-overview-design .workspace-page__heading h1{letter-spacing:-.035em;font-size:clamp(1.75rem,2.5vw,2.125rem);font-weight:650;line-height:1.2}.office-overview-design .workspace-page__heading>p:not(.eyebrow){max-width:none;color:var(--overview-muted);margin-top:8px;font-size:.875rem}.office-overview-design :is(.workspace-page__body,.office-standard__flow-and-deviations,.office-standard__flow-and-docks,.office-traffic-summary){gap:var(--overview-space)}.office-overview-design .office-standard .operator-card{--office-card-padding:24px;border:1px solid var(--overview-line);border-radius:var(--overview-radius);background:var(--surface-raised);box-shadow:0 2px 4px #00000005}.office-overview-design .office-standard .operator-card>header{--muted:var(--overview-muted);border-bottom:1px solid var(--overview-line);min-height:0;color:var(--ink);background:0 0;gap:12px;margin:0 0 20px;padding:0 0 16px}.office-overview-design .office-standard .operator-card>header h2{color:var(--overview-heading);letter-spacing:-.015em;font-size:1rem;font-weight:650;line-height:1.4}.office-overview-design .office-standard .operator-card>header>span{border-radius:var(--control-radius);background:var(--overview-soft);color:var(--overview-muted);padding:3px 9px;font-size:.75rem;font-weight:550}.office-overview-design .office-standard .office-traffic-summary__card>header{border:0;margin-bottom:14px;padding:0}.office-overview-design .office-standard .office-traffic-summary__card>header h2{letter-spacing:0;font-size:.8125rem;font-weight:550}.office-overview-design .office-traffic-summary__value{letter-spacing:-.04em;font-size:clamp(2rem,3vw,2.5rem);font-weight:650}.office-overview-design .passenger-flow-legend{gap:20px;margin:0 0 12px;font-size:.8125rem}.office-overview-design .passenger-flow-card>p:not(.visually-hidden,.passenger-flow-legend){margin:6px 0;font-size:.8125rem}.office-overview-design .passenger-flow-chart{margin:24px 0 16px}.office-overview-design :is(.passenger-flow-card>details>summary,.dock-passenger-table>summary){border:1px solid var(--overview-line);border-radius:var(--control-radius);width:fit-content;color:var(--ink);background:var(--surface-raised);cursor:pointer;padding:9px 12px;font-size:.8125rem;font-weight:550}.office-overview-design .operator-dock>summary{align-items:center;padding:18px 4px;font-size:.9375rem}.office-overview-design .operator-dock>summary strong{font-weight:600}.office-overview-design .operator-dock>summary span{margin-left:auto;font-size:.8125rem}.office-overview-design .operator-dock>summary:after{content:"";border-right:1.5px solid var(--overview-muted);border-bottom:1.5px solid var(--overview-muted);width:7px;height:7px;margin:0 4px 4px 10px;transform:rotate(45deg)}.office-overview-design .operator-dock[open]>summary:after{margin-top:6px;transform:rotate(225deg)}.office-overview-design .office-standard .office-standard__deviations li{border-color:var(--overview-line);grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:16px 0}.office-overview-design .office-standard__deviations li>div{display:contents}.office-overview-design .office-standard__deviations li>span{border-radius:var(--control-radius);color:var(--overview-muted);background:var(--overview-soft);grid-area:1/2;place-self:center end;padding:3px 8px;font-size:.6875rem;font-weight:600}.office-overview-design .office-standard__deviations strong{grid-area:1/1;align-self:center;font-size:.875rem;font-weight:600}.office-overview-design .office-standard__deviations p{grid-area:2/1/auto/-1;margin:0}.office-overview-design .office-standard .office-standard__deviations time{grid-area:3/1;align-self:center;margin:0;font-size:.75rem}.office-overview-design .office-deviation-source{grid-area:3/2;place-self:center end;margin:0}.office-overview-design .office-deviation-updated-label{display:none}.office-overview-design .office-standard__deviations li:first-child{padding-top:0}.office-overview-design .office-standard__deviations li:last-child{border-bottom:0;padding-bottom:0}.office-overview-design .office-standard__deviations :is([data-kind=Inställd\ tur],[data-kind=Inställd\ brygga],[data-kind=Försening],[data-kind=Avstämning]){color:var(--ink);background:color-mix(in srgb, var(--warning) 15%, var(--surface-raised))}.office-overview-design .office-deviation-source,.office-overview-design .office-deviations-footer a{color:var(--ink);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:4px;font-size:.8125rem}.office-overview-design .office-deviations-summary{margin:-6px 0 18px}.office-overview-design .fleet-columns{border-radius:var(--control-radius);color:var(--overview-muted);background:var(--overview-soft);padding:12px;font-size:.75rem;font-weight:550}.office-overview-design .fleet-accordion{border-color:var(--overview-line)}.office-overview-design .fleet-accordion__summary.app-button{border-radius:var(--control-radius);background:0 0;border:0;padding:18px 12px}.office-overview-design .fleet-accordion__summary:is(:hover,[aria-expanded=true]){background:var(--overview-soft)}.office-overview-design :is(.fleet-day-context,.fleet-trip-details__trips .app-button){border-radius:var(--control-radius);border-color:var(--overview-line)}.office-overview-design .office-context-nav{box-shadow:none}.office-overview-design .office-context-nav__links a,.office-overview-design .office-settings>.app-button,.office-overview-design .office-mode-switch>div{border-radius:var(--control-radius)}.office-overview-design .office-context-nav__links a.is-active:after{display:none}.office-overview-design .office-traffic-controls :is(.app-button,.app-dropdown__trigger){border-radius:var(--control-radius)}.office-overview-design .workspace-date__controls>.app-button:first-child{border-radius:var(--control-radius) 0 0 var(--control-radius)}.office-overview-design .workspace-date__controls>.app-button:last-child{border-radius:0 var(--control-radius) var(--control-radius) 0}.office-overview-design .workspace-date__controls .marked-date__trigger{border-radius:0}@media (width<=760px){.office-overview-design{--overview-space:16px}.office-overview-design .office-standard .operator-card{--office-card-padding:18px}.office-overview-design .office-traffic-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.office-overview-design .workspace-page__heading{padding-block:24px 20px}.office-overview-design .operator-dock>summary span{flex-basis:100%;order:2;margin:0}.office-overview-design .operator-dock>summary:after{margin-left:auto}}.office-test-data-indicator{color:var(--muted);font-size:.8125rem;font-weight:550;line-height:1.4}.office-overview-design .office-traffic-controls .workspace-page__external-controls,.office-overview-design .office-traffic-controls .workspace-page__external-filters{align-items:end;gap:16px 24px}.office-overview-design .office-traffic-controls :is(.workspace-date,.operator-vessel-filter){align-items:start;gap:8px;display:grid}.office-overview-design .office-traffic-controls .workspace-date{width:min(360px,100%)}.office-overview-design .office-traffic-controls .operator-vessel-filter{width:min(250px,100%)}.office-overview-design .office-traffic-controls .workspace-page__filter-label{letter-spacing:.07em;width:auto;font-size:.6875rem}.office-overview-design .office-traffic-controls :is(.app-button,.app-dropdown__trigger,.workspace-date__picker){border-color:var(--border);height:52px;min-height:52px;box-shadow:none}.office-overview-design .office-traffic-controls .workspace-date__controls{border:1px solid var(--border);border-radius:var(--control-radius);background:var(--surface-raised);grid-template-columns:44px minmax(0,1fr) 44px}.office-overview-design .office-traffic-controls .workspace-date__controls :is(.app-button,.workspace-date__picker){border:0;height:50px;min-height:50px}.office-overview-design .office-traffic-controls .workspace-date__controls .marked-date__trigger{border-inline:1px solid var(--border)}.office-overview-design .office-traffic-controls .office-refresh{gap:10px;padding-inline:18px}.office-refresh svg{width:18px;height:18px}.office-overview-design .office-refresh:disabled{opacity:1;cursor:progress}.office-refresh__spinning{animation:1s linear infinite office-refresh-turn}@keyframes office-refresh-turn{to{transform:rotate(-360deg)}}@media (prefers-reduced-motion:reduce){.office-refresh__spinning{animation:none}}body:has(.office-overview-design) :is(.marked-date__panel,.app-dropdown__menu){border-radius:var(--control-radius)}@media (width<=760px){.office-overview-design .office-traffic-controls :is(.workspace-date,.operator-vessel-filter){width:100%}.office-overview-design .office-context-nav__links a{white-space:normal}.office-test-data-indicator{max-width:80px;font-size:.75rem}}.office-traffic-summary__total{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.office-overview-design .office-traffic-summary__total>span{color:var(--overview-muted);font-size:.75rem}.office-traffic-summary__shifts{border-top:1px solid var(--overview-line);grid-template-columns:repeat(auto-fit,minmax(min(100%,115px),1fr));gap:12px 18px;margin:16px 0 0;padding:14px 0 0;display:grid}.office-traffic-summary__shifts>div{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.office-traffic-summary__shifts dt{color:var(--ink);gap:4px;font-size:.75rem;display:grid}.office-overview-design .office-traffic-summary__shifts small{color:var(--overview-muted);font-size:.6875rem;line-height:1.4}.office-traffic-summary__shifts dd{color:var(--ink);flex-shrink:0;margin:0;font-size:.875rem;font-weight:600}.office-traffic-summary__shift-empty{color:var(--overview-muted);margin-top:14px;font-size:.75rem;display:block}@media (width>=761px) and (height<=800px){.app-shell{--topbar-height:calc(56px + var(--browser-fullscreen-top-inset));--workspace-footer-height:96px}.workspace[data-layout=pax] .trip-workspace .trip-header{--trip-header-padding-block:0px;--trip-header-padding-inline:20px;min-height:64px;padding:0 20px}.workspace[data-layout=pax] .trip-workspace .trip-heading{font-size:1.3rem}.workspace[data-layout=pax] .trip-workspace .stop-row{min-height:52px}.trip-group-label{min-height:24px;padding-block:8px 5px}.trip-button,.shell.is-pax-expanded .trip-button{min-height:52px;padding-block:7px}.trip-button small{margin-top:3px}.sidebar-clock{padding-block:10px 12px}.sidebar-clock time{font-size:1.7rem}.sidebar-clock .workspace-clock-date{margin-top:4px}}.app-shell.is-vessel-shell .sidebar{font-family:var(--font-family-sans);--sidebar-trip-past-ink:var(--muted);--sidebar-trip-idle:var(--sidebar-surface);--sidebar-trip-active:#c6def5;--sidebar-trip-hover:color-mix(in srgb, var(--accent) 8%, var(--sidebar-surface));--sidebar-trip-divider:color-mix(in srgb, var(--border) 55%, transparent);--sidebar-trip-current-ink:color-mix(in srgb, var(--status-success) 55%, #000);--sidebar-trip-selected-ink:#213f5d;--sidebar-trip-selected-muted:#4f6071;--sidebar-trip-meta-ink:#52606e;--sidebar-trip-selected-meta:#4f6071;--sidebar-trip-time-highlight:#fff6;--sidebar-trip-attention-surface:#facc15;--sidebar-trip-attention-ink:#422006}.app-shell.is-vessel-shell .sidebar .trips{border-right:0;padding-inline:0}.app-shell.is-vessel-shell .trip-group-label{letter-spacing:0;text-transform:none;border-radius:0;min-height:20px;margin:12px 14px 8px;padding:0;font-size:.75rem;font-weight:500}.app-shell.is-vessel-shell .trip-group:first-child .trip-group-label{margin-top:8px}.app-shell.is-vessel-shell .sidebar .trip-button{border:0;border-bottom:1px solid var(--sidebar-trip-divider);min-height:44px;box-shadow:none;background:var(--sidebar-trip-idle);color:var(--ink);border-radius:0;grid-template-rows:auto auto;grid-template-columns:4rem minmax(0,1fr) auto;align-items:baseline;gap:3px 8px;margin:0;padding:10px 0;display:grid;position:relative}.app-shell.is-vessel-shell .trip-button:before{z-index:0;opacity:1;background:var(--sidebar-trip-time-highlight);pointer-events:none;border:0;border-radius:0;width:4rem;height:auto;display:block;position:absolute;inset:0 auto 0 0}.app-shell.is-vessel-shell .trip-button :is(.trip-times,.trip-copy,.trip-identifiers){display:contents}.app-shell.is-vessel-shell .trip-button :is(.trip-departure,.trip-arrival,.trip-origin,.trip-destination,.trip-line-badge,.trip-number){min-width:0;margin:0;line-height:1.35;position:relative}.app-shell.is-vessel-shell .trip-button :is(.trip-departure,.trip-arrival){font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;grid-column:1;padding-inline:0;font-size:.8125rem}.app-shell.is-vessel-shell .trip-button .trip-departure{color:var(--ink);letter-spacing:0;grid-row:1;font-weight:600}.app-shell.is-vessel-shell .trip-button .trip-arrival{color:var(--muted);opacity:1;grid-row:2;font-weight:400}.app-shell.is-vessel-shell .trip-button :is(.trip-origin,.trip-destination){text-overflow:ellipsis;white-space:nowrap;grid-column:2;font-size:.75rem;overflow:hidden}.app-shell.is-vessel-shell .trip-button .trip-origin{grid-row:1;font-weight:500}.app-shell.is-vessel-shell .trip-button .trip-destination{color:var(--muted);grid-row:2;font-weight:400}.app-shell.is-vessel-shell .trip-button :is(.trip-line-badge,.trip-number){max-width:5.5rem;min-height:0;color:var(--sidebar-trip-meta-ink);text-align:right;white-space:normal;overflow-wrap:anywhere;background:0 0;border-radius:0;grid-column:3;padding:0 12px 0 0;font-size:.6875rem;font-weight:400}.app-shell.is-vessel-shell .trip-button .trip-line-badge{grid-row:1;display:block}.app-shell.is-vessel-shell .trip-button .trip-number{grid-row:2;justify-content:flex-end;align-items:center;gap:4px;display:inline-flex}.app-shell.is-vessel-shell .trip-number .trip-warning-label{color:var(--danger);background:0 0;border-radius:0;margin:0;padding:0;line-height:1}.app-shell.is-vessel-shell .trip-warning-label svg{flex-shrink:0;width:12px;height:12px}.app-shell.is-vessel-shell .sidebar .trip-button:hover{background:var(--sidebar-trip-hover)}.app-shell.is-vessel-shell .sidebar .trip-button.is-selected,.app-shell.is-vessel-shell .sidebar .trip-button.is-selected:hover{background:var(--sidebar-trip-active);color:var(--sidebar-trip-selected-ink)}.app-shell.is-vessel-shell .trip-button.is-expected:not(.is-selected,.has-error) :is(.trip-departure,.trip-origin){color:var(--sidebar-trip-current-ink)}.app-shell.is-vessel-shell .sidebar .trip-button.has-error:not(.is-selected){background:color-mix(in srgb, var(--status-danger) 10%, var(--sidebar-trip-idle))}.app-shell.is-vessel-shell .trip-button.has-error:after,.app-shell.is-vessel-shell .trip-button.is-expected:not(.has-error):after{content:"";background:var(--danger);pointer-events:none;width:3px;position:absolute;inset:0 auto 0 0}.app-shell.is-vessel-shell .trip-button.is-expected:not(.has-error):after{background:var(--sidebar-trip-current-ink)}.app-shell.is-vessel-shell .trip-list-service-day{--service-day-surface:color-mix(in srgb, var(--sidebar-surface) 45%, var(--surface-raised));min-height:var(--registration-context-header-height,68px);background:var(--service-day-surface);color:var(--ink);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:12px 16px;display:grid}.app-shell.is-vessel-shell .trip-list-service-day__copy{gap:0;display:grid}.app-shell.is-vessel-shell .trip-list-service-day__copy>span{color:var(--sidebar-trip-current-ink);font-size:.75rem;line-height:1.2}.app-shell.is-vessel-shell .trip-list-service-day time{white-space:nowrap;font-size:.875rem;font-weight:600;line-height:1.4}@media (width>=761px) and (width<=960px){.app-shell.is-vessel-shell .trip-list-service-day{padding-inline:8px}}.app-shell.is-vessel-shell .trip-list-service-day .marked-date__trigger{width:44px;min-height:44px;color:var(--warning);background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.app-shell.is-vessel-shell .trip-list-service-day .marked-date__trigger:hover,.app-shell.is-vessel-shell .trip-list-service-day .marked-date__trigger:focus-visible{background:color-mix(in srgb, var(--service-day-surface) 82%, #000);color:var(--warning)}.app-shell.is-vessel-shell .trip-list-service-day .marked-date__trigger svg{width:16px;height:16px}.app-shell.is-vessel-shell .trip-list-scroll-frame:before,.app-shell.is-vessel-shell .trip-list-scroll-frame:after{content:"";z-index:5;opacity:0;pointer-events:none;height:28px;position:absolute;inset-inline:0}.app-shell.is-vessel-shell .trip-list-scroll-frame:before{top:var(--trip-scroll-edge-height,0px);background:linear-gradient(to bottom, var(--sidebar-surface), transparent)}.app-shell.is-vessel-shell .trip-list-scroll-frame:after{bottom:var(--trip-scroll-edge-height,0px);background:linear-gradient(to top, var(--sidebar-surface), transparent)}.app-shell.is-vessel-shell .trip-list-scroll-frame.has-scroll-controls.has-more-above:before,.app-shell.is-vessel-shell .trip-list-scroll-frame.has-scroll-controls.has-more-below:after{opacity:1}.app-shell.is-vessel-shell .trip-list-scroll-edge{padding-inline:0}.app-shell.is-vessel-shell .trip-list-end{width:100%;height:100%;color:var(--muted);place-items:center;font-size:.75rem;font-weight:500;display:grid}.app-shell.is-vessel-shell .trip-list-scroll-button.is-up{gap:8px}.app-shell.is-vessel-shell .trip-list-attention-indicator{background:var(--sidebar-trip-attention-surface);width:20px;height:20px;color:var(--sidebar-trip-attention-ink);border-radius:50%;flex:0 0 20px;justify-content:center;align-items:center;display:inline-flex}.app-shell.is-vessel-shell .trip-list-attention-indicator svg{width:14px;height:14px;display:block;transform:translateY(-1px)}.registration-layout{--registration-sidebar-width:var(--sidebar-panel-width);width:100%;height:var(--app-viewport-height,100dvh);grid-template-columns:minmax(0, var(--registration-sidebar-width)) minmax(0, 1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.registration-layout:not(.has-sidebar-panel){grid-template-columns:minmax(0,1fr)}.registration-layout>.sidebar{width:100%;height:100%;min-height:0;padding:0}.app-shell.is-vessel-shell .registration-layout>.sidebar{border:0}.app-shell.is-vessel-shell .registration-layout{--registration-context-header-height:68px}.registration-layout>.sidebar>:is(.sidebar-clock,.mobile-trip-list-heading){margin:0}.registration-workspace-layout{--registration-header-height:64px;grid-template-rows:var(--registration-header-height) minmax(0, 1fr);width:100%;min-width:0;height:100%;min-height:0;display:grid;position:relative;overflow:hidden}@media (width>=761px){.app-shell.is-vessel-shell .registration-layout.has-sidebar-panel{grid-template-columns:minmax(0, calc(var(--registration-sidebar-width) - 20px)) minmax(0, 1fr)}.app-shell.is-vessel-shell .registration-workspace-layout[data-layout=pax]{--registration-header-height:var(--registration-context-header-height);--registration-content-gutter:20px;padding:0}.app-shell.is-vessel-shell .registration-workspace-layout>.workspace-shared-header{padding-inline:var(--registration-content-gutter,20px);flex-wrap:nowrap;align-items:center;display:flex}.app-shell.is-vessel-shell .workspace-shared-header .trip-header-sync{margin-right:0}.app-shell.is-vessel-shell .registration-workspace-layout[data-layout=pax] .registration-pane>:is(.replacement-program-workspace-banner,.day-lock-banner),.app-shell.is-vessel-shell .registration-workspace-layout[data-layout=pax] .trip-workspace>:is(.registration-feedback,.registration-issue-bar,.registration-table-heading,.table-wrap,.trip-day-report-action){width:auto;margin-inline:var(--registration-content-gutter)}.app-shell.is-vessel-shell .registration-workspace-layout[data-layout=pax] .trip-footer{padding:0}}.registration-workspace-layout[data-layout=overview]{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);overflow:auto}.registration-workspace-layout[data-layout=overview]>.registration-pane{grid-area:1/1;grid-template-rows:minmax(0,1fr);place-items:center;padding:30px 32px 28px;display:grid;overflow:auto}.registration-workspace-layout[data-layout=pax]{grid-template-columns:minmax(0,1fr)}.registration-workspace-layout>.workspace-shared-header{width:100%;height:var(--registration-header-height);min-height:var(--registration-header-height);grid-area:1/1/auto/-1;margin:0}.registration-workspace-layout>.registration-pane{grid-area:2/1;grid-template-rows:auto auto minmax(0,1fr);align-items:stretch;width:100%;min-width:0;height:100%;min-height:0;max-height:100%;padding:0;display:grid;overflow:hidden;container:registration-pane/inline-size}.registration-workspace-layout>.registration-pane>.replacement-program-workspace-banner,.registration-workspace-layout>.registration-pane>.day-lock-banner{width:100%;margin:0}.registration-workspace-layout>.registration-pane>.replacement-program-workspace-banner{grid-row:1}.registration-workspace-layout>.registration-pane>.day-lock-banner{grid-row:2}.registration-workspace-layout>.registration-pane>.trip-workspace{grid-row:3;grid-template-rows:auto auto minmax(0,1fr) auto auto;width:100%;min-width:0;height:100%;min-height:0;padding:0;display:grid;overflow:hidden}.registration-workspace-layout .registration-issue-bar,.registration-workspace-layout .trip-workspace-controls,.registration-workspace-layout .registration-table-heading,.registration-workspace-layout .table-wrap,.registration-workspace-layout .trip-footer{min-width:0}.registration-workspace-layout .registration-feedback{grid-row:1}.registration-workspace-layout .trip-workspace-controls{grid-row:2}.registration-workspace-layout .table-wrap{overscroll-behavior:contain;grid-row:3;min-height:0;overflow:auto}@media (width>=761px){.registration-workspace-layout .registration-table-heading{grid-row:2;padding-inline-end:var(--registration-scrollbar-width,0px);overflow:hidden}.app-shell.is-vessel-shell .registration-workspace-layout[data-layout=pax] .registration-table-heading{margin-top:0;margin-bottom:8px}}.trip-workspace .trip-day-report-action{grid-row:4}.registration-workspace-layout .trip-workspace thead{z-index:30;width:100%;display:block;position:sticky;top:0}.registration-workspace-layout .trip-workspace .registration-accessible-head{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.registration-workspace-layout .trip-footer{height:auto;max-height:none;padding:0 16px max(16px, env(safe-area-inset-bottom,0px));background:var(--surface);grid-row:5;justify-content:flex-end;margin-top:0;display:flex}@media (width>=761px) and (width<=1399px){.registration-layout.has-sidebar-panel{--registration-sidebar-width:208px}}@media (width>=761px) and (width<=960px){.app-shell.is-vessel-shell .registration-workspace-layout[data-layout=pax]{--registration-content-gutter:16px}}@media (width>=1101px){.app-shell.is-vessel-shell .registration-layout.has-sidebar-panel{grid-template-columns:minmax(0, calc(var(--registration-sidebar-width) - 40px)) minmax(0, 1fr)}}@media (width>=1101px) and (width<=1399px){.app-shell.is-vessel-shell .registration-layout.has-sidebar-panel{--registration-sidebar-width:245px}}@media (width>=761px) and (width<=960px) and (orientation:portrait){.registration-layout.has-sidebar-panel{--registration-sidebar-width:184px}}@media (width>=1400px){.registration-layout.is-pax-expanded{--registration-sidebar-width:245px}}@media (width<=760px){.registration-workspace-layout .registration-table-heading,.registration-workspace-layout .trip-workspace thead{display:none}.registration-layout,.registration-layout.has-sidebar-panel{grid-template-columns:minmax(0,1fr);height:100%}.registration-workspace-layout{--registration-header-height:64px}.registration-workspace-layout>.workspace-shared-header{height:var(--registration-header-height);min-height:var(--registration-header-height);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding-inline:12px;display:grid}.registration-workspace-layout>.workspace-shared-header .trip-heading-block{min-width:0}.registration-workspace-layout>.workspace-shared-header .trip-heading{text-overflow:ellipsis;white-space:nowrap;font-size:1.1rem;overflow:hidden}.registration-workspace-layout>.workspace-shared-header .trip-header-tools{flex-wrap:nowrap;margin:0}.registration-layout .sidebar .workspace-clock-date{display:none}.registration-layout>.sidebar{width:min(340px,90vw);height:calc(var(--app-viewport-height,100dvh) - var(--topbar-height));z-index:calc(var(--layer-navigation) + 2);inset:calc(var(--topbar-height) + var(--traffic-day-banner-height,0px)) auto 0 0;visibility:hidden;box-shadow:var(--shadow-floating);transition:transform .22s cubic-bezier(.22,.8,.25,1),visibility .22s step-end;position:fixed;transform:translate(-102%)}.registration-layout.is-mobile-trip-list-open>.sidebar{visibility:visible;transition:transform .22s cubic-bezier(.22,.8,.25,1),visibility step-start;transform:translate(0)}.registration-layout>.registration-workspace-layout{grid-column:1}}@media (prefers-reduced-motion:reduce){.registration-layout>.sidebar{transition:none}}.app-shell.is-vessel-shell{--vessel-trip-number-ink:var(--muted);--vessel-trip-number-surface:color-mix(in srgb, var(--muted) 8%, var(--vessel-canvas));--vessel-header-control-border:color-mix(in srgb, var(--border-strong) 45%, transparent)}.app-shell.is-vessel-shell.has-past-service-day{--traffic-day-frame-color:var(--status-danger)}.app-shell.is-vessel-shell.has-past-service-day.is-service-day-unlocked{--traffic-day-frame-color:var(--status-success)}.app-shell.is-vessel-shell.has-past-service-day:after{content:"";z-index:calc(var(--layer-tooltip) + 1);border:2px solid var(--traffic-day-frame-color);box-shadow:0 0 0 12px var(--traffic-day-frame-color);pointer-events:none;border-radius:12px;position:fixed;inset:0}@media print{.app-shell.is-vessel-shell.has-past-service-day:after{display:none}}.app-shell.is-vessel-shell .app-frame,.app-shell.is-vessel-shell .page-host,.app-shell.is-vessel-shell .workspace,.app-shell.is-vessel-shell .workspace[data-layout=pax] .trip-workspace:not([hidden]),.app-shell.is-vessel-shell .workspace-page,.app-shell.is-vessel-shell .trip-manager,.app-shell.is-vessel-shell .trip-footer,.app-shell.is-vessel-shell .trip-workspace .table-wrap{background:var(--vessel-canvas)}.app-shell.is-vessel-shell .trip-workspace .flow-not-applicable{opacity:0}.app-shell.is-vessel-shell .stop-row.is-cancelled td:not(.stop-name):after{content:none}.app-shell.is-vessel-shell .workspace[data-layout=pax] .trip-workspace .transition-stop-row{border:0;border-radius:6px;overflow:clip}.app-shell.is-vessel-shell .workspace[data-layout=pax] .trip-workspace .transition-stop-row td{border-top:0;border-bottom:0}.app-shell.is-vessel-shell .transition-stop-row .transition-label{color:color-mix(in srgb, var(--status-success) 55%, #000)}@media (width>=761px){.app-shell.is-vessel-shell .workspace[data-layout=pax] .trip-workspace :is(.stop-row,.stop-row td,.table-wrap){border-bottom:0}.app-shell.is-vessel-shell .workspace[data-layout=pax] .trip-workspace .trip-statistics-row td{border-top:0}.app-shell.is-vessel-shell .transition-stop-row :is(.kpk-cell,.cycle-column-start):before{content:none}}.app-shell.is-vessel-shell .transition-stop-row.is-incoming{margin-bottom:12px}.app-shell.is-vessel-shell .transition-stop-row.is-outgoing{margin-top:12px}@media (hover:hover) and (pointer:fine) and (not (any-pointer:coarse)){.app-shell.is-vessel-shell .stop-row .stop-cancelled-control,.app-shell.is-vessel-shell .insert-row button{opacity:0}.app-shell.is-vessel-shell .stop-row:is(:hover,:focus-within) .stop-cancelled-control,.app-shell.is-vessel-shell .stop-row:is(:hover,:focus-within)+.insert-row button,.app-shell.is-vessel-shell .insert-row:is(:hover,:focus-within) button{opacity:1}.app-shell.is-vessel-shell .insert-row:has(+.stop-row:hover) button{opacity:1}.app-shell.is-vessel-shell .insert-row:has(+.stop-row:focus-within) button{opacity:1}}.app-shell.is-vessel-shell .trip-workspace .registration-column-header,.app-shell.is-vessel-shell .trip-workspace .registration-column-header th{background:var(--vessel-canvas)}.app-shell.is-vessel-shell .registration-table-heading .registration-column-header{min-height:24px;box-shadow:none;position:static}.app-shell.is-vessel-shell .registration-table-heading .registration-column-header th{text-transform:none;letter-spacing:.025em;border-bottom:0;height:24px;padding-block:0}.app-shell.is-vessel-shell .registration-table-heading :is(.kpk-column,.cycle-column-start):before{content:none}.app-shell.is-vessel-shell .registration-workspace-layout .trip-status-capacity{border-top:0}.app-shell.is-vessel-shell .trip-status-context .footer-clock{text-align:center;justify-self:center}.app-shell.is-vessel-shell .trip-status-context .footer-clock time{font-size:1.375rem}@container registration-pane (width>=561px){.app-shell.is-vessel-shell .trip-status-context .footer-clock time{font-size:1.625rem}.app-shell.is-vessel-shell .trip-operations-panel{grid-template-rows:60px 16px;min-height:94px;padding:8px 16px}.app-shell.is-vessel-shell .trip-operations-panel .trip-status-context,.app-shell.is-vessel-shell .trip-operations-panel .trip-status-primary:first-child,.app-shell.is-vessel-shell .trip-operations-panel .trip-action-previous{min-height:60px}.app-shell.is-vessel-shell .trip-operations-panel .trip-status-primary:first-child .trip-status-value>strong{font-size:2.5rem}.app-shell.is-vessel-shell .trip-operations-panel .trip-action-next.is-next-trip{height:60px;padding-block:8px}}.app-shell.is-vessel-shell .workspace-page__toolbar,.app-shell.is-vessel-shell .trip-manager-toolbar{background:var(--vessel-canvas)}.app-shell.is-vessel-shell .workspace-shared-header{background:0 0;border:0;border-radius:0}.app-shell.is-vessel-shell .workspace-shared-header .trip-heading{font-weight:600}.app-shell.is-vessel-shell .trip-heading-line{color:var(--muted);letter-spacing:normal;margin-inline-end:4px;font-size:.85em;font-weight:500}:root[data-theme=dark] .app-shell.is-vessel-shell .trip-heading-line{color:color-mix(in srgb, var(--muted) 75%, var(--vessel-canvas))}.app-shell.is-vessel-shell .workspace-shared-header .trip-heading-block{min-width:0}.app-shell.is-vessel-shell .workspace-shared-header .trip-header-tools{flex-wrap:nowrap;align-self:center;gap:8px;height:auto}.app-shell.is-vessel-shell .workspace-shared-header .trip-workspace-controls{flex-wrap:nowrap;flex:none;gap:8px;min-height:0;padding:0}.app-shell.is-vessel-shell .workspace-shared-header .trip-workspace-actions,.app-shell.is-vessel-shell .workspace-shared-header .trip-workspace-settings{margin:0}.app-shell.is-vessel-shell .trip-heading-number{color:var(--vessel-trip-number-ink);background:var(--vessel-trip-number-surface);border-radius:4px}.app-shell.is-vessel-shell .trip-workspace-controls{background:0 0;border:0;border-radius:0}.app-shell.is-vessel-shell .trip-workspace-actions-divider{display:none}.app-shell.is-vessel-shell .trip-fix-action-group{gap:0}.app-shell.is-vessel-shell :is(.trip-workspace-controls,.trip-table-actions) :is(.app-dropdown__trigger,.app-button){border-radius:8px;font-weight:550}.app-shell.is-vessel-shell .trip-bike-fields-control{min-height:44px;color:var(--registration-header-muted);gap:8px;padding-inline:8px;font-weight:500}.app-shell.is-vessel-shell .trip-bike-fields-control:has(input:checked){color:var(--accent)}.app-shell.is-vessel-shell .trip-bike-fields-control .registration-checkbox-box{color:var(--ink);background:color-mix(in srgb, var(--vessel-canvas) 88%, var(--ink));border:0}:root[data-theme=dark] .app-shell.is-vessel-shell .trip-bike-fields-control .registration-checkbox-box{background:var(--operational-surface)}.app-shell.is-vessel-shell .workspace-shared-header :is(.trip-workspace-actions,.trip-workspace-settings){gap:8px}.app-shell.is-vessel-shell .workspace-shared-header .trip-workspace-controls .app-dropdown__trigger{border-color:var(--vessel-header-control-border);background:var(--vessel-header-control-surface,var(--surface-raised));min-height:44px;color:var(--vessel-header-control-ink,var(--ink));border-radius:4px}.app-shell.is-vessel-shell .trip-capacity-control.is-capacity-mode{--vessel-header-control-border:transparent;--vessel-header-control-surface:transparent;--vessel-header-control-ink:var(--registration-header-muted)}.app-shell.is-vessel-shell .trip-capacity-value{color:var(--warning)}.app-shell.is-vessel-shell .trip-capacity-control.is-capacity-mode:has(.app-dropdown__trigger:is(:hover,:focus-visible,[aria-expanded=true])){--vessel-header-control-ink:var(--ink)}.app-shell.is-vessel-shell .trip-capacity-control.is-capacity-mode:has(.app-dropdown__trigger:is(:focus-visible,[aria-expanded=true])){--vessel-header-control-surface:color-mix(in srgb, var(--muted) 8%, transparent)}.app-shell.is-vessel-shell .workspace-shared-header .trip-capacity-control.is-capacity-mode .app-dropdown__trigger{box-shadow:none;padding-inline:8px;font-size:.75rem;font-weight:500}.app-shell.is-vessel-shell .trip-capacity-control.is-capacity-mode .app-dropdown__trigger:is(:hover,:focus-visible,[aria-expanded=true]) .app-dropdown__chevron{color:inherit}.app-shell.is-vessel-shell .trip-workspace-controls .trip-capacity-control .app-dropdown{width:146px}.app-shell.is-vessel-shell .trip-workspace-controls .trip-capacity-control.is-kpk-direction .app-dropdown{width:96px}.app-shell.is-vessel-shell .workspace-shared-header .trip-header-sync{width:44px;height:44px}@media (width>=961px){.app-shell.is-vessel-shell .workspace-shared-header .trip-heading{font-size:1.25rem}.app-shell.is-vessel-shell .workspace[data-layout=pax] .trip-workspace :is(.stop-name,.stop-time,.stop-title){font-size:.875rem}.app-shell.is-vessel-shell .workspace[data-layout=pax] .trip-workspace .number-input{font-size:.9375rem}.app-shell.is-vessel-shell .workspace[data-layout=pax] .trip-workspace :is(.stop-name,.stop-time,.stop-title,.transition-title){font-weight:550}.app-shell.is-vessel-shell .workspace[data-layout=pax] .trip-workspace .onboard-cell{font-size:.875rem}.app-shell.is-vessel-shell .workspace[data-layout=pax] .trip-workspace .transition-title{font-size:.8125rem}.app-shell.is-vessel-shell .workspace[data-layout=pax] .trip-workspace .transition-label{font-size:.6875rem}}:root:not([data-theme=dark]) .app-shell.is-vessel-shell .trip-workspace-controls .app-dropdown__trigger,:root:not([data-theme=dark]) .app-shell.is-vessel-shell :is(.trip-workspace-controls,.trip-table-actions) .app-button{background:var(--vessel-header-control-surface,var(--vessel-context-surface));border-color:#0000}:root:not([data-theme=dark]) .app-shell.is-vessel-shell :is(.trip-workspace-controls,.trip-table-actions) :is(.app-dropdown__trigger,.app-button):is(:hover,:focus-visible):not(:disabled){background:var(--vessel-header-control-surface,color-mix(in srgb, var(--accent) 10%, var(--surface-raised)))}.app-shell.is-vessel-shell :is(.trip-workspace-controls,.trip-table-actions) .app-button.trip-header-fix{border-right:0;border-radius:8px 0 0 8px}.app-shell.is-vessel-shell :is(.trip-workspace-controls,.trip-table-actions) .app-button.trip-header-fix-help{border-left:0;border-radius:0 8px 8px 0;position:relative}.app-shell.is-vessel-shell .trip-header-fix-help:before{content:"";inset-block:8px;background:var(--border-strong);pointer-events:none;width:1px;position:absolute;left:0}@media (width>=761px){.app-shell.is-vessel-shell .registration-workspace-layout .trip-operations-panel{border-radius:0;width:100%}.app-shell.is-vessel-shell .trip-workspace-controls{padding-inline:0}}@media (width>=761px) and (width<=960px){.app-shell.is-vessel-shell .registration-workspace-layout{--registration-header-height:112px}.app-shell.is-vessel-shell .registration-workspace-layout>.workspace-shared-header{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:8px;padding-block:6px;display:grid}.app-shell.is-vessel-shell .workspace-shared-header .trip-header-tools{grid-row:2;width:100%}.app-shell.is-vessel-shell .workspace-shared-header .trip-heading-text-group{min-width:0;max-width:100%}.app-shell.is-vessel-shell .workspace-shared-header .trip-heading{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-shell.is-vessel-shell .registration-table-heading .registration-column-header th:first-child{z-index:2;position:sticky;left:0}}@media (width<=760px){.app-shell.is-vessel-shell .registration-workspace-layout{--registration-header-height:112px}.app-shell.is-vessel-shell .registration-workspace-layout:has(.trip-workspace-controls .is-kpk-direction){--registration-header-height:150px}.app-shell.is-vessel-shell .registration-workspace-layout>.workspace-shared-header{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);padding-block:6px}.app-shell.is-vessel-shell .workspace-shared-header .trip-header-tools{grid-row:2;gap:8px;width:100%}.app-shell.is-vessel-shell .workspace-shared-header .trip-workspace-controls{gap:8px;min-width:0}.app-shell.is-vessel-shell .workspace-shared-header .trip-capacity-control .app-dropdown{width:142px}.app-shell.is-vessel-shell .workspace-shared-header .trip-workspace-settings{flex-wrap:wrap;justify-content:flex-end;max-width:142px}.app-shell.is-vessel-shell .workspace-shared-header .trip-bike-fields-control{gap:6px;font-size:.6875rem}}.company-settings-fieldset{border:0;gap:1.5rem;min-inline-size:0;padding:0;display:grid}.company-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.company-settings label{gap:.5rem;margin-block:.75rem;display:grid}.company-settings .company-settings-toggle{align-items:center;gap:.75rem;display:flex}.company-settings-rule{border-block-end:1px solid var(--border);flex-wrap:wrap;align-items:end;gap:.75rem;padding-block:1rem;display:flex}.company-settings-rule label{flex:1;min-inline-size:8rem}.company-settings-advanced summary{cursor:pointer;padding-block:.5rem;font-weight:600}.company-settings-save{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-block:1.5rem;display:flex}@media (width<=700px){.company-settings-grid{grid-template-columns:minmax(0,1fr)}}.traffic-lines{gap:12px;min-width:0;display:grid}.traffic-lines h2{margin:0;font-size:1rem}.traffic-lines p{color:var(--muted);margin:6px 0 0;font-size:.8rem}.traffic-lines__cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.traffic-lines__card.app-button{border:1px solid var(--border);background:var(--surface-raised);color:var(--ink);text-align:left;border-radius:8px;justify-items:start;gap:8px;padding:18px;display:grid}.traffic-lines__card strong{font-variant-numeric:tabular-nums;font-size:1.75rem}.traffic-lines__card small{color:var(--muted);font-weight:400}.traffic-lines__card[aria-pressed=true]{border-color:var(--accent-strong);box-shadow:inset 0 3px var(--accent-strong);background:color-mix(in srgb, var(--accent-strong) 8%, var(--surface-raised))}.operator-card .fleet-accordion.is-open{border:1px solid var(--accent-strong);background:var(--surface-raised);border-radius:8px;margin-block:8px;overflow:clip}.fleet-accordion.is-open .fleet-accordion__summary.app-button{background:color-mix(in srgb, var(--accent-strong) 8%, var(--surface-raised));padding-inline:16px}.fleet-accordion.is-open .fleet-trip-details{grid-template-columns:minmax(180px,.8fr) minmax(0,2fr);align-items:start;gap:24px;padding:20px}.fleet-day-context{border-bottom:1px solid var(--border);grid-column:1/-1;padding-bottom:16px}.fleet-trip-details__trips{scrollbar-gutter:stable;border-right:1px solid var(--border);max-height:300px;padding-right:16px}.fleet-trip-details__trips .app-button{background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;padding:10px}.fleet-trip-details__trips [aria-pressed=true]{background:color-mix(in srgb, var(--accent-strong) 10%, var(--surface-raised));box-shadow:inset 3px 0 var(--accent-strong)}.fleet-trip-details__registrations{min-width:0}@media (width<=760px){.traffic-lines__cards{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-accordion.is-open .fleet-trip-details{grid-template-columns:minmax(0,1fr);padding:12px}.fleet-trip-details__trips{border-right:0;border-bottom:1px solid var(--border);padding-bottom:12px;padding-right:0}}.fleet-trip-details__trips h3{z-index:1;background:var(--surface-raised);justify-content:space-between;margin:0;padding:0 4px 10px;font-size:.85rem;display:flex;position:sticky;top:0}.fleet-trip-details__trips h3 span,.fleet-trip-details__heading>span{color:var(--muted);font-size:.75rem;font-weight:400}.fleet-trip-choice{grid-template-columns:auto 1fr;align-items:baseline;gap:10px;font-size:.8rem;display:grid}.fleet-trip-choice>strong{font-variant-numeric:tabular-nums}.fleet-trip-details__heading h3{margin:0 0 6px;font-size:1rem}.fleet-trip-metrics{border-block:1px solid var(--border);flex-wrap:wrap;gap:16px 28px;margin:18px 0;padding:14px 0;display:flex}.fleet-trip-metrics dt{color:var(--muted);font-size:.75rem}.fleet-trip-metrics dd{font-variant-numeric:tabular-nums;margin:6px 0 0;font-size:1.2rem;font-weight:600}.fleet-stop-name{display:block}.fleet-stop-time{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:4px;font-size:.75rem;font-weight:400;display:block}.fleet-trip-details__registrations td{font-variant-numeric:tabular-nums}}@layer theme{:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#eef2f6;--ink:#eef2f6;--muted:#98a4b1;--interactive-muted:#a5b0bc;--surface:#10161d;--surface-alt:#171e27;--surface-raised:#202934;--sidebar-surface:#0d141b;--sidebar-heading-surface:#151d26;--sidebar-trip-idle:#151c23;--sidebar-trip-hover:#172536;--sidebar-trip-active:#1d3045;--sidebar-trip-upcoming:#1c2530;--accent:#527fa6;--accent-strong:#3f6688;--accent-hover:#6894b8;--accent-soft:#293a49;--registration-header-ink:#f4f7fa;--registration-header-muted:#aab5c0;--trip-heading-ink:color-mix(in srgb, var(--registration-header-ink) 72%, var(--accent));--registration-row-base:color-mix(in srgb, var(--surface) 50%, var(--surface-alt));--registration-row-alternating:var(--surface-alt);--registration-row-alternating-solid:var(--surface-alt);--registration-header:#10161d;--registration-row-hover:#1d2732;--registration-row-hover-solid:#1d2732;--border:#293440;--border-strong:#4a5969;--transition-divider:#3f5872;--navy:var(--accent);--danger:#ff8c84;--warning:#e4b86e;--success:#72d1a2;--focus:#8bb4ff;--keyboard-focus-ring:#8bb4ff;--metric-accent:var(--accent);--action-primary-ink:#eef3f0;--action-primary-border:#465567;--action-primary-surface:#344253;--action-primary-hover-ink:#fff;--action-primary-hover-border:#53657a;--action-primary-hover-surface:#405066;--action-danger-ink:#fff;--action-danger-border:#a52a23;--action-danger-surface:#86170f;--action-danger-hover-ink:#2b0c09;--action-danger-hover-border:var(--danger);--action-danger-hover-surface:var(--danger);--control-selected-ink:#eef3f0;--control-selected-border:#465567;--control-selected-surface:#273240;--navigation-active-ink:#f4f7fa;--navigation-active-surface:#2c3744;--operational-surface:#080d13;--operational-surface-raised:#151d26;--operational-ink:#f4f7fa;--operational-muted:#8795a3;--operational-border:#293440;--canvas:#090e14;--status-success:#72d1a2;--status-pending:#e1b563;--status-danger:#ef7f76;--status-success-soft:#172a21;--status-warning-soft:#2d2518;--status-danger-soft:#321d1c;--map-stop-marker:#527fa6;--map-stop-marker-ring:color-mix(in srgb, var(--map-stop-marker) 26%, transparent);scrollbar-color:#435264 #080d13;background:#080c11}:root[data-theme=dark] .app-button.is-primary{--app-button-ink:var(--action-primary-ink);--app-button-border:var(--action-primary-border);--app-button-surface:var(--action-primary-surface);--app-button-hover-ink:var(--action-primary-hover-ink);--app-button-hover-border:var(--action-primary-hover-border);--app-button-hover-surface:var(--action-primary-hover-surface)}:root[data-theme=dark] .app-button.is-secondary{--app-button-border:#3a4654;--app-button-hover-border:#465363}:root[data-theme=dark] .app-button.is-danger,:root[data-theme=dark] .app-button.is-danger[aria-expanded=true]{--app-button-ink:var(--action-danger-ink);--app-button-border:var(--action-danger-border);--app-button-surface:var(--action-danger-surface);--app-button-hover-ink:var(--action-danger-hover-ink);--app-button-hover-border:var(--action-danger-hover-border);--app-button-hover-surface:var(--action-danger-hover-surface)}:root[data-theme=dark] .app-button.is-danger:focus-visible,:root[data-theme=dark] .button.is-danger:hover:not(:disabled),:root[data-theme=dark] .button.is-danger:focus-visible{color:var(--action-danger-hover-ink);border-color:var(--action-danger-hover-border);background:var(--action-danger-hover-surface)}:root[data-theme=dark] .button.is-danger{color:var(--action-danger-ink);border-color:var(--action-danger-border);background:var(--action-danger-surface)}:root[data-theme=dark] .app-button.is-view-toggle{--app-button-hover-ink:var(--ink);--app-button-hover-border:var(--border-strong);--app-button-hover-surface:var(--surface-alt)}:root[data-theme=dark] .app-button.is-view-toggle[aria-pressed=true]{--app-button-ink:var(--accent);--app-button-border:var(--accent);--app-button-surface:var(--control-selected-surface)}:root[data-theme=dark] .trip-heading-number{background:var(--vessel-trip-number-surface,var(--accent-strong))}:root[data-theme=dark] .trip-heading,:root[data-theme=dark] .trip-workspace .stop-title,:root[data-theme=dark] .trip-workspace .transition-title,:root[data-theme=dark] .trip-workspace .stop-row .number-input:not(.kpk-input){color:var(--trip-heading-ink)}:root[data-theme=dark] .day-lock-banner{--day-lock-action:var(--danger)}:root[data-theme=dark] .day-lock-banner.is-unlocked{--day-lock-action:var(--success)}:root[data-theme=dark] .day-lock-banner .app-button{--app-button-ink:var(--ink);--app-button-border:color-mix(in srgb, var(--day-lock-action) 38%, var(--border));--app-button-surface:color-mix(in srgb, var(--day-lock-action) 11%, var(--surface-raised));--app-button-hover-ink:var(--ink);--app-button-hover-border:color-mix(in srgb, var(--day-lock-action) 58%, var(--border));--app-button-hover-surface:color-mix(in srgb, var(--day-lock-action) 19%, var(--surface-raised))}:root[data-theme=dark] .traffic-day-action-divider{background:var(--border)}: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:#080d13}:root[data-theme=dark] body::-webkit-scrollbar-track{background:#080d13}:root[data-theme=dark] ::-webkit-scrollbar-track{background:#080d13}:root[data-theme=dark]::-webkit-scrollbar-thumb{background:#435264;border:2px solid #080d13;border-radius:999px}:root[data-theme=dark] body::-webkit-scrollbar-thumb{background:#435264;border:2px solid #080d13;border-radius:999px}:root[data-theme=dark] ::-webkit-scrollbar-thumb{background:#435264;border:2px solid #080d13;border-radius:999px}:root[data-theme=dark]::-webkit-scrollbar-thumb:hover{background:#5a6c80}:root[data-theme=dark] body::-webkit-scrollbar-thumb:hover{background:#5a6c80}:root[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#5a6c80}:root[data-theme=dark] body,:root[data-theme=dark] .app-shell{background:var(--surface)}:root[data-theme=dark] dialog,:root[data-theme=dark] .maplibregl-popup-content,:root[data-theme=dark] .maplibregl-popup-tip{color:var(--ink);background:var(--surface-raised)}:root[data-theme=dark] dialog{box-shadow:0 20px 60px #0000008c}:root[data-theme=dark] .field input,:root[data-theme=dark] .number-input{color:var(--ink);background:var(--surface-alt)}:root[data-theme=dark] .number-input.kpk-input{color:var(--warning)}:root[data-theme=dark] .app-shell.is-vessel-shell .transition-stop-row .transition-label{color:var(--status-success)}:root[data-theme=dark] .app-shell.is-vessel-shell .registration-table-heading .registration-column-header th{color:color-mix(in srgb, var(--muted) 35%, var(--vessel-canvas))}:root[data-theme=dark] .app-shell.is-vessel-shell .registration-table-heading .registration-column-header th:is(:hover,:focus-visible){color:var(--muted)}:root[data-theme=dark] .validated-tickets-ratio-value{background:#080d13}:root[data-theme=dark] .departure-delay-button.has-delay small{color:var(--warning)}:root[data-theme=dark] .map-stop-marker__dot,:root[data-theme=dark] .map-stop-marker:hover .map-stop-marker__dot,:root[data-theme=dark] .map-stop-marker:focus-visible .map-stop-marker__dot{background:var(--map-stop-marker)}:root[data-theme=dark] .trip-button:not(.is-past-by-time,.is-selected,.has-error){background:var(--sidebar-trip-idle)}:root[data-theme=dark] .trip-button:hover:not(.is-selected,.has-error){background:var(--sidebar-trip-hover)}:root[data-theme=dark] .trip-button.is-selected:not(.has-error),:root[data-theme=dark] .trip-button.is-selected:not(.has-error):hover{background:var(--sidebar-trip-active)}:root[data-theme=dark] .trip-button.is-selected:not(.has-error) .trip-state{border-color:var(--accent-strong);background:var(--sidebar-trip-idle)}: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-group-label.is-now{color:var(--ink-inverse);background:var(--registration-header)}.app-shell.is-vessel-shell .sidebar .trip-group-label{color:var(--muted);background:0 0}.app-shell.is-vessel-shell .sidebar .trip-group-label.is-now{color:var(--sidebar-trip-current-ink)}.app-shell.is-vessel-shell .sidebar .trip-group-label.is-upcoming{color:var(--warning)}.app-shell.is-vessel-shell .sidebar .trip-button.is-expected:not(.is-selected,.has-error,:hover){background:color-mix(in srgb, var(--sidebar-trip-current-ink) 9%, var(--sidebar-trip-idle))}: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}.app-shell.is-vessel-shell .trip-button.is-ended:not(.is-selected,.has-error) :is(.trip-departure,.trip-arrival,.trip-origin,.trip-destination){color:var(--sidebar-trip-past-ink)}.app-shell.is-vessel-shell .trip-button:not(.is-selected) :is(.trip-line-badge,.trip-number){color:var(--sidebar-trip-meta-ink)}.app-shell.is-vessel-shell .trip-button.is-selected :is(.trip-departure,.trip-origin){color:var(--sidebar-trip-selected-ink)}.app-shell.is-vessel-shell .trip-button.is-selected :is(.trip-arrival,.trip-destination){color:var(--sidebar-trip-selected-muted)}.app-shell.is-vessel-shell .trip-button.is-selected :is(.trip-line-badge,.trip-number){color:var(--sidebar-trip-selected-meta)}:root[data-theme=dark] .trip-workspace .transition-stop-row{background:var(--surface-alt)}:root[data-theme=dark] .stop-row:not(.transition-stop-row):hover td{background:var(--registration-row-hover)}: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] .trip-reconciliation-label,:root[data-theme=dark] .toast,:root[data-theme=dark] .sidebar-clock.sidebar-time{color:#f4f7fa;background:#080d13}:root[data-theme=dark] .sidebar-clock.sidebar-time{border-top-color:#26313d}:root[data-theme=dark] .trip-workspace .trip-header,:root[data-theme=dark] .trip-header.workspace-shared-header{border-color:#26313d}: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:#f4f7fa}:root[data-theme=dark] .app-dropdown__trigger,:root[data-theme=dark] .app-dropdown__menu,:root[data-theme=dark] .dock-combobox-options{color:var(--ink);background:var(--surface-raised)}:root[data-theme=dark] .app-dropdown__trigger{border-color:var(--border-strong)}:root[data-theme=dark] .app-shell.is-vessel-shell .workspace-shared-header .trip-workspace-controls .app-dropdown__trigger{border-color:var(--vessel-header-control-border);background:var(--vessel-header-control-surface,var(--surface-raised));color:var(--vessel-header-control-ink,var(--ink))}:root[data-theme=dark] .app-dropdown__option:hover:not(.is-selected),:root[data-theme=dark] .app-dropdown__option:focus:not(.is-selected),:root[data-theme=dark] .dock-combobox-options>button.is-highlighted:not(.is-selected),:root[data-theme=dark] .dock-combobox-options>button:hover:not(.is-selected){background:#2a3430}:root[data-theme=dark] .field input:focus{color:var(--ink);background:var(--surface-raised)}:root[data-theme=dark] .trip-status-capacity b{color:var(--ink)}:root[data-theme=dark] .trip-operations-panel{--status-onboard-ink:var(--focus)}:root[data-theme=dark] .app-shell.is-vessel-shell .sidebar{--sidebar-trip-current-ink:var(--status-success);--sidebar-trip-past-ink:var(--sidebar-trip-meta-ink);--sidebar-trip-active:#314a64;--sidebar-trip-divider:#252c35;--sidebar-trip-selected-ink:#fff;--sidebar-trip-selected-muted:#becbd8;--sidebar-trip-meta-ink:#8492a2;--sidebar-trip-selected-meta:#a9bbce;--sidebar-trip-time-highlight:#ffffff05}:root[data-theme=dark] .trip-status-primary.is-invalid:first-child{color:var(--action-danger-ink);background:var(--action-danger-surface)}:root[data-theme=dark] .map-static-route-casing,:root[data-theme=dark] .map-tram-route-casing{display:none}:root[data-theme=dark] .paxreg-map,:root[data-theme=dark] .map-stage,:root[data-theme=dark] .map-panel{background:#0b1113}:root[data-theme=dark] .maplibregl-ctrl-attrib,: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] .maplibregl-ctrl-attrib a{color:#9bc3ff}:root[data-theme=dark] dialog::backdrop{background:#030605b8}:root[data-theme=dark] ::selection{color:#08100c;background:#9bc3ff}}@layer supervisor;@layer focus{@scope(body) to (.supervisor-shell){:is(button,a[href],input,select,textarea,summary,[tabindex],[contenteditable=true]):focus-visible{outline:3px solid var(--keyboard-focus-ring);outline-offset:0}:is(.app-button,.button,.app-control,.maplibregl-popup-close-button):focus-visible{box-shadow:none}:is(.trip-button,.trips,.trip-workspace-controls button,.app-dropdown__option,.registration-column-header th,.vessel-message-banner button,.maplibregl-canvas,.maplibregl-ctrl-group button,.maplibregl-popup-close-button):focus-visible{outline-offset:-3px}.registration-checkbox-control input:focus-visible,.service-date-native-input:focus,.workspace-date__picker input:focus-visible,.office-day-summary__date-picker input:focus-visible,.map-transport-filter input:focus-visible{outline:none}.registration-checkbox-control input:focus-visible+.registration-checkbox-box,.service-date-native-input:focus+.traffic-day-date-content{outline:3px solid var(--keyboard-focus-ring);outline-offset:0}:is(.workspace-date__picker,.office-day-summary__date-picker,.map-transport-filter label):has(input:focus-visible){outline:3px solid var(--keyboard-focus-ring);outline-offset:0}:is(.workspace-date__picker,.office-day-summary__date-picker):has(input:focus-visible){outline-offset:-3px}.workspace-date__picker:has(input):focus-within:not(:has(:focus-visible)){outline:none}:is(.maplibregl-ctrl-group button,.maplibregl-ctrl-attrib-button):focus-visible{box-shadow:none!important}@media (prefers-contrast:more){:scope{--keyboard-focus-ring:var(--focus)}}@media (forced-colors:active){:scope{--keyboard-focus-ring:Highlight}}}}
