:root{--navy:#0b2545;--navy-2:#13315c;--danger:#b03a2e;--green:#2f8f56}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.4}.theme-day{--bg:#fafaf7;--surface:#fff;--card:#fff;--card-bg:#fff;--panel-bg:#fff;--border-subtle:#eef1f4;--warn-bg:#fff7d6;--warn-border:#d4b14a;--warn-text:#1a1a1a;--ink:#1a1a1a;--muted:#6b7280;--line:#d8d4cb;--header-bg:#0b2545;--header-ink:#fff;--rail-bg:#f1ede4;--rail-ink:#1a1a1a;--rail-active-bg:#fff;--th-bg:#f3efe7;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.theme-night{--bg:#0a1626;--surface:#11233b;--card:#11233b;--card-bg:#11233b;--panel-bg:#11233b;--border-subtle:#20374f;--warn-bg:#3a2f14;--warn-border:#8b6a2b;--warn-text:#f6e5c0;--ink:#e8eef6;--muted:#8ba0b8;--line:#20374f;--header-bg:#060e1a;--header-ink:#e8eef6;--rail-bg:#0c1a2c;--rail-ink:#c4d3e4;--rail-active-bg:#18304b;--th-bg:#16293f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.theme-night-royal{--bg:#0c2a64;--surface:#0a2456;--card:#0a2456;--card-bg:#0a2456;--panel-bg:#0a2456;--border-subtle:#1a4ca0;--warn-bg:#3d3a15;--warn-border:#a37a2f;--warn-text:#ffe8b0;--ink:#fff;--muted:#a8c8e6;--line:#3899c6;--header-bg:#163f8e;--header-ink:#fff;--rail-bg:#0c2a64;--rail-ink:#5fcde8;--rail-active-bg:#1a4ca0;--th-bg:#163f8e}.app{background:var(--bg);height:100vh;color:var(--ink);flex-direction:column;display:flex;overflow:hidden}.app-header{background:var(--header-bg);color:var(--header-ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 1.25rem;display:flex}.brand{align-items:center;gap:.75rem;display:flex}.brand-mark{font-size:1.5rem}.brand-logo{width:auto;height:2.4rem}.brand-sub{color:#b8c5d6;font-size:.72rem;font-weight:400;display:block}.header-controls{align-items:center;gap:.6rem;display:flex}.pilot-id{text-align:right;line-height:1.15;font:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:flex-end;margin-right:.4rem;padding:0;display:flex}.pilot-id:hover .pilot-name{text-decoration:underline}.pilot-id .pilot-name{color:var(--header-ink);font-size:.9rem;font-weight:600}.pilot-id .pilot-pin{color:#ffffffb3;letter-spacing:.04em;font-size:.78rem}.sync-btn,.theme-btn{color:var(--header-ink);cursor:pointer;font:inherit;background:#ffffff1f;border:1px solid #ffffff40;border-radius:6px;padding:.4rem .8rem}.sync-btn:hover,.theme-btn:hover{background:#ffffff38}.view-as-picker{color:var(--header-ink);font:inherit;cursor:pointer;appearance:none;background:#ffffff1f;border:1px solid #ffffff40;border-radius:6px;max-width:14rem;padding:.4rem .7rem}.view-as-picker:hover{background:#ffffff38}.view-as-stop{background:var(--accent,#d6993f);color:#fff;cursor:pointer;font:inherit;border:1px solid #0000;border-radius:6px;padding:.4rem .8rem;font-weight:600}.view-as-stop:hover{filter:brightness(1.1)}.view-as-banner{color:#5c3b00;background:#fff4d4;border-bottom:1px solid #d6993f;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 1.2rem;font-size:.92rem;display:flex}.theme-night .view-as-banner{color:#ffe9b6;background:#4a360c;border-bottom-color:#d6993f}.view-as-banner .muted{opacity:.7}.view-as-banner-stop{color:#fff;font:inherit;cursor:pointer;background:#d6993f;border:1px solid #0000;border-radius:6px;padding:.35rem .9rem;font-weight:600}.view-as-banner-stop:hover{filter:brightness(1.1)}.status{border-radius:999px;padding:.25rem .7rem;font-size:.8rem}.status.online{color:#b6f0c9;background:#2f8f564d}.status.offline{color:#ffd9b3;background:#c97b3e4d}.app-body{flex:1;min-height:0;display:flex;overflow:hidden}.rail{background:var(--rail-bg);border-right:1px solid var(--line);flex-direction:column;gap:.25rem;min-width:200px;padding:.75rem;display:flex;overflow-y:auto}.rail button{text-align:left;color:var(--rail-ink);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:6px;padding:.6rem .8rem}.rail button:hover{background:var(--rail-active-bg)}.rail button.active{background:var(--rail-active-bg);border-color:var(--line);font-weight:600}.rail-group{flex-direction:column;gap:.25rem;display:flex}.rail button.sub{border-left:2px solid var(--line);border-radius:0 6px 6px 0;margin-left:.9rem;padding-left:.7rem;font-size:.92em}.app-main{flex:1;width:100%;max-width:1100px;min-height:0;padding:.6rem 1.5rem 1.5rem;overflow-y:auto}.view{flex-direction:column;gap:.6rem;display:flex}.view h2{margin:.2rem 0 0}.view-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.view-header h2,.view-header h3{margin:0}.view-title{align-items:center;gap:.55rem;display:flex}.help-link{border:1px solid var(--color-border,#c8cdd4);background:var(--color-card-bg,#fff);width:1.4rem;height:1.4rem;color:var(--color-muted,#6b7480);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.85rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.help-link:hover,.help-link:focus-visible{background:var(--color-primary,#2563eb);border-color:var(--color-primary,#2563eb);color:#fff;outline:none}.help-overlay{z-index:60;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);background:#0000008c;justify-content:center;align-items:stretch;display:flex;position:fixed;inset:0}.help-overlay-panel{background:var(--card-bg,#fff);border-radius:12px;flex-direction:column;width:min(900px,100%);margin:16px;display:flex;overflow:hidden;box-shadow:0 12px 40px #00000059}.help-overlay-panel.move-thread-modal{align-self:center;width:min(380px,100%);max-height:calc(100vh - 32px)}.help-overlay-header{border-bottom:1px solid var(--line,#e3e6ea);background:var(--panel-bg,#f6f7f9);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.help-overlay-close{padding:6px 14px;font-weight:600}.help-overlay-frame{background:var(--card-bg,#fff);border:0;flex:1;width:100%;min-height:0}.feedback-mic-row{align-items:center;gap:8px;margin-top:6px;display:flex}h3,h4{margin:.5rem 0 0}.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:.6rem;padding:1.1rem;display:flex}.card.caveat{background:#e0922f14;border-color:#e0922f}.muted{color:var(--muted)}.small{font-size:.85rem}label{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.82rem;font-weight:500;display:flex}.inline-field{flex-direction:row;align-items:center;gap:.5rem}input[type=text],input[type=number],select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;min-height:36px;padding:.45rem .6rem}button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:6px;min-height:36px;padding:.5rem .9rem}button.primary{background:var(--navy);color:#fff;border-color:var(--navy)}button.danger{color:var(--danger)}.status-banner{background:var(--surface);border:1px solid var(--line);border-left-width:6px;border-radius:8px;align-items:center;gap:.9rem;padding:.9rem 1rem;display:flex}.status-pill{color:#fff;white-space:nowrap;border-radius:999px;padding:.25rem .7rem;font-size:.78rem;font-weight:700}.narrative{font-size:.95rem}.metric-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;display:grid}.metric{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:8px;padding:.9rem}.metric-value{color:var(--navy);font-size:1.8rem;font-weight:700}.theme-night .metric-value{color:#7fb0e8}.metric-label{color:var(--muted);margin-top:.25rem;font-size:.75rem}.breach-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.breach{background:var(--bg);border-left:4px solid;border-radius:4px;padding:.55rem .75rem;font-size:.9rem}.breach-rule{color:var(--muted);margin-right:.5rem;font-family:ui-monospace,Menlo,monospace;font-size:.72rem;display:inline-block}.toast{background:var(--navy);color:#fff;z-index:10000;border-radius:8px;max-width:90vw;padding:.7rem 1.1rem;font-size:.95rem;font-weight:500;animation:.25s ease-out toast-slide-in;position:fixed;top:5.5rem;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #00000040}@keyframes toast-slide-in{0%{opacity:0;transform:translate(-50%,-1rem)}to{opacity:1;transform:translate(-50%)}}.table{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:8px;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:.55rem .8rem}.table th{background:var(--th-bg);z-index:2;box-shadow:inset 0 -1px 0 var(--line);font-size:.82rem;font-weight:600;position:sticky;top:0}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{background:#0b25450d}.table tr:last-child td{border-bottom:none}.mono{font-family:ui-monospace,Menlo,monospace;font-size:.9em}.wp-list-table .wp-list-coord{white-space:nowrap}.notes{color:var(--muted);max-width:280px;font-size:.9em}.actions{justify-content:flex-end;gap:.4rem;display:flex}.editor{gap:.85rem}.editor-actions{justify-content:flex-end;gap:.5rem;display:flex}.latlon-input{align-items:center;gap:.4rem;display:inline-flex}.latlon-input input{width:6rem}.unit{color:var(--muted);font-weight:600}.grid-2{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.span-2{grid-column:span 2}.ordered-waypoints{counter-reset:wp;flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.ordered-waypoints li{background:var(--bg);border:1px solid var(--line);counter-increment:wp;border-radius:6px;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .7rem;display:flex}.ordered-waypoints li:before{content:counter(wp);color:var(--navy);background:var(--surface);border:1px solid var(--line);border-radius:999px;flex:none;place-items:center;width:1.5rem;height:1.5rem;font-size:.8rem;font-weight:700;display:inline-grid}.theme-night .ordered-waypoints li:before{color:#7fb0e8}.ordered-waypoints .wp-name{flex:1;font-weight:600}.row-actions{gap:.25rem;display:flex}.row-actions button{min-height:30px;padding:.15rem .5rem;font-size:.85rem}.table tr.selected{background:#c97b3e1f}.subtabs{border-bottom:1px solid var(--line);gap:.25rem;margin-top:.5rem;display:flex}.subtabs button{color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:.5rem .9rem}.subtabs button.active{color:var(--ink);border-bottom-color:var(--navy);font-weight:600}.theme-night .subtabs button.active{border-bottom-color:#7fb0e8}.docs-note{box-sizing:border-box;resize:vertical;width:100%;font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:6px;padding:.5rem .6rem}.docs-status{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.docs-status li{grid-template-columns:1.2rem minmax(8rem,max-content) 1fr;align-items:baseline;gap:.5rem;display:grid}.docs-status .docs-mark{text-align:center;font-weight:700}.docs-status li.done .docs-mark{color:#2e8b57}.docs-status li.pending .docs-mark{color:var(--muted)}.docs-status .docs-label{font-weight:600}@media (width<=760px){.docs-status li{grid-template-columns:1.2rem 1fr}.docs-status .docs-detail{grid-column:2}}.monitor-scroll{overflow:visible}.monitor-table{table-layout:fixed;width:100%;min-width:640px}.monitor-table th,.monitor-table td{padding:.35rem .5rem;font-size:.88rem}.monitor-table thead th{z-index:3;background:var(--th-bg);box-shadow:inset 0 -1px 0 var(--line);position:sticky;top:0}.cell-input{width:100%;min-width:7rem;min-height:30px;padding:.2rem .35rem;font-size:.82rem}.range-tool{margin-top:.5rem}.range-selects{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.range-reset{font:inherit;border:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:.35rem .9rem;font-size:.85rem}.range-reset:hover{background:#0000000d}.official-note{color:var(--accent,#c97b3e);font-weight:600}.swings-table{table-layout:fixed;width:100%}.swings-table .sw-c-num{width:6%}.swings-table .sw-c-rested{width:8%}.swings-table .sw-c-date{width:11%}.swings-table .sw-c-days{width:8%}.swings-table .sw-c-pts{width:6%}.swings-table .sw-c-area{width:5%}.swings-table .sw-c-notes{width:25%}.swings-table th,.swings-table td{padding:.4rem .55rem;font-size:.86rem}.swings-table th{text-align:center}.swings-table .totals-row th{background:var(--navy);color:#fff;text-align:center;z-index:3;box-shadow:none;padding:.3rem .55rem;font-weight:700;top:0}.swings-table .labels-row th{z-index:2;top:1.85rem}.swings-table .row-click{cursor:pointer}.swings-table .row-click:hover td{background:#c97b3e14}.notes-edit{width:100%;min-height:2.4rem;font:inherit;border:1px solid var(--navy);resize:vertical;background:var(--surface);color:var(--ink);border-radius:4px;padding:.2rem .35rem;font-size:.82rem}.add-note{color:var(--muted);opacity:.55;font-style:italic}.swing-pilotages{table-layout:fixed;width:100%}.swing-pilotages th{white-space:normal;word-break:break-word}.swing-pilotages td{word-break:break-word}.swing-pilotages .col-consec{width:9%}.swing-pilotages .col-ship{width:21%}.swing-pilotages .col-time{width:17%}.swing-pilotages .col-area,.swing-pilotages .col-vtype{width:13%}.swing-pilotages .col-pts{width:10%}.swing-pilotages .col-cum{width:9.5%}.swing-pilotages .dt-line{white-space:nowrap}.swing-pilotages .row-click{cursor:pointer}.swing-pilotages .row-click:hover td{background:#c97b3e14}.loc-line{color:var(--muted);margin-top:.15rem;font-size:.95em}.swing-top{flex-wrap:wrap;align-items:stretch;gap:.6rem;display:flex}.swing-top .swing-hdr{flex:320px}.readiness{text-align:center;flex-direction:column;flex:0 230px;justify-content:center;align-items:center;gap:.5rem;display:flex}.readiness-badge{letter-spacing:.02em;color:#fff;white-space:nowrap;border-radius:8px;padding:.45rem 1.1rem;font-size:1.05rem;font-weight:700;display:inline-block}.readiness-reason{color:var(--muted);font-size:.82rem;line-height:1.3}.readiness-ok .readiness-badge{background:#2e9e44}.readiness-amber .readiness-badge{background:#d68a0c}.readiness-red .readiness-badge{background:#d33125}.integrity-banner{color:#8a4b1d;background:#fdf0e6;border:1px solid #e6a877;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;padding:.5rem .8rem;font-size:.9rem;display:flex}.integrity-actions{flex-shrink:0;gap:.5rem;display:flex}.integrity-banner button{font:inherit;cursor:pointer;color:#fff;background:#c97b3e;border:1px solid #c97b3e;border-radius:6px;padding:.25rem .7rem;font-size:.85rem}.integrity-banner .link-btn{color:#8a4b1d;background:0 0;border-color:#0000;text-decoration:underline}.modal-overlay{z-index:50;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--card-bg,#fff);color:inherit;border-radius:10px;width:min(620px,100%);max-height:80vh;padding:1.2rem 1.4rem;overflow-y:auto;box-shadow:0 12px 40px #0000004d}.modal h3{margin:0 0 .4rem}.orphan-list{flex-direction:column;gap:.4rem;margin:.8rem 0;padding:0;list-style:none;display:flex}.orphan-list li{border:1px solid var(--line);border-radius:6px;align-items:flex-start;gap:.6rem;padding:.5rem .6rem;display:flex}.orphan-open{font:inherit;text-align:left;color:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:flex-start;gap:.15rem;padding:0;display:flex}.orphan-open:hover .orphan-label{text-decoration:underline}.orphan-label{font-weight:600}.orphan-reasons{color:#8a4b1d;font-size:.85rem}.modal-actions{justify-content:flex-end;gap:.6rem;margin-top:.8rem;display:flex}.modal-actions button{font:inherit;cursor:pointer;border:1px solid var(--line);color:inherit;background:0 0;border-radius:6px;padding:.4rem 1rem}.modal-actions .danger{color:#fff;background:#d33125;border-color:#d33125}.modal-actions .danger:disabled{opacity:.5;cursor:not-allowed}.passing-warning-backdrop{z-index:2000;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.passing-warning{background:var(--surface,#fff);color:var(--text);border-left:4px solid #e67e22;border-radius:8px;width:100%;max-width:28rem;padding:1.2rem 1.4rem;box-shadow:0 12px 32px #00000040}.passing-warning h3{color:#e67e22;margin:0 0 .4rem;font-size:1.05rem}.passing-warning p{margin:0 0 .7rem;line-height:1.4}.passing-warning-times{border-collapse:collapse;width:100%;margin:.5rem 0;font-size:.95rem}.passing-warning-times th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;width:8rem;padding:.25rem .6rem .25rem 0;font-size:.82rem;font-weight:600}.passing-warning-times td{padding:.25rem 0}.passing-warning .modal-actions .primary{color:#fff;background:#e67e22;border-color:#e67e22}.readiness-chip-wrap{margin-right:.2rem;display:inline-flex;position:relative}.readiness-chip{font:inherit;color:#fff;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .7rem;font-size:.85rem;font-weight:600;display:inline-flex}.readiness-dot{background:#ffffffe6;border-radius:50%;flex:none;width:8px;height:8px}.readiness-ok .readiness-chip{background:#2e9e44}.readiness-amber .readiness-chip{background:#d68a0c}.readiness-red .readiness-chip{background:#d33125}.readiness-pop{z-index:40;background:var(--card,#fff);border:1px solid var(--line);text-align:left;border-radius:8px;flex-direction:column;gap:.3rem;width:max-content;max-width:min(360px,80vw);padding:.6rem .75rem;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 6px 22px #0000002e}.readiness-pop-label{font-size:.9rem;font-weight:700}.readiness-ok .readiness-pop-label{color:#2e9e44}.readiness-amber .readiness-pop-label{color:#d68a0c}.readiness-red .readiness-pop-label{color:#d33125}.readiness-pop-reason{color:var(--muted);font-size:.85rem;line-height:1.35}.pilot-captain,.pilot-nav-officer{align-items:baseline;gap:.35rem;display:flex}.pilot-captain .capt-prefix,.pilot-nav-officer .capt-prefix{color:var(--muted);font-size:.95rem}.pilot-captain .capt-input,.pilot-nav-officer .capt-input{font:inherit;color:inherit;background:0 0;border:none;min-width:220px;padding:0;font-size:1rem;font-weight:600}.pilot-captain .capt-input:focus,.pilot-nav-officer .capt-input:focus{border-bottom:1px solid var(--line);outline:none}.pilot-captain .capt-email,.pilot-nav-officer .capt-email{font:inherit;color:var(--muted);background:0 0;border:none;min-width:16.8rem;margin-left:1rem;padding:0;font-size:.95rem}.pilot-captain .capt-email:focus,.pilot-nav-officer .capt-email:focus{color:inherit;border-bottom:1px solid var(--line);outline:none}.pilot-captain .capt-mail-btn,.pilot-nav-officer .capt-mail-btn{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:.4rem;justify-content:center;align-items:center;min-width:2.2rem;min-height:2.2rem;margin-left:.4rem;padding:.2rem .5rem;font-size:1.5rem;line-height:1;text-decoration:none;display:inline-flex}.pilot-captain .capt-mail-btn:hover,.pilot-nav-officer .capt-mail-btn:hover{background:var(--th-bg)}.pilot-captain .capt-mail-btn--disabled,.pilot-nav-officer .capt-mail-btn--disabled{opacity:.55;cursor:not-allowed}.pilot-captain .capt-mail-btn--disabled:hover,.pilot-nav-officer .capt-mail-btn--disabled:hover{background:0 0}.cruise-officers-row{grid-template-columns:1fr 1fr;align-items:baseline;gap:.75rem 1.5rem;margin:.75rem 0 1rem;display:grid}.cruise-officers-row .pilot-captain,.cruise-officers-row .pilot-nav-officer{flex-wrap:nowrap;min-width:0}.cruise-officers-row .capt-prefix{white-space:nowrap;flex:0 0 3.5rem}.cruise-officers-row .capt-name-wrap{flex:2 1 0;min-width:0}.cruise-officers-row .capt-input{flex:2 1 0;width:100%;min-width:0}.cruise-officers-row .capt-email{flex:3 1 0;min-width:0;margin-left:.5rem}@media (width<=900px){.cruise-officers-row{grid-template-columns:1fr}}.board-depart{align-items:flex-start;gap:1rem;margin-top:1rem;display:flex}.board-depart .bd-col{border:1px solid var(--line);border-radius:8px;flex:1;min-width:0;padding:.8rem .9rem}.board-depart .bd-col h4{text-transform:uppercase;letter-spacing:.04em;color:var(--navy);border-bottom:1px solid var(--line);margin:0 0 .7rem;padding-bottom:.3rem;font-size:.8rem}.theme-night .board-depart .bd-col h4{color:#7fb0e8}.bd-line{align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.bd-line:last-child{margin-bottom:0}.bd-line .lbl{text-transform:uppercase;letter-spacing:.03em;width:104px;color:var(--muted);flex-shrink:0;font-size:.74rem;line-height:1.05}.bd-line .bd-loc{font-size:.95rem;font-weight:600}.rail-badge{color:#fff;text-align:center;vertical-align:middle;background:#c0392b;border-radius:999px;min-width:1rem;margin-left:.5rem;padding:.05rem .4rem;font-size:.7rem;font-weight:700;line-height:1.2;display:inline-block}.feedback-pane-bar{flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem;display:flex}.feedback-pane-btn{background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:4px;align-items:center;gap:.4rem;padding:.4rem .9rem;font-size:.92rem;display:inline-flex}.feedback-pane-btn.active{background:var(--accent,#2563eb);color:#fff;border-color:var(--accent,#2563eb)}.feedback-pane-swatch{border-radius:50%;width:.6rem;height:.6rem;display:inline-block}.feedback-pane-count{opacity:.7;background:#ffffff26;border-radius:8px;padding:0 .3rem;font-size:.82rem}.feedback-pane-btn:not(.active) .feedback-pane-count{background:#00000014}.feedback-pane-unread{color:#fff;background:#c0392b;border-radius:999px;justify-content:center;align-items:center;min-width:1.1rem;height:1.1rem;padding:0 .35rem;font-size:.78rem;font-weight:700;line-height:1;display:inline-flex}.feedback-reply-preview{text-overflow:ellipsis;white-space:nowrap;max-width:32rem;color:var(--muted);overflow:hidden}.feedback-list-cta td{border-top:0;padding-top:.6rem}.feedback-list-cta .link-button{color:var(--accent,#2563eb);cursor:pointer;background:0 0;border:none;padding:.2rem 0;font-size:.92rem}.feedback-list-cta .link-button:hover{text-decoration:underline}.direct-pane{flex-direction:column;min-height:0;display:flex}.direct-pane-picker{max-width:24rem;margin-bottom:.6rem}.direct-pane-picker select{font-size:.95rem}.direct-pane-threads{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.direct-thread-accordion{border:1px solid var(--line);background:var(--card,#fff);border-radius:6px}.direct-thread-summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.6rem;padding:.55rem .8rem;display:flex}.direct-thread-peer-name{font-weight:600}.direct-thread-summary.has-unread .direct-thread-peer-name{color:var(--accent,#0b2545)}.direct-thread-unread-dot{background:var(--color-danger,#c0392b);border-radius:50%;width:8px;height:8px}.direct-thread-last-time{white-space:nowrap;margin-left:auto}.direct-thread-body{border-top:1px solid var(--line);padding:.5rem .8rem .8rem}.chitchat-pane{flex-direction:column;height:calc(100vh - 16rem);min-height:24rem;display:flex}.chitchat-stream{flex:auto;padding:.4rem .2rem .8rem;overflow-y:auto}.chitchat-unread-banner{color:var(--text);background:#e67e221f;border-left:3px solid #e67e22;border-radius:4px;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.5rem;padding:.5rem .9rem;font-size:.9rem;display:flex}.chitchat-unread-banner button{color:#e67e22;cursor:pointer;background:0 0;border:1px solid #e67e22;border-radius:4px;padding:.2rem .7rem;font-size:.85rem}.chitchat-unread-banner button:hover{color:#fff;background:#e67e22}.chitchat-empty{text-align:center;margin:2rem 0}.chitchat-day-sep{color:var(--muted);align-items:center;gap:.8rem;margin:1rem 0 .8rem;font-size:.82rem;display:flex}.chitchat-day-sep:before,.chitchat-day-sep:after{content:"";background:var(--line);flex:1;height:1px}.chitchat-group{gap:.7rem;margin-bottom:.9rem;display:flex}.chitchat-avatar{color:#fff;text-transform:uppercase;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;font-size:.82rem;font-weight:700;display:flex}.chitchat-group-content{flex:auto;min-width:0}.chitchat-head{align-items:baseline;gap:.6rem;margin-bottom:.3rem;display:flex}.chitchat-bubble{background:#0000000b;border-radius:10px;max-width:42rem;margin-bottom:.3rem;padding:.55rem .85rem;font-size:.96rem}.chitchat-bubble-wrap{flex-wrap:wrap;align-items:flex-start;gap:.4rem;margin-bottom:.3rem;display:flex;position:relative}.chitchat-bubble-wrap .chitchat-bubble{margin-bottom:0}.chitchat-msg-trigger{color:var(--muted);cursor:pointer;opacity:.4;background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-self:center;align-items:center;width:1.6rem;height:1.6rem;padding:0;font-size:1.05rem;line-height:1;display:inline-flex}.chitchat-bubble-wrap:hover .chitchat-msg-trigger{opacity:1}.chitchat-msg-trigger:hover{background:var(--surface);border-color:var(--line)}.chitchat-msg-menu{z-index:100;background:var(--surface);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:.15rem;min-width:8rem;padding:.3rem;display:flex;position:absolute;top:1.8rem;right:-.2rem;box-shadow:0 6px 16px #00000026}.chitchat-msg-menu button{text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.45rem .7rem;font-size:.92rem}.chitchat-msg-menu button:hover{background:#0000000f}.chitchat-msg-menu button.is-destructive{color:#c0392b}.chitchat-msg-menu button.is-destructive:hover{color:#fff;background:#c0392b}.chitchat-msg-reactions-strip{border-bottom:1px solid var(--line);justify-content:space-between;gap:.15rem;margin-bottom:.15rem;padding:.15rem;display:flex}.chitchat-msg-reactions-strip button{cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;padding:.3rem .35rem;font-size:1.15rem;line-height:1}.chitchat-msg-reactions-strip button:hover{background:#00000014;transform:scale(1.15)}.chitchat-reactions{flex-wrap:wrap;gap:.3rem;width:100%;margin-top:.1rem;display:flex}.chitchat-reaction-pill{cursor:pointer;background:#0000000d;border:1px solid #0000;border-radius:999px;align-items:center;gap:.25rem;padding:.15rem .55rem;font-size:.85rem;line-height:1.4;display:inline-flex}.chitchat-reaction-pill:hover{background:#00000017}.chitchat-reaction-pill.is-mine{border-color:var(--accent,#2563eb);color:var(--accent,#2563eb);background:#2563eb1f}.chitchat-reaction-pill.is-mine .chitchat-reaction-count{font-weight:600}.chitchat-reaction-emoji{font-size:.95rem}.chitchat-edited{font-size:.78rem;font-style:italic}.chitchat-bubble-wrap.is-reply{border-left:2px solid var(--line);flex-wrap:wrap;margin-left:1.4rem;padding-left:.7rem}.chitchat-reply-quote{width:100%;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.2rem;font-size:.78rem;overflow:hidden}.chitchat-reply-quote-text{font-style:italic}.chitchat-reply-arrow{margin-right:.15rem;font-weight:700}.chitchat-compose-reply{border-left:3px solid var(--accent,#2563eb);color:var(--text);background:#0000000b;border-radius:4px;align-items:center;gap:.5rem;margin-bottom:.4rem;padding:.4rem .7rem;font-size:.85rem;display:flex}.chitchat-compose-reply>:first-child,.chitchat-compose-reply>span,.chitchat-compose-reply>strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chitchat-compose-reply-cancel{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;margin-left:auto;padding:.1rem .3rem;font-size:1.1rem;line-height:1}.chitchat-compose-reply-cancel:hover{background:var(--surface);color:var(--text)}.chitchat-bubble-editor{min-width:30rem;max-width:100%}.chitchat-bubble-editor textarea{resize:vertical;border:1px solid var(--line);background:var(--surface);width:100%;min-width:30rem;color:var(--text);border-radius:5px;padding:.4rem .55rem;font-family:inherit;font-size:.96rem}.chitchat-bubble:has(.chitchat-bubble-editor){max-width:min(63rem,100vw - 4rem)}.chitchat-bubble-editor-actions{justify-content:flex-end;gap:.4rem;margin-top:.4rem;display:flex}.chitchat-body{white-space:pre-wrap;word-wrap:break-word;line-height:1.45}.chitchat-compose{border-top:1px solid var(--line);margin-top:.4rem;padding:.7rem .2rem 0}.chitchat-input-row{align-items:flex-end;gap:.6rem;display:flex}.chitchat-input-row textarea{resize:vertical;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:6px;flex:auto;padding:.55rem .75rem;font-family:inherit;font-size:.95rem}.chitchat-input-actions{flex-direction:column;align-items:stretch;gap:.4rem;display:flex}.chitchat-input-actions input[type=file]{max-width:8rem;font-size:.8rem}.chitchat-input-actions .mic-ta-btn{align-self:flex-start;padding:.3rem .7rem;font-size:.85rem;position:static}.feedback-list-header{justify-content:flex-end;margin-bottom:.7rem;display:flex}.feedback-row-actions{text-align:right;width:4rem}.feedback-delete-btn{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;padding:.2rem .55rem;font-size:.82rem}.feedback-delete-btn:hover{color:#fff;background:#c0392b;border-color:#c0392b}.feedback-list{border-collapse:collapse;width:100%;font-size:.92rem}.feedback-list th,.feedback-list td{text-align:left;border-bottom:1px solid var(--line);padding:.5rem .6rem}.feedback-list th{background:var(--th-bg);font-weight:600}.feedback-row.is-clickable{cursor:pointer}.feedback-row.is-clickable:hover{background:var(--surface-hover,#0000000a)}.feedback-row.is-unread td:first-child{font-weight:600}.feedback-unread-dot{vertical-align:middle;background:#c0392b;border-radius:50%;width:.5rem;height:.5rem;margin-right:.4rem;display:inline-block}.feedback-category-badge{color:#fff;text-transform:uppercase;border-radius:4px;padding:.1rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.feedback-status-pill{color:#fff;white-space:nowrap;border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:600;display:inline-block}.feedback-status-pill-select{appearance:none;cursor:pointer;text-transform:none;letter-spacing:0;background-image:linear-gradient(45deg,#0000 50%,#fff 50%),linear-gradient(135deg,#fff 50%,#0000 50%);background-position:calc(100% - .55rem) 55%,calc(100% - .3rem) 55%;background-repeat:no-repeat;background-size:.25rem .25rem,.25rem .25rem;border:0;padding-right:1.25rem}.feedback-meta{flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem;display:flex}.feedback-admin-controls{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.6rem;padding:.6rem .8rem;display:flex}.feedback-admin-controls .lbl{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.85rem}.feedback-status-btn{background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:4px;padding:.25rem .6rem;font-size:.85rem}.feedback-status-btn:hover:not(:disabled){background:var(--surface-hover,#0000000a)}.feedback-status-btn.active{background:var(--accent,#2563eb);border-color:var(--accent,#2563eb);color:#fff}.feedback-context-toggle{text-align:left;width:100%;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:.3rem 0;font-size:.9rem}.feedback-context{background:var(--bg);white-space:pre-wrap;color:var(--ink);border-radius:4px;margin:.3rem 0 0;padding:.6rem .8rem;font-size:.78rem;overflow-x:auto}.feedback-events{flex-direction:column;gap:.7rem;margin:.8rem 0;display:flex}.feedback-event-message{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:.7rem .9rem}.feedback-event-message.is-mine{background:var(--accent-bg,#2563eb14);border-color:var(--accent,#2563eb)}.feedback-msg-head{justify-content:space-between;margin-bottom:.3rem;display:flex}.feedback-msg-body{white-space:pre-wrap;font-size:.95rem}.feedback-msg-images{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.feedback-msg-images img{border:1px solid var(--line);cursor:zoom-in;border-radius:4px;max-width:320px;max-height:240px}.feedback-event-status{text-align:center;padding:.3rem 0}.feedback-reply{padding:.8rem 1rem}.feedback-image-strip{flex-wrap:wrap;gap:.5rem;margin:.5rem 0;display:flex}.feedback-image-thumb{position:relative}.feedback-image-thumb img{object-fit:cover;border:1px solid var(--line);border-radius:4px;width:100px;height:100px}.feedback-image-thumb button{color:#fff;cursor:pointer;background:#c0392b;border:0;border-radius:50%;width:20px;height:20px;font-size:.85rem;line-height:1;position:absolute;top:-6px;right:-6px}.feedback-form .setup-field{margin-bottom:.7rem}.feedback-thread .view-header{align-items:center}.feedback-admin-controls-row{align-items:center;gap:1rem;margin:0 0 .8rem;display:flex}.feedback-status-select{align-items:center;gap:.6rem;font-size:.95rem;display:inline-flex}.feedback-status-select .lbl{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:600}.feedback-status-select select{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:4px;min-width:9rem;padding:.4rem .6rem;font-size:.95rem}.feedback-opener{border-left:4px solid var(--accent,#2563eb)}.feedback-opener-head{justify-content:space-between;align-items:baseline;gap:.6rem;margin-bottom:.5rem;display:flex}.feedback-section-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--accent,#2563eb);font-size:.72rem;font-weight:700}.feedback-opener-body{white-space:pre-wrap;word-wrap:break-word;font-size:1.05rem;line-height:1.5}.feedback-context-card{margin-top:1rem}.feedback-ctx-list{grid-template-columns:max-content 1fr;gap:.3rem .9rem;margin:.4rem 0 .5rem;display:grid}.feedback-ctx-list .feedback-ctx-row{display:contents}.feedback-ctx-list dt{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding-top:.1rem;font-size:.78rem;font-weight:600}.feedback-ctx-list dd{word-break:break-word;margin:0;font-size:.92rem}.feedback-ctx-list code{background:#0000000d;border-radius:3px;padding:0 .3rem;font-size:.85rem}.feedback-ctx-errors{margin:0;padding-left:1.1rem;font-size:.85rem}.feedback-ctx-raw-toggle{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.3rem 0;font-size:.82rem;text-decoration:underline}.feedback-ctx-raw-toggle:hover{color:var(--text)}.attachment-grid{grid-template-columns:repeat(auto-fill,9rem);gap:.6rem;margin-top:.4rem;display:grid}.attachment-grid.is-compact{grid-template-columns:repeat(auto-fill,6rem)}.attachment-tile{border:1px solid var(--line);background:var(--surface);cursor:zoom-in;border-radius:4px;width:9rem;height:9rem;padding:0;transition:transform .1s;overflow:hidden}.attachment-grid.is-compact .attachment-tile{width:6rem;height:6rem}.attachment-tile:hover{border-color:var(--accent,#2563eb);transform:scale(1.02)}.attachment-tile img{object-fit:cover;width:100%;height:100%;display:block}.lightbox-backdrop{z-index:2000;cursor:zoom-out;background:#000000d9;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.lightbox-image{object-fit:contain;cursor:default;border-radius:4px;max-width:100%;max-height:100%;box-shadow:0 10px 40px #0009}.lightbox-close{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:999px;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;font-size:2rem;line-height:1;display:inline-flex;position:absolute;top:.8rem;right:1rem}.lightbox-close:hover{background:#ffffff4d}.feedback-attachments{border-left:4px solid var(--accent,#2563eb);margin-top:-.4rem}.feedback-latest-update{border-left:4px solid #e67e22}.feedback-latest-update .feedback-section-tag{color:#e67e22}.feedback-status-line{margin-bottom:.5rem;font-size:.95rem}.feedback-earlier .feedback-context-toggle{font-size:.9rem}.feedback-toast{color:#ecf0f1;background:#2c3e50;border-radius:4px;margin:0 0 .8rem;padding:.5rem .8rem;font-size:.9rem}.feedback-as-bosun{color:var(--text);-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;margin:0 .6rem 0 auto;font-size:.9rem;display:inline-flex}.feedback-as-bosun input[type=checkbox]{margin:0}.bd-line .bd-loc-input{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--text);border-radius:4px;flex:auto;padding:.25rem .4rem;font-size:.95rem}.bd-line .bd-loc-input::placeholder{color:var(--muted);font-weight:400}.bd-stat{font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:600}.bd-stat .bd-stat-src{color:var(--muted);font-size:.78rem;font-weight:400}.bd-stats-row{flex-wrap:wrap;align-items:baseline;gap:.2rem 1rem;margin-bottom:.5rem;display:flex}.bd-stat-item{align-items:baseline;gap:.3rem;display:inline-flex}.bd-stats-row .lbl{text-transform:uppercase;letter-spacing:.03em;width:auto;color:var(--muted);flex:none;font-size:.74rem}.bd-stats-spacer{height:.8rem}.board-depart .datetime-field{flex:1;gap:.3rem;min-width:0}.board-depart .datetime-field .date-field{flex:1;min-width:0}.board-depart .time-input{flex-shrink:0;width:64px}.board-depart .now-btn,.board-depart .now-spacer{box-sizing:border-box;flex-shrink:0;width:3rem}.board-depart .now-btn{text-align:center;padding:.2rem 0;font-size:.78rem}.now-btn{font:inherit;border:1px solid var(--navy);background:var(--navy);color:#fff;cursor:pointer;border-radius:6px;flex-shrink:0;padding:.25rem .6rem;font-size:.85rem}.now-btn:hover{opacity:.9}@media (width<=760px){.board-depart{flex-direction:column}}.pilotage-timing{flex-direction:column;gap:.9rem;margin-top:1rem;display:flex}.timing-block h4{text-transform:uppercase;letter-spacing:.04em;color:var(--navy);border-bottom:1px solid var(--line);margin:0 0 .5rem;padding-bottom:.3rem;font-size:.8rem}.theme-night .timing-block h4{color:#7fb0e8}.detail-nav{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.detail-nav button{font:inherit;border:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:.3rem .7rem;font-size:.85rem}.detail-nav button:disabled{opacity:.4;cursor:not-allowed}.pilotage-filters{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:.8rem;display:flex}.pilotage-filters label{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);flex-direction:column;gap:.2rem;font-size:.72rem;display:flex}.pilotage-filters select,.pilotage-filters input{font:inherit;border:1px solid var(--line);background:var(--card-bg,transparent);color:inherit;border-radius:6px;padding:.3rem .4rem;font-size:.9rem}.pilotage-body{align-items:flex-start;gap:1rem;display:flex}.pilotage-list{flex:1;min-width:0}.pilotage-stats{flex-shrink:0;align-self:flex-start;width:190px}.pilotage-stats h3{margin:0 0 .5rem;font-size:.95rem}.pilotage-stats .stat-row{border-bottom:1px solid var(--line);justify-content:space-between;padding:.3rem 0;font-size:.9rem;display:flex}.pilotage-stats .stat-total{color:var(--navy);border-bottom:none;font-weight:700}@media (width<=760px){.pilotage-body{flex-direction:column}.pilotage-stats{width:100%}}.np-form{max-width:700px}.np-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem 1rem;display:grid}.np-fields{flex-direction:column;gap:.9rem;display:flex}.np-row{flex-wrap:wrap;align-items:flex-start;gap:1rem;display:flex}.route-picker{flex-direction:column;flex:none;gap:.25rem;min-width:20.9rem;display:flex;position:relative}.route-picker .lbl{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.75rem}.route-picker-trigger{background:var(--surface);color:var(--text);border:1px solid var(--border);text-align:left;cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:.95rem;display:flex}.route-picker-trigger[aria-expanded=true]{border-color:var(--accent,#2563eb)}.route-picker-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.route-picker-caret{color:var(--muted);flex-shrink:0;font-size:.8rem}.route-picker-panel{background:var(--surface);border:1px solid var(--border);z-index:10;border-radius:4px;max-height:26rem;margin-top:.25rem;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 6px 24px #0000002e}.route-picker-empty{padding:.75rem}.route-picker-folder+.route-picker-folder{border-top:1px solid var(--border)}.route-picker-folder-header{cursor:pointer;width:100%;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:.4rem;padding:.5rem .6rem;font-size:.9rem;font-weight:600;display:flex}.route-picker-folder-header:hover{background:var(--surface-hover,#0000000a)}.route-picker-folder-caret{width:.8rem;color:var(--muted);font-size:.75rem}.route-picker-folder-name{flex:1}.route-picker-routes{margin:0;padding:0 0 .3rem;list-style:none}.route-picker-route{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:0;padding:.3rem .6rem .3rem 2rem;font-size:.9rem;display:block}.route-picker-route:hover{background:var(--surface-hover,#0000000a)}.route-picker-route.is-selected{background:var(--accent,#2563eb);color:#fff}.route-picker-footer{border-top:1px solid var(--border);padding:.3rem 0}.route-picker-new{text-align:left;width:100%;color:var(--accent,#2563eb);cursor:pointer;background:0 0;border:0;padding:.4rem .6rem;font-size:.9rem;display:block}.route-picker-new:hover{background:var(--surface-hover,#0000000a)}.np-row .f-grow{flex:1;min-width:11.25rem}.np-row .f-draft{text-align:center;flex:0 0 5rem}.np-row .f-speed{text-align:center;flex:0 0 5.5rem}.np-row .f-draft input,.np-row .f-speed input{box-sizing:border-box;text-align:center;width:100%;min-width:0}.np-row .f-cargo{width:auto}.np-row .f-cargo select{width:100%;max-width:15.6rem}.np-row .f-cargo .f-cargo-other{background:var(--chip-bg,#0000000f);border-radius:.25rem;margin-left:.5rem;padding:.1rem .4rem;font-size:.85em;display:inline-block}.np-row .f-check{align-items:center;min-width:5rem}.np-row .f-check input[type=checkbox]{cursor:pointer;width:1.2rem;height:1.2rem;margin-top:.2rem;padding:0}.np-row .np-check-group{flex-direction:row;align-items:flex-start;gap:1rem;display:flex}.np-row .np-check-group--current{flex-grow:1;width:27%;min-width:14.7rem}.np-row .np-check-pilots{flex-flow:wrap;flex:none;gap:.75rem;min-width:0;display:flex}.np-row .np-check-pilots .f-pilot{flex:0 0 15.125rem;min-width:0}.np-row .f-route{width:auto;min-width:20.9rem}.np-row .f-licence{white-space:nowrap;width:auto;min-width:10rem;margin-left:auto;transform:translate(-40px)}.np-row .route-points{flex-direction:column;gap:.25rem;width:8%;min-width:3.75rem;margin-left:auto;display:flex}.np-row .route-points .lbl{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.78rem}.np-row .route-points .val{color:var(--navy);padding-top:.1rem;font-size:1.05rem;font-weight:700}.theme-night .np-row .route-points .val{color:#7fb0e8}.np-route-create{align-items:center}.np-route-create input{font:inherit;border:1px solid var(--line);background:var(--card-bg,transparent);color:inherit;border-radius:6px;flex:1;padding:.35rem .45rem;font-size:.95rem}.np-route-create button{font:inherit;border:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:.35rem .8rem}.np-grid label,.np-row label{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);flex-direction:column;gap:.25rem;font-size:.78rem;display:flex}.np-grid label input,.np-row label input,.np-row label select{font:inherit;border:1px solid var(--line);background:var(--card-bg,transparent);color:inherit;text-transform:none;border-radius:6px;padding:.35rem .45rem;font-size:.95rem}.np-grid .np-static{flex-direction:column;gap:.25rem;display:flex}.np-grid .np-static .lbl{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.78rem}.np-grid .np-static .val{color:var(--navy);font-size:1.15rem;font-weight:700}.np-actions{align-items:center;gap:1rem;margin-top:1rem;display:flex}.np-top{align-items:center;gap:1rem;margin-bottom:.9rem;display:flex}.np-consec{flex-shrink:0;align-items:baseline;gap:.4rem;display:flex}.np-consec .lbl{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.78rem}.np-consec .val{color:var(--navy);font-size:1.15rem;font-weight:700}.np-ship-field{flex:1}.datetime-field{align-items:stretch;gap:.4rem;display:flex}.datetime-field .date-field{flex:1}.time-input{text-align:center;width:72px;font:inherit;border:1px solid var(--line);background:var(--card-bg,transparent);color:inherit;border-radius:6px;padding:.25rem .3rem;font-size:.95rem}.time-input:focus{border-color:var(--navy);outline:none}.monitor-table .num-r{text-align:right}.monitor-table .mon-num{text-align:center}.monitor-table .mon-wp{white-space:normal;line-height:1.15}.monitor-table .cell-input{min-width:0}.monitor-table .mon-eta{text-align:center;line-height:1.15}.monitor-table .mon-eta .eta-date,.monitor-table .mon-eta .eta-time{font-variant-numeric:tabular-nums;display:block}.monitor-table .mon-eta .eta-time{color:inherit}.monitor-table .mon-spd{text-align:right;white-space:normal;padding-left:.25rem;padding-right:.4rem}.monitor-table th.mon-spd{text-align:center}.monitor-table td.mon-spd .cell-input{text-align:right}.monitor-table .cell-input[type=number]{appearance:textfield}.monitor-table .cell-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.monitor-table .cell-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.monitor-table .note-input{resize:none;box-sizing:border-box;width:100%;min-width:0;min-height:1.7rem;max-height:2.7rem;line-height:1.25;font:inherit;border:1px solid var(--line);background:var(--card-bg,transparent);color:inherit;border-radius:6px;padding:.2rem .35rem;font-size:.82rem;display:block;overflow:hidden}.monitor-table td{vertical-align:middle}.monitor-table .pass-cell .datetime-field{flex-wrap:nowrap;gap:.25rem}.monitor-table .pass-cell .time-input{flex:auto;width:auto;min-width:2.5rem;padding:.25rem .2rem;font-size:.85rem}.monitor-table .pass-cell .now-btn{flex:none;padding:.2rem .45rem;font-size:.75rem}.ship-picker{position:relative}.ship-search{width:100%;font:inherit;border:1px solid var(--line);background:var(--card-bg,transparent);color:inherit;border-radius:6px;padding:.35rem .45rem;font-size:.95rem}.ship-selected{color:var(--muted);text-transform:none;letter-spacing:0;margin-top:.25rem;font-size:.82rem}.ship-results{z-index:20;background:var(--card-bg,#fff);border:1px solid var(--line);border-radius:8px;max-height:320px;margin-top:.2rem;position:absolute;left:0;right:0;overflow-y:auto;box-shadow:0 10px 30px #0000002e}.ship-result{text-align:left;border:none;border-bottom:1px solid var(--line);cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;align-items:center;gap:.6rem;padding:.45rem .6rem;display:flex}.ship-result:hover{background:#c97b3e14}.ship-thumb{object-fit:cover;background:var(--rail-active-bg,#eee);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:30px;display:flex}.ship-thumb.placeholder{opacity:.5;font-size:1rem}.ship-result-text{flex-direction:column;display:flex}.ship-name{text-transform:none;letter-spacing:0;font-weight:600}.ship-meta{color:var(--muted);text-transform:none;letter-spacing:0;font-size:.8rem}.ship-create-trigger{color:var(--accent,#c97b3e);font-weight:600}.ship-none{color:var(--muted);padding:.45rem .6rem;font-size:.85rem}.ship-create{gap:.5rem;padding:.5rem .6rem;display:flex}.ship-create input{font:inherit;border:1px solid var(--line);background:var(--card-bg,transparent);color:inherit;border-radius:6px;flex:1;padding:.3rem .4rem}.ship-photo{margin-top:.9rem}.ship-photo .lbl{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin-bottom:.3rem;font-size:.78rem;display:block}.ship-photo-row{align-items:flex-start;gap:.8rem;display:flex}.ship-photo-paste{border:1px dashed var(--line);text-align:center;cursor:text;border-radius:8px;justify-content:center;align-items:center;width:200px;height:120px;padding:.4rem;display:flex;overflow:hidden}.ship-photo-paste:focus{border-color:var(--navy);outline:none}.ship-photo-paste img{object-fit:contain;max-width:100%;max-height:100%}.ship-photo-actions{flex-direction:column;gap:.5rem;display:flex}.closeout h3{margin:0 0 .5rem}.closeout-list{flex-direction:column;gap:.35rem;margin:0;padding-left:1.1rem;font-size:.9rem;display:flex}.closeout-list .co-ok{color:#2e9e44}.closeout-list .co-warn{color:#c0561c}.closeout-list .co-info{color:var(--muted)}.co-note{color:var(--muted);margin:.6rem 0 0;font-size:.85rem}p.co-warn{color:#c0561c;margin:.4rem 0 0;font-size:.88rem}.new-swing-form{flex-direction:column;gap:.8rem;max-width:340px;display:flex}.new-swing-form .ns-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.new-swing-form .ns-row .lbl{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.78rem}.new-swing-form .ns-row .val{color:var(--navy);font-size:1.1rem;font-weight:700}.new-swing-form .ns-actions{margin-top:.3rem}.swing-hdr-grid{flex-wrap:wrap;align-items:flex-start;gap:.5rem 1.25rem;display:flex}.swing-hdr-grid .fld{text-align:center;flex-direction:column;align-items:center;display:flex}.swing-hdr-grid .fld-text{width:110px}.swing-hdr-grid .fld-date{width:132px}.swing-hdr-grid .fld-num{width:100px}.swing-hdr-grid .lbl{text-align:center;min-height:2.2em;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;justify-content:center;align-items:flex-end;font-size:.72rem;line-height:1.05;display:flex}.swing-hdr-grid .val{color:var(--navy);margin-top:.2rem;font-size:1.15rem;font-weight:700;display:block}.theme-night .swing-hdr-grid .val{color:#7fb0e8}.swing-hdr-grid .date-field{width:100%}.swing-hdr-row-break{flex-basis:100%;width:0;height:0}.date-field{display:inline-block;position:relative}.cruise-journal-table .date-field{width:100%;display:block}.date-field-btn{width:100%;font:inherit;color:inherit;background:var(--card-bg,transparent);border:1px solid var(--line);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:.35rem;padding:.25rem .4rem;font-size:.9rem;font-weight:600;display:flex}.date-field:hover .date-field-btn,.date-field:focus-within .date-field-btn{border-color:var(--navy);outline:none}.date-field-ph{color:var(--muted);font-weight:500}.date-field-icon{opacity:.7;font-size:.85em}.date-field-native{color:#0000;width:100%;height:100%;font:inherit;appearance:none;opacity:0;cursor:pointer;background:0 0;border:0;margin:0;padding:0;position:absolute;inset:0}.date-field--disabled .date-field-native{pointer-events:none;cursor:default}.date-field-clear{z-index:2;width:1.25rem;height:1.25rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.05rem;line-height:1;display:flex;position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.date-field-clear:hover,.date-field-clear:focus-visible{background:var(--line,#00000014);color:inherit;outline:none}.swing-notes{border-top:1px solid var(--line);color:var(--muted);margin-top:.75rem;padding-top:.6rem;font-size:.9rem}.swings-table td.mono,.swings-table .area-count{text-align:right}.swings-table .date-cell{text-align:center;white-space:nowrap}.swings-table .notes-cell{vertical-align:middle}.notes-clamp{-webkit-line-clamp:2;color:var(--muted);cursor:help;-webkit-box-orient:vertical;font-size:.82rem;display:-webkit-box;overflow:hidden}.checklist{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.checklist>li{border-bottom:1px solid var(--line);padding-bottom:.4rem}.checklist .inline-field{color:var(--ink);align-items:flex-start;font-size:.9rem;font-weight:400}.checklist input[type=checkbox]{flex:none;margin-top:.15rem}.ref{color:var(--muted);font-family:ui-monospace,Menlo,monospace;font-size:.78rem}.call-pilot{color:var(--muted);margin:.4rem 0 0 1.8rem;padding-left:1rem;font-size:.82rem}.call-pilot li{margin-bottom:.15rem}.inline-field.indent{margin-left:1.5rem}.setup-view .view-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.setup-header-actions{align-items:center;gap:.5rem;display:flex}.setup-saved{color:#2e9e44;font-size:.9rem;font-weight:600}.admin-badge{font:inherit;border:1px solid var(--navy);background:var(--navy);color:#fff;cursor:pointer;border-radius:999px;padding:.35rem .8rem;font-size:.85rem;font-weight:600}.admin-badge:hover{opacity:.9}.admin-modal{max-width:30rem;max-height:80vh;overflow-y:auto}.admin-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-head h3{margin:0}.admin-modal input{font:inherit;box-sizing:border-box;border:1px solid var(--line);background:var(--card,#fff);width:100%;color:inherit;border-radius:6px;margin-top:.5rem;padding:.45rem .55rem}.admin-error{color:#d33125;margin:.4rem 0 0;font-size:.85rem}.admin-list{border:1px solid var(--line);border-radius:8px;margin:.6rem 0;padding:0;list-style:none}.admin-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.45rem .7rem;display:flex}.admin-list li:last-child{border-bottom:none}.admin-who{flex-direction:column;line-height:1.2;display:flex}.admin-who .admin-name{font-weight:600}.admin-who .admin-email{color:var(--muted);font-size:.8rem}.admin-picker{border:1px solid var(--line);border-radius:8px;max-height:40vh;margin:.6rem 0;padding:0;list-style:none;overflow-y:auto}.admin-picker li{border-bottom:1px solid var(--line)}.admin-picker li:last-child{border-bottom:none}.admin-pick-row{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.45rem .7rem;line-height:1.2;display:flex}.admin-pick-row:hover{background:#0000000d}.theme-night .admin-pick-row:hover{background:#ffffff14}.admin-pick-name{font-weight:600}.admin-pick-email{color:var(--muted);font-size:.8rem}.setup-section{margin-bottom:1rem}.setup-section h3{margin:0 0 .2rem}.setup-admin-collapse{border:1px solid var(--line);background:#00000006;border-radius:6px;margin:1.2rem 0}.setup-admin-collapse>summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.6rem;padding:.7rem 1rem;list-style:none;display:flex}.setup-admin-collapse>summary::-webkit-details-marker{display:none}.setup-admin-collapse-chevron{color:var(--muted);font-size:.9rem;transition:transform .15s;display:inline-block}.setup-admin-collapse[open]>summary .setup-admin-collapse-chevron{transform:rotate(90deg)}.manage-pilots-collapse>summary{cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;padding:.35rem 0;font-size:.92rem;list-style:none;display:flex}.manage-pilots-collapse>summary::-webkit-details-marker{display:none}.manage-pilots-collapse-chevron{color:var(--muted);font-size:.85rem;transition:transform .15s;display:inline-block}.manage-pilots-collapse[open]>summary .manage-pilots-collapse-chevron{transform:rotate(90deg)}.setup-admin-collapse-title{font-weight:600}.setup-admin-collapse-hint{margin-left:auto}.setup-admin-collapse-body{border-top:1px solid var(--line);padding:.6rem 1rem 1rem}.setup-admin-collapse-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.9rem;display:flex}.setup-admin-guide-link{color:var(--accent,#0b2545);border-bottom:1px dashed;margin-left:auto;padding-bottom:1px;font-size:.92rem;text-decoration:none}.setup-admin-guide-link:hover{border-bottom-style:solid}.setup-prefs-block+.setup-prefs-block{border-top:1px dashed var(--line);margin-top:1rem;padding-top:.8rem}.setup-prefs-block .cm-section-label{margin-bottom:.5rem;display:block}.setup-palette-grid{grid-template-columns:1fr 1fr;gap:.6rem 1rem;margin-top:.6rem;display:grid}.setup-palette-col-title{margin-bottom:.3rem;font-size:.85rem;display:block}@media (width<=520px){.setup-palette-grid{grid-template-columns:1fr}}.master-list{flex-direction:column;gap:.25rem;display:flex}.master-list-header{justify-content:flex-end;min-height:1.2rem;display:flex}.master-list-toggle{color:var(--accent,#2563eb);cursor:pointer;background:0 0;border:none;padding:.15rem .3rem;font-size:.82rem}.master-list-toggle:hover{text-decoration:underline}.master-list-add-input{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);border-radius:4px;padding:.4rem .55rem;font-size:.95rem}.master-list-add-input::placeholder{color:var(--muted);font-style:italic}.master-list-error{color:#c0392b;margin:.2rem 0;font-size:.82rem}.master-list-rows{flex-direction:column;gap:.1rem;display:flex}.master-list-row{border-radius:4px;align-items:center;gap:.4rem;padding:.25rem .4rem;display:flex}.master-list-row:hover{background:#0000000a}.master-list-row-text{text-align:left;color:var(--text);cursor:text;background:0 0;border:none;border-radius:3px;flex:auto;padding:.2rem .3rem;font-size:.92rem;font-weight:400}.master-list-row-text:hover{background:#0000000f}.master-list-row-edit{border:1px solid var(--accent,#2563eb);background:var(--surface);color:var(--text);border-radius:3px;flex:auto;padding:.2rem .4rem;font-family:inherit;font-size:.92rem}.master-list-row-action{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;padding:.15rem .55rem;font-size:.78rem}.master-list-row-action:hover{background:var(--muted);color:#fff;border-color:var(--muted)}.licence-area-points-input{border:1px solid var(--line);background:var(--surface);width:4.5rem;color:var(--text);text-align:right;border-radius:3px;flex-shrink:0;padding:.2rem .4rem;font-family:inherit;font-size:.92rem}.licence-area-points-input:focus{border-color:var(--accent,#2563eb);outline:none}.setup-licences-list{flex-direction:column;gap:.15rem;margin-top:.4rem;display:flex}.setup-licence-row{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text);border-radius:4px;flex-direction:row;justify-content:flex-start;align-items:center;gap:.6rem;padding:.3rem .5rem;font-size:.95rem;font-weight:400;display:flex}.setup-licence-row:hover{background:#0000000a}.setup-licence-row.is-checked{background:#2563eb14}.setup-licence-row input[type=checkbox]{margin:0}.manage-pilots-table{border-collapse:collapse;width:100%;margin:.7rem 0;font-size:.92rem}.manage-pilots-table th,.manage-pilots-table td{text-align:left;border-bottom:1px solid var(--line);padding:.4rem .6rem}.manage-pilots-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.78rem}.manage-pilots-admin-tag{background:var(--accent,#2563eb);color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;margin-left:.4rem;padding:0 .4rem;font-size:.7rem;display:inline-block}.manage-pilots-pill-invited,.manage-pilots-pill-expired,.manage-pilots-pill-active{color:#fff;border-radius:999px;padding:.1rem .55rem;font-size:.78rem;display:inline-block}.manage-pilots-pill-invited{background:#e67e22}.manage-pilots-pill-expired{background:#c0392b}.manage-pilots-pill-active{background:#27ae60}.manage-pilots-actions{margin-top:.8rem}.manage-pilots-add{background:#00000008;border-radius:6px;margin-top:.8rem;padding:.8rem}.manage-pilots-add-row{grid-template-columns:6rem 1fr 1fr;gap:.7rem;display:grid}.manage-pilots-admin-check{align-items:center;gap:.4rem;margin:.5rem 0;font-size:.9rem;display:flex}.manage-pilots-issued{background:#27ae601a;border-left:3px solid #27ae60;border-radius:4px;margin:.8rem 0;padding:.8rem 1rem}.manage-pilots-issued-head{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.manage-pilots-issued-list{grid-template-columns:max-content 1fr;gap:.3rem .9rem;margin:.4rem 0;display:grid}.manage-pilots-issued-list dt{text-transform:uppercase;color:var(--muted);font-size:.78rem}.manage-pilots-issued-list dd{margin:0;font-size:.95rem}.manage-pilots-mailto{background:var(--accent,#2563eb);color:#fff;border-radius:4px;margin-top:.5rem;padding:.4rem .8rem;font-size:.9rem;text-decoration:none;display:inline-block}.manage-pilots-mailto:hover{filter:brightness(1.1)}.select-pilots-modal{background:var(--surface,#fff);color:var(--text);border-radius:8px;width:100%;max-width:36rem;max-height:80vh;padding:1.2rem 1.4rem;overflow-y:auto;box-shadow:0 12px 32px #00000040}.select-pilots-head{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.select-pilots-head h3{margin:0}.select-pilots-list{flex-direction:column;gap:.15rem;margin-top:.7rem;display:flex}.select-pilots-row{cursor:pointer;color:var(--text);border-radius:4px;flex-direction:row;justify-content:flex-start;align-items:center;gap:.7rem;padding:.35rem .5rem;font-weight:400;display:flex}.select-pilots-row:hover{background:#0000000a}.select-pilots-row input[type=checkbox]{margin:0}.select-pilots-row--button{font:inherit;text-align:left;background:0 0;border:1px solid #0000;width:100%}.select-pilots-row--button:hover{border-color:var(--line);background:#0000000a}.select-pilots-row--button:focus-visible{outline:2px solid var(--accent,#0b2545);outline-offset:1px}.select-pilots-name{flex:auto}.manage-pilots-grid{grid-template-columns:repeat(2,1fr);gap:.45rem;margin:.6rem 0;display:grid}@media (width<=520px){.manage-pilots-grid{grid-template-columns:1fr}}.manage-pilots-tile{border:1px solid var(--line);background:var(--surface);border-radius:5px;justify-content:space-between;align-items:center;gap:.4rem;padding:.4rem .6rem;font-size:.92rem;display:flex}.manage-pilots-tile-name{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.manage-pilots-tile-actions{flex-shrink:0;gap:.3rem;display:flex}.manage-pilots-status{white-space:nowrap;border-radius:4px;flex-shrink:0;padding:.18rem .45rem;font-size:.72rem;font-weight:600}.manage-pilots-status--green{color:#2f7e47;background:#3f9c5b26}.manage-pilots-status--amber{color:#b06b1a;background:#e0922f2e}.manage-pilots-status--grey{color:#5a5a5a;background:#7878781f}.manage-pilots-status--red{color:#b03333;background:#d6454526}.theme-night .manage-pilots-status--green{color:#7fd99a;background:#50c87838}.theme-night .manage-pilots-status--amber{color:#f5c071;background:#f5af4b38}.theme-night .manage-pilots-status--grey{color:#b8c4d2;background:#c8d2dc2e}.theme-night .manage-pilots-status--red{color:#f08080;background:#f06e6e38}.manage-pilots-reset,.manage-pilots-revoke{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;padding:.15rem .5rem;font-size:.78rem}.manage-pilots-reset:hover{background:var(--accent,#2563eb);border-color:var(--accent,#2563eb);color:#fff}.manage-pilots-revoke:hover{color:#fff;background:#c0392b;border-color:#c0392b}.manage-pilots-revoke:disabled,.manage-pilots-reset:disabled{opacity:.4;cursor:not-allowed;border-color:var(--line);color:var(--muted);background:0 0}.manage-pilots-revoke:disabled:hover,.manage-pilots-reset:disabled:hover{color:var(--muted);border-color:var(--line);background:0 0}.setup-change-pw-field button{width:100%}.manage-pilots-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.3rem;display:flex}.manage-pilots-header h3{margin:0}.change-pw-modal{background:var(--surface,#fff);color:var(--text);border-radius:8px;width:100%;max-width:26rem;padding:1.2rem 1.4rem;box-shadow:0 12px 32px #00000040}.change-pw-modal h3{margin:0 0 .4rem}.change-pw-modal .setup-field{margin:.5rem 0}.ship-create-choice-modal{background:var(--surface,#fff);color:var(--text);border-radius:8px;width:100%;max-width:28rem;padding:1.2rem 1.4rem;box-shadow:0 12px 32px #00000040}.ship-create-choice-modal h3{margin:0 0 .4rem}.ship-create-choice-modal .setup-field{margin:.6rem 0}.ship-create-choice-actions{flex-direction:column;gap:.5rem;margin-top:.9rem;display:flex}.ship-create-choice-actions button{padding:.55rem .9rem;font-size:.95rem}.ship-create-choice-cancel{border:1px solid var(--line);color:inherit;background:0 0}.setup-grid{flex-wrap:wrap;gap:.7rem 1rem;margin-top:.6rem;display:flex}.setup-grid .setup-row-break{flex-basis:100%;height:0}.setup-field{flex-direction:column;gap:.25rem;display:flex}.setup-field>span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem}.setup-field input,.setup-field select{font:inherit;border:1px solid var(--line);background:var(--card,#fff);color:inherit;border-radius:6px;padding:.4rem .55rem}.setup-field-sm{flex:0 0 8.5rem}.setup-field-grow{flex:14rem}.setup-field-wide{flex:100%}.setup-field-wide input{letter-spacing:.02em;font-size:1.25rem;font-weight:700}.ship-combobox{display:flex;position:relative}.ship-combobox input{font:inherit;border:1px solid var(--line);background:var(--card,#fff);color:inherit;border-radius:6px;flex:1;padding:.4rem 1.75rem .4rem .55rem}.ship-combobox:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:5px solid var(--muted);pointer-events:none;width:0;height:0;position:absolute;top:50%;right:.6rem;transform:translateY(-50%)}.ship-combobox-list{z-index:30;background:var(--card,#fff);border:1px solid var(--line);border-radius:6px;max-height:16rem;margin:0;padding:.2rem 0;list-style:none;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 14px #0000001f}.ship-combobox-option{cursor:pointer;font:inherit;color:inherit;padding:.35rem .7rem}.ship-combobox-option:hover{background:#0000000d}.ship-combobox-option.selected{background:#0000000a;font-weight:600}.ship-combobox-empty{color:var(--muted);padding:.35rem .7rem;font-style:italic}.ship-particulars-layout{grid-template-columns:minmax(0,1fr) minmax(0,24rem);align-items:start;gap:1rem;display:grid}@media (width<=820px){.ship-particulars-layout{grid-template-columns:1fr}}.ship-particulars-fields{flex-direction:column;gap:.65rem;display:flex}.ship-row{flex-wrap:wrap;gap:.7rem 1rem;display:flex}.ship-row .setup-field{flex:7rem;min-width:0}.ship-row-name .setup-field{flex:100%}.ship-particulars-photo{flex-direction:column;gap:.35rem;display:flex}.ship-particulars-photo-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem}.ship-photo-col-fields{flex-direction:column;gap:.6rem;margin-top:2.8rem;display:flex}.ship-photo-col-fields .ship-field{width:100%}.ship-notes-card{margin-top:.85rem}.ship-notes-table{border-collapse:collapse;width:100%;font-size:.93rem}.ship-notes-table th,.ship-notes-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.45rem .6rem}.ship-notes-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--th-bg);font-size:.75rem}.ship-notes-table td.ship-note-text{white-space:pre-wrap;max-width:36rem}.ship-notes-table tr.is-clickable{cursor:pointer}.ship-notes-table tr.is-clickable:hover{background:var(--surface-hover,#ffffff0a)}.ship-notes-table tr.is-clickable:focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:-2px}.ship-notes-table button.danger{color:var(--danger,#b03a2e);cursor:pointer;background:0 0;border:0;padding:.1rem .3rem}.ship-note-form{border:1px solid var(--line);background:var(--card-bg);border-radius:6px;flex-direction:column;gap:.5rem;margin-bottom:.6rem;padding:.6rem .7rem;display:flex}.ship-note-form-meta{align-items:baseline;gap:.75rem;display:flex}.ship-note-form-route{flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.ship-note-form-route input{border:1px solid var(--line);background:var(--card-bg);color:inherit;font:inherit;border-radius:4px;padding:.35rem .5rem}.ship-note-form-text{border:1px solid var(--line);background:var(--card-bg);color:inherit;font:inherit;resize:vertical;border-radius:4px;padding:.4rem .55rem}.ship-notes-legacy{border:1px dashed var(--line);border-radius:6px;margin-top:.75rem;padding:.6rem .7rem}.ship-notes-legacy-header{justify-content:space-between;align-items:center;margin-bottom:.35rem;display:flex}.ship-notes-legacy-text{white-space:pre-wrap;margin:0}.setup-password{gap:.4rem;display:flex}.setup-password input{flex:1;min-width:0}.setup-pw-field .setup-pw-actions{gap:.4rem;margin-top:.35rem;display:flex}.pw-show{font:inherit;border:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;border-radius:6px;flex:none;padding:0 .7rem;font-size:.82rem}.pw-show:hover{background:#0000000d}.theme-night .pw-show:hover{background:#ffffff14}.setup-localities{margin-top:.6rem}.setup-localities td input,.setup-localities td select{font:inherit;border:1px solid var(--line);background:var(--card,#fff);width:100%;color:inherit;border-radius:6px;padding:.35rem .5rem}.setup-localities td:first-child{width:14rem}.setup-localities td:nth-child(2){width:6rem}.setup-localities td:nth-child(3){text-align:right;width:6rem}.setup-locality-actions{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-top:.7rem;display:flex}.link-btn.danger{color:#d33125}.login-view{color:#1a1a1a;background:radial-gradient(1200px 600px at 50% -10%,#0b25451a,#0000),#eef1f5;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{color:#1a1a1a;background:#fff;border:1px solid #d8d4cb;border-radius:12px;flex-direction:column;gap:.9rem;width:min(380px,100%);padding:1.6rem 1.5rem;display:flex;box-shadow:0 12px 40px #0000001f}.login-brand{text-align:center;margin-bottom:.3rem}.login-brand h2{color:#1a1a1a;margin:.3rem 0 .25rem;font-size:1.15rem}.login-brand p.muted,.login-brand .muted{color:#6b7280}.login-brand-mark{letter-spacing:.08em;color:#0b2545;font-weight:800;display:inline-block}.login-field{flex-direction:column;gap:.25rem;display:flex}.login-field>span{text-transform:uppercase;letter-spacing:.04em;color:#6b7280;font-size:.72rem}.login-field input{font:inherit;color:#1a1a1a;background:#fff;border:1px solid #d8d4cb;border-radius:7px;padding:.5rem .6rem;font-size:.95rem}.login-field input:focus{border-color:#0b2545;outline:none;box-shadow:0 0 0 3px #0b254526}.login-password-row{display:flex;position:relative}.login-password-row input{flex:auto;padding-right:4rem}.login-password-toggle{font:inherit;color:#6ea8ff;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:.2rem .5rem;font-size:.78rem;font-weight:600;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.login-password-toggle:hover{color:#9ec3ff;background:#6ea8ff26}.login-error{color:#d33125;margin:.1rem 0 0;font-size:.85rem}.login-card button.primary{color:#fff;cursor:pointer;background:#0b2545;border:1px solid #0b2545;border-radius:7px;margin-top:.3rem;padding:.55rem .8rem;font-size:.95rem}.login-card button.primary:hover:not(:disabled){background:#13315c;border-color:#13315c}.login-card button.primary:disabled{opacity:.6;cursor:default}.login-actions{justify-content:space-between;gap:.6rem;margin-top:.3rem;display:flex}@media (prefers-color-scheme:dark){.login-view{color:#e8eef6;background:radial-gradient(1200px 600px at 50% -10%,#7fb0e81a,#0000),#0a1626}.login-card{color:#e8eef6;background:#11233b;border-color:#20374f;box-shadow:0 12px 40px #00000073}.login-brand h2{color:#e8eef6}.login-brand p.muted,.login-brand .muted{color:#8ba0b8}.login-brand-mark{color:#7fb0e8}.login-field>span{color:#8ba0b8}.login-field input{color:#e8eef6;background:#0d1c30;border-color:#20374f}.login-field input:focus{border-color:#7fb0e8;box-shadow:0 0 0 3px #7fb0e82e}.login-card button.primary{color:#fff;background:#1f4d8a;border-color:#1f4d8a}.login-card button.primary:hover:not(:disabled){background:#2960aa;border-color:#2960aa}}.auth-chip{border-left:1px solid var(--line);align-items:center;gap:.5rem;margin-left:.4rem;padding-left:.6rem;display:inline-flex}.auth-user{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:14rem;font-size:.82rem;overflow:hidden}.auth-signout{font:inherit;border:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;border-radius:5px;padding:.2rem .55rem;font-size:.82rem}.auth-signout:hover{border-color:var(--navy);color:var(--navy)}.theme-night .auth-signout:hover{color:#7fb0e8;border-color:#7fb0e8}.contacts-table{table-layout:fixed;width:100%}.contacts-table td{overflow-wrap:anywhere}.contact-name{cursor:pointer;font-weight:600}.contact-name:hover{color:var(--navy);text-decoration:underline}.theme-night .contact-name:hover{color:#7fb0e8}.contacts-header-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.contacts-filter-pills{flex-wrap:wrap;gap:.4rem;margin:.5rem 0 .8rem;display:flex}.contacts-pill{background:var(--surface);border:1px solid var(--line);color:var(--text);cursor:pointer;border-radius:999px;padding:.3rem .8rem;font-size:.85rem}.contacts-pill:hover{border-color:var(--accent,#2563eb)}.contacts-pill.is-active{background:var(--accent,#2563eb);color:#fff;border-color:var(--accent,#2563eb)}.contacts-table th.check-col{text-align:center;white-space:normal;line-height:1.2}.contacts-table .check-cell{text-align:center}.contacts-table .check-yes{color:var(--navy);font-weight:800}.theme-night .contacts-table .check-yes{color:#7fb0e8}.contacts-table .cell-with-action{justify-content:space-between;align-items:flex-start;gap:.4rem;display:flex}.contacts-table .cell-with-action .cell-text{overflow-wrap:anywhere;min-width:0}.contacts-table .email-text{font-size:.84rem}.contacts-table .row-icon{color:var(--muted);opacity:.6;border-radius:5px;flex:none;align-items:center;margin-top:.05rem;padding:.12rem;text-decoration:none;display:inline-flex}.contacts-table .row-icon:hover{color:var(--navy);opacity:1;background:#0000000f}.theme-night .contacts-table .row-icon:hover{color:#7fb0e8;background:#ffffff14}.contact-modal{width:min(780px,100%)}.cm-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.6rem;display:flex}.cm-head h3{margin:0}.cm-head-actions{align-items:center;gap:.5rem;display:flex}.cm-close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:.05rem .4rem;font-size:1.4rem;line-height:1}.cm-close:hover{color:var(--navy);background:#0000000f}.theme-night .cm-close:hover{color:#7fb0e8;background:#ffffff14}.cm-check{align-items:center;gap:.5rem;margin-bottom:.9rem;font-weight:600;display:inline-flex}.cm-check input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:var(--navy)}.contact-form-grid{grid-template-columns:1fr 1fr;gap:.7rem 1.4rem;display:grid}@media (width<=540px){.contact-form-grid{grid-template-columns:1fr}}.contact-form-grid .full{grid-column:1/-1}.cf-field{flex-direction:column;gap:.2rem;display:flex}.cf-field>span{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.7rem}.cf-field input,.cf-field select,.cf-field textarea{font:inherit;border:1px solid var(--line);background:var(--card-bg,#fff);color:inherit;border-radius:6px;padding:.35rem .45rem;font-size:.9rem}.theme-night .cf-field input,.theme-night .cf-field select,.theme-night .cf-field textarea{background:#ffffff0a}.cf-value{overflow-wrap:anywhere;min-height:1.3rem;font-size:.92rem}.cf-checkbox{flex-direction:row;align-items:center;gap:.5rem}.cf-checkbox input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:var(--navy);border:none;flex:none;padding:0}.nu-modes{flex-wrap:wrap;gap:1.2rem;margin-bottom:.9rem;display:flex}.nu-mode{cursor:pointer;align-items:center;gap:.4rem;display:inline-flex}.nu-pick>input{width:100%;font:inherit;border:1px solid var(--line);background:var(--card-bg,#fff);color:inherit;border-radius:6px;padding:.4rem .5rem;font-size:.9rem}.theme-night .nu-pick>input{background:#ffffff0a}.nu-candidates{border:1px solid var(--line);border-radius:8px;max-height:12rem;margin:.4rem 0 0;padding:0;list-style:none;overflow-y:auto}.nu-candidate{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;justify-content:space-between;gap:1rem;padding:.45rem .6rem;display:flex}.nu-candidate:hover{background:#0000000d}.theme-night .nu-candidate:hover{background:#ffffff0f}.nu-login{margin-top:.4rem}.nu-pw{gap:.4rem;display:flex}.nu-pw input{flex:1;min-width:0}.nu-pw button{font:inherit;border:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:.3rem .6rem}.cm-section{margin-top:.9rem}.cm-section-label{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin-bottom:.3rem;font-size:.7rem;display:block}.addr-grid{margin-top:.2rem}.addr-attrib{opacity:.7;margin:.55rem 0 0}.lic-chips{flex-wrap:wrap;align-items:center;gap:.4rem;min-height:1.6rem;display:flex}.lic-chip{background:var(--navy);color:#fff;border-radius:999px;align-items:center;gap:.35rem;padding:.15rem .55rem;font-size:.8rem;font-weight:600;display:inline-flex}.theme-night .lic-chip{background:#2f5d96}.lic-chip button{color:#fff;cursor:pointer;background:0 0;border:none;padding:0}.lic-chip-text{font:inherit;font-size:.8rem;font-weight:600}.lic-chip-text:hover{text-decoration:underline}.lic-chip-x{opacity:.85;font-size:1rem;line-height:1}.lic-chip-x:hover{opacity:1}.lic-chip--pair{gap:.3rem}.lic-chip-points{width:3.6rem;font:inherit;border:1px solid var(--line);background:var(--surface);border-radius:4px;padding:.15rem .3rem;font-size:.82rem}.licence-area-add{align-items:center;gap:.4rem;display:flex}.licence-area-pts-input{width:4rem}.lic-chip--ro{padding-right:.6rem}.lic-edit{font:inherit;border:1px solid var(--navy);background:var(--card-bg,#fff);color:inherit;border-radius:999px;min-width:8rem;padding:.12rem .4rem;font-size:.82rem}.theme-night .lic-edit{background:#ffffff0f;border-color:#2f5d96}.lic-add{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.lic-add select{font:inherit;border:1px solid var(--line);background:var(--card-bg,#fff);color:inherit;border-radius:6px;padding:.3rem .45rem;font-size:.88rem}.theme-night .lic-add select{background:#ffffff0a}.lic-new{gap:.4rem;display:inline-flex}.lic-new input{font:inherit;border:1px solid var(--line);background:var(--card-bg,#fff);color:inherit;border-radius:6px;padding:.3rem .45rem;font-size:.88rem}.theme-night .lic-new input{background:#ffffff0a}.lic-new button{font:inherit;border:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:.3rem .7rem}.setup-lic,.setup-lists{grid-template-columns:1fr 1fr;gap:1rem 1.4rem;display:grid}@media (width<=640px){.setup-lic,.setup-lists{grid-template-columns:1fr}}.setup-lic-field .cm-section-label,.setup-list-block .cm-section-label{margin-bottom:.35rem}.list-editor-add{gap:.5rem;margin-top:.5rem;display:flex}.list-editor-add input{min-width:0;font:inherit;border:1px solid var(--line);background:var(--card-bg,#fff);color:inherit;border-radius:6px;flex:1;padding:.3rem .45rem;font-size:.9rem}.theme-night .list-editor-add input{background:#ffffff0a}.list-editor-add button{font:inherit;border:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:.3rem .8rem}.cm-foot{border-top:1px solid var(--line);margin-top:1rem;padding-top:.8rem}.cm-foot .danger{color:#d33125;border-color:#d33125}@media (width<=760px){.app-body{flex-direction:column}.rail{flex-direction:row;min-width:0;overflow-x:auto}}.route-wp-table .col-num{white-space:nowrap;width:1%}.route-wp-table .col-position{white-space:nowrap;text-align:right;width:1%;font-size:.8rem;line-height:1.25}.route-wp-table .col-wp{white-space:nowrap;min-width:12rem}.route-wp-table .col-notes{width:100%}.rest-log-scroll{overflow-x:auto}.rest-log-table{min-width:700px}.rest-log-table th,.rest-log-table td{vertical-align:middle;padding:.35rem .45rem;font-size:.88rem}.rest-log-table .num-r{text-align:right;white-space:nowrap}.rest-log-table select,.rest-log-table input[type=number],.rest-log-table input[type=datetime-local]{font:inherit;box-sizing:border-box;width:100%;padding:.15rem .3rem;font-size:.85rem}.rest-log-table .rl-th-pcp{white-space:nowrap}.rest-log-table .rl-th-pcp .rl-pcp-label{vertical-align:middle;margin-right:.35rem;display:inline-block}.rest-log-table .rl-th-pcp .rl-pcp-units{vertical-align:middle;flex-direction:column;gap:.05rem;font-size:.65rem;font-weight:400;line-height:1.05;display:inline-flex}.rest-log-table .rl-th-pcp .rl-pcp-units label{cursor:pointer;align-items:center;gap:.2rem;display:inline-flex}.rest-log-table .rl-th-pcp .rl-pcp-units input[type=radio]{width:.7rem;height:.7rem;margin:0}.rest-log-table .rl-th-wp,.rest-log-table .rl-wp-cell{min-width:10rem}.rest-log-table .rl-wp-cell select{width:100%}.rest-log-table .rl-pcp-cell input[type=number]{width:4rem}.rest-log-table .rl-dt-cell{white-space:nowrap}.rest-log-table .rl-dt-cell input{width:100%;margin-bottom:.15rem;display:block}.rest-log-table .rl-dt-cell input:last-child{margin-bottom:0}.rest-log-table .rl-new-row td{background:#00000006}.rest-log-table .rl-time-row{align-items:center;gap:.2rem;width:100%;display:flex}.rest-log-table .rl-time-row input[type=time]{flex:auto;min-width:0}.rest-log-table .rl-now-btn{background:var(--surface);color:var(--ink);border:1px solid var(--line);cursor:pointer;border-radius:3px;flex:none;padding:.05rem .35rem;font-size:.7rem;line-height:1.1}.rest-log-table .rl-now-btn:hover{background:var(--th-bg)}.rest-log-table .rl-th-actions,.rest-log-table .rl-actions-cell{white-space:nowrap;text-align:center;width:1%}.rest-log-table .rl-del-btn{background:var(--surface);color:#d33125;border:1px solid var(--line);cursor:pointer;border-radius:50%;width:1.4rem;height:1.4rem;padding:0;font-size:.95rem;line-height:1}.rest-log-table .rl-del-btn:hover{color:#fff;background:#d33125;border-color:#d33125}.rest-log-table .rl-time-row input[type=text]{width:4.5rem;font-family:var(--mono,ui-monospace, monospace)}.rest-stats{margin-top:.8rem}.rest-stats-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.8rem;display:grid}.rest-stats-grid>div{flex-direction:column;gap:.15rem;display:flex}.route-edit-table .col-wp{white-space:nowrap;width:1%;min-width:0}.route-edit-table .col-wp select{width:11rem;max-width:100%}.route-edit-advisory{background:#7fb0e814;border-left:3px solid #7fb0e8;border-radius:4px;margin:0 0 .6rem;padding:.4rem .6rem}.route-edit-table .row-num-input{text-align:right;width:3.2rem;padding:.25rem .35rem}.route-edit-table .note-cell{align-items:flex-start;gap:.6rem;display:flex}.route-edit-table .leg-note-input{resize:vertical;min-width:0;font:inherit;flex:auto;padding:.3rem .4rem;font-size:.9rem}.route-edit-table .note-scope-toggle{color:var(--muted);cursor:pointer;white-space:nowrap;flex:none;align-items:center;gap:.35rem;padding-top:.35rem;font-size:.78rem;display:flex}.route-edit-table .note-scope-toggle input[type=checkbox]{margin:0}.route-edit-table .col-actions{white-space:nowrap;text-align:right;width:1%}.route-edit-table .col-actions button{cursor:pointer;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:1.7rem;height:1.7rem;padding:0;font-size:.95rem;line-height:1;display:inline-flex}.route-edit-table .col-actions button+button{margin-left:.3rem}.route-edit-table .col-actions .row-add{color:#fff;background:#2f8f56;border-color:#2f8f56}.route-edit-table .col-actions .row-add:hover:not(:disabled){background:#267247}.route-edit-table .col-actions .row-del{color:#fff;background:#d33125;border-color:#d33125}.route-edit-table .col-actions .row-del:hover:not(:disabled){background:#ad271d}.route-edit-table .col-actions button:disabled{opacity:.35;cursor:default}.route-edit-empty-row td{background:#00000006}.route-nav-actions{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.5rem;display:flex}.route-nav-actions button{cursor:pointer;padding:.3rem .6rem;font-size:.85rem}.route-nav-actions button:disabled{opacity:.4;cursor:default}.route-nav-label{padding:0 .4rem;font-style:italic}.sig-pad{border:2px dashed #0000;border-radius:.5rem;flex-direction:column;align-items:flex-start;gap:.6rem;padding:.4rem;transition:border-color .12s,background-color .12s;display:flex}.sig-pad.is-drag-hover{border-color:var(--accent,#0b2545);background-color:#0b25450d}.sig-canvas{border:1px solid var(--line);touch-action:none;cursor:crosshair;background:#fff;border-radius:.4rem;width:30rem;max-width:100%;height:10rem}.sig-current{border:1px solid var(--line);background:var(--surface);border-radius:.4rem;padding:.5rem;display:inline-block}.sig-preview{background-color:#fff;background-image:linear-gradient(45deg,#d8d8d8 25%,#0000 25% 75%,#d8d8d8 75%),linear-gradient(45deg,#d8d8d8 25%,#0000 25% 75%,#d8d8d8 75%);background-position:0 0,10px 10px;background-size:20px 20px;max-width:30rem;max-height:8rem;display:block}.sig-empty{border:1px dashed var(--line);border-radius:.4rem;padding:1rem 1.5rem;font-style:italic}.sig-pad-actions{flex-wrap:wrap;gap:.5rem;display:flex}.sig-upload-btn{border:1px solid var(--line);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:.3rem;padding:.3rem .7rem;display:inline-block}.sig-upload-btn:hover{background:var(--th-bg)}.mic-ta{width:100%;display:block;position:relative}.mic-ta-input{width:100%;font:inherit;border:1px solid var(--line);background:var(--surface);color:inherit;box-sizing:border-box;resize:vertical;border-radius:.35rem;padding:.4rem 2.4rem .4rem .55rem;font-size:.92rem}.mic-ta-input:focus{border-color:var(--ink);outline:none}.mic-ta-btn{border:1px solid var(--line);background:var(--surface);color:inherit;font:inherit;cursor:pointer;border-radius:.3rem;justify-content:center;align-items:center;gap:.3rem;min-height:1.55rem;padding:.15rem .5rem;font-size:.85rem;line-height:1;display:inline-flex;position:absolute;top:.3rem;right:.3rem}.mic-ta-btn svg{display:block}.mic-ta-btn:hover{background:var(--th-bg)}.mic-ta-btn--listening{color:#fff;background:#c33;border-color:#c33;animation:1s ease-in-out infinite mic-pulse}@keyframes mic-pulse{0%,to{opacity:1}50%{opacity:.55}}.mpx-view{--mpx-chk-col:3rem;--mpx-comment-col:30rem}.mpx-header-actions{align-items:center;gap:.6rem;display:flex}.mpx-progress{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9rem}.mpx-done-btn{border:1px solid var(--line);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:.35rem;padding:.3rem .7rem}.mpx-done-btn:hover{background:var(--th-bg)}.mpx-done-btn--done{color:#fff;background:#2a7;border-color:#2a7}.mpx-banner{margin-top:.6rem}.mpx-banner-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.6rem 1.2rem;display:grid}.mpx-banner-grid>div{flex-direction:column;gap:.1rem;display:flex}.mpx-locked-chip{color:#c93;background:#cc993326;border:1px solid #c93;border-radius:999px;padding:.1rem .55rem;font-size:.85rem;font-weight:600;display:inline-block}.mpx-section{margin-top:1rem}.mpx-section h3{margin:0 0 .6rem}.mpx-items{border-collapse:collapse;width:100%}.mpx-items col.mpx-c-q{width:auto}.mpx-items col.mpx-c-chk{width:var(--mpx-chk-col)}.mpx-items col.mpx-c-comment{width:var(--mpx-comment-col)}.mpx-items td{vertical-align:middle;border-bottom:1px solid var(--line);padding:.35rem .4rem}.mpx-items tr:last-child td{border-bottom:none}.mpx-q{font-size:.95rem;line-height:1.35}.mpx-chk{text-align:center}.mpx-chk input[type=checkbox]{cursor:pointer;width:1.25rem;height:1.25rem}.mpx-comment{vertical-align:top;padding-top:.45rem}.mpx-section-notes{margin-top:.8rem}.mpx-notes-label{color:var(--muted);margin-bottom:.3rem;font-size:.85rem;display:block}.preset-textarea{align-items:flex-start;gap:.25rem;width:100%;display:flex;position:relative}.preset-textarea-input{min-width:0;font:inherit;border:1px solid var(--line);background:var(--surface,transparent);color:inherit;resize:vertical;box-sizing:border-box;border-radius:4px;flex:auto;padding:.3rem .45rem}.preset-textarea-actions{flex-direction:row;flex-shrink:0;gap:.2rem;display:flex}.preset-textarea-btn{border:1px solid var(--line);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:4px;min-width:1.75rem;padding:.1rem .45rem;line-height:1}.preset-textarea-btn:hover:not(:disabled){background:var(--th-bg)}.preset-textarea-btn:disabled{opacity:.4;cursor:default}.preset-textarea-dropdown{z-index:30;background:var(--panel-bg);border:1px solid var(--border-subtle);border-radius:4px;max-height:40vh;margin-top:.25rem;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000014}.preset-textarea-dropdown--empty{padding:.5rem .75rem}.preset-textarea-dropdown-row{border-bottom:1px solid var(--border-subtle);align-items:center;display:flex}.preset-textarea-dropdown-row:last-child{border-bottom:none}.preset-textarea-dropdown-pick{text-align:left;cursor:pointer;min-width:0;font:inherit;color:inherit;white-space:pre-wrap;word-break:break-word;background:0 0;border:none;flex:auto;padding:.5rem .75rem}.preset-textarea-dropdown-pick:hover{background:var(--th-bg)}.preset-textarea-dropdown-x{cursor:pointer;color:var(--muted);font:inherit;background:0 0;border:none;margin-right:.25rem;padding:.25rem .6rem}.preset-textarea-dropdown-x:hover{color:#c33}.planning-signoff{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));align-items:start;gap:1rem;margin:.6rem 0;display:grid}.pdf-thumb-cell{position:relative}.pdf-thumb-cell.is-selected .pdf-thumb{outline:2px solid var(--navy);outline-offset:-2px}.pdf-thumb-select{z-index:2;border:1px solid var(--line);background:var(--card-bg,#fff);cursor:pointer;border-radius:.3rem;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;padding:0;font-size:1.05rem;line-height:1;display:flex;position:absolute;top:.35rem;right:.35rem}.pdf-thumb-select:hover,.pdf-thumb-select:focus-visible{border-color:var(--navy);outline:none}.planning-action-bar{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));align-items:start;gap:.6rem 1rem;margin:.4rem 0 .8rem;display:grid}.planning-action-col{flex-direction:column;gap:.4rem;display:flex}.planning-action-col button,.planning-action-col input{width:100%}.planning-extras{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));align-items:start;gap:1rem;margin:.8rem 0;display:grid}.planning-extras-col{flex-direction:column;gap:.35rem;display:flex}.planning-extras-col>span:first-child{font-size:.95rem}.boarding-pick{flex-direction:column;gap:.4rem;display:flex}.boarding-pick-list{border:1px solid var(--line);background:var(--surface);border-radius:.4rem;max-height:18rem;margin:0;padding:0;list-style:none;overflow-y:auto}.boarding-pick-list li+li{border-top:1px solid var(--line)}.boarding-pick-row{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.6rem;padding:.4rem .6rem;font-size:.9rem;display:flex}.boarding-pick-row:hover:not(:disabled){background:var(--th-bg)}.boarding-pick-row:disabled{cursor:not-allowed;opacity:.7}.boarding-pick-row.ticked{font-weight:600}.boarding-pick-tick{text-align:center;color:#2a7;flex:0 0 1.25rem;font-weight:700}.boarding-pick-label{flex:1}.boarding-pick-custom{align-items:center;gap:.5rem;display:flex}.boarding-pick-custom input{font:inherit;border:1px solid var(--line);background:var(--surface);color:inherit;border-radius:.35rem;flex:1;padding:.3rem .5rem;font-size:.9rem}.ship-photo-row{flex-direction:column;align-items:stretch;gap:.6rem;display:flex}.ship-photo-drop{border:1px dashed var(--line);cursor:pointer;background:#fafaf7;border-radius:.5rem;outline:none;justify-content:center;align-items:center;min-height:14rem;padding:.6rem;transition:border-color .15s,background .15s;display:flex;position:relative}.ship-photo-drop.has-photo{cursor:default}.ship-photo-drop:focus-visible{border-color:var(--accent,#2563eb);background:#f1f6ff}.ship-photo-drop-active{border-style:solid;border-color:var(--accent,#2563eb);background:#f1f6ff}.ship-photo-preview{background:var(--surface);border-radius:.4rem;max-width:100%;max-height:22rem;display:block}.ship-photo-empty{text-align:center;padding:0 1rem;font-style:italic}.theme-night .ship-photo-drop,.theme-night-royal .ship-photo-drop{background:var(--th-bg)}.theme-night .ship-photo-drop:focus-visible,.theme-night .ship-photo-drop-active,.theme-night-royal .ship-photo-drop:focus-visible,.theme-night-royal .ship-photo-drop-active{background:var(--rail-active-bg)}.ship-docs-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;margin:1rem 0;display:grid}@media (width<=720px){.ship-docs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ship-doc-slot{background:var(--surface);border:1px solid var(--line);border-radius:.5rem;flex-direction:column;gap:.5rem;padding:.6rem;display:flex}.ship-doc-slot--filled{border-color:var(--ink)}.ship-doc-label{font:inherit;color:inherit;box-sizing:border-box;background:0 0;border:1px solid #0000;border-radius:.3rem;width:100%;padding:.25rem .45rem;font-size:.95rem;font-weight:600}.ship-doc-label:focus{border-color:var(--line);background:var(--bg);outline:none}.ship-doc-upload,.ship-doc-open{aspect-ratio:1/1.4;background:var(--surface);border:1.5px dashed var(--line);cursor:pointer;text-align:center;font:inherit;color:var(--ink);border-radius:.4rem;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;display:flex}.ship-doc-open{border-style:solid}.ship-doc-upload:hover,.ship-doc-open:hover{border-color:var(--ink)}.ship-doc-upload--dragover{border-style:solid;border-color:var(--accent,#0b2545);background:var(--th-bg)}.ship-doc-upload-icon{color:var(--muted);font-size:2.5rem;font-weight:200;line-height:1}.ship-doc-open-icon{font-size:3rem;line-height:1}.ship-doc-image .pdf-thumb-canvas-wrap{background:var(--surface)}.ship-doc-img{object-fit:contain;width:100%;height:100%;display:block}.ship-doc-open-filename{text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0 .5rem;overflow:hidden}.ship-doc-actions{flex-wrap:wrap;justify-content:flex-end;gap:.25rem;display:flex}.ship-doc-replace{border:1px solid var(--line);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:.3rem;padding:.2rem .4rem;font-size:.75rem}.ship-doc-replace:hover{background:var(--th-bg)}.ship-doc-clear{border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:.3rem;padding:.2rem .4rem;font-size:.75rem}.ship-doc-clear:hover{color:#c33;border-color:#c33}.ship-doc-download{border:1px solid var(--line);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:.3rem;padding:.2rem .4rem;font-size:.75rem}.ship-doc-download:hover{background:var(--th-bg)}.ship-doc-in-report{border:1px solid var(--line);color:inherit;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border-radius:.3rem;padding:.2rem .4rem;font-size:.75rem}.ship-doc-in-report:hover{background:var(--th-bg)}.ship-doc-in-report--on{background:var(--accent,#0b2545);border-color:var(--accent,#0b2545);color:#fff}.ship-doc-in-report--on:hover{background:var(--accent,#0b2545);opacity:.9}.ship-docs-back{border:1px solid var(--line);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:.35rem;padding:.3rem .7rem}.ship-docs-back:hover{background:var(--th-bg)}.ship-data-btn{border:1px solid var(--line);color:inherit;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border-radius:.35rem;padding:.2rem .55rem;font-size:.85rem}.ship-data-btn:hover{background:var(--th-bg)}.ship-name-link{font:inherit;color:inherit;cursor:pointer;text-align:inherit;border:none;border-bottom:1px dashed var(--line);background:0 0;margin:0;padding:0;text-decoration:none}.ship-name-link:hover{color:var(--link,#2563eb);border-bottom-color:var(--link,#2563eb)}.ship-name-action{border:1px solid var(--line);background:var(--surface);min-width:2rem;min-height:2rem;color:inherit;cursor:pointer;border-radius:.4rem;flex-shrink:0;justify-content:center;align-items:center;padding:0 .5rem;font-size:1.1rem;line-height:1;display:inline-flex}.ship-name-action:hover,.ship-name-action:active{background:var(--th-bg)}.core-rest-status{vertical-align:middle;border-radius:.4rem;margin-left:.5rem;padding:.1rem .45rem;font-size:.75rem;font-weight:600;display:inline-block}.core-rest-status-ok{color:#1c5f31;background:#d4ead8}.core-rest-status-red{color:#8a2b1f;background:#f5d6d2}.equasis-lookup-btn{border:1px solid var(--line);background:var(--surface);color:inherit;cursor:pointer;white-space:nowrap;border-radius:.4rem;padding:.3rem .7rem;font-size:.85rem}.equasis-lookup-btn:hover:not(:disabled){background:var(--th-bg)}.equasis-lookup-btn:disabled{opacity:.55;cursor:not-allowed}a.vesseltracker-btn{color:inherit;text-decoration:none;display:inline-block}a.vesseltracker-btn.disabled{opacity:.55;pointer-events:none;cursor:not-allowed}.setup-row{flex-wrap:wrap;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.setup-row>.setup-row-col{flex:22rem;min-width:0;margin-bottom:0}@media (width<=720px){.setup-row{flex-direction:column}}.theme-night .core-rest-status-ok,.theme-night-royal .core-rest-status-ok{color:#d4ead8;background:#1c5f31}.theme-night .core-rest-status-red,.theme-night-royal .core-rest-status-red{color:#f5d6d2;background:#8a2b1f}.ship-name-menu .ship-name-menu-actions{flex-direction:column;gap:.5rem;margin:.75rem 0 .5rem;display:flex}.ship-name-menu .ship-name-menu-actions button{border:1px solid var(--line);background:var(--card-bg,transparent);color:inherit;cursor:pointer;border-radius:.4rem;padding:.6rem .8rem;font-size:1rem}.ship-name-menu .ship-name-menu-actions button:hover{background:var(--th-bg)}.ship-name-menu .ship-name-menu-actions button.primary{background:var(--accent,#2563eb);color:#fff;border-color:var(--accent,#2563eb)}.ship-name-menu .ship-name-menu-actions button.primary:hover{filter:brightness(1.08)}.ship-docs-jump{border:1px solid var(--line);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:.35rem;padding:.35rem .7rem;font-size:.9rem}.ship-docs-jump:hover{background:var(--th-bg)}.planning-thumbs{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin:1rem 0 .6rem;display:grid}@media (width<=56rem){.planning-thumbs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=32rem){.planning-thumbs{grid-template-columns:1fr}}.ukcm-card{flex-direction:column;gap:.4rem;display:flex}.ukcm-drop{border-style:dashed}.ukcm-drop--over{border-color:var(--ink);background:var(--th-bg)}.ukcm-drop-inner{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;height:100%;padding:.5rem;display:flex}.ukcm-drop-icon{font-size:2.5rem;line-height:1}.ukcm-drop-hint{font-size:.85rem;line-height:1.35}.ukcm-card-footer{justify-content:flex-end;gap:.5rem;display:flex}.ukcm-drop-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.ukcm-drop-actions{gap:.4rem;display:flex}.ukcm-drop-click{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;width:100%;padding:0}.ukcm-drop-click:disabled{cursor:default}.ukcm-replace,.ukcm-clear{border:1px solid var(--line);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:.3rem;padding:.25rem .55rem;font-size:.85rem}.ukcm-replace:hover{background:var(--th-bg)}.ukcm-clear:hover{color:#c33;border-color:#c33}.pdf-thumb{background:var(--surface);border:1px solid var(--line);cursor:pointer;text-align:center;font:inherit;color:inherit;border-radius:.5rem;flex-direction:column;align-items:stretch;gap:.4rem;padding:.6rem;display:flex}.pdf-thumb:hover:not(:disabled){border-color:var(--ink);background:var(--th-bg)}.pdf-thumb:disabled{cursor:default;opacity:.85}.pdf-thumb-label{align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;display:inline-flex}.pdf-thumb-header-action{z-index:2;align-items:center;display:inline-flex;position:absolute;top:.35rem;right:2.3rem}.pdf-thumb-header-btn{border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;border-radius:.3rem;padding:.15rem .5rem;font-size:.75rem;font-weight:500}.pdf-thumb-header-btn:hover,.pdf-thumb-header-btn:focus-visible{background:var(--bg-hover,var(--bg));border-color:var(--accent,var(--line))}.pdf-thumb-header-btn[aria-pressed=true]{background:var(--accent-soft,var(--bg));border-color:var(--accent,var(--line))}.pdf-thumb-canvas-wrap{aspect-ratio:1/1.414;border:1px solid var(--line);background:#fff;border-radius:.3rem;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.pdf-thumb-canvas{width:100%;height:100%;display:block}.pdf-thumb-loading,.pdf-thumb-error{text-align:center;padding:1rem;font-size:.85rem}.pdf-thumb-error{color:#c33}.pdf-thumb-fallback{height:100%;color:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:.6rem;display:flex}.pdf-thumb-fallback-icon{font-size:3rem;line-height:1}.pdf-thumb-fallback-hint{font-size:.85rem}.docs-landing{margin:.5rem 0 0;padding-left:1.2rem;line-height:1.6}.docs-landing li{margin-bottom:.5rem}.docs-actions{gap:.6rem;margin:.8rem 0;display:flex}.docs-table{margin-top:.5rem}.docs-table input[type=checkbox]{width:1.15rem;height:1.15rem}.captains-table{table-layout:fixed;width:100%}.captains-table th,.captains-table td{vertical-align:top}.captains-table th:first-child,.captains-table td:first-child{width:9rem}.captains-table th:nth-child(2),.captains-table td:nth-child(2){width:12rem}.captains-table th:nth-child(3),.captains-table td:nth-child(3){width:7rem}.captains-table th:nth-child(4),.captains-table td:nth-child(4),.captains-table .capt-notes-cell{width:24rem}.captains-table .capt-actions-cell{text-align:right;width:2.5rem}.capt-name-cell{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.capt-date-cell{font-variant-numeric:tabular-nums;white-space:nowrap}.capt-header-controls{align-items:center;gap:.6rem;display:flex}.capt-scope-toggle{border:1px solid var(--line);background:var(--surface);border-radius:.35rem;display:inline-flex;overflow:hidden}.capt-scope-toggle button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none;padding:.35rem .7rem;font-size:.9rem}.capt-scope-toggle button+button{border-left:1px solid var(--line)}.capt-scope-toggle button:hover{background:var(--th-bg,#0000000d)}.capt-scope-toggle button.active{background:var(--navy,#1f3b66);color:#fff;font-weight:600}.capt-scope-count{text-align:center;background:#ffffff38;border-radius:999px;min-width:1.3rem;margin-left:.4rem;padding:.05rem .4rem;font-size:.75rem;font-weight:600;display:inline-block}.capt-search{font:inherit;border:1px solid var(--line);background:var(--surface);color:inherit;border-radius:.35rem;width:min(22rem,45%);padding:.35rem .6rem;font-size:.95rem}.capt-search:focus{border-color:var(--ink);outline:none}.capt-sort-btn{color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-weight:600}.capt-sort-btn:hover{text-decoration:underline}.capt-notes-inline{width:100%;font:inherit;border:1px solid var(--line);background:var(--surface);color:inherit;box-sizing:border-box;resize:vertical;border-radius:.35rem;min-height:2rem;padding:.35rem .5rem;font-size:.92rem}.capt-notes-inline:focus{border-color:var(--ink);outline:none}.capt-ship-one{flex-wrap:wrap;align-items:baseline;gap:.6rem;display:flex}.capt-ship-chip{border:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;max-width:100%;color:inherit;font-size:.85rem;font:inherit;cursor:default;background:0 0;border-radius:999px;padding:.1rem .6rem;font-size:.85rem;display:inline-block;overflow:hidden}.capt-ship-chip--link{cursor:pointer}.capt-ship-chip--link:hover{background:var(--th-bg);border-color:var(--ink)}.capt-ship-chip--link:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.capt-ship-date{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem}.capt-ships-btn{border:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;border-radius:.3rem;padding:.15rem .55rem;font-size:.85rem}.capt-ships-btn:hover{background:var(--th-bg)}.capt-ships-row td{background:var(--th-bg);padding:.6rem .9rem}.capt-ships-list{margin:0;padding:0;font-size:.9rem;list-style:none}.capt-ships-list li{align-items:baseline;gap:.6rem;padding:.15rem 0;display:flex}.capt-ship-name{flex:1}.capt-del-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 .3rem;font-size:1.1rem;line-height:1}.capt-del-btn:hover{color:#c33}.swing-pilotages tr.row-clickable{cursor:pointer}.swing-pilotages tr.row-clickable:hover td{background:var(--th-bg)}.block-banner{color:#8a4b1d;background:#fdf0e6;border:1px solid #e6a877;border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 .8rem;padding:.55rem .9rem;font-size:.9rem;display:flex}.block-banner button.primary{color:#fff;cursor:pointer;white-space:nowrap;background:#c97b3e;border:1px solid #c97b3e;border-radius:5px;padding:.3rem .7rem;font-size:.85rem}.block-banner button.primary:hover{background:#a86530}.warning-banner{color:#8a4b1d;background:#fdf0e6;border:1px solid #e6a877;border-radius:6px;margin:0 0 .8rem;padding:.55rem .9rem;font-size:.9rem}.warning-banner>strong{font-size:.92rem;display:block}.datetime-field--readonly{opacity:.55;cursor:not-allowed}.datetime-field--readonly input{pointer-events:none}.date-field--disabled .date-field-btn{cursor:not-allowed;background:0 0}@keyframes field-highlight-pulse{0%,to{box-shadow:0 0 0 3px #d3312540}50%{box-shadow:0 0 0 6px #d3312580}}.field-highlight{outline-offset:2px;border-radius:6px;outline:2px solid #d33125;animation:1s ease-in-out infinite field-highlight-pulse;position:relative}.update-banner{color:#fff;z-index:1000;background:#0b2545;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;max-width:30rem;margin:0 auto;padding:.6rem .9rem;font-size:.9rem;display:flex;position:fixed;bottom:1rem;left:1rem;right:1rem;box-shadow:0 6px 24px #00000040}.update-banner-actions{flex-shrink:0;align-items:center;gap:.6rem;display:flex}.update-banner button.primary{color:#0b2545;cursor:pointer;background:#fff;border:1px solid #fff;border-radius:6px;padding:.35rem .7rem;font-size:.85rem;font-weight:600}.update-banner button.primary:hover{background:#e6eef9}.update-banner .link-btn{color:#cfd9e6;cursor:pointer;background:0 0;border:none;padding:.35rem .4rem;font-size:.85rem;text-decoration:underline}.update-banner .link-btn:hover{color:#fff}.library-view{flex-direction:column;gap:1rem;display:flex}.library-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.4rem;padding-bottom:.6rem;display:flex}.library-tab{border:1px solid var(--line);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.9rem;display:inline-flex}.library-tab:hover{background:var(--th-bg)}.library-tab.is-active{background:var(--accent,#1a3b6e);color:#fff;border-color:var(--accent,#1a3b6e)}.library-tab-count{text-align:center;background:#00000014;border-radius:999px;min-width:1.4em;padding:.05rem .4rem;font-size:.75rem;display:inline-block}.library-tab.is-active .library-tab-count{background:#fff3}.library-action-bar{align-items:center;gap:.6rem;margin:.3rem 0;display:flex}.library-action-bar-spacer,.library-action-bar-right{flex:1 1 0;display:flex}.library-action-bar-right{justify-content:flex-end}.library-action-bar-center{flex:none;justify-content:center;display:flex}.library-sort-row{align-items:center;gap:.9rem;display:flex}.library-sort-row label{cursor:pointer;align-items:center;gap:.25rem;display:inline-flex}.library-rows{flex-direction:column;gap:.6rem;display:flex}.library-row{border:1px solid var(--line);background:var(--card-bg,var(--bg));border-radius:.5rem;grid-template-columns:140px 1fr;align-items:center;gap:1rem;padding:.8rem;display:grid}.library-row-thumb{border:1px solid var(--line);background:#fff;border-radius:.35rem;justify-content:center;align-items:center;width:120px;height:160px;display:flex;overflow:hidden}.library-row-thumb-button{width:100%;height:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.library-row-thumb img{object-fit:contain;max-width:100%;max-height:100%}.library-row-thumb .pdf-thumb-cell{width:100%;height:100%}.library-row-thumb .pdf-thumb{border:none;padding:0}.library-row-thumb .pdf-thumb-label{display:none}.library-row-thumb .pdf-thumb-canvas-wrap{aspect-ratio:auto;border:none;height:100%}.library-row-thumb-fallback{flex-direction:column;align-items:center;gap:.4rem;padding:.6rem;display:flex}.library-row-thumb-icon{font-size:2.5rem;line-height:1}.library-row-thumb-filename{text-align:center;word-break:break-word;font-size:.75rem}.library-row-title{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:.25rem;padding:0;display:flex}.library-row-title:hover .library-row-title-text{text-decoration:underline}.library-row-title-text{font-size:1.15rem;font-weight:600}.library-row-meta,.library-row-description{display:block}.library-row-controls{align-items:flex-start;gap:.6rem;display:flex}.library-row-category{flex-direction:column;gap:.2rem;min-width:12rem;display:flex}.library-row-delete{padding:.4rem .6rem;font-size:1.2rem}.library-row.is-awaiting{opacity:.7;border-style:dashed}.library-row.is-awaiting .library-row-thumb{background:var(--th-bg,transparent)}.library-row-ref{opacity:.7;font-size:.85rem;font-weight:500}.library-attach-zone{border:2px dashed var(--line);background:var(--th-bg,transparent);border-radius:.5rem;align-items:center;gap:.6rem;min-height:5rem;padding:1rem;display:flex}.library-attach-zone.has-file{border-style:solid;border-color:var(--accent,#1a3b6e)}.library-attach-zone-icon{font-size:1.8rem;line-height:1}.library-attach-zone-text{flex:1;font-size:.9rem}.library-attach-zone-text kbd{border:1px solid var(--line);background:var(--bg);border-radius:.25rem;padding:.05rem .35rem;font-family:inherit;font-size:.8rem}.library-actions-modal{max-width:26rem}.library-actions-buttons{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.library-actions-buttons button{width:100%}.library-sort-row-input{align-items:center;gap:.5rem;display:flex}.library-sort-row-input input[type=text]{flex:0 14rem;min-width:0}.library-sort-row-input .link-btn{white-space:nowrap;flex:none}.library-actions-commit-row{border-top:1px solid var(--line);gap:.5rem;margin-top:.75rem;padding-top:.5rem;display:flex}.library-actions-commit-row button{flex:1}.library-actions-cancel{border:1px solid var(--line);color:var(--ink);background:0 0}.library-error{color:var(--danger,#c44);margin:0;font-size:.9rem}.library-modal-backdrop{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.library-modal{flex-direction:column;gap:.75rem;width:100%;max-width:32rem;max-height:90vh;display:flex;overflow:auto}.library-modal h3{margin:0}.library-field{flex-direction:column;gap:.25rem;display:flex}.library-field>span{font-size:.85rem;font-weight:500}.library-field-checkbox{align-items:flex-start;gap:.5rem;font-size:.9rem;display:flex}.library-modal-actions{justify-content:flex-end;gap:.5rem;display:flex}.library-updates-banner{border:1px solid var(--warn-border,#d4b14a);background:var(--warn-bg,#fff7d6);color:var(--warn-text,inherit);border-radius:6px;align-items:flex-start;gap:1rem;margin:.75rem 0 1rem;padding:.75rem 1rem;display:flex}.library-updates-banner-body{flex:auto;min-width:0}.library-updates-banner-list{margin:.5rem 0 0;padding-left:1.25rem}.library-updates-banner-list li{margin-bottom:.1rem}.library-updates-banner-dismiss{flex:none}@media (width<=700px){.library-row{grid-template-rows:auto auto;grid-template-columns:1fr}.library-row-thumb{width:100%;height:180px}}.routes-groups{flex-direction:column;gap:12px;display:flex}.routes-group{border:1px solid var(--border);background:var(--card-bg,transparent);border-radius:8px;overflow:hidden}.routes-group>summary{cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--panel-bg,transparent);align-items:center;gap:8px;padding:10px 14px;font-weight:600;list-style:none;display:flex}.routes-group>summary::-webkit-details-marker{display:none}.routes-group>summary:before{content:"▶";opacity:.7;font-size:.75em;transition:transform .12s;display:inline-block}.routes-group[open]>summary:before{transform:rotate(90deg)}.routes-group .routes-group-count{opacity:.65;font-weight:400}.routes-group>.table{border-top:1px solid var(--border);margin:0}.routes-group .route-folder-cell,.routes-group .table thead th:nth-child(2){white-space:nowrap;min-width:130px}.routes-group .route-select-cell{text-align:center;vertical-align:middle;width:1%}.routes-group .route-select-cell input[type=checkbox]{cursor:pointer;width:18px;height:18px}.routes-subfilter-bar{flex-wrap:wrap;align-items:center;gap:.4rem;padding:.4rem .6rem .6rem;display:flex}.routes-subfilter-chip{border:1px solid var(--line,#d8dde2);background:var(--bg,#fff);color:var(--ink,#222);cursor:pointer;white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.8rem;font-weight:500}.routes-subfilter-chip:hover,.routes-subfilter-chip:focus-visible{border-color:var(--ink,#444);background:var(--th-bg,#f5f5f5)}.routes-subfilter-chip.is-active{background:var(--accent,#0b2545);border-color:var(--accent,#0b2545);color:#fff}.routes-subfilter-chip.is-active .muted{color:#ffffffbf}.routes-subfilter-row-break{flex-basis:100%;width:0;height:0}.select-all-btn{border:1px solid var(--line,#d8dde2);background:var(--bg,#fff);color:var(--ink,#222);cursor:pointer;white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:.75rem;font-weight:500}.select-all-btn:hover,.select-all-btn:focus-visible{border-color:var(--ink,#444);background:var(--th-bg,#f5f5f5)}.routes-group .route-select-cell,.wp-group .wp-list-table .wp-select-cell{min-width:78px}.wp-groups{flex-direction:column;gap:12px;display:flex}.wp-group{border:1px solid var(--border);background:var(--card-bg,transparent);border-radius:8px;overflow:hidden}.wp-group>summary{cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--panel-bg,transparent);align-items:center;gap:8px;padding:10px 14px;font-weight:600;list-style:none;display:flex}.wp-group>summary::-webkit-details-marker{display:none}.wp-group>summary:before{content:"▶";opacity:.7;font-size:.75em;transition:transform .12s;display:inline-block}.wp-group[open]>summary:before{transform:rotate(90deg)}.wp-group .wp-group-count{opacity:.65;font-weight:400}.wp-group>.table{border-top:1px solid var(--border);margin:0}.wp-group .wp-list-table input[type=text],.wp-group .wp-list-table textarea,.wp-group .wp-list-table select{box-sizing:border-box;width:100%}.wp-group .wp-list-table textarea{resize:vertical;min-height:1.6em}.wp-group .wp-list-table thead th:nth-child(2),.wp-group .wp-list-table tbody td:nth-child(2){width:240px;max-width:240px}.wp-group .wp-list-table thead th:nth-child(5),.wp-group .wp-list-table tbody td:nth-child(5){width:120px;max-width:120px}.wp-group .wp-coord-cell{white-space:nowrap;vertical-align:middle;width:1%}.wp-group .wp-coord-cell .latlon-input{align-items:center;gap:2px;display:flex}.wp-group .wp-coord-cell .latlon-input+.latlon-input{margin-top:4px}.wp-group .wp-coord-cell .latlon-input .unit{display:none}.wp-group .wp-coord-cell .latlon-input input[type=number]{-moz-appearance:textfield;padding:2px 4px}.wp-group .wp-coord-cell .latlon-input input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.wp-group .wp-coord-cell .latlon-input input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.wp-group .wp-coord-cell .latlon-input input[type=number]:first-of-type{text-align:right;width:3.5em}.wp-group .wp-coord-cell .latlon-input input[type=number]:nth-of-type(2){text-align:left;width:5em}.wp-group .wp-coord-cell .latlon-input select{width:auto;min-width:3em;padding:2px 4px}.wp-group .wp-list-table tbody td{vertical-align:middle}.wp-group .wp-list-table .wp-select-cell{text-align:center;width:1%}.wp-group .wp-list-table .wp-select-cell input[type=checkbox]{cursor:pointer;width:18px;height:18px}.view-header-actions{align-items:center;gap:8px;display:flex}.chitchat-move-btn{margin-left:8px;padding:2px 8px;font-size:.8em}.chitchat-section>summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:10px 4px;font-size:1.05em;font-weight:600;list-style:none;display:flex}.chitchat-section>summary::-webkit-details-marker{display:none}.chitchat-section-chevron{opacity:.7;transition:transform .12s;display:inline-block}.chitchat-section[open]>summary>.chitchat-section-chevron{transform:rotate(90deg)}.chitchat-thread-list{flex-direction:column;gap:10px;display:flex}.chitchat-thread-card{border:1px solid var(--line,#e3e6ea);background:var(--card-bg,#fff);border-radius:8px;overflow:hidden}.chitchat-thread-summary{cursor:pointer;align-items:center;gap:12px;padding:10px 14px;display:flex}.chitchat-thread-title{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:1em;font-weight:600;overflow:hidden}.chitchat-thread-meta{flex-direction:column;flex:0 60%;gap:2px;min-width:0;display:flex}.chitchat-thread-summary>.chitchat-thread-meta+*,.direct-thread-summary>.chitchat-thread-meta+*{margin-left:auto}.chitchat-thread-byline{align-items:center;gap:6px;padding-left:6px;display:flex}.chitchat-thread-byline-sep{opacity:.55}.chitchat-thread-author{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chitchat-thread-title-input{color:inherit;background:0 0;border:1px solid #0000;border-radius:4px;flex:1;min-width:0;padding:4px 6px;font-family:inherit;font-size:1em;font-weight:600}.chitchat-thread-title-input:hover{border-color:var(--line,#e3e6ea)}.chitchat-thread-title-input:focus{border-color:var(--color-primary,#2563eb);background:var(--card-bg,#fff);outline:none}.chitchat-thread-date{white-space:nowrap;flex:none}.chitchat-show-btn{text-align:center;min-width:3.4em}.feedback-status-change-row{padding:4px 6px 8px;font-size:.9em}.feedback-status-change-row select{padding:3px 8px}.chitchat-thread-summary.has-unread{background:var(--unread-row-bg,#2563eb0f)}.chitchat-thread-summary.is-archived,.direct-thread-summary.is-archived{opacity:.55;background:var(--archived-row-bg,#00000006)}.chitchat-thread-summary.is-archived:hover,.direct-thread-summary.is-archived:hover{opacity:.8}.chitchat-thread-unread-dot{background:var(--color-primary,#2563eb);border-radius:50%;flex:none;width:8px;height:8px}.chitchat-thread-body{border-top:1px solid var(--line,#e3e6ea);padding:8px 12px 4px}.wp-row-locked{opacity:.7;opacity:.7}.cruise-detail-view fieldset{border:1px solid var(--line,#e3e6ea);border-radius:8px;margin:.8rem 0;padding:.6rem .8rem .8rem}.cruise-itin-dt{align-items:center;gap:.25rem;width:100%;display:flex}.cruise-itin-dt .date-field{flex:auto;min-width:0}.cruise-itin-dt input[type=text]{box-sizing:border-box;flex:0 0 4.75rem;min-width:0}.cruise-itinerary-table{table-layout:fixed;width:auto}.cruise-itin-blank{width:100%;min-height:30px;display:inline-block}.cruise-itinerary-table td input[type=text]{box-sizing:border-box;width:100%}.cruise-detail-view fieldset legend{color:var(--ink,#222);padding:0 .4rem;font-weight:600}.cruise-title{flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.cruise-title .cruise-title-line{align-items:center;gap:.4rem;margin:0;display:flex}.cruise-cabin-row{align-items:center;gap:.4rem;display:flex}.cruise-cabin-input{max-width:8em}.cruise-particulars-row{flex-wrap:wrap;align-items:flex-start;gap:1rem 1.8rem;display:flex}.cruise-col{flex-direction:column;gap:.5rem;display:flex}.cruise-col-narrow{min-width:7em}.cruise-col-cabin{flex:0 0 24em;min-width:0;max-width:24em}.cruise-col-cabin textarea{resize:vertical;box-sizing:border-box;width:100%;max-width:100%;font-family:inherit;font-size:.85rem}.cruise-cabin-description{min-height:8em}.cruise-right-cluster{flex-wrap:wrap;align-items:flex-start;gap:1rem 1.8rem;margin-left:auto;display:flex}.cruise-col-heading{color:var(--ink,#222);text-transform:uppercase;letter-spacing:.02em;border-bottom:1px solid var(--line,#e3e6ea);margin-bottom:.1rem;padding-bottom:.15rem;font-size:.85rem;font-weight:600}.cruise-field{flex-direction:column;gap:.15rem;font-size:.85rem;display:flex}.cruise-field>span{color:var(--muted,#555);text-transform:uppercase;letter-spacing:.02em;font-size:.72rem}.cruise-input-int{text-align:right;font-variant-numeric:tabular-nums;width:4.5em}.cruise-input-draft{text-align:right;font-variant-numeric:tabular-nums;width:5em}.cruise-tab-bar{border-bottom:1px solid var(--line,#e3e6ea);gap:.4rem;margin:.8rem 0 .4rem;display:flex}.cruise-tab-bar button{border:1px solid var(--line,#e3e6ea);background:var(--bg,#fff);cursor:pointer;border-bottom:none;border-radius:6px 6px 0 0;padding:.4rem 1rem}.cruise-tab-bar button.active{background:var(--accent,#0b2545);color:#fff;border-color:var(--accent,#0b2545)}.cruise-officers-tab{padding:.5rem 0 1rem}.cruise-officers-section{margin-bottom:1.5rem}.cruise-officers-section-head{justify-content:space-between;align-items:baseline;margin-bottom:.4rem;display:flex}.cruise-officers-section-head h3{margin:0;font-size:1rem}.cruise-add-role-btn{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:4px;padding:.25rem .6rem;font-size:.9rem}.cruise-add-role-btn:hover{background:var(--th-bg)}.cruise-add-role-picker{background:var(--th-bg);border-radius:4px;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;padding:.5rem;display:flex}.cruise-add-role-picker button{border:1px solid var(--line);background:var(--panel-bg,#fff);cursor:pointer;border-radius:4px;padding:.3rem .7rem;font-size:.9rem}.cruise-add-role-picker button:hover{background:var(--th-bg)}.cruise-admin-grid{grid-template-rows:repeat(4,auto);grid-template-columns:1fr 1fr;grid-auto-flow:column;gap:.5rem 1.5rem;display:grid}.cruise-admin-row{border-bottom:1px solid var(--border-subtle,#eef1f4);align-items:center;gap:.5rem;padding:.35rem 0;display:flex}.cruise-admin-title{color:var(--muted);flex:0 0 11rem;font-size:.95rem}.cruise-admin-row .cruise-officer-picker{flex:auto;min-width:0}.cruise-admin-row .cruise-officer-picker input{width:100%;font:inherit;background:0 0;border:none;border-bottom:1px solid #0000;padding:.15rem 0}.cruise-admin-row .cruise-officer-picker input:focus{border-bottom:1px solid var(--line);outline:none}@media (width<=900px){.cruise-admin-grid{grid-template-columns:1fr}}.cruise-watch-table{border-collapse:collapse;width:100%}.cruise-watch-table th,.cruise-watch-table td{border-bottom:1px solid var(--border-subtle,#eef1f4);text-align:left;vertical-align:top;padding:.4rem .5rem}.cruise-watch-table th{color:var(--muted);font-size:.9rem;font-weight:600}.cruise-watch-table .col-watch-drag{width:1.6rem}.cruise-watch-table .col-watch-name{width:20%}.cruise-watch-table .col-watch-rank{width:28%}.cruise-watch-table .col-watch-slot{width:18%}.cruise-watch-table .col-watch-btn{width:2.6rem}.cruise-watch-drag{cursor:grab;color:var(--muted);-webkit-user-select:none;user-select:none;letter-spacing:-1px;padding:0 .2rem;display:inline-block}.cruise-watch-drag:active{cursor:grabbing}.cruise-watch-row--dropzone>td{border-top:2px solid var(--accent,#0b2545)}.cruise-watch-table .cruise-officer-picker input{border:1px solid var(--line);width:100%;font:inherit;background:0 0;border-radius:3px;padding:.25rem .35rem}.cruise-watch-rank{margin-top:.1rem;font-size:.85rem}.cruise-watch-table input{box-sizing:border-box;border:1px solid var(--line);width:100%;font:inherit;background:0 0;border-radius:3px;padding:.25rem .35rem}.cruise-officer-add-row{align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.cruise-officer-add-row input[type=text]{border:1px solid var(--line);min-width:0;font:inherit;background:0 0;border-radius:3px;flex:1 1 0;padding:.35rem .5rem}.cruise-officer-add-row button{border:1px solid var(--line);cursor:pointer;border-radius:4px;padding:.35rem .75rem}.cruise-officer-search-row{align-items:center;gap:.4rem;margin-bottom:.6rem;display:flex}.cruise-officer-search-row input[type=search]{border:1px solid var(--line);min-width:0;font:inherit;background:0 0;border-radius:4px;flex:auto;padding:.4rem .6rem}.cruise-search-clear{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:4px;padding:.2rem .55rem;font-size:1rem;line-height:1}.cruise-search-clear:hover{background:var(--th-bg)}.cruise-master-list{flex-direction:column;gap:.75rem;display:flex}.cruise-master-row{border:1px solid var(--border-subtle,#eef1f4);background:var(--panel-bg,#fff);border-radius:6px;align-items:flex-start;gap:.5rem;padding:.45rem .6rem;display:flex}.cruise-master-row .cruise-master-name-input,.cruise-master-row .cruise-history-btn,.cruise-master-row .cruise-remove-btn{align-self:center}.cruise-master-name-input{background:0 0;border:1px solid #0000;border-radius:4px;flex:0 0 14rem;min-width:0;padding:.25rem .4rem;font-family:inherit;font-size:1rem;font-weight:600}.cruise-master-name-input:hover{border-color:var(--border-subtle,#eef1f4)}.cruise-master-name-input:focus{border-color:var(--line);background:var(--panel-bg,#fff);outline:none}.cruise-master-notes-input{box-sizing:border-box;border:1px solid var(--line);min-width:0;font:inherit;background:0 0;border-radius:4px;flex:auto;padding:.35rem .5rem}.cruise-notes-expanding{resize:none;font-family:inherit;line-height:1.35;overflow:hidden}.cruise-notes-expanding:focus{overflow:auto}.cruise-history-btn{border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;flex:none;padding:.25rem .6rem;font-size:.9rem}.cruise-history-btn:hover{background:var(--th-bg)}.cruise-master-row .cruise-remove-btn{flex:none}@media (width<=720px){.cruise-master-row{flex-wrap:wrap}.cruise-master-name-input{flex:auto}.cruise-master-notes-input{flex:100%}}.cruise-history-modal{min-width:30rem;max-width:46rem}.cruise-history-table{border-collapse:collapse;width:100%;margin:.5rem 0 1rem}.cruise-history-table th,.cruise-history-table td{border-bottom:1px solid var(--border-subtle,#eef1f4);text-align:left;vertical-align:top;padding:.4rem .5rem}.cruise-history-table th{color:var(--muted);font-size:.9rem;font-weight:600}.cruise-history-shiplink{font:inherit;color:var(--accent,#0b2545);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;text-decoration:underline}.cruise-history-shiplink:hover{text-decoration:none}.cruise-notes-btn,.cruise-remove-btn{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:4px;padding:.2rem .5rem;font-size:.95rem;line-height:1}.cruise-notes-btn:hover:not(:disabled),.cruise-remove-btn:hover{background:var(--th-bg)}.cruise-notes-btn:disabled{opacity:.35;cursor:not-allowed}.cruise-remove-btn--disabled{opacity:.4;cursor:not-allowed;padding:.2rem .5rem;display:inline-block}.cruise-presentation-list{flex-direction:column;gap:.75rem;display:flex}.cruise-presentation-card{border:1px solid var(--border-subtle,#eef1f4);background:var(--panel-bg,#fff);border-radius:6px;align-items:stretch;gap:.75rem;min-height:9rem;padding:.6rem .75rem;display:flex}.cruise-presentation-right{flex-direction:column;flex:auto;gap:.5rem;min-width:0;display:flex}.cruise-presentation-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.cruise-presentation-order{border:1px solid var(--line);width:3.5rem;font:inherit;text-align:center;background:0 0;border-radius:4px;padding:.25rem .4rem}.cruise-presentation-title{min-width:0;color:var(--ink,#222);background:0 0;border:1px solid #0000;border-radius:4px;flex:auto;padding:.25rem .4rem;font-family:inherit;font-size:1rem;font-weight:600}.cruise-presentation-title:hover{border-color:var(--border-subtle,#eef1f4)}.cruise-presentation-title:focus{border-color:var(--line);background:var(--panel-bg,#fff);outline:none}.cruise-presentation-precis{box-sizing:border-box;border:1px solid var(--line);width:100%;font:inherit;resize:vertical;border-radius:4px;min-height:1.8rem;padding:.35rem .5rem}.cruise-presentation-fields{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.cruise-presentation-used{color:var(--muted);flex-direction:row;flex:none;align-items:center;gap:.35rem;font-size:.85rem;display:flex}.cruise-presentation-field{min-width:0}.cruise-presentation-field input,.cruise-presentation-field .date-field{box-sizing:border-box;width:100%}.cruise-presentation-field input[type=text],.cruise-presentation-field input[type=number]{border:1px solid var(--line);font:inherit;text-align:center;background:0 0;border-radius:3px;padding:.25rem .35rem}.cruise-presentation-date{flex:0 0 10rem}.cruise-presentation-time{flex:0 0 4.75rem}.cruise-presentation-location{flex:0 0 9rem}.cruise-presentation-attendance{flex:0 0 7rem}.cruise-presentation-thumb{flex:0 0 22rem;align-items:stretch;min-width:0;display:flex}.cruise-presentation-thumb>*{width:100%}.cruise-presentation-thumb .pdf-thumb-label{display:none}.cruise-presentation-thumb .pdf-thumb{background:0 0;border:none;min-height:auto;padding:0}.cruise-presentation-thumb .pdf-thumb-canvas-wrap{aspect-ratio:auto;border:1px solid var(--line);border-radius:.35rem;height:100%;min-height:8rem;padding:0}.cruise-presentation-thumb .ship-doc-img{object-fit:contain;width:100%;height:100%}.cruise-presentation-upload{border:1px dashed var(--line);width:100%;min-height:8rem;font:inherit;cursor:pointer;color:var(--muted);text-align:center;background:0 0;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;padding:.5rem;font-size:.85rem;display:flex}.cruise-presentation-upload:hover{background:var(--th-bg);color:var(--ink)}.cruise-presentation-thumb-stack{flex-direction:column;gap:.35rem;width:100%;display:flex}.cruise-presentation-open{flex:auto;min-height:5rem}.cruise-presentation-thumb-add{border:1px dashed var(--line);font:inherit;cursor:pointer;color:var(--muted);text-align:center;background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:.35rem .5rem;font-size:.8rem;display:flex}.cruise-presentation-thumb-add:hover{background:var(--th-bg);color:var(--ink)}.cruise-presentation-when,.cruise-presentation-where{flex-direction:column;flex:none;justify-content:flex-start;gap:.3rem;min-width:0;padding-top:.15rem;display:flex}.cruise-presentation-when{flex:0 0 9rem}.cruise-presentation-where{flex:0 0 8rem}.cruise-presentation-when>.date-field,.cruise-presentation-where input{box-sizing:border-box;width:100%}.cruise-presentation-when input[type=text]{box-sizing:border-box;border:1px solid var(--line);width:100%;font:inherit;text-align:center;background:0 0;border-radius:3px;padding:.25rem .35rem}.cruise-presentation-where input{border:1px solid var(--line);font:inherit;text-align:center;background:0 0;border-radius:3px;padding:.25rem .35rem}.cruise-presentation-when .date-field{text-align:center}.cruise-presentation-notes{border:1px solid var(--line);min-width:0;font:inherit;resize:vertical;box-sizing:border-box;border-radius:4px;flex:auto;align-self:stretch;padding:.4rem .55rem}.cruise-presentation-notes:focus{border-color:var(--ink);outline:none}@media (width<=720px){.cruise-presentation-thumb,.cruise-presentation-notes{flex:100%}}.cruise-report-actions{justify-content:flex-end;align-items:center;gap:.75rem;margin:.6rem 0 .4rem;display:flex}.cruise-report-generate-btn{border:1px solid var(--line);background:var(--panel-bg,#fff);color:inherit;font:inherit;cursor:pointer;border-radius:4px;padding:.35rem .9rem}.cruise-report-generate-btn:hover:not(:disabled){background:var(--th-bg)}.cruise-report-generate-btn:disabled{opacity:.6;cursor:default}.cruise-report-message{color:var(--muted);text-align:right;max-width:42rem;font-size:.9rem}.cruise-journal-remove{border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:4px;padding:.15rem .5rem}.cruise-journal-remove:hover{color:#c33;border-color:#c33}.cruise-notes-modal{min-width:26rem;max-width:40rem}.cruise-notes-modal textarea{box-sizing:border-box;width:100%;font:inherit;border:1px solid var(--line);resize:vertical;border-radius:4px;padding:.5rem}.pilotage-foreign-banner{color:var(--ink,#222);background:#ffd16640;border:1px solid #ffb81c99;border-radius:6px;align-items:center;margin-bottom:.8rem;padding:.5rem .8rem;font-size:.9rem;display:flex}.pilotage-read-only .pilotage-foreign-banner button{pointer-events:auto}.pilotage-read-only input,.pilotage-read-only select,.pilotage-read-only textarea,.pilotage-read-only button.danger{pointer-events:none;opacity:.72}.callout-toggle{cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.callout-toggle input{flex:none}.contact-name.changed-elsewhere{color:#b26a00;font-weight:600}.chg-dot{color:#b26a00;vertical-align:middle;margin-left:6px;font-size:10px}.btn-ack{color:#1a1206;cursor:pointer;background:#ffb020;border:none;border-radius:5px;margin-left:8px;padding:1px 6px;font-size:10px;font-weight:600}.btn-ack:hover{background:#ffc352}@media (prefers-color-scheme:dark){.contact-name.changed-elsewhere,.chg-dot{color:#ffb020}}@media (prefers-color-scheme:dark){.pw-warn{color:#ffb020}}.pw-warn{color:#b26a00;margin-top:6px;line-height:1.45;display:block}@media (prefers-color-scheme:dark){.pw-warn{color:#ffb020}}.conflicts-panel{background:#fdf8ee;border:1px solid #d9c7a0;border-radius:8px;margin:4px 0 14px;padding:10px 12px}.conflicts-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.conflict-card{background:#fffdf7;border:1px solid #e0c98f;border-radius:6px;margin-top:10px;padding:10px}.conflict-title{font-weight:600}.conflict-versions{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.conflict-version{background:#fff;border:1px solid #d9d0bd;border-radius:6px;flex:220px;padding:8px}.cv-meta{justify-content:space-between;gap:8px;margin-bottom:6px;display:flex}.cv-who{font-weight:600}.cv-diff{margin:0 0 8px}.cv-diff>div{border-bottom:1px solid #f0ead9;gap:8px;padding:2px 0;display:flex}.cv-diff dt{color:#806a3a;min-width:90px;margin:0;font-size:12px}.cv-diff dd{word-break:break-word;margin:0;font-size:12px}.btn-sm.keep{color:#fff;cursor:pointer;background:#2f7d4f;border:none;border-radius:5px;padding:5px 10px}.btn-sm.keep:hover{background:#256b42}@media (prefers-color-scheme:dark){.conflicts-panel{background:#2a2418;border-color:#5a4a28}.conflict-card{background:#241f14;border-color:#5a4a28}.conflict-version{background:#1c1810;border-color:#4a4028}.cv-diff>div{border-bottom-color:#332c1c}.cv-diff dt{color:#c9a877}}.status-change{background:#fdeccd;border:1px solid #e0b96a;border-radius:6px;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-left:8px;padding:3px 8px;display:inline-flex}.status-change .sc-line{color:#7a5a1a;font-size:12px}.status-change .sc-line b{color:#5a3d0a}.status-change .sc-meta{font-size:11px}@media (prefers-color-scheme:dark){.status-change{background:#33280f;border-color:#6b5223}.status-change .sc-line{color:#e6c98a}.status-change .sc-line b{color:#ffd98a}}.save-error{color:#c0392b;margin-left:10px;font-size:13px}.setup-header-actions .primary.saved{opacity:1;cursor:default;background:#1f8a4c;border-color:#1f8a4c}@media (prefers-color-scheme:dark){.save-error{color:#ff8a8a}}
