:root{
  --bg:#0b1412;--panel:#111f1b;--panel2:#0e1a17;--border:#1d332e;
  --text:#e8f0ec;--muted:#7ab0a0;--muted2:#4d7568;
  --accent:#2ab5a0;--accent2:#1d6fa8;--danger:#e0574f;--gold:#f4c430;--cash:#3d9a5f;
  --radius:12px;
}
*{box-sizing:border-box;}
html,body{height:100%;}
body{
  margin:0;font-family:'Barlow',system-ui,sans-serif;
  background:var(--bg);color:var(--text);line-height:1.4;
  -webkit-tap-highlight-color:transparent;
}
.admin-wm{
  position:fixed;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;
  pointer-events:none;padding:1.5rem;box-sizing:border-box;
}
.admin-wm img{
  width:min(78vh,34rem);height:auto;max-height:82vh;object-fit:contain;opacity:.18;
}
.topbar,.flash,.container{position:relative;z-index:1;}
a{color:var(--accent);text-decoration:none;}
button,input,select{font:inherit;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  border:1px solid var(--border);background:var(--panel);color:var(--text);
  border-radius:10px;padding:.55rem .9rem;font-weight:700;cursor:pointer;
  min-height:44px;touch-action:manipulation;
}
.btn:hover{border-color:var(--accent);}
.btn-primary{background:var(--accent);border-color:var(--accent);color:#07110e;}
.btn-sm{min-height:36px;padding:.3rem .65rem;font-size:.85rem;}
.btn-full{width:100%;}
.btn-cash{background:var(--cash);border-color:var(--cash);color:#06140c;flex:1;}
.btn-pin{background:var(--accent2);border-color:var(--accent2);color:#fff;flex:1.2;}
.btn-ghost{background:transparent;}
.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff;}
.flash{margin:0.8rem 1.25rem;padding:.7rem 1rem;border-radius:10px;background:#1a2c27;}
.flash.error,.flash.danger{background:#3a1c1a;color:#ffc4c0;}
.flash.ok{background:#163226;color:#b7f0d4;}
.muted{color:var(--muted2);}
.hidden{display:none!important;}

.login-page{
  display:flex;align-items:center;justify-content:center;min-height:100%;padding:1rem;
  overflow:hidden;overscroll-behavior:none;touch-action:manipulation;
}
.login-card{
  width:min(420px,92vw);background:var(--panel);border:1px solid var(--border);
  border-radius:16px;padding:2rem 1.6rem;
}
.login-card h1{margin:.15rem 0 1.2rem;font-size:2rem;}
.login-card .kicker{margin:0;color:var(--accent);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;}
.login-card .help{color:var(--muted2);font-size:.9rem;margin:1rem 0 0;}
.login-card label{display:block;font-weight:600;color:var(--muted);margin:0.7rem 0 .3rem;}
.login-card input{
  width:100%;background:var(--bg);color:var(--text);border:1px solid var(--border);
  border-radius:10px;padding:.7rem .8rem;
}

.topbar{
  display:flex;align-items:center;gap:.8rem;padding:.7rem 1.1rem;
  background:var(--panel2);border-bottom:1px solid var(--border);
}
.topbar a{font-weight:700;color:var(--muted);}
.topbar .spacer{flex:1;}
.brand{display:flex;align-items:center;gap:.5rem;font-weight:800;color:var(--text)!important;}
.brand .dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);}
.container{max-width:1080px;margin:1.2rem auto;padding:0 1.1rem 2rem;}
.container h1{margin:.2rem 0 1rem;}
.admin-page-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;margin-bottom:.4rem;}
.admin-page-head h1{margin:.2rem 0;}
.admin-actions{display:flex;gap:.5rem;flex:0 0 auto;}
.print-banner,.print-only-table{display:none;}
.container h2{color:var(--muted);font-size:1.1rem;}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin:1rem 0;}
.card{background:color-mix(in srgb, var(--panel) 88%, transparent);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;}
.card .label{color:var(--muted2);font-weight:700;}
.stat{font-size:1.8rem;font-weight:800;color:var(--accent);}
.split{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.split label,.day-form label,.card label{display:block;margin:.5rem 0;font-weight:600;}
.split input,.split select,.day-form input,.card input{
  width:100%;margin-top:.25rem;background:var(--bg);color:var(--text);
  border:1px solid var(--border);border-radius:8px;padding:.45rem .6rem;
}
.check{display:flex;align-items:center;gap:.5rem;}
.check input{width:auto;}
.day-form{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem;}
.day-form .day-picker{margin:0;}
.day-form .day-picker input{width:auto;min-width:12.5rem;}
.day-nav{flex:0 0 auto;min-width:8.5rem;}
.day-nav.is-disabled,.btn.is-disabled{opacity:.4;pointer-events:none;cursor:default;}
.day-heading{margin:-.4rem 0 1rem;color:var(--muted);font-weight:700;}
.day-cal{position:relative;}
.day-cal-toggle{min-width:9.5rem;}
.day-cal-pop{
  position:absolute;top:calc(100% + .4rem);left:0;z-index:40;
  width:17.5rem;padding:.7rem .75rem .55rem;
  background:var(--panel);border:1px solid var(--border);border-radius:12px;
  box-shadow:0 12px 28px rgba(0,0,0,.35);
}
.day-cal-head{display:flex;align-items:center;gap:.35rem;margin-bottom:.45rem;}
.day-cal-month{flex:1;text-align:center;font-weight:800;text-transform:capitalize;}
.day-cal-prev,.day-cal-next{min-width:2.2rem;padding:.15rem .4rem;}
.day-cal-prev:disabled,.day-cal-next:disabled{opacity:.35;cursor:default;}
.day-cal-weekdays,.day-cal-grid{
  display:grid;grid-template-columns:repeat(7,1fr);gap:.18rem;text-align:center;
}
.day-cal-weekdays{margin-bottom:.25rem;color:var(--muted2);font-size:.72rem;font-weight:700;text-transform:uppercase;}
.day-cal-cell{
  display:flex;align-items:center;justify-content:center;
  min-height:2rem;border-radius:8px;font-weight:700;color:var(--text);
}
.day-cal-cell.has-sale{
  background:var(--bg);border:1px solid var(--border);color:var(--accent);
}
.day-cal-cell.has-sale:hover{border-color:var(--accent);background:#163226;}
.day-cal-cell.is-current{background:var(--accent);border-color:var(--accent);color:#07110e;}
.day-cal-cell.is-disabled{color:var(--muted2);opacity:.4;}
.day-cal-cell.is-today:not(.has-sale){box-shadow:inset 0 0 0 1px var(--muted2);}
.day-cal-cell.is-pad{visibility:hidden;}
.day-cal-hint{margin:.45rem 0 0;font-size:.78rem;text-align:center;}
table{width:100%;border-collapse:collapse;background:color-mix(in srgb, var(--panel) 86%, transparent);border-radius:10px;overflow:hidden;}
th,td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--border);vertical-align:top;}
th{color:var(--muted);font-size:.85rem;}
.log-table td.details{font-size:.85rem;word-break:break-word;max-width:36rem;}
.log-table td.details .muted{margin-right:.35rem;}
.inline-edit{margin:0;}

.kassa-page{
  height:100%;overflow:hidden;overscroll-behavior:none;touch-action:manipulation;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:#2a2a2a;color:#111;
}
.kassa-page a{color:#111;}
.kassa-page .btn{
  background:#fff;color:#111;border:1px solid #d0d0d0;border-radius:4px;
}
.kassa-page .btn:hover{border-color:#888;}
.kassa-page .btn-primary{background:#F5D000;border-color:#F5D000;color:#111;}
.kassa-page .btn-danger{background:#e0574f;border-color:#e0574f;color:#fff;}
.kassa-page .btn-ghost{background:#fff;color:#111;}
.pi-bezel{
  display:flex;flex-direction:column;align-items:center;gap:.55rem;
}
.pi-label{
  margin:0;color:#9a9a9a;font-size:.78rem;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;
}
.pi-frame{
  width:1280px;height:800px;max-width:100vw;max-height:100vh;
  background:#3a3a3a;color:#111;
  display:flex;flex-direction:column;position:relative;
  border:1px solid #222;border-radius:6px;overflow:hidden;
  box-shadow:0 18px 50px rgba(0,0,0,.45);
}
body.kiosk-fill{background:#3a3a3a;}
body.kiosk-fill .pi-bezel{width:100%;height:100%;gap:0;}
body.kiosk-fill .pi-label{display:none;}
body.kiosk-fill .pi-frame{
  width:100%;height:100%;max-width:none;max-height:none;
  border:0;border-radius:0;box-shadow:none;
}
.kassa-top{
  display:flex;align-items:center;gap:.55rem;padding:.35rem .55rem;
  background:#fff;border-bottom:1px solid #d8d8d8;flex:0 0 auto;
  position:relative;z-index:70;color:#111;
}
.kassa-page .brand{color:#111!important;font-size:1.05rem;}
.logo-sq{
  width:18px;height:18px;border-radius:3px;background:#F08C3C;display:inline-block;
  box-shadow:none;
}
.kassa-page .brand .logo-sq{flex:0 0 auto;}
.kassa-top .btn-sm{min-height:32px;padding:.2rem .5rem;font-size:.8rem;}
.kassa-meta{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;margin-left:.2rem;}
.kassa-club{font-size:.72rem;font-weight:800;color:#666;text-transform:uppercase;letter-spacing:.04em;}
.kassa-clock{margin-left:0;font-weight:800;font-variant-numeric:tabular-nums;color:#111;font-size:1.05rem;}
.kassa-page .btn-help{
  background:#F5D000;border-color:#F5D000;color:#111;
}
.kassa-page .btn-help.active,.kassa-page .btn-help[aria-pressed="true"]{
  background:#111;color:#F5D000;border-color:#111;
}
body.help-pick .pi-frame{box-shadow:inset 0 0 0 3px #F5D000;}
.help-banner{
  flex:0 0 auto;background:#F5D000;color:#111;font-weight:800;text-align:center;
  padding:.35rem .7rem;font-size:.95rem;position:relative;z-index:70;
}
.help-overlay{
  position:absolute;inset:0;background:rgba(20,20,20,.55);
  display:flex;align-items:center;justify-content:center;padding:1rem;z-index:60;
}
.bar-duty{
  display:flex;align-items:center;justify-content:center;gap:.7rem;
  padding:0;flex:1;min-width:0;background:transparent;border:0;
}
.bar-duty.closed .bar-duty-kicker{color:#c0392b;}
.bar-duty-copy{display:flex;flex-direction:column;min-width:0;}
.bar-duty-kicker{
  font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:#c0392b;
}
.bar-duty-when{font-weight:700;color:#333;white-space:nowrap;font-size:.82rem;}
.bar-duty-hint{display:none;}
.bar-duty-people{display:flex;align-items:center;gap:.4rem;}
.bar-duty-and{font-weight:800;color:#333;font-size:1rem;}
.bar-person{
  font-family:'Barlow Condensed',sans-serif;font-size:1.2rem;font-weight:800;
  min-width:108px;min-height:36px;padding:.1rem .7rem;white-space:nowrap;
  border:0;border-radius:4px;background:#F5D000;color:#111;cursor:pointer;
}
.bar-person.empty{background:#eee;color:#888;border:1px dashed #bbb;}
.choose-who{display:flex;gap:.7rem;margin:1rem 0;}
.choose-who button{
  flex:1;min-height:88px;font-family:'Barlow Condensed',sans-serif;
  font-size:2rem;font-weight:800;border:0;border-radius:8px;
  background:#F5D000;color:#111;cursor:pointer;
}
.tab-strip{
  display:flex;align-items:center;gap:.35rem;padding:.3rem .4rem;
  border-bottom:1px solid #2a2a2a;background:#4a4a4a;flex:0 0 auto;min-height:0;
}
.tab-list{display:flex;gap:.3rem;overflow-x:auto;flex:1;min-width:0;}
.tab-chip,.tab-new{
  border:0;background:#fff;color:#111;
  border-radius:4px;padding:.22rem .65rem;font-weight:800;white-space:nowrap;
  min-height:40px;cursor:pointer;
  display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;
}
.tab-chip .who{line-height:1.1;}
.tab-chip .amt{font-size:.72rem;font-weight:700;opacity:.75;margin-top:.05rem;}
.tab-chip.active{background:#F5D000;color:#111;}
.tab-chip.pin{opacity:.7;}
.tab-new,#btnWalkup{flex-direction:row;align-items:center;border-radius:4px;}
#btnWalkup{flex:0 0 auto;background:#2BB8B0;color:#111;}
#btnWalkup.active{background:#F5D000;}
.tab-new{background:#fff;color:#111;border:1px dashed #ccc;}
.kassa-layout{
  flex:1;min-height:0;display:grid;grid-template-columns:300px 1fr;
}
.kassa-shop{min-width:0;min-height:0;background:#3a3a3a;overflow:hidden;}
.cat-board{
  display:flex;flex-direction:row;align-items:stretch;gap:8px;
  height:100%;padding:8px;overflow-x:auto;overflow-y:hidden;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
}
.cat-col{
  flex:0 0 188px;width:188px;min-width:188px;height:100%;min-height:0;
  display:flex;flex-direction:column;background:#2a2a2a;border-radius:4px;overflow:hidden;
}
.cat-col-head{
  flex:0 0 auto;border:0;border-radius:0;padding:.45rem .4rem;cursor:default;
  font-weight:800;text-align:center;color:#111;font-size:.88rem;line-height:1.15;
  font-family:'Barlow Condensed',sans-serif;appearance:none;-webkit-appearance:none;
}
.cat-col-items{
  flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;
  display:flex;flex-direction:column;gap:6px;padding:6px;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
}
.cat-board::-webkit-scrollbar{height:10px;}
.cat-col-items::-webkit-scrollbar{width:8px;}
.cat-board::-webkit-scrollbar-thumb,.cat-col-items::-webkit-scrollbar-thumb{
  background:#7a7a7a;border-radius:6px;
}
.product{
  background:#c8c8c8;border:0;border-radius:4px;flex:0 0 auto;
  min-height:76px;padding:.4rem .35rem;text-align:center;color:#111;cursor:pointer;
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.12rem;
  width:100%;
}
.product:active{transform:scale(.98);}
.product .name{
  font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.12rem;line-height:1.12;
}
.product .price{color:#111;font-weight:800;opacity:.72;font-size:.9rem;}
.cart{
  background:#fff;border-right:1px solid #d8d8d8;
  display:flex;flex-direction:column;min-height:0;color:#111;
  position:relative;overflow:hidden;
}
.cart-logo{
  position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);
  width:86%;height:auto;max-height:78%;object-fit:contain;
  opacity:.22;pointer-events:none;user-select:none;z-index:0;
}
.cart h2,.cart-lines,.cart-total{position:relative;z-index:1;}
.cart h2{margin:0;padding:.5rem .7rem .15rem;font-size:1.05rem;color:#333;}
.cart-lines{flex:1;overflow:auto;padding:.15rem .7rem;}
.cart-lines .empty{color:#888;text-align:center;margin-top:2rem;}
.evening + .evening{margin-top:.25rem;}
.evening-head{
  color:#e67a22;font-size:.72rem;font-weight:800;letter-spacing:.04em;
  text-transform:uppercase;padding:.4rem 0 .05rem;
}
.line{
  display:grid;grid-template-columns:1fr auto;gap:.15rem .4rem;
  padding:.35rem 0;border-bottom:1px solid #ececec;
}
.line .name{font-weight:700;}
.line .meta{color:#777;font-size:.85rem;}
.qty{
  display:flex;align-items:center;gap:.3rem;justify-self:end;
}
.qty button{
  width:32px;height:32px;border-radius:4px;border:0;
  background:#e6e6e6;color:#111;font-weight:800;cursor:pointer;
}
.cart-total{
  display:flex;justify-content:space-between;align-items:center;
  padding:.55rem .7rem;font-size:1.25rem;border-top:1px solid #d8d8d8;
  background:#f7f7f7;
}
.pay-bar{
  display:flex;gap:8px;padding:8px;background:#2f2f2f;flex:0 0 auto;
}
.pay-bar .btn{
  min-height:64px;font-size:1.15rem;background:#fff;color:#111;border:0;border-radius:4px;flex:1;
}
.pay-bar .btn-pin{flex:1.45;background:#fff;}
.pay-bar .btn-cash{flex:1;background:#fff;color:#111;}
.pay-bar .btn-till{flex:1.2;background:#1a1a1a;color:#fff;font-size:1.02rem;}
.kassa-page .pay-bar .btn-till{background:#1a1a1a;color:#fff;border:0;}
.till-row{
  display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
  padding:.55rem 0;border-bottom:1px solid #e8e8e8;font-size:1.1rem;
}
.till-row strong{font-size:1.85rem;font-weight:800;font-variant-numeric:tabular-nums;}
.till-row.till-main strong{font-size:2.15rem;}
.till-row.till-cash strong{color:#2e7d32;}
.till-row.till-pin{color:#666;}
.till-row.till-pin strong{font-size:1.35rem;color:#111;}
.till-note{margin:.85rem 0 1rem;color:#666;}

.overlay{
  position:absolute;inset:0;background:rgba(4,10,8,.82);
  display:flex;align-items:center;justify-content:center;padding:1rem;z-index:40;
}
.sheet{
  width:min(520px,100%);background:var(--panel);border:1px solid var(--border);
  border-radius:18px;padding:1.1rem;
}
.sheet h2{margin:.1rem 0 .6rem;font-size:1.45rem;}
.sheet .amount{font-size:2.2rem;font-weight:800;color:var(--accent);margin:.2rem 0 1rem;}
.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin:.6rem 0 1rem;}
.numpad button{
  min-height:54px;border-radius:12px;border:1px solid var(--border);
  background:var(--bg);color:var(--text);font-size:1.3rem;font-weight:800;cursor:pointer;
}
.sheet-actions{display:flex;gap:.5rem;}
.sheet-actions .btn{flex:1;min-height:52px;}
.pin-wait{text-align:center;padding:.5rem 0 1rem;}
.spinner{
  width:46px;height:46px;border-radius:50%;margin:0 auto .8rem;
  border:4px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg);}}
.done-ok{color:var(--accent);}
.done-bad{color:var(--danger);}
.keyboard{display:flex;flex-direction:column;gap:.3rem;margin:.7rem 0 1rem;}
.keyboard-row{display:flex;gap:.28rem;justify-content:center;}
.keyboard button{
  min-width:42px;min-height:44px;padding:.2rem .45rem;border-radius:8px;
  border:1px solid var(--border);background:var(--bg);color:var(--text);
  font-weight:800;cursor:pointer;
}
.keyboard .wide{min-width:90px;flex:1;}
.name-preview{
  min-height:2.2rem;font-size:1.6rem;font-weight:800;letter-spacing:.02em;
  border-bottom:2px solid var(--accent);margin:.2rem 0 .4rem;
}
.sheet.wide{width:min(780px,100%);}
.roster-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:.3rem;
  max-height:46vh;overflow:auto;margin:.5rem 0 .8rem;
}
.roster-grid button{
  min-height:44px;border-radius:8px;border:1px solid var(--border);
  background:var(--bg);color:var(--text);font-weight:800;cursor:pointer;
}
.roster-grid button.current{background:var(--gold);color:#1a1400;border-color:var(--gold);}
.schema-table tr.today td{background:#163226;}
.schema-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:end;}
.schema-row label{margin:0;font-size:.85rem;}
.schema-row select,.schema-row input{
  display:block;margin-top:.2rem;min-width:140px;background:var(--bg);color:var(--text);
  border:1px solid var(--border);border-radius:8px;padding:.4rem .5rem;
}
.roster-list{
  display:grid;grid-template-columns:repeat(5,1fr);gap:.2rem .8rem;
  padding:0;list-style:none;margin:0 0 2rem;
}

@media (max-width:1280px), (max-height:800px){
  .pi-label{display:none;}
  .pi-frame{
    width:100%;height:100%;border:0;border-radius:0;box-shadow:none;
  }
  body.kassa-page{background:#2a2a2a;}
}
@media (max-width:820px){
  .kassa-layout{grid-template-columns:1fr;}
  .kassa-shop{min-height:46vh;}
  .cart{border-right:0;border-top:1px solid #d8d8d8;max-height:38vh;order:2;}
  .stats,.split{grid-template-columns:1fr 1fr;}
  .cat-col{flex-basis:150px;width:150px;min-width:150px;}
}
@media (max-height:520px){
  .product{padding:.35rem;}
  .product .name{font-size:1.05rem;}
  .pay-bar .btn{min-height:48px;}
}

.kassa-page .overlay{background:rgba(20,20,20,.55);}
.kassa-page .sheet{
  background:#fff;color:#111;border:0;border-radius:8px;
}
.kassa-page .sheet .amount{color:#111;}
.kassa-page .numpad button,.kassa-page .keyboard button,.kassa-page .roster-grid button{
  background:#e9e9e9;color:#111;border:0;border-radius:4px;
}
.kassa-page .roster-grid button.current{background:#F5D000;color:#111;}
.kassa-page .name-preview{border-bottom-color:#F5D000;color:#111;}
.kassa-page .muted{color:#666;}
.cash-lines{margin:.15rem 0 .7rem;}
.cash-line{
  display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
  padding:.28rem 0;border-bottom:1px solid #ececec;font-size:1.05rem;
}
.cash-line strong{font-size:1.7rem;font-weight:800;font-variant-numeric:tabular-nums;}
.cash-line.cash-change{border-bottom:0;margin-top:.15rem;}
.cash-line.cash-change span{font-weight:800;}
.cash-line.cash-change strong{font-size:2.15rem;color:#2e7d32;}
.cash-line.cash-change.short strong{color:#c0392b;}
.kassa-page .btn-cash:disabled{opacity:.4;cursor:not-allowed;}
.cash-bills{flex-wrap:wrap;margin-bottom:.6rem;}
.cash-bills .btn{flex:1 1 28%;min-width:4.5rem;}
.kassa-page .done-ok{color:#2e7d32;}
.kassa-page .spinner{border-color:#ddd;border-top-color:#F5D000;}

.hidden-form{display:none;}
.edit-form table input[type="text"]{
  width:100%;background:var(--bg);color:var(--text);
  border:1px solid var(--border);border-radius:8px;padding:.4rem .5rem;
}
.add-form label input{min-width:8rem;}
.logo-form{display:flex;flex-direction:column;gap:.55rem;max-width:28rem;}
.logo-form input[type="range"]{width:100%;}
.logo-preview{
  width:120px;height:160px;display:flex;align-items:center;justify-content:center;
  background:#0a1210;border:1px solid var(--border);border-radius:10px;
}
.logo-preview img{max-width:88%;max-height:88%;}
.font-sample{margin:0;font-weight:800;letter-spacing:.04em;}
.cast-card{margin:1rem 0;}
.cast-row{display:flex;gap:1rem;justify-content:space-between;flex-wrap:wrap;align-items:flex-start;}
.cast-actions{display:flex;gap:.5rem;flex-wrap:wrap;}
.cast-device-head{display:flex;justify-content:space-between;gap:.8rem;margin:.8rem 0 .4rem;}
.cast-device-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem;}
.cast-device-btn{
  display:flex;align-items:center;gap:.6rem;padding:.45rem .6rem;
  border:1px solid var(--border);border-radius:10px;background:var(--bg);cursor:pointer;
}
.cast-device-text{display:flex;flex-direction:column;}
.cast-device-name{font-weight:800;}

@media print{
  @page{margin:12mm;}
  html,body{
    height:auto;background:#fff!important;color:#111!important;
  }
  .no-print,.topbar,.flash,.day-cal-pop,.admin-wm{display:none!important;}
  .print-banner{
    display:block;margin:0 0 .8rem;font-weight:800;letter-spacing:.04em;
    text-transform:uppercase;font-size:.8rem;color:#333;
  }
  .print-only-table{display:table;width:100%;}
  .container{max-width:none;margin:0;padding:0;}
  .container h1,.container h2,.day-heading,.muted,.stat,.card .label{color:#111;}
  .card{
    background:#fff;border:1px solid #ccc;break-inside:avoid;
  }
  table{background:#fff;border:1px solid #ccc;}
  th,td{border-bottom:1px solid #ddd;color:#111;}
  a{color:#111;text-decoration:none;}
  .stats{break-inside:avoid;}
  .roster-list{color:#111;}
}
