/* app.css — OSPD October 8 working session. The look of the v3 prototypes (the survey's palette and header). */

:root{
  --navy:#00051a; --panel:#060d2e; --panel2:#0a1440; --deep:#01138a;
  --aqua:#17ffd7; --lime:#98ff2a; --ink:#eaf2ff; --muted:#9fb0d8; --faint:#6a7aa6;
  --line:rgba(23,255,215,.18); --line2:rgba(159,176,216,.18); --amber:#ffce76; --coral:#ff9d76;
}
*{box-sizing:border-box; margin:0; padding:0;}
html,body{background:var(--navy); color:var(--ink); font-family:"Avenir Next","Segoe UI",system-ui,-apple-system,Arial,sans-serif;}
body{min-height:100vh; display:flex; flex-direction:column;}
a{color:var(--aqua);}
header{display:flex; align-items:center; gap:18px; padding:12px 30px; border-bottom:1px solid var(--line);
  background:linear-gradient(90deg,#00051a 0%,#030a2b 60%,#00051a 100%);}
header img.lockup{height:58px;}
header .protochip{font-size:10px; letter-spacing:.12em; font-weight:700; color:var(--navy); background:var(--lime); padding:3px 9px; border-radius:99px; text-transform:uppercase; white-space:nowrap;}
header .titleblock{margin-left:auto; text-align:right;}
header .titleblock .t1{font-size:13px; letter-spacing:.14em; color:var(--aqua); text-transform:uppercase; font-weight:600;}
header .titleblock .t2{font-size:12px; color:var(--muted); margin-top:2px;}
header .ospdplate{background:#fff; border-radius:8px; padding:5px 10px; margin-left:18px;}
header .ospdplate img{height:34px; display:block;}
main{flex:1; width:100%; margin:0 auto; padding:24px 26px 60px;}
h1{font-size:26px; font-weight:700;} h2{font-size:21px; font-weight:700;}
.kicker{font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--aqua); font-weight:700; margin-bottom:8px;}
p.lead{color:var(--muted); font-size:14.5px; line-height:1.65; margin-top:8px;}
p.lead b{color:var(--ink);}
.card{background:var(--panel); border:1px solid var(--line2); border-radius:14px; padding:20px 22px; margin-top:18px;}
.card h3{font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--aqua); font-weight:700; margin-bottom:10px;}
.card p, .card li{font-size:14px; line-height:1.62;}
.btn{display:inline-block; border:none; cursor:pointer; font-family:inherit; font-size:14px; font-weight:700; letter-spacing:.03em;
  border-radius:10px; padding:12px 24px; background:linear-gradient(90deg,var(--aqua),var(--lime)); color:var(--navy); transition:filter .15s, transform .05s;}
.btn:hover{filter:brightness(1.1);} .btn:active{transform:translateY(1px);}
.btn.ghost{background:transparent; color:var(--aqua); border:1px solid var(--line);}
.btn.small{padding:8px 14px; font-size:13px;}
.btn:disabled{opacity:.35; cursor:default; filter:none;}
.btnrow{display:flex; gap:12px; margin-top:18px; align-items:center; flex-wrap:wrap;}
.linkbtn{background:none; border:none; color:var(--aqua); font-family:inherit; font-size:13px; cursor:pointer; text-decoration:underline; padding:0;}
.chip{font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; font-weight:700; padding:3px 10px; border-radius:99px; border:1px solid var(--line); color:var(--aqua); white-space:nowrap;}
.chip.vol{color:var(--muted); border-color:var(--line2); text-transform:none; letter-spacing:.02em;}
.chip.amber{color:var(--amber); border-color:rgba(255,206,118,.45);}
.famrow{display:flex; gap:8px; align-items:center; flex-wrap:wrap;}
.ctdesc{margin-top:8px; color:var(--muted); font-size:14px; line-height:1.6;}
details.moredesc{margin-top:6px;} details.moredesc summary{cursor:pointer; color:var(--aqua); font-size:12.5px;}
details.moredesc p{margin-top:6px; font-size:13px; color:var(--muted); line-height:1.6;}
.tiles{display:grid; grid-template-columns:1fr 1.3fr 1fr; gap:12px; margin-top:16px;}
.tile{background:var(--panel2); border:1px solid var(--line2); border-radius:12px; padding:12px 12px; text-align:center;}
.tile .lab{font-size:10px; letter-spacing:.13em; text-transform:uppercase; color:var(--faint); font-weight:700; line-height:1.4;}
.tile .val{font-size:24px; font-weight:800; margin-top:4px; color:var(--ink); white-space:nowrap;}
.tile .val.sm{font-size:19px;}
.tile .u{font-size:11px; color:var(--muted); margin-top:3px; line-height:1.4;}
.tile.panel .lab{color:var(--aqua);}
.tile .rng{margin-top:8px; padding-top:8px; border-top:1px solid var(--line2); font-size:15px; font-weight:700; color:var(--ink); white-space:nowrap;}
.tile .rng .rl{font-size:10px; letter-spacing:.13em; text-transform:uppercase; color:var(--aqua); font-weight:700; margin-right:8px;}
.thin{margin-top:10px; font-size:12.5px; color:var(--amber); line-height:1.55;}
.modwrap{text-align:center; padding:16px 26px; border-radius:14px; border:1px solid var(--line); background:var(--panel2);}
.modwrap .lab{font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--aqua); font-weight:700;}
.modwrap .val{font-size:46px; font-weight:800; line-height:1.1; margin-top:4px; background:linear-gradient(90deg,var(--aqua),var(--lime));
  -webkit-background-clip:text; background-clip:text; color:transparent;}
