/* Shared AMC palette; operational cargo/event/warning colours are not remapped. */
html[data-maritime-theme] {color-scheme:var(--mt-scheme);--shell:var(--mt-surface);--bg:var(--mt-surface);--bg2:var(--mt-panel);--bg3:var(--mt-raised);--bg4:var(--mt-hover);--panel:var(--mt-panel);--panel2:var(--mt-raised);--border:var(--mt-line);--line:var(--mt-line);--text:var(--mt-text);--muted:var(--mt-muted);--dim:var(--mt-muted);--accent:var(--mt-accent);--accent2:var(--mt-accent)}
html[data-maritime-theme] body,html[data-maritime-theme] .stApp,html[data-maritime-theme] [data-testid="stAppViewContainer"],html[data-maritime-theme] [data-testid="stMain"],html[data-maritime-theme] .main {background:var(--mt-surface)!important;color:var(--mt-text)!important;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
html[data-maritime-theme] :is(.card,.panel,.permItem,.smsAssignList,.userPopover,.userMenuBtn,.weekDayCard,.safetyActionCard,.appTopbar,.appnav,.topbar,.ch,.cb,.sec,.nb,.box,.help-dialog,dialog,[data-testid="stMetric"],[data-testid="stExpander"],[data-testid="stFileUploaderDropzone"],[data-baseweb="popover"]) {background:var(--mt-panel)!important;color:var(--mt-text)!important;border-color:var(--mt-line);box-shadow:none}
html[data-maritime-theme] :is(#appNav,.sidebar,[data-testid="stSidebar"],header[data-testid="stHeader"]) {background:var(--mt-panel)!important;color:var(--mt-text)!important;border-color:var(--mt-line)!important}
html[data-maritime-theme] :is(.appTopbarTitle,.appTopbarMeta,.muted,.accessMeta,.certHeader,.certStatus,small,[data-testid="stCaptionContainer"]) {color:var(--mt-muted)!important}
html[data-maritime-theme] :is(h1,h2,h3,h4,h5,h6,legend,label,summary,[data-testid="stMetricValue"],[data-testid="stMetricLabel"]) {color:var(--mt-text)}
html[data-maritime-theme] :is(input,select,textarea,[data-baseweb="input"],[data-baseweb="select"]>div) {background:var(--mt-surface)!important;color:var(--mt-text)!important;border-color:var(--mt-line)!important;border-radius:8px}
html[data-maritime-theme] :is(button,.btn,.bf,.bf2,[data-testid="stDownloadButton"] a) {background:var(--mt-secondary-button)!important;color:var(--mt-text)!important;border:1px solid var(--mt-line)!important;border-radius:8px!important;font-family:inherit;box-shadow:none!important}
html[data-maritime-theme] :is(button,.btn,.bf,.bf2):hover:not(:disabled) {background:var(--mt-hover)!important;border-color:var(--mt-accent)!important}
html[data-maritime-theme] :is(button,input,select,textarea,a):focus-visible {outline:2px solid var(--mt-accent)!important;outline-offset:2px}
html[data-maritime-theme] :is(button.active,button[aria-selected="true"],button[aria-current="page"],.nb.active,.tab.active) {background:var(--mt-selected)!important;color:var(--mt-accent)!important;border-color:var(--mt-selected-line)!important}
html[data-maritime-theme] :is(button.primary,[data-testid="stBaseButton-primary"]) {background:var(--mt-accent)!important;color:var(--mt-on-accent)!important;border-color:var(--mt-accent)!important}
html[data-maritime-theme] :is(.certRemove,.smsRemove,button.danger,button.bad,.danger-button) {background:var(--mt-danger-bg)!important;color:var(--mt-danger-fg)!important;border-color:var(--mt-danger-fg)!important}
html[data-maritime-theme] :is(button:disabled,input:disabled,select:disabled) {opacity:.55;cursor:not-allowed}
html[data-maritime-theme] :is(pre,code,.badge,.wkBadge,[data-baseweb="tag"]) {background:var(--mt-raised);color:var(--mt-text);border-color:var(--mt-line)}
html[data-maritime-theme] :is(table,td,th) {border-color:var(--mt-line)}
html[data-maritime-theme] th {background:var(--mt-raised);color:var(--mt-text)}
html[data-maritime-theme] a {color:var(--mt-accent)}
html[data-maritime-theme] .mt-theme-picker {display:flex;align-items:center;justify-content:flex-end;gap:8px;font:13px system-ui,sans-serif;color:var(--mt-muted);margin:4px 8px;flex-wrap:nowrap}
html[data-maritime-theme] .mt-theme-picker select {padding:7px 10px;max-width:190px;min-height:34px;border:1px solid var(--mt-line);color:var(--mt-text);background:var(--mt-panel)}
html[data-maritime-theme] #mt-theme-toolbar {position:relative;z-index:95;display:flex;justify-content:flex-end;padding:3px 14px;border-bottom:1px solid var(--mt-line);background:var(--mt-surface)}
html[data-maritime-theme] .mt-source-theme-bar {display:flex;justify-content:flex-end;align-items:center;gap:8px;min-height:38px;font:13px system-ui;color:var(--mt-muted)}
@media(max-width:700px){html[data-maritime-theme] .mt-theme-picker{font-size:12px}html[data-maritime-theme] .mt-theme-picker select{max-width:165px}}
@media print{#mt-theme-toolbar,.mt-theme-picker{display:none!important}html[data-maritime-theme] body{background:white!important;color:black!important}}

html[data-maritime-theme] .safetyActionCard.prepared{border-left-color:var(--good,#22845f)!important}
html[data-maritime-theme] .safetyActionCard.review{border-left-color:var(--warn,#b87a18)!important}

/* Native widget children use their own inherited colours; cover open/hover states. */
html[data-maritime-theme] [data-testid="stExpander"] details>summary,
html[data-maritime-theme] [data-testid="stExpander"] details>summary:hover,
html[data-maritime-theme] [data-testid="stExpander"] details[open]>summary {
 background:var(--mt-panel)!important;color:var(--mt-text)!important;border-color:var(--mt-line)!important;
}
html[data-maritime-theme] :is([data-testid="stRadio"],[data-testid="stCheckbox"],[data-testid="stSelectbox"],[data-testid="stMultiSelect"],[data-testid="stExpander"] summary) :is(label,p,span) {color:var(--mt-text)!important}
html[data-maritime-theme] :is([role="listbox"],[role="menu"],[role="dialog"],[data-baseweb="menu"],[data-baseweb="popover"]>div) {background:var(--mt-panel)!important;color:var(--mt-text)!important;border-color:var(--mt-line)!important}
html[data-maritime-theme] :is([role="option"],[role="menuitem"]) {background:var(--mt-panel)!important;color:var(--mt-text)!important}
html[data-maritime-theme] :is([role="option"],[role="menuitem"]):hover,
html[data-maritime-theme] [role="option"][aria-selected="true"] {background:var(--mt-selected)!important;color:var(--mt-text)!important}
html[data-maritime-theme] :is(input,textarea)::placeholder{color:var(--mt-muted)!important;opacity:1}

/* Shared geometry: rem units preserve proportions under browser zoom. */
html[data-maritime-theme]{--mt-control-height:3rem;--mt-icon-size:2.25rem;--mt-card-height:9rem;--mt-control-gap:.75rem}
html[data-maritime-theme] :is(button,.btn,.bf,.bf2){box-sizing:border-box!important;height:var(--mt-control-height)!important;min-height:var(--mt-control-height)!important;line-height:1.15!important;padding:.35rem .75rem!important;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;white-space:normal}
html[data-maritime-theme] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),select){box-sizing:border-box;height:var(--mt-control-height)!important;min-height:var(--mt-control-height)!important}
html[data-maritime-theme] :is(#sidebarToggle,.miniX,.dbtn,.sb2-del,.ldel,.csi .dbtn,[data-testid="stBaseButton-headerNoPadding"],[data-testid="stBaseButton-elementToolbar"]){width:var(--mt-icon-size)!important;min-width:var(--mt-icon-size)!important;height:var(--mt-icon-size)!important;min-height:var(--mt-icon-size)!important;padding:0!important;flex:0 0 var(--mt-icon-size)}
html[data-maritime-theme] [data-testid="stMetric"]{box-sizing:border-box!important;width:100%!important;height:var(--mt-card-height)!important;min-height:var(--mt-card-height)!important;border:1px solid var(--mt-line)!important;border-radius:.875rem!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;gap:.25rem!important;padding:.85rem 1rem!important}
html[data-maritime-theme] [data-testid="stMetricLabel"]{min-height:1.5rem;line-height:1.25}
html[data-maritime-theme] [data-testid="stMetricValue"]{line-height:1.15}
html[data-maritime-theme] [data-testid="stMetricDelta"]{margin-top:auto;min-height:1.5rem;line-height:1.2}
html[data-maritime-theme] :is([data-testid="stButton"],[data-testid="stDownloadButton"])>button{width:100%}

html[data-maritime-theme] :is([data-baseweb="input"],[data-baseweb="select"]>div){min-height:var(--mt-control-height)!important}

/* Help icons are label adornments, not full-size action buttons. */
html[data-maritime-theme] [data-testid="stWidgetLabel"] [data-testid="stTooltipIcon"] button{width:1.25rem!important;min-width:1.25rem!important;height:1.25rem!important;min-height:1.25rem!important;padding:0!important;border:0!important;background:transparent!important;border-radius:50%!important;flex:0 0 1.25rem}
html[data-maritime-theme] [data-testid="stWidgetLabel"]{min-height:1.5rem;align-items:center}
/* Match text and numeric input outer boxes; nested inputs fill rather than enlarge them. */
html[data-maritime-theme] :is([data-testid="stTextInputRootElement"],[data-testid="stNumberInputContainer"]){height:var(--mt-control-height)!important;min-height:var(--mt-control-height)!important;box-sizing:border-box!important}
html[data-maritime-theme] [data-testid="stNumberInputContainer"]{padding:0!important;align-items:stretch!important}
html[data-maritime-theme] :is([data-testid="stTextInputRootElement"],[data-testid="stNumberInputContainer"]) :is(input,[data-baseweb="input"],[data-baseweb="base-input"],button){height:100%!important;min-height:0!important;box-sizing:border-box!important}

html[data-maritime-theme] [data-testid="stTextInput"] input:disabled{opacity:1!important;color:var(--mt-muted)!important;-webkit-text-fill-color:var(--mt-muted)!important}

/* Compact IMDG summary; other operational cards retain their standard size. */
html[data-maritime-theme] .st-key-imdg_summary_cards [data-testid="stMetric"]{height:calc(var(--mt-card-height) - .5rem)!important;min-height:calc(var(--mt-card-height) - .5rem)!important}
/* A checkbox occupies the same control row as adjacent labelled fields. */
html[data-maritime-theme] [data-testid="stCheckbox"]{min-height:var(--mt-control-height);display:flex;align-items:center}

/* Chief Assistant screen appearance only. Preserved operational engines and print layouts remain untouched. */
@media screen {
html[data-maritime-theme]{--mt-control-height:2rem;--mt-icon-size:1.75rem;--mt-card-height:5rem;--mt-control-gap:.375rem;--sidebar-w:220px;--topbar-h:52px}
html[data-maritime-theme] body{--bg:var(--mt-surface);--bg2:var(--mt-panel);--bg3:var(--mt-raised);--bg4:var(--mt-hover);--surface:var(--mt-panel);--surface-2:var(--mt-raised);--surface-3:var(--mt-hover);--soft:var(--mt-raised);--text:var(--mt-text);--muted:var(--mt-muted);--dim:var(--mt-muted);--line:var(--mt-line);--border:var(--mt-line);--accent:var(--mt-accent);--accent2:var(--mt-accent);--sans:system-ui,-apple-system,"Segoe UI",sans-serif;--mono:system-ui,-apple-system,"Segoe UI",sans-serif;font-family:var(--sans);font-size:15px;line-height:1.45}
html[data-maritime-theme] :is(button,.btn,.bf,.bf2){height:auto!important;min-height:32px!important;padding:4px 10px!important;border-radius:6px!important;font-size:14px!important;line-height:1.4!important;white-space:normal;overflow-wrap:anywhere}
html[data-maritime-theme] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select){height:32px!important;min-height:32px!important;padding:4px 8px;font-size:14px}
html[data-maritime-theme] textarea{font:14px/1.45 system-ui,sans-serif;padding:6px 8px}
html[data-maritime-theme] .wrap{padding:0 16px 20px}
html[data-maritime-theme] .appTopbar{margin:0 -16px 8px;padding:8px 16px;min-height:52px;background:var(--mt-surface)!important;gap:8px}
html[data-maritime-theme] .appTopbarTitle b{font-size:18px}
html[data-maritime-theme] .appTopbarTitle span{font-size:14px}
html[data-maritime-theme] :is(.card,.dashPanel,.dashCard,.bootstrapPanel){background:var(--mt-panel);border-color:var(--mt-line);border-radius:8px;box-shadow:none;padding:12px;margin-top:8px;margin-bottom:8px}
html[data-maritime-theme] :is(.dashboardGrid,.dashTwo,.quickGrid,.row,.topbar,.pageIntro){gap:8px}
html[data-maritime-theme] .dashboardGrid{margin-top:8px}
html[data-maritime-theme] .dashCard{min-height:80px;margin:0}
html[data-maritime-theme] .dashCard .v{font-size:24px;margin-top:4px}
html[data-maritime-theme] :is(.dashCard .k,.dashCard .s,.attentionRow small,.service-note,.mlc-note,.accessMeta,.certHeader,.certStatus,.smsLibHeader,.smsAssignId,.userMenuBtn .userSub,.userCurrent){font-size:14px;line-height:1.4;opacity:1;color:var(--mt-text)}
html[data-maritime-theme] :is(.card h2,.pageIntro h2){font-size:19px;margin-bottom:6px}
html[data-maritime-theme] .pageIntro{margin:4px 0 8px}
html[data-maritime-theme] :is(.pageIntro p,.dashPanel h3,.attentionRow strong){font-size:15px}
html[data-maritime-theme] .attentionRow{padding:8px 0;border-color:var(--mt-line)}
html[data-maritime-theme] .userDock{top:6px;right:12px}
html[data-maritime-theme] .userMenuBtn{padding:5px 10px!important}
html[data-maritime-theme] .statusChip{padding:3px 8px;font-size:13px;background:var(--mt-panel);color:var(--mt-text)}
html[data-maritime-theme] #appNav{padding:70px 10px 12px;gap:4px}
html[data-maritime-theme="light-professional"] #appNav{--mt-panel:#223244;--mt-text:#edf2f7;--mt-muted:#bcc9d6;--mt-line:#43566b;--mt-hover:#32485e;--mt-selected:#314b65;--mt-accent:#a5c9eb;background:#223244!important;color:#edf2f7!important}
html[data-maritime-theme] #appNav button{font-size:14px!important;font-weight:400;text-align:left;justify-content:flex-start;min-height:34px!important;padding:6px 10px!important;color:var(--mt-text)!important;background:transparent!important}
html[data-maritime-theme] #appNav button.active{background:var(--mt-selected)!important;color:var(--mt-accent)!important}
html[data-maritime-theme] #appNav:before{font-size:15px;color:var(--mt-text);letter-spacing:.03em}
html[data-maritime-theme] #appNav:after{font-size:13px;color:var(--mt-text);letter-spacing:normal}
html[data-maritime-theme] #workrestPage>.card:first-child{padding:10px 12px;margin:0 0 8px;background:var(--mt-panel)}
html[data-maritime-theme] #mlcFrame{min-height:640px!important;background:var(--mt-surface)!important}
/* Embedded Work / Rest and Job / Safety controls, preserving event/status colours. */
html[data-maritime-theme] :is(.hdr,.bnav){background:var(--mt-panel);border-color:var(--mt-line)}
html[data-maritime-theme] .hdr{padding:8px 12px}
html[data-maritime-theme] .hdr-top{margin-bottom:6px}
html[data-maritime-theme] :is(.logo,.logo small,#clock,.ch,.nb,.mbtn,.cn,.cs,.hint){font-family:system-ui,sans-serif;letter-spacing:normal;text-transform:none}
html[data-maritime-theme] :is(.logo small,#clock,.ch,.nb,.mbtn,.cs,.hint){font-size:14px;line-height:1.4}
html[data-maritime-theme] .nb{padding:5px 2px;gap:2px}
html[data-maritime-theme] .nb .ni{font-size:17px}
html[data-maritime-theme] .ch{padding:7px 10px}
html[data-maritime-theme] .cb{padding:8px 10px}
html[data-maritime-theme] .sa{padding:8px 8px calc(66px + var(--sb))}
html[data-maritime-theme] :is(.mode-strip,.quickGrid){gap:6px}
html[data-maritime-theme] :is(.certRow,.smsLibRow){padding:5px 0;border-color:var(--mt-line)}
html[data-maritime-theme] :is(table,.smsAssignText){font-size:14px;line-height:1.4}
html[data-maritime-theme] :is(td,th){padding:5px 7px;font-variant-numeric:tabular-nums}
html[data-maritime-theme] :is(.muted,small,.mlc-note){opacity:1}
html[data-maritime-theme] #mt-theme-toolbar{padding:2px 0;border-bottom:0}
html[data-maritime-theme] .mt-theme-picker{margin:4px 0;font-size:14px}
@media(max-width:900px){html[data-maritime-theme] #appNav{padding:8px 8px 8px 48px}html[data-maritime-theme] .wrap{padding:0 10px 16px}html[data-maritime-theme] .appTopbar{margin:0 -10px 8px;padding:8px 10px}}
}
@media screen {
html[data-maritime-theme] .userMenuBtn{display:block!important;text-align:left}
html[data-maritime-theme] #appNav button:not(.active){border-color:transparent!important}
html[data-maritime-theme] .mt-theme-picker select{height:32px!important;min-height:32px!important}
}
@media screen {
html[data-maritime-theme] body{
--cmw-bg:var(--mt-surface);--cmw-bg2:var(--mt-panel);--cmw-bg3:var(--mt-raised);--cmw-bg4:var(--mt-hover);--cmw-border:var(--mt-line);--cmw-accent:var(--mt-accent);--cmw-text:var(--mt-text);--cmw-dim:var(--mt-muted);--cmw-h:32px;--cmw-sans:system-ui,-apple-system,"Segoe UI",sans-serif;--cmw-mono:system-ui,-apple-system,"Segoe UI",sans-serif;
}
html[data-maritime-theme] :is(.dayToolboxBar,.safetySuggestPanel,#companyFormWorkspace,.tree,.selectedBox,.raBody,.drop,.ghead,.raHead){background:var(--mt-raised)!important;color:var(--mt-text)!important;border-color:var(--mt-line)!important}
html[data-maritime-theme] :is(.title,.dayHead,.brand,.top h1,.nav button){font-family:system-ui,sans-serif!important;font-size:14px!important;letter-spacing:normal!important}
html[data-maritime-theme] :is(.mml,.mms,.rh,.sct){font-size:13px;line-height:1.4}
html[data-maritime-theme] .userDock{position:static!important;width:230px!important;margin:0!important;flex:0 0 230px;z-index:95}
html[data-maritime-theme] .userPopover{position:absolute;right:12px;width:280px}
html[data-maritime-theme] .appTopbarMeta{flex:1;justify-content:flex-end}
@media(max-width:900px){
html[data-maritime-theme] .wrap{margin-left:0!important;width:100%!important}
html[data-maritime-theme] #appNav{position:relative!important;left:auto;top:auto;bottom:auto;width:100%!important;flex-direction:row;flex-wrap:wrap;padding:8px 8px 8px 48px!important;margin:0 0 8px!important}
html[data-maritime-theme] #appNav button{width:auto}
html[data-maritime-theme] #appNav:before,html[data-maritime-theme] #appNav:after{display:none}
html[data-maritime-theme] .userDock{flex:0 1 230px}
}
}
/* Empty, loading and loaded embedded pages share the selected workspace canvas. */
@media screen {
html[data-maritime-theme],
html[data-maritime-theme] :is(#jobFrame,#mlcFrame,iframe) {background:var(--mt-surface)!important}
}
