/* Įvykių kalendoriaus logika: kiekvienas žingsnis – įvykis su datos lapeliu.
   Spalva = įvykio tipas (seminaras, užduotis, vadovams, konsultacija). Pagrindiniai veiksmai – juodi, kaip Softr. */
:root{
  --bg:#f4f6f5; --paper:#fff; --ink:#15201c; --muted:#5a6762; --line:#dce3e0; --line2:#eaefed;
  --accent:#1f5c52; --accent-ink:#fff; --accent-soft:#e1eeea;
  --sem:#1f5c52; --sem-soft:#e1eeea; --task:#a8661a; --task-soft:#fbeedb; --lead:#5b4a8b; --lead-soft:#ece8f5; --cons:#5a6762; --cons-soft:#eceeed;
  --hi:#f2c14e; --hi-soft:#fdf3d6;
  --warm:#b5482f; --warm-soft:#f8e3dc;
  --ok:#2a7a4b; --ok-soft:#e0f1e6; --warn:#9a6210; --warn-soft:#faeed6; --bad:#b5482f; --bad-soft:#f8e3dc;
  --btn:#15201c; --btn-ink:#fff;
  --body:"Figtree","Segoe UI",system-ui,sans-serif; --display:var(--body); --mono:ui-monospace,Menlo,monospace;
  --r:14px; --r-s:10px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0e1513; --paper:#16201d; --ink:#e4ece9; --muted:#97a6a0; --line:#28352f; --line2:#1f2a26;
  --accent:#6fc2b0; --accent-ink:#0e1513; --accent-soft:#16332c;
  --sem:#6fc2b0; --sem-soft:#16332c; --task:#e6a65a; --task-soft:#3a2a16; --lead:#b4a3e6; --lead-soft:#2a2440; --cons:#97a6a0; --cons-soft:#222c29;
  --hi:#f2c14e; --hi-soft:#3a3016;
  --warm:#ef8c74; --warm-soft:#3d221b;
  --ok:#6cc48f; --ok-soft:#163626; --warn:#e2a94f; --warn-soft:#3a2c14; --bad:#ef8c74; --bad-soft:#3d221b;
  --btn:#e4ece9; --btn-ink:#0e1513; color-scheme:dark}}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:1rem/1.55 var(--body);-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-underline-offset:2px}
img{max-width:100%}
p{margin:0}
[hidden]{display:none!important}

/* Viršus */
.topbar{padding:12px 16px;border-bottom:1px solid var(--line);background:var(--paper)}
.topbar>*{max-width:1180px;margin:0 auto}
.brand{font:800 1.2rem/1 var(--body);color:var(--ink);text-decoration:none;letter-spacing:-.01em;display:inline-flex;align-items:baseline;gap:10px}
.brand small{font:500 .85rem var(--body);color:var(--muted);letter-spacing:0}

.wrap{max-width:880px;margin:0 auto;padding-inline:16px;padding-block:28px 72px}
.wrap.wide{max-width:1180px} .wrap.narrow{max-width:520px}
.stack{display:flex;flex-direction:column;gap:18px}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.row.spread{justify-content:space-between}
.grow{flex:1 1 220px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.minw0{min-width:0} .mt{margin-top:10px} .right{text-align:right}

/* Tipografija */
h1{font:800 clamp(1.75rem,4.2vw,2.6rem)/1.1 var(--body);margin:0;letter-spacing:-.025em;text-wrap:balance}
h2{font:750 1.35rem/1.25 var(--body);margin:0;letter-spacing:-.01em;text-wrap:balance}
h3{font:700 1.02rem/1.3 var(--body);margin:0;color:var(--ink)}
h4{margin:0}
.kicker,.eyebrow{font:600 .9rem/1.3 var(--body);color:var(--muted);margin:0 0 6px}
.lead{font-size:1.08rem;color:var(--muted);max-width:62ch}
.muted{color:var(--muted)} .small{font-size:.875rem}
.back{font-size:.9rem;text-decoration:none;color:var(--muted)}
.back:hover{color:var(--ink)}
.as-link{background:none;border:0;color:var(--accent);cursor:pointer;font:inherit;padding:0;text-align:left;text-decoration:underline;text-underline-offset:2px}
.sech{display:flex;flex-direction:column;gap:2px}
hr{border:0;border-top:1px solid var(--line);margin:24px 0}

/* Paviršiai */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.pcard{display:flex;flex-direction:column;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:18px;text-decoration:none;color:inherit;transition:border-color .15s}
.pcard:hover{border-color:var(--ink)} .pcard h3{font:700 1.08rem/1.3 var(--body)}
.pcard.as-btn{font:inherit;text-align:left;cursor:pointer}
.clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:.92rem}
.meta{font-size:.85rem;color:var(--muted);margin-top:auto}
.badge{font:650 .78rem/1 var(--body);color:var(--accent);background:var(--accent-soft);padding:5px 8px;border-radius:6px;white-space:nowrap}
.badge.warm{color:var(--task);background:var(--task-soft)}
.chip{display:inline-block;font:600 .8rem/1 var(--body);padding:5px 9px;border-radius:999px;background:var(--line2);color:var(--muted);white-space:nowrap}
.chip.ok{color:var(--ok);background:var(--ok-soft)} .chip.warn{color:var(--warn);background:var(--warn-soft)} .chip.bad{color:var(--bad);background:var(--bad-soft)}
.chip.lock{background:transparent;border:1px dashed var(--line);color:var(--muted)}
.pill{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:11px;background:var(--warm);color:#fff;font-size:.8rem;padding:0 7px;vertical-align:2px}

/* Mygtukai */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:700 .95rem var(--body);border:1px solid var(--btn);border-radius:var(--r-s);padding:10px 16px;min-height:42px;cursor:pointer;background:var(--btn);color:var(--btn-ink);text-decoration:none;white-space:nowrap}
.btn:hover{filter:brightness(1.25)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--ink);filter:none}
.btn.sm{font-size:.875rem;padding:7px 12px;min-height:36px}
.btn:disabled{opacity:.5;cursor:default}
.btn.danger{background:var(--bad);border-color:var(--bad);color:#fff}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ---------- Įvykio datos lapelis ---------- */
.db{--c:var(--task);--cs:var(--task-soft);position:relative;width:62px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:var(--paper);border:1px solid var(--line);border-top:5px solid var(--c);border-radius:10px;padding:5px 2px 6px;line-height:1;text-align:center}
.db.sem{--c:var(--sem);--cs:var(--sem-soft)} .db.task{--c:var(--task);--cs:var(--task-soft)} .db.lead{--c:var(--lead);--cs:var(--lead-soft)} .db.cons{--c:var(--cons);--cs:var(--cons-soft)}
.db .dm{font:700 .72rem/1 var(--body);color:var(--c)}
.db .dd{font:800 1.6rem/1.05 var(--body);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:2px 0 1px}
.db .dw{font:500 .68rem/1.1 var(--body);color:var(--muted)}
.db.nodate{border-top-style:dashed;background:transparent}
.db.nodate .dd{color:var(--muted)}
.db .ck{position:absolute;right:-7px;top:-9px;width:22px;height:22px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;font:800 .75rem var(--body);border:2px solid var(--paper)}

.tag{--c:var(--task);--cs:var(--task-soft);display:inline-flex;align-items:center;gap:6px;font:650 .8rem/1 var(--body);color:var(--c)}
.tag::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--c)}
.tag.sem{--c:var(--sem)} .tag.task{--c:var(--task)} .tag.lead{--c:var(--lead)} .tag.cons{--c:var(--cons)}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend .lg{width:10px;height:10px;border-radius:2px;display:inline-block;background:var(--task)}
.legend .lg.sem{background:var(--sem)} .legend .lg.lead{background:var(--lead)} .legend .lg.cons{background:var(--cons)}

