/* NCC Opportunity Tracker — brand design system (from Claude Design).
   Charcoal + sky-blue + lime/amber palette · Bebas Neue (display) + Raleway (body). */
:root{
  --bg:#f4f3f0; --ink:#3F3F38; --charcoal:#3F3F38;
  --sky:#51BAE8; --sky-d:#2487bd; --sky-ink:#16384a;
  --lime:#78CB0E; --lime-d:#5a9e12; --amber:#E39E25; --amber-d:#c4831a; --earth:#6B5C4F;
  --muted:#837b70; --muted2:#9a948a; --muted3:#a49c90;
  --card:#fff; --line:#e4e2dd; --line2:#eeece8; --input:#faf9f7; --input-bd:#ddd9d2;
  --rust:#a8503a;
  --shadow:0 1px 2px rgba(40,30,20,.04); --shadow-lg:0 8px 30px rgba(40,30,20,.16);
  --tag-bg:#eef4f1; --tag-ink:#5d7a4e;
  --banner-bg:#fbf2e2; --banner-bd:#f0dfb8; --banner-ink:#8a6310; --banner-ink-d:#6e4f0c;
  --disp:'Bebas Neue',Oswald,'Arial Narrow',sans-serif;
  --body:'Raleway',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:14px;line-height:1.5}
.boot{padding:40px;color:var(--muted);font-family:var(--body)}
a{color:var(--sky-d);text-decoration:none}
a:hover{text-decoration:underline}
select,input,button{font-family:var(--body)}
::placeholder{color:var(--muted3)}

