.auth-loading,.login-page{color:#152d3a;background:#eef3f6;place-items:center;min-height:100vh;display:grid}.login-card{text-align:center;background:#fff;border:1px solid #d5e0e6;border-radius:16px;width:min(420px,100vw - 32px);padding:40px 32px;box-shadow:0 18px 50px #1837461f}.login-brand{color:#fff;background:#123f57;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 18px;display:grid}.login-card h1{margin:0;font-size:2rem}.login-card>p{color:#57717e;margin:10px 0 28px}.login-card small{color:#6d818a;margin-top:24px;display:block}.google-login-button{justify-content:center;min-height:44px;display:flex}.login-notice,.login-error{border-radius:10px;margin:0 auto;padding:14px}.login-notice{color:#255c2d;background:#edf7ee}.login-notice span{margin-top:4px;display:block}.login-error{color:#9f2525;background:#fff0f0;margin-top:16px}.user-management-page{gap:18px;display:grid}.user-management-page header h1{margin-bottom:4px}.user-count{color:#fff;background:#123f57;border-radius:14px;place-items:center;min-width:28px;height:28px;font-size:.85rem;display:inline-grid}.user-access-row{border-top:1px solid #e2e9ed;grid-template-columns:minmax(180px,1.4fr) minmax(170px,1fr) 130px auto;align-items:end;gap:16px;padding:16px 0;display:grid}.user-access-row>div:first-child{align-self:center;gap:3px;display:grid}.user-access-row>div:first-child span,.user-access-row>div:first-child small{color:#667d88}.user-access-row label{color:#506874;gap:6px;font-size:.85rem;display:grid}.user-access-row select{min-height:42px}.user-access-actions{gap:8px;display:flex}@media (width<=800px){.user-access-row{grid-template-columns:1fr;align-items:stretch}}.test-login-panel{gap:14px;margin:4px 0 20px;display:grid}.test-mode-label{color:#704f00;letter-spacing:.04em;background:#fff2cc;border-radius:8px;padding:9px 12px;font-size:.78rem}.test-login-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.test-login-button{color:#183846;cursor:pointer;text-align:left;background:#f7fafb;border:1px solid #cbd9e0;border-radius:10px;align-content:center;gap:5px;min-height:88px;padding:12px;display:grid}.test-login-button:hover{background:#eef6f9;border-color:#3f7188}.test-login-button:disabled{cursor:wait;opacity:.65}.test-login-button b{font-size:1rem}.test-login-button span{color:#607984;font-size:.76rem;line-height:1.25}.profile-admin{border-color:#d4b06b}@media (width<=520px){.test-login-grid{grid-template-columns:1fr}.login-card{padding:28px 20px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface-page:#eef3f8;--surface-sidebar:#071c33;--surface-main:#fff;--surface-raised:#fff;--surface-subtle:#f8fbff;--surface-subtle-alt:#f8fafc;--surface-inset:#f6f9fd;--text-primary:#173052;--text-secondary:#60718b;--text-muted:#667891;--text-strong:#0f172a;--text-watch-summary:#334155;--border-default:#d9e3ef;--border-subtle:#dbe5f0;--border-strong:#cbd8e6;--accent-primary:#0b63ce;--accent-on-primary:white;--surface-navigation-active:#0b63ce;--focus-ring:#7eb2ed;--sidebar-text:#bed1e8;--sidebar-text-muted:#9fb8d8;--sidebar-text-secondary:#c9d7e8;--sidebar-text-tertiary:#8fa9c8;--sidebar-hover:#ffffff14;--sidebar-hover-strong:#fff3;--sidebar-border:#ffffff1f;--sidebar-border-subtle:#ffffff1a;--sidebar-badge-background:#143d66;--sidebar-badge-text:#d7e9ff;--shadow-card:0 8px 24px #102a430f;--shadow-card-subtle:0 6px 18px #0f172a0a;--surface-table-header:#f5f8fc;--surface-table-row-hover:#f7fbff;--surface-table-sticky:#fff;--surface-table-sticky-header:#f5f8fc;--surface-table-sticky-hover:#f7fbff;--text-table:#1d314f;--text-table-header:#63758d;--text-table-empty:#74849a;--border-table-row:#edf1f6;--shadow-sticky-column:4px 0 8px #102a4314;--surface-table-alt-container:#fff;--surface-table-alt-header:#f3f7fb;--surface-table-alt-row-hover:#f7faff;--surface-table-alt-row-open:#f3f7fb;--text-table-alt-header:#667891;--border-table-alt-container:#d7e2ed;--border-table-alt-row:#e4ecf4;--surface-input:white;--surface-input-strong:#fff;--surface-input-alt:#fff;--surface-input-subtle:#f6f9fd;--surface-input-readonly:#f8fbff;--text-input:#173052;--text-input-strong:#0f172a;--text-input-alt:#17233c;--text-input-readonly:#162b45;--text-input-readonly-secondary:#62748a;--text-label:#173052;--text-label-alt:#1b2a41;--text-label-muted:#64748b;--text-label-compact:#52667f;--text-helper:#667891;--text-helper-secondary:#60718b;--border-input:#d9e3ef;--border-input-strong:#cbd5e1;--border-input-alt:#d5deea;--border-input-readonly:#d8e1ec;--border-input-readonly-alt:#dbe5f0;--border-input-focus:#0b6bdc;--shadow-input-focus:0 0 0 3px #0b6bdc1f;--surface-button-secondary:#eef3f9;--surface-button-secondary-alt:#f1f5f9;--surface-button-secondary-subtle:#f6f9fd;--surface-button-neutral:#fff;--surface-button-neutral-alt:#fff;--text-button-secondary:#173052;--text-button-secondary-strong:#0f172a;--border-button-secondary:#cbd8e6;--border-button-secondary-strong:#cbd5e1;--border-button-secondary-alt:#d9e3ef;--surface-control-option:#fff;--surface-control-option-hover:#f3f7fb;--text-control-option:#162b45;--text-control-option-secondary:#62748a;--border-control-option:#d8e1ec;--surface-control-popover:#fff;--border-control-popover:#dbe5f0;--surface-control-disabled:#d5dbe2;--text-control-disabled:#7b8794;--border-control-disabled:#bdc6d0;--surface-segmented:#fff;--surface-segmented-hover:#eef5fc;--text-segmented:#52667f;--border-segmented:#b9cee3;--border-segmented-divider:#d7e2ed;--border-tabs:#cbd8e6;--surface-tabs-hover:#edf5ff;--text-tabs-hover:#0b4f9f;--focus-ring-control:#0b63ce52;--surface-overlay-backdrop:#0312266b;--surface-overlay-backdrop-strong:#0f172a73;--surface-modal:white;--surface-modal-alt:#fff;--surface-modal-header:#fff;--surface-modal-footer:#fff;--surface-modal-footer-translucent:#fffffff5;--surface-modal-section:#f8fbff;--surface-modal-section-alt:#fff;--surface-drawer:white;--surface-drawer-header:#f8fbff;--surface-drawer-section:#fff;--surface-overlay-nested:#f8fbff;--surface-overlay-item:#fff;--border-modal-divider:#dbe5f0;--border-modal-header:#dbe5f0;--border-modal-footer:#dbe5f0;--border-modal-footer-alt:#e4edf6;--border-modal-section:#dbe5f0;--border-modal-section-alt:#e4edf6;--border-drawer-header:#dbe5f0;--border-drawer-section:#e4edf6;--border-overlay-nested:#d7e4f2;--border-overlay-hint:#b8cae0;--border-overlay-item:#e0e9f3;--border-overlay-divider:#dbe5f0;--shadow-modal:0 30px 80px #00000040;--shadow-modal-alt:0 24px 80px #0f172a40;--shadow-modal-footer:0 -8px 20px #102a430d;--shadow-drawer:-20px 0 60px #0000002e;--shadow-floating-panel:0 14px 34px #0f172a29;--surface-close-control:#eef3f9;--surface-close-control-alt:#f1f5f9;--text-close-control:#173052;--text-close-control-alt:#0f172a;--surface-card:#fff;--surface-card-alt:white;--surface-panel:#fbfdff;--surface-placeholder:#e8edf2;--surface-card-header:#f3f7fb;--surface-card-data:#f7fafe;--surface-card-expanded:#fafcff;--text-panel-secondary:#52667f;--text-card-muted:#7b899b;--text-muted-strong:#53637c;--text-data-muted:#718198;--border-placeholder:#d4dce5;--border-card-muted:#e2e8f0;--border-card-data:#e1e9f2;--border-card-panel:#d8e4ef;--border-card-strong:#c9dced;--border-card-expanded:#dce6f0;--border-divider:#e5edf5;--border-divider-muted:#e2e8f0;--border-divider-data:#e1e9f2;--border-divider-strong:#e4ecf4;--shadow-card-compact:0 6px 18px #0000000d;--shadow-card-compact-alt:0 6px 18px #0000000f;--shadow-card-watch:0 6px 18px #0f172a0f;--shadow-card-spaced:0 8px 24px #102a430f;--shadow-card-data:0 8px 24px #102a430f;--shadow-card-muted:0 8px 24px #102a430d;--shadow-card-hover:0 10px 24px #0f172a14;--shadow-section:0 6px 18px #0f172a0d;--text-reference-meta:#173052;--text-inactive:#667085;--text-action-disabled:#94a3b8;--surface-coming-soon:#e8eef5;--surface-inactive-label:#eef3f9;--surface-inactive-row:#f1f3f6;--surface-inactive-badge:#d7dde5;--surface-inactive-label-alt:#edf1f5;--surface-row-hover:#eef6ff;--surface-panel-control:#f7faff;--surface-empty:#f5f8fc;--surface-quick-check:#f5f9fe;--surface-action-hover:#e8f1fb;--surface-link-hover:#e2eaf4;--border-interactive-hover:#7eb2ed;--border-row-hover:#b9d4f2;--border-panel-control:#d7e2ed;--border-quick-check:#cbdced;--action-primary-surface:#0b63ce;--action-primary-surface-hover:#084f9f;--action-primary-text:#fff;--action-primary-outline-surface:#fff;--action-primary-outline-text:#0757b8;--action-primary-border:#0b63ce;--action-primary-shadow:0 6px 18px #0b63ce2e;--action-control-shadow:0 6px 18px #00000014;--info-accent-surface:#e8f1fb;--info-accent-surface-hover:#dbeafe;--info-accent-text:#0b63ce;--info-accent-text-strong:#0757b8;--info-accent-border:#93b9e8;--info-accent-border-subtle:#bfdbfe;--feedback-error-surface:#fff5f5;--feedback-error-border:#f0b7b7;--feedback-error-border-subtle:#f0c2c2;--feedback-error-text:#9b1c1c;--feedback-warning-surface:#fff8e6;--feedback-warning-border:#f4c36a;--feedback-warning-text:#8a5300;--feedback-success-surface:#e8f7ee;--feedback-success-text:#16803c;--control-destructive-border:#dc2626;--control-destructive-surface:#fff5f5;--control-destructive-text:#b42318;--control-destructive-muted-surface:#ffe8e8;--control-destructive-muted-text:#b42318;--control-destructive-revoke-border:#e0a5a5;--control-destructive-revoke-surface:#fff2f2;--control-destructive-revoke-text:#991b1b;--attention-item-surface:#fff7ed;--attention-item-surface-hover:#ffedd5;--attention-item-border:#fed7aa;--attention-item-reason:#b45309;--movement-status-indicator-shadow:0 0 0 3px #0f172a0f;--movement-status-cancelled-detained-indicator:#2563eb;--movement-status-ready-indicator:#16a34a;--movement-status-missing-indicator:#dc2626;--movement-status-planned-indicator:#94a3b8;--movement-status-not-ordered-indicator:#f59e0b;--movement-pill-surface:#e8f1fb;--movement-pill-text:#0b63ce;--movement-cancelled-surface:#ffe8e8;--movement-cancelled-text:#b42318;--movement-complete-surface:#e8f7ee;--movement-complete-text:#16803c;--movement-ordered-surface:#fff3d8;--movement-ordered-text:#9a5b00;--movement-readiness-good-text:#16803c;--movement-readiness-bad-text:#b42318;--movement-cell-alert-surface:#ffe8e8;--movement-cell-alert-text:#b42318;--indicator-daylight-text:#e19a00;--indicator-night-text:#3451d1;--indicator-attention-text:#e07800;--archive-status-ok-surface:#e8f7ee;--archive-status-ok-text:#16803c;--archive-status-warning-surface:#fff3d8;--archive-status-warning-text:#9a5b00;--archive-status-bad-surface:#ffe8e8;--archive-status-bad-text:#b42318;--archive-status-pending-surface:#e8f1fb;--archive-status-pending-text:#0b63ce;--bulletin-unresolved-text:#8a351f;--bulletin-applied-text:#17633a;--trainee-badge-surface:#eff6ff;--trainee-badge-surface-hover:#dbeafe;--trainee-badge-border:#bfdbfe;--trainee-badge-border-hover:#60a5fa;--trainee-badge-text:#0b4f9f;--trainee-badge-remove-text:#7f1d1d;--weather-current-text:#16803c;--weather-delayed-border:#e7c36a;--weather-delayed-text:#9a6700;--weather-unavailable-border:#cbd5e1;--weather-unavailable-text:#64748b;--weather-status-meta-text:#60718b;--weather-notice-surface:#fff8e6;--weather-notice-text:#785200;--weather-unavailable-notice-surface:#f1f5f9;--weather-unavailable-notice-text:#52667f;--weather-measurement-meta-text:#52667f;--weather-source-active-surface:#e8f7ee;--weather-source-active-text:#16803c;--weather-mobile-action-gradient:linear-gradient(to bottom, transparent 55%, #071c33d1);--compact-tide-graph-label:#344b68;--compact-tide-graph-event:#0b63ce;--compact-tide-graph-window:#0b63ce;--compact-tide-graph-axis:#70839b;--compact-tide-graph-time:#60718b;--compact-tide-graph-required:#b45309;--compact-tide-graph-now:#dc2626;--tide-check-ok-surface:#e8f7ee;--tide-check-ok-text:#16803c;--tide-check-ok-border:#bbebcb;--tide-check-restricted-surface:#fff3d8;--tide-check-restricted-text:#9a5b00;--tide-check-restricted-border:#fde4a7;--tide-check-error-surface:#ffe8e8;--tide-check-error-text:#b42318;--tide-check-error-border:#ffc9c9;--tide-status-neutral-surface:#f2f6fa;--tide-status-neutral-border:#cbd8e6;--tide-status-ready-surface:#e8f7ee;--tide-status-ready-text:#116b32;--tide-status-ready-border:#a7dfba;--tide-status-unapproved-surface:#fff6df;--tide-status-unapproved-text:#815000;--tide-status-unapproved-border:#f0d18a;--tide-status-error-surface:#fff0f0;--tide-status-error-text:#9b1c1c;--tide-status-error-border:#f4b4b4;--tide-window-border:#b9d2ea;--tide-window-heading-surface:#e8f7ee;--tide-window-heading-text:#116b32;--tide-endpoint-heading-surface:#e8f1fb;--tide-endpoint-heading-text:#0757b8;--tide-calculation-error-text:#9b1c1c;--tide-window-error-surface:#fff1f1;--tide-window-error-text:#8f1d1d;--tide-window-unavailable-surface:#f4f6f9;--tide-window-unavailable-text:#667891;--tide-window-status-neutral-surface:#f1f4f8;--tide-window-status-neutral-text:#52667f;--tide-window-status-within-surface:#effaf3;--tide-window-status-within-text:#116b32;--tide-window-status-outside-surface:#fff0f0;--tide-window-status-outside-text:#9b1c1c;--tide-passage-accent-text:#0757b8;--tide-passage-pass-text:#116b32;--tide-passage-fail-text:#9b1c1c;--tide-passage-unresolved-text:#667891;--tide-overhead-heading-surface:#eef4fb;--tide-overhead-heading-text:#52667f;--tide-overhead-pass-text:#116b32;--tide-overhead-fail-text:#9b1c1c;--tide-overhead-unresolved-text:#667891;--tide-overhead-unresolved-border:#e4ecf4;--tide-quick-check-heading-surface:#eaf2fc;--tide-quick-check-heading-text:#0b4f9f;--tide-quick-check-error-surface:#fff1f1;--tide-quick-check-error-text:#8f1d1d;--tide-quick-check-accent-text:#0757b8;--tide-quick-check-pass-surface:#f0faf4;--tide-quick-check-pass-text:#19713b;--tide-quick-check-pass-border:#9ccdaf;--tide-quick-check-fail-surface:#fff4f4;--tide-quick-check-fail-text:#a61f1f;--tide-quick-check-fail-border:#e2a3a3;--tide-message-warning-surface:#fff9eb;--tide-message-warning-text:#704600;--tide-message-warning-border:#efd08b;--tide-message-error-surface:#fff1f1;--tide-message-error-text:#8f1d1d;--tide-message-error-border:#f0b4b4;--tide-current-primary-text:#0757b8;--tide-current-accent-surface:#e8f1fb;--tide-current-accent-text:#0b4f9f;--tide-form-error-surface:#fff1f1;--tide-form-error-text:#8f1d1d;--tide-form-success-surface:#eaf8ef;--tide-form-success-text:#116b32;--tide-approval-approved-surface:#e8f7ee;--tide-approval-approved-text:#116b32;--tide-approval-approved-border:#a7dfba;--tide-approval-unapproved-surface:#fff6df;--tide-approval-unapproved-text:#815000;--tide-approval-unapproved-border:#e7c777;--tide-graph-surface:#fff;--tide-graph-grid:#dce6f0;--tide-graph-axis:#60718b;--tide-graph-line:#0b63ce;--tide-graph-now-line:#ef7c18;--tide-graph-now-label:#a34b00;--tide-graph-current-point-surface:#fff;--tide-graph-current-point-border:#ef7c18;--tide-graph-marker-border:#fff;--tide-graph-high-marker:#7b2cbf;--tide-graph-low-marker:#16803c;--tide-graph-high-label:#6b229f;--tide-graph-low-label:#116b32}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-page:#07111f;--surface-sidebar:#041426;--surface-main:#0d1b2a;--surface-raised:#122235;--surface-subtle:#14273a;--surface-subtle-alt:#101f30;--surface-inset:#0a1827;--text-primary:#e6edf5;--text-secondary:#a9b8ca;--text-muted:#899bb0;--text-strong:#f3f7fb;--text-watch-summary:#b4c2d1;--border-default:#2c4057;--border-subtle:#24384d;--border-strong:#3a526b;--accent-primary:#4d9fff;--accent-on-primary:#f4f8fc;--surface-navigation-active:#236fb8;--focus-ring:#67b0ff;--sidebar-text:#c4d4e6;--sidebar-text-muted:#94aac2;--sidebar-text-secondary:#b4c7da;--sidebar-text-tertiary:#849cb7;--sidebar-hover:#ffffff17;--sidebar-hover-strong:#ffffff29;--sidebar-border:#ffffff29;--sidebar-border-subtle:#ffffff1f;--sidebar-badge-background:#123b61;--sidebar-badge-text:#d6eaff;--shadow-card:0 8px 24px #0000005c;--shadow-card-subtle:0 6px 18px #00000047;--surface-table-header:#14263a;--surface-table-row-hover:#152b42;--surface-table-sticky:#0f1f30;--surface-table-sticky-header:#172b40;--surface-table-sticky-hover:#173149;--text-table:#d7e2ee;--text-table-header:#aab9ca;--text-table-empty:#8799ad;--border-table-row:#22364b;--shadow-sticky-column:4px 0 8px #00000061;--surface-table-alt-container:#112235;--surface-table-alt-header:#172b40;--surface-table-alt-row-hover:#183049;--surface-table-alt-row-open:#1a3047;--text-table-alt-header:#a1b2c5;--border-table-alt-container:#30475f;--border-table-alt-row:#273c52;--surface-input:#0e1d2c;--surface-input-strong:#101f30;--surface-input-alt:#0d1c2b;--surface-input-subtle:#13263a;--surface-input-readonly:#111f2e;--text-input:#e4ebf2;--text-input-strong:#f0f4f8;--text-input-alt:#dce5ef;--text-input-readonly:#cad6e2;--text-input-readonly-secondary:#9aacbf;--text-label:#e3eaf2;--text-label-alt:#d8e2ed;--text-label-muted:#95a7bb;--text-label-compact:#a4b6c8;--text-helper:#8fa1b5;--text-helper-secondary:#9fafc1;--border-input:#344a61;--border-input-strong:#405970;--border-input-alt:#32475e;--border-input-readonly:#2b4056;--border-input-readonly-alt:#2d4359;--border-input-focus:#5aa7ff;--shadow-input-focus:0 0 0 3px #5aa7ff40;--surface-button-secondary:#1a3047;--surface-button-secondary-alt:#1a2b3e;--surface-button-secondary-subtle:#14283d;--surface-button-neutral:#122438;--surface-button-neutral-alt:#13263a;--text-button-secondary:#dce8f4;--text-button-secondary-strong:#edf3f9;--border-button-secondary:#3b536b;--border-button-secondary-strong:#405970;--border-button-secondary-alt:#344a61;--surface-control-option:#122438;--surface-control-option-hover:#1a344d;--text-control-option:#dce6f0;--text-control-option-secondary:#9aacbf;--border-control-option:#30475d;--surface-control-popover:#102133;--border-control-popover:#2d4359;--surface-control-disabled:#263646;--text-control-disabled:#98a7b6;--border-control-disabled:#344454;--surface-segmented:#102133;--surface-segmented-hover:#19364f;--text-segmented:#afbed0;--border-segmented:#3a546e;--border-segmented-divider:#2e465d;--border-tabs:#3b536b;--surface-tabs-hover:#173550;--text-tabs-hover:#78b9ff;--focus-ring-control:#67b0ff61;--surface-overlay-backdrop:#020914a8;--surface-overlay-backdrop-strong:#020812c2;--surface-modal:#102033;--surface-modal-alt:#102033;--surface-modal-header:#112235;--surface-modal-footer:#112235;--surface-modal-footer-translucent:#102033f5;--surface-modal-section:#14283b;--surface-modal-section-alt:#122438;--surface-drawer:#0f1f31;--surface-drawer-header:#14283b;--surface-drawer-section:#122438;--surface-overlay-nested:#14283b;--surface-overlay-item:#122438;--border-modal-divider:#2b4258;--border-modal-header:#2b4258;--border-modal-footer:#2b4258;--border-modal-footer-alt:#2c445b;--border-modal-section:#2b4258;--border-modal-section-alt:#2c445b;--border-drawer-header:#2b4258;--border-drawer-section:#2c445b;--border-overlay-nested:#304961;--border-overlay-hint:#46627e;--border-overlay-item:#2c4359;--border-overlay-divider:#2b4258;--shadow-modal:0 30px 80px #00000094;--shadow-modal-alt:0 24px 80px #0000008a;--shadow-modal-footer:0 -8px 20px #00000047;--shadow-drawer:-20px 0 60px #0000007a;--shadow-floating-panel:0 14px 34px #00000075;--surface-close-control:#1a3047;--surface-close-control-alt:#1a2b3e;--text-close-control:#dce8f4;--text-close-control-alt:#edf3f9;--surface-card:#122438;--surface-card-alt:#112235;--surface-panel:#0e2133;--surface-placeholder:#1b2c3d;--surface-card-header:#172b40;--surface-card-data:#12283c;--surface-card-expanded:#14273a;--text-panel-secondary:#a4b6c8;--text-card-muted:#8799ad;--text-muted-strong:#9aacc0;--text-data-muted:#8fa1b5;--border-placeholder:#354b62;--border-card-muted:#2b4056;--border-card-data:#294157;--border-card-panel:#30485f;--border-card-strong:#3a5671;--border-card-expanded:#2d4359;--border-divider:#253b50;--border-divider-muted:#2b4056;--border-divider-data:#294157;--border-divider-strong:#2d4359;--shadow-card-compact:0 6px 18px #00000052;--shadow-card-compact-alt:0 6px 18px #0000005c;--shadow-card-watch:0 6px 18px #0000004d;--shadow-card-spaced:0 8px 24px #00000057;--shadow-card-data:0 8px 24px #00000057;--shadow-card-muted:0 8px 24px #00000047;--shadow-card-hover:0 10px 24px #00000061;--shadow-section:0 6px 18px #0000004d;--text-reference-meta:#a9b8ca;--text-inactive:#8292a3;--text-action-disabled:#788a9f;--surface-coming-soon:#233447;--surface-inactive-label:#223447;--surface-inactive-row:#182838;--surface-inactive-badge:#2a3b4d;--surface-inactive-label-alt:#263747;--surface-row-hover:#17344f;--surface-panel-control:#12283c;--surface-empty:#132438;--surface-quick-check:#142a40;--surface-action-hover:#193a58;--surface-link-hover:#1a344d;--border-interactive-hover:#67b0ff;--border-row-hover:#3f678d;--border-panel-control:#30485f;--border-quick-check:#3a526b;--action-primary-surface:#2f82d8;--action-primary-surface-hover:#236fb8;--action-primary-text:#f4f8fc;--action-primary-outline-surface:#122438;--action-primary-outline-text:#78b9ff;--action-primary-border:#4d9fff;--action-primary-shadow:0 6px 18px #00000061;--action-control-shadow:0 6px 18px #00000052;--info-accent-surface:#163452;--info-accent-surface-hover:#1d4264;--info-accent-text:#65adff;--info-accent-text-strong:#78b9ff;--info-accent-border:#4e82b5;--info-accent-border-subtle:#3c6995;--feedback-error-surface:#3a171d;--feedback-error-border:#8f4650;--feedback-error-border-subtle:#7d3943;--feedback-error-text:#ff9fa8;--feedback-warning-surface:#3a2b0f;--feedback-warning-border:#9b6d27;--feedback-warning-text:#ffd078;--feedback-success-surface:#123822;--feedback-success-text:#76dda0;--control-destructive-border:#d35a65;--control-destructive-surface:#42181e;--control-destructive-text:#ff9ca5;--control-destructive-muted-surface:#3c171c;--control-destructive-muted-text:#ff9ca5;--control-destructive-revoke-border:#9b4b54;--control-destructive-revoke-surface:#40191e;--control-destructive-revoke-text:#ffabb2;--attention-item-surface:#3b280f;--attention-item-surface-hover:#493217;--attention-item-border:#9d6724;--attention-item-reason:#ffc766;--movement-status-indicator-shadow:0 0 0 3px #00000047;--movement-status-cancelled-detained-indicator:#5790ff;--movement-status-ready-indicator:#44d27a;--movement-status-missing-indicator:#ff6570;--movement-status-planned-indicator:#a5b1c0;--movement-status-not-ordered-indicator:#f6b84a;--movement-pill-surface:#163452;--movement-pill-text:#78b9ff;--movement-cancelled-surface:#3c171c;--movement-cancelled-text:#ff9ca5;--movement-complete-surface:#123822;--movement-complete-text:#76dda0;--movement-ordered-surface:#3a2b0f;--movement-ordered-text:#ffd078;--movement-readiness-good-text:#76dda0;--movement-readiness-bad-text:#ff9ca5;--movement-cell-alert-surface:#3c171c;--movement-cell-alert-text:#ff9ca5;--indicator-daylight-text:#ffc257;--indicator-night-text:#9ca9ff;--indicator-attention-text:#ffad5c;--archive-status-ok-surface:#123822;--archive-status-ok-text:#76dda0;--archive-status-warning-surface:#3a2b0f;--archive-status-warning-text:#ffd078;--archive-status-bad-surface:#3c171c;--archive-status-bad-text:#ff9ca5;--archive-status-pending-surface:#163452;--archive-status-pending-text:#78b9ff;--bulletin-unresolved-text:#f0a58f;--bulletin-applied-text:#71d69a;--trainee-badge-surface:#142f4a;--trainee-badge-surface-hover:#1b3e60;--trainee-badge-border:#467cac;--trainee-badge-border-hover:#6ca9e4;--trainee-badge-text:#9bcbff;--trainee-badge-remove-text:#ff9aa3;--weather-current-text:#6bd795;--weather-delayed-border:#a8782a;--weather-delayed-text:#ffd078;--weather-unavailable-border:#526274;--weather-unavailable-text:#aebbc8;--weather-status-meta-text:#a9b8ca;--weather-notice-surface:#3b2d12;--weather-notice-text:#ffd07a;--weather-unavailable-notice-surface:#202d3a;--weather-unavailable-notice-text:#b5c2cf;--weather-measurement-meta-text:#a4b6c8;--weather-source-active-surface:#123822;--weather-source-active-text:#76dda0;--weather-mobile-action-gradient:linear-gradient(to bottom, transparent 55%, #041426eb);--compact-tide-graph-label:#b7c7d8;--compact-tide-graph-event:#6eb2ff;--compact-tide-graph-window:#6eb2ff;--compact-tide-graph-axis:#91a4b8;--compact-tide-graph-time:#a9b8ca;--compact-tide-graph-required:#ffc766;--compact-tide-graph-now:#ff7883;--tide-check-ok-surface:#123822;--tide-check-ok-text:#76dda0;--tide-check-ok-border:#3e825a;--tide-check-restricted-surface:#3a2b0f;--tide-check-restricted-text:#ffd078;--tide-check-restricted-border:#9b6d27;--tide-check-error-surface:#3c171c;--tide-check-error-text:#ff9ca5;--tide-check-error-border:#91444e;--tide-status-neutral-surface:#1a2a3a;--tide-status-neutral-border:#42566a;--tide-status-ready-surface:#123822;--tide-status-ready-text:#76dda0;--tide-status-ready-border:#3e825a;--tide-status-unapproved-surface:#3a2b0f;--tide-status-unapproved-text:#ffd078;--tide-status-unapproved-border:#9b6d27;--tide-status-error-surface:#3d171c;--tide-status-error-text:#ffa0a8;--tide-status-error-border:#91444e;--tide-window-border:#46617b;--tide-window-heading-surface:#123822;--tide-window-heading-text:#76dda0;--tide-endpoint-heading-surface:#163452;--tide-endpoint-heading-text:#78b9ff;--tide-calculation-error-text:#ff9fa8;--tide-window-error-surface:#3f171c;--tide-window-error-text:#ffabb0;--tide-window-unavailable-surface:#202d3a;--tide-window-unavailable-text:#aebbc8;--tide-window-status-neutral-surface:#1a2a3a;--tide-window-status-neutral-text:#b2c0ce;--tide-window-status-within-surface:#123822;--tide-window-status-within-text:#76dda0;--tide-window-status-outside-surface:#3d171c;--tide-window-status-outside-text:#ffa0a8;--tide-passage-accent-text:#78b9ff;--tide-passage-pass-text:#76dda0;--tide-passage-fail-text:#ffa0a8;--tide-passage-unresolved-text:#aebbc8;--tide-overhead-heading-surface:#1b3047;--tide-overhead-heading-text:#b2c0ce;--tide-overhead-pass-text:#76dda0;--tide-overhead-fail-text:#ffa0a8;--tide-overhead-unresolved-text:#aebbc8;--tide-overhead-unresolved-border:#2e465d;--tide-quick-check-heading-surface:#17334f;--tide-quick-check-heading-text:#8bc2ff;--tide-quick-check-error-surface:#3f171c;--tide-quick-check-error-text:#ffabb0;--tide-quick-check-accent-text:#78b9ff;--tide-quick-check-pass-surface:#123822;--tide-quick-check-pass-text:#79e0a2;--tide-quick-check-pass-border:#43855d;--tide-quick-check-fail-surface:#3d171c;--tide-quick-check-fail-text:#ff9fa8;--tide-quick-check-fail-border:#91444e;--tide-message-warning-surface:#3b2c10;--tide-message-warning-text:#ffd078;--tide-message-warning-border:#997027;--tide-message-error-surface:#3f171c;--tide-message-error-text:#ffabb0;--tide-message-error-border:#91444e;--tide-current-primary-text:#78b9ff;--tide-current-accent-surface:#163452;--tide-current-accent-text:#8bc2ff;--tide-form-error-surface:#3f171c;--tide-form-error-text:#ffabb0;--tide-form-success-surface:#123822;--tide-form-success-text:#76dda0;--tide-approval-approved-surface:#123822;--tide-approval-approved-text:#76dda0;--tide-approval-approved-border:#3e825a;--tide-approval-unapproved-surface:#3a2b0f;--tide-approval-unapproved-text:#ffd078;--tide-approval-unapproved-border:#9b6d27;--tide-graph-surface:#0d1b2a;--tide-graph-grid:#405b74;--tide-graph-axis:#9eafc2;--tide-graph-line:#59a8ff;--tide-graph-now-line:#ff9a4e;--tide-graph-now-label:#ffbd82;--tide-graph-current-point-surface:#0d1b2a;--tide-graph-current-point-border:#ff9a4e;--tide-graph-marker-border:#0d1b2a;--tide-graph-high-marker:#c084fc;--tide-graph-low-marker:#5dd58a;--tide-graph-high-label:#d8b4fe;--tide-graph-low-label:#86efac}*{box-sizing:border-box}body{background:var(--surface-page);color:var(--text-primary);margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}.app{background:var(--surface-page);grid-template-columns:184px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--surface-sidebar);width:184px;height:100vh;color:var(--accent-on-primary);flex-direction:column;gap:12px;padding:18px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{border-bottom:1px solid var(--sidebar-border);grid-template-columns:28px 1fr;align-items:center;gap:8px;margin-bottom:8px;padding:6px 4px 18px;display:grid}.brand-logo-trigger{width:28px;height:28px;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex}.brand-logo-trigger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:6px}.brand-copy{min-width:0;height:31px;position:relative}.brand-normal,.brand-easter{transition:opacity .3s;position:absolute;inset:0}.brand-normal{opacity:1;flex-direction:column;justify-content:center;display:flex}.brand-normal b{letter-spacing:.5px;font-size:16px;line-height:1.1}.brand-normal span{color:var(--sidebar-text-muted);margin-top:1px;font-size:11px}.brand-easter{opacity:0;pointer-events:none;background:#050505;border-radius:7px;justify-content:center;align-items:center;gap:4px;padding:4px 5px;display:flex}.brand-easter strong{color:#fff;letter-spacing:-.2px;font-size:14px;line-height:1}.brand-easter span{color:#171717;text-transform:lowercase;background:#f7941d;border-radius:5px;padding:3px 5px;font-size:14px;font-weight:900;line-height:1}.brand.brand-easter-active .brand-normal{opacity:0}.brand.brand-easter-active .brand-easter{opacity:1}.nav{color:var(--sidebar-text);cursor:pointer;border-radius:12px;align-items:center;gap:9px;padding:10px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.nav:hover{background:var(--sidebar-hover);color:var(--accent-on-primary)}.nav.active{background:var(--surface-navigation-active);color:var(--accent-on-primary)}.prev{background:var(--sidebar-hover);border:1px solid var(--sidebar-border-subtle);color:var(--sidebar-text-secondary);border-radius:14px;margin-top:auto;padding:12px;font-size:12px}.prev small{color:var(--sidebar-text-tertiary);margin-bottom:4px;display:block}.prev b{color:var(--accent-on-primary);font-size:14px;display:block}.prev span{background:var(--sidebar-badge-background);color:var(--sidebar-badge-text);border-radius:999px;margin-top:6px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-block}.prev p{margin:8px 0 0;line-height:1.35}.nav span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-toggle{background:var(--sidebar-border);width:34px;height:34px;color:var(--accent-on-primary);cursor:pointer;border:0;border-radius:10px;justify-content:center;align-self:flex-end;align-items:center;font-size:22px;font-weight:900;line-height:1;display:flex}.sidebar-toggle:hover{background:var(--sidebar-hover-strong)}.app.sidebar-collapsed{grid-template-columns:64px minmax(0,1fr)}.app.sidebar-collapsed .sidebar{align-items:center;width:64px;padding:14px 10px}.app.sidebar-collapsed .brand{justify-content:center;margin-bottom:4px;padding:6px 0 12px;display:flex}.app.sidebar-collapsed .brand-copy,.app.sidebar-collapsed .nav span,.app.sidebar-collapsed .prev{display:none}.app.sidebar-collapsed .brand.brand-easter-mounted{flex-direction:column;gap:6px}.app.sidebar-collapsed .brand.brand-easter-mounted .brand-copy{width:44px;height:42px;display:block}.app.sidebar-collapsed .brand .brand-normal{display:none}.app.sidebar-collapsed .brand .brand-easter{flex-direction:column;gap:3px;padding:5px 3px}.app.sidebar-collapsed .brand .brand-easter strong,.app.sidebar-collapsed .brand .brand-easter span{font-size:10px}.app.sidebar-collapsed .nav{border-radius:14px;justify-content:center;width:44px;height:44px;padding:0}.app.sidebar-collapsed .nav svg{margin:0}main{min-width:0;padding:24px}header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}header h1{margin:0;font-size:30px;line-height:1.1}header p{color:var(--text-secondary);margin:4px 0 0}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.date-display{border:1px solid var(--border-default);background:var(--surface-card-alt);min-width:310px;height:42px;color:var(--text-primary);box-shadow:var(--shadow-card-compact);white-space:nowrap;border-radius:10px;align-items:center;padding:0 14px;font-weight:800;display:flex}.add-button,.archive-button{cursor:pointer;height:42px;box-shadow:var(--action-control-shadow);white-space:nowrap;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:800;display:flex}.add-button{background:var(--action-primary-outline-surface);color:var(--action-primary-outline-text);border:1px solid var(--action-primary-border)}.archive-button{background:var(--action-primary-surface);color:var(--action-primary-text)}.top{background:var(--surface-card-alt);min-width:170px;min-height:58px;box-shadow:var(--shadow-card-compact-alt);color:var(--text-primary);border-radius:12px;padding:7px 12px;font-size:12px;line-height:1.2}.system-status-wrap{position:relative}.system-status-trigger{width:100%;font:inherit;text-align:left;cursor:pointer;border:1px solid #0000}.system-status-trigger.is-limited{border-color:var(--feedback-warning-border)}.system-status-trigger.is-limited .top-line span{color:var(--feedback-warning-text)}.system-status-trigger.is-offline{border-color:var(--feedback-error-border)}.system-status-trigger.is-offline .top-line span{color:var(--feedback-error-text)}.system-status-trigger.is-checking .top-line span{color:var(--text-secondary)}.system-status-popover{z-index:300;border:1px solid var(--border-modal-section-alt);background:var(--surface-raised);width:min(330px,100vw - 32px);box-shadow:var(--shadow-card-compact-alt);color:var(--text-primary);border-radius:12px;padding:12px;position:absolute;top:calc(100% + 8px);right:0}.system-status-popover-title{border-bottom:1px solid var(--border-subtle);justify-content:space-between;gap:12px;padding-bottom:8px;display:flex}.system-status-popover-title span{color:var(--text-secondary);font-size:11px}.system-status-popover dl{gap:0;margin:8px 0 0;display:grid}.system-status-popover dl div{justify-content:space-between;gap:14px;padding:5px 0;display:flex}.system-status-popover dt{color:var(--text-secondary);font-weight:700}.system-status-popover dd{text-align:right;margin:0;font-weight:700}.top-line{color:var(--text-secondary);align-items:center;gap:4px;font-weight:700;display:flex}.top-line svg{width:14px;height:14px}.top-line span{color:var(--feedback-success-text);margin-left:4px;font-weight:800}.top-date{color:var(--text-secondary);white-space:nowrap;margin-top:3px;font-size:11px;font-weight:700}.top-clock{letter-spacing:.2px;color:var(--text-primary);margin-top:2px;font-size:14px;font-weight:800;line-height:1}.grid-top{grid-template-columns:minmax(0,.95fr) minmax(520px,1.05fr);align-items:start;gap:16px;margin-bottom:18px;display:grid}@media (width>=1201px){.grid-top{align-items:stretch;gap:12px 16px}.grid-top>div:first-child{display:contents}.grid-top .compact-watch-info-card,.grid-top>.tide-status-strip-card{box-sizing:border-box;grid-row:1;height:100%;margin-bottom:0}.grid-top .compact-watch-info-card{grid-column:1}.grid-top>.tide-status-strip-card{grid-column:2;align-content:center}.grid-top .attention{box-sizing:border-box;grid-area:2/1/auto/-1;width:100%;margin-top:0}.grid-top .attention-item{flex-wrap:nowrap}.grid-top .attention-item span{flex-direction:row;flex:auto;align-items:center;overflow:hidden}.grid-top .attention-item b{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.grid-top .attention-item small{white-space:nowrap;flex:none}.grid-top .attention-item em{text-overflow:ellipsis;white-space:nowrap;flex:0 50%;min-width:12rem;max-width:50%;overflow:hidden}}.summary{grid-template-columns:1.15fr .75fr .75fr .75fr 1fr;align-items:stretch;gap:10px;display:grid}.summary>div{background:var(--surface-raised);min-height:58px;box-shadow:var(--shadow-card);border-radius:14px;padding:10px 14px}.summary small{color:var(--text-muted);margin-bottom:2px;font-size:12px;display:block}.summary b{color:var(--text-primary);font-size:18px;line-height:1.1;display:block}.summary p{color:var(--text-muted);margin:3px 0 0;font-size:12px;line-height:1.2}.summary>div:first-child b{font-size:18px}.summary>div:first-child p{max-width:180px}.summary>svg{display:none}.attention{background:var(--surface-raised);box-shadow:var(--shadow-card);border-radius:16px;min-height:50px;margin-top:12px;padding:12px 16px}.attention h3{margin:0;font-size:17px}.attention-item{border:1px solid var(--attention-item-border);background:var(--attention-item-surface);text-align:left;cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-top:8px;padding:9px 11px;display:flex}.attention-item:hover{background:var(--attention-item-surface-hover)}.attention-item span{flex-direction:column;gap:2px;min-width:0;display:flex}.attention-item b{color:var(--text-primary);font-size:14px}.attention-item small{color:var(--text-label-muted);font-size:12px}.attention-item em{color:var(--attention-item-reason);text-align:right;font-size:13px;font-style:normal;font-weight:800}.attention-empty{color:var(--text-secondary);margin-top:8px;font-size:14px}.watch-info-card{background:var(--surface-raised);border:1px solid var(--border-subtle);box-shadow:var(--shadow-card-watch);border-radius:16px;margin-bottom:12px;padding:12px 14px}.watch-info-card h3{color:var(--text-strong);margin:0 0 10px;font-size:15px}.watch-info-grid{grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px 14px;display:grid}.watch-info-grid small{text-transform:uppercase;letter-spacing:.04em;color:var(--text-label-muted);margin-bottom:2px;font-size:11px;display:block}.watch-info-grid b{color:var(--text-strong);font-size:14px;display:block}.watch-info-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.watch-info-grid label{display:block}.watch-info-grid input,.watch-info-grid select{border:1px solid var(--border-input-strong);background:var(--surface-input-strong);width:100%;color:var(--text-input-strong);border-radius:10px;padding:7px 9px;font-size:13px}.compact-watch-info-card{padding:12px 14px}.watch-info-summary-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px;min-width:0;margin-bottom:8px;display:flex}.watch-info-header-left{align-items:center;gap:6px;min-width:0;display:flex}.watch-info-summary-header h3{text-transform:uppercase;letter-spacing:.06em;color:var(--accent-primary);margin:0;font-size:13px}.watch-info-duty-pilot-readonly{min-width:0;max-width:min(280px,100%);color:var(--text-watch-summary);white-space:nowrap;align-items:baseline;gap:4px;font-size:13px;display:flex}.watch-info-duty-pilot-readonly>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.watch-info-summary{flex-wrap:wrap;gap:8px 16px;font-size:14px;line-height:1.6;display:flex}.watch-info-summary span{white-space:nowrap}.watch-info-summary b{color:var(--text-strong);margin-right:4px}.duty-pilot-summary{border:1px solid var(--border-subtle);background:var(--surface-subtle);border-radius:10px;flex:240px;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:5px 8px;display:flex}.pilot-official-name,.pilot-alias{display:block}.pilot-official-name{color:var(--text-primary);font-weight:700}.pilot-alias{color:var(--text-secondary);margin-top:2px;font-size:12px}.duty-pilot-summary>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.duty-pilot-manage-button{border:1px solid var(--accent-primary);background:var(--surface-button-neutral-alt);color:var(--accent-primary);cursor:pointer;border-radius:8px;flex:none;padding:4px 8px;font-size:12px;font-weight:700}.small-edit-button{border:1px solid var(--accent-primary);background:var(--surface-button-neutral-alt);color:var(--accent-primary);cursor:pointer;white-space:nowrap;border-radius:10px;padding:7px 12px;font-weight:700}.movements-page .watch-info-summary-header .small-edit-button{border-radius:7px;width:auto;min-width:0;min-height:32px;padding:3px 7px;font-size:11px;line-height:1.2}.simple-modal-backdrop{background:var(--surface-overlay-backdrop-strong);z-index:1000;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.operational-info-modal{background:var(--surface-modal-alt);width:min(920px,96vw);max-height:90vh;box-shadow:var(--shadow-modal-alt);border-radius:18px;padding:18px;overflow-y:auto}.duty-pilot-modal{background:var(--surface-modal-alt);width:min(460px,96vw);max-height:90vh;box-shadow:var(--shadow-modal-alt);border-radius:18px;padding:18px;overflow-y:auto}.duty-pilot-current{color:var(--text-secondary);margin:0 0 14px;font-size:14px}.duty-pilot-current b{color:var(--text-primary)}.watch-info-duty-pilot-section{border:1px solid var(--border-modal-section);background:var(--surface-modal-section);border-radius:12px;margin-top:16px;padding:12px}.watch-info-duty-pilot-section-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.watch-info-duty-pilot-section-header h4{color:var(--text-strong);margin:0;font-size:14px}.watch-info-duty-pilot-section-header p{color:var(--text-secondary);margin:3px 0 0;font-size:13px}.watch-info-duty-pilot-section-header p b{color:var(--text-primary)}.watch-info-duty-pilot-controls{border-top:1px solid var(--border-modal-divider);margin-top:12px;padding-top:12px}.duty-pilot-select-field{display:block}.duty-pilot-select-field small{color:var(--text-label-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:700;display:block}.duty-pilot-select-field select{border:1px solid var(--border-input-strong);background:var(--surface-input-strong);width:100%;min-height:42px;color:var(--text-input-strong);border-radius:10px;padding:8px 10px;font-size:14px}.duty-pilot-error{border:1px solid var(--feedback-error-border);background:var(--feedback-error-surface);color:var(--feedback-error-text);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:9px 10px;font-size:13px;display:flex}.duty-pilot-error-message,.duty-pilot-empty{margin:12px 0 0;font-size:13px}.duty-pilot-error-message{color:var(--feedback-error-text)}.duty-pilot-empty{color:var(--text-secondary)}.duty-pilot-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:18px;display:flex}.duty-pilot-end-button{border:1px solid var(--control-destructive-border);background:var(--control-destructive-surface);color:var(--control-destructive-text);cursor:pointer;white-space:nowrap;border-radius:10px;margin-right:auto;padding:8px 12px;font-weight:700}.duty-pilot-actions button:disabled,.duty-pilot-manage-button:disabled{opacity:.6;cursor:not-allowed}.modal-header-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.modal-header-row h3{color:var(--text-strong);margin:0;font-size:18px}.close-button{background:var(--surface-close-control-alt);color:var(--text-close-control-alt);cursor:pointer;border:none;border-radius:10px;width:38px;height:38px;font-size:24px;line-height:1}.watch-info-edit-grid{grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;display:grid}.watch-info-edit-grid label{display:block}.watch-info-edit-grid small{text-transform:uppercase;letter-spacing:.04em;color:var(--text-label-muted);margin-bottom:4px;font-size:11px;display:block}.operational-info-modal .watch-info-edit-grid input,.operational-info-modal .watch-info-edit-grid select,.operational-info-modal .watch-info-duty-pilot-controls .duty-pilot-select-field select{box-sizing:border-box;border:1px solid var(--border-input-strong);background:var(--surface-input-strong);width:100%;height:42px;min-height:42px;color:var(--text-input-strong);border-radius:10px;padding:8px 10px;font-size:13px;line-height:1.2}.watch-info-options-error{border:1px solid var(--feedback-error-border);background:var(--feedback-error-surface);color:var(--feedback-error-text);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;padding:10px 12px;font-size:13px;display:flex}@media (width<=900px){.duty-pilot-manage-button{min-height:36px;padding:6px 10px}}@media (width<=760px){.duty-pilot-summary{flex-basis:100%;width:100%}.watch-info-duty-pilot-readonly{flex-basis:100%;max-width:100%}.watch-info-duty-pilot-section-header{align-items:flex-start}.duty-pilot-modal{width:100%;padding:16px}.duty-pilot-actions{flex-direction:column;align-items:stretch}.duty-pilot-actions button,.duty-pilot-end-button{width:100%;min-height:44px;margin-right:0}}.general-info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.general-info-module{border:1px solid var(--border-subtle);background:var(--surface-subtle-alt);min-height:150px;color:var(--text-secondary);text-align:left;box-shadow:var(--shadow-card-subtle);border-radius:16px;grid-template-columns:auto minmax(0,1fr);align-content:start;gap:12px;padding:20px;text-decoration:none;display:grid;position:relative}.general-info-module.active{background:var(--surface-main);color:var(--text-primary);cursor:pointer}.general-info-module.active:hover{border-color:var(--border-interactive-hover);box-shadow:var(--shadow-card-hover)}.general-info-module h2{margin:0 0 6px;font-size:18px}.general-info-module p{color:var(--text-secondary);margin:0;line-height:1.45}.general-info-module svg{color:var(--info-accent-text)}.coming-soon{background:var(--surface-coming-soon);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;grid-column:2;justify-self:start;padding:4px 8px;font-size:11px;font-weight:800}.general-info-back{color:var(--info-accent-text);cursor:pointer;background:0 0;border:0;margin:0 0 10px;padding:0;font-weight:800}.phone-page{min-width:0}.phone-page header p{font-weight:800}.phone-placeholder{border:1px solid var(--border-placeholder);background:var(--surface-placeholder);width:min(100%,380px);box-shadow:var(--shadow-card-muted);border-radius:20px;margin:0 auto;padding:clamp(16px,4vw,28px)}.phone-dial-pad{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;max-width:276px;margin:0 auto;display:grid}.phone-dial-key,.phone-dial-key:disabled{border:1px solid var(--border-control-disabled);background:var(--surface-control-disabled);min-width:0;min-height:78px;color:var(--text-control-disabled);box-shadow:none;cursor:not-allowed;opacity:1;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.phone-dial-key span{font-size:24px;font-weight:800;line-height:1}.phone-dial-key small{letter-spacing:.12em;min-height:12px;font-size:10px;font-weight:900;line-height:1.2}.general-info-error{border:1px solid var(--feedback-error-border);background:var(--feedback-error-surface);color:var(--feedback-error-text);border-radius:12px;margin-bottom:14px;padding:12px 14px;font-weight:700}.shipping-reports-open{background:var(--action-primary-surface);min-height:42px;color:var(--action-primary-text);box-shadow:var(--action-primary-shadow);border-radius:10px;justify-content:center;align-items:center;padding:0 15px;font-weight:800;text-decoration:none;display:inline-flex}.shipping-reports-card{border:1px solid var(--border-subtle);background:var(--surface-raised);text-align:center;width:min(640px,100%);box-shadow:var(--shadow-card-subtle);border-radius:16px;margin:32px auto 0;padding:30px}.shipping-reports-card svg{color:var(--info-accent-text)}.shipping-reports-card h2{margin:10px 0 14px;font-size:20px}.shipping-reports-card p{color:var(--text-secondary);margin:5px 0;line-height:1.5}.shipping-reports-card .shipping-reports-open{min-width:230px;margin-top:20px}.pdt-notices-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.pdt-notices-toolbar>span{color:var(--text-secondary);font-size:13px;font-weight:700}.pdt-notices-warning{border:1px solid var(--feedback-warning-border);background:var(--feedback-warning-surface);color:var(--feedback-warning-text);border-radius:12px;margin-bottom:14px;padding:12px 14px;font-weight:700}.pdt-notices-list,.forms-list{gap:10px;display:grid}.pdt-notice-row,.form-card{border:1px solid var(--border-subtle);background:var(--surface-card);box-shadow:var(--shadow-card-subtle);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:15px 16px;display:grid}.pdt-notice-copy,.form-card-copy{min-width:0}.pdt-notice-copy h2,.form-card-copy h2{color:var(--text-primary);margin:0;font-size:16px;line-height:1.3}.pdt-notice-copy p,.form-card-copy p{color:var(--text-secondary);margin:4px 0 0;line-height:1.4}.pdt-notice-meta{color:var(--text-secondary);align-items:center;gap:8px;margin-top:8px;font-size:12px;font-weight:700;display:flex}.pdt-notice-meta span+span:before{content:"·";margin-right:8px}.pdt-notice-open,.form-card-action{white-space:nowrap;justify-content:center;align-items:center;min-height:42px;text-decoration:none;display:inline-flex}.form-card-heading{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.form-card-heading span{background:var(--info-accent-surface);color:var(--info-accent-text);border-radius:999px;padding:3px 7px;font-size:11px;font-weight:800}.form-link-unavailable{background:var(--surface-button-secondary);min-height:42px;color:var(--text-secondary);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;padding:0 16px;font-weight:800;display:inline-flex}.forms-page-header{align-items:flex-start}.forms-management-toolbar{border:1px solid var(--border-subtle);background:var(--surface-subtle);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:10px 14px;display:flex}.forms-management-toolbar>span{color:var(--text-secondary);font-size:13px;font-weight:800}.forms-management-toolbar .check-row{margin:0}.forms-page-error{justify-content:space-between;align-items:center;gap:14px;display:flex}.forms-page-error button{flex:none}.forms-empty-state{text-align:center}.form-card-main{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;min-width:0;display:grid}.form-card-icon{background:var(--info-accent-surface);width:40px;height:40px;color:var(--info-accent-text);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.form-card-category{color:var(--text-secondary);margin-top:4px;font-size:12px;font-weight:800;display:block}.form-card.inactive{background:var(--surface-subtle-alt);border-style:dashed}.form-card-heading .form-card-inactive-label{background:var(--surface-inactive-label);color:var(--text-secondary)}.forms-management-actions{border-top:1px solid var(--border-divider);grid-column:1/-1;justify-content:flex-end;align-items:center;gap:8px;padding-top:12px;display:flex}.forms-management-actions button{border:1px solid var(--border-button-secondary);background:var(--surface-button-neutral);min-height:38px;color:var(--text-button-secondary);cursor:pointer;border-radius:9px;padding:8px 11px;font-weight:800}.forms-management-actions button:disabled{cursor:not-allowed;opacity:.5}.forms-management-actions .forms-deactivate-button{border-color:var(--feedback-error-border-subtle);background:var(--feedback-error-surface);color:var(--feedback-error-text)}.forms-manager-modal{width:min(760px,100vw - 40px)}.forms-manager-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;display:grid}.forms-manager-title-field,.forms-manager-url-field,.forms-manager-description-field,.forms-manager-active-field{grid-column:1/-1}.forms-manager-modal input:not([type=checkbox]):not([type=radio]),.forms-manager-modal select{box-sizing:border-box;border-radius:10px;height:42px;min-height:42px;padding:8px 10px;line-height:1.2}.forms-manager-modal textarea{box-sizing:border-box;min-height:96px}.forms-manager-active-field{margin-top:4px}.forms-manager-error{border:1px solid var(--feedback-error-border);background:var(--feedback-error-surface);color:var(--feedback-error-text);border-radius:10px;margin:12px 0 4px;padding:10px 12px;font-weight:700}.forms-manager-modal button:disabled{cursor:not-allowed;opacity:.6}.special-projects-header{align-items:flex-start}.special-project-vessel-search{margin-bottom:16px}.special-project-vessel-search .search-box{width:min(100%,720px)}.special-project-vessel-results{gap:8px;margin-top:12px;display:grid}.special-project-vessel-results>button{border:1px solid var(--border-subtle);background:var(--surface-card);width:100%;color:var(--text-primary);text-align:left;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;display:grid}.special-project-vessel-results>button:hover{border-color:var(--border-interactive-hover)}.special-project-vessel-results span{gap:2px;min-width:0;display:grid}.special-project-vessel-results small{color:var(--text-secondary)}.special-project-vessel-results em,.special-project-vessel-title em{background:var(--surface-inactive-label);color:var(--text-secondary);white-space:nowrap;border-radius:999px;padding:3px 7px;font-size:11px;font-style:normal;font-weight:900}.special-project-search-hint{margin:12px 0 0}.special-projects-error{justify-content:space-between;align-items:center;gap:12px;display:flex}.special-project-vessel-summary{border:1px solid var(--border-subtle);background:var(--surface-raised);box-shadow:var(--shadow-card-subtle);border-radius:16px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px;padding:18px;display:flex}.special-project-vessel-title{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.special-project-vessel-title h2{margin:0;font-size:21px}.special-project-vessel-summary p{color:var(--text-secondary);margin:5px 0 0 31px}.special-project-latest-update{text-align:right;gap:4px;display:grid}.special-project-latest-update small{color:var(--text-secondary);font-weight:800}.special-project-latest-update b{font-size:16px}.special-project-inactive-message{border:1px solid var(--feedback-warning-border);background:var(--feedback-warning-surface);color:var(--feedback-warning-text);border-radius:10px;margin:0 0 14px;padding:11px 13px;font-weight:700}.special-project-list{gap:12px;display:grid}.special-project-card{border:1px solid var(--border-subtle);background:var(--surface-card);box-shadow:var(--shadow-card-subtle);border-radius:14px;padding:17px}.special-project-card-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.special-project-card-heading>div{gap:2px;display:grid}.special-project-card-heading .special-project-card-actions{gap:8px;display:flex}.special-project-card-heading small,.special-project-card footer{color:var(--text-secondary);font-size:12px;font-weight:700}.special-project-card time{font-weight:900}.special-project-card h2{margin:12px 0 7px;font-size:18px}.special-project-card p{white-space:pre-wrap;margin:0;line-height:1.5}.special-project-card footer{border-top:1px solid var(--border-divider);margin-top:14px;padding-top:10px}.special-project-empty-state{text-align:center}.special-project-modal{width:min(620px,100vw - 32px)}.special-project-form-grid{grid-template-columns:minmax(0,1fr) minmax(180px,.45fr);gap:14px;display:grid}.special-project-notes-field{grid-column:1/-1}.special-project-notes-field textarea{min-height:150px}.special-project-detail-header{margin-bottom:16px;display:block}.special-project-detail-heading{border:1px solid var(--border-subtle);background:var(--surface-raised);box-shadow:var(--shadow-card-subtle);border-radius:16px;margin-top:10px;padding:18px}.special-project-detail-heading>span{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.special-project-detail-heading>span small{color:var(--text-secondary);font-weight:700}.special-project-detail-heading h1{margin:16px 0 12px;font-size:26px}.special-project-detail-heading>div{color:var(--text-secondary);flex-wrap:wrap;gap:20px;display:flex}.special-project-detail-heading>div span{gap:3px;display:grid}.special-project-detail-heading>div b{color:var(--text-primary)}.special-project-tabs{gap:8px;margin-bottom:14px;padding-bottom:2px;display:flex;overflow-x:auto}.special-project-tabs button{border:1px solid var(--border-subtle);background:var(--surface-card);min-height:42px;color:var(--text-secondary);white-space:nowrap;border-radius:10px;align-items:center;gap:7px;padding:0 13px;font-weight:800;display:inline-flex}.special-project-tabs button.active{border-color:var(--border-interactive-hover);background:var(--surface-navigation-active);color:var(--accent-on-primary)}.special-project-tabs button span{background:var(--surface-overlay-item);min-width:21px;height:21px;color:var(--text-primary);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;display:inline-flex}.special-project-overview h2,.special-project-emails h2{margin-top:0}.special-project-overview dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.special-project-overview dl div{border:1px solid var(--border-overlay-item);background:var(--surface-overlay-nested);border-radius:10px;padding:12px}.special-project-overview dt{color:var(--text-secondary);font-size:12px;font-weight:800}.special-project-overview dd{margin:4px 0 0;font-weight:800}.special-project-overview>p{white-space:pre-wrap;line-height:1.55}.special-project-counts{border-top:1px solid var(--border-divider);flex-wrap:wrap;gap:10px;margin-top:18px;padding-top:14px;display:flex}.special-project-counts span{background:var(--surface-overlay-nested);border-radius:9px;padding:8px 11px}.special-project-section-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.special-project-section-heading p{color:var(--text-secondary);margin:4px 0 0}.special-project-emails>article{border:1px solid var(--border-overlay-item);background:var(--surface-overlay-nested);border-radius:11px;margin-top:12px;padding:14px}.special-project-emails>article header{align-items:flex-start;margin:0 0 10px}.special-project-emails>article h3{margin:0 0 4px}.special-project-emails>article small{color:var(--text-secondary)}.special-project-emails>article p{white-space:pre-wrap;margin:0;line-height:1.55}.special-project-email-modal{width:min(700px,100vw - 32px)}.special-project-email-modal .special-project-notes-field textarea{min-height:230px}.special-project-photo-panel{border:1px solid var(--border-overlay-nested);background:var(--surface-overlay-nested);border-radius:14px;padding:12px}.special-project-photo-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:12px;display:grid}.special-project-photo-grid article{border:1px solid var(--border-overlay-item);background:var(--surface-card);border-radius:11px;min-width:0;overflow:hidden}.special-project-photo-grid a{aspect-ratio:4/3;background:var(--surface-overlay-item);display:block}.special-project-photo-grid img{object-fit:cover;width:100%;height:100%;display:block}.special-project-photo-grid article>div{gap:3px;padding:10px;display:grid}.special-project-photo-grid b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.special-project-photo-grid small{color:var(--text-secondary);font-size:11px}.special-project-photo-grid p{color:var(--text-secondary);white-space:pre-wrap;margin:5px 0 0;font-size:12px;line-height:1.4}.special-project-photo-grid article>button{background:var(--control-destructive-muted-surface);width:calc(100% - 20px);min-height:38px;color:var(--control-destructive-muted-text);border:0;border-radius:8px;margin:0 10px 10px;font-weight:800}.watch-option-group{border:1px solid var(--border-subtle);background:var(--surface-card);box-shadow:var(--shadow-card-subtle);border-radius:16px;margin-bottom:16px;padding:16px}.watch-option-group-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.watch-option-group-header h2{margin:0;font-size:17px}.watch-option-group-header p{color:var(--text-secondary);margin:3px 0 0;font-size:12px}.watch-option-add{align-items:center;gap:8px;display:flex}.watch-option-add input{border:1px solid var(--border-input-strong);border-radius:10px;min-width:240px;height:42px;padding:0 12px}.watch-option-list{gap:7px;display:grid}.watch-option-row{border:1px solid var(--border-card-muted);background:var(--surface-subtle-alt);border-radius:10px;grid-template-columns:minmax(180px,1fr) 80px auto;align-items:center;gap:12px;min-height:48px;padding:8px 10px;display:grid}.watch-option-row.inactive{background:var(--surface-inactive-row);color:var(--text-inactive)}.watch-option-label{align-items:center;gap:8px;min-width:0;display:flex}.watch-option-label b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.watch-option-label span{background:var(--surface-inactive-badge);text-transform:uppercase;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:800}.watch-option-row small{color:var(--text-secondary)}.watch-option-actions{justify-content:flex-end;gap:6px;display:flex}.watch-option-actions button{border:1px solid var(--border-button-secondary-strong);background:var(--surface-button-neutral);min-height:32px;color:var(--text-button-secondary);cursor:pointer;border-radius:8px;padding:5px 9px}.watch-option-actions button:disabled{opacity:.45;cursor:not-allowed}.watch-option-empty{color:var(--text-secondary);text-align:center;padding:12px}@media (width<=1100px){.general-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.watch-option-row{grid-template-columns:minmax(150px,1fr) auto}.watch-option-row>small{display:none}}@media (width<=760px){.general-info-grid{grid-template-columns:1fr}.general-info-module{min-height:0}.phone-placeholder{border-radius:16px}.phone-dial-pad{gap:10px}.phone-dial-key,.phone-dial-key:disabled{border-radius:14px;min-height:64px}.watch-option-group-header,.watch-option-add{flex-direction:column;align-items:stretch}.watch-option-add input{width:100%;min-width:0}.watch-option-row{grid-template-columns:1fr}.watch-option-actions{flex-wrap:wrap;justify-content:flex-start}.watch-info-options-error{flex-direction:column;align-items:stretch}.shipping-reports-card{margin-top:12px;padding:22px 18px}.shipping-reports-card .shipping-reports-open{width:100%;min-width:0;min-height:48px}.pdt-notices-toolbar{flex-direction:column;align-items:stretch}.pdt-notices-toolbar .shipping-reports-open{min-height:48px}.pdt-notice-row,.form-card{grid-template-columns:1fr}.forms-management-toolbar,.forms-page-error{flex-direction:column;align-items:stretch}.forms-management-toolbar .check-row,.forms-page-error button{align-self:flex-start}.forms-management-actions{flex-wrap:wrap;justify-content:flex-start}.forms-manager-modal{padding:22px 18px}.forms-manager-grid{grid-template-columns:1fr}.forms-manager-title-field,.forms-manager-url-field,.forms-manager-description-field,.forms-manager-active-field{grid-column:auto}.pdt-notice-open,.form-card-action,.form-link-unavailable{width:100%;min-height:48px}.special-projects-header,.special-project-vessel-summary,.special-projects-error{flex-direction:column;align-items:stretch}.special-projects-header .add-button,.special-project-vessel-search .search-box button{width:100%;min-height:48px}.special-project-vessel-search .search-box{flex-wrap:wrap;align-items:stretch}.special-project-vessel-search .search-box input{min-width:0}.special-project-vessel-results>button{grid-template-columns:auto minmax(0,1fr)}.special-project-vessel-results em{grid-column:2;justify-self:start}.special-project-latest-update{text-align:left}.special-project-form-grid{grid-template-columns:1fr}.special-project-notes-field{grid-column:auto}.special-project-card-heading{flex-direction:column;align-items:stretch}.special-project-card-heading .special-project-card-actions button{flex:1;min-height:44px}.special-project-detail-heading h1{font-size:22px}.special-project-overview dl{grid-template-columns:1fr}.special-project-section-heading{flex-direction:column;align-items:stretch}.special-project-section-heading .add-button{width:100%;min-height:46px}.special-project-photo-grid{grid-template-columns:1fr}}.harbour-office-edit-field{grid-column:span 2}.double-select-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.modal-actions-row{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.secondary-button{border:1px solid var(--border-button-secondary-strong);background:var(--surface-button-neutral-alt);color:var(--text-button-secondary-strong);cursor:pointer;border-radius:10px;padding:8px 12px;font-weight:700}.small-save-button{background:var(--action-primary-surface);color:var(--action-primary-text);cursor:pointer;white-space:nowrap;border:none;border-radius:10px;padding:8px 12px;font-weight:700}.small-save-button:disabled{opacity:.6;cursor:not-allowed}.tide-card{background:var(--surface-raised);border:1px solid var(--border-subtle);box-shadow:var(--shadow-card-spaced);border-radius:18px;width:100%;min-width:0;padding:12px 14px}.compact-tide-card{max-width:850px;height:auto;min-height:0;margin:0 auto 12px}.card-title{color:var(--text-primary);align-items:center;gap:8px;font-weight:800;display:flex}.tide-card-title-row{justify-content:space-between;gap:12px;margin-bottom:8px}.tide-card-title-row>div{align-items:center;gap:8px;min-width:0;display:flex}.tide-card-title-row span{background:var(--info-accent-surface);color:var(--info-accent-text);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:12px}.tide-port-select{border:1px solid var(--border-input);background:var(--surface-input-strong);width:auto;min-width:118px;color:var(--text-input);cursor:pointer;border-radius:10px;margin:0;padding:7px 10px;font-size:13px;font-weight:800}.tide-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0;display:grid}.tide-summary-strip>div{background:var(--surface-inset);border:1px solid var(--border-card-muted);border-radius:12px;min-width:0;padding:7px 9px}.tide-summary-strip small{color:var(--text-label-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px;font-size:10px;font-weight:800;line-height:1.1;display:block}.tide-summary-strip b{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;line-height:1.2;display:block;overflow:hidden}.tide-svg{width:100%;height:190px;display:block}.compact-tide-svg{height:190px}.tide-label{fill:var(--compact-tide-graph-label);font-size:10px;font-weight:800}.tide-event-type{fill:var(--compact-tide-graph-event);font-size:10px;font-weight:900}.tide-window{fill:var(--compact-tide-graph-window);font-size:10px;font-weight:900}.tide-axis-label{fill:var(--compact-tide-graph-axis);font-size:9px;font-weight:800}.tide-time-label{fill:var(--compact-tide-graph-time);font-size:10px;font-weight:800}.tide-required-label{fill:var(--compact-tide-graph-required);font-size:10px;font-weight:900}.tide-now-label{fill:var(--compact-tide-graph-now);font-size:10px;font-weight:900}@media (width<=900px){.tide-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.tide-card-title-row{align-items:flex-start}.tide-port-select{min-width:105px}.compact-tide-svg{height:170px}}@media (width<=520px){.tide-card-title-row{flex-direction:column;align-items:stretch}.tide-port-select{width:100%}.tide-summary-strip{grid-template-columns:1fr}}.bulletin-review-actions{flex-wrap:wrap;gap:10px;margin:12px 0;display:flex}.bulletin-review-summary{grid-template-columns:repeat(4,minmax(110px,1fr));gap:8px;margin:12px 0;display:grid}.bulletin-review-summary>div,.bulletin-latest-upload,.bulletin-review-exceptions,.bulletin-apply-result{border:1px solid var(--border-subtle);background:var(--surface-subtle);border-radius:10px;padding:10px}.bulletin-review-summary small,.bulletin-review-summary b{display:block}.bulletin-review-summary b{color:var(--text-primary);margin-top:3px;font-size:20px}.bulletin-review-exceptions p{overflow-wrap:anywhere;margin:6px 0 0}.bulletin-review-exception-row{border-top:1px solid var(--border-subtle);overflow-wrap:anywhere;margin-top:8px;padding-top:6px}.bulletin-review-exception-row>div{margin-top:4px;font-size:.9rem}.bulletin-inactive-label{color:var(--text-reference-meta);margin-left:.45rem;font-size:.75rem;display:inline-block}.bulletin-review-details{margin-top:.8rem}.bulletin-review-details summary{cursor:pointer;font-weight:600}.bulletin-review-details ul{margin:.5rem 0 0;padding-left:1.25rem}.bulletin-formula-results{gap:4px;min-width:190px;display:grid}.bulletin-formula-result{line-height:1.3}.bulletin-formula-result small{color:var(--text-reference-meta);overflow-wrap:anywhere;display:block}.bulletin-formula-unresolved{color:var(--bulletin-unresolved-text)}.berth-provenance-readonly{border:1px solid var(--border-input-readonly-alt);background:var(--surface-input-readonly);border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.berth-provenance-readonly small,.berth-provenance-readonly span{color:var(--text-reference-meta)}.bulletin-apply-result{color:var(--bulletin-applied-text);font-weight:700}@media (width<=760px){.bulletin-review-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.bulletin-review-actions>button{flex:220px;min-height:44px}}.table-card{background:var(--surface-raised);box-shadow:var(--shadow-card);border-radius:18px;min-width:0;margin-bottom:18px;padding:16px}.section-title{color:var(--text-primary);align-items:center;gap:10px;margin-bottom:12px;font-weight:800;display:flex}.section-title span{background:var(--info-accent-surface);color:var(--info-accent-text);border-radius:999px;padding:3px 9px;font-size:13px}.section-title small{color:var(--text-card-muted);margin-left:auto;font-weight:600}.table-scroll{border-radius:12px;max-width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:1250px}th{text-align:left;color:var(--text-table-header);background:var(--surface-table-header);white-space:nowrap;padding:12px;font-size:12px}td{border-top:1px solid var(--border-table-row);white-space:nowrap;color:var(--text-table);padding:13px 12px}.movement-table-scroll{max-width:100%;position:relative;overflow-x:auto}.movement-table{border-collapse:separate;border-spacing:0;min-width:1250px}.movement-table th,.movement-table td{white-space:nowrap}.status-dot{vertical-align:middle;width:14px;height:14px;box-shadow:var(--movement-status-indicator-shadow);border-radius:999px;display:inline-block}.status-red{background:var(--movement-status-missing-indicator)}.status-green{background:var(--movement-status-ready-indicator)}.status-blue{background:var(--movement-status-cancelled-detained-indicator)}.status-grey{background:var(--movement-status-planned-indicator)}.status-amber{background:var(--movement-status-not-ordered-indicator)}.movement-table .sticky-col{background:var(--surface-table-sticky);z-index:5;position:sticky}.movement-table thead .sticky-col{background:var(--surface-table-sticky-header);z-index:8}.movement-table .sticky-time{width:58px;min-width:58px;max-width:58px;left:0}.movement-table .sticky-status{text-align:center;width:38px;min-width:38px;max-width:38px;left:58px}.movement-table .sticky-vessel{text-overflow:ellipsis;width:175px;min-width:175px;max-width:175px;box-shadow:var(--shadow-sticky-column);left:96px;overflow:hidden}.movement-table th.sticky-col,.movement-table td.sticky-col{padding-left:8px;padding-right:8px}.movement-table tbody tr:hover .sticky-col{background:var(--surface-table-sticky-hover)}tbody tr{cursor:pointer}tbody tr:hover{background:var(--surface-table-row-hover)}td svg{vertical-align:-2px;margin-right:5px}.empty-row{text-align:center;color:var(--text-table-empty);padding:28px}.pill{background:var(--movement-pill-surface);color:var(--movement-pill-text);border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;display:inline-block}.pill.cancelled{background:var(--movement-cancelled-surface);color:var(--movement-cancelled-text)}.pill.complete{background:var(--movement-complete-surface);color:var(--movement-complete-text)}.pill.ordered,.pill.confirmed{background:var(--movement-ordered-surface);color:var(--movement-ordered-text)}.good{color:var(--movement-readiness-good-text);font-weight:800}.bad,.warn{color:var(--movement-readiness-bad-text);font-weight:800}.sun{color:var(--indicator-daylight-text)}.moon{color:var(--indicator-night-text)}.orange{color:var(--indicator-attention-text)}.drawer{background:var(--surface-drawer);width:420px;max-width:calc(100vw - 32px);height:100vh;box-shadow:var(--shadow-drawer);z-index:40;padding:24px;position:fixed;top:0;right:0;overflow:auto}.drawer h2{margin:0 0 4px}.drawer p{color:var(--text-secondary);margin:0 0 16px}.close{float:right;background:var(--surface-close-control);color:var(--text-close-control);cursor:pointer;border:0;border-radius:999px;width:34px;height:34px;font-size:22px;line-height:1}.modal-backdrop{background:var(--surface-overlay-backdrop);z-index:50;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface-modal);width:760px;max-width:calc(100vw - 40px);max-height:calc(100vh - 40px);box-shadow:var(--shadow-modal);border-radius:18px;padding:28px;overflow:auto}.modal h2{margin:0 0 6px}.berth-modal-error{border:1px solid var(--feedback-error-border);background:var(--feedback-error-surface);color:var(--feedback-error-text);border-radius:10px;margin:0 0 14px;padding:11px 13px;font-size:13px;font-weight:700}.berth-modal button:disabled{cursor:not-allowed;opacity:.6}.berth-modal-body input:not([type=checkbox]):not([type=radio]):not([type=file]),.berth-modal-body select{box-sizing:border-box;border-radius:10px;height:42px;min-height:42px;padding:8px 10px;line-height:1.2}@media (width>=901px){.berth-modal{flex-direction:column;width:min(1120px,100vw - 64px);max-width:calc(100vw - 64px);height:min(900px,100vh - 48px);max-height:calc(100vh - 48px);padding:0;display:flex;overflow:hidden}.berth-modal-header{border-bottom:1px solid var(--border-modal-header);background:var(--surface-modal-header);z-index:2;flex:none;justify-content:space-between;align-items:flex-start;gap:24px;padding:24px 28px 16px;display:flex}.berth-modal-header>div{min-width:0}.berth-modal-header .muted{margin-bottom:0}.berth-modal-header .close{float:none;flex:none;order:2}.berth-modal-body{overscroll-behavior:contain;flex:auto;min-height:0;padding:18px 28px 22px;overflow-y:auto}.berth-modal-actions{border-top:1px solid var(--border-modal-footer);background:var(--surface-modal-footer);box-shadow:var(--shadow-modal-footer);z-index:2;flex:none;margin:0;padding:16px 28px 20px}.berth-modal .berth-modal-section{border:1px solid var(--border-modal-section);background:var(--surface-modal-section);border-radius:14px;margin:16px 0;padding:16px}.berth-modal .berth-modal-section h3{color:var(--text-primary);margin:0 0 6px;font-size:16px}.berth-modal .berth-modal-section>.muted{margin-bottom:10px}.berth-bulletin-source-grid{grid-template-columns:minmax(360px,1.6fr) minmax(220px,.9fr) minmax(150px,.55fr)}.berth-hartlepool-formulas{grid-template-columns:repeat(3,minmax(0,1fr))}.berth-formula-source-row{grid-template-columns:minmax(220px,.65fr) minmax(420px,1.35fr)}}.muted{color:var(--text-muted-strong);margin-top:0}.two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.three{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}label{color:var(--text-label);margin:12px 0;font-weight:700;display:block}input,select,textarea{border:1px solid var(--border-input);width:100%;color:var(--text-input);background:var(--surface-input);border-radius:10px;margin-top:6px;padding:11px 12px}textarea{resize:vertical;min-height:82px}.drawer-actions{gap:10px;margin-top:18px;display:flex}.primary,.secondary,.danger{cursor:pointer;border:0;border-radius:10px;padding:12px 16px;font-weight:800}.primary{background:var(--action-primary-surface);color:var(--action-primary-text)}.secondary{background:var(--surface-button-secondary);color:var(--text-button-secondary)}.danger{background:var(--control-destructive-muted-surface);color:var(--control-destructive-muted-text)}.floating,.archive{display:none!important}@media (width<=1200px){.grid-top{grid-template-columns:1fr}.summary{grid-template-columns:repeat(2,minmax(130px,1fr))}.summary>div:first-child p{max-width:none}}@media (width<=900px){.app.sidebar-collapsed{grid-template-columns:78px minmax(0,1fr)}.app.sidebar-collapsed .sidebar{width:78px;padding:14px 10px}.app.sidebar-collapsed .brand{justify-content:center;padding-bottom:12px;display:flex}.app.sidebar-collapsed .brand-copy{display:none}.app.sidebar-collapsed .brand.brand-easter-mounted{flex-direction:column;gap:6px}.app.sidebar-collapsed .brand.brand-easter-mounted .brand-copy{width:48px;height:42px;display:block}.app.sidebar-collapsed .brand .brand-normal{display:none}.app.sidebar-collapsed .brand .brand-easter{flex-direction:column;gap:3px;padding:5px 3px}.app.sidebar-collapsed .brand .brand-easter strong,.app.sidebar-collapsed .brand .brand-easter span{font-size:10px}.app.sidebar-collapsed .brand-logo-trigger{flex:none}.app.sidebar-collapsed .brand-normal,.app.sidebar-collapsed .brand-easter{width:100%}.app.sidebar-collapsed .nav{justify-content:center;width:54px;height:46px;padding:11px;font-size:0}.app.sidebar-collapsed .nav svg{margin:0}.app.sidebar-collapsed .prev{display:none}main{padding:18px}}@media (width<=760px){main{padding:14px}header{flex-direction:column;align-items:flex-start}.header-actions{justify-content:flex-start}.date-display{min-width:100%}.two,.three{grid-template-columns:1fr}.modal{padding:20px}.summary{grid-template-columns:1fr}}@media (width<=900px){.sidebar-toggle{justify-content:center;align-items:center;display:flex}}.vessels-main-toolbar{grid-template-columns:minmax(360px,680px) auto;align-items:center;gap:12px;margin-bottom:14px;display:grid}.vessels-main-toolbar .search-box{max-width:none}.vessels-main-toolbar .vessel-toolbar-actions{white-space:nowrap;flex-wrap:nowrap;justify-self:end;align-items:center;gap:10px;display:flex}.vessels-main-toolbar .vessel-toggle{margin:0}.vessel-toolbar-actions{white-space:nowrap;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.vessel-pagination{border-top:1px solid var(--border-default);color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-size:14px;display:flex}.vessel-pagination>div{gap:8px;display:flex}.vessel-register-tabs{gap:8px;margin-bottom:16px;display:flex}.vessel-register-tabs button{border:1px solid var(--border-default);background:var(--surface-raised);min-height:42px;color:var(--text-muted);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-weight:700;display:inline-flex}.vessel-register-tabs button.active{border-color:var(--accent-primary);background:var(--accent-primary);color:#fff}@media (width<=700px){.vessel-register-tabs button{flex:1}.vessel-pagination{flex-direction:column;align-items:flex-start}.vessel-pagination>div,.vessel-pagination button{width:100%}}.search-box{background:var(--surface-input-subtle);border:1px solid var(--border-input);border-radius:14px;align-items:center;gap:10px;width:100%;max-width:680px;padding:8px 10px;display:flex}.search-box input{background:0 0;border:0;min-width:0;margin:0;padding:8px}.search-box input:focus{outline:none}.vessel-table{min-width:1450px}.vessel-modal{width:900px}.vessel-form-section{border:1px solid var(--border-subtle);background:var(--surface-subtle-alt);border-radius:14px;margin-top:14px;padding:14px}.vessel-form-section h3{color:var(--text-primary);margin:0 0 10px;font-size:15px}.vessel-form-grid{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.vessel-form-grid+.vessel-form-grid{margin-top:10px}.vessel-form-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.vessel-form-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.vessel-form-grid>label,.vessel-form-section>label{min-width:0;margin:0}.vessel-form-section>label+label{margin-top:12px}.vessel-modal input:not([type=checkbox]),.vessel-modal select{box-sizing:border-box;height:44px;min-height:44px;font-size:inherit;vertical-align:middle;border-radius:10px;padding:11px 12px;line-height:normal}.vessel-modal select{-webkit-appearance:menulist;appearance:auto}.vessel-modal .calc-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.vessel-modal .drawer-actions{flex-wrap:wrap}.calc-grid{grid-template-columns:repeat(5,1fr);gap:12px;margin:16px 0;display:grid}.calc-grid>div{background:var(--surface-inset);border:1px solid var(--border-default);border-radius:14px;padding:12px}.calc-grid small{color:var(--text-muted);margin-bottom:4px;font-size:12px;display:block}.calc-grid b{color:var(--text-primary);font-size:18px;display:block}.check-row{align-items:center;gap:10px;display:flex}.check-row input{width:auto;margin:0}@media (width<=900px){.vessel-modal .calc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.vessel-form-grid-two,.vessel-form-grid-three,.vessel-modal .calc-grid{grid-template-columns:minmax(0,1fr)}.vessel-modal .drawer-actions button{min-height:48px}}.cell-alert{background:var(--movement-cell-alert-surface);color:var(--movement-cell-alert-text);border-radius:8px;font-weight:900}.search-result{text-align:left;border:1px solid var(--border-control-option);background:var(--surface-control-option);cursor:pointer;border-radius:10px;padding:10px 12px}.search-result b{margin-bottom:4px;display:block}.search-result span{color:var(--text-control-option-secondary);font-size:12px;display:block}.selected-card small{color:var(--text-input-readonly-secondary);margin-bottom:3px;display:block}.selected-card b{display:block}.selected-card p{color:var(--text-input-readonly-secondary);margin:4px 0 0;font-size:13px}.search-results{gap:8px;margin-top:-8px;margin-bottom:12px;display:grid}.search-result{text-align:left;border:1px solid var(--border-control-option);background:var(--surface-control-option);cursor:pointer;width:100%;color:var(--text-control-option);border-radius:10px;padding:10px 12px}.search-result:hover{background:var(--surface-control-option-hover)}.search-result b{margin-bottom:4px;font-size:14px;display:block}.search-result span{color:var(--text-control-option-secondary);font-size:12px;line-height:1.35;display:block}.selected-card{border:1px solid var(--border-input-readonly);background:var(--surface-input-readonly);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:12px;display:flex}.selected-card small{color:var(--text-input-readonly-secondary);margin-bottom:3px;font-size:12px;display:block}.selected-card b{color:var(--text-input-readonly);display:block}.selected-card p{color:var(--text-input-readonly-secondary);margin:4px 0 0;font-size:13px;line-height:1.35}.form-row.two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-row label{color:var(--text-label-alt);flex-direction:column;gap:6px;font-weight:700;display:flex}.form-row input[type=date],.form-row input[type=time]{border:1px solid var(--border-input-alt);width:100%;height:42px;color:var(--text-input-alt);background:var(--surface-input-alt);border-radius:8px;padding:0 10px;font-size:15px}.form-row input[type=date]:focus,.form-row input[type=time]:focus{border-color:var(--border-input-focus);box-shadow:var(--shadow-input-focus);outline:none}.tug-table{min-width:950px}.tees-tugs-card{margin-top:18px}.tees-tugs-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.tees-tug-card{border:1px solid var(--border-default);background:var(--surface-subtle);border-radius:14px;padding:12px}.tees-tug-card-header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:6px;display:flex}.tees-tug-card-header b{color:var(--text-primary);font-size:15px}.tees-tug-card p{color:var(--text-secondary);margin:0 0 10px;font-size:13px}.tees-tug-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.tees-tug-details span{background:var(--surface-raised);border:1px solid var(--border-card-muted);border-radius:10px;min-width:0;padding:8px}.tees-tug-details small{color:var(--text-muted);margin-bottom:3px;font-size:11px;display:block}.tees-tug-details b{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.tees-tug-notes{border-top:1px solid var(--border-divider-muted);padding-top:8px;margin-top:10px!important}.tugs-main-toolbar{grid-template-columns:minmax(360px,680px) auto;align-items:center;gap:12px;margin-bottom:14px;display:grid}.tugs-main-toolbar .search-box{max-width:none}.tugs-main-toolbar .vessel-toolbar-actions{white-space:nowrap;flex-wrap:nowrap;justify-self:end;align-items:center;gap:10px;display:flex}.tugs-main-toolbar .add-button:disabled{opacity:.55;cursor:not-allowed}.operational-day-block{margin-top:22px}.operational-day-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin:4px 0 8px;padding:0 4px;display:flex}.operational-day-heading h2{color:var(--text-primary);letter-spacing:-.3px;margin:0;font-size:17px;line-height:1.2}.operational-day-heading span{color:var(--text-secondary);white-space:nowrap;font-size:13px;font-weight:700}.pilot-car-list-box{border:1px solid var(--border-default);background:var(--surface-card);box-shadow:var(--shadow-card-subtle);border-radius:14px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;padding:12px 14px;display:flex}.pilot-car-list-copy{min-width:0}.pilot-car-list-copy h2{color:var(--text-primary);margin:0 0 2px;font-size:16px}.pilot-car-list-copy p,.pilot-car-list-copy span{color:var(--text-secondary);margin:0;font-size:12px;display:block}.pilot-car-list-copy span{color:var(--control-destructive-muted-text);margin-top:3px;font-weight:700}.pilot-car-list-actions{flex:none;align-items:center;gap:8px;display:flex}.pilot-car-list-actions a,.pilot-car-list-upload{white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;min-height:38px;padding:0 12px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.pilot-car-list-upload{background:var(--action-primary-surface);color:var(--action-primary-text);cursor:pointer;border:0}.pilot-car-list-upload.disabled{cursor:not-allowed;opacity:.6}.pilot-car-list-upload input{display:none}@media (width<=760px){.pilot-car-list-box{flex-direction:column;align-items:stretch}.pilot-car-list-actions{width:100%}.pilot-car-list-actions a,.pilot-car-list-upload{flex:1;min-height:44px}}.pilot-table{min-width:900px}.pilot-modal input:not([type=checkbox]):not([type=radio]):not([type=file]),.pilot-modal select:not([multiple]){height:42px;min-height:42px;line-height:1.2}.contact-toggle{border:1px solid var(--border-button-secondary-alt);background:var(--surface-button-secondary-subtle);width:100%;color:var(--text-button-secondary);text-align:left;cursor:pointer;border-radius:14px;margin-top:14px;padding:13px 14px;font-weight:900}.contact-toggle span{color:var(--text-secondary);margin-top:3px;font-size:12px;font-weight:700;display:block}.contact-panel{border:1px solid var(--border-default);background:var(--surface-panel);border-top:0;border-radius:0 0 14px 14px;padding:12px 14px 4px}.field-hint{color:var(--text-helper);margin-top:4px;font-size:12px;font-weight:600;display:block}select[multiple]{min-height:110px}.watch-archive-button,.watch-archived-button{border:1px solid var(--border-default);cursor:pointer;border-radius:8px;align-items:center;gap:5px;margin-left:8px;padding:5px 8px;font-size:12px;font-weight:700;display:flex}.watch-archive-button{color:var(--text-secondary);background:0 0}.watch-archive-button:hover{border-color:var(--accent-primary);background:var(--surface-subtle);color:var(--accent-primary)}.watch-archived-button{background:var(--feedback-success-surface);color:var(--feedback-success-text);cursor:default}.trainee-picker{flex-direction:column;gap:8px;display:flex}.trainee-add-row{align-items:center;gap:8px;display:flex}.trainee-add-row select{flex:1}.trainee-clear{white-space:nowrap;padding:9px 12px}.trainee-chip-row{flex-wrap:wrap;align-items:center;gap:7px;min-height:32px;display:flex}.trainee-chip{border:1px solid var(--trainee-badge-border);background:var(--trainee-badge-surface);color:var(--trainee-badge-text);cursor:pointer;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:800}.trainee-chip span{color:var(--trainee-badge-remove-text);margin-left:6px;font-weight:900}.trainee-chip:hover{background:var(--trainee-badge-surface-hover);border-color:var(--trainee-badge-border-hover)}.weather-layout{grid-template-columns:minmax(0,1.45fr) minmax(340px,.75fr);align-items:start;gap:18px;display:grid}.weather-main-column,.weather-side-column{min-width:0}.weather-side-column{gap:18px;display:grid}.weather-card{background:var(--surface-raised);box-shadow:var(--shadow-card);border-radius:18px;min-width:0;padding:16px}.weather-card h2{color:var(--text-primary);margin:0 0 8px;font-size:18px}.weather-card p{color:var(--text-secondary);margin:0}.weather-card-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.weather-upload-button{background:var(--action-primary-surface);height:42px;color:var(--action-primary-text);cursor:pointer;box-shadow:var(--action-control-shadow);white-space:nowrap;border:0;border-radius:10px;justify-content:center;align-items:center;margin:0;padding:0 14px;font-weight:800;display:flex}.weather-upload-button input{display:none}.weather-meta-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,1fr);gap:10px;margin-bottom:12px;display:grid}.weather-meta-grid>div{background:var(--surface-inset);border:1px solid var(--border-default);border-radius:14px;min-width:0;padding:10px 12px}.weather-meta-grid small,.weather-warning-grid small,.weather-notes-field small{color:var(--text-helper);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:11px;font-weight:800;display:block}.weather-meta-grid b{min-width:0;max-width:100%;color:var(--text-primary);overflow-wrap:anywhere;word-break:break-word;font-size:14px;line-height:1.25;display:block}.weather-meta-grid input{border-radius:10px;margin-top:0;padding:8px 9px;font-size:13px}.weather-pdf-viewer{border:1px solid var(--border-default);background:var(--surface-inset);border-radius:14px;width:100%;height:calc(100vh - 250px);min-height:620px}.weather-empty-pdf{border:2px dashed var(--border-strong);background:var(--surface-subtle);min-height:360px;color:var(--text-secondary);text-align:center;border-radius:14px;justify-content:center;align-items:center;padding:24px;font-weight:700;display:flex}.weather-warning-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.weather-warning-grid label,.weather-notes-field{margin:0}.weather-warning-grid input{margin-top:0;padding:9px 10px;font-size:13px}.weather-notes-field{margin-top:12px;display:block}.weather-notes-field textarea{min-height:100px;margin-top:0;font-size:13px}.weather-source-list{gap:10px;margin-top:12px;display:grid}.weather-sources-heading,.weather-sources-manager-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.weather-sources-heading h2,.weather-sources-heading p,.weather-sources-manager-heading h2,.weather-sources-manager-heading p{margin-top:0}.weather-sources-edit-button{flex:none;align-items:center;gap:7px;display:inline-flex}.weather-sources-manager-launch{justify-items:end;gap:8px;max-width:420px;display:grid}.weather-sources-locked-message,.weather-sources-state{border:1px solid var(--border-default);background:var(--surface-subtle);color:var(--text-secondary);border-radius:12px;margin:12px 0 0;padding:11px 12px;font-size:13px}.weather-sources-locked-message{text-align:left;align-items:center;gap:7px;margin:0;display:flex}.weather-sources-error{border:1px solid var(--feedback-error-border);background:var(--feedback-error-surface);color:var(--feedback-error-text);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 0;padding:11px 12px;font-size:13px;display:flex}.weather-source-card{border:1px solid var(--border-default);background:var(--surface-subtle);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.weather-source-copy{align-items:flex-start;gap:10px;min-width:0;display:flex}.weather-source-copy>svg{color:var(--info-accent-text);flex:none}.weather-source-card b{color:var(--text-primary);margin-bottom:3px;display:block}.weather-source-card p{font-size:12px;line-height:1.35}.weather-source-card a,.weather-source-card span{background:var(--info-accent-surface);color:var(--info-accent-text);white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;text-decoration:none}.weather-source-card a{align-items:center;gap:5px;display:inline-flex}.weather-source-card span{background:var(--weather-source-active-surface);color:var(--weather-source-active-text)}.weather-sources-manager{width:min(900px,96vw);max-height:90vh;overflow-y:auto}.weather-sources-manager-list{gap:9px;margin-top:16px;display:grid}.weather-sources-manager-list article{border:1px solid var(--border-default);background:var(--surface-subtle);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 12px;display:grid}.weather-sources-manager-list article.inactive{opacity:.65}.weather-sources-manager-list article small{overflow-wrap:anywhere;color:var(--text-secondary);margin-top:3px;display:block}.weather-sources-manager-list article span{background:var(--surface-inactive-label-alt);color:var(--text-secondary);border-radius:999px;margin-top:5px;padding:2px 7px;font-size:11px;font-weight:800;display:inline-block}.weather-sources-manager-actions{gap:6px;display:flex}.weather-sources-manager-actions button{border:1px solid var(--border-button-secondary);background:var(--surface-button-neutral-alt);color:var(--text-button-secondary);cursor:pointer;border-radius:9px;padding:7px 9px}.weather-sources-manager-actions button:disabled{opacity:.45;cursor:not-allowed}.weather-source-modal{width:min(680px,96vw);max-height:90vh;overflow-y:auto}@media (width<=1200px){.weather-layout{grid-template-columns:1fr}.weather-side-column{grid-template-columns:1fr 1fr}}@media (width<=760px){.weather-sources-heading,.weather-sources-manager-heading,.weather-sources-error{flex-direction:column;align-items:stretch}.weather-sources-edit-button{align-self:flex-start}.weather-sources-manager-launch{justify-items:start;max-width:none}.weather-source-card,.weather-sources-manager-list article{grid-template-columns:1fr;align-items:stretch}.weather-source-card{flex-direction:column}.weather-source-card a{align-self:flex-start}.weather-sources-manager-actions{flex-wrap:wrap}.weather-side-column,.weather-meta-grid,.weather-warning-grid{grid-template-columns:1fr}.weather-pdf-phone-preview{border:1px solid var(--border-default);background:var(--surface-inset);border-radius:14px;height:300px;position:relative;overflow:hidden}.weather-pdf-phone-preview .weather-pdf-viewer{pointer-events:none;border:0;border-radius:0;height:300px;min-height:300px}.weather-pdf-phone-preview .weather-open-pdf{background:var(--weather-mobile-action-gradient);color:var(--action-primary-text);flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:8px;padding:16px;text-decoration:none;display:flex;position:absolute;inset:0}.weather-preview-filename{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;font-weight:800;overflow:hidden}.weather-open-pdf-label{background:var(--action-primary-outline-surface);color:var(--info-accent-text-strong);border-radius:9px;padding:8px 12px;font-size:13px;font-weight:900}.weather-card-header{flex-direction:column}}.document-library{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:start;gap:18px;display:grid}.document-main,.document-side{min-width:0}.document-list{gap:10px;margin-top:12px;display:grid}.document-row{border:1px solid var(--border-default);background:var(--surface-subtle);text-align:left;cursor:pointer;border-radius:14px;width:100%;min-width:0;padding:12px}.document-row:hover{background:var(--surface-row-hover)}.document-row.active{border-color:var(--action-primary-border);background:var(--info-accent-surface)}.document-row-with-actions{cursor:default;gap:10px;display:grid}.document-row-select{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;min-width:0;padding:0}.document-row b{min-width:0;max-width:100%;color:var(--text-primary);overflow-wrap:anywhere;word-break:break-word;margin-bottom:4px;font-size:13px;display:block}.document-row span{color:var(--text-secondary);font-size:12px;line-height:1.3;display:block}.document-actions{gap:10px;margin-top:14px;display:flex}.document-actions a{align-items:center;text-decoration:none;display:inline-flex}.document-row-actions{align-items:center;gap:8px;display:flex}.document-row-actions a,.document-row-actions button{cursor:pointer;border:0;border-radius:9px;justify-content:center;align-items:center;min-height:36px;padding:0 10px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.document-row-actions a{background:var(--info-accent-surface);color:var(--info-accent-text-strong)}.document-row-actions button{background:var(--control-destructive-muted-surface);color:var(--control-destructive-muted-text)}.weekly-rota-library{margin-bottom:14px}.document-preview-open{justify-content:flex-end;margin-bottom:10px;display:flex}.document-preview-open a{align-items:center;min-height:40px;padding:0 14px;text-decoration:none;display:inline-flex}.document-phone-open-only{border:1px solid var(--border-default);background:var(--surface-subtle);border-radius:14px;min-width:0;padding:14px}.document-phone-open-only>b{color:var(--text-primary);overflow-wrap:anywhere;word-break:break-word;margin-bottom:12px;display:block}.document-phone-open-only a{background:var(--action-primary-surface);width:100%;min-height:46px;color:var(--action-primary-text);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.weather-source-section{margin-top:18px}.live-weather-card{border:1px solid #0000}.live-weather-card.is-delayed,.live-weather-card.is-stale{border-color:var(--weather-delayed-border)}.live-weather-card.is-unavailable{border-color:var(--weather-unavailable-border)}.live-weather-status{min-width:170px;color:var(--weather-status-meta-text);text-align:right;flex-direction:column;align-items:flex-end;gap:2px;display:flex}.live-weather-status b{color:var(--weather-current-text);text-transform:uppercase;letter-spacing:.04em;font-size:13px}.live-weather-status span{font-size:12px}.live-weather-status.is-delayed b,.live-weather-status.is-stale b{color:var(--weather-delayed-text)}.live-weather-status.is-unavailable b{color:var(--weather-unavailable-text)}.live-weather-notice{background:var(--weather-notice-surface);border-radius:10px;padding:9px 11px;font-size:13px;font-weight:700;color:var(--weather-notice-text)!important;margin:0 0 12px!important}.live-weather-loading{font-size:13px;color:var(--weather-status-meta-text)!important;margin:0 0 12px!important}.live-weather-card.is-unavailable .live-weather-notice{background:var(--weather-unavailable-notice-surface);color:var(--weather-unavailable-notice-text)!important}.live-weather-measurements{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.live-weather-measurements.is-retained{opacity:.55}.live-weather-measurement{border:1px solid var(--border-default);background:var(--surface-subtle);border-radius:14px;min-width:0;padding:14px}.live-weather-measurement small{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px;font-size:11px;font-weight:800;display:block}.live-weather-measurement strong{color:var(--text-primary);font-size:24px;line-height:1.15;display:block}.live-weather-measurement span{color:var(--weather-measurement-meta-text);margin-top:4px;font-size:13px;display:block}.live-weather-observation{color:var(--weather-status-meta-text);flex-wrap:wrap;gap:6px 16px;margin-top:12px;font-size:12px;display:flex}.live-weather-data-warning{font-size:12px;color:var(--weather-notice-text)!important;margin-top:10px!important}@media (width<=1200px){.document-library{grid-template-columns:1fr}}@media (width<=760px){.document-row-actions{width:100%}.document-row-actions a,.document-row-actions button{flex:1;min-height:44px}.live-weather-status{text-align:left;align-items:flex-start;min-width:0}.live-weather-measurements{grid-template-columns:1fr}.live-weather-measurement strong{font-size:21px}.live-weather-observation{flex-direction:column;gap:3px}}.tees-tugs-card{margin-bottom:18px}.tees-tugs-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.tees-tugs-header p{color:var(--text-secondary);margin:2px 0 0;font-size:13px}.tees-tugs-title{margin-bottom:0}.tees-tugs-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.tug-toggle{white-space:nowrap;margin:0}.tug-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;display:grid}.tug-card{border:1px solid var(--border-default);background:var(--surface-subtle);text-align:left;cursor:pointer;width:100%;color:var(--text-primary);border-radius:14px;padding:12px}.tug-card:hover{background:var(--surface-row-hover);border-color:var(--border-row-hover)}.tug-card-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.tug-card-top b{color:var(--text-primary);font-size:15px}.tug-detail-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tug-detail-grid span{min-width:0;color:var(--text-primary);font-size:13px;font-weight:800}.tug-detail-grid small{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:10px;display:block}.tug-card p{color:var(--text-secondary);margin:10px 0 0;font-size:12px;line-height:1.35}.empty-tug-box{border:2px dashed var(--border-strong);color:var(--text-secondary);text-align:center;background:var(--surface-subtle);border-radius:14px;padding:24px;font-weight:800}.tug-modal{width:760px}.tug-modal input:not([type=checkbox]):not([type=radio]),.tug-modal select{box-sizing:border-box;border-radius:10px;height:42px;min-height:42px;padding:8px 10px;line-height:1.2}@media (width<=760px){.tees-tugs-header{flex-direction:column}.tees-tugs-actions{justify-content:flex-start;width:100%}}.archive-summary-grid{grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px;margin-bottom:16px;display:grid}.archive-summary-grid>div{background:var(--surface-raised);box-shadow:var(--shadow-card);border-radius:16px;padding:14px 16px}.archive-summary-grid small{color:var(--text-muted);margin-bottom:4px;font-size:12px;display:block}.archive-summary-grid b{color:var(--text-primary);font-size:22px;display:block}.archive-summary-grid p{color:var(--text-muted);margin:4px 0 0;font-size:12px}.archive-filter-grid{grid-template-columns:minmax(260px,1.4fr) minmax(110px,.45fr) minmax(180px,.8fr) minmax(140px,.55fr) auto;align-items:end;gap:12px;display:grid}.archive-filter-grid label{margin:0}.archive-filter-grid>label>select{height:42px;min-height:42px;line-height:1.2}.archive-search-box{max-width:none;margin-top:6px}.archive-filter-actions{align-items:center;gap:8px;padding-bottom:1px;display:flex}.archive-table{min-width:1450px}.archive-status-pill{border-radius:999px;padding:4px 9px;font-size:12px;font-weight:900;display:inline-block}.archive-status-pill.ok{background:var(--archive-status-ok-surface);color:var(--archive-status-ok-text)}.archive-status-pill.warning{background:var(--archive-status-warning-surface);color:var(--archive-status-warning-text)}.archive-status-pill.bad{background:var(--archive-status-bad-surface);color:var(--archive-status-bad-text)}.archive-status-pill.pending{background:var(--archive-status-pending-surface);color:var(--archive-status-pending-text)}@media (width<=1100px){.archive-filter-grid{grid-template-columns:1fr 1fr}.archive-filter-actions{grid-column:span 2}}@media (width<=720px){.archive-summary-grid,.archive-filter-grid{grid-template-columns:1fr}.archive-filter-actions{grid-column:auto}}.inline-field-status{align-items:center;gap:10px;display:flex}.inline-field-status select{margin-top:6px}.autosave-status{color:var(--feedback-success-text);white-space:nowrap;flex:none;margin-top:6px;font-size:12px;font-weight:800}.movement-edit-drawer{width:560px;max-width:calc(100vw - 24px);padding:18px}.movement-edit-header{border:1px solid var(--border-drawer-header);background:var(--surface-drawer-header);border-radius:14px;margin:0 0 14px;padding:12px 14px}.movement-edit-header small{color:var(--text-label-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px;font-size:11px;font-weight:800;display:block}.movement-edit-header h2{margin:0;font-size:22px;line-height:1.1}.movement-edit-header p{color:var(--text-secondary);margin:5px 0 0;font-size:13px}.create-sailing-box{border:1px solid var(--info-accent-border-subtle);background:var(--trainee-badge-surface);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 11px;display:flex}.create-sailing-box div{min-width:0}.create-sailing-box b{color:var(--text-primary);font-size:13px;display:block}.create-sailing-box span{color:var(--text-secondary);margin-top:2px;font-size:12px;display:block}.create-sailing-button{background:var(--action-primary-surface);color:var(--action-primary-text);cursor:pointer;white-space:nowrap;border:0;border-radius:10px;flex:none;padding:8px 11px;font-weight:800}.create-sailing-button:disabled{opacity:.65;cursor:not-allowed}@media (width<=520px){.create-sailing-box{flex-direction:column;align-items:stretch}.create-sailing-button{width:100%}}.movement-edit-section{border:1px solid var(--border-drawer-section);background:var(--surface-drawer-section);border-radius:14px;margin-bottom:12px;padding:12px}.movement-edit-section-title{color:var(--info-accent-text);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;font-size:12px;font-weight:900}.movement-edit-drawer label{margin-bottom:9px}.movement-edit-drawer label:last-child{margin-bottom:0}.movement-edit-drawer input,.movement-edit-drawer select,.movement-edit-drawer textarea{padding:8px 9px}.movement-edit-drawer input:not([type=checkbox]):not([type=radio]):not([type=file]),.movement-edit-drawer select{box-sizing:border-box;border-radius:10px;height:42px;min-height:42px;line-height:1.2}.movement-edit-drawer textarea{min-height:74px}.compact-edit-grid{gap:9px;margin-bottom:9px}.compact-edit-grid:last-child{margin-bottom:0}.compact-picker{position:relative}.compact-picker input{padding-right:58px}.compact-picker .search-results{z-index:90;border:1px solid var(--border-control-popover);background:var(--surface-control-popover);max-height:230px;box-shadow:var(--shadow-floating-panel);border-radius:12px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.compact-picker .search-result{padding:8px 10px}.compact-picker .search-result b{font-size:13px}.compact-picker .search-result span{font-size:11px}.compact-picker-clear{background:var(--surface-button-secondary);height:28px;color:var(--text-button-secondary);cursor:pointer;border:0;border-radius:8px;padding:0 8px;font-size:12px;font-weight:800;position:absolute;top:6px;right:6px}.compact-picker-clear:hover{background:var(--info-accent-surface-hover)}@media (width<=700px){.movement-edit-drawer{width:calc(100vw - 16px);max-width:calc(100vw - 16px);padding:14px}.movement-edit-drawer .two,.movement-edit-drawer .three{grid-template-columns:1fr}}.add-movement-modal{width:min(900px,100vw - 32px);padding:22px}.add-movement-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.add-movement-header small,.add-direction-pill small,.add-selected-summary small{color:var(--text-label-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px;font-size:11px;font-weight:800;display:block}.add-movement-header h2{margin:0;font-size:24px;line-height:1.1}.add-movement-header .muted{margin:5px 0 0;font-size:13px}.add-direction-pill{border:1px solid var(--border-modal-section);background:var(--surface-modal-section);text-align:right;border-radius:14px;min-width:132px;padding:10px 12px}.add-direction-pill b{color:var(--text-primary);font-size:16px;display:block}.add-movement-section{border:1px solid var(--border-modal-section-alt);background:var(--surface-modal-section-alt);border-radius:14px;margin-bottom:12px;padding:12px}.add-movement-section label{margin-bottom:9px}.add-movement-section label:last-child{margin-bottom:0}.add-movement-section input,.add-movement-section select,.add-movement-section textarea{padding:8px 9px}.add-movement-modal .add-movement-section input:not([type=checkbox]):not([type=radio]),.add-movement-modal .add-movement-section select{box-sizing:border-box;height:42px;min-height:42px;line-height:1.2}.add-movement-section textarea{min-height:74px}.add-movement-new-vessel{border:1px solid var(--info-accent-border-subtle);color:var(--info-accent-text);text-align:left;cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:5px;margin:0;padding:5px 8px;font-size:12px;font-weight:700;display:inline-flex}.add-movement-new-vessel:hover{border-color:var(--info-accent-border);background:var(--info-accent-surface-hover)}.add-movement-new-vessel svg{flex:none}.add-selected-summary{border:1px solid var(--border-input-readonly-alt);background:var(--surface-input-readonly);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.add-selected-summary b{color:var(--text-primary);font-size:18px;line-height:1.1;display:block}.add-selected-summary p{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.add-movement-actions{border-top:1px solid var(--border-modal-footer-alt);background:var(--surface-modal-footer-translucent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin:14px -22px -22px;padding:12px 22px;position:sticky;bottom:-22px}.add-movement-modal .compact-picker .search-results{z-index:100}@media (width<=700px){.add-movement-modal{width:calc(100vw - 16px);max-width:calc(100vw - 16px);padding:14px}.add-movement-header{flex-direction:column}.add-direction-pill{text-align:left;width:100%}.add-movement-modal .two,.add-movement-modal .three{grid-template-columns:1fr}.add-movement-actions{margin:14px -14px -14px;padding:12px 14px;bottom:-14px}}.tide-status-strip-card{background:var(--surface-raised);border:1px solid var(--border-subtle);width:100%;box-shadow:var(--shadow-card-watch);border-radius:16px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title port""items items";align-items:center;gap:10px 12px;min-width:0;margin-bottom:12px;padding:12px 14px;display:grid}.tide-status-title{color:var(--text-strong);grid-area:title;align-items:center;gap:8px;min-width:0;font-size:15px;font-weight:900;display:flex}.tide-status-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tide-status-items{grid-area:items;grid-template-columns:repeat(3,minmax(130px,1fr));gap:10px 14px;min-width:0;display:grid}.tide-status-items>div{background:var(--surface-inset);border:1px solid var(--border-card-muted);border-radius:12px;min-width:0;padding:9px 11px}.tide-status-items small{color:var(--text-label-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:11px;font-weight:800;line-height:1.1;display:block}.tide-status-items b{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;font-size:15px;line-height:1.2;display:block;overflow:hidden}.compact-tide-port-select{grid-area:port;min-width:128px;height:38px;padding:7px 10px}.tide-check-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:4px 9px;font-size:12px;font-weight:900;line-height:1;display:inline-flex}.tide-check-badge.tide-ok{background:var(--tide-check-ok-surface);color:var(--tide-check-ok-text);border-color:var(--tide-check-ok-border)}.tide-check-badge.tide-tidal{background:var(--tide-check-restricted-surface);color:var(--tide-check-restricted-text);border-color:var(--tide-check-restricted-border)}.tide-check-badge.tide-error{background:var(--tide-check-error-surface);color:var(--tide-check-error-text);border-color:var(--tide-check-error-border)}@media (width<=900px){.tide-status-strip-card{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title port""items items"}.tide-status-items{grid-template-columns:repeat(3,minmax(110px,1fr))}}@media (width<=620px){.tide-status-strip-card{grid-template-columns:1fr;grid-template-areas:"title""port""items"}.tide-status-items{grid-template-columns:1fr}.compact-tide-port-select{width:100%}}.tides-page{min-width:0}.tides-page-header{align-items:flex-end}.tides-port-selector{border:1px solid var(--border-tabs);background:var(--surface-segmented);border-radius:12px;gap:4px;padding:4px;display:inline-flex}.tides-port-selector button{color:var(--text-segmented);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:9px 14px;font-weight:800}.tides-port-selector button:hover{background:var(--surface-tabs-hover);color:var(--text-tabs-hover)}.tides-port-selector button.active{background:var(--action-primary-surface);color:var(--action-primary-text)}.tides-status-bar{border:1px solid var(--border-default);background:var(--surface-raised);box-shadow:var(--shadow-section);border-radius:16px;grid-template-columns:minmax(180px,.7fr) minmax(150px,.55fr) minmax(300px,1.5fr);gap:12px;margin-bottom:14px;padding:12px 14px;display:grid}.tides-status-bar>div{min-width:0}.tides-status-bar small,.tides-current-card small,.tides-import-meta dt{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:800;display:block}.tides-status-bar strong{overflow-wrap:anywhere;font-size:14px;display:block}.tides-status-badge{border:1px solid var(--tide-status-neutral-border);background:var(--tide-status-neutral-surface);border-radius:999px;width:fit-content;padding:5px 9px}.tides-status-badge.ready{border-color:var(--tide-status-ready-border);background:var(--tide-status-ready-surface);color:var(--tide-status-ready-text)}.tides-status-badge.no-approved,.tides-status-badge.loading{border-color:var(--tide-status-unapproved-border);background:var(--tide-status-unapproved-surface);color:var(--tide-status-unapproved-text)}.tides-status-badge.error{border-color:var(--tide-status-error-border);background:var(--tide-status-error-surface);color:var(--tide-status-error-text)}.tides-movement-window-card{border:1px solid var(--tide-window-border);background:var(--surface-raised);min-width:0;box-shadow:var(--shadow-card);border-radius:18px;margin-bottom:14px;padding:14px}.tides-movement-window-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:11px;display:flex}.tides-movement-window-heading h2{color:var(--text-primary);margin:0;font-size:18px}.tides-movement-window-heading p{color:var(--text-secondary);margin:3px 0 0;font-size:13px}.tides-movement-window-heading>span{background:var(--tide-window-heading-surface);color:var(--tide-window-heading-text);border-radius:999px;flex:none;padding:5px 9px;font-size:12px;font-weight:800}.tides-movement-window-form{grid-template-columns:minmax(90px,.45fr) minmax(120px,.55fr) auto auto;align-items:start;gap:9px;display:grid}.tides-movement-window-movement-field,.tides-endpoint-formulas{grid-column:1/-1}.tides-movement-window-form>label{min-width:0;color:var(--text-label-compact);margin:0;font-size:12px;font-weight:800}.tides-movement-window-form select,.tides-movement-window-form input[type=number]{width:100%;min-width:0;height:42px;margin-top:5px}.tides-movement-window-form label>small{color:var(--text-helper-secondary);margin-top:4px;font-size:11px;font-weight:600;line-height:1.3;display:block}.tides-movement-window-form>button{white-space:nowrap;margin-top:21px}.tides-endpoint-formulas{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.tides-endpoint-formula{border:1px solid var(--border-panel-control);background:var(--surface-panel-control);border-radius:11px;min-width:0;padding:9px 10px}.tides-endpoint-formula-heading{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:7px;display:flex}.tides-endpoint-formula-heading div,.tides-endpoint-formula-readonly{flex-direction:column;gap:2px;min-width:0;display:flex}.tides-endpoint-formula-heading small,.tides-endpoint-formula-readonly small{color:var(--text-helper);letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:900}.tides-endpoint-formula-heading strong,.tides-endpoint-formula-readonly strong{overflow-wrap:anywhere;color:var(--text-input);font-size:12px}.tides-endpoint-formula-heading>span{background:var(--tide-endpoint-heading-surface);color:var(--tide-endpoint-heading-text);text-transform:uppercase;border-radius:999px;flex:none;padding:3px 7px;font-size:9px;font-weight:900}.tides-endpoint-formula label{color:var(--text-label-compact);margin:0;font-size:10px;font-weight:800;display:block}.tides-endpoint-formula select{min-height:38px;margin-top:4px}.tides-endpoint-formula p{color:var(--tide-calculation-error-text);margin:0;font-size:11px;font-weight:700}.tides-endpoint-formula .tides-endpoint-formula-note{color:var(--text-secondary);margin-top:4px;font-weight:600}.tides-adjustment-control{border:1px solid var(--border-panel-control);background:var(--surface-panel-control);border-radius:12px;grid-template-columns:minmax(190px,1fr) auto minmax(100px,.45fr) minmax(190px,.8fr);align-items:center;gap:10px;margin-top:11px;padding:9px 10px;display:grid}.tides-adjustment-control h3{color:var(--text-primary);margin:0;font-size:13px}.tides-adjustment-control p{color:var(--text-secondary);margin:2px 0 0;font-size:10px}.tides-adjustment-options{border:1px solid var(--border-segmented);background:var(--surface-segmented);border-radius:9px;display:inline-flex;overflow:hidden}.tides-adjustment-options label{color:var(--text-segmented);cursor:pointer;white-space:nowrap;margin:0;padding:8px 10px;font-size:11px;font-weight:800;position:relative}.tides-adjustment-options label+label{border-left:1px solid var(--border-segmented-divider)}.tides-adjustment-options label:hover{background:var(--surface-segmented-hover)}.tides-adjustment-options label.active{background:var(--action-primary-surface);color:var(--action-primary-text)}.tides-adjustment-options input{opacity:0;width:1px;height:1px;position:absolute}.tides-adjustment-options label:has(input:focus-visible){outline:3px solid var(--focus-ring-control);outline-offset:-3px}.tides-adjustment-amount{color:var(--text-label-compact);margin:0;font-size:10px;font-weight:800}.tides-adjustment-amount input{width:100%;min-height:34px;margin-top:3px}.tides-adjustment-summary{min-width:0;color:var(--text-panel-secondary);flex-direction:column;gap:2px;font-size:10px;display:flex}.tides-adjustment-summary strong{color:var(--text-primary);font-size:11px}.tides-adjustment-summary.invalid,.tides-adjustment-summary.invalid strong{color:var(--tide-calculation-error-text)}.tides-movement-window-status:empty{display:none}.tides-movement-window-error,.tides-movement-window-empty{background:var(--tide-window-error-surface);color:var(--tide-window-error-text);border-radius:11px;flex-direction:column;gap:2px;margin:11px 0 0;padding:9px 11px;display:flex}.tides-movement-window-empty{background:var(--surface-empty);color:var(--text-panel-secondary)}.tides-movement-window-result{border-top:1px solid var(--border-divider-data);grid-template-columns:1fr;gap:12px;margin-top:12px;padding-top:12px;display:grid}.tides-tidal-windows{border:1px solid var(--border-card-strong);background:var(--surface-subtle);border-radius:13px;min-width:0;padding:11px}.tides-tidal-windows>h3{color:var(--text-primary);margin:0 0 9px;font-size:16px}.tides-tidal-window-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.tides-tidal-window-panel{border:1px solid var(--border-card-panel);background:var(--surface-card);border-radius:11px;min-width:0;padding:10px}.tides-tidal-window-panel h4{color:var(--info-accent-text-strong);margin:0 0 8px;font-size:14px}.tides-tidal-window-panel dl{gap:7px;margin:0;display:grid}.tides-tidal-window-panel dl div{grid-template-columns:minmax(108px,.8fr) minmax(0,1.2fr);align-items:baseline;gap:8px;display:grid}.tides-tidal-window-panel dt,.tides-planned-passage small{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:800}.tides-tidal-window-panel dd{color:var(--text-primary);text-align:right;margin:0;font-size:12px;font-weight:800}.tides-tidal-window-panel.unavailable{background:var(--tide-window-unavailable-surface)}.tides-tidal-window-panel.unavailable h4,.tides-tidal-window-panel.unavailable p{color:var(--tide-window-unavailable-text)}.tides-tidal-window-panel.unavailable p{margin:0;font-size:12px;font-weight:700}.tides-planned-passage{border-top:1px solid var(--border-card-panel);text-align:center;justify-content:center;align-items:baseline;gap:10px;margin-top:10px;padding-top:10px;display:flex}.tides-planned-passage strong{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:13px}.tides-tidal-window-status{background:var(--tide-window-status-neutral-surface);color:var(--tide-window-status-neutral-text);text-align:center;border-radius:9px;margin:9px 0 0;padding:8px 10px;font-size:13px;font-weight:900}.tides-tidal-window-status.within-previous,.tides-tidal-window-status.within-next{background:var(--tide-window-status-within-surface);color:var(--tide-window-status-within-text)}.tides-tidal-window-status.outside-both{background:var(--tide-window-status-outside-surface);color:var(--tide-window-status-outside-text)}.tides-passage-calculation-details{min-width:0}.tides-passage-calculation-details>summary{cursor:pointer;color:var(--tide-passage-accent-text);font-size:12px;font-weight:800}.tides-passage-calculation-details[open]>summary{margin-bottom:8px}.tides-passage-summary{border:1px solid var(--border-card-strong);background:var(--surface-raised);border-radius:13px;min-width:0;overflow:hidden}.tides-passage-summary-heading{background:var(--surface-card-header);justify-content:space-between;align-items:center;gap:10px;padding:8px 11px;display:flex}.tides-passage-summary-heading h3{color:var(--text-primary);margin:0;font-size:14px}.tides-passage-summary-heading span{color:var(--tide-passage-accent-text);text-align:right;font-size:11px;font-weight:800}.tides-passage-summary-scroll{overscroll-behavior-inline:contain;overflow-x:auto}.tides-passage-summary-grid{min-width:330px}.tides-passage-summary-header,.tides-passage-summary-row{grid-template-columns:minmax(120px,1.2fr) repeat(2,minmax(100px,.8fr));align-items:center;display:grid}.tides-passage-summary-header{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:800}.tides-passage-summary-header>span,.tides-passage-summary-row>span{min-width:0;padding:6px 10px}.tides-passage-summary-header>span:not(:first-child),.tides-passage-summary-row>span:not(:first-child){border-left:1px solid var(--border-divider-strong);text-align:center}.tides-passage-summary-header b,.tides-passage-summary-header small{display:block}.tides-passage-summary-header small{color:var(--text-panel-secondary);letter-spacing:0;text-transform:none;margin-top:1px;font-size:10px}.tides-passage-summary-row{border-top:1px solid var(--border-divider-strong)}.tides-passage-summary-row>span:first-child{color:var(--text-panel-secondary);font-size:11px;font-weight:700}.tides-passage-summary-row.prominent{background:var(--surface-subtle)}.tides-passage-summary-row.prominent>span:first-child{color:var(--text-primary);font-weight:900}.tides-passage-summary-value strong,.tides-passage-summary-value small{display:block}.tides-passage-summary-row.field-adjustmentDescription .tides-passage-summary-value strong{white-space:normal;font-size:11px}.tides-passage-summary-arithmetic{color:var(--text-panel-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.tides-passage-summary-value strong{color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.tides-passage-summary-row.prominent .tides-passage-summary-value strong{font-size:17px}.tides-passage-summary-value small{margin-top:2px;font-size:9px;font-weight:800;line-height:1.15}.tides-passage-summary-value.pass strong,.tides-passage-summary-value.pass small{color:var(--tide-passage-pass-text)}.tides-passage-summary-value.fail strong,.tides-passage-summary-value.fail small{color:var(--tide-passage-fail-text)}.tides-passage-summary-value.unresolved strong,.tides-passage-summary-value.unresolved small{color:var(--tide-passage-unresolved-text)}.tides-movement-window-details dt{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:800}.tides-movement-window-details{grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px 12px;margin:0;display:grid}.tides-movement-window-details div{min-width:0}.tides-movement-window-details dd{overflow-wrap:anywhere;color:var(--text-primary);margin:3px 0 0;font-size:12px;font-weight:700}.tides-movement-window-notes{color:var(--text-secondary);flex-wrap:wrap;grid-column:1/-1;gap:6px 14px;font-size:11px;display:flex}.tides-overhead-panel{border-top:1px solid var(--border-divider-data);margin-top:12px;padding-top:12px}.tides-overhead-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.tides-overhead-heading h3{color:var(--text-primary);margin:0;font-size:16px}.tides-overhead-heading p{color:var(--text-secondary);margin:3px 0 0;font-size:11px}.tides-overhead-heading>span{background:var(--tide-overhead-heading-surface);color:var(--tide-overhead-heading-text);border-radius:999px;flex:none;padding:5px 9px;font-size:11px;font-weight:800}.tides-overhead-table{border:1px solid var(--border-table-alt-container);background:var(--surface-table-alt-container);border-radius:13px;overflow:hidden}.tides-overhead-table-header,.tides-overhead-row>summary{grid-template-columns:minmax(160px,1.2fr) repeat(2,minmax(120px,.7fr));align-items:center;gap:10px;display:grid}.tides-overhead-table-header{background:var(--surface-table-alt-header);color:var(--text-table-alt-header);letter-spacing:.04em;text-transform:uppercase;padding:7px 12px;font-size:10px;font-weight:800}.tides-overhead-table-header span:not(:first-child){text-align:center}.tides-overhead-row{border-top:1px solid var(--border-table-alt-row)}.tides-overhead-row>summary{cursor:pointer;padding:8px 12px;list-style:none}.tides-overhead-row>summary::-webkit-details-marker{display:none}.tides-overhead-row>summary:hover{background:var(--surface-table-alt-row-hover)}.tides-overhead-row>summary:focus-visible{outline:3px solid var(--focus-ring-control);outline-offset:-3px}.tides-overhead-row[open]>summary{background:var(--surface-table-alt-row-open)}.tides-overhead-name,.tides-overhead-margin{min-width:0}.tides-overhead-name b,.tides-overhead-margin strong,.tides-overhead-margin small{display:block}.tides-overhead-name b{color:var(--text-primary);font-size:13px}.tides-overhead-configured-clearance{color:var(--text-data-muted);white-space:nowrap;font-size:11px;font-weight:700}.tides-overhead-name b:after{content:" ▸";color:var(--text-data-muted);font-size:10px}.tides-overhead-row[open] .tides-overhead-name b:after{content:" ▾"}.tides-overhead-margin{text-align:center}.tides-overhead-margin strong{font-variant-numeric:tabular-nums;font-size:20px;line-height:1.05}.tides-overhead-margin small{margin-top:2px;font-size:10px;font-weight:800}.tides-overhead-margin.pass strong,.tides-overhead-margin.pass small{color:var(--tide-overhead-pass-text)}.tides-overhead-margin.fail strong,.tides-overhead-margin.fail small{color:var(--tide-overhead-fail-text)}.tides-overhead-margin.unresolved strong,.tides-overhead-margin.unresolved small{color:var(--tide-overhead-unresolved-text)}.tides-overhead-expanded{border-top:1px solid var(--border-divider-strong);background:var(--surface-card-expanded);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px;display:grid}.tides-overhead-boundary{border:1px solid var(--border-card-expanded);background:var(--surface-raised);border-radius:11px;min-width:0;padding:10px}.tides-overhead-boundary h4{color:var(--text-primary);margin:0 0 8px;font-size:13px}.tides-overhead-boundary dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;margin:0;display:grid}.tides-overhead-boundary dt{color:var(--text-muted);letter-spacing:.03em;text-transform:uppercase;font-size:9px;font-weight:800}.tides-overhead-boundary dd{overflow-wrap:anywhere;color:var(--text-primary);margin:2px 0 0;font-size:11px;font-weight:700}.tides-overhead-arithmetic{border-top:1px solid var(--border-divider-strong);gap:5px;margin-top:9px;padding-top:8px;display:grid}.tides-overhead-arithmetic p{color:var(--text-panel-secondary);grid-template-columns:minmax(110px,.6fr) minmax(0,1.4fr);gap:8px;margin:0;font-size:11px;display:grid}.tides-overhead-arithmetic b{color:var(--text-primary)}.tides-overhead-arithmetic span{font-variant-numeric:tabular-nums}.tides-overhead-unresolved{border-top:1px solid var(--tide-overhead-unresolved-border);color:var(--tide-overhead-unresolved-text);margin:9px 0 0;padding-top:8px;font-size:11px}.tides-quick-check-card{border:1px solid var(--border-quick-check);background:var(--surface-raised);min-width:0;box-shadow:var(--shadow-card);border-radius:18px;margin-bottom:14px;padding:14px}.tides-quick-check-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:11px;display:flex}.tides-quick-check-heading h2{color:var(--text-primary);margin:0;font-size:18px}.tides-quick-check-heading p{color:var(--text-secondary);margin:3px 0 0;font-size:13px}.tides-quick-check-heading>span{background:var(--tide-quick-check-heading-surface);color:var(--tide-quick-check-heading-text);border-radius:999px;flex:none;padding:5px 9px;font-size:12px;font-weight:800}.tides-quick-check-form{grid-template-columns:1fr;align-items:start;gap:12px;display:grid}.tides-quick-check-form label,.tides-quick-check-form fieldset{min-width:0;margin:0}.tides-quick-check-form label{color:var(--text-label-compact);font-size:12px;font-weight:800}.tides-quick-check-section{border:1px solid var(--border-panel-control);background:var(--surface-panel-control);border-radius:12px;padding:10px 12px 12px}.tides-quick-check-section legend{color:var(--text-primary);padding:0 6px;font-size:12px;font-weight:900}.tides-quick-check-section-grid{gap:10px;display:grid}.tides-quick-timing-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tides-quick-check-location-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.tides-quick-check-location-row+.tides-quick-check-location-row{border-top:1px solid var(--border-divider);margin-top:10px;padding-top:10px}.tides-quick-vessel-grid{grid-template-columns:repeat(2,minmax(0,220px))}.tides-quick-check-form input,.tides-quick-check-form select{width:100%;height:42px;margin-top:5px}.tides-quick-selector-field select{min-width:0}.tides-quick-check-form label>small{color:var(--text-helper-secondary);margin-top:4px;font-size:11px;font-weight:600;line-height:1.3;display:block}.tides-quick-check-actions{grid-column:1/-1;justify-content:flex-end;gap:9px;display:flex}.tides-quick-check-actions button{white-space:nowrap}.tides-quick-check-status:empty{display:none}.tides-quick-check-status .error{background:var(--tide-quick-check-error-surface);color:var(--tide-quick-check-error-text);border-radius:11px;margin:11px 0 0;padding:9px 11px;font-weight:700}.tides-quick-check-result{border-top:1px solid var(--border-divider-data);grid-template-columns:minmax(230px,.75fr) minmax(0,2fr);gap:12px;margin-top:12px;padding-top:12px;display:grid}.tides-quick-check-equation{border:1px solid var(--border-card-strong);background:var(--surface-quick-check);border-radius:13px;flex-direction:column;justify-content:center;min-width:0;padding:11px;display:flex}.tides-quick-check-equation small,.tides-quick-check-details dt{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:800}.tides-quick-check-equation strong{color:var(--tide-quick-check-accent-text);margin-top:2px;font-size:30px;line-height:1.1}.tides-quick-check-equation span{color:var(--text-primary);margin-top:7px;font-size:14px;font-weight:800}.tides-quick-check-equation b{margin-top:8px;font-size:13px}.tides-quick-check-equation.pass{border-color:var(--tide-quick-check-pass-border);background:var(--tide-quick-check-pass-surface)}.tides-quick-check-equation.pass strong,.tides-quick-check-equation.pass b{color:var(--tide-quick-check-pass-text)}.tides-quick-check-equation.fail{border-color:var(--tide-quick-check-fail-border);background:var(--tide-quick-check-fail-surface)}.tides-quick-check-equation.fail strong,.tides-quick-check-equation.fail b{color:var(--tide-quick-check-fail-text)}.tides-quick-check-details{grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px 12px;margin:0;display:grid}.tides-quick-location-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.tides-quick-location-result{border:1px solid var(--border-panel-control);background:var(--surface-panel-control);border-radius:12px;min-width:0;padding:11px}.tides-quick-location-result.pass{border-color:var(--tide-quick-check-pass-border);background:var(--tide-quick-check-pass-surface)}.tides-quick-location-result.fail{border-color:var(--tide-quick-check-fail-border);background:var(--tide-quick-check-fail-surface)}.tides-quick-location-result-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.tides-quick-location-result-heading div{flex-direction:column;gap:2px;min-width:0;display:flex}.tides-quick-location-result-heading small{color:var(--text-helper-secondary);text-transform:uppercase;font-size:10px;font-weight:900}.tides-quick-location-result-heading strong{overflow-wrap:anywhere;color:var(--text-primary)}.tides-quick-location-result-heading b{flex:none}.tides-quick-location-result.pass .tides-quick-location-result-heading b{color:var(--tide-quick-check-pass-text)}.tides-quick-location-result.fail .tides-quick-location-result-heading b{color:var(--tide-quick-check-fail-text)}.tides-quick-location-result dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px;margin:10px 0 0;display:grid}.tides-quick-location-result dt{color:var(--text-helper-secondary);font-size:10px;font-weight:800}.tides-quick-location-result dd{color:var(--text-primary);margin:2px 0 0;font-size:12px;font-weight:800}.tides-quick-location-result p{color:var(--text-secondary);margin:9px 0 0;font-size:11px}.tides-quick-check-details div{min-width:0}.tides-quick-check-details dd{overflow-wrap:anywhere;color:var(--text-primary);margin:3px 0 0;font-size:12px;font-weight:700}.tides-quick-formula-note{color:var(--text-panel-secondary);grid-column:1/-1;margin:-2px 0 0;font-size:12px}.tides-message-card{border:1px solid var(--border-default);background:var(--surface-raised);color:var(--text-panel-secondary);border-radius:16px;flex-direction:column;gap:4px;margin-bottom:14px;padding:16px;display:flex}.tides-message-card.warning{border-color:var(--tide-message-warning-border);background:var(--tide-message-warning-surface);color:var(--tide-message-warning-text)}.tides-message-card.error{border-color:var(--tide-message-error-border);background:var(--tide-message-error-surface);color:var(--tide-message-error-text)}.tides-current-card,.tides-graph-card,.tides-admin-panel{border:1px solid var(--border-default);background:var(--surface-raised);min-width:0;box-shadow:var(--shadow-card-data);border-radius:18px}.tides-current-card{grid-template-columns:minmax(190px,.7fr) minmax(300px,1.1fr) minmax(280px,1fr);gap:14px;margin-bottom:14px;padding:16px;display:grid}.tides-current-primary,.tides-turning-summary>div,.tides-dataset-summary>div{border:1px solid var(--border-card-data);background:var(--surface-card-data);border-radius:14px;min-width:0;padding:12px}.tides-current-primary{flex-direction:column;justify-content:center;display:flex}.tides-current-primary>strong{color:var(--tide-current-primary-text);font-size:clamp(30px,4vw,44px);line-height:1}.tides-current-primary>span,.tides-turning-summary span{color:var(--text-panel-secondary);margin-top:7px;font-size:13px}.tides-current-primary>b{background:var(--tide-current-accent-surface);width:fit-content;color:var(--tide-current-accent-text);border-radius:999px;margin-top:9px;padding:5px 9px;font-size:13px}.tides-turning-summary,.tides-dataset-summary{gap:10px;display:grid}.tides-turning-summary{grid-template-columns:1fr 1fr}.tides-turning-summary strong,.tides-dataset-summary b{overflow-wrap:anywhere;display:block}.tides-turning-summary strong{font-size:22px}.tides-dataset-summary b{font-size:13px;line-height:1.35}.tides-local-time-note{color:var(--text-secondary);grid-column:1/-1;margin:-2px 2px 0;font-size:12px;font-weight:700}.tides-graph-card{margin-bottom:18px;padding:16px;overflow:hidden}.tides-section-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.tides-section-heading h2{margin:0;font-size:18px}.tides-section-heading p,.tides-section-heading>span{color:var(--text-secondary);margin:3px 0 0;font-size:13px}.tides-section-heading>span{white-space:nowrap}.tides-graph-wrap{border:1px solid var(--border-default);background:var(--surface-subtle);border-radius:14px;width:100%;min-width:0;overflow:hidden}.tides-graph{width:100%;height:auto;min-height:240px;display:block}.tides-graph-background{fill:var(--tide-graph-surface)}.tides-graph-grid{stroke:var(--tide-graph-grid);stroke-width:1px}.tides-graph-grid.vertical{stroke-dasharray:3 5}.tides-graph-axis-label{fill:var(--tide-graph-axis);font-size:12px;font-weight:700}.tides-graph-line{fill:none;stroke:var(--tide-graph-line);stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.tides-now-line{stroke:var(--tide-graph-now-line);stroke-dasharray:6 5;stroke-width:2px}.tides-now-label{fill:var(--tide-graph-now-label);font-size:12px;font-weight:900}.tides-current-point{fill:var(--tide-graph-current-point-surface);stroke:var(--tide-graph-current-point-border);stroke-width:4px}.tides-turning-point{stroke:var(--tide-graph-marker-border);stroke-width:3px}.tides-turning-point.high{fill:var(--tide-graph-high-marker)}.tides-turning-point.low{fill:var(--tide-graph-low-marker)}.tides-marker-label{font-size:12px;font-weight:900}.tides-marker-label.high{fill:var(--tide-graph-high-label)}.tides-marker-label.low{fill:var(--tide-graph-low-label)}.tides-graph-empty{color:var(--text-secondary);text-align:center;padding:48px 16px}.tides-reference-panel{gap:18px;margin-top:18px;display:grid}.tides-admin-panel{margin-top:18px;overflow:hidden}.tides-admin-panel>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:900;display:flex}.tides-admin-panel>summary:hover{background:var(--surface-inset)}.tides-admin-panel>summary small{color:var(--text-secondary)}.tides-admin-content{border-top:1px solid var(--border-divider-data);gap:16px;padding:0 16px 16px;display:grid}.tides-upload-form{padding-top:16px}.tides-upload-fields{grid-template-columns:minmax(150px,.65fr) minmax(240px,1.2fr) minmax(170px,.8fr) auto;align-items:end;gap:10px;display:grid}.tides-upload-fields label{color:var(--text-label-compact);margin:0;font-size:12px;font-weight:800}.tides-upload-fields input,.tides-upload-fields select{width:100%;min-height:42px;margin-top:5px}.tides-primary-button,.tides-revoke-button{cursor:pointer;border-radius:10px;min-height:42px;padding:9px 13px;font-weight:800}.tides-primary-button{background:var(--action-primary-surface);color:var(--action-primary-text);border:0}.tides-revoke-button{border:1px solid var(--control-destructive-revoke-border);background:var(--control-destructive-revoke-surface);color:var(--control-destructive-revoke-text)}.tides-primary-button:disabled,.tides-revoke-button:disabled{cursor:not-allowed;opacity:.55}.tides-form-status{margin-top:10px}.tides-form-status .error,.tides-form-status .success{border-radius:12px;margin:0;padding:10px 12px}.tides-form-status .error{background:var(--tide-form-error-surface);color:var(--tide-form-error-text)}.tides-form-status .success{background:var(--tide-form-success-surface);color:var(--tide-form-success-text)}.tides-import-list{gap:10px;display:grid}.tides-import-card{border:1px solid var(--border-default);background:var(--surface-subtle);border-radius:14px;grid-template-columns:minmax(190px,.8fr) minmax(0,2fr) auto;align-items:center;gap:14px;padding:12px;display:grid}.tides-import-title{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;display:flex}.tides-import-title strong,.tides-import-title span{overflow-wrap:anywhere;display:block}.tides-import-title div>span{color:var(--text-secondary);margin-top:3px;font-size:12px}.tides-approval-badge{border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900}.tides-approval-badge.approved{border:1px solid var(--tide-approval-approved-border);background:var(--tide-approval-approved-surface);color:var(--tide-approval-approved-text)}.tides-approval-badge.not-approved{border:1px solid var(--tide-approval-unapproved-border);background:var(--tide-approval-unapproved-surface);color:var(--tide-approval-unapproved-text)}.tides-import-meta{grid-template-columns:repeat(3,minmax(120px,1fr));gap:8px 12px;margin:0;display:grid}.tides-import-meta div{min-width:0}.tides-import-meta dd{overflow-wrap:anywhere;color:var(--text-primary);margin:0;font-size:12px;line-height:1.35}.tides-warning-list{margin:4px 0 0;padding-left:18px}.tides-warning-list li+li{margin-top:3px}@media (width<=1100px){.tides-movement-window-form{grid-template-columns:repeat(2,minmax(110px,1fr)) repeat(2,auto)}.tides-adjustment-control{grid-template-columns:minmax(180px,1fr) auto minmax(100px,.45fr)}.tides-adjustment-summary{grid-column:1/-1}.tides-movement-window-details{grid-template-columns:repeat(3,minmax(120px,1fr))}.tides-quick-check-form{grid-template-columns:1fr}.tides-quick-timing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tides-quick-check-details{grid-template-columns:repeat(3,minmax(120px,1fr))}.tides-current-card{grid-template-columns:minmax(190px,.65fr) minmax(300px,1.35fr)}.tides-dataset-summary{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.tides-upload-fields{grid-template-columns:1fr 1.5fr}.tides-import-card{grid-template-columns:1fr;align-items:start}}@media (width<=820px){.tides-tidal-window-panels{grid-template-columns:1fr}}@media (width<=760px){.tides-page-header{flex-direction:column;align-items:stretch}.tides-port-selector{width:100%}.tides-port-selector button{flex:1;padding-inline:8px}.tides-status-bar,.tides-movement-window-form,.tides-movement-window-result,.tides-movement-window-details,.tides-quick-check-form,.tides-quick-check-result,.tides-quick-check-details,.tides-current-card,.tides-turning-summary,.tides-dataset-summary,.tides-upload-fields,.tides-import-meta{grid-template-columns:1fr}.tides-quick-check-card,.tides-movement-window-card{padding:12px}.tides-movement-window-heading,.tides-overhead-heading{flex-direction:column}.tides-adjustment-control{grid-template-columns:1fr}.tides-adjustment-options{width:100%;display:flex}.tides-adjustment-options label{text-align:center;flex:1;padding-inline:6px}.tides-adjustment-summary{grid-column:auto}.tides-planned-passage{flex-direction:column;align-items:center;gap:4px}.tides-overhead-table-header,.tides-overhead-row>summary{grid-template-columns:minmax(92px,1fr) repeat(2,minmax(76px,.75fr));gap:5px;padding-inline:8px}.tides-overhead-margin strong{font-size:16px}.tides-overhead-expanded{grid-template-columns:1fr}.tides-overhead-arithmetic p{grid-template-columns:1fr;gap:2px}.tides-movement-window-form>button{width:100%;margin-top:0}.tides-endpoint-formulas{grid-template-columns:1fr}.tides-movement-window-details{grid-template-columns:repeat(2,minmax(0,1fr))}.tides-quick-check-heading,.tides-quick-check-actions{flex-direction:column}.tides-quick-timing-grid,.tides-quick-check-location-row,.tides-quick-vessel-grid,.tides-quick-location-results{grid-template-columns:1fr}.tides-quick-check-actions button{width:100%}.tides-quick-check-equation strong{font-size:28px}.tides-quick-check-details{grid-template-columns:repeat(2,minmax(0,1fr))}.tides-status-bar{gap:9px}.tides-status-bar>div+div{border-top:1px solid var(--border-divider);padding-top:9px}.tides-current-card{gap:10px;padding:12px}.tides-current-primary>strong{font-size:36px}.tides-dataset-summary{grid-column:auto}.tides-section-heading{flex-direction:column}.tides-section-heading>span{white-space:normal}.tides-graph-card{padding:12px}.tides-graph-wrap{overflow-x:hidden}.tides-graph{min-height:210px}.tides-reference-panel .document-library{grid-template-columns:1fr}.tides-admin-content{padding-inline:12px}}.berth-bulletin-card{background:var(--surface-raised);box-shadow:var(--shadow-card);border-radius:18px;min-width:0;margin-bottom:18px;padding:16px}.berth-bulletin-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.berth-bulletin-header h2{color:var(--text-primary);margin:0 0 8px;font-size:18px}.berth-bulletin-header p{color:var(--text-secondary);margin:0}.berth-bulletin-upload{flex:none}.berth-bulletin-meta{grid-template-columns:1.8fr 1fr .8fr}.berth-bulletin-viewer{height:calc(100vh - 320px);min-height:540px}.berth-bulletin-actions{margin-top:12px}.berth-bulletin-empty{border:2px dashed var(--border-strong);background:var(--surface-subtle);min-height:220px;color:var(--text-secondary);text-align:center;border-radius:14px;justify-content:center;align-items:center;padding:24px;font-weight:700;display:flex}@media (width<=720px){.berth-bulletin-header{flex-direction:column}.berth-bulletin-upload{width:100%}.berth-bulletin-meta{grid-template-columns:1fr}.berth-bulletin-viewer{min-height:420px}}.movement-table .sticky-vessel button[aria-label^="View vessel information"]{width:28px!important;min-width:28px!important;height:28px!important;box-shadow:none!important;color:var(--accent-primary)!important;cursor:pointer!important;background:0 0!important;border:0!important;border-radius:6px!important;justify-content:center!important;align-items:center!important;padding:0!important;display:inline-flex!important}.movement-table .sticky-vessel button[aria-label^="View vessel information"] svg{width:18px;height:18px;margin:0}.movement-table .sticky-vessel button[aria-label^="View vessel information"]:hover{background:var(--surface-action-hover)!important}.movement-table .sticky-vessel button[aria-label^="View vessel information"]:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.movement-table .sticky-vessel button[aria-label^="View vessel information"]:disabled{opacity:.6;color:var(--text-action-disabled)!important;cursor:not-allowed!important}@media (width<=900px){.movement-table .sticky-vessel button[aria-label^="View vessel information"]{width:32px!important;min-width:32px!important;height:32px!important}.movement-table .sticky-vessel button[aria-label^="View vessel information"] svg{width:19px;height:19px}}@media (width>=901px){main.movements-page{padding:20px}.movements-page>header{gap:16px;margin-bottom:14px}.movements-page .header-actions{gap:8px}.movements-page .date-display,.movements-page>header .add-button{height:40px;padding-left:12px;padding-right:12px;font-size:14px}.movements-page .date-display{min-width:280px;font-size:15px;line-height:1.2}.movements-page .top{min-width:155px;min-height:54px;padding:6px 10px}.movements-page .grid-top{gap:10px 14px;margin-bottom:14px}.movements-page .compact-watch-info-card,.movements-page .tide-status-strip-card{padding:10px 12px}.movements-page .watch-info-summary-header{gap:6px;margin-bottom:6px}.movements-page .watch-info-summary{gap:6px 14px;font-size:13px;line-height:1.5}.movements-page .small-edit-button{padding:6px 10px}.movements-page .tide-status-strip-card,.movements-page .tide-status-items{gap:8px 10px}.movements-page .tide-status-items>div{padding:8px 10px}.movements-page .tide-status-items b{font-size:14px}.movements-page .attention{min-height:46px;padding:10px 14px}.movements-page .attention h3{font-size:16px}.movements-page .attention-item{margin-top:6px;padding:8px 10px}.movements-page .operational-day-block{margin-top:18px}.movements-page .operational-day-heading{margin:4px 0 8px}.movements-page .table-card{margin-bottom:14px;padding:14px}.movements-page .section-title{gap:8px;margin-bottom:10px;font-size:15px}.movements-page .section-title span{padding:2px 8px;font-size:12px}.movements-page .section-title small{font-size:12px}.movements-page .movement-table{min-width:1180px;font-size:14px}.movements-page .movement-table th{padding:10px;font-size:11px}.movements-page .movement-table td{padding:11px 10px}.movements-page .movement-table th.sticky-col,.movements-page .movement-table td.sticky-col{padding-left:8px;padding-right:8px}.movements-page .movement-table .empty-row{padding:24px}}.vesselfinder-link{text-align:left;justify-content:center;align-items:center;gap:8px;width:fit-content;max-width:100%;min-height:44px;margin-top:4px;line-height:1.3;text-decoration:none;display:inline-flex}.vesselfinder-link:hover{background:var(--surface-link-hover)}.vesselfinder-link:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.vesselfinder-link svg{flex:none}.movement-vessel-cell,.archive-vessel-cell{align-items:center;gap:6px;min-width:0;max-width:100%;display:inline-flex}.movement-vessel-cell{width:100%}.movement-special-projects-button{border:1px solid var(--info-accent-border);background:var(--info-accent-surface);min-width:30px;height:24px;color:var(--info-accent-text-strong);border-radius:999px;flex:none;padding:0 6px;font-size:11px;font-weight:900;line-height:1}.movement-empx-button{border:1px solid var(--action-primary-border);background:var(--action-primary-outline-surface);min-height:30px;color:var(--action-primary-outline-text);white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:5px;padding:5px 9px;font-size:12px;font-weight:850;line-height:1;text-decoration:none;display:inline-flex}.movement-empx-button.icon-only{gap:0;width:30px;min-width:30px;padding:5px}.movement-empx-button:hover{background:var(--info-accent-surface-hover)}.movement-vessel-name,.archive-vessel-cell>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.movement-diagram-indicator,.archive-diagram-button{border:1px solid var(--info-accent-border);background:var(--info-accent-surface);color:var(--info-accent-text-strong);border-radius:999px;flex:none;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:900;display:inline-flex}.movement-diagram-indicator{min-width:23px;height:23px;padding:0 5px}.movement-diagram-indicator svg,.archive-diagram-button svg,.archive-vessel-cell>svg{margin:0}.movement-attachments{border:1px solid var(--border-overlay-nested);background:var(--surface-overlay-nested);border-radius:14px;margin-bottom:12px;padding:12px}.berth-diagram-save-hint{border:1px dashed var(--border-overlay-hint);background:var(--surface-overlay-nested);border-radius:10px;margin:0 0 12px;padding:10px 12px}.berth-diagram-count{border:1px solid var(--info-accent-border);background:var(--info-accent-surface);min-width:38px;color:var(--info-accent-text-strong);border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:900;display:inline-flex}.movement-attachments-heading{color:var(--info-accent-text);justify-content:space-between;align-items:center;gap:12px;display:flex}.movement-attachments-heading .movement-edit-section-title{margin-bottom:2px}.movement-attachments-heading span,.movement-attachment-status{color:var(--text-secondary);font-size:12px}.movement-attachment-status{margin:10px 0 0!important}.movement-attachment-list{gap:8px;margin-top:10px;display:grid}.movement-attachment-row{border:1px solid var(--border-overlay-item);background:var(--surface-overlay-item);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:9px;display:flex}.movement-attachment-details{min-width:0}.movement-attachment-details b,.movement-attachment-details span{display:block}.movement-attachment-details b{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.movement-attachment-details span{color:var(--text-secondary);margin-top:3px;font-size:11px}.movement-attachment-actions{flex:none;align-items:center;gap:6px;display:flex}.movement-attachment-actions a,.movement-attachment-actions button,.archive-diagram-button{cursor:pointer;border:0;border-radius:9px;min-height:38px;padding:0 10px;font-size:12px;font-weight:800}.movement-attachment-actions a{background:var(--info-accent-surface);color:var(--info-accent-text-strong);align-items:center;text-decoration:none;display:inline-flex}.movement-attachment-actions button{background:var(--control-destructive-muted-surface);color:var(--control-destructive-muted-text)}.movement-attachment-actions button:disabled,.movement-attachment-upload button:disabled{cursor:not-allowed;opacity:.6}.movement-attachment-error{font-size:12px;font-weight:700;color:var(--control-destructive-muted-text)!important;margin:10px 0 0!important}.movement-attachment-upload{border-top:1px solid var(--border-overlay-divider);margin-top:10px;padding-top:10px}.movement-attachment-upload label{margin:0;font-size:12px}.movement-attachment-upload input{padding:8px;font-size:12px}.movement-attachment-upload-row{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}.movement-attachment-upload-row>span{color:var(--text-secondary);font-size:11px}.movement-attachment-upload-row .primary{min-height:40px;padding:8px 14px}.archive-diagram-button{border:1px solid var(--info-accent-border);min-width:38px;height:38px;padding:0 8px}.archive-attachment-modal{width:min(620px,100vw - 32px);padding:22px}.archive-attachment-modal .movement-attachments{margin:14px 0 0}@media (width<=520px){.movement-attachment-row{flex-direction:column;align-items:stretch}.movement-attachment-actions{width:100%}.movement-attachment-actions a,.movement-attachment-actions button{flex:1;justify-content:center;min-height:44px}.movement-attachment-upload-row{flex-direction:column;align-items:stretch}.movement-attachment-upload-row .primary{width:100%;min-height:44px}.archive-attachment-modal{max-height:calc(100vh - 24px);padding:16px}}.sidebar-user{border-top:1px solid #ffffff24;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding:12px;display:flex}.sidebar-user>div{gap:2px;min-width:0;display:grid}.sidebar-user strong,.sidebar-user span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-user span{opacity:.75;font-size:.75rem}.sidebar-user button{color:inherit;cursor:pointer;background:0 0;border:0;padding:6px}.sidebar-collapsed .sidebar-user>div{display:none}.permission-readonly-fieldset,.movement-readonly-fieldset{border:0;min-inline-size:0;margin:0;padding:0}.vessel-note-add{gap:.75rem;display:grid}.vessel-note-list{gap:.75rem;margin-top:1rem;display:grid}.vessel-note-entry{background:var(--surface-muted,#f5f7fa);border:1px solid var(--border,#d7dde5);border-radius:.65rem;padding:.85rem}.vessel-note-entry.deleted{opacity:.68}.vessel-note-entry p{white-space:pre-wrap;margin:.65rem 0}.vessel-note-meta{flex-wrap:wrap;gap:.4rem .85rem;font-size:.82rem;display:flex}.movement-readonly-fieldset[disabled] .compact-picker-clear,.movement-readonly-fieldset[disabled] .trainee-clear,.movement-readonly-fieldset[disabled] .selected-card button{display:none}.movement-readonly-fieldset[disabled] select,.permission-readonly-fieldset[disabled] select{appearance:none;color:inherit;opacity:1;cursor:default;background-image:none;padding-right:12px}.pilot-status-options{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.settings-menu-grid{grid-template-columns:repeat(auto-fit,minmax(260px,360px));gap:16px;display:grid}.settings-menu-card,.settings-theme-option{border:1px solid var(--border-card);background:var(--surface-raised);color:var(--text-primary);cursor:pointer;text-align:left;border-radius:14px}.settings-menu-card{align-items:flex-start;gap:14px;min-height:118px;padding:20px;display:flex}.settings-menu-card span,.settings-theme-option span{gap:5px;display:grid}.settings-menu-card b,.settings-theme-option b{font-size:1rem}.settings-menu-card small,.settings-theme-option small{color:var(--text-muted);line-height:1.4}.settings-menu-card:hover,.settings-theme-option:hover{border-color:var(--border-interactive-hover);background:var(--surface-row-hover)}.settings-theme-options{gap:12px;max-width:760px;display:grid}.settings-theme-option{grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-height:86px;padding:16px 18px;display:grid}.settings-theme-option.selected{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--focus-ring)}.settings-theme-option strong{color:var(--accent-primary);font-size:.82rem}.settings-theme-option:disabled{cursor:wait;opacity:.75}@media (width<=600px){.settings-menu-grid{grid-template-columns:1fr}.settings-theme-option{grid-template-columns:auto 1fr}.settings-theme-option>strong{grid-column:2}}.mobile-app-bar,.mobile-sidebar-scrim,.sidebar-mobile-close{display:none}@media (width<=760px){html{-webkit-text-size-adjust:100%}body{min-width:320px;overflow-x:hidden}button,a,input,select,textarea{touch-action:manipulation}.app,.app.sidebar-collapsed{min-height:100dvh;display:block}.sidebar,.app.sidebar-collapsed .sidebar{z-index:1001;width:min(86vw,320px);height:100dvh;padding:calc(14px + env(safe-area-inset-top)) 14px calc(14px + env(safe-area-inset-bottom));align-items:stretch;gap:10px;transition:transform .18s;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-105%);box-shadow:18px 0 48px #03122647}.app.mobile-menu-open .sidebar,.sidebar.mobile-open{transform:translate(0)}.sidebar-toggle{display:none}.sidebar-mobile-close{width:44px;height:44px;top:calc(12px + env(safe-area-inset-top));z-index:2;background:var(--sidebar-border);color:var(--accent-on-primary);border:0;border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;right:12px}.app.sidebar-collapsed .brand{justify-content:initial;grid-template-columns:28px 1fr;margin-bottom:8px;padding:6px 52px 18px 4px;display:grid}.app.sidebar-collapsed .brand-copy,.app.sidebar-collapsed .nav span,.app.sidebar-collapsed .prev{display:block}.app.sidebar-collapsed .brand .brand-normal{display:flex}.app.sidebar-collapsed .brand .brand-easter{flex-direction:row;gap:4px;padding:4px 5px}.app.sidebar-collapsed .brand .brand-easter strong,.app.sidebar-collapsed .brand .brand-easter span{font-size:14px}.app.sidebar-collapsed .nav,.nav{border-radius:12px;justify-content:flex-start;width:100%;height:auto;min-height:46px;padding:11px 12px}.app.sidebar-collapsed .nav svg{margin:0}.sidebar-user{min-height:54px}.sidebar-user button{width:44px;height:44px}.mobile-sidebar-scrim{z-index:1000;background:var(--surface-overlay-backdrop-strong);opacity:0;pointer-events:none;border:0;transition:opacity .18s;display:block;position:fixed;inset:0}.app.mobile-menu-open .mobile-sidebar-scrim{opacity:1;pointer-events:auto}main,.movements-page{width:100%;min-width:0;padding:0 12px calc(18px + env(safe-area-inset-bottom))}.mobile-app-bar{min-height:calc(58px + env(safe-area-inset-top));z-index:80;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;border-bottom:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-page) 94%, transparent);-webkit-backdrop-filter:blur(14px);align-items:center;gap:10px;margin:0 -12px 14px;display:flex;position:sticky;top:0}.mobile-menu-button{border:1px solid var(--border-default);background:var(--surface-main);width:44px;height:44px;color:var(--text-primary);border-radius:12px;flex:0 0 44px;justify-content:center;align-items:center;display:flex}.mobile-app-brand{min-width:0;color:var(--text-primary);align-items:center;gap:8px;display:flex}.mobile-app-brand>svg{color:var(--info-accent-text);flex:none}.mobile-app-brand div{flex-direction:column;min-width:0;display:flex}.mobile-app-brand strong{font-size:15px;line-height:1.15}.mobile-app-brand span{max-width:220px;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.2;overflow:hidden}header{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:14px}header h1{font-size:24px}.header-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.header-actions>*{min-height:44px}.card,.table-card,.weather-card,.general-info-module{border-radius:14px}.table-scroll,.movement-table-scroll{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;max-width:100%;overflow-x:auto}.section-title{flex-wrap:wrap;min-height:44px}.section-title small{flex-basis:100%;margin-left:0;display:block}.watch-archive-button,.watch-archived-button{min-height:40px;margin-left:auto}.drawer,.movement-edit-drawer{width:100vw;max-width:none;height:100dvh;max-height:100dvh;padding:calc(58px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom));border-radius:0;inset:0;overflow-y:auto}.drawer .close{width:44px;height:44px;top:calc(8px + env(safe-area-inset-top));z-index:3;position:fixed;right:10px}.drawer-actions{bottom:calc(-18px - env(safe-area-inset-bottom));z-index:2;margin:18px -14px calc(-18px - env(safe-area-inset-bottom));padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:var(--surface-modal-footer-translucent);box-shadow:var(--shadow-modal-footer);position:sticky}.drawer-actions button{min-height:44px}.two,.compact-edit-grid,.movement-edit-drawer .two{grid-template-columns:1fr}.modal{border-radius:16px;width:calc(100vw - 20px);max-width:none;max-height:calc(100dvh - 20px);padding:16px;overflow-y:auto}.modal-actions,.document-actions,.document-row-actions{flex-wrap:wrap}.modal-actions button,.document-actions a,.document-actions button{min-height:44px}.document-library{grid-template-columns:1fr}.pilot-table,.movement-table{min-width:900px}input,select,textarea{font-size:16px}}@media (width<=390px){main,.movements-page{padding-left:8px;padding-right:8px}.mobile-app-bar{margin-left:-8px;margin-right:-8px;padding-left:8px;padding-right:8px}.mobile-app-brand span{max-width:180px}}@media (prefers-reduced-motion:reduce){.sidebar,.mobile-sidebar-scrim{transition:none}}.settings-appearance-heading{margin:0 0 10px}.settings-appearance-heading h2{color:var(--text-primary);margin:0;font-size:17px}.settings-appearance-heading p{color:var(--text-secondary);margin:3px 0 0;font-size:13px}.settings-layout-heading{margin-top:22px}@media (width<=760px){.sidebar .brand-copy{display:block}.sidebar .brand .brand-normal{display:flex}.sidebar .brand .brand-easter{flex-direction:row;gap:4px;padding:4px 5px}.sidebar .brand .brand-easter strong,.sidebar .brand .brand-easter span{font-size:14px}.sidebar .nav{justify-content:flex-start;font-size:14px}.sidebar .nav span{color:inherit;display:inline}}.mobile-movement-list,.archive-button-phone-label{display:none}@media (width<=760px){.movement-table-scroll{display:none}.mobile-movement-list{gap:10px;margin-top:12px;display:grid}.table-card>.section-title small,.archive-button-full-label{display:none}.archive-button-phone-label{display:inline}.watch-archive-button,.watch-archived-button{min-height:38px;margin-left:auto;padding:7px 10px}.mobile-movement-card{border:1px solid var(--border-default);background:var(--surface-card);min-width:0;box-shadow:var(--shadow-card-subtle);border-radius:14px;overflow:hidden}.mobile-movement-card-main{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:0;padding:13px 14px 12px;display:block}.mobile-movement-card-main:active{background:var(--surface-row-hover)}.mobile-movement-card-topline{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.mobile-movement-time{color:var(--text-primary);font-size:18px;line-height:1}.mobile-movement-status{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:7px;font-size:12px;font-weight:800;display:flex;overflow:hidden}.mobile-movement-status .status-dot{flex:none}.mobile-movement-card-topline>svg{color:var(--text-muted)}.mobile-movement-vessel-line{align-items:center;gap:8px;min-width:0;margin-top:11px;display:flex}.mobile-movement-vessel-line h3{min-width:0;color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-size:19px;line-height:1.2}.mobile-movement-vessel-line .movement-diagram-indicator{flex:none}.mobile-movement-route{color:var(--text-secondary);overflow-wrap:anywhere;margin:5px 0 11px;font-size:14px;font-weight:750;line-height:1.35}.mobile-movement-route span{color:var(--info-accent-text);padding:0 3px;font-weight:900}.mobile-movement-details{border-top:1px solid var(--border-divider);gap:0;margin:0;display:grid}.mobile-movement-details>div{border-bottom:1px solid var(--border-divider);grid-template-columns:82px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:7px 0;display:grid}.mobile-movement-details>div:last-child{border-bottom:0;padding-bottom:1px}.mobile-movement-details dt{color:var(--text-label-muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:900}.mobile-movement-details dd{min-width:0;color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:800}.mobile-movement-details .mobile-value-alert{color:var(--feedback-error-text)}.mobile-movement-details .tide-check-badge{max-width:100%;display:inline-flex}.mobile-movement-card-actions{border-top:1px solid var(--border-divider);background:var(--surface-subtle);gap:8px;padding:9px 12px;display:flex}.mobile-movement-card-actions button{border:1px solid var(--border-button-secondary);background:var(--surface-button-neutral);min-height:40px;color:var(--text-button-secondary);border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-size:12px;font-weight:900;display:inline-flex}.mobile-movement-card-actions button:disabled{opacity:.45}.mobile-movement-empty{border:1px dashed var(--border-default);color:var(--text-secondary);text-align:center;border-radius:14px;margin:0;padding:20px}}.movement-drawer-back{display:none}@media (width<=760px){.movement-edit-drawer>.close,.vessel-info-drawer>.close{display:none}.movement-drawer-back{min-height:44px;top:calc(8px + env(safe-area-inset-top));z-index:4;border:1px solid var(--border-button-secondary);background:var(--surface-button-neutral);color:var(--accent-on-primary);box-shadow:var(--shadow-card-subtle);z-index:auto;border-color:var(--accent-primary);background:var(--accent-primary);width:100%;min-height:50px;letter-spacing:.01em;box-shadow:var(--shadow-card);border-radius:12px;justify-content:center;align-items:center;gap:10px;margin:0 0 14px;padding:0 13px;font-size:15px;font-weight:900;display:inline-flex;position:relative;top:auto;left:auto}.movement-drawer-back>span:first-child{font-size:22px;line-height:1}.movement-drawer-back:active{transform:translateY(1px)}}.contacts-card{padding:18px}.contacts-list{gap:10px;margin-top:16px;display:grid}.contact-row{border:1px solid var(--border-card);background:var(--surface-raised);border-radius:14px;grid-template-columns:minmax(220px,1fr) minmax(220px,auto) auto;align-items:center;gap:16px;padding:16px;display:grid}.contact-row.inactive{opacity:.62}.contact-copy h2{margin:0;font-size:1.05rem}.contact-copy p{color:var(--text-secondary);margin:5px 0 0}.contact-numbers{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.contact-numbers a{border:1px solid var(--border-button-secondary);background:var(--surface-button-neutral);min-height:42px;color:var(--text-button-secondary);border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-weight:800;text-decoration:none;display:inline-flex}.pilot-emergency-numbers{gap:3px;display:grid}@media (width<=760px){.contacts-card{padding:12px}.contact-row{grid-template-columns:1fr;align-items:stretch;padding:14px}.contact-numbers{justify-content:stretch;display:grid}.contact-numbers a{border-color:var(--accent-primary);background:var(--accent-primary);width:100%;min-height:48px;color:var(--accent-on-primary);font-size:16px}.contact-row>button{width:100%;min-height:44px}}.committee-updates-list{gap:12px;margin-top:18px;display:grid}.committee-update-row{border:1px solid var(--border);background:var(--surface);border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px;display:grid}.committee-update-row.inactive{opacity:.66}.committee-update-icon{width:44px;height:44px;color:var(--primary);background:var(--primary-soft);border-radius:12px;place-items:center;display:grid}.committee-update-copy h2{margin:0 0 6px;font-size:1rem}.committee-update-copy p{color:var(--muted);margin:8px 0 0}.committee-update-meta{color:var(--muted);flex-wrap:wrap;gap:6px 14px;font-size:.86rem;display:flex}.committee-update-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.committee-update-actions a{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}@media (width<=700px){.committee-update-row{grid-template-columns:auto minmax(0,1fr)}.committee-update-actions{grid-column:1/-1;grid-template-columns:1fr;display:grid}.committee-update-actions>*{width:100%;min-height:48px}}.certificate-privacy-note{border:1px solid var(--border);color:var(--text);background:var(--surface);border-radius:14px;align-items:center;gap:12px;margin-bottom:18px;padding:14px 16px;display:flex}.certificate-privacy-note svg{color:var(--primary);flex:none}.certificate-privacy-note div{gap:3px;display:grid}.certificate-privacy-note span{color:var(--muted);font-size:.9rem}.certificate-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.certificate-card{border:1px solid var(--border);border-left:5px solid var(--success);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:18px;padding:20px}.certificate-card.certificate-expiring{border-left-color:#d99300}.certificate-card.certificate-expired{border-left-color:var(--danger)}.certificate-card-heading{align-items:flex-start;gap:12px;display:flex}.certificate-card-heading>svg{color:var(--primary);flex:none}.certificate-card h2{margin:0 0 6px;font-size:1.05rem}.certificate-status{color:var(--success);background:var(--success-soft);border-radius:999px;padding:4px 9px;font-size:.78rem;font-weight:700;display:inline-flex}.certificate-status-expiring{color:#7a5200;background:#fff0bd}.certificate-status-expired{color:var(--danger);background:var(--danger-soft)}.certificate-card dl{gap:10px;margin:18px 0;display:grid}.certificate-card dl div{grid-template-columns:100px minmax(0,1fr);gap:10px;display:grid}.certificate-card dt{color:var(--muted);font-size:.85rem}.certificate-card dd{overflow-wrap:anywhere;min-width:0;margin:0}.certificate-actions{gap:8px;display:grid}.certificate-actions a{justify-content:center;align-items:center;min-height:42px;text-decoration:none;display:inline-flex}.certificate-empty{text-align:center;place-items:center;min-height:230px;display:grid}.pilot-certificate-compliance{white-space:nowrap;gap:2px;font-size:.82rem;display:grid}.pilot-certificate-compliance span:nth-child(2){color:#a36a00}.pilot-certificate-compliance span:nth-child(3){color:var(--danger)}@media (width<=700px){.certificate-grid{grid-template-columns:1fr}.certificate-card{padding:16px}.certificate-actions>*{width:100%;min-height:48px}}.my-documents-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.my-documents-box{border:1px solid var(--border-default);background:var(--surface-main);min-height:230px;color:var(--text-primary);text-align:left;box-shadow:var(--shadow-card);cursor:pointer;border-radius:20px;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;padding:28px;text-decoration:none;display:flex}.my-documents-box:hover{border-color:var(--border-interactive-hover);transform:translateY(-1px)}.my-documents-box svg{color:var(--info-accent-text)}.my-documents-box strong{font-size:24px}.my-documents-box span{color:var(--text-secondary);line-height:1.5}.my-documents-box-primary{background:var(--surface-navigation-active);color:var(--accent-on-primary)}.my-documents-box-primary svg,.my-documents-box-primary span{color:inherit}.empx-manual-badge{color:#172234;letter-spacing:.08em;background:#f5a623;border-radius:999px;margin-bottom:8px;padding:5px 10px;font-size:12px;font-weight:900;display:inline-flex}.empx-toolbar{z-index:70;border-bottom:1px solid var(--border-default);background:color-mix(in srgb,var(--surface-page) 94%,transparent);-webkit-backdrop-filter:blur(14px);align-items:center;gap:8px;min-height:58px;margin:-24px -24px 20px;padding:9px 24px;display:flex;position:sticky;top:0}.empx-toolbar button{align-items:center;gap:6px;min-height:40px;display:inline-flex}.empx-toolbar button:disabled{opacity:.7;cursor:not-allowed}.empx-save-status{color:var(--text-secondary);margin-left:auto;font-size:13px;font-weight:700}.empx-title-block{align-items:flex-start}.empx-title-block p{max-width:760px}.manual-empx-form{max-width:1500px;color:var(--text-primary);margin:0 auto;padding-bottom:84px;transition:background-color .2s,color .2s}html[data-theme=dark] .manual-empx-form{--surface-main:#111c2e;--surface-page:#08111f;--surface-navigation-active:#4677d5;--accent-on-primary:#fff;--border-default:#52627a;--text-primary:#f8fafc;--text-secondary:#c7d2e2;--danger-text:#fecaca;--success-text:#86efac;--shadow-card:0 12px 28px #00000052;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#08111f;border-radius:18px;margin-top:-24px;padding:24px 16px 84px}html[data-theme=dark] .manual-empx-form .empx-manual-badge{color:#071326;background:#87a7ff}html[data-theme=dark] .manual-empx-form input,html[data-theme=dark] .manual-empx-form select,html[data-theme=dark] .manual-empx-form textarea{color:#f8fafc;background:#0c1728;border-color:#64748b}html[data-theme=dark] .manual-empx-form label{color:#f8fafc}html[data-theme=dark] .manual-empx-form input::placeholder,html[data-theme=dark] .manual-empx-form textarea::placeholder{color:#aebbd0}html[data-theme=dark] .manual-empx-form button:disabled{color:#cbd5e1;opacity:.78;background:#263248;border-color:#52627a}html[data-theme=dark] .manual-empx-form .general-info-error,html[data-theme=dark] .manual-empx-form .empx-validation-error,html[data-theme=dark] .manual-empx-form .empx-ukc-warning{color:#fee2e2;background:#451a1a;border-color:#f87171}.empx-form-box{border:1px solid var(--border-default);background:var(--surface-main);box-shadow:var(--shadow-card);border-radius:18px;margin-bottom:16px;padding:20px}.empx-box-heading{align-items:center;gap:10px;margin-bottom:18px;display:flex}.empx-box-heading>span{background:var(--surface-navigation-active);width:30px;height:30px;color:var(--accent-on-primary);border-radius:9px;place-items:center;font-weight:900;display:grid}.empx-box-heading h2{color:var(--text-primary);margin:0;font-size:19px}.empx-grid{gap:14px;display:grid}.empX-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.empX-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.empX-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}.manual-empx-form label{min-width:0}.manual-empx-form textarea{resize:vertical;width:100%}.manual-empx-form fieldset{border:1px solid var(--border-default);border-radius:14px;min-width:0;margin:0}.manual-empx-form legend{color:var(--text-primary);padding:0 7px;font-weight:850}.empx-check-field{border:1px solid var(--border-default);background:var(--surface-page);border-radius:10px;align-self:end;align-items:center;gap:9px;min-height:46px;padding:10px 12px;flex-direction:row!important;display:flex!important}.empx-check-field input{width:20px;height:20px;margin:0}.empx-inside-breakwater-checks{margin-top:12px}.empx-validation-error{color:#991b1b;background:#fef2f2;border:1px solid #dc2626;border-radius:10px;margin:14px 0 0;padding:10px 12px;font-weight:800}.empx-passage-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.empx-passage-column{background:var(--surface-page);align-content:start;gap:14px;padding:16px;display:grid}.empx-tide-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.empx-tide-grid.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.empx-tide-column{background:var(--surface-page);align-content:start;gap:10px;padding:14px;display:grid}.empx-readonly-value{border:1px solid var(--border-default);background:var(--surface-main);border-radius:10px;gap:4px;min-height:67px;padding:10px 12px;display:grid}.empx-readonly-value>span{color:var(--text-secondary);font-size:12px;font-weight:750}.empx-readonly-value>strong{color:var(--text-primary);font-size:14px;line-height:1.35}.empx-readonly-value.is-success{background:#f0fdf4;border-color:#15803d}.empx-readonly-value.is-success>strong{color:#166534}.empx-readonly-value.is-danger{background:#fef2f2;border-color:#dc2626}.empx-readonly-value.is-danger>strong{color:#991b1b}html[data-theme=dark] .manual-empx-form .empx-readonly-value.is-success{background:#052e16;border-color:#4ade80}html[data-theme=dark] .manual-empx-form .empx-readonly-value.is-success>strong{color:#bbf7d0}html[data-theme=dark] .manual-empx-form .empx-readonly-value.is-danger{background:#450a0a;border-color:#f87171}html[data-theme=dark] .manual-empx-form .empx-readonly-value.is-danger>strong{color:#fecaca}.empx-ukc-warning{color:#991b1b;background:#fef2f2;border:2px solid #dc2626;border-radius:10px;margin-top:14px;padding:12px 14px;font-weight:850}.empx-clearance-list{gap:12px;margin-top:18px;display:grid}.empx-clearance-list h3{margin:0;font-size:16px}.empx-clearance-source{color:var(--text-secondary);margin:0;line-height:1.45}.empx-clearance-row{background:var(--surface-page);border-radius:12px;display:block;overflow:hidden}.empx-clearance-row>summary{list-style:none}.empx-clearance-row>summary::-webkit-details-marker{display:none}.empx-clearance-heading{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.empx-clearance-heading:after{content:"▾";color:var(--text-secondary);font-size:15px;transition:transform .18s}.empx-clearance-row[open]>.empx-clearance-heading:after{transform:rotate(180deg)}.empx-clearance-identity{gap:4px;min-width:0;display:grid}.empx-clearance-identity small{color:var(--text-secondary);line-height:1.35}.empx-clearance-overview{background:var(--surface-main);color:var(--text-secondary);white-space:nowrap;border-radius:999px;margin-left:auto;padding:5px 9px;font-size:12px;font-weight:800}.empx-clearance-overview.is-success{color:#166534;background:#dcfce7}.empx-clearance-overview.is-danger{color:#991b1b;background:#fee2e2}.empx-clearance-details{gap:12px;padding:0 14px 14px;display:grid}.empx-clearance-details>small{color:var(--text-secondary)}.empx-bridge-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.empx-bridge-grid.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.empx-bridge-column{background:var(--surface-main);align-content:start;gap:9px;padding:12px;display:grid}.empx-tug-list{gap:12px;margin-bottom:16px;display:grid}.empx-tug-row{padding:14px}.empX-grid-tug{grid-template-columns:repeat(6,minmax(105px,1fr));align-items:end}.empx-tug-diagram,.empx-tug-diagram-empty{border:1px solid var(--border-default);background:var(--surface-main);border-radius:14px;margin-top:18px;padding:16px}.empx-tug-diagram-empty{min-height:130px;color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.empx-tug-diagram-empty strong{color:var(--text-primary)}.empx-tug-diagram-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.empx-tug-diagram-heading>div{gap:3px;display:grid}.empx-tug-diagram-heading span{color:var(--text-secondary);font-size:13px}.empx-tug-diagram>svg{border:1px solid var(--border-default);background:var(--surface-subtle);border-radius:12px;width:100%;max-height:620px;display:block}.empx-vessel-shape{fill:color-mix(in srgb,var(--surface-navigation-active) 18%,var(--surface-main));stroke:var(--surface-navigation-active);stroke-width:6px}.empx-vessel-centreline{stroke:var(--border-strong);stroke-width:2px;stroke-dasharray:14 10}.empx-vessel-label{fill:var(--text-secondary);letter-spacing:5px;font-size:28px;font-weight:800}.empx-tug-orientation{fill:var(--text-secondary);letter-spacing:3px;font-size:20px;font-weight:800}.empx-tug-marker>line{stroke:var(--text-secondary);stroke-width:4px}.empx-tug-marker>g>path{fill:var(--action-primary-surface);stroke:var(--action-primary-text);stroke-width:3px}.empx-tug-marker>g>line{stroke:var(--action-primary-text);stroke-width:3px}.empx-tug-marker text{fill:var(--text-primary);font-size:18px;font-weight:700}.empx-tug-marker text tspan+tspan{fill:var(--text-secondary);font-size:15px;font-weight:600}.empx-tug-diagram-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px;display:grid}.empx-tug-diagram-details>div{border:1px solid var(--border-default);background:var(--surface-subtle);border-radius:10px;gap:2px;padding:10px 12px;display:grid}.empx-tug-diagram-details span,.empx-tug-diagram-details small{color:var(--text-secondary)}.empx-tug-diagram-warning{color:#5b3a00;background:#fff4cf;border:1px solid #d18b00;border-radius:10px;margin:10px 0 0;padding:10px 12px}[data-theme=dark] .empx-tug-diagram-warning{color:#ffe9a8;background:#3b2a05}.empx-mooring-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.empx-mooring-grid.single-panel{grid-template-columns:minmax(0,1fr)}.empx-mooring-panel{background:var(--surface-page);align-content:start;gap:16px;padding:16px;display:grid}.empx-mooring-subsection,.empx-arrival-lines{border-top:1px solid var(--border-default);gap:12px;padding-top:14px;display:grid}.empx-mooring-subsection h3{margin:0;font-size:15px}.empx-mooring-note,.empx-mooring-empty{border:1px solid var(--border-default);background:var(--surface-main);color:var(--text-secondary);border-radius:10px;margin:0;padding:13px 14px;line-height:1.45}.empx-mooring-empty{grid-column:1/-1}.empx-lines-panel{background:var(--surface-main);gap:12px;padding:13px;display:grid}.empx-line-counts{grid-template-columns:repeat(5,minmax(70px,1fr));gap:10px;display:grid}.empx-line-counts.empX-single-up-counts{grid-template-columns:repeat(3,minmax(0,1fr))}.empx-legacy-note{border:1px dashed var(--border-default);color:var(--text-secondary);border-radius:9px;margin:0;padding:9px 11px;font-size:13px}.empx-signature-grid,.empx-placeholder-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.empx-signature-grid>div{min-width:0}.empx-signature-pad{margin-top:10px}.empx-signature-pad-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px;display:flex}.empx-signature-pad-heading .secondary{min-height:36px;padding:6px 12px}.empx-signature-preview{border:2px solid var(--border-default);background:var(--surface-muted);width:100%;min-height:150px;color:var(--text-secondary);cursor:pointer;border-radius:12px;padding:0;display:block;overflow:hidden}.empx-signature-preview:disabled{cursor:not-allowed;opacity:.62}.empx-signature-preview svg{background:var(--surface-main);width:100%;height:120px;display:block}.empx-signature-preview span{border-top:1px solid var(--border-default);padding:8px 12px;font-weight:700;display:block}.empx-signature-pad path,.empx-signature-canvas path{fill:none;stroke:var(--text-primary);stroke-width:6px;stroke-linecap:round;stroke-linejoin:round}.empx-signature-pad small{color:var(--text-secondary);margin-top:6px;display:block}.empx-signature-modal-backdrop{z-index:2500;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);overscroll-behavior:none;touch-action:none;background:#09121eb8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.empx-signature-modal{border:1px solid var(--border-default);background:var(--surface-main);border-radius:18px;width:min(100%,1100px);max-height:100%;padding:20px;overflow:auto;box-shadow:0 24px 80px #00000061}.empx-signature-modal-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.empx-signature-modal-heading h3,.empx-signature-modal-heading p{margin:0}.empx-signature-modal-heading p{color:var(--text-secondary);margin-top:4px}.empx-signature-canvas{border:3px solid var(--surface-navigation-active);background:var(--surface-muted);cursor:crosshair;touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:14px;width:100%;min-height:clamp(260px,48vh,470px);display:block}.empx-signature-modal-actions{justify-content:space-between;gap:12px;margin-top:14px;display:flex}.empx-signature-modal-actions button{min-width:120px}.empx-signature-placeholder,.empx-operation-diagram-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.empx-operation-diagram{border:1px solid var(--border-default);background:var(--surface-main);border-radius:14px;min-width:0;padding:14px}.empx-operation-diagram.is-empty{min-height:180px;color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.empx-operation-diagram.is-empty strong{color:var(--text-primary)}.empx-operation-diagram-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.empx-operation-diagram-heading>div{flex-direction:column;gap:2px;display:flex}.empx-operation-diagram-heading span,.empx-operation-diagram small{color:var(--text-secondary);font-size:12px}.empx-operation-diagram-heading>span{text-align:right}.empx-operation-diagram svg{border:1px solid var(--border-default);background:var(--surface-muted);border-radius:10px;width:100%;height:auto;max-height:420px;display:block}.empx-operation-berth line{stroke:var(--text-primary);stroke-width:10px;stroke-linecap:round}.empx-operation-berth circle{fill:var(--text-primary)}.empx-operation-berth text{fill:var(--text-primary);letter-spacing:.04em;font-size:20px;font-weight:800}.empx-operation-vessel{fill:color-mix(in srgb,var(--accent) 18%,var(--surface-main));stroke:var(--accent);stroke-width:4px}.empx-operation-centreline{stroke:var(--text-secondary);stroke-width:2px;stroke-dasharray:9 7}.empx-operation-lines line{stroke:var(--feedback-warning-text);stroke-width:4px;stroke-linecap:round}.empx-operation-lines circle{fill:var(--feedback-warning-text)}.empx-operation-lines text{fill:var(--feedback-warning-text);stroke:var(--surface-muted);stroke-width:5px;paint-order:stroke fill;font-size:14px;font-weight:900}.empx-operation-bow-label,.empx-operation-vessel-label,.empx-operation-side-label{fill:var(--text-primary);font-weight:800}.empx-operation-bow-label{font-size:18px}.empx-operation-vessel-label{letter-spacing:.08em;font-size:23px}.empx-operation-side-label{font-size:15px}.empx-operation-north line,.empx-operation-north path{stroke:var(--danger-text,#dc2626);fill:var(--danger-text,#dc2626);stroke-width:4px}.empx-operation-north text{fill:var(--danger-text,#dc2626);font-size:20px;font-weight:900}.empx-operation-stream-arrow path{fill:var(--accent-primary);stroke:var(--accent-primary);stroke-width:3px;stroke-linejoin:round}.empx-operation-stream-slack line{stroke:var(--accent-primary);stroke-width:7px;stroke-linecap:round}.empx-operation-stream text{fill:var(--accent-primary);stroke:var(--surface-muted);stroke-width:5px;paint-order:stroke fill;font-size:12px;font-weight:900}.empx-operation-wind-arrow-shape{fill:var(--indicator-attention-text);stroke:var(--indicator-attention-text);stroke-width:3px;stroke-linejoin:round}.empx-operation-wind text{fill:var(--indicator-attention-text);stroke:var(--surface-muted);stroke-width:5px;paint-order:stroke fill;font-size:14px;font-weight:900}.empx-operation-diagram small{margin-top:8px;display:block}.empx-drawing-placeholder{border:2px dashed var(--border-default);min-height:130px;color:var(--text-secondary);text-align:center;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:18px;display:flex}.empx-drawing-placeholder strong{color:var(--text-primary)}.empx-placeholder-grid .empx-drawing-placeholder:first-child:nth-last-child(3){grid-column:1/-1}.empx-bottom-actions{z-index:60;border:1px solid var(--border-default);background:color-mix(in srgb,var(--surface-main) 94%,transparent);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;align-items:center;gap:12px;margin-top:20px;padding:12px;display:flex;position:sticky;bottom:12px}.empx-bottom-actions button{align-items:center;gap:7px;display:inline-flex}.empx-bottom-actions span{color:var(--text-secondary);font-size:13px}.empx-list-header .add-button{align-items:center;gap:7px;text-decoration:none;display:inline-flex}.empx-search{border:1px solid var(--border-default);background:var(--surface-main);border-radius:13px;align-items:center;gap:8px;max-width:620px;margin-bottom:16px;padding:0 12px;flex-direction:row!important;display:flex!important}.empx-search input{width:100%;box-shadow:none;background:0 0;border:0}.empx-draft-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.empx-draft-card{border:1px solid var(--border-default);background:var(--surface-main);min-height:140px;color:var(--text-primary);text-align:left;border-radius:16px;flex-direction:column;align-items:flex-start;gap:10px;padding:18px;display:flex}.empx-draft-open{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;gap:7px;padding:0;display:flex}.empx-draft-card strong{font-size:19px}.empX-draft-delete{align-items:center;gap:6px;min-height:38px;margin-top:auto;padding:7px 11px;display:inline-flex}.empx-draft-card span,.empx-draft-card small{color:var(--text-secondary)}.empX-empty-state{text-align:center;grid-column:1/-1}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=1100px){.my-documents-grid,.empx-draft-list,.empX-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}.empX-grid-tug,.empx-line-counts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){html{overflow-x:hidden}.my-documents-grid,.empx-draft-list,.empx-passage-grid,.empx-tide-grid,.empx-tide-grid.columns-2,.empx-bridge-grid,.empx-bridge-grid.columns-2,.empx-mooring-grid,.empX-grid-two,.empX-grid-three,.empX-grid-four,.empx-signature-grid,.empx-placeholder-grid,.empx-operation-diagram-grid{grid-template-columns:1fr}.my-documents-box{min-height:170px;padding:22px}.empx-toolbar{top:calc(58px + env(safe-area-inset-top));white-space:nowrap;margin:0 -12px 14px;padding:8px 12px;overflow-x:auto}.empx-toolbar .empx-save-status{display:none}.empx-form-box{border-radius:14px;padding:14px}.empX-grid-tug{grid-template-columns:repeat(2,minmax(0,1fr))}.empx-tug-diagram-details{grid-template-columns:1fr}.empx-line-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.empx-clearance-row{grid-template-columns:1fr}.empx-clearance-row>*{grid-column:1!important}.empx-bottom-actions{bottom:calc(8px + env(safe-area-inset-bottom));flex-direction:column;align-items:flex-start}}@media (width<=390px){.empX-grid-tug,.empx-line-counts,.empx-clearance-row{grid-template-columns:1fr}.empx-clearance-row>*{grid-column:1!important}}.login-details-card{padding:18px}.login-details-list{gap:14px;margin-top:16px;display:grid}.login-detail-row{border:1px solid var(--border-card);background:var(--surface-raised);border-radius:16px;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.2fr) minmax(220px,auto);align-items:center;gap:18px;padding:18px;display:grid}.login-detail-row.inactive{opacity:.62}.login-detail-heading{align-items:flex-start;gap:12px;display:flex}.login-detail-heading h2{margin:0 0 7px;font-size:1.05rem}.login-detail-icon{width:42px;height:42px;color:var(--accent-primary);background:var(--surface-button-neutral);border-radius:12px;flex:none;place-items:center;display:grid}.login-detail-row dl{gap:8px;margin:0;display:grid}.login-detail-row dl div{grid-template-columns:82px minmax(0,1fr);gap:10px;display:grid}.login-detail-row dt{color:var(--text-secondary);font-size:.84rem}.login-detail-row dd{overflow-wrap:anywhere;min-width:0;margin:0}.login-password{letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.login-detail-actions{grid-template-columns:repeat(2,minmax(120px,1fr));gap:8px;display:grid}.login-detail-actions button,.login-detail-actions a{justify-content:center;align-items:center;gap:7px;min-height:42px;text-decoration:none;display:inline-flex}.login-copy-message{color:var(--success);background:var(--success-soft);border-radius:10px;margin-top:12px;padding:10px 13px;font-weight:800}@media (width<=850px){.login-details-card{padding:12px}.login-detail-row{grid-template-columns:1fr;padding:15px}.login-detail-actions{grid-template-columns:1fr}.login-detail-actions button,.login-detail-actions a{width:100%;min-height:48px}}.operational-notices-button{border:1px solid var(--border-subtle);background:var(--surface-raised);min-height:34px;color:var(--text-primary);font:inherit;cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:7px 12px;font-size:.84rem;font-weight:700;display:inline-flex}.operational-notices-button:hover{border-color:var(--accent-primary)}.operational-notices-button.has-urgent{color:#b91c1c;border-color:#dc2626}.operational-notices-alert-dot{background:#dc2626;border-radius:50%;flex:0 0 9px;width:9px;height:9px;box-shadow:0 0 0 3px #dc262624}.operational-notices-backdrop{z-index:1200;justify-content:flex-end;align-items:stretch}.operational-notices-panel{background:var(--surface-modal-alt);width:min(620px,100%);height:100%;color:var(--text-primary);padding:22px;overflow-y:auto;box-shadow:-12px 0 32px #0f172a38}.operational-notices-header,.operational-notices-toolbar,.operational-notice-card-header,.operational-notice-form-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.operational-notices-header{border-bottom:1px solid var(--border-subtle);padding-bottom:16px}.operational-notices-header h3,.operational-notice-card h4{margin:0}.operational-notices-header p,.operational-notice-meta,.operational-notices-empty{color:var(--text-secondary);margin:4px 0 0}.operational-notices-toolbar{justify-content:flex-start;margin:18px 0}.operational-notices-error{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;padding:10px 12px}.operational-notices-list{gap:12px;display:grid}.operational-notice-card{border:1px solid var(--border-subtle);border-left:4px solid var(--accent-primary);background:var(--surface-raised);border-radius:10px;padding:16px}.operational-notice-card.urgent{background:#dc26260a;border-left-color:#dc2626}.operational-notice-card-header{align-items:flex-start}.operational-notice-card-actions{flex-wrap:wrap;gap:8px;display:flex}.operational-notice-urgent-label{color:#b91c1c;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;font-size:.72rem;display:inline-block}.operational-notice-details{white-space:pre-wrap;margin:12px 0;line-height:1.5}.operational-notice-meta{font-size:.76rem;line-height:1.45}.operational-notice-form{border:1px solid var(--border-subtle);border-radius:10px;gap:14px;padding:16px;display:grid}.operational-notice-form label{gap:6px;font-weight:700;display:grid}.operational-notice-form input[type=text],.operational-notice-form input:not([type]),.operational-notice-form input[type=datetime-local],.operational-notice-form textarea{box-sizing:border-box;width:100%}.operational-notice-form textarea{resize:vertical}.operational-notice-form-row{grid-template-columns:auto minmax(220px,1fr);align-items:end;gap:18px;display:grid}.operational-notice-form .operational-notice-urgent-field{align-items:center;gap:8px;min-height:42px;display:flex}.operational-notice-form .operational-notice-urgent-field input{width:18px;height:18px}.operational-notice-form-actions{justify-content:flex-end}@media (width<=700px){.operational-notices-panel{width:100%;padding:16px}.operational-notice-card-header,.operational-notice-form-row{grid-template-columns:1fr}.operational-notice-card-header{display:grid}.operational-notice-card-actions{margin-top:8px}}.empx-workflow-progress{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 14px;display:grid}.empx-workflow-progress button{border:1px solid var(--border-default);background:var(--surface-main);min-height:46px;color:var(--text-secondary);justify-content:center;align-items:center;gap:8px;display:flex}.empx-workflow-progress button span{background:var(--surface-page);width:25px;height:25px;color:var(--text-primary);border-radius:50%;place-items:center;display:grid}.empx-workflow-progress button.active{border-color:var(--surface-navigation-active);background:var(--surface-navigation-active);color:var(--accent-on-primary)}.empx-workflow-progress button.active span{background:var(--accent-on-primary);color:var(--surface-navigation-active)}.empx-workflow-section{border:1px solid var(--border-default);background:var(--surface-main);box-shadow:var(--shadow-card);border-radius:16px;margin-bottom:12px;overflow:hidden}.empx-workflow-heading{background:var(--surface-main);width:100%;color:var(--text-primary);text-align:left;border:0;border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 18px;display:grid}.empx-workflow-heading>span:nth-child(2){gap:3px;display:grid}.empx-workflow-heading strong{font-size:18px}.empx-workflow-heading small{color:var(--text-secondary);font-size:13px;font-weight:600}.empx-workflow-number{background:var(--surface-navigation-active);width:32px;height:32px;color:var(--accent-on-primary);border-radius:9px;place-items:center;font-weight:900;display:grid}.empx-workflow-body{padding:0 18px 18px}.empx-subsection{border-top:1px solid var(--border-default);padding:18px 0}.empx-subsection:first-child{border-top:0}.empx-subsection>h3{color:var(--text-primary);margin:0 0 14px;font-size:17px}.empx-critical-choice{grid-template-columns:minmax(220px,320px) minmax(0,1fr);align-items:end;gap:14px;margin-bottom:14px;display:grid}.empx-critical-choice p{color:var(--text-secondary);margin:0 0 10px}.empx-passage-grid.without-critical{grid-template-columns:repeat(2,minmax(0,1fr))}.empx-workflow-actions{border-top:1px solid var(--border-default);justify-content:flex-end;padding-top:18px;display:flex}@media (width<=700px){.empx-workflow-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.empx-workflow-progress button{justify-content:flex-start}.empx-workflow-heading{padding:14px}.empx-workflow-body{padding:0 14px 14px}.empx-critical-choice{grid-template-columns:1fr}.empx-critical-choice p{margin:0}.empx-passage-grid.without-critical{grid-template-columns:1fr}.empx-workflow-actions button{width:100%}}.empx-timing-strip{grid-template-columns:minmax(150px,180px) minmax(115px,145px) minmax(165px,195px) minmax(140px,170px);justify-content:start;align-items:end;gap:12px;display:grid}.empx-timing-strip.with-critical{grid-template-columns:minmax(145px,170px) minmax(110px,135px) minmax(155px,180px) minmax(175px,200px) minmax(135px,160px)}.empx-timing-strip label{width:100%}@media (width<=760px){.empx-timing-strip,.empx-timing-strip.with-critical{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=420px){.empx-timing-strip,.empx-timing-strip.with-critical{grid-template-columns:1fr}}.empx-vessel-primary{grid-template-columns:minmax(260px,1.2fr) minmax(210px,.75fr) auto;align-items:end;gap:14px;display:grid}.empx-manual-details-toggle{white-space:nowrap;min-height:48px}.empx-vessel-manual-details{border:1px solid var(--border-default);background:var(--surface-page);border-radius:12px;grid-column:1/-1;padding:14px}.empx-vessel-manual-details .empx-field-guidance{margin:12px 0 0}.empx-field-guidance{color:var(--text-secondary);line-height:1.45}@media (width<=700px){.empx-vessel-primary{grid-template-columns:1fr}.empx-manual-details-toggle{width:100%}}.manual-empx-form label{align-content:end;gap:6px;min-width:0;display:grid}.manual-empx-form input:not([type=checkbox]):not([type=radio]),.manual-empx-form select,.manual-empx-form textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:48px;font:inherit;padding:10px 12px;line-height:1.25;display:block}.manual-empx-form select{height:48px;padding-top:9px;padding-bottom:9px}.empx-timing-strip,.empx-timing-strip.with-critical{grid-template-columns:repeat(4,minmax(0,1fr));justify-content:stretch;align-items:end;width:100%}@media (width<=800px){.empx-timing-strip,.empx-timing-strip.with-critical{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=420px){.empx-timing-strip,.empx-timing-strip.with-critical{grid-template-columns:1fr}}.empx-workflow-progress{grid-template-columns:repeat(6,minmax(0,1fr))}.empx-signatures-panel{border:2px solid var(--surface-navigation-active);background:var(--surface-main);box-shadow:var(--shadow-card);border-radius:16px;margin-bottom:14px;padding:18px}.empx-signatures-panel-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.empx-signatures-panel-heading h2,.empx-signatures-panel-heading p{margin:0}.empx-signatures-panel-heading p{color:var(--text-secondary);margin-top:4px}.empx-signature-warning{color:#5b3a00;background:#fff4cf;border:2px solid #d18b00;border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-bottom:14px;padding:14px 16px;display:grid}.empx-signature-warning strong{font-size:15px}.empx-signature-warning .secondary{min-height:38px;padding:7px 12px}[data-theme=dark] .empx-signature-warning{color:#ffe9a8;background:#3b2a05}.empx-output-details{border:1px solid var(--border-default);border-radius:12px;margin-top:14px}.empx-output-details>summary{cursor:pointer;color:var(--text-primary);padding:13px 14px;font-weight:800}.empx-output-details[open]>summary{border-bottom:1px solid var(--border-default)}.empx-output-details>.empx-subsection{margin:0 14px}@media (width<=1100px){.empx-workflow-progress{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=700px){.empx-workflow-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.empx-signatures-panel-heading{flex-direction:column;align-items:stretch}.empx-signature-warning{grid-template-columns:1fr;align-items:stretch}}@media (width<=1100px){.empx-timing-strip,.empx-timing-strip.with-critical{grid-template-columns:repeat(2,minmax(0,1fr))}.empx-timing-strip input[type=date],.empx-timing-strip input[type=time],.empx-timing-strip select{-webkit-min-logical-width:0;width:100%;min-width:0}}.empx-timing-strip{gap:16px 18px}.empx-timing-strip>label{min-width:0;min-inline-size:0;max-width:100%;max-inline-size:100%;padding:2px;overflow:hidden}.empx-timing-strip>label>input,.empx-timing-strip>label>select{width:100%!important;inline-size:100%!important;max-width:100%!important;max-inline-size:100%!important;min-width:0!important;min-inline-size:0!important}@media (width<=1100px){.empx-timing-strip,.empx-timing-strip.with-critical{grid-template-columns:calc(50% - 9px) calc(50% - 9px)}}@media (width<=420px){.empx-timing-strip,.empx-timing-strip.with-critical{grid-template-columns:100%}}.empx-timing-strip input[type=date],.empx-timing-strip input[type=time]{margin-right:8px;width:calc(100% - 8px)!important;inline-size:calc(100% - 8px)!important;max-width:calc(100% - 8px)!important;max-inline-size:calc(100% - 8px)!important}.empx-native-picker-control{box-sizing:border-box;border:1px solid var(--border-default);background:var(--surface-main);border-radius:10px;align-items:center;width:100%;min-width:0;min-height:48px;display:flex;overflow:hidden}.manual-empx-form .empx-native-picker-control>input[type=date],.manual-empx-form .empx-native-picker-control>input[type=time]{min-height:46px;display:block;width:100%!important;inline-size:100%!important;max-width:100%!important;max-inline-size:100%!important;min-width:0!important;min-inline-size:0!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;margin:0!important}.empx-native-picker-field:focus-within .empx-native-picker-control{outline:2px solid var(--surface-navigation-active);outline-offset:1px}.berth-access-section{border:1px solid var(--border,#d8dee8);background:var(--surface-soft,#f7f9fc);border-radius:12px;margin-top:18px;padding:16px}.berth-access-section h3{margin:0 0 12px}.berth-directions-button{color:#fff;background:#1f6feb;border-radius:9px;align-items:center;gap:7px;width:fit-content;margin-top:12px;padding:10px 14px;font-weight:700;text-decoration:none;display:inline-flex}.berth-directions-button:hover{color:#fff;background:#1859bd}.berth-directions-button:focus-visible{outline-offset:2px;outline:3px solid #1f6feb4d}.tides-dataset-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.tides-dataset-slot{border:1px solid var(--border-default);background:var(--surface-page);border-radius:12px;gap:5px;min-width:0;padding:13px;display:grid}.tides-dataset-slot>span,.tides-dataset-slot>small{color:var(--text-secondary)}.tides-dataset-slot>small.approved{color:var(--success);font-weight:800}@media (width<=900px){.tides-dataset-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.tides-dataset-slots{grid-template-columns:1fr}}
