/* TrueHelm V2.1.1 | Option 1: Deep Ocean / Electric Cyan.
   Presentation only: no changes to inventory, maintenance or commissioning records.
   Explicit light canvases are retained for original photographs, drawings, PDF pages. */
:root{
  --th-bg:#061728;--th-deep:#071c2d;--th-surface:#0c2639;--th-surface2:#102e43;
  --th-raised:#15374c;--th-line:#2b5266;--th-ink:#f0f8fc;--th-muted:#a4c2d0;
  --th-cyan:#24d8e8;--th-yellow:#ffdc73;--th-green:#60dfba;--th-warn:#ffc15e;
}
body.v211-dark{
  --navy:#092538;--navy2:#12394e;--ink:var(--th-ink);--muted:var(--th-muted);
  --line:var(--th-line);--panel:var(--th-surface);--bg:var(--th-bg);
  --blue:var(--th-cyan);--gold:var(--th-yellow);--green:#64daba;
  --shadow:0 10px 26px #0004;
  color:var(--th-ink);background:radial-gradient(ellipse at 87% -10%,#123b56 0%,var(--th-bg) 53%);
  color-scheme:dark;
}
.v211-dark .v2-shell,.v211-dark .v223-professional,.v211-dark .v217-owner-shell{background:transparent;color:var(--th-ink)}
.v211-dark .topbar,.v211-dark .v2-shell .topbar,.v211-dark .v223-professional .topbar{
  background:#081d2f!important;color:var(--th-ink)!important;border-bottom:1px solid var(--th-line);
  box-shadow:0 4px 20px #0005;
}
.v211-dark .top-title{color:var(--th-ink)!important;letter-spacing:.11em}
.v211-dark .top-sub,.v211-dark .topbar .top-sub,.v211-dark .topbar .job-chip,
.v211-dark .v223-professional .topbar .top-vessel,.v211-dark .v223-professional .topbar .top-vessel small,
.v211-dark .v223-professional .topbar #pocAiActivity{color:var(--th-muted)!important}
.v211-dark .top-logo{background:#eff7f7;border:1px solid #446a7b}
.v211-dark .v19-version{background:#143a52!important;border:1px solid #416980;color:#b9e8fa!important}
.v211-dark .sidebar,.v211-dark .v2-shell .sidebar,.v211-dark .v223-professional .sidebar{
  background:linear-gradient(180deg,#071b2b,#071e2f 72%,#08283b)!important;
  color:#c4dce9!important;border-right:1px solid var(--th-line);
}
.v211-dark .sidebar :is(.v2-sidebar-vessel,.v217-nav-group,.v223-primary-nav){border-color:var(--th-line)}
.v211-dark .sidebar :is(.nav-btn,.v217-nav-group>summary,.v217-subnav button){color:#c5dce9}
.v211-dark .sidebar .nav-btn:hover,.v211-dark .sidebar .v217-subnav button:hover{background:#143b52!important;color:white!important}
.v211-dark .sidebar .v234-nav-current,.v211-dark .sidebar [aria-current="page"],
.v211-dark .sidebar .nav-btn.active,.v211-dark .sidebar .v234-nav-group-current>summary{
  background:transparent!important;color:var(--th-yellow)!important;box-shadow:none!important;
}
.v211-dark .sidebar :is(.v234-nav-current,[aria-current="page"],.nav-btn.active,.v234-nav-group-current>summary) svg{
  stroke:var(--th-yellow)!important;color:var(--th-yellow)!important;
}
.v211-dark .main,.v211-dark #page{color:var(--th-ink)}
.v211-dark :is(.page-head,.v198-head,.v214-register-head,.v195-page-head) :is(h1,h2,h3){color:#f5fbff!important}
.v211-dark :is(.page-head,.v198-head,.v214-register-head,.v195-page-head) p{color:var(--th-muted)!important}
.v211-dark :is(.card,.section-card,.asset-card,.v223-panel,.v223-stat,.v223-priority-row,.v223-upcoming,
  .v217-module-link,.v217-bridge-panel,.v217-care-panel,.v218-stock-area,.v218-part-card,.v214-area-card,
  .v198-scene-panel,.v198-asset-panel,.v210-room-sidebar,.v198-toolbar,.v230-project,.v230-job-row,
  .v230-section,.v230-calculation,.v234-store-extra,.v234-store-search,.v234-store-filters,
  .v234-store-tool,.v234-store-tools .v234-store-selected,.v216-category,.v223-stores-layout>aside,
  .v223-storage-entry,.v223-table-tools,.v223-maint-layout,.v223-maint-table,
  .table-wrap,.v195-folder-browser,.v192-asset-card,.v234-part-panel,.v234-asset-overview,
  .v234-asset-specifics,.v234-part-info,.v236-maint-section,.v236-metric,
  .asset-detail-head,.v234-part-tabs button,.v234-asset-tabs button){
  background:var(--th-surface)!important;color:var(--th-ink)!important;
  border-color:var(--th-line)!important;box-shadow:none!important;
}
.v211-dark :is(.v223-panel,.card,.v234-asset-overview,.v234-part-panel,.v230-project,.v198-scene-panel):hover{border-color:#386d80!important}
.v211-dark :is(.v223-panel,.card,.v223-stat,.v230-job-row,.v234-part-panel,.v234-asset-overview,
 .v234-asset-specifics,.v234-part-info,.v198-asset-panel,.v210-room-sidebar,.v223-maint-table) :is(h2,h3,h4,strong,b,summary){color:var(--th-ink)!important}
.v211-dark :is(.v223-panel,.card,.v223-stat,.v230-job-row,.v234-part-panel,.v234-asset-overview,
 .v198-asset-panel,.v210-room-sidebar) :is(small,p,dt,em){color:var(--th-muted)}
.v211-dark :is(.v223-panel,.card,.v234-part-panel,.v234-asset-overview,.v198-asset-panel) a,
.v211-dark .v223-text-link,.v211-dark #page a{color:#62e7f0}
.v211-dark :is(.v223-panel-heading,.v223-area-heading,.v223-maint-table th,.table th,
  .v218-stock-area>summary,.v218-stock-equipment>summary,.v195-folder-heading,
  .v236-maint-section[open]>summary,.v198-scene-meta,.v230-view-tools,
  .v214-area-heading,.v198-selected,.v234-part-tabs button.active){
  background:var(--th-surface2)!important;border-color:var(--th-line)!important;color:var(--th-ink)!important;
}
.v211-dark :is(.v223-panel-heading,.v223-area-heading,.v223-maint-table th,.table th,
  .v198-scene-meta,.v230-view-tools) :is(h2,h3,th,span,small,strong){color:var(--th-ink)!important}
.v211-dark .v223-maint-table td,.v211-dark .table td,.v211-dark .table th,
.v211-dark :is(.v234-part-panel,.v234-asset-overview,.v234-info-grid) :is(dt,dd){
  border-color:var(--th-line)!important;
}
.v211-dark .table tr:hover td{background:#153c51!important}
.v211-dark :is(.v223-stat-icon,.v217-module-icon,.v223-equipment-art,.v214-area-icon,
 .v236-maint-glyph,.v191-tool-icon){background:#124459!important;color:var(--th-cyan)!important}
.v211-dark :is(.btn-primary,.v191-action.primary,.v233-trip-action,
  .v234-store-selected,.v234-store-tools .v234-store-selected){
  background:linear-gradient(140deg,#1e9fa8,#167b8b)!important;color:#f4ffff!important;
  border:1px solid #4cc7d3!important;
}
.v211-dark :is(.btn-secondary,.btn-ghost,.v191-action.secondary,.v230-view-tools button,
  .v234-part-footer .btn,.v234-part-tabs button,.v234-asset-tabs button,.btn){border-color:#3b6478}
.v211-dark :is(.btn-secondary,.btn-ghost,.v191-action.secondary,.v230-view-tools button,
  .v234-part-tabs button,.v234-asset-tabs button,.v210-overview-button){
  background:#143349!important;color:#e1f5fb!important;border:1px solid #3b6478!important;
}
.v211-dark :is(.btn-secondary,.btn-ghost,.v191-action.secondary,.v230-view-tools button,.v234-part-tabs button):hover{
  background:#205169!important;border-color:#64bdce!important;
}
.v211-dark .btn-danger{background:#492e39!important;color:#ffbdc4!important;border-color:#a75465!important}
.v211-dark :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea,.search){
  background:#09263a!important;border:1px solid #3c6073!important;color:var(--th-ink)!important;
  caret-color:var(--th-cyan);color-scheme:dark;
}
.v211-dark :is(input,select,textarea,.search)::placeholder{color:#92afbe!important;opacity:1}
.v211-dark :is(button,input,textarea,select,a,summary):focus-visible{outline:2px solid #65dbe7!important;outline-offset:2px}
.v211-dark :is(input[type="checkbox"],input[type="radio"]){accent-color:#20becb}
.v211-dark :is(.field label,.form-grid label,.v223-table-tools label,.v234-info-grid span,.v234-asset-specifics dt){color:#bdd7e4}
.v211-dark .modal-backdrop{background:#02101be8}
.v211-dark .modal,.v211-dark .modal-head,.v211-dark .modal-body,.v211-dark .modal-foot,
.v211-dark .v234-part-modal .modal-head,.v211-dark .v234-asset-modal .modal-head,
.v211-dark .v234-part-footer,.v211-dark .v236-maint-modal .modal-foot{
  background:var(--th-deep)!important;color:var(--th-ink)!important;border-color:var(--th-line)!important;
}
.v211-dark .modal :is(h2,h3,h4,strong,summary){color:var(--th-ink)}
.v211-dark .modal :is(p,small,span,dt){color:var(--th-muted)}
.v211-dark .modal .close-btn{background:#173b50;color:#e5faff}
.v211-dark .modal :is(.asset-facts>div,.v236-maint-metrics>.v236-metric,
 .v236-maint-costgrid>div,.v234-part-panel details,.v234-part-panel .asset-facts>div,
 .v234-asset-modal .modal-body>.asset-detail-head,.v234-part-art,.v234-asset-photo,
 .v234-part-tabs button,.v234-asset-tabs button,.doc-row,.simple-list,.list-button,
 .v236-maint-section,.v236-maint-more-list,.v236-maint-section>summary,
 .v236-maint-content,.v221-part-gallery,.v234-part-info){
  background:#0c293e!important;border-color:var(--th-line)!important;color:var(--th-ink)!important;
}
.v211-dark .modal :is(.asset-facts>div,.v236-maint-costgrid>div,.v234-part-panel) :is(strong,b,dd){color:var(--th-ink)!important}
.v211-dark .modal :is(.v236-maint-section[open]>summary,.v234-part-tabs button.active){background:#16445a!important;color:#d9fbff!important}
.v211-dark .v234-part-heading h2,.v211-dark .v234-asset-header h2{color:var(--th-ink)!important}
.v211-dark .v234-info-grid :is(strong,dd),.v211-dark .v234-asset-specifics dd{color:var(--th-ink)!important}
.v211-dark :is(.notice,.v236-maint-section .notice){background:#123d52!important;border-color:#2c7892!important;color:#b7edfa!important}
.v211-dark :is(.warning,.v236-maint-section .warning){background:#44361e!important;border-color:#8e713a!important;color:#ffdb95!important}
.v211-dark .successbox{background:#123b38!important;color:#a0f0cb!important;border-color:#387968!important}
.v211-dark .errorbox{background:#4b2430!important;color:#ffc0cb!important;border-color:#a34e62!important}
.v211-dark :is(.pill,.v223-badge,.v234-part-pill,.v234-asset-condition){border:1px solid transparent}
.v211-dark :is(.pill-high,.pill-inactive,.v234-part-pill.is-low){background:#47351f!important;color:#ffd17a!important}
.v211-dark :is(.pill-active,.pill-complete,.v234-asset-condition){background:#153c37!important;color:#81f2ce!important}
.v211-dark .v234-part-tabs button.active,.v211-dark .v234-asset-tabs button.active{box-shadow:inset 0 -3px var(--th-cyan)!important}
.v211-dark .v233-asset-dock{background:#082337!important;border-color:var(--th-line)!important}
.v211-dark :is(.v223-stores .v218-part-card,.v223-stores .toolbar,
 .v234-stores .v218-part-card,.v218-stock-area,.v218-stock-equipment,
 .v218-parts-table,.v223-storage-entry,.v234-store-search,.v234-store-extra){
  background:var(--th-surface)!important;border-color:var(--th-line)!important;color:var(--th-ink)!important;
}
.v211-dark .v218-parts-table td,.v211-dark .v218-parts-table th{border-color:var(--th-line)!important}
.v211-dark :is(.v218-no-photo,.v234-part-art,.v234-asset-photo){background:#123245!important}
.v211-dark :is(.v224-product-picture,.v218-part-photo){background-color:#f6fafb!important}
/* Keep original photographs, manual sheets and technical diagrams readable. */
.v211-dark #sceneViewport,.v211-dark .v198-scene,.v211-dark .v230-scene-viewport,
.v211-dark .v2-plan-stage,.v211-dark .v197-plan{background:#f2f0e9!important}
.v211-dark .v198-scene svg,.v211-dark .v2-plan-stage svg{color:initial}
.v211-dark .v191-hero-art,.v211-dark .v233-responsive-photo{background:#061d31!important}
.v211-dark .v217-bridge-hero,.v211-dark .v191-hero{background:linear-gradient(130deg,#082e3b,#061e31)!important;border:1px solid #22586d}
.v211-dark .v217-hero-copy,.v211-dark .v191-hero-copy{background:linear-gradient(130deg,#0b3041,#082436)!important;color:#f2fbff!important}
.v211-dark .v217-hero-copy :is(h1,h2,strong),.v211-dark .v191-hero-copy :is(h1,h2,strong){color:white!important}
.v211-dark .v217-hero-copy :is(p,small,span),.v211-dark .v191-hero-copy :is(p,small,span){color:#b9d9e5}
.v211-dark #page.v210-room-page .v210-room-sidebar{background:var(--th-surface)!important}
.v211-dark .v210-room-sidebar-head strong{color:#eafbff!important}
.v211-dark .v210-room-sidebar-head small{color:var(--th-muted)!important}
.v211-dark .v210-area-link{color:#cbe8ee!important}
.v211-dark .v210-area-link:hover{background:#1a465b!important;border-color:#3d7384!important}
.v211-dark .v210-area-link.selected{background:#174858!important;border-color:#35b4ba!important;color:var(--th-yellow)!important}
.v211-dark .v210-area-link small{color:#abc5cf!important}
.v211-dark .v198-scene-caption,.v211-dark .v198-legend{color:var(--th-muted)!important;border-color:var(--th-line)!important}
.v211-dark .v217-detail-disclosure,.v211-dark .v195-doc-row,.v211-dark .doc-row{background:#0b293c!important;border-color:var(--th-line)!important}
.v211-dark .v195-explorer.v214-vault{background:#082538!important;border-color:#204d61!important}
.v211-dark .v195-explorer.v214-vault :is(.v195-folder-heading,.v195-path){color:#d8f4fa!important}
.v211-dark .mobile-nav{background:#081f32!important;border-top:1px solid #28576e}
.v211-dark .mobile-nav button.active{color:var(--th-yellow)!important}
.v211-dark .v223-professional #mobileMenu{background:#15384b!important;color:#f1fbff!important;border-color:#3e7181!important}
/* Large touch targets and native scrolling remain unchanged on all devices. */
@media (max-width:900px){
  .v211-dark .v210-room-sidebar{background:#102e43!important}
  .v211-dark .modal-backdrop{background:#020c16d9}
}
/* 2.1.1 integration pass: maintenance priority, compact lists, settings and auth. */
.v211-dark :is(.v234-maint-equipment,.v234-maint-stats button,.v234-maint-navigation>button,
 .v234-maint-extra,.v234-maint-tasks,.v234-maint-priority,.v234-maint-tasks>button,
 .v234-part-panel .simple-list .list-button,.v224-intake-count,.v224-count-first,
 .v224-separate-unit,.v230-stock-row,.v230-job-summary,.v216-stock-item,
 .v195-record,.v195-doc-row,.v197-item,.v215-compartments .v197-item){
  background:var(--th-surface)!important;color:var(--th-ink)!important;
  border-color:var(--th-line)!important;
}
.v211-dark .v234-maint-tasks{background:#0b283a!important}
.v211-dark :is(.v234-maint-equipment,.v234-maint-navigation>button,.v234-maint-stats button,
 .v234-maint-tasks>button) strong{color:#f0f9ff!important}
.v211-dark .v234-maint-stats button:nth-child(2){background:#322a1c!important;border-color:#7d6137!important}
.v211-dark .v234-maint-stats button:nth-child(2) strong{color:#ffcf79!important}
.v211-dark :is(.v234-maint-equipment,.v234-maint-navigation>button,.v234-maint-section-head) small,
.v211-dark .v234-maint-tasks small{color:var(--th-muted)!important}
.v211-dark .v234-maint-badge{color:#ffca7b!important;background:#49371d!important}
.v211-dark .v234-maint-badge.is-overdue{color:#ffb5bd!important;background:#542938!important}
.v211-dark .v234-maint-extra>summary{color:#a6dce5!important}
.v211-dark .v234-maint-head small{color:var(--th-cyan)!important}
.v211-dark .v234-maint-allclear{background:#153c36!important;color:#9ff1d2!important}
.v211-dark .v234-store-tools .v234-store-tool:not(.v234-store-selected){background:#103045!important;color:#e0f4f9!important;border-color:var(--th-line)!important}
.v211-dark .v223-stores .v216-category.active{background:#16495a!important;border-color:#40abb8!important;color:#ffebac!important}
.v211-dark .v234-part-heading small,.v211-dark .v234-asset-header small{color:#9dd9e8!important}
.v211-dark .v234-part-description{color:var(--th-muted)!important}
.v211-dark .auth-shell{background:linear-gradient(150deg,#030f1c,#0c364d)!important;color:var(--th-ink)!important}
.v211-dark .auth-card{background:#0b2a3f!important;border:1px solid #335a6e;color:var(--th-ink)!important}
.v211-dark .auth-card h1{color:#f6fcff!important}
.v211-dark .auth-card p,.v211-dark .auth-card .muted{color:var(--th-muted)!important}
.v211-dark .auth-card .auth-logo{background:#eff7f7;border-radius:12px;padding:12px}
.v211-dark .upload-box,.v211-dark .empty{background:#102e42!important;border-color:#436a7b!important;color:#abc8d6!important}
.v211-dark .toast{background:#143d54!important;color:white!important}
.v211-dark .v230-job-row small{color:var(--th-muted)!important}
.v211-dark .v230-calculation span{color:#adcfda!important}
.v211-dark .v230-part-row{border-color:var(--th-line)!important}
.v211-dark .v230-part-row label{color:var(--th-muted)!important}

/* V2.1.1 brand lockup: app identity remains clear on desktop/iPad/phone. */
.truehelm-boot-title{font-size:clamp(30px,6vw,52px);font-weight:800;letter-spacing:.16em;color:#f4fbff;text-align:center}
.boot-screen .v191-boot-label{color:#62dbe7!important;text-align:center;padding-inline:12px}
.boot-screen>p{color:#bdd9e5;font-size:14px;letter-spacing:.04em}
.v211-dark .v2-shell .top-title{font-weight:800;letter-spacing:.14em}
.v211-dark .v2-shell .top-sub{font-size:9px;letter-spacing:.09em;white-space:normal;line-height:1.35;max-width:340px}
.v211-dark .truehelm-login-subtitle{margin:0 0 14px;color:#acd6e0!important;font-size:14px}
@media(max-width:600px){
 .v211-dark .v2-shell .top-title{font-size:14px;letter-spacing:.1em}
 .v211-dark .v2-shell .top-sub{display:block;font-size:8px;letter-spacing:0;max-width:170px}
}

/* V2.1.1 R1 | Restore dark-theme contrast inside legacy light-theme rows.
   Legacy widgets hard-code white/cream backgrounds while TrueHelm now inherits
   pale text. Apply paired foreground and background colours to each such row.
   Do NOT recolour photographic/technical drawing canvases or PDFs. */
.v211-dark :is(
 .v217-attention-row,.v223-record-row,.v223-activity,.v223-priority-row,
 .v223-equipment-links button,.v217-setup-summary,.v217-commission-guide,
 .v217-commission-steps,.v217-location-summary,
 .v218-vessel-specs,.v218-count,.v218-check-step,.v220-section-nav,
 .v220-row,.v222-description .v222-previous,.v222-result-controls .v220-tick,
 .v223-filter-tabs button,.v223-maintenance .v195-explorer,
 .v223-stores .v216-category,.v223-stores .toolbar,
 .v216-stock-card,.v216-bin,.v216-job-item,.v216-voyage-stage,
 .v212-survey-item,.v212-safety-group,.v212-chartroom .v195-doc-row,
 .v193-bridge-stats button,.v193-status-card,.v191-tool,
 .v2-model-card,.v2-deck-tabs,.v214-view-switch,
 .v198-asset-row.selected,.v198-scene-caption,
 .v216-room-tools>summary,.v216-room-tools[open]>.workspace-actions,
 .v234-part-footer #v196DeleteCatalogue,
 #productBatchProgress
){
  background:#0d2c40!important;
  color:#eef8fd!important;
  border-color:#315769!important;
}
/* Header/alternate group surfaces and active states stay distinguishable. */
.v211-dark :is(.v217-commission-steps,.v220-section-nav,.v2-deck-tabs,
 .v223-filter-tabs button.active,.v214-view-switch){
  background:#12374c!important;
}
.v211-dark :is(.v217-attention-row,.v223-record-row,.v223-activity,
 .v223-priority-row,.v220-row,.v212-survey-item,.v212-safety-group):hover{
  background:#17465d!important;
  border-color:#478297!important;
}
.v211-dark :is(.v217-attention-row,.v223-record-row,.v223-activity,
 .v223-priority-row,.v217-setup-summary,.v217-commission-guide,
 .v218-vessel-specs,.v220-row,.v212-survey-item,.v212-safety-group,
 .v216-stock-card,.v216-bin,.v216-job-item,.v191-tool,
 .v2-model-card,.v223-filter-tabs button) :is(strong,b,h2,h3,h4){
  color:#f2faff!important;
}
.v211-dark :is(.v217-attention-row,.v223-record-row,.v223-activity,
 .v223-priority-row,.v217-setup-summary,.v217-commission-guide,
 .v218-vessel-specs,.v220-row,.v212-survey-item,.v212-safety-group,
 .v216-stock-card,.v216-bin,.v216-job-item,.v191-tool,
 .v2-model-card) :is(small,p,dt){color:#aacbd9!important}
.v211-dark .v217-attention-row>span:not(:last-child){color:#eaf7fc!important}
.v211-dark .v217-attention-row strong,
.v211-dark .v223-record-row b{color:#fff!important}
.v211-dark .v217-attention-row>span:last-child{color:#89bdcf!important}
.v211-dark .v217-attention-row svg,
.v211-dark .v223-record-row svg,
.v211-dark .v223-priority-row svg{color:#35d9e8!important;stroke:#35d9e8!important}
.v211-dark .v223-activity small,.v211-dark .v223-priority-row small,
.v211-dark .v223-record-note,.v211-dark .v217-setup-summary p{
  color:#b0cedb!important;
}
.v211-dark .v217-setup-summary>div:first-child svg{color:#29d7e6!important}
.v211-dark .v217-commission-steps button{color:#ecf9fd!important}
.v211-dark .v217-commission-steps button:hover{background:#20516a!important}
.v211-dark .v223-filter-tabs button.active{
  border-color:#43bccc!important;color:#f8fdff!important;
  box-shadow:inset 0 -2px #24d8e8!important;
}
/* Text in tables and forms must not inherit pale-on-light pairings. */
.v211-dark :is(.v223-maint-table td,.v218-parts-table td,
 .v216-stock-card,.v223-stores .v216-category,.v223-equipment-links button){
  color:#ecf8fd!important;
}
.v211-dark :is(.v223-maint-table td,.v218-parts-table td) :is(strong,b){color:#f4fbff!important}
.v211-dark .v223-maint-table td::before{color:#aecddc!important}
.v211-dark :is(.v223-stores .v216-category,.v223-equipment-links button):hover{
  background:#194c61!important;
}
/* Legacy information chips are meant to be coloured, not washed out. */
.v211-dark .v223-badge{background:#17374c!important;color:#c8eafa!important}
.v211-dark .v223-badge.warning{background:#46351f!important;color:#ffda98!important}
.v211-dark .v223-badge.danger{background:#4e2d3a!important;color:#ffc2cc!important}
.v211-dark .v223-badge.success{background:#194037!important;color:#b1f6dc!important}
