.ship-head-actions{display:flex;gap:6px}.ship-head-actions button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #ffffff55;border-radius:11px;background:#ffffff12;color:#fff;font-size:1.25rem;font-weight:900}.ships-main{display:grid;gap:15px;max-width:920px;margin:auto;padding:16px}.ship-explainer{margin:0;color:var(--muted)}.ship-list{display:grid;gap:11px}.ship-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 10px 0 0;border:1px solid var(--line);border-radius:17px;background:var(--card);box-shadow:0 3px 12px #0f172a0b}.ship-card.is-inactive{opacity:.62}.ship-card-main{display:flex;justify-content:space-between;gap:12px;align-items:center;min-width:0;padding:15px;color:var(--ink);font-size:1.8rem;text-decoration:none}.ship-card-main>div{min-width:0}.ship-card h2,.ship-card p{margin:0}.ship-card h2{color:var(--blue);font-size:1.05rem}.ship-card p{overflow:hidden;margin-top:4px;color:var(--muted);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.ship-card-actions{display:flex;gap:6px}.ship-card-actions button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:var(--blue);font-size:1.15rem;font-weight:900}.ship-dialog{width:min(760px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:17px;background:var(--card);color:var(--ink)}.ship-dialog form{max-height:calc(100dvh - 24px);padding:0;overflow-y:auto}.ship-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:16px}.ship-form-grid label,.storage-editor-fields label{display:grid;gap:5px;font-weight:800}.ship-form-grid label>span small{margin-left:5px;color:var(--muted);font-size:.72rem;font-weight:650}.ship-form-grid .wide{grid-column:1/-1}.ship-form-grid input,.ship-form-grid textarea,.ship-form-grid select,.storage-editor-fields input,.storage-editor-fields select{width:100%;min-width:0}.ship-active{display:flex!important;gap:7px;align-items:center}.ship-active input{width:24px;height:24px}.lessor-access{grid-template-columns:minmax(150px,.45fr) minmax(0,1fr);align-items:center}.ship-dialog .form-error{margin:0 16px 16px}.storage-dialog{width:min(760px,calc(100% - 24px))}#storage-list{display:grid;gap:7px;margin:0 16px 16px}.storage-row{display:flex;justify-content:space-between;gap:10px;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:var(--ink);text-align:left}.storage-editor-grid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(280px,1.2fr);gap:12px;padding:14px 16px}.storage-editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.storage-editor-fields label:nth-child(-n+2),.storage-editor-fields .ship-active{grid-column:1/-1}.storage-map-preview{align-self:start;position:relative;display:grid;gap:5px;margin:0}.storage-map-preview img{display:block;width:100%;aspect-ratio:16/10;object-fit:contain;border:1px solid var(--line);border-radius:11px;background:var(--paper)}
@media(max-width:620px){.ship-form-grid{grid-template-columns:1fr;padding:12px}.ship-form-grid .wide{grid-column:auto}.lessor-access{grid-template-columns:1fr}.ships-main{padding:12px}.ship-card-main{padding:13px}.ship-head-actions{gap:5px}.ship-explainer{font-size:.88rem}.ship-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.ship-dialog form{max-height:calc(100dvh - 20px)}.storage-editor-grid{grid-template-columns:1fr;padding:12px}.storage-editor-fields{grid-template-columns:1fr 1fr}.storage-map-preview{grid-row:1}}
.storage-photo-editor{display:grid;gap:9px;padding-top:5px;border-top:1px solid var(--line)}.storage-photo-title{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.storage-photo-title span,#storage-photo-hint{color:var(--muted);font-size:.75rem}.storage-photo-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.storage-photo-card{position:relative;display:grid;gap:4px;margin:0}.storage-photo-card img{width:100%;aspect-ratio:3/2;object-fit:cover;border:1px solid var(--line);border-radius:10px}.storage-photo-grid{position:absolute;inset:0 0 24px;pointer-events:none;border-radius:10px;background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(8.333% - 1px),#fff8 calc(8.333% - 1px),#fff8 8.333%),repeating-linear-gradient(0deg,transparent 0,transparent calc(12.5% - 1px),#fff8 calc(12.5% - 1px),#fff8 12.5%)}.storage-photo-card figcaption{overflow:hidden;color:var(--muted);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.storage-photo-card>button{position:absolute;top:5px;right:5px;display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid #fff;border-radius:99px;background:#b91c1ce8;color:#fff;font-size:1.1rem}.storage-photo-add{justify-self:start;padding:8px 12px;border-radius:9px;background:var(--blue);color:#fff;cursor:pointer}.storage-grid-fields{display:grid;grid-template-columns:1fr 1fr;gap:6px}.storage-row{padding:0}.storage-row-edit{display:flex;justify-content:space-between;gap:8px;align-items:center;min-width:0;flex:1;padding:8px 10px;border:0;background:transparent;color:var(--ink);text-align:left}.storage-row-edit span{overflow-wrap:anywhere}.storage-moves{display:flex;gap:3px;padding-right:6px}.storage-moves button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--blue);font-weight:900}
@media(max-width:620px){.storage-photo-list{grid-template-columns:1fr}.storage-photo-title{display:grid}.storage-photo-card img{aspect-ratio:16/10}}
.storage-grid-labels{position:absolute;inset:0;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(8,1fr);pointer-events:none;color:#fff;font-size:.56rem;font-weight:900;text-shadow:0 1px 3px #000}.storage-grid-labels .column-label{align-self:start;justify-self:center;padding-top:2px}.storage-grid-labels .row-label{align-self:center;justify-self:start;padding-left:3px}.storage-map-preview .storage-photo-grid{inset:0}.storage-map-preview .storage-grid-labels{font-size:.66rem}
.admin-only-ship-field[hidden]{display:none!important}
.ship-lifecycle-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:4px;border-top:1px solid var(--line)}.ship-lifecycle-actions button{min-height:44px;border-radius:10px;font-weight:850}.ship-lifecycle-actions .danger{border:0;background:#b91c1c;color:#fff}.ship-lifecycle-actions p{grid-column:1/-1;margin:0;color:var(--muted);font-size:.75rem}.ship-lifecycle-actions p:empty{display:none}@media(max-width:620px){.ship-lifecycle-actions{grid-template-columns:1fr}}

/* Build 141: vessel editors are real subpages, never floating modal sheets. */
.ship-workspace{min-height:100dvh;background:var(--paper);color:var(--ink)}
.ship-workspace[hidden],.ships-page-head[hidden],#ships-overview[hidden]{display:none!important}
.ship-workspace form{min-height:100dvh;max-height:none;overflow:visible}
.ship-editor-head{position:sticky;top:0;z-index:20}
.ship-editor-head h2{overflow:hidden;margin:0;color:#fff;font-size:clamp(1.05rem,4.8vw,1.5rem);text-overflow:ellipsis;white-space:nowrap}
.page-back,.page-save{display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #ffffff55;border-radius:13px;color:#fff;font-size:1.8rem;font-weight:900}
.page-back{background:#ffffff12}.page-save{background:#15803d}
.ship-workspace .ship-form-grid{max-width:920px;margin:auto;gap:11px}
.ship-workspace .form-error{max-width:920px;margin:0 auto 16px;padding:0 16px}
.storage-page form{display:block}
.storage-create-card{max-width:920px;margin:16px auto;padding:14px 16px;border:1px solid var(--line);border-radius:17px;background:var(--card);box-shadow:0 3px 12px #0f172a0b}
.storage-create-title{display:flex;justify-content:space-between;gap:12px;align-items:center}
.storage-create-title h3,.storage-list-title{margin:2px 0 0;font-size:1rem}.storage-create-title button{min-width:80px}
.storage-page .storage-editor-grid{padding:12px 0 0}
.storage-list-title{max-width:920px;margin:18px auto 8px;padding:0 16px}
.storage-page #storage-list{max-width:920px;margin:0 auto 16px;padding:0 16px}
.storage-submit{grid-column:1/-1;min-height:46px;border:0;border-radius:11px;background:#0877ad;color:#fff;font-weight:900}
@media(max-width:620px){
  .ship-workspace .ship-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}
  .ship-workspace .ship-form-grid label:not(:nth-of-type(1)):not(:nth-of-type(2)){grid-column:1/-1}
  .ship-workspace .ship-form-grid .wide{grid-column:1/-1}
  .ship-workspace .ship-form-grid input{min-height:42px;font-size:.9rem}
  .ship-workspace .ship-form-grid label>span{font-size:.78rem}
  .storage-create-card{margin:10px;padding:12px}
  .storage-page .storage-editor-grid{grid-template-columns:1fr;padding-top:10px}
  .storage-page .storage-editor-fields{grid-template-columns:1fr 1fr}
  .storage-page .storage-editor-fields label:nth-child(n+3){grid-column:1/-1}
  .storage-page .storage-map-preview{grid-row:1}
}
