/* Firm colors, carried over from the Daily Dashboard */
:root{
  --bg:#f4f3f0;--ink:#1a1917;--muted:#6f6a60;--line:#ded8cc;--card:#fff;--box:#fffdf9;--band:#f0ece4;
  --accent:#2f4a63;--accent-soft:#e0e9f0;--go:#3f6b47;--go-soft:#e6f0e6;
  --T:#2f4a63;--T-l:#dce7f0;--D:#5a3a78;--D-l:#e9e0f2;--R:#1f6b63;--R-l:#dcefeb;
  --p1:#9c2c2c;--p2:#9c6b21;--p3:#4a6b7a;--wait:#8a6d3b;--wait-l:#f3ead8;--wall:#444;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-size:13px;line-height:1.45}
button{font:inherit;cursor:pointer}
input,select,textarea{font:inherit}
[hidden]{display:none!important}
.muted{color:var(--muted)}
.testband{background:#9c2c2c;color:#fff;text-align:center;font-size:11px;font-weight:700;padding:4px 8px;letter-spacing:.02em}

/* sign in */
.signin{display:flex;justify-content:center;padding:60px 16px}
.signin .card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px;max-width:420px;width:100%}
.signin h1{font-size:18px;margin:0 0 4px;color:var(--accent)}
.people{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.people button{padding:10px;border-radius:8px;border:1px solid var(--line);background:var(--box);font-weight:700;text-align:left}

/* top bar */
.top{display:flex;align-items:center;gap:10px;background:var(--accent);color:#fff;padding:8px 12px;position:sticky;top:0;z-index:5}
.top .brand{font-weight:700;font-size:15px}
.top .refresh{margin-left:auto;display:flex;align-items:center;gap:8px}
.top .refresh .muted{color:#d6e0ea;font-size:11px}
.icon{background:none;border:none;color:#fff;font-size:18px;padding:2px 6px;position:relative}
.ghost{background:transparent;border:1px solid #9fb3c6;color:#fff;border-radius:6px;padding:4px 10px;font-size:12px}
.me{background:#fff;color:var(--accent);border:none;border-radius:14px;padding:4px 10px;font-weight:700;font-size:12px}
.badge{position:absolute;top:-4px;right:-6px;background:var(--p1);color:#fff;font-size:10px;border-radius:8px;padding:0 5px;font-weight:700}

.bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:10px 12px 0;max-width:1100px;margin:0 auto}
.bar.sub{padding-top:8px;justify-content:flex-start}
.bar.sub input[type=search]{flex:1;min-width:180px;padding:6px 9px;border:1px solid var(--line);border-radius:6px;background:#fff}
.bar.sub .placeby{white-space:nowrap}
.tabs.right{align-items:center}
.tabs .pick{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--muted)}
.tabs .pick select{border:1px solid var(--line);background:#fff;border-radius:6px;padding:4px 6px;font-weight:600;font-size:12px;color:var(--ink)}
.tabs button.primary{margin-left:2px;background:var(--accent);color:#fff;border-color:var(--accent);font-weight:700}
.tabs{display:flex;gap:4px;flex-wrap:wrap}
.tabs button{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:6px;padding:5px 11px;font-weight:600;font-size:12px}
.tabs button.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.tabs button.T.on{background:var(--T)}.tabs button.D.on{background:var(--D);border-color:var(--D)}.tabs button.R.on{background:var(--R);border-color:var(--R)}
.primary{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 12px;font-weight:700}
.secondary{background:#fff;color:var(--accent);border:1px solid var(--accent);border-radius:6px;padding:6px 12px;font-weight:600}
.danger{background:#fff;color:var(--p1);border:1px solid var(--p1);border-radius:6px;padding:6px 12px;font-weight:600}

main{max-width:1100px;margin:0 auto;padding:10px 12px 60px}

/* offers waiting on me */
#offers{max-width:1100px;margin:0 auto;padding:0 12px}
.offer{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border:2px solid var(--D);background:var(--D-l);border-radius:9px;padding:8px 10px;margin-top:10px}
.offer .txt{flex:1;min-width:200px}

/* next-few-days strip */
.strip{border:1px solid var(--p1);background:#fbeeee;border-radius:9px;padding:8px 10px;margin-bottom:10px}
.strip h3{margin:0 0 4px;font-size:12px;color:var(--p1)}
.strip .task{padding-left:2px;padding-right:2px;border-top-color:#efcaca}
.strip .task:not(.colrow){border-top:1px dashed #efcaca}
.strip .cols.head{color:var(--p1)}
.strip .ck{border-color:var(--p1)}

/* sections and tasks */
.block{border:1px solid var(--line);border-radius:9px;background:var(--box);margin-bottom:8px;overflow:hidden}
/* each section is one clickable row; it opens to show its tasks */
.sechead{width:100%;border:none;margin:0;font-size:12.5px;font-weight:700;padding:9px 11px;background:var(--band);color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left}
.sechead:disabled{cursor:default;opacity:.7}
.sechead .sum{font-weight:400;color:#3d3a34;font-size:11.5px;white-space:nowrap}
/* section colors approved 11/03/26: row color = dot color */
.block.court .sechead{background:#f4d3d3;color:#9c2c2c}
.block.bill .sechead{background:#cfe0f5;color:#1F5FA8}
.block.client .sechead{background:#d3ebd5;color:#2E7D32}
.block.firm .sechead{background:#eadfc8;color:#6b5330}
.block.build .sechead{background:#e8d2ea;color:#7B3FA0}
.block.teach .sechead{background:#cdeee9;color:#00695C}
.block.pers .sechead{background:#fcdcbf;color:#A64E00}
.block.carry .sechead{background:#f1e6b8;color:#6b5718}
.block.soon{border:1px solid var(--p1);background:#fbeeee}
.block.soon .sechead{background:#fbeeee;color:var(--p1)}
.block.soon .task{border-top-color:#efcaca}
.block.soon .cols.head{color:var(--p1)}
.block.soon .ck{border-color:var(--p1)}
.block.wday .sechead{background:#fff;color:var(--accent)}
.block.wday.today{border:2px solid var(--accent)}
.block.wday.today .sechead{background:var(--accent-soft)}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;border:1.5px solid;margin-right:6px;vertical-align:-1px;flex:none;box-sizing:border-box}
.dots .dot{margin-right:3px}
.wk-detail{font-size:13px;color:var(--accent);margin:16px 2px 8px}
.legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:10.5px;color:var(--muted);margin:0 2px 8px}
.legend span{display:flex;align-items:center}
.task{display:flex;gap:8px;align-items:flex-start;padding:6px 10px;border-top:1px dashed #eee}
.task:first-of-type{border-top:none}
.ck{width:15px;height:15px;flex:none;margin-top:2px;border:1.5px solid var(--muted);border-radius:3px;background:#fff;cursor:pointer;padding:0}
.task.done .ck{background:var(--go);border-color:var(--go)}
.task.done .ttl{text-decoration:line-through;color:var(--muted)}
.task .body{flex:1;min-width:0;cursor:pointer}
.task .ttl{font-size:12.5px}
.task .meta{font-size:10.5px;color:var(--muted)}
.task .tags{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end;max-width:30%;align-self:center}
/* right-hand columns: Priority · Added · Due · Task ID */
.cols{display:grid;grid-template-columns:58px 92px 58px 96px;gap:6px;flex:none;align-items:center;font-size:11px;text-align:center}
.cols .tid{font-size:10.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.cols .tid a{color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.cols .tid a:hover{color:var(--ink)}
.idline a{color:var(--accent);font-weight:700}
.cols.head{font-size:9.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.task.colrow{border-top:none;padding-top:4px;padding-bottom:0;background:transparent}
.task.colrow .ck-space{width:15px;flex:none}
@media(max-width:760px){
  .task{flex-wrap:wrap}
  .task .body{flex-basis:calc(100% - 30px)}
  .task .tags{max-width:none;justify-content:flex-start;margin-left:23px}
  .cols{margin-left:23px;grid-template-columns:repeat(4,auto);text-align:left}
  .cols span[data-l]::before{content:attr(data-l) " ";font-size:9px;color:var(--muted);font-weight:700}
  .task.colrow{display:none}
}
.chip{font-size:9.5px;font-weight:700;border-radius:5px;padding:1px 6px;white-space:nowrap;background:#eee}
.chip.p1{background:var(--p1);color:#fff}.chip.p2{background:var(--p2);color:#fff}.chip.p3{background:var(--p3);color:#fff}
.chip.hot{background:var(--p1);color:#fff}
.chip.T{background:var(--T-l);color:var(--T)}.chip.D{background:var(--D-l);color:var(--D)}.chip.R{background:var(--R-l);color:var(--R)}
.chip.wait{background:var(--wait-l);color:var(--wait)}
.chip.offer{background:var(--D-l);color:var(--D)}
.chip.wall{background:var(--wall);color:#fff}
.chip.review{background:#fde7cc;color:#8a4b00}
.chip.review.mine{background:#f0a860;color:#4a2600}
.chip.reviewed{background:var(--go-soft);color:var(--go)}
.waitbox.reviewbox{background:#fff1df;border-color:#f0c48a}
.waitbox.reviewbox.done{background:var(--go-soft);border-color:#b9d8bf}
.radio{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink);font-weight:400;margin:3px 0;flex-wrap:wrap}
.radio select{padding:3px 6px;border:1px solid var(--line);border-radius:6px}
.chip.new{background:var(--go);color:#fff}

/* week and month */
.cal-nav{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.cal-nav h3{margin:0;font-size:14px;color:var(--accent);flex:1}
.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.day{background:var(--box);border:1px solid var(--line);border-radius:7px;min-height:90px;padding:4px}
.day.today{border:2px solid var(--accent)}
.day.out{opacity:.45}
.day h4{margin:0 0 3px;font-size:11px;color:var(--muted)}
.day .it{font-size:10.5px;padding:2px 4px;border-radius:4px;margin-bottom:2px;cursor:pointer;background:#fff;border-left:3px solid var(--line);overflow-wrap:anywhere;white-space:normal}
.day .it.T{border-left-color:var(--T)}.day .it.D{border-left-color:var(--D)}.day .it.R{border-left-color:var(--R)}
.day .it.done{text-decoration:line-through;color:var(--muted)}
.undated{margin-top:10px;font-size:11px}
@media(max-width:700px){.week,.month{grid-template-columns:1fr}.day.out{display:none}}

/* list */
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}
table.lst{width:100%;border-collapse:collapse;font-size:11.5px;min-width:720px}
table.lst th{background:var(--accent);color:#fff;text-align:left;padding:6px 7px;cursor:pointer;white-space:nowrap}
table.lst td{border-top:1px solid var(--line);padding:5px 7px;background:var(--box);vertical-align:top}
table.lst tr{cursor:pointer}
table.lst th.nc{cursor:default;width:28px}
table.lst th .arr{opacity:.6;font-size:10px}
table.lst th.sorted .arr{opacity:1}
table.lst td.soft{color:var(--muted);white-space:nowrap}
table.lst td.ckc{width:28px}
table.lst tr.done td{color:var(--muted)}
table.lst tr.done .ck{background:var(--go);border-color:var(--go)}
table.lst td.tid{white-space:nowrap;font-size:11px}
table.lst td.tid a{color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:2px}

/* panels */
#scrim{position:fixed;inset:0;background:rgba(0,0,0,.25);z-index:8}
.panel{position:fixed;top:0;bottom:0;width:min(360px,92vw);background:var(--card);z-index:9;overflow-y:auto;padding:14px;box-shadow:0 0 24px rgba(0,0,0,.2)}
.panel.left{left:0}.panel.right{right:0}.panel.wide{width:min(520px,96vw)}
.panel h2{font-size:15px;margin:0 0 10px;color:var(--accent);display:flex;justify-content:space-between;align-items:center}
.panel .x{background:none;border:none;font-size:18px;color:var(--muted)}
.panel h3{font-size:12px;margin:14px 0 6px;color:var(--accent);text-transform:uppercase;letter-spacing:.03em}
.mgroup button.head{width:100%;text-align:left;background:var(--band);border:1px solid var(--line);border-radius:6px;padding:7px 9px;font-weight:700;margin-bottom:4px;display:flex;justify-content:space-between}
.mgroup .items{padding:2px 4px 8px}
.mgroup .head.portals{background:var(--accent);color:#fff;border-color:var(--accent)}
.mgroup .head.portals .muted{color:#d6e0ea}
.lgroup{font-size:10.5px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.03em;margin:8px 0 2px}
.dlist.links li{cursor:default}
.dlist.links a{color:var(--ink);text-decoration:none}
.dlist.links a:hover{color:var(--accent);text-decoration:underline}
.dlist{margin:4px 0 8px;padding-left:18px}
.dlist li{list-style:disc;font-size:11.5px;padding:3px 0;cursor:pointer}
.dlist li::marker{color:var(--accent)}
.mgroup .head.client{background:#fff;font-weight:700;align-items:flex-start}
.mgroup .head .cases{display:block;font-weight:400;font-size:10.5px;color:var(--muted);margin-left:14px}
.ccard{background:var(--accent-soft);border-radius:7px;padding:7px 9px;margin:2px 0 6px;font-size:11.5px;display:flex;flex-direction:column;gap:2px}
.ccard b{display:inline-block;min-width:54px;font-size:10.5px;color:var(--accent)}
.ccard a{color:var(--accent)}
.secondary.small{align-self:flex-start;padding:2px 8px;font-size:10.5px;margin-top:3px}
.ditem{font-size:11.5px;padding:5px 0;cursor:pointer}
.ditem .meta{font-size:10.5px;color:var(--muted)}
.note{font-size:11.5px;padding:6px 8px;background:var(--band);border-radius:6px;margin-bottom:5px}
.note b{font-size:10.5px}
.notif{padding:7px 8px;border-bottom:1px solid var(--line);font-size:12px;cursor:pointer}
.notif.unread{background:var(--accent-soft)}
.notif .meta{font-size:10.5px;color:var(--muted)}

/* detail form */
.field{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}
.field label{font-size:10.5px;color:var(--muted);font-weight:700}
.field input,.field select,.field textarea{padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:#fff}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
/* task window: every button is blue like Check off (not the ✕ close) */
#detail button:not(.x), #detail a.srcbtn{background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:6px;font-weight:700}
/* "Add source" (no source yet): very light green. Hover on any button: light orange. */
#detail .srcbtn.none{background:#dcf2dc;color:#2E7D32;border:1px solid #9fd09f;opacity:1}
#detail button:not(.x):hover, #detail a.srcbtn:hover, #detail .srcbtn.none:hover{background:#fcd9b0;color:#7a3e00;border-color:#f0a860}
.srcbtn{display:inline-flex;align-items:center;text-decoration:none;font-size:13px;line-height:1.2}
.srcbtn.none{color:var(--muted);border-color:var(--line);border-style:dashed}
.iconbtn{background:none;border:1px solid var(--line);border-radius:6px;padding:4px 8px;color:var(--muted)}
.duepick{display:flex;gap:6px;align-items:center}
.duepick input{flex:1;min-width:0}
.actions{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.hist{font-size:10.5px;color:var(--muted);padding:2px 0}
.idline{font-size:11px;color:var(--muted);margin-bottom:8px}
.waitbox{background:var(--wait-l);border:1px solid #e0cfa8;border-radius:7px;padding:8px;font-size:12px;margin-bottom:8px}

/* phones: compact top bar; task window fills the screen; side-by-side fields stack */
@media(max-width:600px){
  .top{gap:6px;padding:6px 10px}
  .top .brand{font-size:13px;line-height:1.15}
  .top .brand .sep{display:none}
  .top .brand .sub2{display:block;font-size:11px;font-weight:600;opacity:.85}
  .top .refresh{gap:5px}
  .top .refresh .muted{font-size:9.5px;max-width:78px;line-height:1.2;text-align:right}
  .ghost .lbl{display:none}
  .ghost{padding:4px 8px;font-size:14px}
  .me{padding:3px 8px;font-size:11px}
  .icon{font-size:17px;padding:2px 4px}
  .panel,.panel.wide{width:100vw;max-width:100vw;padding:12px}
  .row2{grid-template-columns:minmax(0,1fr)}
  .field input,.field select,.field textarea{width:100%;min-width:0}
  .duepick input{min-width:0}
  #detail .actions{gap:6px}
}
.row2 > *{min-width:0}

/* modal + toast */
.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:20;background:rgba(0,0,0,.3);padding:16px}
.modal .box{background:#fff;border-radius:10px;padding:18px;max-width:420px;width:100%;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.modal .box h3{margin:0 0 8px;color:var(--accent)}
.modal .box.stop h3{color:var(--p1)}
.toast{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:8px 14px;border-radius:8px;font-size:12px;z-index:25;max-width:90vw}

/* Show > Notifications */
.nhead{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 10px}
.nhead button{margin-left:auto}
.nday{background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:12px;overflow:hidden}
.nday-h{background:#f1efe9;font-weight:600;font-size:12px;padding:6px 10px;border-bottom:1px solid var(--line)}
.nrow{display:flex;gap:12px;padding:8px 10px;border-bottom:1px solid var(--line);font-size:13px}
.nrow:last-child{border-bottom:0}
.nrow[data-open]{cursor:pointer}
.nrow[data-open]:hover{background:#fcd9b0}
.nrow.unread{background:var(--accent-soft)}
.ntime{flex:0 0 64px;color:var(--muted);font-size:12px;padding-top:1px}
.nbody{flex:1;min-width:0}
.ntype{font-weight:600}
.ntext{margin:2px 0;overflow-wrap:anywhere}
.nrow .meta{font-size:11px;color:var(--muted)}

/* check-off pop-up: what it's being sent for */
.kinds{display:flex;flex-wrap:wrap;gap:6px}
#modal button[hidden]{display:none}
/* client card: one group per case */
.ccase{border-left:3px solid var(--line);padding:2px 0 2px 8px;margin:6px 0}
.ccase .cnum{font-weight:700}
.casebox{border:1px solid var(--line);border-radius:7px;padding:8px;margin-bottom:8px}
/* Day view: Today column and the day calendar */
.cols.plan{grid-template-columns:76px 58px 92px 58px 96px}
.planbox{width:15px;height:15px;padding:0;border:1.5px solid var(--accent);border-radius:3px;background:#fff;cursor:pointer;font:inherit}
.planbox:hover{background:#fcd9b0}
.planbox.on{width:auto;height:auto;max-width:100%;padding:1px 5px;font-size:10px;font-weight:700;color:#fff;background:var(--accent);line-height:1.3}
.planbox.on:hover{color:var(--ink);background:#fcd9b0}
.block.daycal{background:#fff;border:1px solid var(--accent)}
.block.daycal .sechead{background:var(--accent-soft);color:var(--accent)}
.calhint{margin:0;padding:8px 12px;font-size:12px;color:var(--muted)}
.calgrid{position:relative;display:flex;padding:6px 10px 10px 0}
.calhrs{flex:1;min-width:0}
.calhr{border-top:1px solid var(--line);position:relative}
.calhr span{display:block;width:52px;text-align:right;padding-right:8px;font-size:10.5px;color:var(--muted);transform:translateY(-7px);background:#fff}
.calarea{position:absolute;top:6px;bottom:10px;left:58px;right:10px}
.calblk{position:absolute;box-sizing:border-box;overflow:hidden;border:0;border-left:4px solid;border-radius:4px;padding:2px 6px;font:inherit;font-size:11.5px;line-height:1.25;text-align:left;color:var(--ink);cursor:grab;user-select:none;box-shadow:0 0 0 1px rgba(255,255,255,.8)}
.calblk:hover{filter:brightness(.96)}
.calblk.done{opacity:.55;text-decoration:line-through}
.calt{font-weight:700}
.calrsz{position:absolute;left:0;right:0;bottom:0;height:7px;cursor:ns-resize}
@media(max-width:600px){
  .cols.plan{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;flex:0 1 calc(100% - 23px);max-width:calc(100% - 23px)}
  .cols.plan .planbox{vertical-align:middle}
  .planbox.on{white-space:nowrap}
}

/* day calendar: text wraps; a short block opens to its full text on hover */
.calblk{white-space:normal;overflow-wrap:anywhere}
.calblk:hover:not(:active),.calblk:focus-visible{height:auto!important;min-height:20px;overflow:visible;z-index:5;box-shadow:0 2px 8px rgba(0,0,0,.25)}

/* Case File */
.cbtns{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.primary.small{padding:2px 8px;font-size:10.5px;margin-top:3px}
.modal .box.cf{max-width:980px;max-height:92vh;overflow:auto}
.cfhead{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.cfhead h3{margin:0}
.cfmenu{background:var(--band);border-radius:8px;padding:9px 11px;margin:9px 0}
.cfsets{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.cfgroups{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:8px 14px}
.cfgroups label{display:block;padding:2px 0;cursor:pointer}
.cfgroup{font-size:10.5px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}
.cfempty{padding:12px 2px}
.cfsec{border-top:2px solid var(--accent-soft);padding:9px 0 6px}
.cfsec h4{margin:0 0 6px;font-size:14px;color:var(--accent)}
.cfsec h5{margin:10px 0 3px;font-size:11.5px;color:var(--muted)}
.cfsec p{margin:0 0 7px}
.cfsec a{color:var(--accent)}
.cftiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:7px}
.cftile{border:1px solid var(--line);border-left:4px solid var(--p3);border-radius:7px;padding:7px 9px;background:var(--box)}
.cftile.bad{border-left-color:var(--p1)}.cftile.warn{border-left-color:var(--p2)}.cftile.ok{border-left-color:var(--go)}
.cflabel{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase}
.cfval{font-size:16px;font-weight:700}
.cfnote{font-size:11px;color:var(--muted)}
.cfflags{margin:0;padding-left:17px}
.cfflags li{margin-bottom:3px}
.cfrow{display:grid;grid-template-columns:70px 1fr;gap:8px;padding:3px 0;border-bottom:1px solid var(--band);overflow-wrap:anywhere}
.cfrow[hidden]{display:none}
.cfrow.two{grid-template-columns:170px 1fr}
.cfrow.one{display:block}
.cfdate{color:var(--muted);font-variant-numeric:tabular-nums}
.cfpath{display:block;font-size:10.5px;color:var(--muted)}
.cfext{font-size:9px;font-weight:700;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:0 3px}
.chip.cfbad{background:#fbeeee;color:var(--p1)}
#cf-q{width:100%;padding:6px 9px;border:1px solid var(--line);border-radius:6px;margin-bottom:6px}
.cffoot{font-size:10.5px;margin-top:8px}
@media (max-width:600px){.cfrow.two{grid-template-columns:1fr}.cfrow{grid-template-columns:62px 1fr}}
.cftype{display:inline-flex;border:1px solid var(--accent);border-radius:7px;overflow:hidden;margin-right:8px}
.cftype button{border:none;background:#fff;color:var(--accent);font-weight:700;padding:5px 12px}
.cftype button.on{background:var(--accent);color:#fff}
#cf-sets{display:inline-flex;gap:6px;flex-wrap:wrap}
.cfscroll{overflow-x:auto}
.cft{width:100%;border-collapse:collapse;font-size:12px}
.cft th{text-align:left;font-size:10.5px;color:var(--muted);border-bottom:1px solid var(--line);padding:3px 6px}
.cft td{vertical-align:top;padding:4px 6px;border-bottom:1px solid var(--band);overflow-wrap:anywhere}
.cfcompare{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.cfcompare>div{border-radius:7px;padding:7px 9px}
.cfcompare .them{background:#fbeeee}.cfcompare .us{background:var(--accent-soft)}
.cflegend{font-size:11px;color:var(--muted);margin-bottom:7px}
.cflegend i{display:inline-block;width:9px;height:9px;transform:rotate(45deg);margin:0 3px 0 9px;background:var(--accent)}
.cflegend i.them{background:#a32d2d}.cflegend i.court{background:#c19a3d}.cflegend i.next{background:#fff;border:2px dashed var(--go)}
.cftl{list-style:none;margin:0 0 0 7px;padding:0;border-left:3px solid var(--accent)}
.cftl li{margin:0 0 11px;padding-left:16px;position:relative}
.cftl li::before{content:"";position:absolute;left:-8px;top:4px;width:11px;height:11px;background:var(--accent);transform:rotate(45deg)}
.cftl li.them::before{background:#a32d2d}.cftl li.court::before{background:#c19a3d}.cftl li.next::before{background:#fff;border:2px dashed var(--go)}
.cftl .d{font-weight:700;font-size:12px;color:var(--accent)}
.cftl .s{font-size:10.5px;color:var(--muted)}
.cfdec{border:1px solid var(--line);border-radius:7px;padding:7px 9px;margin-bottom:6px}
.cfdec ul{margin:4px 0 0;padding-left:17px}
.cfnoteform{display:grid;grid-template-columns:130px 150px 1fr auto;gap:6px;align-items:start;margin-bottom:8px}
.cfnoteform select,.cfnoteform textarea{border:1px solid var(--line);border-radius:6px;padding:5px 7px;font:inherit}
.cfboard{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin:6px 0}
.cfdem{display:flex;flex-direction:column;gap:1px;text-align:left;border:1px solid var(--line);border-left:5px solid var(--p3);border-radius:7px;background:var(--box);padding:6px 8px;font:inherit;cursor:pointer}
.cfdem.have{border-left-color:var(--go)}.cfdem.partial{border-left-color:var(--p2)}.cfdem.missing{border-left-color:var(--p1)}
.cfdem.sel{outline:2px solid var(--accent)}
.cfstate{font-size:10px;font-weight:700;color:var(--muted)}
.cfdetail{background:var(--accent-soft);border-radius:7px;padding:8px 10px;margin:6px 0}
@media (max-width:600px){.cfcompare{grid-template-columns:1fr}.cfnoteform{grid-template-columns:1fr 1fr}.cfnoteform textarea,.cfnoteform button{grid-column:1/-1}.cft{min-width:480px}}
