*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 var(--font-body)}
a{color:var(--accent)}
.sr{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* barra alta */
.top{display:flex;gap:.8rem;align-items:center;padding:.55rem 1rem;border-bottom:1px solid var(--line);background:var(--card);position:sticky;top:0;z-index:5}
.brand{font-weight:800;color:var(--accent);text-decoration:none;font-size:1.1rem}
.grow{flex:1}.who{color:var(--muted)}.toplink{text-decoration:none}
.menu-btn{display:none;font-size:1.4rem;cursor:pointer;padding:0 .3rem}
.switch select{max-width:16rem}
/* guscio */
.shell{display:flex;align-items:flex-start;max-width:90rem;margin:0 auto}
.side{width:15rem;flex:none;padding:1rem .8rem;position:sticky;top:3rem;max-height:calc(100vh - 3rem);overflow:auto}
.side h2{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:1rem .5rem .3rem}
.side ul{list-style:none;margin:0;padding:0}
.side a{display:block;padding:.35rem .6rem;border-radius:.4rem;text-decoration:none;color:var(--fg)}
.side a:hover{background:var(--soft)}.side a.on{background:var(--accent);color:var(--accent-fg);font-weight:600}
main{flex:1;min-width:0;padding:1rem 1.2rem 4rem}
@media (max-width:52rem){
  .menu-btn{display:block}.who{display:none}
  .shell{display:block}.side{display:none;position:static;width:auto;max-height:none;background:var(--card);border-bottom:1px solid var(--line)}
  #navtoggle:checked ~ .shell .side{display:block}
  main{padding:1rem}
}
h1{font-size:1.5rem;margin:.2rem 0 1rem;line-height:1.25}h2{font-size:1.15rem;margin:1.6rem 0 .6rem}h3{font-size:1rem;margin:1rem 0 .4rem}
.sub{color:var(--muted);margin:-.6rem 0 1rem}.muted{color:var(--muted)}.small{font-size:.85rem}
/* messaggi */
.notice,.errors{padding:.6rem .9rem;border-radius:.5rem;margin:.5rem 0 1rem;border:1px solid var(--line);background:var(--card)}
.notice{border-color:var(--ok)}.errors{border-color:var(--err);color:var(--err);list-style:none}
.alert{padding:.7rem 1rem;border-radius:.5rem;margin:.7rem 0;border:1px solid var(--line);background:var(--card)}
.alert.warn{border-color:var(--warn)}.alert.err{border-color:var(--err);color:var(--err)}.alert.ok{border-color:var(--ok)}.alert.info{border-color:var(--info)}
/* schede e griglie */
.card{background:var(--card);border:1px solid var(--line);border-radius:.7rem;padding:1rem;margin:0 0 1rem}
.card h2:first-child,.card h3:first-child{margin-top:0}
.grid{display:grid;gap:1rem}.g2{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}.g4{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}
.stat{background:var(--card);border:1px solid var(--line);border-radius:.7rem;padding:.8rem 1rem}
.stat b{display:block;font-size:1.7rem;line-height:1.2}.stat span{color:var(--muted);font-size:.85rem}
.row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.row.end{justify-content:flex-end}
.bar{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:0 0 1rem}
/* tabelle */
.tbl-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:.7rem}
table{width:100%;border-collapse:collapse}
th,td{padding:.5rem .7rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--soft)}
tr:last-child td{border-bottom:0}
td.num,th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
tr.click:hover{background:var(--soft)}
/* badge di stato */
.badge{display:inline-block;padding:.05rem .55rem;border-radius:2rem;font-size:.78rem;font-weight:600;border:1px solid var(--line);background:var(--soft);white-space:nowrap}
.badge.pending,.badge.draft,.badge.held{border-color:var(--warn);color:var(--warn)}
.badge.confirmed,.badge.on_sale,.badge.available,.badge.ok{border-color:var(--info);color:var(--info)}
.badge.paid,.badge.collected,.badge.completed{border-color:var(--ok);color:var(--ok)}
.badge.cancelled,.badge.expired,.badge.refunded,.badge.dead,.badge.err,.badge.sales_closed{border-color:var(--err);color:var(--err)}
/* moduli */
label{display:block;margin:.7rem 0 .2rem;font-weight:600;font-size:.9rem}
label.inline{display:inline-flex;gap:.4rem;align-items:center;font-weight:400;margin:.2rem 0}
input:not([type=checkbox]):not([type=radio]),select,textarea{font:inherit;padding:.5rem .6rem;border:1px solid var(--line);border-radius:.45rem;background:var(--card);color:var(--fg);width:100%;max-width:100%;min-height:38px}
input[type=checkbox],input[type=radio]{width:1rem;height:1rem}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:0}
textarea{min-height:5rem}
.hint{color:var(--muted);font-size:.85rem;margin:.2rem 0 0}
.fields{display:grid;gap:0 1rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}
button,.btn{font:inherit;font-weight:600;padding:.5rem 1rem;min-height:38px;border-radius:.45rem;border:1px solid var(--accent);background:var(--accent);color:var(--accent-fg);cursor:pointer;text-decoration:none;display:inline-block;line-height:1.4}
button.sec,.btn.sec{background:transparent;color:var(--accent)}
button.danger{background:transparent;border-color:var(--err);color:var(--err)}
button.small,.btn.small{padding:.2rem .6rem;min-height:30px;font-size:.85rem;font-weight:500}
button:disabled{opacity:.45;cursor:not-allowed}
button.link{background:none;border:0;padding:0;min-height:0;color:var(--accent);font-weight:500;text-decoration:underline}
form.inline{display:inline}
code,.mono{font-family:ui-monospace,Menlo,monospace;font-size:.88em}
.code{font-family:ui-monospace,Menlo,monospace;font-weight:700}
dl.kv{display:grid;grid-template-columns:max-content 1fr;gap:.3rem 1rem;margin:0}dl.kv dt{color:var(--muted)}dl.kv dd{margin:0}
.tabs{display:flex;gap:.3rem;flex-wrap:wrap;margin:0 0 1rem}.tabs a{padding:.3rem .8rem;border-radius:2rem;border:1px solid var(--line);text-decoration:none;color:var(--fg)}.tabs a.on{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}
/* mappe */
.seatmap{width:100%;height:auto;max-height:70vh;border:1px solid var(--line);background:var(--card);border-radius:.6rem}
.seat{fill:var(--accent)}.seat-off,.seat-disabled{fill:var(--line)}.seat-wc{fill:#3b6fb6}.seat-held{fill:#d9a400}.seat-booked{fill:var(--err)}.seat-available,.seat-ok{fill:var(--ok)}.seat-collected{fill:#555}
.map-scroll{overflow:auto;border:1px solid var(--line);border-radius:.6rem;background:var(--card);max-height:70vh}
.legend{display:flex;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.85rem;margin:.5rem 0}.legend i{display:inline-block;width:.8rem;height:.8rem;border-radius:50%;margin-right:.3rem;vertical-align:-.1rem}
/* grafici a barre */
.bars{display:grid;gap:.35rem}.bars .b{display:grid;grid-template-columns:7rem 1fr 4rem;align-items:center;gap:.6rem;font-size:.9rem}
.bars .t{height:.8rem;background:var(--soft);border-radius:.4rem;overflow:hidden}.bars .f{height:100%;background:var(--accent)}
/* check-in */
.result{padding:1rem;margin:1rem 0;border-radius:.5rem;font-weight:600;border:2px solid var(--line)}
.result-ok{border-color:#2e7d32;background:rgba(46,125,50,.15)}.result-warn{border-color:#d9a400;background:rgba(217,164,0,.15)}.result-bad{border-color:var(--err);background:rgba(163,32,32,.15)}
#video{width:100%;max-height:50vh}
/* accesso */
.auth{max-width:26rem;margin:2.5rem auto}

.legend i.seat-available,.legend i.seat-ok{background:var(--ok)}.legend i.seat-held{background:#d9a400}.legend i.seat-booked{background:var(--err)}.legend i.seat-off,.legend i.seat-disabled{background:var(--line)}.legend i.seat-wc{background:#3b6fb6}
.chips code{display:inline-block;margin:.1rem .2rem;padding:.05rem .4rem;background:var(--soft);border-radius:.3rem}
details summary{cursor:pointer;color:var(--accent);font-weight:600}
pre{white-space:pre-wrap;word-break:break-word}
.seatmap.placing{cursor:crosshair}#editmap circle[data-id]{cursor:pointer}.toolbar select{width:auto}

/* Identità: titoli in serif, marchio nella barra, controlli tondi */
.top{gap:1rem}.top .logo{margin-right:.5rem}.theme-toggle{margin-right:.2rem}
h1{font-size:1.75rem}h2{font-size:1.3rem}.side h2{font-family:var(--font-body);font-weight:700}
.badge{font-family:var(--font-body)}
.card,.tbl-wrap,.stat{box-shadow:var(--shadow)}
.auth{max-width:27rem}.auth h1{font-size:2rem}
.btn.sec:hover,button.sec:hover{background:var(--accent-soft)}
button:not(.sec):not(.link):not(.danger):not(.theme-toggle):hover,.btn:not(.sec):hover{filter:brightness(1.06)}
.stat b{font-family:var(--font-display);font-weight:650}

/* ===== Rilievo e movimento dell'area staff ===== */
.top{background:var(--glass);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--glass-line);box-shadow:0 1px 0 rgba(255,255,255,.04),0 8px 24px -16px rgba(31,27,46,.25)}
.top .switch select{border-radius:999px;padding-inline:.9rem}
.toplink{color:var(--fg);padding:.3rem .7rem;border-radius:999px;transition:background .15s}.toplink:hover{background:var(--soft)}
.toplink.who{color:var(--muted)}
main{animation:page-in .45s cubic-bezier(.2,.8,.2,1) both}
@keyframes page-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.side a{position:relative;transition:background .15s,transform .15s,color .15s}
.side a:hover{transform:translateX(2px)}
.side a.on{background:var(--grad-accent);box-shadow:0 6px 16px -6px var(--accent),inset 0 1px 0 rgba(255,255,255,.25);color:var(--accent-fg)}

.card,.stat,.tbl-wrap{background:linear-gradient(180deg,var(--card),color-mix(in srgb,var(--card) 92%,var(--soft)));border:1px solid var(--glass-line);border-radius:1rem;box-shadow:var(--elev)}
.card{padding:1.2rem 1.3rem}
.grid>form.card,.grid>.card,.stat{transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s}
.grid>form.card:hover,.grid>.card:hover,.stat:hover{transform:translateY(-3px)}
.stat b{background:linear-gradient(180deg,var(--fg),color-mix(in srgb,var(--fg) 60%,var(--accent)));-webkit-background-clip:text;background-clip:text;color:transparent}
thead th{background:transparent;border-bottom:1px solid var(--line)}
tbody tr{transition:background .12s}tbody tr:hover{background:color-mix(in srgb,var(--soft) 60%,transparent)}

input:not([type=checkbox]):not([type=radio]),select,textarea{background:color-mix(in srgb,var(--card) 70%,var(--bg));border:1px solid var(--line);border-radius:.7rem;box-shadow:inset 0 1px 2px rgba(31,27,46,.07);transition:border-color .15s,box-shadow .15s,background .15s}
input:not([type=checkbox]):not([type=radio]):hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring);background:var(--card)}

