/* round 7 module (ship), built by B11: existing variables only (var(--ink) … var(--on-accent,#fff)), no hex colours. js/ship.js — F20 Ship & CoC. */
.sh-root{min-width:0}
.sh-pick h3{margin:0}
.sh-pickh{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
#shFind{min-width:300px;padding:7px 11px;border:1px solid var(--rule);border-radius:8px;background:var(--field,var(--paper));color:var(--ink);font:inherit}
.sh-wos{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.sh-wo{display:flex;flex-direction:column;gap:2px;text-align:left;border:1px solid var(--rule);background:var(--paper);color:var(--ink);border-radius:10px;padding:10px 12px;font:inherit;cursor:pointer;box-shadow:var(--sh)}
.sh-wo:hover{border-color:var(--indigo)} .sh-wo b{font-size:15px} .sh-wo span{font-size:12.5px;color:var(--ink2)}
.sh-wo em{align-self:flex-start;font-style:normal;font-size:11px;font-weight:700;border-radius:5px;padding:1px 7px;margin-top:4px;background:var(--amber-l);color:var(--ink)}
.sh-top{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 6px}
.sh-top h2{margin:0;font-size:22px}
.sh-jl{margin-left:auto;font-size:13px}
.sh-grid{display:grid;grid-template-columns:minmax(300px,1fr) minmax(420px,1.45fr) minmax(280px,.95fr);gap:14px;align-items:start}
@media (max-width:1250px){.sh-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)} .sh-grid>.sh-col:last-child{grid-column:1 / -1}}
@media (max-width:820px){.sh-grid{grid-template-columns:minmax(0,1fr)}}
.sh-col{min-width:0}
.sh-card{margin:0 0 14px}
.sh-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.sh-h h3{margin:0;font-size:16px} .sh-h .sp{flex:1}
.sh-no{font:12px var(--mono);color:var(--ink3)}
.sh-items{width:100%} .sh-items th{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink3);text-align:left;padding:5px 4px;border-bottom:1px solid var(--rule)}
.sh-items th:last-child,.sh-items td:last-child{text-align:right}
.sh-items td{padding:7px 4px;border-bottom:1px solid var(--rule);vertical-align:top;font-weight:700}
.sh-items td small{display:block;font-weight:400;font-size:12px;color:var(--ink2)} .sh-items td small.mono{font-family:var(--mono)}
.sh-form{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}
.sh-f{display:flex;flex-direction:column;gap:3px;min-width:0} .sh-f.full{grid-column:1 / -1}
.sh-f>span{font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ink3)}
.sh-f input,.sh-f select,.sh-f textarea{font:inherit;padding:7px 9px;border:1px solid var(--rule);border-radius:7px;background:var(--field,var(--paper));color:var(--ink);min-width:0}
.sh-f textarea{resize:vertical} .sh-f textarea.mono{font-family:var(--mono);font-size:12.5px}
.sh-errs{margin:10px 0 0;padding-left:18px;font-size:12.5px;color:var(--red)} .sh-errs li.warn{color:var(--ink2)}
.sh-go{width:100%;margin-top:12px}
.sh-dry{margin-top:10px;background:var(--paper2);border-radius:9px;padding:9px 11px;font-size:13px;color:var(--ink2)}
.sh-dry b{display:block}
.sh-bad{color:var(--red)}
.sh-pre{white-space:pre-wrap;word-break:break-all;font:11px var(--mono);background:var(--paper);border:1px solid var(--rule);border-radius:6px;padding:6px 8px;margin:6px 0 0;max-height:220px;overflow:auto}
.sh-paper{background:var(--bg2);border-radius:10px;padding:12px}
.sh-paper .sh-doc{background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:4px;padding:16px 18px;box-shadow:var(--sh);font-size:12.5px}
.sh-dhead{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;border-bottom:2px solid var(--ink);padding-bottom:8px;margin-bottom:10px}
.sh-brand{display:flex;gap:8px;align-items:center} .sh-brand b{display:block;font-size:14px} .sh-brand small{display:block;font-size:11px;color:var(--ink2)}
.sh-mark{border:2px solid var(--ink);font-weight:900;font-size:11px;padding:3px 5px}
.sh-dtitle{text-align:right} .sh-dtitle b{display:block;font-size:14px;letter-spacing:.03em} .sh-dtitle small{display:block;font:11px var(--mono);color:var(--ink2)}
.sh-kvs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 12px;margin:6px 0 10px}
.sh-kv span{display:block;font:11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)} .sh-kv b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis}
.sh-stmt{border-left:3px solid var(--ink);background:var(--bg2);padding:7px 10px;margin:8px 0}
.sh-sec{font:700 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);margin:10px 0 4px}
.sh-fl{columns:2;margin:0;padding-left:18px} .sh-fl li{margin:1px 0}
.sh-sns{display:flex;flex-wrap:wrap;gap:2px 10px;font:11px var(--mono);color:var(--ink2)}
.sh-sign{display:flex;gap:18px;align-items:flex-end;margin-top:16px} .sh-sign>div{flex:1;min-width:0}
.sh-line{border-bottom:1px solid var(--ink);min-height:20px;padding:2px 0;font-weight:700}
.sh-sign small{font-size:11px;color:var(--ink3)} .sh-proof{text-align:right;font-size:11px;color:var(--ink2)}
.sh-tbl{width:100%;border-collapse:collapse} .sh-tbl th,.sh-tbl td{border:1px solid var(--rule);padding:4px 6px;text-align:left}
.sh-labels{display:flex;flex-direction:column;gap:8px}
.sh-lb{height:190px;background:var(--bg2);border-radius:8px}
.sh-lbrow{display:flex;align-items:center;gap:8px;margin-top:10px}
.sh-lbrow input{width:70px;padding:6px 8px;border:1px solid var(--rule);border-radius:7px;background:var(--field,var(--paper));color:var(--ink);font:inherit}
.sh-lbrow .btn{margin-left:auto}
.sh-hist{display:flex;flex-direction:column;gap:8px}
.sh-hrow{border:1px solid var(--rule);border-radius:9px;padding:8px 10px;font-size:13px}
.sh-hbtn{display:flex;gap:6px;margin-top:6px}
@media print{#nav,.topbar,header,.sh-top,.sh-col,.sh-cocc .sh-h{display:none!important} .sh-grid{display:block} .sh-cocc,.sh-paper,.sh-paper .sh-doc{background:white!important;color:black!important;border:0!important;box-shadow:none!important;padding:0!important}
  .sh-paper .sh-doc *{color:black!important;border-color:black!important;background:white!important}}
/* v1 polish (V1-H): required-field marker */
.sh-req{font-style:normal;color:var(--red)}
/* round 10 (G9): cartons shown as text next to Boards per box; Technical details (admin only) under the saved message */
.sh-cartons b{font-size:16px;padding:6px 0;font-variant-numeric:tabular-nums}
.sh-dry b{color:var(--ink)}
.sh-tech{margin-top:6px} .sh-tech summary{cursor:pointer;font-size:12px;color:var(--ink2)}
.sh-pick .card-h{flex-wrap:wrap}
@media (max-width:700px){#shFind{min-width:0;width:100%}}