/* Header */
.app-header{display:flex;align-items:center;gap:16px;padding:13px 26px;background:var(--charcoal)}
.logo-chip{width:46px;height:46px;border-radius:11px;background:#fff;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.logo-chip span{font-family:var(--disp);font-size:22px;letter-spacing:.5px;color:var(--charcoal)}
.brand-eyebrow{font:600 10.5px/1 var(--body);letter-spacing:2.4px;color:var(--sky);text-transform:uppercase}
.brand-title{font-family:var(--disp);font-size:29px;letter-spacing:.6px;color:#fff;margin-top:3px}
.header-spacer{flex:1}
.header-right{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}
.sync-label{font:600 11px/1 var(--body);color:#cfcabf}
.sync-val{font:500 12px/1.3 var(--body);color:#9a948a;margin-top:3px}
.accent-strip{height:3px;background:var(--sky)}

/* Tabs */
.tabs{display:flex;gap:2px;padding:0 22px;background:#fff;border-bottom:1px solid var(--line)}
.tab{padding:13px 18px;border:none;background:none;cursor:pointer;font:600 13px/1 var(--body);letter-spacing:.3px;color:var(--muted);border-bottom:3px solid transparent}
.tab:hover{color:var(--ink)}
.tab.active{font-weight:700;color:var(--sky-d);border-bottom-color:var(--sky)}

/* Banner */
.banner{display:flex;align-items:center;gap:8px;padding:8px 26px;background:var(--banner-bg);border-bottom:1px solid var(--banner-bd);font:500 12.5px/1.4 var(--body);color:var(--banner-ink)}
.banner b{font-weight:700;color:var(--banner-ink-d)}
.banner-dot{width:7px;height:7px;border-radius:50%;background:var(--amber);flex:none}

.wrap{max-width:1440px;margin:0 auto;padding:22px 26px 40px}

/* KPI row */
.kpis{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:18px}
.kpi{flex:1 1 165px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:15px 17px;box-shadow:var(--shadow)}
.kpi.acc-lime{border-top:3px solid var(--lime)}
.kpi.acc-sky{border-top:3px solid var(--sky)}
.kpi.acc-amber{border-top:3px solid var(--amber)}
.kpi-label{font:600 10.5px/1 var(--body);letter-spacing:.7px;text-transform:uppercase;color:var(--muted)}
.kpi-num{font-family:var(--disp);font-size:42px;line-height:.95;color:var(--ink);margin:8px 0 4px}
.kpi-num.lime{color:var(--lime-d)} .kpi-num.sky{color:var(--sky-d)} .kpi-num.amber{color:var(--amber-d)}
.kpi-sub{font:500 12px/1.3 var(--body);color:var(--muted2)}
.kpi-wide{flex:2 1 320px;display:flex;flex-direction:column;gap:13px}
.range-band{height:9px;border-radius:5px;background:#eceae5;position:relative;overflow:hidden}
.range-fill{position:absolute;top:0;bottom:0;background:var(--earth);border-radius:5px}
.fitdist-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.fitdist-bar{display:flex;height:14px;border-radius:7px;overflow:hidden;gap:2px;background:#eceae5}
.fitdist-legend{display:flex;gap:16px;margin-top:8px;font:500 11.5px/1 var(--body);color:#6f6a60;flex-wrap:wrap}
.fitdist-legend span{display:flex;align-items:center;gap:5px}
.swatch{width:9px;height:9px;border-radius:2px;display:inline-block}

/* Toolbar */
.toolbar{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:13px 15px;box-shadow:var(--shadow);margin-bottom:16px}
.toolbar-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.search{position:relative;flex:1 1 250px;min-width:210px}
.search-ico{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted3);font-size:14px}
.search input{width:100%;padding:9px 11px 9px 30px;border:1px solid var(--input-bd);border-radius:8px;background:var(--input);font:500 13px/1 var(--body);color:var(--ink)}
.search input:focus{outline:none;border-color:var(--sky);background:#fff}
.toolbar select{padding:9px 11px;border:1px solid var(--input-bd);border-radius:8px;background:var(--input);font:600 12.5px/1 var(--body);color:var(--ink);cursor:pointer}
.minfit{display:flex;align-items:center;gap:8px;font:600 12px/1 var(--body);color:#6f6a60;padding:0 4px;white-space:nowrap}
.minfit b{font-family:var(--disp);font-size:16px;color:var(--sky-d);min-width:22px;text-align:center}
.minfit input[type=range]{accent-color:var(--sky);width:90px;cursor:pointer}
.tb-spacer{flex:1}
.btn{padding:8px 12px;border:1px solid var(--input-bd);background:#fff;color:#6f6a60;border-radius:8px;cursor:pointer;font:600 12.5px/1 var(--body)}
.btn:hover{border-color:var(--sky);color:var(--sky-d)}
.btn-primary{padding:8px 14px;border:1px solid var(--sky-d);background:var(--sky);color:var(--sky-ink);border-radius:8px;cursor:pointer;font:700 12.5px/1 var(--body)}
.btn-primary:hover{background:#3aa9de;text-decoration:none}

.resultline{display:flex;align-items:center;justify-content:space-between;margin:0 2px 10px;gap:10px;flex-wrap:wrap}
.resultline .l{font:600 12.5px/1 var(--body);color:#6f6a60}
.resultline .l b{color:var(--ink)}
.resultline .r{font:500 12px/1 var(--body);color:var(--muted2)}

/* Card + table */
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}
.tbl-scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;min-width:1040px}
thead th{padding:11px 14px;text-align:left;font:700 10.5px/1.3 var(--body);letter-spacing:.6px;text-transform:uppercase;color:var(--muted);background:var(--input);border-bottom:1px solid var(--line);white-space:nowrap}
thead th.sortable{cursor:pointer;user-select:none}
thead th.right{text-align:right} thead th.center{text-align:center}
tbody td{padding:12px 14px;border-bottom:1px solid var(--line2);vertical-align:top}
tbody tr:hover{background:#f6fbfd;cursor:pointer}
.t-title{font:700 13.5px/1.35 var(--body);color:var(--ink);max-width:300px}
.t-sub{font:500 11.5px/1.3 var(--body);color:var(--muted2);margin-top:3px}
.t-client{font:600 12.5px/1.35 var(--body);color:var(--ink);max-width:190px}
.t-ctype{font:500 11px/1.3 var(--body);color:var(--muted2);margin-top:2px}
.t-city{font:600 12.5px/1.35 var(--body);color:var(--ink)}
.t-state{font:700 11px/1.3 var(--body);color:var(--sky);margin-top:2px;letter-spacing:.5px}
.chips{display:flex;flex-wrap:wrap;gap:4px;max-width:215px}
.chip{background:var(--tag-bg);color:var(--tag-ink);border-radius:5px;padding:2px 7px;font:600 10.5px/1.4 var(--body);white-space:nowrap}
.val{font:700 12.5px/1.35 var(--body);color:var(--ink)}
.col-val{text-align:right;white-space:nowrap}
.due{font:600 12.5px/1.35 var(--body);color:var(--ink);white-space:nowrap}
.due-pill{display:inline-block;margin-top:4px;border-radius:5px;padding:2px 7px;font:700 10.5px/1.4 var(--body)}
.due-soon{background:#f6e3dc;color:var(--rust)} .due-mid{background:#fbefd9;color:#9a6c12} .due-far{background:#eef0ee;color:#6f6a60}
.delivery{font:700 11px/1.3 var(--body);color:var(--earth);letter-spacing:.4px}
.role{font:500 11.5px/1.3 var(--body);color:var(--muted2);margin-top:2px}
.col-fit{text-align:center}
.fit{display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:4px 9px;border-radius:7px;font-family:var(--disp);font-size:18px;line-height:1;color:#fff}
.fit-tier{font:600 10px/1.3 var(--body);color:var(--muted2);margin-top:3px;text-transform:uppercase;letter-spacing:.4px}
.status-sel{border-radius:7px;padding:6px 8px;font:700 11.5px/1 var(--body);cursor:pointer;border:1px solid transparent}
.status-Pursuing{background:#e6f4fb;color:#1f7fb3}
.status-Bidding{background:#eef7df;color:#4e8410}
.status-Submitted{background:#e4f3ea;color:#2f7d4a}
.status-Watching,.status-Won,.status-Lost,.status-No-Go{background:#f1efeb;color:var(--earth)}

/* Map */
.legend{display:flex;gap:14px;margin:0 2px 10px;font:500 12px/1 var(--body);color:var(--muted);align-items:center;flex-wrap:wrap}
.legend .dot{width:11px;height:11px;border-radius:50%;display:inline-block;margin-right:4px;vertical-align:middle}
#map{height:560px;border-radius:12px;border:1px solid var(--line);box-shadow:var(--shadow)}

/* Drawer */
.overlay{position:fixed;inset:0;background:rgba(40,35,28,.5);display:flex;justify-content:flex-end;z-index:1000}
.drawer{width:min(780px,96vw);height:100%;background:var(--bg);overflow-y:auto;box-shadow:var(--shadow-lg)}
.drawer-head{position:sticky;top:0;background:var(--charcoal);color:#fff;padding:18px 22px;z-index:2;border-bottom:3px solid var(--sky)}
.drawer-head h2{margin:0 0 5px;font-family:var(--disp);font-size:25px;letter-spacing:.4px;font-weight:400}
.drawer-head .meta{font:500 12.5px/1.4 var(--body);color:#cfcabf}
.drawer-head .x{position:absolute;top:16px;right:18px;background:rgba(255,255,255,.15);border:none;color:#fff;width:30px;height:30px;border-radius:7px;cursor:pointer;font-size:16px}
.drawer .tabs{padding:0 18px}
.drawer-body{padding:18px 22px}
.section{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:15px 17px;margin-bottom:14px;box-shadow:var(--shadow)}
.section h3{margin:0 0 11px;font:700 12px/1 var(--body);letter-spacing:.5px;text-transform:uppercase;color:var(--sky-d);border-bottom:1px solid var(--line);padding-bottom:9px}
.kv{display:grid;grid-template-columns:150px 1fr;gap:6px 12px;font-size:13px}
.kv .k{color:var(--muted);font-weight:600}
.pill{display:inline-block;padding:2px 9px;border-radius:11px;font:600 11px/1.5 var(--body);background:var(--tag-bg);color:var(--tag-ink)}
.crit{margin-bottom:10px}
.crit .row{display:flex;justify-content:space-between;font:600 12.5px/1.4 var(--body);margin-bottom:4px}
.crit .bar{height:7px;background:#eceae5;border-radius:4px;overflow:hidden}
.crit .bar span{display:block;height:100%;background:var(--sky)}
.crit .reason{font:500 11.5px/1.4 var(--body);color:var(--muted2);margin-top:3px}
.matrix{width:100%;border-collapse:collapse;font-size:12.5px;min-width:0}
.matrix th,.matrix td{padding:6px 8px;text-align:left;border-bottom:1px solid var(--line2);vertical-align:top}
.matrix th{background:var(--input);font:700 10px/1.3 var(--body);text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
.gng{font-family:var(--disp);font-size:20px;letter-spacing:.5px;padding:5px 12px;border-radius:8px;display:inline-block;color:#fff}
.gng.GO{background:var(--lime-d)} .gng.NO-GO{background:var(--rust)} .gng.CONDITIONAL{background:var(--amber-d)}
.v-go{color:var(--lime-d);font-weight:700} .v-caution{color:var(--amber-d);font-weight:700} .v-no-go{color:var(--rust);font-weight:700}
.milestone{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--line);font:500 12.5px/1.4 var(--body)}
.milestone.overdue{color:var(--rust);font-weight:700}
.milestone .d{font-variant-numeric:tabular-nums;color:var(--muted2)}
ul.clean{margin:5px 0;padding-left:18px} ul.clean li{margin-bottom:5px}
.note{font:500 11.5px/1.5 var(--body);color:var(--muted2);font-style:italic}

/* Sources + Rubric tables */
.pad{padding:18px}
.pad h3{font-family:var(--disp);font-size:22px;font-weight:400;letter-spacing:.4px;color:var(--ink);margin:0 0 4px}
.src-table td{font-size:12px}
.tierbadge{font:700 11px/1 var(--body);padding:2px 7px;border-radius:5px;color:#fff}
.t1{background:var(--sky-d)} .t2{background:var(--earth)} .t3{background:var(--amber-d)}
.auto-api{color:var(--lime-d);font-weight:700}
.auto-email-alert{color:var(--sky-d);font-weight:700}
.auto-html-monitor{color:var(--amber-d);font-weight:700}
.auto-manual{color:var(--rust);font-weight:700}

/* ---- Sign-in gate (auth.js) + header identity ---- */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg,#f4f3f0)}
.login-card{width:100%;max-width:420px;background:#fff;border:1px solid rgba(63,63,56,.10);border-radius:14px;padding:32px;box-shadow:0 10px 30px rgba(63,63,56,.08);text-align:center}
.login-logo{margin:0 auto 18px}
.login-title{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.03em;font-size:30px;margin:0 0 4px;color:#3F3F38}
.login-sub{margin:0 0 22px;font-size:13px;color:#6B5C4F}
.login-form{display:flex;flex-direction:column;gap:8px;text-align:left}
.login-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6B5C4F}
.login-input{padding:11px 12px;border:1px solid rgba(63,63,56,.18);border-radius:8px;font:inherit;font-size:14px}
.login-input:focus{outline:none;border-color:#51BAE8;box-shadow:0 0 0 3px rgba(81,186,232,.18)}
.login-btn{margin-top:6px;padding:11px 14px;border:0;border-radius:8px;background:#3F3F38;color:#fff;font-weight:700;font-size:14px;cursor:pointer}
.login-btn:hover{background:#51BAE8}
.login-btn:disabled{opacity:.6;cursor:default}
.login-msg{min-height:18px;margin:14px 0 0;font-size:13px;line-height:1.45;color:#6B5C4F}
.login-msg.ok{color:#5a9e12}
.login-msg.error{color:#a8503a}
.login-foot{margin:18px 0 0;font-size:11px;color:#8a8078}
.header-user{display:flex;align-items:center;gap:10px;margin-left:18px;padding-left:18px;border-left:1px solid rgba(255,255,255,.18)}
.user-email{font-size:12px;color:rgba(255,255,255,.85)}
.signout-btn{background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600;cursor:pointer}
.signout-btn:hover{background:rgba(255,255,255,.12)}

/* ================= Redesign 2026-07: glance strip, list/board views, drawer v2 ================= */

/* Glance strip — 3 clickable numbers */
.glance{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}
.g{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 18px;display:flex;align-items:center;gap:14px;cursor:pointer;box-shadow:var(--shadow);transition:border-color .12s}
.g:hover{border-color:var(--sky)}
.g-on{border-color:var(--charcoal);box-shadow:0 0 0 2px var(--charcoal) inset, var(--shadow)}
.g-n{font-family:var(--disp);font-size:36px;line-height:1;min-width:44px}
.g-new .g-n{color:var(--sky-d)} .g-due .g-n{color:var(--amber-d)} .g-fit .g-n{color:var(--lime-d)}
.g-l{font:600 12.5px/1.2 var(--body);color:var(--muted)}
.g-hint{font:500 10.5px/1.4 var(--body);color:var(--muted3);margin-top:2px}
@media (max-width:720px){.glance{grid-template-columns:1fr}}

/* View toggle */
.seg{display:flex;border:1px solid var(--input-bd);border-radius:8px;overflow:hidden;flex:none}
.seg button{border:none;background:var(--input);padding:9px 14px;font:700 12.5px/1 var(--body);color:var(--muted);cursor:pointer}
.seg button.on{background:var(--charcoal);color:#fff}

/* Focus list */
.fsec{font-family:var(--disp);font-size:16px;letter-spacing:.8px;color:var(--earth);margin:14px 2px 8px;text-transform:uppercase}
.flist{display:flex;flex-direction:column;gap:9px}
.frow{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px;display:grid;grid-template-columns:48px minmax(0,1fr) auto auto 14px;gap:14px;align-items:center;cursor:pointer;box-shadow:var(--shadow);transition:border-color .12s}
.frow:hover{border-color:var(--sky);box-shadow:0 3px 12px rgba(81,186,232,.14)}
.frow-main{min-width:0}
.frow-ti{font:700 13.5px/1.35 var(--body);color:var(--ink)}
.frow-sub{font:500 11.5px/1.3 var(--body);color:var(--muted2);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ftag{display:inline-block;background:var(--tag-bg);color:var(--tag-ink);border-radius:4px;padding:1px 6px;font:600 10px/1.5 var(--body);margin-left:7px;vertical-align:1px;white-space:nowrap}
.frow-chev{color:var(--muted3);font-size:17px}
.fitwrap-sm{display:flex;justify-content:center}
.fit-sm{min-width:38px;padding:4px 7px;font-size:16px}
.empty{padding:26px;text-align:center;color:var(--muted2);font:500 13px/1.4 var(--body);background:var(--card);border:1px dashed var(--input-bd);border-radius:12px}
.sortpick{display:flex;align-items:center;gap:7px}
.sortpick select{padding:5px 8px;border:1px solid var(--input-bd);border-radius:7px;background:var(--input);font:600 12px/1 var(--body);color:var(--ink);cursor:pointer}
@media (max-width:720px){.frow{grid-template-columns:44px minmax(0,1fr);grid-auto-rows:auto}.frow .due-pill,.frow .status-sel{justify-self:start}.frow-chev{display:none}}

/* Pipeline board */
.board{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;align-items:start}
.bcol{background:#edece7;border-radius:12px;padding:11px;min-height:120px;transition:background .12s}
.bcol-over{background:#e0ecdf;outline:2px dashed var(--lime-d);outline-offset:-2px}
.bcol h4{font-family:var(--disp);font-size:15px;letter-spacing:.8px;color:var(--earth);display:flex;justify-content:space-between;margin:2px 4px 10px;font-weight:400;text-transform:uppercase}
.bcol h4 span{color:var(--muted2);font-family:var(--body);font-size:12px;font-weight:700}
.kcard{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:11px 13px;margin-bottom:9px;cursor:grab;box-shadow:var(--shadow)}
.kcard:hover{border-color:var(--sky)}
.kcard:active{cursor:grabbing}
.kcard-ti{font:700 12.5px/1.35 var(--body);color:var(--ink)}
.kcard-meta{display:flex;gap:8px;align-items:center;margin-top:9px;flex-wrap:wrap}
.kcard-meta .due-pill{margin-top:0}
.kcard-st{font:700 11px/1 var(--body);color:var(--muted2);margin-left:auto;letter-spacing:.5px}
.bdrop{border:2px dashed #cfcdc4;border-radius:10px;padding:12px;text-align:center;font:500 11.5px/1.4 var(--body);color:var(--muted3)}
.closedbar{display:flex;gap:14px;align-items:center;margin-top:14px;padding:0 4px;font:500 12.5px/1 var(--body);color:var(--muted2)}
.closedbar b{color:var(--earth);font-weight:700}
.btn-sm{padding:5px 10px;font:600 11.5px/1 var(--body)}
@media (max-width:980px){.board{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.board{grid-template-columns:1fr}}

/* Drawer v2 */
.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:14px}
.fact{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 13px;box-shadow:var(--shadow)}
.fk{font:700 10px/1.3 var(--body);letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
.fv{font:600 13px/1.4 var(--body);color:var(--ink);margin-top:4px}
.cta-row{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.checkrow{display:flex;gap:10px;align-items:baseline;font:500 12.5px/1.5 var(--body);padding:7px 0;border-bottom:1px dashed var(--line)}
.checkrow:last-child{border-bottom:none}
.cbox{width:19px;height:19px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff;flex:none;align-self:center}
.cbox-y{background:var(--lime-d)} .cbox-n{background:#d9d7cf;color:#7c786e} .cbox-r{background:var(--rust)}
.check-f{font-weight:700;color:var(--ink);flex:none}
.check-v{color:var(--muted);min-width:0}
.fold{margin-bottom:14px}
.fold summary{cursor:pointer;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:13px 17px;font:700 12.5px/1 var(--body);color:var(--sky-d);box-shadow:var(--shadow);user-select:none;list-style:none}
.fold summary::-webkit-details-marker{display:none}
.fold summary::after{content:'▾';float:right;color:var(--muted2)}
.fold[open] summary{border-radius:12px 12px 0 0;border-bottom:none;margin-bottom:0}
.fold[open] summary::after{content:'▴'}
.fold[open] > .section{border-radius:0;border-top:none;margin-bottom:0}
.fold[open] > .section:last-child{border-radius:0 0 12px 12px}

/* Reports tab */
.rep-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:4px}
.rep-grid .pad h3{font-size:18px;margin-bottom:10px}
.minibar{height:9px;background:#eceae5;border-radius:5px;overflow:hidden}
.minibar span{display:block;height:100%;background:var(--sky);border-radius:5px}
@media (max-width:760px){.rep-grid{grid-template-columns:1fr}}

/* Pagination (list + board) */
.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 2px 0;flex-wrap:wrap}
.pager-size{display:flex;align-items:center;gap:7px;font:600 12px/1 var(--body);color:var(--muted)}
.pager-size select{padding:6px 8px;border:1px solid var(--input-bd);border-radius:7px;background:var(--input);font:600 12px/1 var(--body);color:var(--ink);cursor:pointer}
.pager-ctl{display:flex;align-items:center;gap:10px;margin-left:auto}
.pager-num{font:600 12px/1 var(--body);color:var(--muted)}
.btn[disabled]{opacity:.45;cursor:default;pointer-events:none}
.bpager{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:4px;font:600 11px/1 var(--body);color:var(--muted2)}

/* Source tag + rubric definitions */
.srctag{display:inline-block;background:#eef0f4;color:#5a6b7d;border-radius:4px;padding:1px 7px;font:700 10px/1.5 var(--body);letter-spacing:.3px;margin-left:6px;vertical-align:1px;white-space:nowrap}
.rubric-list{margin-top:14px;display:flex;flex-direction:column;gap:12px}
.rubric-crit{border:1px solid var(--line);border-radius:10px;padding:13px 16px;background:#fbfaf8}
.rubric-head{display:flex;align-items:center;gap:11px}
.rubric-num{width:24px;height:24px;border-radius:7px;background:var(--charcoal);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:var(--disp);font-size:13px;flex:none}
.rubric-label{font:700 13.5px/1.3 var(--body);color:var(--ink)}
.rubric-weight{margin-left:auto;font-family:var(--disp);font-size:18px;color:var(--sky-d)}
.rubric-desc{margin:9px 0 0 35px;font:500 12.5px/1.65 var(--body);color:var(--muted)}
