:root{color-scheme:dark;--bg:#06131f;--bg2:#0a2a3b;--surface:rgba(14,42,58,.68);--surface-strong:rgba(9,31,45,.88);--line:rgba(255,255,255,.14);--text:#f3f7f8;--muted:#a9bcc5;--gold:#e6b85c;--teal:#45c9c3;--shadow:0 18px 54px rgba(0,0,0,.28);--radius:16px;--blur:blur(22px)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text)}button,select{font:inherit}.backdrop{position:fixed;inset:0;background:radial-gradient(circle at 78% 8%,rgba(32,134,156,.3),transparent 34%),radial-gradient(circle at 15% 90%,rgba(41,94,126,.32),transparent 42%),linear-gradient(135deg,var(--bg),var(--bg2));z-index:0}.backdrop:after{content:"";position:absolute;inset:0;opacity:.13;background-image:linear-gradient(32deg,transparent 49.6%,rgba(255,255,255,.16) 50%,transparent 50.4%);background-size:90px 90px}.app-shell{position:relative;z-index:1;display:grid;grid-template-columns:250px 1fr;min-height:100vh;padding:16px;gap:16px}.glass{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur)}.sidebar{border-radius:var(--radius);padding:22px 14px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;color:var(--text);text-decoration:none;padding:0 8px 24px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,var(--gold),#b47925);color:#13202a;font-weight:900}.brand strong,.brand small{display:block}.brand small{color:var(--muted);font-size:.72rem;margin-top:2px}.sidebar nav{display:grid;gap:5px}.sidebar nav a,.admin-link{border:0;background:transparent;text-decoration:none;color:var(--muted);padding:12px 14px;border-radius:11px;text-align:left;cursor:pointer}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.09);color:var(--text)}.sidebar nav a.active{box-shadow:inset 3px 0 var(--gold)}.admin-link{margin-top:auto;border-top:1px solid var(--line);border-radius:0;padding-top:20px}.topbar{min-height:88px;border-radius:var(--radius);padding:16px 24px;display:flex;align-items:center;justify-content:space-between}.topbar h1{margin:2px 0;font-size:1.35rem}.eyebrow{font-size:.68rem;letter-spacing:.15em;font-weight:800;color:var(--gold)}.top-actions{display:flex;gap:14px;align-items:center}.theme-label{font-size:.75rem;color:var(--muted);display:flex;align-items:center;gap:8px}.theme-label select{border:1px solid var(--line);background:var(--surface-strong);color:var(--text);border-radius:9px;padding:8px}.avatar{border:1px solid var(--line);width:42px;height:42px;border-radius:50%;background:var(--surface-strong);color:var(--text);font-weight:800}.content{padding:34px 16px}.welcome{display:flex;align-items:end;justify-content:space-between;max-width:1400px;margin:auto auto 24px}.welcome h2{font-size:2rem;margin:5px 0}.welcome p{color:var(--muted);margin:5px 0}.primary{border:0;border-radius:11px;padding:12px 18px;background:var(--gold);color:#10202b;font-weight:800;cursor:pointer}.metric-grid,.dashboard-grid{max-width:1400px;margin:auto;display:grid;gap:16px}.metric-grid{grid-template-columns:repeat(4,1fr)}.metric{border-radius:var(--radius);padding:20px}.metric span,.metric small{display:block;color:var(--muted)}.metric strong{display:block;font-size:2.25rem;margin:10px 0 5px}.metric strong.time{font-size:1.8rem}.dashboard-grid{grid-template-columns:1.2fr .8fr;margin-top:16px}.panel{border-radius:var(--radius);padding:22px}.panel-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px}.panel-title h3{margin:4px 0}.panel-title button,.map-preview button{border:1px solid var(--line);background:rgba(255,255,255,.07);color:var(--text);border-radius:9px;padding:8px 11px}.event,.vessel{display:grid;grid-template-columns:68px 1fr auto;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.event time{font-weight:800}.event span strong,.event span small,.vessel span strong,.vessel span small{display:block}.event small,.vessel small{color:var(--muted);margin-top:4px}.status{font-style:normal;font-size:.7rem;text-transform:uppercase;font-weight:800;padding:6px 9px;border-radius:999px}.confirmed{color:#8ce2ca;background:rgba(40,174,139,.15)}.pending{color:#f1ce82;background:rgba(230,184,92,.14)}.vessel{grid-template-columns:18px 1fr auto}.vessel-icon{color:var(--gold)}.vessel-icon.live{color:var(--teal)}.vessel b{font-size:.68rem;color:var(--muted)}.map-preview{height:145px;border-radius:12px;margin-top:18px;background:linear-gradient(135deg,rgba(30,89,112,.5),rgba(10,34,48,.9));border:1px solid var(--line);display:flex;align-items:end;justify-content:space-between;padding:16px;color:var(--muted)}
[data-theme=professional-light]{color-scheme:light;--bg:#eef3f5;--bg2:#dce8ed;--surface:rgba(255,255,255,.88);--surface-strong:#fff;--line:rgba(18,42,57,.13);--text:#172d39;--muted:#61747d;--shadow:0 14px 40px rgba(30,61,77,.12);--blur:blur(14px)}[data-theme=professional-dark]{--bg:#11161b;--bg2:#1c252c;--surface:rgba(28,37,44,.92);--surface-strong:#182027;--gold:#d7b36a;--teal:#53c5bd;--blur:blur(10px)}[data-theme=high-contrast]{--bg:#000;--bg2:#000;--surface:#000;--surface-strong:#000;--line:#fff;--text:#fff;--muted:#fff;--gold:#ffdc00;--teal:#00ffff;--shadow:none;--blur:none}
@media(max-width:980px){.app-shell{grid-template-columns:1fr;padding:10px}.sidebar{display:none}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:600px){.topbar{padding:14px}.theme-label{display:none}.content{padding:22px 4px}.welcome{align-items:start;gap:20px;flex-direction:column}.welcome h2{font-size:1.55rem}.metric-grid{grid-template-columns:1fr 1fr}.metric{padding:15px}.metric strong{font-size:1.7rem}.event{grid-template-columns:50px 1fr}.event .status{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}@media(prefers-reduced-transparency:reduce){:root{--surface:#0d2838;--surface-strong:#071f2d;--blur:none}}
.brand-mark{width:48px;height:48px;background:rgba(255,255,255,.05);overflow:hidden}.brand-mark img{width:100%;height:100%;object-fit:contain}
.harbour-signout{position:fixed;right:18px;bottom:18px;z-index:10000;border:1px solid var(--line);border-radius:999px;padding:10px 16px;background:var(--surface-strong);color:var(--text);box-shadow:var(--shadow);font-weight:750;cursor:pointer}.harbour-signout:hover{border-color:var(--gold);color:var(--gold)}.harbour-signout:disabled{opacity:.7}
:root{--brand-link:#13c7e8}
.brand-link{color:var(--brand-link)}
.weather-metric{position:relative}.weather-metric a{color:var(--brand-link);font-size:.72rem;margin-top:5px}
.privacy-acknowledgement{max-width:610px;border:1px solid var(--line);border-radius:24px;padding:0;background:var(--surface-strong);color:var(--text);box-shadow:var(--shadow)}.privacy-acknowledgement::backdrop{background:rgba(1,10,18,.78);backdrop-filter:blur(8px)}.privacy-acknowledgement form{padding:28px}.privacy-acknowledgement h2{font-size:2rem;margin:.6rem 0}.privacy-acknowledgement p{color:var(--muted);line-height:1.55}.privacy-acknowledgement a{color:var(--brand-link)}

/* Shared navigation spacing for every full-width page header. */
:is(.admin-header,.support-header,.settings-header,.calendar-header,.shipping-header,.report-header,.mail-header,.visit-header,.vessel-header)>nav:not(.admin-navigation){display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px 14px;max-width:68%}
:is(.admin-header,.support-header,.settings-header,.calendar-header,.shipping-header,.report-header,.mail-header,.visit-header,.vessel-header)>nav:not(.admin-navigation)>a{display:inline-flex;align-items:center;min-height:40px;padding:8px 12px;border:1px solid transparent;border-radius:10px;color:var(--text);text-decoration:none;white-space:nowrap;line-height:1.2;transition:background-color .15s ease,border-color .15s ease,color .15s ease}
:is(.admin-header,.support-header,.settings-header,.calendar-header,.shipping-header,.report-header,.mail-header,.visit-header,.vessel-header)>nav:not(.admin-navigation)>a:hover,:is(.admin-header,.support-header,.settings-header,.calendar-header,.shipping-header,.report-header,.mail-header,.visit-header,.vessel-header)>nav:not(.admin-navigation)>a:focus-visible{background:rgba(255,255,255,.08);border-color:var(--line);color:var(--brand-link);outline:none}
@media(max-width:820px){:is(.admin-header,.support-header,.settings-header,.calendar-header,.shipping-header,.report-header,.mail-header,.visit-header,.vessel-header)>nav:not(.admin-navigation){max-width:100%;justify-content:flex-start;gap:7px 9px}:is(.admin-header,.support-header,.settings-header,.calendar-header,.shipping-header,.report-header,.mail-header,.visit-header,.vessel-header)>nav:not(.admin-navigation)>a{min-height:36px;padding:7px 10px}}
