/* S20: BMS SIV log book. On top of tokens.css, app.css, bms.css, ds10.css. Tokens only. */
.s20-main{max-width:1180px}
.s20-main button:focus-visible,.s20-main input:focus-visible,.s20-main select:focus-visible,.s20-main textarea:focus-visible,.s20-main a:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}
.s20-tools{display:flex;gap:var(--s-3);align-items:center;flex-wrap:wrap;margin-bottom:var(--s-4)}
.s20-tools .bms-sp{flex:1}
.s20-sums{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s-3);margin-bottom:var(--s-5)}
.s20-sums .bms-sum{min-width:0}
.s20-sums .n{font-family:var(--font-head);font-weight:800;font-size:var(--t-xl);color:var(--color-ink)}
.s20-sums .l{font-size:var(--t-xs);color:var(--color-muted);font-weight:700}
.s20-head,.s20-row{display:grid;grid-template-columns:minmax(210px,2fr) 80px minmax(140px,1.3fr) minmax(140px,1.3fr) 110px 110px 150px;gap:var(--s-3);align-items:center;padding:var(--s-3) var(--s-4)}
.s20-head{background:var(--color-bg);border-bottom:1px solid var(--color-line);font-size:var(--t-xs);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted)}
.s20-row{border-top:1px solid var(--color-line);font-size:var(--t-sm)}
.s20-row:hover,.s20-row.is-edit{background:var(--color-accent-wash)}
.s20-who{display:flex;gap:var(--s-3);align-items:center;min-width:0}
.s20-who .nm{font-weight:700;color:var(--color-ink)}
.s20-who .em{font-size:var(--t-xs);color:var(--color-muted);overflow-wrap:anywhere}
.s20-cell .k{display:none}
.s20-num{font-weight:800;color:var(--color-ink)}
.s20-zero{color:var(--color-muted);font-weight:600}
.s20-tag{display:inline-block;font-size:var(--t-xs);font-weight:800;padding:2px 10px;border-radius:999px;background:var(--color-success-wash);color:var(--color-success-ink)}
.s20-tag.is-none{background:var(--color-bg);color:var(--color-muted);border:1px solid var(--color-line)}
.s20-tag.is-water{background:var(--color-info-wash);color:var(--color-info-ink)}
.s20-act{display:flex;gap:var(--s-2);justify-content:flex-end}
.s20-empty{padding:var(--s-6) var(--s-5);text-align:center}
.s20-empty h3{margin:0 0 var(--s-2);color:var(--color-ink);font-size:var(--t-lg)}
.s20-empty p{margin:0 auto var(--s-4);max-width:46ch;color:var(--color-muted);font-size:var(--t-sm)}
.s20-panel{margin-bottom:var(--s-5);border-left:4px solid var(--color-accent)}
.s20-panel[hidden]{display:none}
.s20-form{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-4);padding:var(--s-4) var(--s-5) var(--s-5)}
.s20-f{display:flex;flex-direction:column;gap:var(--s-1)}
.s20-f.wide{grid-column:1/-1}
.s20-f label{font-size:var(--t-xs);font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted)}
.s20-f input,.s20-f select,.s20-f textarea{font:inherit;font-size:var(--t-base);color:var(--color-ink);background:var(--color-card);border:1.5px solid var(--color-line);border-radius:var(--radius-sm);padding:.55rem .75rem;min-height:44px;width:100%;box-sizing:border-box;-webkit-appearance:none;appearance:none}
.s20-f select{background-image:linear-gradient(45deg,transparent 50%,var(--color-muted) 50%),linear-gradient(135deg,var(--color-muted) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:2.2rem}
.s20-f textarea{min-height:80px;resize:vertical}
.s20-f input:hover,.s20-f select:hover,.s20-f textarea:hover{border-color:var(--color-accent-text)}
.s20-f input:focus,.s20-f select:focus,.s20-f textarea:focus{border-color:var(--color-accent)}
.s20-f .err{font-size:var(--t-xs);color:var(--color-danger-ink);font-weight:700;min-height:1em}
.s20-f.has-err input,.s20-f.has-err select{border-color:var(--color-danger)}
.s20-formact{grid-column:1/-1;display:flex;gap:var(--s-3);flex-wrap:wrap;align-items:center}
.s20-formact .bms-sp{flex:1}
.s20-btn-danger{background:transparent;border:1.5px solid var(--color-line);color:var(--color-danger-ink);font:inherit;font-weight:700;font-size:var(--t-sm);padding:.4rem .9rem;border-radius:var(--radius-sm);cursor:pointer}
.s20-btn-danger:hover{border-color:var(--color-danger);background:var(--color-danger-wash)}
.s20-toast{position:fixed;right:var(--s-5);bottom:var(--s-5);z-index:30;background:var(--color-ink);color:var(--color-on-accent);padding:var(--s-3) var(--s-4);border-radius:var(--radius-sm);font-size:var(--t-sm);font-weight:700;box-shadow:var(--shadow)}
.s20-toast[hidden]{display:none}
.s20-csv{margin:0;padding:var(--s-4) var(--s-5);background:var(--color-bg);font-family:ui-monospace,Consolas,monospace;font-size:var(--t-xs);color:var(--color-ink);overflow:auto;max-height:260px;white-space:pre}
.s20-note{font-size:var(--t-xs);color:var(--color-muted);margin-top:var(--s-3)}
.s20-count{margin-left:var(--s-2)}
@media(max-width:1000px){
  .s20-sums{grid-template-columns:repeat(3,1fr)}
  .s20-head{display:none}
  .s20-row{grid-template-columns:1fr 1fr;row-gap:var(--s-2)}
  .s20-row > .s20-who{grid-column:1/-1}
  .s20-row > .s20-act{grid-column:1/-1;justify-content:flex-start}
  .s20-cell .k{display:block;color:var(--color-muted);font-weight:800;font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.05em}
  .s20-form{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .s20-sums{grid-template-columns:repeat(2,1fr)}
  .s20-form{grid-template-columns:1fr;padding:var(--s-4)}
  .s20-toast{left:var(--s-3);right:var(--s-3);bottom:var(--s-3)}
}
.s20-sortb{display:block;width:100%;text-align:left;background:transparent;border:0;font:inherit;font-size:var(--t-sm);color:var(--color-body);padding:.4rem var(--s-3);border-radius:6px;cursor:pointer;min-height:36px}
.s20-sortb:hover{background:var(--color-bg)}
.s20-sortb.is-on{background:var(--color-accent-wash);color:var(--color-accent-text);font-weight:700}
.ds10-sel ul li{padding:0}