.modwrap .unit{font-size:12.5px; color:var(--muted); margin-top:2px;}
.modwrap .hint{font-size:11.5px; color:var(--faint); margin-top:8px; line-height:1.5;}
.question{margin-top:16px; padding:14px 16px; border-left:3px solid var(--aqua); background:rgba(23,255,215,.05); border-radius:0 10px 10px 0; font-size:15px; line-height:1.6;}
.question b{color:var(--aqua);}
.fnote{margin-top:10px; font-size:12px; color:var(--faint); line-height:1.55;} .fnote b{color:var(--muted);}
.result{margin-top:16px; border-radius:14px; padding:16px 18px; text-align:center; border:2px solid;}
.result .big{font-size:22px; font-weight:800;}
.result .sub{font-size:13px; color:var(--muted); margin-top:4px;}
.result.yes{border-color:var(--lime); background:rgba(152,255,42,.08);} .result.yes .big{color:var(--lime);}
.result.yes .big::before{content:"✓ ";}
.result.no{border-color:var(--amber); background:rgba(255,206,118,.07); border-style:dashed;} .result.no .big{color:var(--amber);}
.result.open{border-color:var(--line2); background:var(--panel2);} .result.open .big{color:var(--ink); font-size:18px;}
fieldset{border:1px solid var(--line2); border-radius:10px; padding:10px 12px 12px; margin-top:12px; min-width:0; min-inline-size:0;}
legend{font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--faint); font-weight:700; padding:0 6px; white-space:normal; max-width:100%;}
fieldset label{display:flex; gap:8px; align-items:center; font-size:13.5px; color:var(--ink); margin-top:7px; cursor:pointer; line-height:1.4;}
fieldset input[type=checkbox], fieldset input[type=radio]{accent-color:var(--aqua); width:16px; height:16px; flex:none;}
input[type=range]{accent-color:var(--aqua); width:130px; max-width:100%; min-width:0;}
input.num{width:120px; background:#0d1750; border:1px solid rgba(152,255,42,.45); color:var(--ink); font-family:inherit; font-size:16px; font-weight:700;
  text-align:center; border-radius:10px; padding:8px 10px; outline:none;}
