/* Nauticore 2.1.0: consistent density + compartment-focus explorer.
   This stylesheet is intentionally last so it overrides historic fixed-height
   layouts without removing existing controls or changing saved coordinates. */
:root{--v210-yellow:#ffe080;--v210-line:#d6e2e7;--v210-ink:#10364a}
.v210-ui .sidebar .v234-nav-current,.v210-ui .sidebar .nav-btn[aria-current="page"],
.v210-ui .sidebar .nav-btn.active,.v210-ui .sidebar .v234-nav-group-current>summary{
  color:var(--v210-yellow)!important;background:transparent!important;box-shadow:none!important}
.v210-ui .sidebar .v234-nav-current svg,.v210-ui .sidebar .nav-btn[aria-current="page"] svg,
.v210-ui .sidebar .nav-btn.active svg,.v210-ui .sidebar .v234-nav-group-current>summary svg{stroke:var(--v210-yellow)!important;color:var(--v210-yellow)!important}
.v210-ui .page-head{gap:12px;margin-bottom:12px}
.v210-ui .page-head h1{margin:0 0 4px}
.v210-ui .page-head p{margin:3px 0}
.v210-ui .toolbar{gap:8px;margin:8px 0}
.v210-ui .v230-project-grid{gap:12px}
.v210-ui .v230-project-grid>.card,.v210-ui .v230-section{padding:14px}
.v210-ui .v230-job-list{gap:8px}
.v210-ui .modal .asset-facts{gap:6px;margin:9px 0;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.v210-ui .modal .asset-facts>div{padding:9px 11px}
.v210-ui .modal .notice,.v210-ui .modal .warning{padding:10px 12px}
.v210-ui .modal .workspace-actions{margin:9px 0 12px}

/* Preserve full upper-deck, accommodation and machinery overviews, and display
   ALL compartments below them in a normal flowing list rather than a tiny
   scrollable child window. This is the whole-vessel entry point. */
#page.v210-deck-overview{display:block!important;min-height:0!important;height:auto!important;overflow:visible!important}
#page.v210-deck-overview .v227-deck-drawings{height:auto!important;min-height:0!important;overflow:visible!important}
#page.v210-deck-overview .v2-plan-stage{max-width:min(100%,1250px);margin:6px auto 12px}
#page.v210-deck-overview .v198-deck-heading{margin:12px 0 7px;font-size:16px}
#page.v210-deck-overview .v215-compartments{max-height:none!important;height:auto!important;overflow:visible!important;padding:10px 14px;margin:6px 0 24px}
#page.v210-deck-overview .v215-compartments .v197-item{display:flex;align-items:center;gap:12px;justify-content:space-between;min-height:58px;padding:10px 12px;margin:4px 0;border:1px solid var(--v210-line);border-radius:10px;background:white}
#page.v210-deck-overview .v215-compartments .v197-item .workspace-actions{margin:0;justify-content:flex-end;gap:6px}
#page.v210-deck-overview .v215-compartments .v197-item small{display:block;color:#62808a;margin-top:3px}
.v210-deck-intro{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}
.v210-deck-intro h2{font-size:20px;margin:0 0 4px;color:var(--v210-ink)}
.v210-deck-intro p{margin:0;color:#69818a;font-size:13px}
.v210-deck-intro>span{white-space:nowrap;border:1px solid #d3e2e6;border-radius:20px;padding:5px 11px;color:#416b77;font-size:12px}

/* Option B: the room drawing is the primary workspace and the list of rooms
   is a lightweight selector. The original asset panel lives below the drawing
   rather than squeezing the drawing into a small column. */
#page.v210-room-page{display:block!important;height:auto!important;min-height:0!important;overflow:visible!important;padding-bottom:20px}
#page.v210-room-page .v198-head{margin-bottom:10px}
#page.v210-room-page .v198-head h1{font-size:clamp(24px,2.5vw,32px);margin:2px 0 5px}
#page.v210-room-page .v198-head-actions{gap:7px;flex-wrap:wrap}
#page.v210-room-page .v198-head-actions .btn{min-height:38px;padding:7px 11px}
#page.v210-room-page .v198-toolbar{padding:9px;margin:8px 0}
#page.v210-room-page .v198-workspace.v210-room-workspace{display:grid!important;grid-template-columns:minmax(180px,225px) minmax(0,1fr)!important;grid-template-rows:auto!important;align-items:start!important;gap:12px!important;min-height:0!important;height:auto!important;overflow:visible!important;margin:8px 0 12px}
#page.v210-room-page .v210-room-main{display:flex;flex-direction:column;gap:12px;min-width:0}
#page.v210-room-page .v210-room-main .v198-scene-panel{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;display:block!important;padding-bottom:4px}
#page.v210-room-page .v210-room-main .v198-scene{width:100%!important;max-width:100%!important;margin:0 auto!important;min-height:0!important}
#page.v210-room-page .v210-room-main #sceneViewport{width:100%!important;max-height:none!important;min-height:320px!important;overflow:hidden!important}
#page.v210-room-page .v210-room-main .v198-asset-panel{height:auto!important;width:100%!important;max-height:none!important;overflow:visible!important;display:block!important}
#page.v210-room-page .v210-room-main .v198-asset-list{max-height:none!important;min-height:0!important;overflow:visible!important;display:grid!important;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;padding:8px}
#page.v210-room-page .v210-room-main .v198-asset-row{margin:0;min-height:61px}
#page.v210-room-page .v210-room-main #sceneSelectedDetails{max-height:none!important;min-height:0!important;overflow:visible!important;padding:0 8px 8px}
#page.v210-room-page .v210-room-main .v198-selected{margin-top:8px}
#page.v210-room-page .v210-room-main .v198-scene-meta{padding:10px 12px}
#page.v210-room-page .v210-room-main .v198-scene-caption{padding:8px 12px}
#page.v210-room-page .v210-room-main .v230-view-tools{flex-wrap:wrap}
#page.v210-room-page .v210-room-sidebar{background:#fff;border:1px solid var(--v210-line);border-radius:13px;padding:10px;position:sticky;top:85px;max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain;min-width:0}
.v210-room-sidebar-head{display:grid;gap:4px;padding:6px 8px 10px}
.v210-room-sidebar-head strong{font-size:15px;color:var(--v210-ink)}
.v210-room-sidebar-head small{font-size:11px;color:#6a818b}
.v210-overview-button{width:100%;margin:0 0 8px;white-space:normal;text-align:center;font-size:12px;padding:9px!important}
.v210-area-nav{display:grid;gap:4px}
.v210-area-link{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 9px;border:1px solid transparent;border-radius:9px;background:transparent;cursor:pointer;color:#21485a;font:inherit;text-align:left;font-size:12px;min-height:43px;width:100%}
.v210-area-link:hover{background:#f0f8f8;border-color:#d3e8e7}
.v210-area-link.selected{background:#e7f5f2;border-color:#a5d7cd;color:#116e70;font-weight:800}
.v210-area-label{flex:1;min-width:0;overflow-wrap:anywhere}
.v210-area-link small{color:#749099;font-size:10px;white-space:nowrap}
#page.v210-room-page .v198-footer{margin:10px 0 5px}

/* Guided maintenance accordion: no scroll marathon. All original DOM nodes
   (and their bound event listeners) are moved, never replaced or discarded. */
.v236-maint-modal{width:min(1030px,calc(100vw - 24px));max-height:94dvh;display:flex;flex-direction:column;overflow:hidden}
.v236-maint-modal .modal-head{padding:12px 18px}
.v236-maint-modal .modal-head h2{font-size:19px}
.v236-maint-modal .modal-body{overflow:auto;min-height:0;padding:12px 18px 18px}
.v236-maint-layout{display:grid;gap:10px}
.v236-maint-hero{display:flex;gap:12px;align-items:center;padding:4px 0}
.v236-maint-art{flex:0 0 76px;width:76px;height:70px;display:grid;place-items:center;border:1px solid #dae6e9;border-radius:9px;overflow:hidden;background:#f8fbfa}
.v236-maint-art img{width:100%;height:100%;object-fit:contain}
.v236-maint-primary{min-width:0;flex:1}
.v236-maint-primary .detail-title-row{margin:0;gap:12px}
.v236-maint-primary h3{font-size:19px;margin:1px 0}
.v236-maint-sub{margin:4px 0 0;font-size:13px;color:#5c7887}
.v236-maint-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.v236-maint-metrics>.v236-metric{border:1px solid #d5e3e7;border-radius:9px;padding:9px 11px;background:#fafcfc}
.v236-maint-metrics>.v236-metric span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#688391}
.v236-maint-metrics>.v236-metric strong{display:block;font-size:14px;margin-top:3px;color:#193b4a}
.v236-maint-accordions{display:grid;gap:5px}
.v236-maint-section{border:1px solid #d7e4e8;border-radius:10px;overflow:hidden;background:#fff}
.v236-maint-section>summary{display:flex;align-items:center;gap:9px;padding:9px 13px;cursor:pointer;list-style:none;min-height:54px}
.v236-maint-section>summary::-webkit-details-marker{display:none}
.v236-maint-section[open]>summary{background:#f3f9f9;border-bottom:1px solid #dbe8eb}
.v236-maint-glyph{height:29px;width:31px;display:grid;place-items:center;background:#e9f5f4;border-radius:8px;color:#13777b;flex-shrink:0}
.v236-maint-caption{flex:1;min-width:0;display:grid;gap:2px}
.v236-maint-caption strong{font-size:14px;color:#183949}
.v236-maint-caption small{font-size:11px;color:#657d88;line-height:1.35}
.v236-maint-chevron{font-size:17px;color:#496e7b}
.v236-maint-section[open] .v236-maint-chevron{transform:rotate(180deg)}
.v236-maint-content{padding:10px 15px 13px;font-size:13px;line-height:1.55}
.v236-maint-content h3,.v236-maint-content h4{font-size:15px;margin:9px 0}
.v236-maint-content p{margin:6px 0 9px}
.v236-maint-content .nvm-guide{border:0;margin:0;padding:0}
.v236-maint-content .nvm-guide-steps{gap:6px}
.v236-maint-content .nvm-guide-steps label{padding:8px 10px}
.v236-maint-content .nvm-guide-grid{display:block;margin:0}
.v236-maint-costgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:7px}
.v236-maint-costgrid>div{border:1px solid #d8e5e8;border-radius:8px;padding:9px}
.v236-maint-costgrid span{font-size:10px;color:#67818d;text-transform:uppercase;display:block}
.v236-maint-modal .modal-foot.v236-maint-footer{padding:8px 12px;gap:8px;align-items:center;flex-wrap:wrap;background:#fff}
.v236-maint-footer-primary{display:flex;flex:1;gap:7px;flex-wrap:wrap}
.v236-maint-footer .btn{padding:8px 11px;min-height:38px;font-size:12px}
.v236-maint-more{position:relative;margin-left:auto}
.v236-maint-more>summary{cursor:pointer;list-style:none;border:1px solid #d4e2e7;border-radius:9px;padding:9px 12px;font-weight:700}
.v236-maint-more-list{position:absolute;bottom:calc(100% + 7px);right:0;z-index:3;width:max-content;max-width:min(320px,90vw);display:grid;gap:6px;padding:10px;background:#fff;border:1px solid #d4e2e7;border-radius:10px;box-shadow:0 10px 24px #193f4b2c}
.v236-maint-extra{display:grid;gap:8px}
.v236-maint-extra>*{max-width:100%}
/* Asset, Spares, Work Order and Project page density. */
.v210-ui .v234-asset-modal .modal-body,.v210-ui .v234-part-modal .modal-body{padding:13px 18px 18px}
.v210-ui .v234-asset-header,.v210-ui .v234-part-heading{gap:12px;margin-bottom:8px}
.v210-ui .v234-part-tabs{gap:7px;margin-bottom:10px}
.v210-ui .v234-part-tabs button{min-height:44px;padding:8px 6px}
.v210-ui .v234-asset-overview,.v210-ui .v234-part-summary{gap:12px;margin-bottom:10px}
.v210-ui .v234-asset-specifics,.v210-ui .v234-part-info{padding:12px}
.v210-ui .v234-asset-modal .modal-foot,.v210-ui .v234-part-modal .modal-foot{padding:8px 13px}
.v210-ui .v230-project-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.v210-ui .v230-job-row{padding:10px 13px}
.v210-ui .v234-stores .v234-store-tools{gap:7px}
.v210-ui .v234-stores .v234-store-search{padding:9px}
@media(max-width:1020px){
 #page.v210-room-page .v198-workspace.v210-room-workspace{grid-template-columns:minmax(155px,190px) minmax(0,1fr)!important}
 #page.v210-room-page .v210-room-main #sceneViewport{min-height:240px!important}
}
@media(max-width:760px){
 #page.v210-room-page .v198-workspace.v210-room-workspace{grid-template-columns:minmax(0,1fr)!important}
 #page.v210-room-page .v210-room-sidebar{position:static;max-height:none;overflow:visible;padding:7px}
 .v210-room-sidebar-head{padding:3px 7px}
 .v210-area-nav{display:flex;overflow-x:auto;gap:5px;padding-bottom:5px;scroll-snap-type:x proximity}
 .v210-area-link{min-width:125px;max-width:180px;flex:0 0 auto;min-height:44px;scroll-snap-align:start}
 .v210-area-link small{display:none}
 .v210-overview-button{width:auto;min-height:34px!important;padding:6px 10px!important}
 #page.v210-room-page .v210-room-main .v198-asset-list{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}
 #page.v210-room-page .v210-room-main #sceneViewport{min-height:200px!important}
 .v236-maint-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .v236-maint-footer-primary{justify-content:flex-start}
 .v236-maint-modal .modal-body{padding:9px}
 .v210-deck-intro{align-items:flex-start}
 .v210-deck-intro>span{display:none}
}
@media(max-width:480px){
 .v236-maint-metrics{grid-template-columns:1fr}
 .v236-maint-art{width:52px;flex-basis:52px;height:52px}
 .v236-maint-modal .modal-head h2{font-size:16px}
 #page.v210-room-page .v210-room-main .v198-asset-list{grid-template-columns:1fr}
}
