/* Shipping Practice Lab V54.0 — Enterprise Experience Layer */
:root{
  --spl-z-tools:880;
  --spl-z-panel:920;
  --spl-z-modal:1000;
  --spl-control-size:46px;
  --spl-ease:cubic-bezier(.2,.8,.2,1);
}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.spl-skip-link{position:fixed;z-index:1200;left:16px;top:12px;padding:11px 16px;border-radius:10px;background:var(--spl-ink);color:var(--spl-surface);font-weight:800;transform:translateY(-160%);transition:transform .18s ease}
.spl-skip-link:focus{transform:translateY(0)}
.spl-eyebrow{margin:0 0 5px!important;font-size:.72rem!important;font-weight:850!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--spl-primary)!important}
.spl-icon-button{width:42px;height:42px;display:inline-grid;place-items:center;border:1px solid var(--spl-border);border-radius:12px;background:var(--spl-surface-2);color:var(--spl-ink);font-size:1.35rem;cursor:pointer}
.spl-icon-button:hover{border-color:var(--spl-primary);color:var(--spl-primary)}
.spl-enterprise-modal-open{overflow:hidden}
.spl-enterprise-backdrop{position:absolute;inset:0;background:var(--spl-overlay);backdrop-filter:blur(8px)}
.spl-enterprise-modal,.spl-search-overlay{position:fixed;z-index:var(--spl-z-modal);inset:0;display:grid;place-items:center;padding:22px}
.spl-enterprise-modal[hidden],.spl-search-overlay[hidden]{display:none}
.spl-enterprise-dialog,.spl-search-dialog{position:relative;width:min(100%,650px);max-height:min(90dvh,800px);overflow:auto;border:1px solid var(--spl-border);border-radius:24px;background:var(--spl-surface);box-shadow:0 35px 100px rgba(0,0,0,.28);color:var(--spl-text)}
.spl-dialog-head,.spl-search-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 24px 18px;border-bottom:1px solid var(--spl-border)}
.spl-dialog-head h2,.spl-search-dialog h2{margin:0;color:var(--spl-ink);font-size:1.55rem}