button,.btn{border-radius:999px;border:1px solid transparent;background:var(--grad-accent);color:var(--accent-fg);padding:.55rem 1.2rem;box-shadow:0 1px 1px rgba(0,0,0,.12),0 6px 14px -6px var(--accent),inset 0 1px 0 rgba(255,255,255,.28);transition:transform .15s cubic-bezier(.2,.8,.2,1),box-shadow .15s,filter .15s,background .15s}
button:hover,.btn:hover{transform:translateY(-1px);box-shadow:0 1px 1px rgba(0,0,0,.12),0 10px 20px -6px var(--accent),inset 0 1px 0 rgba(255,255,255,.3)}
button:active,.btn:active{transform:translateY(1px) scale(.98);box-shadow:0 1px 1px rgba(0,0,0,.12),inset 0 2px 4px rgba(0,0,0,.18)}
button.sec,.btn.sec{background:transparent;border-color:color-mix(in srgb,var(--accent) 55%,transparent);color:var(--accent);box-shadow:none}
button.sec:hover,.btn.sec:hover{background:var(--accent-soft);box-shadow:none}
button.danger{background:transparent;border-color:var(--err);color:var(--err);box-shadow:none}
button.link,.theme-toggle{background:none;box-shadow:none;border-color:transparent}
button.link{color:var(--accent);padding:.3rem .6rem}button.link:hover{transform:none;background:var(--soft);box-shadow:none}
.theme-toggle{border:1px solid var(--line);color:var(--fg)}.theme-toggle:hover{background:var(--soft);transform:rotate(18deg);box-shadow:none}
.menu-btn{border-radius:.6rem}
.notice,.errors,.alert{border-radius:.9rem;box-shadow:var(--elev);backdrop-filter:blur(8px)}
.badge{box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.tabs a{transition:background .15s,transform .15s}.tabs a:hover{background:var(--soft);transform:translateY(-1px)}
.tabs a.on{background:var(--grad-accent);box-shadow:0 6px 14px -6px var(--accent)}

/* Accesso: scheda in vetro sotto un arco di posti che si accende dal palco */
body.adm:not(:has(.side)) main{display:grid;align-content:center;min-height:calc(100vh - 3.5rem)}
.auth{position:relative;margin:1rem auto 3rem;padding:2rem 1.8rem 1.6rem;background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);border:1px solid var(--glass-line);border-radius:1.4rem;box-shadow:0 30px 60px -28px rgba(31,27,46,.45),var(--elev)}
.auth-art{display:block;width:100%;max-width:15rem;height:auto;margin:-.2rem auto 1rem;overflow:visible}
.auth-art .s{fill:var(--fg);transform-box:fill-box;transform-origin:center;animation:seat-in .55s cubic-bezier(.2,.9,.25,1) both}
.auth-art .s.hot{fill:var(--accent);animation:seat-in .55s cubic-bezier(.2,.9,.25,1) both,seat-pulse 3.2s ease-in-out 1.4s infinite}
.auth-art .stage{fill:var(--stage)}
.auth h1{text-align:center;margin-bottom:.2rem}.auth .sub{text-align:center;margin:0 0 1rem}
.auth form button[type=submit]{width:100%;min-height:46px}
.auth p:last-child{text-align:center;margin-bottom:0}
@keyframes seat-in{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}
@keyframes seat-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.22)}}
.auth-art .s:nth-child(1){animation-delay:0ms}.auth-art .s:nth-child(2){animation-delay:45ms}.auth-art .s:nth-child(3){animation-delay:90ms}.auth-art .s:nth-child(4){animation-delay:135ms}.auth-art .s:nth-child(5){animation-delay:180ms}.auth-art .s:nth-child(6){animation-delay:225ms}.auth-art .s:nth-child(7){animation-delay:270ms}.auth-art .s:nth-child(8){animation-delay:315ms}.auth-art .s:nth-child(9){animation-delay:360ms}.auth-art .s:nth-child(10){animation-delay:405ms}.auth-art .s:nth-child(11){animation-delay:450ms}.auth-art .s:nth-child(12){animation-delay:495ms}.auth-art .s:nth-child(13){animation-delay:540ms}.auth-art .s:nth-child(14){animation-delay:585ms}.auth-art .s:nth-child(15){animation-delay:630ms}.auth-art .s:nth-child(16){animation-delay:675ms}.auth-art .s.hot{animation-delay:720ms,1.6s}