input.num:focus{border-color:var(--lime); box-shadow:0 0 0 3px rgba(152,255,42,.15);}
.err{color:var(--coral); font-size:12.5px; margin-top:6px; min-height:1em;}
.setline{font-size:12.5px; color:var(--muted); margin-top:12px; padding:9px 12px; border:1px solid var(--line2); border-radius:9px; background:var(--panel); line-height:1.55;}
.setline b{color:var(--ink);}
footer{border-top:1px solid var(--line); padding:14px 30px; display:flex; align-items:center; gap:14px; font-size:11px; color:var(--faint); background:#020617; flex-wrap:wrap;}
footer .conf{margin-left:auto; text-align:right; line-height:1.5;}
@media(max-width:720px){
  header{padding:10px 16px; gap:10px;} header img.lockup{height:40px;} header .titleblock{display:none;}
  header .ospdplate{margin-left:auto;} header .ospdplate img{height:26px;}
  main{padding:18px 16px 48px;}
  .tiles{grid-template-columns:1fr 1fr; grid-template-areas:"mod med" "n med";}
  .tiles .tmod{grid-area:mod;} .tiles .tmed{grid-area:med; display:flex; flex-direction:column; justify-content:center;} .tiles .tn{grid-area:n;}
  footer{padding:12px 16px;} footer .conf{margin-left:0; text-align:left;}
}
/* ---- facilitator console ---- */


.toprow{display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap;}
.tabs{display:flex; gap:8px; flex-wrap:wrap;}
.tabs button{background:var(--panel2); color:var(--muted); border:1px solid var(--line2); border-radius:10px; padding:9px 14px; font-family:inherit; font-size:13px; font-weight:700; cursor:pointer; text-align:left;}
.tabs button small{display:block; font-weight:400; font-size:11.5px; color:var(--faint); margin-top:2px;}
.tabs button[aria-selected=true]{border-color:var(--aqua); color:var(--ink); box-shadow:0 0 0 2px rgba(23,255,215,.15) inset;}
.tabs button .dot{display:inline-block; width:8px; height:8px; border-radius:99px; background:var(--lime); margin-left:6px; vertical-align:middle;}
.grouphead{text-align:right;} .grouphead .g{font-size:16px; font-weight:700;} .grouphead .s{font-size:12px; color:var(--muted); margin-top:3px;}
.grouphead .dot{display:inline-block; width:9px; height:9px; border-radius:99px; background:var(--lime); margin-left:8px; vertical-align:middle;}
@media(max-width:720px){.grouphead{text-align:left;}}
details.settings summary{cursor:pointer; font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--aqua); font-weight:700;}
.setgrid{display:grid; grid-template-columns:repeat(4,1fr); gap:12px;}
@media(max-width:1000px){.setgrid{grid-template-columns:1fr 1fr;}} @media(max-width:600px){.setgrid{grid-template-columns:1fr;}}
.layout{display:grid; grid-template-columns:330px 1fr; gap:20px; margin-top:6px; align-items:start;} .layout > *{min-width:0;}
@media(max-width:960px){.layout{grid-template-columns:1fr;}}
.agenda .row{display:grid; grid-template-columns:1fr auto; gap:8px; align-items:center; width:100%; text-align:left; background:none; border:none;
  border-top:1px solid var(--line2); padding:10px 6px; cursor:pointer; color:var(--ink); font-family:inherit;}
