/* App navigation remains in place while the main document scrolls. */
.sidebar{position:sticky;top:0;height:100dvh;min-height:0;overflow-y:auto;align-self:start}
.sidebar nav button .nav-label{font-size:.9rem;margin:0}
#sidebar-toggle{flex-shrink:0}.topline{gap:15px}.topline>span:last-child{margin-left:auto}
[data-collapsed="true"] .admin{grid-template-columns:82px minmax(0,1fr)}
[data-collapsed="true"] .sidebar{padding:24px 10px}
[data-collapsed="true"] .sidebar .brand,[data-collapsed="true"] .sidebar>.eyebrow,[data-collapsed="true"] .sidebar .nav-label,[data-collapsed="true"] .sidebar-bottom>a,[data-collapsed="true"] .sidebar-bottom>p{display:none}
[data-collapsed="true"] .sidebar nav button{text-align:center;padding:12px}
[data-collapsed="true"] .sidebar nav button>span:first-child{margin:0}
[data-collapsed="true"] .sidebar-bottom button{padding:6px;font-size:.75rem}
#app-toasts{position:fixed;right:22px;bottom:22px;z-index:1000;display:grid;gap:12px;max-width:min(420px,90vw)}
.toast{display:flex;gap:20px;align-items:center;background:#123641;color:#fff;padding:18px 20px;border:1px solid #438a99;border-radius:8px;box-shadow:0 6px 25px #0004}
.toast button{padding:4px 10px;background:transparent;color:inherit}
#subscriptions input{width:20px;height:20px;margin:0}
#theme{max-width:260px}#staff-contact{max-width:500px}
.danger{color:#9f1d25;background:#fff0f1;border:1px solid #e7b9bd}.toolbar label{margin:0}.toolbar label select{margin-top:3px}
[data-theme="dark"]{color-scheme:dark;color:#e0ecf0;background:#101d25;--navy:#c1dce6;--teal:#169ca4;--line:#354954}
[data-theme="dark"] header,[data-theme="dark"] .rates article,[data-theme="dark"] .cargo,[data-theme="dark"] .table-wrap,[data-theme="dark"] .stats article,[data-theme="dark"] dialog{background:#182c36;color:#e0ecf0}
[data-theme="dark"] input,[data-theme="dark"] select,[data-theme="dark"] textarea{background:#132630;color:#e0ecf0;border-color:#526974}
[data-theme="dark"] .sidebar,[data-theme="dark"] footer,[data-theme="dark"] .route{background:#0b2833;color:#e0ecf0}
[data-theme="dark"] th,[data-theme="dark"] .hero,[data-theme="dark"] #schedule,[data-theme="dark"] .subtle,[data-theme="dark"] .notice{background:#223c48;color:#d2e7ed}
[data-theme="dark"] td{border-color:#354954}
[data-theme="dark"] .muted,[data-theme="dark"] .policy p,[data-theme="dark"] .rates p,[data-theme="dark"] td small,[data-theme="dark"] .stats span,[data-theme="dark"] .hero p:not(.eyebrow),[data-theme="dark"] .topline,[data-theme="dark"] .section-title>span{color:#b5c9d2}
[data-theme="dark"] .eyebrow{color:#5cd5d9}[data-theme="dark"] .error{color:#ffafb3}
@media(max-width:760px){.admin{display:grid;grid-template-columns:180px minmax(0,1fr)}.sidebar{padding:18px 10px}.sidebar nav{display:grid;overflow:visible}.sidebar nav button{text-align:left;white-space:normal}.sidebar nav button .nav-label{display:inline}.sidebar-bottom{display:block}.sidebar-bottom>a,.sidebar-bottom>p{display:none}.sidebar .brand{font-size:.9rem}.sidebar .brand span{font-size:.55rem}.workspace{padding:0 12px 30px}.topline>span:not(.badge){display:none}[data-collapsed="true"] .admin{grid-template-columns:60px minmax(0,1fr)}[data-collapsed="true"] .sidebar nav button>span:first-child{display:inline}.toolbar{align-items:stretch}.toolbar input{min-width:0}}
@media print{.admin,[data-collapsed="true"] .admin{display:block}#sidebar-toggle,#app-toasts{display:none!important}[data-theme="dark"]{color:#000;background:#fff}}
.brand img{display:block;width:min(265px,32vw);height:auto;max-height:94px;object-fit:contain}.sidebar .brand img{width:100%;max-height:125px}footer .brand img{width:210px;max-height:85px}
.phone-number{white-space:nowrap}.badge.amber{background:#fff2d4;color:#784c08}.badge.red{background:#fbe5e5;color:#923638}.holiday{display:block;color:#8d3e23;font-weight:700;line-height:1.3;margin:5px 0}.holiday-day{background:#fff9ee;border-color:#e2b663}.review-card{background:#fffaf0;border:1px solid #e2b663;border-radius:8px;padding:18px;margin:22px 0}
.booking-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.date-picker{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px;min-width:0}.date-picker h3 small{display:block;color:#536972;font-weight:400}.date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:12px 0}.date-grid>b{text-align:center;font-size:.68rem;color:#536972}.date-grid>span,.date-grid>button{min-width:0;min-height:42px;text-align:center;padding:5px;border-radius:5px}.date-grid>button{background:#e3f3ee;color:#125b47;border:1px solid #8cbdad;font-size:.85rem}.date-grid>button.chosen{background:#115e51;color:#fff}.date-grid>button small{display:block;font-size:.55rem}.date-grid .unavailable{color:#899aa3;background:#f2f4f5}.date-picker .clear-date{margin-top:4px}
#public-schedule{max-width:1050px}.schedule-nav{flex-wrap:wrap}.schedule-nav strong{font-size:1.1rem}.schedule-nav label{margin:0}.schedule-nav select{margin-top:4px}.published-details{background:#fff;border:1px solid var(--line);border-radius:9px;padding:18px;margin-top:18px}.time-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:9px}.time-cards article{background:#e9f4f7;border-left:3px solid var(--teal);padding:10px;border-radius:4px}.time-cards span{display:block;font-size:.73rem;color:#45616d}.time-cards strong{font-size:1rem}#public-list{display:flex;flex-wrap:wrap;gap:8px}#public-list[hidden],#public-calendar[hidden],[hidden]{display:none!important}
[data-theme="dark"] .date-picker,[data-theme="dark"] .published-details,[data-theme="dark"] .review-card{background:#182c36;color:#e0ecf0}[data-theme="dark"] .time-cards article{background:#254753}[data-theme="dark"] .time-cards span,[data-theme="dark"] .date-picker h3 small{color:#c3d4db}[data-theme="dark"] .date-grid .unavailable{background:#253944;color:#b2c3cc}[data-theme="dark"] .holiday-day{background:#403a2a}[data-theme="dark"] .holiday{color:#ffc589}
@media(max-width:760px){header{flex-wrap:wrap}header .brand img{width:min(225px,70vw)}.booking-dates{grid-template-columns:1fr}.date-grid>span,.date-grid>button{min-height:40px}.date-grid>button small{font-size:.5rem}.sidebar .brand img{width:min(175px,40vw)}.calendar-day .holiday{font-size:.7rem}#schedule-results{overflow-x:auto}.calendar{grid-template-columns:repeat(7,minmax(105px,1fr));min-width:735px}.calendar-head,.calendar-blank{display:block}}
/* Focused controls and responsive record layouts */
.view-toggle{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:8px;background:#eef3f5}.view-toggle button{border-radius:5px}.view-toggle button.selected{background:var(--navy);color:#fff}.action-menu{position:relative}.action-menu>summary{list-style:none;background:var(--teal);color:#fff;border-radius:6px;padding:10px 14px;font-weight:700;cursor:pointer;white-space:nowrap}.action-menu>summary::-webkit-details-marker{display:none}.action-menu[open]{z-index:30}.action-menu[open]>summary{filter:brightness(.92)}.action-menu>button,.action-menu>.menu-fields{display:block;width:100%;text-align:left;border-radius:0}.toolbar>.action-menu[open]{position:relative}.toolbar>.action-menu[open]>*:not(summary){position:relative}.action-menu .menu-fields{min-width:280px;padding:14px;background:#fff;border:1px solid var(--line)}.action-menu .menu-fields button{margin:4px 0}.primary-toolbar{padding:10px;background:#fff;border:1px solid var(--line);border-radius:10px}.context-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;margin:12px 0;background:#e7f2f4;border:1px solid #b9d6dc;border-radius:8px}.schedule-bulk.context-bar{align-items:center}.schedule-detail-grid,.trip-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px}.schedule-detail-grid span,.trip-timeline article{padding:12px;background:#eef5f6;border-left:3px solid var(--teal);border-radius:6px}.schedule-detail-grid b,.trip-timeline strong{display:block}.trip-timeline span{display:block;font-size:.75rem;color:#536972}.sailing-list,.booking-date-list{display:grid;gap:9px}.sailing-choice{display:flex;width:100%;align-items:center;justify-content:space-between;gap:18px;text-align:left;background:#fff;color:var(--navy);border:1px solid var(--line);border-radius:8px;padding:14px 16px}.sailing-choice span{font-size:.84rem;color:#536972}.sailing-choice:hover,.sailing-choice.chosen{border-color:var(--teal);background:#e8f4f3}.sailing-choice.chosen{box-shadow:inset 4px 0 var(--teal)}.date-picker .section-title{align-items:flex-start}.date-picker .view-toggle button{padding:6px 9px;font-size:.75rem}.metric-card{background:#fff;color:var(--navy);border:1px solid var(--line);border-radius:9px;padding:18px;text-align:left}.metric-card span,.metric-card small{display:block;color:#657b85}.metric-card strong{display:block;font-size:2rem;margin:8px 0}.metric-card:hover{border-color:var(--teal);filter:none;transform:translateY(-1px)}.sort-heading{background:transparent;color:inherit;padding:0;font-size:inherit}.record-list{display:grid;gap:10px}.record-card{display:grid;grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) auto auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:9px;padding:16px}.record-card span,.record-card small{display:block;color:#647b85}.record-card strong small{display:inline;font-weight:400}.row-actions{display:flex;gap:8px;align-items:center}.row-actions .action-menu>summary{background:#edf3f5;color:var(--navy);font-size:.875rem;padding:8px 12px}.row-actions .action-menu[open]{position:relative}.row-actions .action-menu[open]>button{min-width:180px}.empty-state{padding:35px;text-align:center;background:#fff;border:1px solid var(--line)}.customer-table tbody tr{cursor:pointer}.customer-table tbody tr:hover,.customer-table tbody tr:focus{background:#edf6f7;outline:2px solid transparent}.activity-detail summary{cursor:pointer;color:var(--teal);font-size:.78rem;margin-top:7px}.route-heading{font-size:.9rem;color:#647b85;text-transform:uppercase;letter-spacing:.08em}.staff-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.staff-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:18px}.staff-card h3{margin:0}.staff-metrics{display:grid;gap:5px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:.78rem;color:#536972}.staff-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.staff-calendar>b{text-align:center;font-size:.72rem;color:#657b85}.staff-calendar>article,.staff-calendar>span{min-height:92px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:7px;min-width:0}.staff-calendar>article.has-event{border-color:#83b8b6;background:#f3faf9}.calendar-event{display:block;font-size:.68rem;line-height:1.25;margin-top:5px;padding:4px;border-radius:3px;background:#dcefea}.calendar-event.pending{background:#fff0c9}.calendar-event.closure{background:#f9e0df}.staff-calendar-title{margin-top:25px}.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-height:280px;overflow:auto}.account-page{display:grid;gap:8px}.account-section{background:#fff;border:1px solid var(--line);border-radius:9px;padding:18px;margin:16px 0}.contact-list{display:grid;gap:8px}.contact-list article{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px;background:#f2f6f7;border-radius:7px}.contact-list small{display:block;color:#617681}.login-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:20px;margin:16px 0}.link-button{background:transparent;color:var(--teal);text-decoration:underline;padding:5px}.toggle-setting{display:flex;align-items:center;gap:10px}.toggle-setting input{width:auto;margin:0}.brand img{max-width:270px}.workspace{overflow:hidden}.workspace>#panel{min-width:0;max-width:100%}
[data-theme="dark"] .primary-toolbar,[data-theme="dark"] .record-card,[data-theme="dark"] .staff-card,[data-theme="dark"] .staff-calendar>article,[data-theme="dark"] .account-section,[data-theme="dark"] .login-card,[data-theme="dark"] .sailing-choice,[data-theme="dark"] .metric-card,[data-theme="dark"] .action-menu .menu-fields{background:#182c36;color:#e0ecf0}[data-theme="dark"] .sailing-choice span,[data-theme="dark"] .trip-timeline span{color:#bdd0d7}[data-theme="dark"] .sailing-choice.chosen,[data-theme="dark"] .context-bar,[data-theme="dark"] .schedule-detail-grid span,[data-theme="dark"] .trip-timeline article,[data-theme="dark"] .contact-list article{background:#24434c}
@media(max-width:760px){html,body,#app{max-width:100%;overflow-x:hidden}header{padding:14px 4%}header nav{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:6px}header nav a{padding:9px;background:#eef3f5;border-radius:5px;text-align:center}.admin,[data-collapsed="true"] .admin{display:block}.sidebar,[data-collapsed="true"] .sidebar{position:sticky;top:0;height:auto;min-height:0;padding:8px 10px;z-index:50;display:block;overflow:hidden}.sidebar .brand,.sidebar>.eyebrow,.sidebar-bottom{display:none!important}.sidebar nav,[data-collapsed="true"] .sidebar nav{display:flex;overflow-x:auto;gap:5px;margin:0;padding-bottom:3px}.sidebar nav button,[data-collapsed="true"] .sidebar nav button{flex:0 0 auto;white-space:nowrap;padding:10px 12px;text-align:center}.sidebar nav button>span:first-child{display:none!important}.sidebar nav button .nav-label,[data-collapsed="true"] .sidebar nav button .nav-label{display:inline}.workspace{padding:0 12px 28px;width:100%;overflow:hidden}.topline{height:48px;margin-bottom:20px}.workspace>.section-title{align-items:flex-end}.workspace h1{font-size:1.8rem}.toolbar,.primary-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px}.toolbar>*{min-width:0}.toolbar>input,.toolbar>select,.toolbar>button,.toolbar>.action-menu{width:100%;max-width:none}.toolbar .view-toggle{display:flex}.toolbar .view-toggle button{flex:1}.manifest-nav{grid-template-columns:1fr 1fr}.manifest-nav input{grid-column:1/-1;grid-row:1}.stats{grid-template-columns:1fr 1fr}.metric-card{padding:14px}.record-card{grid-template-columns:1fr auto;gap:10px}.record-card>div:first-child{grid-column:1/-1}.record-card .row-actions{justify-self:end}.record-card .row-actions .action-menu[open]{position:static}.booking-section{padding-left:12px;padding-right:12px}.booking-dates{display:block}.date-picker{margin-bottom:14px;padding:12px}.date-picker .section-title{display:block}.date-picker .view-toggle{margin-top:8px}.sailing-choice{display:block;padding:12px}.sailing-choice span{display:block;margin-top:5px}.trip-timeline{grid-template-columns:1fr 1fr}.table-wrap{overflow:visible;border:0;background:transparent}table,tbody{display:block;width:100%}thead{display:none}tr{display:block;background:#fff;border:1px solid var(--line);border-radius:8px;margin:9px 0;padding:8px}td{display:block;border:0;padding:7px 9px;overflow-wrap:anywhere}td+td{border-top:1px solid #edf0f2}.staff-calendar{grid-template-columns:1fr 1fr}.staff-calendar>b,.staff-calendar>span{display:none}.staff-calendar>article{min-height:70px}.staff-calendar-title{display:block}.staff-calendar-title .toolbar{display:flex}.permission-grid{grid-template-columns:1fr}.contact-list article{display:block}.contact-list article>div+div{margin-top:10px}.calendar{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.calendar-head,.calendar-blank{display:none}#schedule-results{overflow:visible}.schedule-detail-grid{grid-template-columns:1fr 1fr}.action-menu .menu-fields{min-width:0}.form-bottom button{width:100%}dialog{padding:18px;width:calc(100vw - 20px);max-width:none;max-height:94dvh}.manage,.login{margin:20px auto;padding:12px}.account-page h1{font-size:2rem}}
@media(max-width:420px){.stats,.trip-timeline,.schedule-detail-grid,.record-card,.toolbar,.primary-toolbar{grid-template-columns:1fr}.manifest-nav{grid-template-columns:1fr}.staff-calendar{grid-template-columns:1fr}.date-grid{gap:2px}.date-grid>span,.date-grid>button{min-height:38px;padding:3px;font-size:.76rem}.brand img{width:min(240px,82vw)}}

/* Overlay menus and compact operational layouts. */
.action-menu[open]{z-index:80}.action-menu[open]>*:not(summary){position:absolute!important;right:0;top:calc(100% + 5px);z-index:81;min-width:210px;max-width:min(340px,calc(100vw - 24px));background:#fff;color:var(--navy);box-shadow:0 12px 35px #102d4038}.action-menu>button{display:block;width:100%;text-align:left;border-radius:0;background:#fff;color:var(--navy);border-bottom:1px solid var(--line)}.calendar-day input[data-schedule-select],table input[data-schedule-select]{width:26px;height:26px;margin:-6px;padding:10px;cursor:pointer;accent-color:var(--teal)}.selected-sailing{display:grid;gap:4px;padding:12px;border-left:4px solid var(--teal);background:#eef5f6;border-radius:5px}.selected-sailing span,.portal-trip small{display:block;color:#536972}.portal-trip{padding:8px 0}.portal-trip+.portal-trip{border-top:1px solid var(--line)}
@media(max-width:760px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{min-height:108px;padding:11px}.metric-card strong{font-size:1.55rem;margin:4px 0}.metric-card span,.metric-card small{font-size:.72rem}.action-menu[open]>*:not(summary){position:fixed!important;left:12px;right:12px;top:auto;bottom:12px;max-width:none;max-height:70dvh;overflow:auto;border-radius:9px}.today-schedule .table-wrap,.manifest-run .table-wrap{overflow:visible}.manifest-run td,.reservation-mobile td{display:grid;grid-template-columns:minmax(95px,.8fr) 1fr;gap:8px}.schedule-nav{grid-template-columns:auto 1fr auto}.schedule-nav>strong{text-align:center}.schedule-nav #schedule-today,.schedule-nav #schedule-filter,.schedule-nav .view-toggle,.schedule-nav .action-menu{grid-column:auto/span 1}}
@media(max-width:420px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.trip-timeline,.schedule-detail-grid,.record-card,.toolbar,.primary-toolbar{grid-template-columns:1fr}.schedule-nav{grid-template-columns:auto 1fr auto}}
@media print{@page{size:landscape;margin:.4in}.manifest-run h2{margin:8px 0}.manifest-run{break-inside:avoid}.manifest-nav{display:none!important}}
