/* Cost Comps page (costs.html). Shares tokens with styles.css and the sidebar/header with dev.css. */
.cc-main{display:flex;flex-direction:column;min-width:0;min-height:0}
.cc-bar{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--panel);font-size:13px}
.cc-bar select{padding:4px 6px;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--ink);margin-left:6px}
.cc-count{color:var(--muted)}
.cc-all{color:var(--ink);font-variant-numeric:tabular-nums;font-size:12px}
.cc-all .n,.gs .n,.grp .n{color:var(--muted);font-weight:400}
.linkbtn{border:0;background:none;color:var(--green);text-decoration:underline;padding:0;font-size:12px}
.cc-wrap{flex:1;min-height:0;overflow:auto}
table.cc{border-collapse:separate;border-spacing:0;width:100%;font-size:13px;font-variant-numeric:tabular-nums}
table.cc th{position:sticky;top:0;z-index:2;background:var(--soft);border-bottom:1px solid var(--line);text-align:left;padding:0;white-space:nowrap}
table.cc th button{border:0;background:none;font:600 12px var(--f-cond);color:var(--ink);padding:7px 8px;width:100%;text-align:inherit;cursor:pointer}
table.cc th.r button{text-align:right}
table.cc td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}
table.cc td small{display:block;color:var(--muted);font-size:11.5px;line-height:1.3;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
table.cc td.r,table.cc th.r{text-align:right}
table.cc td.r small{max-width:none}
table.cc td.ck,table.cc th.ck{width:28px;padding-left:12px;text-align:center}
table.cc th.ck input{margin:8px 0}
table.cc tbody tr[data-id]{cursor:pointer}
table.cc tbody tr[data-id]:hover td{background:var(--gold-soft)}
table.cc tr.excl td{opacity:.5}
table.cc tr.grp td{background:var(--bg);border-bottom:1px solid var(--line);padding:9px 12px;position:sticky;top:31px;z-index:1}
table.cc tr.grp .n{margin:0 12px 0 4px}
table.cc tr.grp .gs{font-size:12px;color:var(--ink)}
table.cc td.empty{text-align:center;color:var(--muted);padding:30px}
table.cc sup{color:var(--muted);font-size:10px;margin-left:1px}
.rv{display:inline-block;margin-left:6px;font:600 10.5px var(--f-cond);padding:0 6px;border-radius:9px;vertical-align:1px;color:#fff}
.rv-verified{background:var(--green-2)}
.rv-needs-review{background:var(--warn)}
.rv-exclude{background:#8a8f86}
.cc-help{font-size:11.5px;color:var(--muted);line-height:1.4;margin:8px 0 0}
.cc-help b{color:var(--ink);font-weight:600}
.cc-checks{max-height:200px;overflow:auto}
.chips{display:flex;flex-wrap:wrap;gap:5px}
.chip b{font-weight:400;opacity:.7;font-size:11px;margin-left:2px}
.cc-yr{display:flex;gap:6px;align-items:center;margin-bottom:6px}
.cc-yr input{width:70px;padding:4px 6px;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--ink)}
/* detail + edit */
.cc-sheet{width:min(100%,1040px)}
.cc-sheet .btn.on{background:var(--green);border-color:var(--green);color:#fff}
.cc-det{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;padding:14px 16px;overflow:auto;flex:1;min-height:0}
.cc-det h3{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:14px 0 4px}
.cc-det h3:first-child{margin-top:0}
.cc-det p{margin:0 0 6px;line-height:1.45;white-space:pre-line}
table.kv{border-collapse:collapse;font-size:13px;width:100%;font-variant-numeric:tabular-nums}
table.kv th{text-align:left;color:var(--muted);font-weight:500;padding:4px 12px 4px 0;vertical-align:top;white-space:nowrap;width:1%}
table.kv td{padding:4px 0;border-bottom:1px solid var(--soft)}
table.li{border-collapse:collapse;width:100%;font-size:12.5px;font-variant-numeric:tabular-nums}
table.li td{padding:3px 6px 3px 0;border-bottom:1px solid var(--soft)}
table.li td.r{text-align:right;white-space:nowrap}
.cc-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;padding:14px 16px;overflow:auto;flex:1;min-height:0;align-content:start}
.cc-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}
.cc-form label.wide{grid-column:1/-1}
.cc-form label.chkl{flex-direction:row;align-items:center;gap:6px;color:var(--ink);padding-top:18px}
.cc-form input,.cc-form select,.cc-form textarea{padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);font:14px var(--f-ui)}
.cc-sheet > p{padding:0 16px 14px}
.btn.danger{color:var(--warn);border-color:var(--warn)}
@media (max-width:860px){
  .cc-det,.cc-form{grid-template-columns:minmax(0,1fr)}
  .hdr-right #xFull{display:none}
}
table.cc td.it b{font-size:14px;font-weight:600;color:var(--green)}
:root[data-theme="dark"] table.cc td.it b{color:var(--green-2)}
.cc-sub{color:var(--muted);font-size:13px}