/* Įvykio eilutė */
.ev{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:6px 16px;align-items:start;padding:14px 16px 14px 14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}
.evk{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:.84rem;color:var(--muted)}
.ev .title{font:700 1.04rem/1.35 var(--body);margin-top:4px}
.desc{color:var(--muted);font-size:.94rem;margin-top:4px;overflow-wrap:anywhere;max-width:70ch}
.eva{display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding-top:2px}
.ev.past:not(.late):not(.now){background:transparent}
.ev.past .db:not(.nodate){opacity:.65}
.ev.done{background:transparent}
.ev.done .title{color:var(--muted)}
.ev.late{border-color:color-mix(in srgb,var(--warm) 45%,var(--line))}
.ev.now{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.ev.future{background:transparent;border-style:dashed}
.st{font-weight:700}
.st.ok{color:var(--ok)} .st.late{color:var(--warm)} .st.now{color:var(--ink)}
.imgs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.imgs img{max-height:220px;border-radius:8px;border:1px solid var(--line)}

/* Šiandien linija */
.today{display:flex;align-items:center;gap:10px;margin:4px 0;color:var(--ink);font:700 .85rem var(--body)}
.today::before{content:"";width:62px;height:3px;background:var(--hi);border-radius:2px}
.today::after{content:"";flex:1;height:1px;background:var(--hi)}
.today span{background:var(--hi);color:#2a2207;padding:3px 9px;border-radius:999px}

/* Moduliai */
.mod{display:flex;flex-direction:column;gap:8px}
.modh{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 2px 2px;border-bottom:1px solid var(--line);margin-bottom:4px}
.modh span{font-size:.85rem;color:var(--muted)}

/* Programos hero */
.phero{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start;padding-bottom:8px}
.phero.has-aside{grid-template-columns:minmax(0,1fr) 300px}
.nextev.done{box-shadow:inset 0 4px 0 var(--ok)}
.phero-main{display:flex;flex-direction:column;gap:16px}
.facts{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.facts>div{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-s);padding:9px 14px;flex:0 1 auto}
.facts dt{font-size:.8rem;color:var(--muted)} .facts dd{margin:2px 0 0;font-weight:700}
.nextev{position:sticky;top:16px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:inset 0 4px 0 var(--hi)}
.nextev-h,.ticket-h{font:700 .9rem var(--body)}
.nextev-b,.ticket-b{display:grid;grid-template-columns:62px minmax(0,1fr);gap:14px;align-items:start}
.nextev .title{font-weight:700;margin-top:4px;line-height:1.35}
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.person{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:start;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:14px}
.person p{margin-top:6px}
.av{width:44px;height:44px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font:800 .95rem var(--body);flex:none}

/* Mokytojo kelias */
.ptitle{display:flex;flex-direction:column;gap:4px}
.dash{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:12px}
.ticket{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:14px;box-shadow:inset 0 4px 0 var(--hi)}
.ticket .db{width:62px}
.big2{font:750 1.2rem/1.3 var(--body);margin:0}
.meter{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:10px}
.mnote{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start;padding:4px 2px}
.mnote>div>p+p{margin-top:2px}
.attn{background:var(--paper);border:1px solid color-mix(in srgb,var(--warm) 40%,var(--line));border-radius:var(--r);padding:16px}
.attn .ev{border-color:var(--line)}
.attn .ev.late{border-color:color-mix(in srgb,var(--warm) 45%,var(--line))}
details.all>summary,details.card>summary{padding:6px 0;font-size:1rem;cursor:pointer}
details.all[open]>summary{margin-bottom:10px}
details.all .legend{margin-bottom:6px}

/* Progresas */
.progress{height:10px;background:var(--line2);border-radius:99px;overflow:hidden}
.progress i{display:block;height:100%;background:var(--accent);border-radius:99px}
.progress.thin{height:6px;width:110px;margin-top:6px}
.progress.thin2{height:8px;position:relative;overflow:visible}
.progress .mark{position:absolute;top:-4px;width:2px;height:16px;background:var(--ink);opacity:.6}
.hours{display:flex;flex-direction:column;gap:6px}
.big{font:800 2rem/1 var(--body);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.big.ok{color:var(--ok)} .big.bad{color:var(--bad)} .big.warnc{color:var(--warn)}

/* Pastabos ir komentarai */
.note{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--r-s) var(--r-s) 0;padding:14px 16px}
.note b{display:block;font:700 .85rem var(--body);color:var(--accent);margin-bottom:4px}
.komentaras{margin-top:8px;padding:8px 12px;border-left:3px solid var(--hi);background:var(--hi-soft);border-radius:0 8px 8px 0;font-size:.95rem}
.komentaras b{display:block;font-size:.8rem;color:var(--ink)}
.answer{font-size:.92rem;margin-top:8px;padding:10px 12px;background:var(--ok-soft);border-radius:8px;display:flex;flex-direction:column;gap:6px}
.mintys{margin-top:8px;display:flex;flex-direction:column;gap:6px}
.mintys blockquote{margin:0;padding:8px 12px;border-left:3px solid var(--line);background:var(--bg);border-radius:0 8px 8px 0;font-size:.95rem}
.warnbox{margin:0;padding:8px 10px;background:var(--warn-soft);color:var(--ink);border-radius:8px}
.qa{padding:6px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px}

/* Formos */
.panel{grid-column:2 / -1;display:flex;flex-direction:column;gap:8px;margin-top:8px;padding-top:12px;border-top:1px solid var(--line2)}
.panel label{font-weight:600;font-size:.95rem}
.panel.full{grid-column:auto;margin-top:10px}
input,select,textarea{font:.95rem/1.4 var(--body);color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:10px 11px;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}
textarea{min-height:76px;resize:vertical}
.form{display:flex;flex-direction:column;gap:14px}
.form.grid2{display:grid}
label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;font-weight:600}
label.check{flex-direction:row;align-items:flex-start;gap:8px;font-weight:400}
label.check input{width:auto;margin-top:4px;accent-color:var(--accent)}
fieldset{border:0;padding:0;margin:0;min-width:0}
legend{font-weight:600;font-size:.9rem;margin-bottom:6px;padding:0}
.scale{display:flex;flex-wrap:wrap;gap:6px}
.scale legend{width:100%}
.scale label{flex-direction:row}
.scale input{position:absolute;opacity:0;width:1px;height:1px}
.scale span{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;font-weight:700;cursor:pointer;background:var(--paper)}
.scale input:checked+span{background:var(--btn);color:var(--btn-ink);border-color:var(--btn)}
.scale input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.vis{display:flex;flex-direction:column;gap:4px}
.radios{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px}
textarea.draft{font-size:.9rem;margin:6px 0}

/* Skirtukai */
.tabs{display:flex;flex-wrap:wrap;gap:4px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:4px}
.tabs button{border:0;background:transparent;color:var(--muted);font:650 .9rem var(--body);padding:8px 12px;border-radius:8px;cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.tabs button[aria-pressed="true"]{background:var(--btn);color:var(--btn-ink)}
.tabs.sub{align-self:flex-start}
.who{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px}

/* Analitika (pavaduotojas, savivaldybė, pultas) */
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.tiles.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.tile{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:6px}
.next{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--line);box-shadow:inset 0 3px 0 var(--hi);border-radius:var(--r-s);padding:12px 14px;background:var(--paper)}
.next>div{min-width:0}
.kind{font:600 .82rem/1.3 var(--body);color:var(--muted)}
.title{font-weight:700;margin-top:3px}
.tablewrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.94rem}
th{text-align:left;font:650 .8rem var(--body);color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:10px;border-bottom:1px solid var(--line2);vertical-align:top}
tr.off td{opacity:.5}
.num{font-variant-numeric:tabular-nums;text-align:right}
table.edit td{padding:6px} table.edit textarea{min-height:52px;font-size:.88rem}
.code{font:500 .82rem var(--mono);color:var(--accent)}
.qr{background:#fff;padding:3px;border-radius:6px;display:inline-block;line-height:0}
.todo{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}
.okc{color:var(--ok)} .warnc{color:var(--warn)} .latec{color:var(--warm);font-weight:700}
.live::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);margin-right:6px;vertical-align:middle;animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.35}}
.spark{width:100%;height:70px}
.spark .bar{fill:var(--accent)} .spark .bar0{fill:var(--line)}
.ladder{display:flex;flex-direction:column;gap:10px}
.rung{display:grid;grid-template-columns:170px 110px minmax(0,1fr);gap:4px 14px;align-items:center}
.rung .rn{font-weight:700} .rung .rv{font:800 1.1rem var(--body);font-variant-numeric:tabular-nums}
.rung .rbar{height:8px;background:var(--line2);border-radius:99px;overflow:hidden} .rung .rbar i{display:block;height:100%;background:var(--accent)}
.rung .rd{grid-column:2 / -1}
.signals{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.signals li{padding:8px 12px;border-radius:8px;background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--line)}
.signals li.w3{border-left-color:var(--bad)} .signals li.w2{border-left-color:var(--warn)} .signals li.w1{border-left-color:var(--accent)}
tr.click{cursor:pointer} tr.click:hover td{background:var(--accent-soft)}
table.matrix th{vertical-align:bottom;padding:4px 2px}
table.matrix .vert{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.75rem;white-space:nowrap;max-height:160px;display:inline-block;overflow:hidden}
table.matrix td{text-align:center;padding:6px 2px;font-weight:700;min-width:26px}
table.matrix td.sticky,table.matrix th.sticky{position:sticky;left:0;background:var(--paper);text-align:left;z-index:1;min-width:150px}
.c-done{color:var(--ok);background:var(--ok-soft)} .c-late{color:var(--bad);background:var(--bad-soft)} .c-open{color:var(--accent);background:var(--accent-soft)} .c-fut{color:var(--muted)} .c-na{color:var(--line)}
.sumrow td{font-weight:400;border-top:2px solid var(--line)}
.legend .lg:not(.sem):not(.task):not(.lead):not(.cons){display:inline-grid;place-items:center;width:22px;height:22px;border-radius:5px;font-weight:700}
.links{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}
.links a{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink);background:var(--paper)}
.links a:hover{border-color:var(--ink)}
.answerbox{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-bottom:1px solid var(--line)}
.answerplain{margin-top:6px;display:flex;flex-direction:column;gap:6px}
.card.off{opacity:.6}

