/* EBT Day: large type, high contrast, no colour-only meaning, 44px targets */
html{font-size:17px}
body{line-height:1.5}
header.top{border-top:5px solid var(--accent)}
h1{font-size:28px;line-height:1.2}
.sub{font-size:16px;line-height:1.5;max-width:70ch}
.card h2{font-size:18px}
.card h2.mt,.mt{margin-top:18px}
.prose p,.prose li{font-size:17px;line-height:1.6}
.prose ul,.prose ol{padding-left:22px;margin-bottom:12px}
.prose h2{font-size:20px;margin:18px 0 8px}
.prose h3{font-size:17px;margin:14px 0 6px}
.prose table{width:100%;border-collapse:collapse;font-size:15px;margin:10px 0}
.prose td,.prose th{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left}
.prose blockquote{border-left:4px solid var(--line);padding:4px 12px;color:var(--muted);margin:8px 0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
select,.btn,input[type=text],input[type=number],input[type=search]{min-height:44px;font-size:17px}
.btn{min-height:46px;font-size:17px;padding:10px 18px}
.btn.wide{width:auto;display:inline-block;text-decoration:none;text-align:center;line-height:1.4}
.btn.ghost.wide{color:var(--ink)}
.row .btn{margin:4px 0}
.status-banner{background:#fff1d6;border:2px solid var(--gold);color:#4a3200;border-radius:var(--radius);padding:12px 16px;margin-bottom:16px;font-size:16px}
.status-banner a{color:#4a3200;font-weight:700}
.notice{font-size:15px;margin:0 0 16px}
.pill{font-size:13px}
.ebt-kpis{grid-template-columns:repeat(5,1fr)}
.kpi .v.big{font-size:30px;font-weight:800;font-family:var(--mono),monospace;min-height:0}
/* lookup */
.lookup{border-width:2px;border-color:var(--accent)}
.lk-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end;margin-bottom:10px}
.lk-field,.lk-inputs label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:15px}
.lk-inputs{display:contents}
.lk-inputs input{font-family:var(--mono),monospace;font-size:24px;letter-spacing:.12em;text-transform:uppercase;padding:8px 12px;max-width:220px}
.lk-inputs .hint{font-weight:400;color:var(--muted);font-size:14px}
.lk-alt{grid-column:1/-1;font-size:15px}
.lk-alt label{display:flex;gap:8px;align-items:center}
.lk-alt input{width:22px;height:22px}
.lk-rule{font-size:15px;margin:4px 0 10px}
.lk-result{min-height:24px}
.lk-big{font-size:22px;line-height:1.35;margin-bottom:8px}
.lk-big b{color:var(--accent);font-size:28px;display:block;font-family:var(--mono),monospace}
.lk-big.past b{color:var(--ink)}
.lk-next{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0}
.lk-next li{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:15px}
.lk-next li b{display:block;font-family:var(--mono),monospace;font-size:17px}
.lk-window{font-size:18px}
.lk-window b{color:var(--accent)}
.lk-err{color:var(--hot);font-weight:700}
.lookup .share{margin-top:12px}
/* state table */
.tblwrap{overflow-x:auto}
.tbl{font-size:15px}
.tbl th{font-size:12px}
.tbl td{padding:10px 8px}
.tbl td small{display:block;font-size:12px}
.tbl .up{color:var(--accent)}
.tbl .down{color:var(--hot)}
.tbl.allot td{white-space:nowrap}
.states td:first-child a{font-weight:700;text-decoration:none;border-bottom:2px solid var(--line)}
.st-row.mine{background:#eef7f0}
.st-row.mine td:first-child a{border-color:var(--accent)}
/* calendars */
.cals{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cal{width:100%;border-collapse:collapse;table-layout:fixed}
.cal caption{text-align:left;font-weight:800;font-size:15px;margin-bottom:6px}
.cal th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;padding:4px 0;text-align:center}
.cal td{text-align:center;padding:0;height:46px;border:1px solid var(--line);font-size:15px;vertical-align:middle;position:relative}
.cal td.pad{border:0}
.cal td .dot{display:none}
.cal td.dep{background:#e6f3ea;font-weight:800}
.cal td.dep .n{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.cal td.dep .dot{display:block;font-size:9px;line-height:1;color:var(--accent);position:absolute;left:0;right:0;bottom:4px}
.cal td.today .n{outline:2px solid var(--blue);border-radius:50%;padding:2px 6px}
.cal td.mine{background:var(--accent);color:#fff}
.cal td.mine .dot{color:#fff}
.steps li{margin-bottom:8px}
.fns{font-size:15px;line-height:1.55;border-left:4px solid var(--accent);padding:6px 12px;background:var(--bg);border-radius:0 8px 8px 0}
.guides li{font-size:16px}
/* calculator */
.grid-f{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.grid-f label{display:flex;flex-direction:column;gap:6px;font-size:15px;font-weight:700}
.grid-f label.chk{flex-direction:row;align-items:center;gap:10px;grid-column:1/-1;font-weight:600}
.grid-f label.chk input{width:24px;height:24px}
.grid-f label[hidden]{display:none}
.calc-form .btn{min-height:52px}
.bigstat{font-size:52px;color:var(--accent);margin:8px 0}
.bigstat.zero{color:var(--hot)}
.steps-tbl{margin-top:12px}
.steps-tbl td:last-child{text-align:right;font-family:var(--mono),monospace;white-space:nowrap}
.steps-tbl tr.total td{font-weight:800;border-top:2px solid var(--ink)}
.steps-tbl tr.fail td{color:var(--hot)}
.chartwrap{color:var(--ink)}
.chartwrap svg{width:100%;height:auto}
.status-card.ok{border-color:var(--accent);border-width:2px}
.status-card.alert{border-color:var(--gold);border-width:2px;background:#fff8e8}
.status-line{font-size:18px;line-height:1.5}
.article .btn{margin-top:4px}
@media(max-width:960px){.ebt-kpis{grid-template-columns:repeat(3,1fr)}.cals{grid-template-columns:1fr}}
@media(max-width:560px){.ebt-kpis{grid-template-columns:1fr 1fr}.lk-form,.grid-f{grid-template-columns:1fr}.lk-next{grid-template-columns:1fr}h1{font-size:23px}.kpi .v.big{font-size:24px}.cal td{height:42px;font-size:14px}.lk-inputs input{max-width:none}}
