:root{--bg:#0f1318;--panel:#171d25;--panel2:#1e2631;--line:#2a3441;--tx:#e6ebf2;--mut:#93a0b1;--acc:#4db2ff;--acc2:#2b7fc4;
--g1:#1f9d55;--g2:#2fbf71;--r1:#e5101d;--r2:#e5101d;--gray:#6b7788;--amb:#e7a62a}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--tx);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
a{color:var(--acc);text-decoration:none}a:hover{text-decoration:underline}
.banner{background:#3a2e08;color:#ffd777;text-align:center;font-size:12.5px;padding:4px 8px;border-bottom:1px solid #5b4710}
.layout{display:flex;min-height:calc(100vh - 26px)}
.side{width:218px;background:var(--panel);border-right:1px solid var(--line);padding:14px 10px;flex:none;position:sticky;top:0;height:calc(100vh - 26px);overflow:auto}
.brand{display:flex;align-items:center;gap:9px;padding:4px 8px 16px;font-weight:800;letter-spacing:.08em;font-size:19px}
.brand small{display:block;font-weight:500;letter-spacing:0;font-size:10.5px;color:var(--mut)}
.side nav a{display:block;padding:8px 12px;border-radius:7px;color:var(--tx);margin-bottom:2px}
.side nav a:hover{background:var(--panel2);text-decoration:none}.side nav a.on{background:var(--acc2);color:#fff}
.side h6{margin:14px 12px 4px;color:var(--mut);font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.main{flex:1;min-width:0}
.top{display:flex;gap:12px;align-items:center;padding:10px 24px;border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap}
.top .sp{flex:1}.content{padding:22px 24px 60px;max-width:1280px}
h1{font-size:24px;margin:0 0 4px}h2{font-size:17px;margin:0 0 10px}h3{font-size:15px;margin:0 0 6px}
.sub{color:var(--mut);margin:0 0 18px}
select,input,textarea,button{font:inherit;color:var(--tx);background:var(--panel2);border:1px solid var(--line);border-radius:7px;padding:7px 10px}
textarea{width:100%;min-height:80px;resize:vertical}input[type=checkbox]{width:auto}
button{cursor:pointer}button:hover{border-color:var(--acc)}
.btn{background:var(--acc2);border-color:var(--acc2);color:#fff;font-weight:600}.btn:hover{background:var(--acc)}
.btn.g{background:var(--g1);border-color:var(--g1)}.btn.r{background:var(--r2);border-color:var(--r2)}.btn.o{background:transparent;color:var(--tx);border-color:var(--line)}
.btn.sm{padding:3px 9px;font-size:13px}.btn[disabled]{opacity:.4;cursor:not-allowed}
.grid{display:grid;gap:14px}.g4{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.g2{grid-template-columns:repeat(auto-fit,minmax(380px,1fr))}
.card{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:16px}
.stat{font-size:30px;font-weight:800}.stat small{display:block;font-size:12.5px;color:var(--mut);font-weight:500}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--mut);font-size:12px;text-transform:uppercase;letter-spacing:.06em;cursor:default}th.s{cursor:pointer}
tr:hover td{background:#1a212b}
.badge{display:inline-block;padding:2px 9px;border-radius:99px;font-size:12px;font-weight:700;color:#fff;white-space:nowrap}
.pill{display:inline-block;padding:1px 8px;border-radius:99px;font-size:11.5px;border:1px solid var(--line);color:var(--mut);margin-right:4px;white-space:nowrap}
.pill.warn{color:#ffd777;border-color:#6b5513}.pill.red{color:#ff8b92;border-color:#7a2b31}.pill.blue{color:var(--acc);border-color:#235a88}.pill.green{color:#6be3a0;border-color:#1d6b44}
.bill{display:block;color:inherit;margin-bottom:12px}
.bill .hd{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:6px}.bill .num{font-weight:800;font-size:16px}
.mut{color:var(--mut)}.small{font-size:13px}
.prog{display:flex;gap:4px;margin:10px 0}.prog div{flex:1;text-align:center;font-size:11px;padding:4px 2px;background:var(--panel2);border-radius:5px;color:var(--mut);border-bottom:3px solid var(--line)}
.prog .done{color:var(--tx);border-color:var(--acc2)}.prog .cur{background:var(--acc2);color:#fff;border-color:var(--acc)}.prog .dead{background:var(--r2);color:#fff;border-color:var(--r1)}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:12px;flex-wrap:wrap}
.tabs a{padding:8px 14px;color:var(--mut);border-bottom:2px solid transparent;cursor:pointer}.tabs a.on{color:var(--tx);border-color:var(--acc)}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;align-items:center}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.seg a{padding:7px 14px;color:var(--mut);cursor:pointer;background:var(--panel2)}.seg a.on{background:var(--acc2);color:#fff}
.tl{display:flex;position:relative;margin:24px 8px 8px}.tl:before{content:"";position:absolute;left:0;right:0;top:9px;height:3px;background:var(--line)}
.tl .ev{flex:1;position:relative;padding-top:24px;font-size:12.5px}.tl .ev:before{content:"";position:absolute;top:2px;left:0;width:15px;height:15px;border-radius:50%;background:var(--panel2);border:3px solid var(--gray)}
.tl .ev.past:before{background:var(--acc2);border-color:var(--acc2)}.tl .ev.now:before{border-color:var(--amb);background:var(--amb);box-shadow:0 0 0 4px #e7a62a33}
.tl .ev b{display:block}.queue li{padding:9px 0;border-bottom:1px solid var(--line);list-style:none}.queue{padding:0;margin:0}
.note{background:var(--panel2);border-left:3px solid var(--acc2);padding:8px 12px;border-radius:5px;margin:8px 0;white-space:pre-wrap}
.note.pend{border-color:var(--amb)}.note.dec{border-color:var(--r1);opacity:.7}
.strike{text-decoration:line-through;color:var(--mut)}
.login{max-width:520px;margin:5vh auto;padding:24px}.login .roles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.login .roles label{border:1px solid var(--line);border-radius:9px;padding:10px;cursor:pointer;display:block;background:var(--panel2)}
.login .roles label.on{border-color:var(--acc);background:#16293b}.login .roles small{display:block;color:var(--mut)}
.login input{width:100%;margin:4px 0 10px}
#toast{position:fixed;right:20px;bottom:20px;background:#0c3a24;border:1px solid var(--g2);padding:10px 16px;border-radius:8px;display:none;z-index:50;max-width:380px}
#modal{display:none;position:fixed;inset:0;background:#000a;z-index:40;align-items:center;justify-content:center}
#modal .box{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;width:min(520px,92vw)}
.swatch{display:inline-block;width:26px;height:18px;border-radius:4px;vertical-align:middle}
.guid{background:#3a2e08;color:#ffd777;border:1px solid #6b5513;border-radius:7px;padding:8px 12px;margin:8px 0;font-size:13.5px}
.vbar{display:flex;height:8px;border-radius:5px;overflow:hidden;background:var(--panel2);min-width:80px}.vbar i{display:block}
label.f{display:block;margin:8px 0 3px;color:var(--mut);font-size:13px}
@media(max-width:800px){.side{display:none}.content{padding:14px}}

.bhd{cursor:pointer;user-select:none}.bhd:focus-visible{outline:2px solid var(--acc);outline-offset:3px}.chev{width:14px;color:var(--mut)}
.bbody{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}
.bill .card{background:rgba(0,0,0,.22);border-color:rgba(255,255,255,.12)}
.bill.t-yes{background:#10301f;border:2px solid #2fbf71}.bill.t-no{background:#341518;border:2px solid #e5101d}
.bill.t-mixed{background:#33280e;border:2px solid #e7a62a}.bill.t-neutral{background:#222831;border:2px solid #8a94a3}
.bill.t-yes .mut,.bill.t-no .mut,.bill.t-mixed .mut,.bill.t-neutral .mut,.bill label.f{color:#b4c0cf}
.bill.t-yes .prog div,.bill.t-no .prog div,.bill.t-mixed .prog div,.bill.t-neutral .prog div{background:rgba(0,0,0,.28)}
.bill.t-yes .prog .cur,.bill.t-no .prog .cur,.bill.t-mixed .prog .cur,.bill.t-neutral .prog .cur{background:#1d639e}
.bill.t-yes .prog .dead,.bill.t-no .prog .dead{background:var(--r2)}
.bill .note{background:rgba(0,0,0,.28)}.bill .pill{color:#c4cedb;border-color:rgba(255,255,255,.28)}
.bill .pill.warn{color:#ffd777}.bill .pill.red{color:#ffb0b5}.bill .pill.blue{color:#8fd0ff}.bill .pill.green{color:#8ff0bb}
.bill:hover{border-color:var(--acc)}.bill.t-yes:hover{border-color:#6be3a0}.bill.t-no:hover{border-color:#ff8b92}
.bill.flash{animation:fl 2s}@keyframes fl{0%,60%{box-shadow:0 0 0 4px #4db2ff}100%{box-shadow:none}}
.bill .prog .cur{background:#1d639e;color:#fff;border-color:#4db2ff}
.bill .prog .done{color:#e6ebf2}
/* floor + all states */
.floortabs a{padding:9px 22px;font-weight:700}.floortabs a.fh.on{background:#1d639e}.floortabs a.fs.on{background:#7c4dbd}
.fhead{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;margin:14px 0 8px;padding:8px 14px;border-radius:8px;border-left:6px solid}
.fhead.house{border-color:#4db2ff;background:#10243a}.fhead.senate{border-color:#a98bff;background:#221a3a}
.fsess{margin-bottom:14px}.fsess.house{border-top:3px solid #4db2ff}.fsess.senate{border-top:3px solid #a98bff}
.fsh{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.fgrp{margin:14px 0 6px;font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}
.seg-toggle{display:inline-flex;gap:6px;align-items:center;background:var(--panel2);border:1px solid var(--line);padding:6px 12px;border-radius:8px}
.strow{cursor:pointer}.strow.off,.strow.sim{cursor:default}.strow.cur td{background:#12263a}.sttable td{vertical-align:middle}
.prog b{font-weight:600;font-size:10px}
/* v6: pending statuses, clickable stats, party accents, portal, export */
.pill.pd{font-weight:600}
.pill.ph,.bill .pill.ph{color:#8fd0ff;border-color:#2c6fa8;background:rgba(77,178,255,.12)}
.pill.ps,.bill .pill.ps{color:#cdb8ff;border-color:#6d4db0;background:rgba(169,139,255,.14)}
.pill.pn,.bill .pill.pn{color:#d5dbe4;border-style:dashed;border-color:#8a94a3;background:rgba(138,148,163,.14)}
.stat.click{cursor:pointer;transition:border-color .15s,transform .15s}.stat.click:hover,.stat.click:focus-visible{border-color:var(--acc);transform:translateY(-2px);outline:none}
.stat .go{color:var(--acc);font-weight:700}
.pdot{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;color:#fff;font-size:11px;font-weight:800;vertical-align:middle;margin-right:2px}
td.pbar{padding-left:10px}
.pcard{padding-left:16px}
.cpill{text-decoration:none;color:var(--acc);border-color:#235a88}.cpill:hover{background:#12263a}.cpill.lead{color:#ffd777;border-color:#6b5513}
.exportbar{margin:10px 0}
.statecards{margin-bottom:14px}.statecard{cursor:pointer}.statecard.on{border-color:var(--acc);background:#12263a}.statecard.off{opacity:.55;cursor:default}
.phead{margin-top:6px}
.tile{display:block;color:inherit;text-decoration:none}.tile:hover{border-color:var(--acc)}.tile h2{margin:0 0 4px}
.grid.g3{grid-template-columns:repeat(3,1fr)}@media(max-width:800px){.grid.g3{grid-template-columns:1fr}}

/* v7: play-by-play, social drafts */
.pill.nowfloor,.bill .pill.nowfloor{background:#c0392b;color:#fff;border-color:#ff8b92;font-weight:700;animation:nowp 1.4s infinite}@keyframes nowp{50%{opacity:.7}}
.pbhead{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start}.pbctl{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn.live{background:#a42a2a;border-color:#ff8b92}
.pbnow{margin:10px 0;padding:10px 12px;background:#12263a;border:1px solid #235a88;border-radius:8px}
.pblist{max-height:460px;overflow:auto;border:1px solid var(--line);border-radius:8px;position:relative}
.pbe{display:flex;gap:12px;align-items:center;padding:6px 12px;border-bottom:1px solid var(--line);cursor:pointer}.pbe:hover{background:#1a212b}
.pbe.past{opacity:.6}.pbe.cur{background:#16324d;border-left:4px solid var(--acc);opacity:1}.pbt{font-variant-numeric:tabular-nums;color:var(--mut);min-width:84px;font-size:13px}.pbx{flex:1}
.pbe.t-convene{background:#1c2430;font-weight:600}.pbe.t-speaker .pbx{color:#b4c0cf}
.pact{display:none}
.sdraft .stx{width:100%;background:var(--panel2);color:var(--tx);border:1px solid var(--line);border-radius:8px;padding:8px;font:inherit}.sbtn{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0;align-items:center}
.sdraft{margin-bottom:12px}.sdraft .mut{color:#b4c0cf}

/* v8: versions, export & share, floor mode (all sample data) */
.fxp{background:rgba(0,0,0,.22)}
.fxv{border-left:3px solid var(--line);padding:4px 0 4px 10px;margin:6px 0}.fxv.cur{border-left-color:#2fbf71}
.fxcmp{display:flex;gap:10px;flex-wrap:wrap}.fxcb{flex:1;min-width:150px;background:rgba(0,0,0,.28);border:1px solid var(--line);border-radius:8px;padding:8px}
.fxwarn{background:#3a2e08;border:1px solid #e7a62a;color:#ffd777;border-radius:8px;padding:8px 10px;margin:8px 0}
.fxcons{background:#12263a;border:1px solid #235a88;border-radius:8px;padding:8px 10px;margin:8px 0}
.xpaper{background:#fff;color:#111;border-radius:6px;padding:20px;max-height:640px;overflow:auto;font-family:Calibri,Arial,sans-serif}
.xpaper.bw{filter:grayscale(1)}.xpaper h1,.xpaper h2{color:#111}
.xtb th,.xtb td{font-size:12px;border:1px solid var(--line)}
@media print{body.xprint .banner,body.xprint .side,body.xprint .top,body.xprint .xhide,body.xprint #toast{display:none!important}
 body.xprint,body.xprint .layout,body.xprint .content,body.xprint .card{background:#fff!important;border:0!important;padding:0!important;display:block!important;max-width:none}
 body.xprint .xpaper{max-height:none!important;overflow:visible!important}}
body.floormode{--bg:#05070a;--panel:#0b0e13;--panel2:#10141a;--line:#1b232d;--tx:#aeb8c5;--mut:#6f7a87;--acc:#4f8fbd;--acc2:#27506f}
body.floormode .banner{opacity:.6}
body.floormode .btn{background:#27506f;border-color:#27506f}body.floormode .btn.g{background:#1d6a41}body.floormode .btn.r{background:#7d2830}
body.floormode .bill.t-yes,body.floormode .bill.t-no,body.floormode .bill.t-mixed,body.floormode .bill.t-neutral,body.floormode .bill.t-none{background:var(--panel);border:1px solid #1f2933;border-left:16px solid #5d6875}
body.floormode .bill.t-yes{border-left-color:#2a8a57}body.floormode .bill.t-no{border-left-color:#d4121e}body.floormode .bill.t-mixed{border-left-color:#b58a2a}
body.floormode .bill.t-yes:hover,body.floormode .bill.t-no:hover,body.floormode .bill.t-mixed:hover,body.floormode .bill.t-neutral:hover{border-color:#2b3a49}
body.floormode .bill.t-yes:hover{border-left-color:#2a8a57}body.floormode .bill.t-no:hover{border-left-color:#d4121e}
body.floormode .badge{filter:saturate(.7) brightness(.85)}body.floormode .pill.nowfloor{animation:none}
body.floormode .xpaper{filter:brightness(.8)}
/* v9 */
.fxan{border:1px solid var(--line);border-radius:9px;padding:10px;margin:8px 0;background:rgba(0,0,0,.2)}.fxan.draft{border-color:#e7a62a}.fxan.ok{border-color:#2fbf71}
.fxbanner{background:#3a2e08;color:#ffd777;border:1px solid #e7a62a;border-radius:6px;padding:4px 9px;font-weight:700;margin-bottom:6px}.fxbanner.ok{background:#0f2e1c;color:#7fe0a8;border-color:#2fbf71}
.fxbul{margin:6px 0 0 18px;padding:0}.fxcite{color:var(--acc);cursor:help;font-weight:600}
.fxflag{background:#3a1519;border-left:4px solid var(--r1);padding:5px 9px;margin:4px 0;border-radius:4px;font-size:13.5px}
.fxam{border-left:3px solid var(--acc);padding:3px 0 3px 9px;margin:4px 0}.fxq{margin-top:8px}.fxa{background:rgba(0,0,0,.28);border-radius:7px;padding:6px 9px;margin:3px 0}
.fxarch{border-left:3px solid var(--line);padding-left:9px;margin:8px 0}.fxprov{padding:8px 0;border-bottom:1px solid var(--line)}
.fxlive{background:#3a1519;border:1px solid var(--r1);border-radius:8px;padding:8px 10px;margin:8px 0}.fxlive.seen{opacity:.7;border-color:var(--line);background:rgba(0,0,0,.2)}
.fxpulse{animation:fxp 1.6s infinite}@keyframes fxp{50%{opacity:.55}}
.fxrow{display:flex;align-items:center;gap:10px;background:var(--panel2);border-radius:8px;padding:7px 10px;margin:5px 0}.fxrb{flex:1}.fxpos{font-weight:800;color:var(--mut);min-width:34px}
.fxsess{margin:12px 0}.fxsess summary{cursor:pointer;padding:4px 0}.fxhn{border-left:4px solid #2fbf71}
body.floormode .fxrow{background:#11161c}
.fxns{display:flex;gap:14px;align-items:center;justify-content:space-between;background:linear-gradient(90deg,#10233a,#16293b);border:1px solid var(--acc2);border-left:5px solid var(--acc);border-radius:10px;padding:10px 14px;margin-bottom:14px}.fxnst{font-weight:800;letter-spacing:.04em;color:#cfe8ff}
.fxfoot{margin-top:36px;padding-top:10px;border-top:1px solid var(--line);color:var(--mut);font-size:12px;text-align:center}
.cchip{display:inline-block;padding:1px 9px;border-radius:99px;font-size:11.5px;border:1px solid #3d8f6a;background:rgba(61,143,106,.18);color:#bff0d6;margin:0 4px 3px 0;white-space:nowrap}
.cchip.sug{border:1px dashed #9aa6b6;background:transparent;color:#c4cedb}
.cchip.hid{opacity:.55}.cchip a{color:inherit;text-decoration:none;margin-left:2px}
.cats{display:flex;flex-wrap:wrap;gap:2px;align-items:center}
.pdot{box-shadow:0 0 0 1px rgba(255,255,255,.35)}body.floormode .pdot{box-shadow:0 0 0 1px rgba(255,255,255,.5)}
.fxns{position:sticky;top:0;z-index:5}.fxstat li{margin:3px 0}

/* v7: vote unity charts + report print */
.uprint{display:none}
@media print{body.uprinting>*:not(.uprint){display:none!important}body.uprinting{background:#fff!important}body.uprinting .uprint{display:block!important;background:#fff;color:#000;padding:0;font:12px/1.4 Arial,sans-serif}body.uprinting .uprint svg{max-width:100%;height:auto}body.uprinting .uprint th,body.uprinting .uprint td,body.uprinting .uprint caption{color:#000!important;text-transform:none!important;letter-spacing:0!important;font-size:11px!important;border-color:#999!important}body.uprinting .uprint td{background:#fff!important}body.uprinting .uprint th{background:#e8edf3!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}body.uprinting .uprint tr{page-break-inside:avoid}@page{margin:14mm}}
#uchartbox svg{width:100%;max-width:680px;height:auto;display:block}

.amitem.am-new{border-left:3px solid #ffd777}.amitem.am-dismissed{opacity:.7}.pill.amflag{font-weight:600}
/* review fixes 2026-10-19: small-sample and n styling */
.lown{color:#8a94a3 !important;font-style:italic;font-weight:400}
.nn{color:#8a94a3;font-size:85%;font-weight:400;white-space:nowrap}
.stat .lown{font-size:15px}
@media print{.lown,.nn{color:#555 !important}}

/* Member key votes report print view */
@media print{body.uprinting .kvprint .kvfoot{position:fixed;bottom:0;left:0;right:0;font-size:9px;border-top:1px solid #999;background:#fff;padding:3px 0}body.uprinting .kvprint .kvdoc{padding-bottom:40px}body.uprinting .kvprint .rfentry{page-break-inside:avoid}}
.kvprint .kvfoot{font-size:9px;color:#333;border-top:1px solid #999;margin-top:10px}