/* Pulto „Šiandien“ */
.actcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.actcard{display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;cursor:pointer}
.actcard:hover{border-color:var(--ink)}
.actcard.warn{box-shadow:inset 0 4px 0 var(--hi)}
.split{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}
.split>.grow2{flex:999 1 560px;min-width:0}
.split>.grow1{flex:1 1 320px;min-width:0}

/* Pranešimas */
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px;font-weight:600;max-width:90vw;z-index:10;display:flex;gap:12px;align-items:center}
.toastbtn{background:transparent;border:1px solid currentColor;color:inherit;border-radius:6px;padding:4px 10px;font:700 .9rem var(--body);cursor:pointer}
.printonly{display:none}

@media (max-width:820px){
  .phero,.phero.has-aside{grid-template-columns:1fr}
  .nextev{position:static}
  .dash{grid-template-columns:1fr}
}
@media (max-width:700px){
  .tiles,.tiles.five{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid2{grid-template-columns:1fr}
  .next{grid-template-columns:1fr}
  .btn,.btn.sm{min-height:44px;font-size:1rem}
  .ev{grid-template-columns:54px minmax(0,1fr);gap:6px 12px;padding:12px}
  .db,.ticket .db{width:54px} .db .dd{font-size:1.4rem}
  .nextev-b,.ticket-b{grid-template-columns:54px minmax(0,1fr)}
  .today::before{width:54px}
  .eva{grid-column:2;align-items:flex-start}
  .panel{grid-column:1 / -1}
  .rung{grid-template-columns:1fr auto} .rung .rbar,.rung .rd{grid-column:1 / -1}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{
  .topbar,.noprint,.tabs,.toast,.btn{display:none!important}
  .as-link{color:#000;text-decoration:none}
  .printonly{display:block}
  body{background:#fff;color:#000} .card,.tile,.ev{break-inside:avoid;border-color:#ccc}
  .wrap{max-width:none;padding:0}
}
