/* classify.css — Review new data (BoardView.swift as CSS). Owned by the Review agent.
   Contract: docs/web-redesign-spec/4-surfaces.md §4.5. Only board-*, .lanes, .lane* live here;
   every control is a base class. Colour: the ok token once (the approved tick); nothing else. */

#board-col{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;width:100%}

/* the toolbar: the track, the reading word, the switch */
.board-bar{flex:none;height:44px;display:flex;align-items:center;gap:var(--s-l);padding:0 var(--s-xxl);border-bottom:1px solid var(--line)}
.board-bar>.state{margin-left:auto}
.board-bar>.switch{margin-left:auto}
.board-bar>.state+.switch{margin-left:0}
.board-bar .switch{font-size:12.5px;color:var(--muted)}
.board-bar .switch .swtitle{font-size:12.5px}
.board-bar .switch:has(input:checked){color:var(--text)}

/* fast track: three lanes */
.lanes{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-xl);padding:var(--s-xxl)}
.lane{display:flex;flex-direction:column;min-width:0;min-height:0}
.lane-head{display:flex;align-items:baseline;gap:var(--s-m);flex:none}
.lane-head .eyebrow{margin:0}
.lane-head .chip{height:22px}
.lane-sub{font-size:12.5px;color:var(--faint);line-height:1.45;margin:var(--s-xs) 0 var(--s-l);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:none}
.lane-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;align-items:stretch}
.lane-body>.hint{margin:0 0 var(--s-xxs)}
.board-empty{flex:none;border:1.5px dashed var(--line2);border-radius:var(--r-md);padding:var(--s-xxl);
  text-align:center;color:var(--faint);font-size:12.5px;line-height:1.45}

/* cards */
.board-card{flex:none;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-l) 14px;
  display:flex;flex-direction:column;gap:var(--s-m);min-height:0;transition:background .12s ease,border-color .12s ease}
.board-card.is-focus{background:var(--card2);border-color:var(--line2)}
.board-card.is-focus .btn.danger,.board-card.is-focus .btn.sec{border-color:var(--line2)}
.board-card.is-busy{opacity:.55;pointer-events:none}
.board-card .eyebrow{margin:0}
.board-card .btnrow{margin-top:var(--s-xs)}
.board-card .btnrow>.btn.quiet:last-child{margin-left:auto}
#board-col .board-card .msg:not(.banner):not(.bar){margin:0;padding:0;border:0;border-radius:0;min-height:0;background:none}
.board-title{font-size:14.5px;font-weight:500;color:var(--text)}
.board-why{font-size:12.5px;color:var(--muted);line-height:1.45}
.board-folder{display:flex;align-items:center;gap:var(--s-m);flex-wrap:wrap}
.board-folder select.f{width:auto;flex:0 1 auto;min-width:0;max-width:180px}
/* base's select.f chevron has no background-size; sized here until base sets it */
.board-folder select.f,.board-side select.f{background-size:9px 5px}
.board-card.tight{padding:var(--s-m) var(--s-l);flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--s-m);row-gap:4px}
.board-card.tight>svg{flex:none;color:var(--ok)}
/* two lines (BoardView.swift:479-498): the tick and the name, then the folder and the time.
   The chip starts under the name (12 tick + 8 gap); the date keeps to the right. */
.board-card.tight>.board-title{flex:1 1 calc(100% - 20px);min-width:0;white-space:normal;overflow:hidden;overflow-wrap:anywhere;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.board-card.tight>.chip{flex:0 1 auto;min-width:0;max-width:none;margin-left:20px;overflow:hidden}
.board-card.tight>.chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.board-card.tight>.nr-date{flex:none;margin-left:auto;white-space:nowrap}

/* read one at a time */
.board-manual{flex:1;min-height:0;display:grid;grid-template-columns:260px minmax(0,1fr) 320px;gap:var(--s-xl);padding:var(--s-xxl)}
.board-pile{min-height:0;overflow-y:auto;display:flex;flex-direction:column}
.board-pile-item{height:auto;min-height:var(--h-row);padding:var(--s-m) var(--s-l)}
.board-pile-item .lbl{white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35}
.board-doc{min-height:0;display:flex;flex-direction:column;background:var(--side);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-xxl);overflow-y:auto}
.board-doc>.chip{align-self:flex-start;flex:none}
.board-doc>.rule{margin:var(--s-l) 0 var(--s-xl);flex:none}
.board-doc-text{font-size:14.5px;line-height:1.5;color:var(--text);white-space:pre-wrap;user-select:text;overflow-wrap:anywhere}
.board-doc img{display:block;max-width:100%;max-height:70vh;object-fit:contain;background:var(--bg);border-radius:var(--r-sm)}
.board-doc>.msg{margin-top:var(--s-l)}
.board-side{min-height:0;overflow-y:auto;padding:0 0 0 var(--s-xl);border-left:1px solid var(--line);display:flex;flex-direction:column;gap:var(--s-xl)}
.board-side .eyebrow{margin-bottom:var(--s-s)}
.board-side .btnrow{flex-direction:column;align-items:stretch;margin-top:0}
.board-side .swhelp{margin-top:var(--s-s)}
.board-file{font-size:12.5px;color:var(--faint);overflow-wrap:anywhere}

/* redact's .board-clip cuts at max-height; on titles and why lines clamp by line so the cut ends in an ellipsis */
.board-title.board-clip,.board-why.board-clip{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--lines,2);max-height:none}

@media (max-width:1179px){
  .lanes{gap:var(--s-l);padding:var(--s-xl)}
  .board-manual{grid-template-columns:220px minmax(0,1fr) 280px}
  .lane-sub{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
}