/* Super Admin: organizzazioni, contesto e inviti */
.orgs{align-items:start}
.org-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.6rem}.org-head h2{margin:0}.org-head p{margin:.1rem 0 0}
.org.is-acting{outline:2px solid var(--accent);outline-offset:-2px}
.org details{margin-top:.8rem;border-top:1px solid var(--line);padding-top:.7rem}
.adm-line{display:flex;justify-content:space-between;gap:.6rem;align-items:center;padding:.15rem 0}
.acting{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.6rem 1rem;margin:0 0 1rem;border-radius:999px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}
.acting form{margin:0}
.invite{padding:1.1rem 1.3rem;margin:0 0 1.2rem;border-radius:1rem;border:1px solid var(--ok);background:linear-gradient(180deg,var(--card),color-mix(in srgb,var(--ok) 8%,var(--card)));box-shadow:var(--elev)}
.invite h2{margin:0 0 .2rem}.invite p{margin:.2rem 0}
.invite-link{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin-top:.6rem}
.invite-link code{flex:1;min-width:14rem;padding:.55rem .8rem;border-radius:.7rem;background:var(--soft);word-break:break-all}
.wrap{word-break:break-all}
.range{gap:.4rem}.range input{width:auto}
.presets{margin:.4rem 0 .8rem}