.agenda .row:first-of-type{border-top:none;}
.agenda .row:hover{background:rgba(23,255,215,.04);}
.agenda .row[aria-current=true]{background:rgba(23,255,215,.08); box-shadow:inset 3px 0 0 var(--aqua);}
.agenda .nm{display:block; font-size:13.5px; font-weight:600; line-height:1.35;} .agenda .sb{display:block; font-size:11.5px; color:var(--faint); margin-top:2px;}
.st{font-size:10px; letter-spacing:.08em; text-transform:uppercase; font-weight:800; padding:3px 8px; border-radius:99px; white-space:nowrap; border:1px solid var(--line2); color:var(--faint);}
.st.open{color:var(--navy); background:var(--aqua); border-color:var(--aqua);}
.st.yes{color:var(--navy); background:var(--lime); border-color:var(--lime);}
.st.no{color:var(--amber); border:1px dashed var(--amber);}
.signins{margin-top:14px; padding-top:12px; border-top:1px solid var(--line2); font-size:12.5px; color:var(--muted); display:flex; gap:10px; align-items:center; flex-wrap:wrap;}
.propzone{display:grid; grid-template-columns:minmax(240px,1fr) 1.2fr; gap:16px; margin-top:16px; align-items:stretch;}
@media(max-width:760px){.propzone{grid-template-columns:1fr;}}
.editbox{border:1px dashed var(--line2); border-radius:14px; padding:14px 16px; background:rgba(10,20,64,.5);}
.editbox .lab{font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--faint); font-weight:700;}
.editrow{display:flex; gap:10px; align-items:center; margin-top:8px; flex-wrap:wrap;}
.live{margin-top:16px; border:1px solid var(--line); border-radius:14px; padding:16px 18px; background:var(--panel2);}
.liverow{display:grid; grid-template-columns:1fr 1fr 1.1fr; gap:14px; align-items:center;}
@media(max-width:760px){.liverow{grid-template-columns:1fr 1fr;}}
.box .lab{font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--faint); font-weight:700;}
.box .v{font-size:26px; font-weight:800; margin-top:2px;} .box .u{font-size:11.5px; color:var(--muted); margin-top:2px; line-height:1.4;}
.hcv{display:flex; align-items:center; gap:10px; margin-top:2px;}
.hcv button{background:var(--panel); color:var(--aqua); border:1px solid var(--line2); border-radius:9px; width:32px; height:32px; font-size:18px; cursor:pointer; font-family:inherit;}
.hcv button:hover{border-color:var(--aqua);}
.pill{border-radius:12px; padding:12px 14px; text-align:center; font-weight:800; font-size:16px; border:2px solid;}
.pill.yes{border-color:var(--lime); color:var(--lime); background:rgba(152,255,42,.08);} .pill.yes::before{content:"✓ ";}
.pill.wait{border-color:var(--line2); color:var(--muted); border-style:dashed;}
.pill .s{display:block; font-size:11.5px; font-weight:600; color:var(--muted); margin-top:3px;}
.meter{position:relative; height:28px; border-radius:8px; background:var(--panel); border:1px solid var(--line2); margin-top:30px; display:flex; overflow:visible;}
.meter .a{background:linear-gradient(90deg,var(--aqua),var(--lime)); border-radius:7px 0 0 7px;}
.meter .d{background:repeating-linear-gradient(45deg,var(--coral) 0 6px,#c46f50 6px 12px);}
.meter .mark{position:absolute; top:-7px; bottom:-7px; width:3px; margin-left:-1px; background:var(--ink); border-radius:2px;}
.meter .mark span{position:absolute; top:-20px; left:50%; transform:translateX(-50%); font-size:10.5px; color:var(--ink); white-space:nowrap; font-weight:700;}
.counts{display:flex; gap:18px; margin-top:12px; font-size:13px; color:var(--muted); flex-wrap:wrap;}
.counts b{font-size:17px; color:var(--ink); margin-right:4px;}
.counts .ka b{color:var(--lime);} .counts .kd b{color:var(--coral);}
.notyet{margin-top:8px; font-size:12px; color:var(--faint); line-height:1.5;}
.roomline{margin-top:12px; font-size:12.5px; color:var(--muted); padding:8px 12px; border:1px solid var(--line2); border-radius:9px; background:rgba(0,5,26,.4);}
.roomline b{color:var(--ink);}
.note{margin-top:10px; font-size:12.5px; color:var(--amber); line-height:1.5;}
table.rec{width:100%; border-collapse:collapse; margin-top:8px;}
table.rec th, table.rec td{padding:8px 10px; font-size:13px; text-align:right; border-bottom:1px solid var(--line2);}
table.rec th{color:var(--faint); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; font-weight:700;}
table.rec td:first-child, table.rec th:first-child{text-align:left;}
.toast{position:fixed; left:50%; bottom:22px; transform:translateX(-50%); background:var(--panel2); border:1px solid var(--aqua); color:var(--ink);
  padding:10px 16px; border-radius:10px; font-size:13px; max-width:92vw; box-shadow:0 10px 30px rgba(0,0,0,.5); opacity:0; transition:opacity .2s; pointer-events:none;}
.toast.on{opacity:1;}
.metaline{font-size:12px; color:var(--faint); margin-top:6px;}
.recwrap{overflow-x:auto;}

/* ---- panelist ---- */

.phone h1{font-size:23px;} .phone h2{font-size:20px;}
.phone .card{padding:16px 16px; margin-top:14px;}
.phone .tiles{grid-template-columns:1fr 1fr; gap:10px; grid-template-areas:"mod med" "n med";}
.phone .tiles .tmod{grid-area:mod;} .phone .tiles .tmed{grid-area:med; display:flex; flex-direction:column; justify-content:center;} .phone .tiles .tn{grid-area:n;}
.phone .tile .rng{font-size:14px; white-space:normal;}
.phone .tile .val{font-size:21px;} .phone .tile .val.sm{font-size:17px;}
.phone .modwrap{margin-top:16px; padding:14px 14px;}
.phone .modwrap .val{font-size:44px;}
.field{margin-top:14px;} .field label{display:block; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--faint); font-weight:700; margin-bottom:6px;}
.field input{width:100%; background:#0d1750; border:1px solid var(--line2); color:var(--ink); font-family:inherit; font-size:16px; border-radius:10px; padding:12px 12px; outline:none;}
.field input:focus{border-color:var(--aqua); box-shadow:0 0 0 3px rgba(23,255,215,.12);}
.howlist{margin:4px 0 0 18px;} .howlist li{margin-top:8px; color:var(--muted); font-size:13.5px; line-height:1.55;} .howlist b{color:var(--ink);}
.votebtns{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:16px;}
.vbtn{border-radius:14px; padding:18px 10px; font-family:inherit; font-size:19px; font-weight:800; cursor:pointer; border:2px solid; background:transparent; transition:transform .05s, filter .15s;}
.vbtn:active{transform:translateY(1px);}
.vbtn.agree{border-color:var(--lime); color:var(--lime);} .vbtn.agree:hover{background:rgba(152,255,42,.08);}
.vbtn.disagree{border-color:var(--coral); color:var(--coral); border-style:dashed;} .vbtn.disagree:hover{background:rgba(255,157,118,.08);}
.vbtn[aria-pressed=true]{color:var(--navy);} .vbtn.agree[aria-pressed=true]{background:var(--lime);} .vbtn.disagree[aria-pressed=true]{background:var(--coral); border-style:solid;}
.coach{font-size:12.5px; color:var(--faint); text-align:center; margin-top:10px; line-height:1.5;}
.myvote{margin-top:16px; border-radius:14px; padding:14px 16px; text-align:center; background:var(--panel2); border:1px solid var(--line);}
.myvote .big{font-size:18px; font-weight:800;} .myvote .big.agree{color:var(--lime);} .myvote .big.disagree{color:var(--coral);}
.myvote .small{font-size:12.5px; color:var(--muted); margin-top:4px;}
.status{margin-top:14px; font-size:13px; color:var(--muted); text-align:center; min-height:1.2em;}
.waitbox{margin-top:22px; text-align:center; padding:26px 18px; border:1px dashed var(--line2); border-radius:14px; color:var(--muted); font-size:14px; line-height:1.6;}
.pulse{display:inline-block; width:10px; height:10px; border-radius:99px; background:var(--aqua); margin-right:8px; animation:pulse 1.4s ease-in-out infinite; vertical-align:middle;}
@keyframes pulse{0%,100%{opacity:.25;} 50%{opacity:1;}}
table.sum{width:100%; border-collapse:collapse; margin-top:10px;}
table.sum td{padding:8px 4px; font-size:13px; border-bottom:1px solid var(--line2);} table.sum td:last-child{text-align:right; white-space:nowrap;}

/* ---- admin ---- */

.setcard .setgrid{display:grid; grid-template-columns:repeat(4,1fr); gap:12px;}
@media(max-width:1100px){.setcard .setgrid{grid-template-columns:1fr 1fr;}} @media(max-width:600px){.setcard .setgrid{grid-template-columns:1fr;}}
.setcard select{margin-top:8px; width:100%; max-width:100%; min-width:0; background:var(--panel2); color:var(--ink); border:1px solid var(--line2); border-radius:9px; padding:7px 10px; font-family:inherit; font-size:13.5px;}
.setcard fieldset label[for]{cursor:default;}
.setnote{font-size:12px; color:var(--faint); margin-top:10px; line-height:1.5;}
.totals{display:flex; gap:22px; flex-wrap:wrap; margin-top:18px; font-size:13px; color:var(--muted); align-items:baseline;}
.totals b{font-size:21px; color:var(--ink); margin-right:6px;}
.rooms{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:14px; align-items:start;}
.rooms > *{min-width:0;}
@media(max-width:1100px){.rooms{grid-template-columns:1fr;}}
.room.card{margin-top:0;}
.rhead{display:flex; justify-content:space-between; gap:10px; align-items:flex-start;}
.rhead h2{font-size:18px;} .rhead .meta{font-size:12px; color:var(--muted); text-align:right; line-height:1.5; white-space:nowrap;}
.now{margin-top:12px; border:1px solid var(--line); border-radius:12px; padding:12px 14px; background:var(--panel2);}
.now.idle{border-style:dashed; border-color:var(--line2);}
.now .lab{font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--faint); font-weight:700;}
.now.live .lab{color:var(--aqua);}
.now .nm{font-size:16px; font-weight:700; margin-top:3px;} .now .sb{font-size:12px; color:var(--muted); margin-top:2px;}
.mini-meter{position:relative; height:16px; border-radius:6px; background:var(--panel); border:1px solid var(--line2); display:flex; margin-top:24px;}
.mini-meter .a{background:linear-gradient(90deg,var(--aqua),var(--lime)); border-radius:5px 0 0 5px;}
.mini-meter .d{background:repeating-linear-gradient(45deg,var(--coral) 0 5px,#c46f50 5px 10px);}
.mini-meter .mark{position:absolute; top:-5px; bottom:-5px; width:2px; margin-left:-1px; background:var(--ink);}
.mini-meter .mark span{position:absolute; top:-17px; left:50%; transform:translateX(-50%); font-size:10px; font-weight:700; white-space:nowrap;}
.nowcounts{display:flex; gap:12px; flex-wrap:wrap; font-size:12px; color:var(--muted); margin-top:9px; align-items:center;}
.nowcounts b{color:var(--ink);} .nowcounts .ka b{color:var(--lime);} .nowcounts .kd b{color:var(--coral);}
.flag{font-size:10px; letter-spacing:.06em; text-transform:uppercase; font-weight:800; padding:3px 8px; border-radius:99px; white-space:nowrap;}
.flag.yes{background:var(--lime); color:var(--navy);} .flag.wait{border:1px dashed var(--line2); color:var(--muted);}
.v-adm .roomline{margin-top:10px; font-size:12px; color:var(--muted); padding:7px 10px; border:1px solid var(--line2); border-radius:9px; background:rgba(0,5,26,.4);}
.v-adm .roomline b{color:var(--ink);}
.prog{font-size:12.5px; color:var(--muted); margin-top:12px;}
ul.mini{list-style:none; margin-top:6px;}
ul.mini li{display:flex; justify-content:space-between; gap:8px; align-items:center; font-size:12.5px; padding:6px 0; border-top:1px solid var(--line2);}
ul.mini li .nm{min-width:0; line-height:1.35;} ul.mini li .fig{color:var(--faint); font-size:11.5px; margin-left:6px; white-space:nowrap;}
.v-adm table.rec td:nth-child(-n+2), .v-adm table.rec th:nth-child(-n+2){text-align:left;}
.rechead{display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap;}
/* ---- production additions (not in the prototypes) ---- */
main{max-width:1260px;}
body.v-adm main{max-width:1400px;}
body.v-pan main, body.v-signin main{max-width:560px;}
.phone{max-width:520px; margin:0 auto;}
[hidden]{display:none !important;}
.conn{position:sticky; top:0; z-index:5; background:var(--amber); color:var(--navy); font-size:12px; font-weight:800; letter-spacing:.06em; text-align:center; padding:6px 12px;}
.envband{background:var(--coral); color:var(--navy); font-size:11px; letter-spacing:.12em; font-weight:800; text-transform:uppercase; text-align:center; padding:5px 14px;}
.formerr{color:var(--coral); font-size:13px; margin-top:10px; min-height:1.2em; line-height:1.5;}
.help{font-size:13px; color:var(--muted); margin-top:14px; line-height:1.55;}
.adminbar{display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-top:14px;}
.adminbar .lab{font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--faint); font-weight:700;}
.rtabs{display:flex; gap:8px; flex-wrap:wrap;}
.rtabs button{background:var(--panel2); color:var(--muted); border:1px solid var(--line2); border-radius:10px; padding:7px 12px; font-family:inherit; font-size:13px; font-weight:700; cursor:pointer;}
.rtabs button[aria-current=true]{border-color:var(--aqua); color:var(--ink);}
.confirm{background:transparent; color:var(--coral); border:1px dashed var(--coral); border-radius:10px; padding:8px 14px; font-family:inherit; font-size:13px; font-weight:700; cursor:pointer;}
.confirm.armed{background:var(--coral); color:var(--navy); border-style:solid;}
.missing{margin-top:8px; font-size:12px; color:var(--faint); line-height:1.5;}
.missing summary{cursor:pointer; color:var(--aqua);}
.vbtn:disabled{opacity:.5; cursor:default;}
.setcard fieldset:disabled{opacity:.6;}
.notice{margin-top:14px; padding:12px 14px; border-radius:12px; border:1px dashed var(--amber); color:var(--amber); font-size:13.5px; line-height:1.55; background:rgba(255,206,118,.05);}
.hcv button:disabled{opacity:.3; cursor:default;}
