/* Fleet map stays in document flow and leaves room for the unit grid. */
.personal-fleet{grid-template-columns:minmax(0,1fr)}
.personal-fleet .mapbox{position:static;top:auto;min-height:0;width:100%;box-sizing:border-box}
.personal-fleet #fleet-map-svg{height:280px;min-height:0;width:100%}
.personal-fleet #map-selection:not(:empty){position:static;width:auto;max-height:none;margin-top:10px;overflow:visible}
.personal-fleet .asset-list{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.personal-fleet.density-dense .asset-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
header .brand-symbol{width:80px;height:75px}
header .brand-symbol img{width:176.2px;height:176.2px;left:-48.1px;top:-50.8px;object-fit:contain}
.town-search{position:relative;margin:14px 0}.town-search label{margin:0}.town-results{display:grid;gap:4px;max-height:220px;overflow:auto;background:#172f3e;border-radius:7px}.town-results:not(:empty){border:1px solid #527587;padding:6px;margin-top:5px}.town-results button{text-align:left;padding:9px 12px}.town-results button:hover,.town-results button:focus{background:#345362;color:#f5dc40}.model-town{margin:18px 0 10px}
.board-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}.board-summary>div{display:flex;align-items:center;gap:14px;background:#1a3443;border:1px solid #436171;border-radius:10px;padding:18px}.board-summary b{font-size:32px;color:#edd020}.board-summary span{font-size:12px;color:#c3d8df}.project-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin:20px 0}.project-card{margin:0;min-width:0}.project-card h2{font-size:20px}.project-card>p{font-size:13px}.panel-title-inline{display:flex;align-items:center;justify-content:space-between;gap:14px}.panel-title-inline h2{margin:0 0 10px}.project-state{font-size:11px;padding:5px 10px;border-radius:12px;text-transform:capitalize;background:#345061}.project-state.active{background:#235e50;color:#b3f4de}.project-state.scheduled{color:#f6df62;background:#534a26}.project-issues{padding-left:19px;font-size:12px;line-height:1.6}.project-issues li{margin:6px 0}.project-issues .error{color:#ff9fae}.project-issues .warning{color:#ead778}.project-issues .attention{color:#96cfff}.project-ok{color:#83dfbf;font-size:12px}.project-health-pills{display:flex;flex-wrap:wrap;gap:8px;font-size:12px}.project-health-pills>span{padding:7px;border:1px solid #365765;border-radius:8px}.project-health-pills .badge{margin-left:5px}.board-calendar{overflow-x:auto;padding:12px 0}.calendar-range{display:flex;justify-content:space-between;margin-left:200px;font-size:11px;color:#b6cdd8}.calendar-row{display:grid;grid-template-columns:190px minmax(280px,1fr);align-items:center;gap:10px;margin:12px 0;min-width:530px}.calendar-row>button{overflow:hidden;text-overflow:ellipsis;text-align:left;white-space:nowrap}.calendar-track{position:relative;height:38px;background:repeating-linear-gradient(90deg,#152c3b 0,#152c3b calc(14.285% - 1px),#345361 calc(14.285% - 1px),#345361 14.285%);border-radius:5px}.calendar-bar{position:absolute;top:3px;height:32px;padding:0 9px;white-space:nowrap;overflow:hidden;border:0;border-radius:4px;background:#4e6878;color:#f4f8fa}.calendar-bar.scheduled{background:#dbc22c;color:#182b32}.calendar-bar.active{background:#69cfae;color:#112f28}.calendar-bar.conflict{background:#f0919f;color:#351922}.calendar-bar span{font-size:10px}.project-process{display:block;width:100%;min-width:700px;max-height:650px;background:#102633;border:1px solid #436374;border-radius:10px;margin:16px 0}.project-detail{overflow:auto;scroll-margin-top:20px}.project-process text{font:11px system-ui;fill:#c7dce5}.project-process .project-node-title{font-size:14px;fill:#f1d843;font-weight:650}.project-process .project-node-name{font-size:15px;fill:#f4f8fa;font-weight:650}.project-process .project-pipe{fill:none;stroke:#69bfd5;stroke-width:4}.project-process [data-open]{cursor:pointer}.project-process [data-open]:hover rect,.project-process [data-open]:focus rect{stroke:#edd020;stroke-width:3}.project-capacity-review{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;padding:12px;background:#162d3c;border-radius:7px;font-size:12px}dialog:has(#project-form){width:min(1200px,95vw);max-width:95vw}.point-editor{min-width:920px}.point-editor td{padding:8px}.point-editor input,.point-editor select{margin:3px 0;box-sizing:border-box;width:100%;min-width:80px}.point-editor td:first-child{width:200px}.point-editor td:nth-child(5){width:250px}.point-editor input{font-size:12px}.point-editor select{font-size:12px}.table-wrap td>small{display:block;margin-top:4px}
.combined-chart,.studio-chart{background:#102633;border-color:#4a6575}.combined-chart .plot-background,.studio-chart .plot-background{fill:#102633}.combined-chart .trend-grid,.studio-chart .trend-grid{stroke:#345463;stroke-width:1}.combined-chart .axis-text,.studio-chart .axis-text{fill:#c1d6e0;font-size:12px}.combined-chart path[fill="none"],.studio-chart path[fill="none"],.compare-svg path{vector-effect:non-scaling-stroke}.compare-svg{background:#102633;border:1px solid #456372;border-radius:8px;padding:8px;box-sizing:border-box}.compare-svg text{fill:#c5d9e3}.compare-legend span:first-child{color:#6ee0c1}.compare-legend span:nth-child(2){color:#edd020}.combined-chart #trend-crosshair{stroke:#d6e7ed}.trend-legend .legend-chip{color:#d9e8ed}.trend-legend .legend-chip:hover{background:#2b4657}
@media(max-width:660px){.personal-fleet #fleet-map-svg{height:220px;min-height:0}.personal-fleet.density-dense .asset-list{grid-template-columns:repeat(2,minmax(0,1fr))}.board-summary{grid-template-columns:1fr;gap:8px}.board-summary>div{padding:12px}.project-cards{grid-template-columns:1fr}.panel-title-inline{flex-wrap:wrap}.project-process{max-height:none}.brand-symbol{flex:none}.studio-chart{overflow-x:auto}.studio-chart svg{min-width:760px}.studio-chart .axis-text{font-size:12px}.combined-chart .axis-text{font-size:12px}}
@media print{.project-process{background:white}.project-process text{fill:#172c37}.calendar-track{background:#eee}.calendar-bar{print-color-adjust:exact}}