/* Panoramica */
.hello h1{font-size:clamp(1.8rem,4vw,2.6rem);margin:.1rem 0 .2rem}.hello .sub{margin:0 0 1.4rem}
.checklist .cl-head{display:flex;justify-content:space-between;gap:1.2rem;align-items:center;flex-wrap:wrap}.checklist h2{margin:0}.checklist p{margin:.1rem 0 0}
.cl-bar{flex:1;min-width:8rem;max-width:16rem;height:8px;border-radius:8px;background:var(--line);overflow:hidden}
.cl-bar i{display:block;height:100%;width:0;background:var(--grad-accent);transition:width 1s cubic-bezier(.2,.8,.2,1) .2s}
.cl-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.5rem}
.cl-list li{display:flex;align-items:center;gap:.8rem;padding:.55rem .8rem;border-radius:.8rem;background:color-mix(in srgb,var(--soft) 55%,transparent);animation:page-in .5s both}
.cl-list li:nth-child(2){animation-delay:.05s}.cl-list li:nth-child(3){animation-delay:.1s}.cl-list li:nth-child(4){animation-delay:.15s}.cl-list li:nth-child(5){animation-delay:.2s}.cl-list li:nth-child(6){animation-delay:.25s}
.cl-list a{color:var(--fg);text-decoration:none;font-weight:600;flex:1}.cl-list a:hover{color:var(--accent)}
.cl-dot{flex:none;width:1.3rem;height:1.3rem;border-radius:50%;border:2px solid var(--line);position:relative}
.cl-list li.ok .cl-dot{background:var(--ok);border-color:var(--ok)}.cl-list li.ok .cl-dot::after{content:"";position:absolute;left:.38rem;top:.14rem;width:.32rem;height:.6rem;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.cl-list li.ok a{color:var(--muted);font-weight:500;text-decoration:line-through}
.empty{text-align:center;padding:2.4rem 1.4rem}
.ev{display:grid;gap:.6rem;justify-items:start}.ev h2{margin:0}.ev .badge{justify-self:start}
.howto ol{margin:.6rem 0;padding-left:1.2rem;display:grid;gap:.4rem}
.danger-zone{border-color:color-mix(in srgb,var(--err) 40%,var(--line))!important}.danger-zone summary{color:var(--err)}
.org .danger-zone{border:0;padding-top:.7rem}

/* Pagina pubblica: scelta dei colori */
.swatches{display:flex;flex-wrap:wrap;gap:.6rem;margin:.6rem 0 1rem}
.swatch{display:flex;align-items:center;gap:.55rem;margin:0;padding:.5rem .9rem .5rem .6rem;border-radius:999px;border:1.5px solid var(--line);background:var(--card);cursor:pointer;font-weight:600;transition:border-color .15s,box-shadow .15s}
.swatch input{position:absolute;opacity:0;pointer-events:none}.swatch:has(input:checked){border-color:var(--accent);box-shadow:var(--ring)}
.swatch .dot{width:1.3rem;height:1.3rem;border-radius:50%;background:var(--sw,#999);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.sw-terracotta{--sw:#B3452B}.sw-ocean{--sw:#1F5FA8}.sw-forest{--sw:#2F6F5E}.sw-violet{--sw:#6B46C1}.sw-ink{--sw:#1F1B2E}.sw-custom .dot{background:conic-gradient(#e44,#ea4,#4c4,#4ae,#a4e,#e44)}
.pgform input[type=color]{width:5rem;padding:.2rem;min-height:42px}

/* ===== Smartphone e tablet ===== */
@media (max-width:52rem){
  .top{flex-wrap:wrap;gap:.4rem .7rem;padding:.5rem .9rem}
  .switch{order:9;flex:1 1 100%}.switch select{max-width:none;width:100%}
  .side{padding:.6rem .9rem 1rem}
  .side a{padding:.6rem .7rem}
  main{padding:1rem .9rem 4rem}
}
@media (max-width:40rem){
  .top .logo .wordmark{font-size:1.25rem}
  h1{font-size:1.5rem}.hello h1{font-size:1.8rem}
  .bar{align-items:flex-start}.bar>.row,.bar>form,.bar>.btn{width:100%}.bar>.btn{justify-content:center;text-align:center}
  .bar .row .btn,.bar .row button{flex:1;text-align:center}
  .card{padding:1rem}
  .stat b{font-size:1.45rem}
  dl.kv{grid-template-columns:1fr;gap:.1rem}dl.kv dd{margin-bottom:.5rem}
  .tbl-wrap th,.tbl-wrap td{padding:.45rem .55rem;font-size:.9rem}
  .fields{grid-template-columns:1fr}
  .org-head{flex-wrap:wrap}.org-head form{width:100%}.org-head button{width:100%}
  .adm-line{flex-wrap:wrap}
  .acting{border-radius:1rem}
  .invite-link code{min-width:0;width:100%}
  .range{width:100%}.range input{flex:1}
  .tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.3rem}.tabs a{white-space:nowrap}
  .swatches{gap:.4rem}.swatch{padding:.4rem .7rem .4rem .5rem}
  .cl-head{align-items:flex-start}.cl-bar{max-width:none;width:100%;flex:1 1 100%}
  .bars .b{grid-template-columns:5.2rem 1fr 3rem}
  .auth{margin:.5rem auto 2rem;padding:1.5rem 1.2rem}
}
/* Il tocco vuole bersagli da almeno 44 px */
@media (pointer:coarse){
  button,.btn,input:not([type=checkbox]):not([type=radio]),select{min-height:44px}
  button.small,.btn.small,button.link{min-height:40px}
  button.link{padding:.5rem .6rem}
  input[type=checkbox],input[type=radio]{width:1.3rem;height:1.3rem}
  .menu-btn{padding:.5rem .7rem;font-size:1.6rem}
  label.inline{min-height:44px}
  details>summary{padding:.5rem 0}
}
.tbl-wrap{-webkit-overflow-scrolling:touch}
@media (pointer:coarse){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}}
@media (max-width:30rem){.top .logo .wordmark{display:none}.top{gap:.4rem .5rem}}