/* Global tool launchers */
.spl-global-tool-button,.spl-notification-button{position:fixed;z-index:var(--spl-z-tools);height:var(--spl-control-size);border:1px solid color-mix(in srgb,var(--spl-primary) 28%,var(--spl-border));background:color-mix(in srgb,var(--spl-surface) 94%,transparent);color:var(--spl-ink);box-shadow:var(--spl-shadow-sm);backdrop-filter:blur(14px);cursor:pointer;transition:transform .18s var(--spl-ease),border-color .18s ease,box-shadow .18s ease}
.spl-global-tool-button:hover,.spl-notification-button:hover{transform:translateY(-2px);border-color:var(--spl-primary);box-shadow:var(--spl-shadow-md)}
.spl-global-tool-button{bottom:22px;display:flex;align-items:center;gap:8px;padding:0 15px;border-radius:999px;font-weight:800}
.spl-global-tool-button>span:first-child{font-size:1.08rem;color:var(--spl-primary)}
.spl-global-search-button{right:155px}
.spl-ai-launcher{right:22px;background:var(--spl-primary);color:#fff;border-color:var(--spl-primary)}
.spl-ai-launcher>span:first-child{color:#fff}
.spl-notification-button{right:22px;top:max(86px,calc(env(safe-area-inset-top) + 70px));width:var(--spl-control-size);border-radius:50%;font-size:1.2rem}
.spl-notification-button::after{content:attr(data-count);position:absolute;right:-4px;top:-5px;display:none;min-width:19px;height:19px;padding:0 4px;place-items:center;border-radius:999px;background:var(--spl-danger);color:#fff;font-size:.68rem;font-weight:900;border:2px solid var(--spl-surface)}
.spl-notification-button.has-unread::after{display:grid}

/* Toasts */
.spl-toast-region{position:fixed;z-index:1100;right:18px;top:18px;display:grid;gap:10px;width:min(390px,calc(100vw - 36px));pointer-events:none}
.spl-toast{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:15px 16px;border:1px solid var(--spl-border);border-left:4px solid var(--spl-primary);border-radius:14px;background:var(--spl-surface);box-shadow:var(--spl-shadow-md);color:var(--spl-text);opacity:0;transform:translateY(-12px);transition:.22s var(--spl-ease);pointer-events:auto}
.spl-toast.is-visible{opacity:1;transform:none}.spl-toast-success{border-left-color:var(--spl-success)}.spl-toast-warning{border-left-color:var(--spl-warning)}.spl-toast-error{border-left-color:var(--spl-danger)}
.spl-toast strong{display:block;color:var(--spl-ink)}.spl-toast p{margin:3px 0 0;color:var(--spl-muted);font-size:.9rem}.spl-toast button{border:0;background:transparent;color:var(--spl-muted);font-size:1.2rem;cursor:pointer}

/* Unified authentication */
.spl-auth-dialog{width:min(100%,610px)}
.spl-auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin:20px 24px 0;padding:4px;border:1px solid var(--spl-border);border-radius:12px;background:var(--spl-surface-2)}
.spl-auth-tabs button{min-height:40px;border:0;border-radius:9px;background:transparent;color:var(--spl-muted);font-weight:800;cursor:pointer}
.spl-auth-tabs button[aria-selected="true"]{background:var(--spl-surface);color:var(--spl-ink);box-shadow:var(--spl-shadow-sm)}
.spl-auth-modal-status{min-height:0;margin:14px 24px 0;padding:0;color:var(--spl-danger);font-weight:700;font-size:.9rem}
.spl-auth-modal-status:not(:empty){padding:11px 13px;border:1px solid color-mix(in srgb,var(--spl-danger) 35%,var(--spl-border));border-radius:10px;background:color-mix(in srgb,var(--spl-danger) 8%,var(--spl-surface))}
.spl-auth-modal-status[data-kind="info"]{color:var(--spl-primary);border-color:color-mix(in srgb,var(--spl-primary) 35%,var(--spl-border));background:var(--spl-primary-soft)}
.spl-auth-modal-form{display:grid;gap:15px;padding:20px 24px 10px}
.spl-auth-modal-form label{display:grid;gap:7px;color:var(--spl-ink);font-weight:800;font-size:.9rem}
.spl-auth-modal-form input{min-height:48px;width:100%;padding:0 14px;border:1px solid var(--spl-border-strong);border-radius:11px;background:var(--spl-surface-2);color:var(--spl-ink)}
.spl-auth-modal-form input:focus{border-color:var(--spl-primary)}
.spl-auth-security{min-height:65px;display:grid;place-items:center;padding:4px 0}
.spl-auth-submit{width:100%;min-height:48px}.spl-auth-forgot{justify-self:center;color:var(--spl-primary);font-weight:750;font-size:.9rem}
.spl-auth-trust{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;padding:14px 24px 22px;color:var(--spl-muted);font-size:.73rem}
.spl-auth-trust span{padding:5px 8px;border:1px solid var(--spl-border);border-radius:999px;background:var(--spl-surface-2)}
.spl-nav-logout{min-height:34px;padding:0 10px;border:1px solid var(--spl-border);border-radius:8px;background:transparent;color:var(--spl-muted);font-weight:750;cursor:pointer}

/* Global Search */
.spl-search-dialog{width:min(100%,760px);overflow:hidden}
.spl-search-field{display:flex;align-items:center;gap:12px;margin:18px 20px 10px;padding:0 16px;border:1px solid var(--spl-border-strong);border-radius:14px;background:var(--spl-surface-2)}
.spl-search-field>span{font-size:1.4rem;color:var(--spl-primary)}
.spl-search-field input{width:100%;height:54px;border:0;outline:0;background:transparent;color:var(--spl-ink);font-size:1rem}
.spl-search-results{display:grid;gap:5px;max-height:55dvh;overflow:auto;padding:8px 14px 18px}
.spl-search-result{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:12px;border:1px solid transparent;border-radius:12px;color:var(--spl-text);text-decoration:none}
.spl-search-result:hover,.spl-search-result:focus-visible{background:var(--spl-surface-2);border-color:var(--spl-border)}
.spl-search-result strong{display:block;color:var(--spl-ink)}.spl-search-result small{display:block;margin-top:3px;color:var(--spl-muted);line-height:1.35}
.spl-search-type{min-width:70px;padding:5px 8px;border-radius:999px;background:var(--spl-primary-soft);color:var(--spl-primary);font-size:.67rem;font-weight:900;text-align:center;text-transform:uppercase;letter-spacing:.05em}
.spl-search-empty{padding:40px 20px;text-align:center;color:var(--spl-muted)}
.spl-search-dialog>footer{display:flex;justify-content:space-between;padding:10px 20px;border-top:1px solid var(--spl-border);background:var(--spl-surface-2);color:var(--spl-muted);font-size:.75rem}

/* AI Tutor */
.spl-ai-panel{position:fixed;z-index:var(--spl-z-panel);right:18px;bottom:82px;width:min(430px,calc(100vw - 36px));height:min(690px,calc(100dvh - 120px));display:grid;grid-template-rows:auto auto 1fr auto auto auto;border:1px solid var(--spl-border);border-radius:22px;background:var(--spl-surface);box-shadow:0 28px 90px rgba(0,0,0,.3);overflow:hidden;color:var(--spl-text)}
.spl-ai-panel[hidden]{display:none}.spl-ai-panel>header,.spl-notification-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:18px 18px 14px;border-bottom:1px solid var(--spl-border);background:linear-gradient(135deg,var(--spl-surface),var(--spl-surface-2))}
.spl-ai-panel h2,.spl-notification-panel h2{margin:0;color:var(--spl-ink);font-size:1.18rem}
.spl-ai-context{padding:8px 16px;border-bottom:1px solid var(--spl-border);color:var(--spl-muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spl-ai-messages{display:flex;flex-direction:column;gap:10px;overflow:auto;padding:16px;background:color-mix(in srgb,var(--spl-page) 55%,var(--spl-surface))}
.spl-ai-message{max-width:88%;padding:11px 12px;border:1px solid var(--spl-border);border-radius:15px;background:var(--spl-surface);box-shadow:0 4px 14px rgba(0,0,0,.04)}
.spl-ai-message p{margin:0;color:var(--spl-text);line-height:1.48;font-size:.91rem;white-space:pre-wrap}.spl-ai-user{align-self:flex-end;background:var(--spl-primary);border-color:var(--spl-primary)}.spl-ai-user p{color:#fff}
.spl-ai-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.spl-ai-links a{padding:6px 9px;border-radius:999px;background:var(--spl-primary-soft);color:var(--spl-primary);font-size:.74rem;font-weight:800;text-decoration:none}
.spl-ai-thinking{padding:8px 12px;color:var(--spl-muted);font-size:1.4rem;animation:splPulse 1s infinite alternate}
@keyframes splPulse{to{opacity:.35}}
.spl-ai-suggestions{display:flex;gap:7px;padding:10px 12px;overflow-x:auto;border-top:1px solid var(--spl-border)}
.spl-ai-suggestions button{flex:0 0 auto;padding:7px 9px;border:1px solid var(--spl-border);border-radius:999px;background:var(--spl-surface-2);color:var(--spl-text);font-size:.73rem;cursor:pointer}
.spl-ai-panel form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 12px;border-top:1px solid var(--spl-border)}
.spl-ai-panel textarea{width:100%;min-height:48px;max-height:110px;resize:vertical;padding:10px 12px;border:1px solid var(--spl-border-strong);border-radius:11px;background:var(--spl-surface-2);color:var(--spl-ink)}
.spl-ai-disclaimer{margin:0;padding:0 13px 10px;color:var(--spl-muted);font-size:.64rem;text-align:center}

/* Notification centre */
.spl-notification-panel{position:fixed;z-index:var(--spl-z-panel);right:18px;top:max(142px,calc(env(safe-area-inset-top) + 126px));width:min(390px,calc(100vw - 36px));max-height:65dvh;display:grid;grid-template-rows:auto 1fr auto;border:1px solid var(--spl-border);border-radius:20px;background:var(--spl-surface);box-shadow:var(--spl-shadow-md);overflow:hidden;color:var(--spl-text)}
.spl-notification-panel[hidden]{display:none}.spl-notification-list{overflow:auto;padding:8px}.spl-notification-item{display:grid;grid-template-columns:8px 1fr;gap:11px;padding:12px;border-radius:12px;color:var(--spl-text);text-decoration:none}.spl-notification-item:hover{background:var(--spl-surface-2)}
.spl-notification-item>span{width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--spl-primary)}.spl-notification-success>span{background:var(--spl-success)}.spl-notification-warning>span{background:var(--spl-warning)}.spl-notification-error>span{background:var(--spl-danger)}.spl-notification-item.is-read>span{background:var(--spl-border-strong)}
.spl-notification-item strong{display:block;color:var(--spl-ink);font-size:.88rem}.spl-notification-item p{margin:3px 0;color:var(--spl-muted);font-size:.8rem;line-height:1.4}.spl-notification-item time{color:var(--spl-muted);font-size:.66rem}.spl-notification-empty{padding:35px 15px;text-align:center;color:var(--spl-muted)}
.spl-notification-panel>footer{display:flex;justify-content:space-between;padding:10px 12px;border-top:1px solid var(--spl-border)}.spl-notification-panel>footer button{border:0;background:transparent;color:var(--spl-primary);font-size:.75rem;font-weight:800;cursor:pointer}

/* Enterprise Dashboard enhancement */
.spl-enterprise-dashboard{width:min(1280px,calc(100% - 32px));margin:24px auto 18px;padding:26px;border:1px solid var(--spl-border);border-radius:24px;background:linear-gradient(145deg,var(--spl-surface),var(--spl-surface-2));box-shadow:var(--spl-shadow-sm);color:var(--spl-text)}
.spl-enterprise-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.spl-enterprise-dashboard h1{margin:0;color:var(--spl-ink);font-size:clamp(1.55rem,3vw,2.45rem)}.spl-enterprise-dashboard-head p:not(.spl-eyebrow){margin:8px 0 0;color:var(--spl-muted)}
.spl-dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}.spl-dashboard-metrics article{padding:16px;border:1px solid var(--spl-border);border-radius:14px;background:var(--spl-surface)}.spl-dashboard-metrics span{display:block;color:var(--spl-muted);font-size:.78rem}.spl-dashboard-metrics strong{display:block;margin-top:6px;color:var(--spl-ink);font-size:1.55rem}
.spl-dashboard-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.spl-dashboard-actions a{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border:1px solid var(--spl-border);border-radius:12px;background:var(--spl-surface-2);color:var(--spl-ink);font-weight:800;text-decoration:none}.spl-dashboard-actions a:hover{border-color:var(--spl-primary);color:var(--spl-primary)}

/* Shared component upgrades */
:where(.spl-enterprise-dashboard,.spl-enterprise-dialog,.spl-search-dialog,.spl-ai-panel,.spl-notification-panel) *{box-sizing:border-box}
:where(input,textarea,select):disabled,:where(button):disabled{cursor:not-allowed;opacity:.58}
@media(max-width:780px){
  .spl-tool-label{display:none}.spl-global-tool-button{width:var(--spl-control-size);padding:0;justify-content:center}.spl-global-search-button{right:84px}.spl-ai-launcher{right:22px}
  .spl-enterprise-modal,.spl-search-overlay{padding:10px;align-items:end}.spl-enterprise-dialog,.spl-search-dialog{max-height:91dvh;border-radius:22px 22px 10px 10px}
  .spl-ai-panel{right:8px;bottom:76px;width:calc(100vw - 16px);height:min(720px,calc(100dvh - 92px));border-radius:18px}
  .spl-dashboard-metrics{grid-template-columns:repeat(2,1fr)}.spl-dashboard-actions{grid-template-columns:1fr}.spl-enterprise-dashboard-head{display:grid}.spl-enterprise-dashboard{width:calc(100% - 20px);padding:20px}
}
@media(max-width:480px){.spl-dashboard-metrics{grid-template-columns:1fr 1fr}.spl-auth-tabs{margin-inline:16px}.spl-auth-modal-form{padding-inline:16px}.spl-dialog-head{padding-inline:16px}.spl-search-type{min-width:58px}.spl-search-result{grid-template-columns:auto 1fr}.spl-search-result>span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.spl-ai-thinking{animation:none}}

/* V54.2 mobile stability: floating desktop tools must not cover mobile content. */
@media(max-width:780px){
  .spl-global-tool-button,.spl-notification-button,.spl-ai-panel,.spl-notification-panel,.spl-search-overlay{display:none!important}
  html.spl-enterprise-modal-open:not(.spl-auth-modal-open){overflow:auto}
}

/* V54.3 — global theme repair and restored office hero */
html.spl-theme-changing *,
html.spl-theme-changing *::before,
html.spl-theme-changing *::after{
  transition-property:background-color,border-color,color,fill,stroke,box-shadow!important;
  transition-duration:.18s!important;
  transition-timing-function:ease!important;
}

/* Homepage: keep the modern office visible while preserving readable content. */
body.spl-home-v3 .spl3-hero{
  background-image:
    linear-gradient(90deg,rgba(4,21,35,.28) 0%,rgba(4,21,35,.10) 48%,rgba(4,21,35,.04) 72%,rgba(4,21,35,.16) 100%),
    url('/hero-maritime-office-v2.png')!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-position:center center!important;
}
body.spl-home-v3 .spl3-hero::before{
  position:absolute;
  z-index:-1;
  inset:0;
  content:"";
  pointer-events:none;
  background:linear-gradient(90deg,rgba(3,18,31,.18),transparent 68%);
}
body.spl-home-v3 .spl3-hero-copy{
  text-shadow:0 2px 22px rgba(0,0,0,.26);
}

/* Explicit light palette: prevents stale dark-theme inheritance after switching. */
html[data-theme="light"] body.spl-home-v3{
  color:#10293a!important;
  background:#e9edeb!important;
}
html[data-theme="light"] body.spl-home-v3 .site-header.spl-universal-header{
  background:rgba(239,241,237,.96)!important;
  border-bottom-color:rgba(16,41,58,.12)!important;
}
html[data-theme="light"] body.spl-home-v3 .spl3-purpose{
  background:#e7ebe8!important;
  border-bottom-color:#cdd6d5!important;
}
html[data-theme="light"] body.spl-home-v3 .spl3-areas{
  background:radial-gradient(circle at 85% 10%,rgba(10,124,135,.06),transparent 25%),#f0f2ee!important;
}
html[data-theme="light"] body.spl-home-v3 :is(.spl3-purpose-intro h2,.spl3-purpose-points h3,.spl3-section-head h2){color:#10293a!important}
html[data-theme="light"] body.spl-home-v3 :is(.spl3-purpose-intro>p:last-child,.spl3-purpose-points p,.spl3-section-head>p){color:#536a76!important}
html[data-theme="light"] body.spl-home-v3 .spl3-area-card:not(.spl3-area-featured){background:rgba(247,248,244,.82)!important;color:#10293a!important;border-color:#cad3d2!important}
html[data-theme="light"] body.spl-home-v3 .spl3-area-card:not(.spl3-area-featured) h3{color:#10293a!important}
html[data-theme="light"] body.spl-home-v3 .spl3-area-card:not(.spl3-area-featured) p{color:#5a6e78!important}

/* Full dark homepage, including the formerly light purpose and category sections. */
html[data-theme="dark"] body.spl-home-v3{
  color:#d9e6ec!important;
  background:#06131d!important;
}
html[data-theme="dark"] body.spl-home-v3 .site-header.spl-universal-header{
  background:rgba(5,18,29,.95)!important;
  border-bottom-color:#29404d!important;
}
html[data-theme="dark"] body.spl-home-v3 .spl3-purpose{
  background:#091b27!important;
  border-bottom-color:#29404d!important;
}
html[data-theme="dark"] body.spl-home-v3 .spl3-areas{
  background:radial-gradient(circle at 85% 10%,rgba(105,191,217,.08),transparent 28%),#07131d!important;
}
html[data-theme="dark"] body.spl-home-v3 :is(.spl3-purpose-intro h2,.spl3-purpose-points h3,.spl3-section-head h2){color:#f2f7fa!important}
html[data-theme="dark"] body.spl-home-v3 :is(.spl3-purpose-intro>p:last-child,.spl3-purpose-points p,.spl3-section-head>p){color:#9bb0bb!important}
html[data-theme="dark"] body.spl-home-v3 :is(.spl3-purpose-points,.spl3-purpose-points article,.spl3-section-head,.spl3-area-grid){border-color:#29404d!important}
html[data-theme="dark"] body.spl-home-v3 .spl3-area-card:not(.spl3-area-featured){
  background:#0d1d29!important;
  color:#d9e6ec!important;
  border-color:#29404d!important;
}
html[data-theme="dark"] body.spl-home-v3 .spl3-area-card:not(.spl3-area-featured):hover{background:#112532!important}
html[data-theme="dark"] body.spl-home-v3 .spl3-area-card:not(.spl3-area-featured) h3{color:#f2f7fa!important}
html[data-theme="dark"] body.spl-home-v3 .spl3-area-card:not(.spl3-area-featured) p{color:#9bb0bb!important}
html[data-theme="dark"] body.spl-home-v3 .spl3-area-card:not(.spl3-area-featured)>b{color:#69bfd9!important}
html[data-theme="dark"] body.spl-home-v3 .spl3-area-featured{border-color:#315464!important}

/* Glossary: convert every fixed light surface instead of only changing its text. */
html[data-theme="light"] body .mg-hero{
  background:linear-gradient(145deg,#f9fbf9,#e7f0f1)!important;
  border-bottom-color:#d7e1e4!important;
}
html[data-theme="light"] body .mg-main{background:#f7f8f5!important;color:#0a2131!important}
html[data-theme="light"] body :is(.mg-card,.mg-detail,.mg-stat,.mg-box,.mg-related button,.mg-load button,.mg-detail-close){background:#fff!important;color:#0a2131!important;border-color:#d7e1e4!important}
html[data-theme="light"] body :is(.mg-card h2,.mg-detail h2,.mg-summary strong,.mg-sources h2){color:#0a2131!important}
html[data-theme="light"] body :is(.mg-card h3,.mg-detail h3){color:#385a6b!important}
html[data-theme="light"] body :is(.mg-card p,.mg-hero-copy,.mg-explanation,.mg-summary,.mg-sources){color:#607684!important}
html[data-theme="light"] body .mg-toolbar{background:rgba(247,248,245,.94)!important}
html[data-theme="light"] body :is(.mg-search input,.mg-filters button){background:#fff!important;color:#496270!important;border-color:#c9d7da!important}

html[data-theme="dark"] body .mg-hero{
  background:linear-gradient(145deg,#0d1d29,#07131d)!important;
  border-bottom-color:#29404d!important;
}
html[data-theme="dark"] body .mg-main{background:#07131d!important;color:#d9e6ec!important}
html[data-theme="dark"] body .mg-toolbar{
  background:rgba(7,19,29,.94)!important;
  border-color:#29404d!important;
}
html[data-theme="dark"] body :is(.mg-card,.mg-detail,.mg-stat,.mg-box,.mg-related button,.mg-load button,.mg-detail-close,.mg-sources){
  background:#0d1d29!important;
  color:#d9e6ec!important;
  border-color:#29404d!important;
}
html[data-theme="dark"] body .mg-card:hover{background:#112532!important;border-color:#3a5664!important;box-shadow:0 14px 34px rgba(0,0,0,.25)!important}
html[data-theme="dark"] body :is(.mg-card h2,.mg-detail h2,.mg-summary strong,.mg-sources h2){color:#f2f7fa!important}
html[data-theme="dark"] body :is(.mg-card h3,.mg-detail h3){color:#b9d1dc!important}
html[data-theme="dark"] body :is(.mg-card p,.mg-hero-copy,.mg-explanation,.mg-summary,.mg-sources,.mg-detail-empty){color:#9bb0bb!important}
html[data-theme="dark"] body :is(.mg-search input,.mg-filters button,.mg-load button,.mg-related button){
  background:#112532!important;
  color:#d9e6ec!important;
  border-color:#3a5664!important;
}
html[data-theme="dark"] body .mg-search button,
html[data-theme="dark"] body .mg-filters button.active,
html[data-theme="dark"] body .mg-link{background:#69bfd9!important;color:#07131d!important;border-color:#69bfd9!important}
html[data-theme="dark"] body .mg-box{background:#162c3a!important}
html[data-theme="dark"] body .spl-glossary-pager{background:#0d1d29!important;border-color:#29404d!important}
html[data-theme="dark"] body .spl-glossary-pager span{color:#9bb0bb!important}

/* Common legacy surfaces that previously became unreadable during theme changes. */
html[data-theme="dark"] body :is(.mg-card,.spl-glossary-pager,.spl3-purpose,.spl3-areas){color-scheme:dark}
html[data-theme="light"] body :is(.mg-card,.spl-glossary-pager,.spl3-purpose,.spl3-areas){color-scheme:light}

@media(max-width:760px){
  body.spl-home-v3 .spl3-hero{
    background-position:64% center!important;
  }
  body.spl-home-v3 .spl3-hero::before{
    background:linear-gradient(180deg,rgba(3,18,31,.18),rgba(3,18,31,.42))!important;
  }
  body.spl-home-v3 .spl3-hero-layout{
    min-height:700px;
  }
}

/* V62 Maritime Case Studies dashboard integration */
.spl-case-study-progress{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);gap:24px;align-items:center;margin-top:12px;padding:20px;border:1px solid var(--spl-border);border-radius:16px;background:linear-gradient(135deg,var(--spl-surface),var(--spl-surface-2))}.spl-case-study-progress h2{margin:0;color:var(--spl-ink);font-size:1.35rem}.spl-case-study-progress p:not(.spl-eyebrow){margin:8px 0 0;color:var(--spl-muted)}.spl-case-study-meter strong{display:block;color:var(--spl-ink);font-size:1.7rem}.spl-case-study-meter>span{display:block;margin-top:3px;color:var(--spl-muted);font-size:.73rem}.spl-case-study-meter i{display:block;height:6px;margin:13px 0;border-radius:99px;background:var(--spl-border);overflow:hidden}.spl-case-study-meter i b{display:block;height:100%;border-radius:inherit;background:var(--spl-primary)}.spl-case-study-meter a{display:flex;align-items:center;justify-content:space-between;color:var(--spl-primary);font-weight:850;text-decoration:none}.spl-case-study-meter a:hover{text-decoration:underline;text-underline-offset:4px}@media(max-width:760px){.spl-case-study-progress{grid-template-columns:1fr}}
