:root{
  --bg:#0b0b0c;
  --panel:#121216;
  --panel2:#16161c;
  --text:#f2f2f3;
  --muted:#b7b7c0;
  --line:rgba(242,226,0,.22);
  --accent:#f2e200;
  --accent2:#ffd500;
  --danger:#ff4d4d;
  --ok:#38d87a;
  --shadow: 0 10px 30px rgba(0,0,0,.45);
  --radius:18px;
  /* layout */
  --bottomnavBaseH: 72px;
  --bottomnavH: calc(var(--bottomnavBaseH) + env(safe-area-inset-bottom));

  /* calendario: celle tutte uguali */
  --dayH: clamp(92px, 13vh, 132px);
}

*{box-sizing:border-box;}
html,body{height:100%;}

html.sheet-open, body.sheet-open{overflow:hidden;}
html.menu-open, body.menu-open{overflow:hidden;}

/* Quando l'editor giorno è aperto, nascondiamo la barra in basso
   per evitare sovrapposizioni con i pulsanti di conferma. */
html.sheet-open .bottomnav,
body.sheet-open .bottomnav{
  transform: translateY(120%);
  opacity:0;
  pointer-events:none;
}

button, a, .day, .btn, .iconbtn, .tab, .btab, .navbtn, .seg, .menu__item{touch-action:manipulation; -webkit-tap-highlight-color: transparent;}

body{
  margin:0;
  position:relative;
  isolation:isolate;
  background: radial-gradient(1200px 800px at 20% -20%, rgba(242,226,0,.20), transparent 60%),
              radial-gradient(900px 600px at 120% 10%, rgba(242,226,0,.10), transparent 55%),
              var(--bg);
  color:var(--text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  text-rendering: optimizeLegibility;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  background: url('assets/stemma-3stormo.png') center / min(70vw, 420px) no-repeat;
  opacity:.06;
  pointer-events:none;
  z-index:0;
}


.app{min-height:100svh; display:flex; flex-direction:column;  position:relative;
  z-index:1;
}

.topbar{
  position:sticky; top:0; z-index:10;
  display:flex; align-items:center; justify-content:space-between;
  padding:calc(12px + env(safe-area-inset-top)) 12px 10px;
  background: linear-gradient(180deg, rgba(11,11,12,.92), rgba(11,11,12,.75));
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line);
}

.brand{display:flex; gap:10px; align-items:center; min-width:0;}
.brand__logos{display:flex; gap:8px; align-items:center; flex:0 0 auto;}
.brand__logo{
  width:42px; height:42px; border-radius:12px;
  background:#000; border:1px solid rgba(242,226,0,.4);
  box-shadow: 0 8px 20px rgba(0,0,0,.45);
}
.brand__text{min-width:0;}
.brand__title{font-weight:800; letter-spacing:.2px; font-size:16px;}
.brand__subtitle{font-size:12px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:56vw;}

.topbar__actions{display:flex; gap:8px;}

.iconbtn{
  border:1px solid rgba(242,226,0,.35);
  background:rgba(18,18,22,.55);
  color:var(--text);
  border-radius:14px;
  padding:10px 12px;
  font-weight:700;
  letter-spacing:.2px;
  min-height:42px;
}
.iconbtn:active{transform:scale(.98);}

.tabs{
  position:sticky; top:var(--topbarH, 66px); z-index:9;
  display:grid; grid-template-columns:1fr 1fr 1fr;
  background:rgba(11,11,12,.88);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line);
}
.tab{
  border:0;
  background:transparent;
  color:var(--muted);
  padding:12px 10px;
  font-weight:800;
  letter-spacing:.2px;
}
.tab.is-active{
  color:var(--text);
  position:relative;
}
.tab.is-active::after{
  content:"";
  position:absolute; left:20%; right:20%; bottom:6px;
  height:3px; border-radius:3px;
  background:var(--accent);
}

.main{padding:12px; display:flex; flex-direction:column; gap:12px; flex:1; padding-bottom: calc(12px + var(--bottomnavH));}
.panel{
  background: linear-gradient(180deg, rgba(18,18,22,.92), rgba(18,18,22,.70));
  border:1px solid rgba(242,226,0,.22);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow:hidden;
}

.monthbar{
  display:grid;
  grid-template-columns:52px 1fr 52px;
  align-items:center;
  border-bottom:1px solid rgba(242,226,0,.18);
}
.navbtn{
  border:0; background:transparent; color:var(--text);
  font-size:28px; font-weight:900;
  height:54px;
}
.navbtn:active{transform:scale(.96);}
.monthbar__center{padding:10px 10px 8px; text-align:center;}
.monthbar__actions{display:flex; justify-content:center; margin-top:6px;}
.monthbar__title{font-size:18px; font-weight:900; letter-spacing:.2px;}
.monthbar__hint{font-size:12px; color:var(--muted);}

.kpis{display:grid; grid-template-columns:1fr; gap:10px; padding:12px;}
@media(min-width:780px){ .kpis{grid-template-columns:1fr 1fr 1fr;} }

.kpi{
  background: rgba(22,22,28,.72);
  border:1px solid rgba(242,226,0,.16);
  border-radius:16px;
  padding:10px 12px;
}
.kpi__label{font-size:12px; color:var(--muted);}
.kpi__value{font-size:20px; font-weight:900; margin-top:2px;}
.kpi__sub{font-size:12px; color:var(--muted); margin-top:2px;}

.calendar{padding:0 12px 12px;}
.dow{display:grid; grid-template-columns:repeat(7,1fr); gap:8px; padding:0 0 8px;}
.dow div{font-size:12px; color:var(--muted); text-align:center; font-weight:800; letter-spacing:.2px;}

.grid{display:grid; grid-template-columns:repeat(7,1fr); gap:8px; grid-auto-rows: var(--dayH);}

.day{
  position:relative;
  border:1px solid rgba(242,226,0,.16);
  border-radius:16px;
  background: rgba(22,22,28,.55);
  height:100%;
  min-height:0;
  padding:8px 8px 6px;
  display:flex;
  flex-direction:column;
  gap:6px;
  text-align:left;
  color:var(--text);
  overflow:hidden;
}
.day:active{transform:scale(.985);}
.day.is-out{opacity:.35;}
.day.is-today{outline:2px solid rgba(242,226,0,.7);}
.day.is-auto{border-style:dashed; border-color: rgba(242,226,0,.35); background: rgba(22,22,28,.40);}
.day__top{display:flex; align-items:center; justify-content:space-between; gap:6px;}
.day__num{font-weight:900; font-size:14px;}
.day__dow{font-size:11px; color:var(--muted); font-weight:800;}

.day__pills{display:flex; flex-direction:column; gap:6px; margin-top:2px;}

.badge{
  display:flex;
  align-items:center;
  font-weight:950;
  border-radius:999px;
  border:1px solid rgba(242,226,0,.18);
  background: rgba(0,0,0,.26);
  max-width:100%;
  padding:6px 10px;
  line-height:1.1;
  overflow:hidden;
}
.badge--main{
  font-size:11px;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.badge--mini{
  font-size:10px;
  color:var(--accent);
  background: rgba(0,0,0,.18);
  border-color: rgba(242,226,0,.14);
  padding:5px 10px;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-variant-numeric: tabular-nums;
}
.badge--warn{
  border-color: rgba(255,77,77,.55) !important;
  color: var(--danger) !important;
}

.pill{
  display:inline-flex; padding:6px 10px;
  border-radius:999px;
  font-weight:900;
  font-size:12px;
  border:1px solid rgba(242,226,0,.22);
  background:rgba(0,0,0,.22);
}
.pill--diurno{background:rgba(56,216,122,.16); border-color:rgba(56,216,122,.45);}
.pill--notturno{background:rgba(80,170,255,.12); border-color:rgba(80,170,255,.40);}
.pill--riposo{background:rgba(242,226,0,.12); border-color:rgba(242,226,0,.45);}
.pill--fest{background:rgba(255,213,0,.10); border-color:rgba(255,213,0,.45);}
.pill--leave{background:rgba(255,77,77,.10); border-color:rgba(255,77,77,.40);}
.pill--cover{background:rgba(170,120,255,.10); border-color:rgba(170,120,255,.40);}
.pill--holiday{background:rgba(255,80,80,.10); border-color:rgba(255,80,80,.55);}
.pill--service{background:rgba(255,255,255,.06); border-color:rgba(255,215,0,.22);}

.legend{padding:12px; border-top:1px solid rgba(242,226,0,.14); background: rgba(18,18,22,.35);}
.legend__row{display:flex; flex-wrap:wrap; gap:8px;}
.legend__note{margin-top:8px; font-size:12px; color:var(--muted); line-height:1.35;}

.sectionTitle{padding:12px; font-weight:900; font-size:16px; border-bottom:1px solid rgba(242,226,0,.14);}

.cards{display:grid; grid-template-columns:1fr; gap:10px; padding:12px;}
@media(min-width:900px){ .cards{grid-template-columns:1fr 1fr 1fr;} }

.card{background:rgba(22,22,28,.72); border:1px solid rgba(242,226,0,.16); border-radius:16px; padding:12px;}
.card__title{font-size:12px; color:var(--muted); font-weight:900;}
.card__big{font-size:24px; font-weight:950; margin-top:4px;}
.card__rows{margin-top:8px; display:flex; flex-direction:column; gap:6px;}
.row{display:flex; justify-content:space-between; gap:10px; color:var(--muted); font-size:12px;}
.row b{color:var(--text); font-variant-numeric: tabular-nums;}

.tableWrap{padding:0 12px 12px; overflow:auto; -webkit-overflow-scrolling: touch;}
.table{width:100%; border-collapse:collapse; min-width:740px;}
.table th,.table td{padding:10px 10px; border-bottom:1px solid rgba(242,226,0,.12); font-size:13px;}
.table th{color:var(--muted); text-align:left; font-weight:900;}
.table td{vertical-align:top;}

.actionsRow{display:flex; gap:10px; flex-wrap:wrap; padding:12px; border-top:1px solid rgba(242,226,0,.14);}

.btn{
  border:1px solid rgba(242,226,0,.40);
  background: linear-gradient(180deg, rgba(242,226,0,.95), rgba(255,213,0,.82));
  color:#101010;
  font-weight:950;
  letter-spacing:.2px;
  border-radius:16px;
  padding:12px 14px;
  min-height:44px;
}
.btn:active{transform:scale(.985);}
.btn--ghost{
  background: rgba(22,22,28,.6);
  color: var(--text);
  border-color: rgba(242,226,0,.22);
}
.btn--sm{padding:9px 12px; min-height:40px; border-radius:14px; font-size:13px; font-weight:950;}
.filebtn{position:relative; overflow:hidden;}

.form{padding:12px; display:flex; flex-direction:column; gap:12px;}
.field label{display:block; color:var(--muted); font-weight:900; font-size:12px; margin-bottom:6px;}
.toggleRow{display:flex; gap:10px; align-items:flex-start; margin-top:8px;}
.toggle{display:flex; gap:10px; align-items:flex-start; color:var(--text); font-size:14px; line-height:1.25; font-weight:800;}
.toggle input{width:20px; height:20px; margin-top:2px; flex:0 0 auto;}

input, select, textarea{
  width:100%;
  border:1px solid rgba(242,226,0,.18);
  background: rgba(22,22,28,.7);
  color: var(--text);
  border-radius:14px;
  padding:12px 12px;
  font-size: 16px;
  outline:none;
}
textarea{resize:vertical;}

.divider{height:1px; background:rgba(242,226,0,.14); margin:6px 0;}

.miniGrid{display:grid; grid-template-columns:repeat(2,1fr); gap:10px;}
.miniGrid > div{display:flex; align-items:center; gap:8px;}
.miniGrid span{width:34px; color:var(--muted); font-weight:900; font-size:12px;}

.noteBox{border:1px solid rgba(242,226,0,.18); background:rgba(0,0,0,.18); border-radius:16px; padding:12px;}
.noteBox__title{font-weight:950;}
.noteBox__text{margin-top:6px; color:var(--muted); font-size:13px; line-height:1.35;}

.sheet{position:fixed; inset:0; z-index:85; pointer-events:none;}
/* Su alcuni browser mobile la trasformazione può comunque “lampeggiare” all'avvio:
   quando è chiuso lo nascondiamo proprio. */
.sheet[aria-hidden="true"]{display:none;}
.sheet[aria-hidden="false"]{display:block; pointer-events:auto;}
.sheet__backdrop{position:absolute; inset:0; background:rgba(0,0,0,.55); opacity:0; transition:opacity .18s ease;}
.sheet[aria-hidden="false"] .sheet__backdrop{opacity:1;}
.sheet__panel{
  position:absolute; left:0; right:0; bottom:0;
  background: linear-gradient(180deg, rgba(18,18,22,.98), rgba(18,18,22,.90));
  border-top-left-radius:22px;
  border-top-right-radius:22px;
  border:1px solid rgba(242,226,0,.24);
  transform: translateY(calc(100% + 24px));
  transition: transform .18s ease;
  max-height: 86vh;
  max-height: min(86vh, calc(100dvh - 96px));
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.sheet[aria-hidden="false"] .sheet__panel{transform: translateY(0);}
.sheet__handle{width:56px; height:5px; border-radius:99px; background:rgba(242,226,0,.35); margin:10px auto 0;}
.sheet__header{display:flex; justify-content:space-between; gap:10px; padding:12px; align-items:flex-start;}
.notice{margin:0 12px 8px; padding:10px 12px; border:1px solid rgba(255,215,0,.35); background:rgba(255,215,0,.08); border-radius:14px; color:var(--text); font-weight:900; font-size:13px;}
.sheet__title{font-weight:950; font-size:16px;}
.sheet__subtitle{color:var(--muted); font-size:12px; margin-top:2px;}
.sheet__content{
  padding:0 12px 12px;
  display:flex;
  flex-direction:column;
  gap:12px;
  overflow:auto;
  -webkit-overflow-scrolling: touch;
}

.sheet__footer{
  flex:0 0 auto;
  background: linear-gradient(180deg, rgba(18,18,22,.65), rgba(18,18,22,.98));
  backdrop-filter: blur(10px);
  padding-bottom: calc(12px + env(safe-area-inset-bottom));
}

.segmented{display:grid; grid-template-columns:repeat(3,1fr); gap:8px;}
.seg{
  flex:1;
  border:1px solid rgba(242,226,0,.22);
  background:rgba(22,22,28,.7);
  color:var(--text);
  padding:12px 10px;
  border-radius:14px;
  font-weight:950;
  font-size:13px;
}
.seg.is-active{border-color: rgba(242,226,0,.65); box-shadow: 0 0 0 2px rgba(242,226,0,.18) inset;}
.helper{font-size:12px; color:var(--muted); margin-top:6px;}

.impact{border:1px solid rgba(242,226,0,.16); border-radius:16px; padding:10px 12px; background:rgba(0,0,0,.18);}
.impact__row{display:flex; justify-content:space-between; gap:10px; font-size:13px; color:var(--muted); padding:6px 0;}
.impact__row b{color:var(--text); font-variant-numeric: tabular-nums;}

.menu__item{display:block; width:100%; text-align:left; border:0; background:transparent; color:var(--text); padding:12px; font-weight:900;}
.menu__item:active{background:rgba(242,226,0,.08);} 
.menu__item--danger{color:var(--danger);} 
.menu__divider{height:1px; background:rgba(255,255,255,.08); margin:6px 0;}

.footer{padding:16px 12px calc(22px + var(--bottomnavH)); text-align:center; color:var(--muted); font-size:12px;}

.bottomnav{
  position:fixed; left:0; right:0; bottom:0; z-index:70;
  display:block;
  height: var(--bottomnavH);
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background: linear-gradient(180deg, rgba(11,11,12,.10), rgba(11,11,12,.92));
  backdrop-filter: blur(10px);
  border-top:1px solid var(--line);
  transition: transform .18s ease, opacity .18s ease;
}
.bottomnav__inner{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:10px;
  max-width: 680px;
  margin: 0 auto;
}
.btab{
  border:1px solid rgba(242,226,0,.20);
  background:rgba(18,18,22,.65);
  color:var(--muted);
  border-radius:16px;
  padding:8px 6px;
  font-weight:950;
  min-height:48px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  line-height:1.1;
}
.btab__icon{font-size:18px; line-height:1;}
.btab__label{font-size:11px; letter-spacing:.2px; white-space:nowrap; max-width:100%; overflow:hidden; text-overflow:ellipsis;}
.btab.is-active{
  color:var(--text);
  border-color: rgba(242,226,0,.55);
  box-shadow: 0 0 0 2px rgba(242,226,0,.12) inset;
}

.btab--actions{color:rgba(242,226,0,.92);} /* lieve evidenza */

/* --------------------- azioni (bottom sheet) --------------------- */
.actionsheet{position:fixed; inset:0; z-index:60; pointer-events:none; display:none;}
.actionsheet[aria-hidden="false"]{display:block; pointer-events:auto;}
.actionsheet__backdrop{
  position:absolute;
  left:0; right:0; top:0;
  bottom: var(--bottomnavH);
  background:rgba(0,0,0,.55);
  backdrop-filter: blur(2px);
  opacity:0;
  transition: opacity .18s ease;
}
.actionsheet__panel{
  position:absolute;
  left:0; right:0;
  bottom: var(--bottomnavH);
  max-height: min(78svh, calc(100dvh - var(--bottomnavH) - 56px));
  overflow:auto;
  overscroll-behavior: contain;
  background:linear-gradient(180deg, rgba(18,18,22,.98), rgba(12,12,14,.98));
  border-top:1px solid rgba(242,226,0,.35);
  border-radius:18px 18px 0 0;
  box-shadow:0 -18px 40px rgba(0,0,0,.55);
  transform:translateY(105%);
  transition: transform .22s ease;
  padding:10px 14px calc(18px + env(safe-area-inset-bottom));
}
.actionsheet.is-open .actionsheet__backdrop{opacity:1;}
.actionsheet.is-open .actionsheet__panel{transform:translateY(0);}
.actionsheet__handle{width:52px; height:5px; background:rgba(242,226,0,.28); border-radius:999px; margin:6px auto 10px;}
.actionsheet__header{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px;}
.actionsheet__title{font-weight:950; letter-spacing:.2px;}
.actionsheet__content{display:flex; flex-direction:column; gap:10px;}

.iconbtn--sm{min-height:38px; padding:8px 10px; border-radius:12px;}

@media(max-width:780px){
  .tabs{display:none;}
  .bottomnav{display:block;}
  .brand__subtitle{max-width:52vw;}
  .day{min-height:96px;}
}


.toast{position:fixed; left:12px; right:12px; bottom: calc(12px + var(--bottomnavH)); z-index:80; display:flex; justify-content:center; pointer-events:none;}
.toast__inner{pointer-events:auto; max-width:520px; width:100%; border:1px solid rgba(242,226,0,.20); background:rgba(18,18,22,.96); border-radius:16px; padding:12px; color:var(--text); box-shadow: var(--shadow);}
.toast__inner b{color:var(--accent);} 

/* --------------------- styled modal --------------------- */
.modal{position:fixed; inset:0; z-index:90; pointer-events:none; display:none;}
.modal[aria-hidden="false"]{display:block; pointer-events:auto;}
.modal__backdrop{position:absolute; inset:0; background:rgba(0,0,0,.58);}
.modal__panel{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:min(520px, calc(100vw - 28px));
  border-radius:18px;
  border:1px solid rgba(242,226,0,.22);
  background:rgba(18,18,22,.98);
  box-shadow: var(--shadow);
  padding:14px;
}
.modal__title{font-weight:950; font-size:16px; margin-bottom:8px;}
.modal__body{color:var(--text); opacity:.92; font-size:14px; line-height:1.35; white-space:pre-wrap;}
.modal__actions{display:flex; gap:10px; justify-content:flex-end; margin-top:14px;}
.modal__actions .btn{min-width:104px;}


/* Festività (giorni rossi) */
.day.is-holiday .day__num{ color: rgba(255,90,90,.95); }
.day.is-holiday::after{
  content:'';
  position:absolute;
  top:8px;
  right:8px;
  width:6px;
  height:6px;
  border-radius:50%;
  background: rgba(255,90,90,.95);
  opacity:.9;
}


/* Mobile list layout */
.calendarList{display:none; margin-top:10px; width:100%;}
.dayRow{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding:12px;
  border:1px solid rgba(242,226,0,.14);
  background:rgba(18,18,22,.60);
  border-radius:18px;
  box-shadow: var(--shadow);

  overflow:hidden;
  width:100%;
  box-sizing:border-box;
  align-self:stretch;

}
.dayRow + .dayRow{margin-top:10px;}
.dayRow__left{min-width:78px;}
.dayRow__date{font-weight:900; font-size:18px; line-height:1.1;}
.dayRow__dow{color:var(--muted); font-size:12px; margin-top:4px;}
.dayRow__right{flex:1; display:flex; flex-direction:column; gap:6px; overflow:hidden;}
.dayRow__pills .badge{display:block; width:100%;}
.dayRow.is-holiday .dayRow__date{color: rgba(255,90,90,.95);}
.dayRow__chev{opacity:.6; font-weight:900; padding-left:6px;}

.monthList{display:none; margin-top:10px;}
.mItem{
  border:1px solid rgba(242,226,0,.14);
  background:rgba(18,18,22,.55);
  border-radius:18px;
  padding:12px;
  box-shadow: var(--shadow);
}
.mItem + .mItem{margin-top:10px;}
.mItem__top{display:flex; align-items:flex-start; justify-content:space-between; gap:10px;}
.mItem__date{font-weight:950;}
.mItem__sub{color:var(--muted); font-size:12px; margin-top:2px;}
.mItem__delta{font-weight:950;}
.mItem__note{margin-top:8px; color:var(--muted); font-size:13px; white-space:pre-wrap;}
.mItem__consumi{margin-top:6px; color:var(--muted); font-size:13px;}

@media(max-width:560px){
  /* Smartphone: calendario ad elenco (più leggibile) con card di altezza uniforme */
  .calendar .dow{display:none;}
  .calendar .grid{display:none;}
  .calendarList{display:block;}

  .dayRow{
    align-items:center;
    height: 108px; /* tutte uguali (fisse) */
    padding: 12px;
    overflow:hidden;
  }
  .dayRow__left{min-width:92px;}
  .dayRow__date{font-size:18px;}
  .dayRow__dow{font-size:12px; margin-top:2px;}
  .dayRow__pills{display:flex; flex-direction:column; gap:6px;}
  .dayRow__pills .badge{
    max-width: 100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .badge--main{font-size:12px; padding:7px 10px;}
  .badge--mini{font-size:11px; padding:6px 10px;}

  /* Nascondiamo l'etichetta giorno della settimana dentro le celle griglia (non usate in mobile) */
  .day__dow{display:none;}
  .tableWrap{display:none;}
  .monthList{display:block;}
  .kpis{grid-template-columns:1fr; gap:10px;}
  .kpi{min-height:auto;}
  .monthbar__hint{display:none;}
}


/* Menu accordion (Azioni rapide -> sottocategorie) */
.menuAcc{border:1px solid rgba(242,226,0,.18); border-radius:14px; overflow:hidden; background:rgba(0,0,0,.18);}
.menuAcc + .menuAcc{margin-top:10px;}
.menuAcc__summary{list-style:none; cursor:pointer; padding:12px; font-weight:950; color:var(--text);
  display:flex; align-items:center; justify-content:space-between; gap:12px; user-select:none;}
.menuAcc__summary::-webkit-details-marker{display:none;}
.menuAcc__summary::after{content:'▾'; color:rgba(242,226,0,.85); font-weight:900; transform:translateY(-1px);}
.menuAcc[open] .menuAcc__summary::after{content:'▴';}
.menuAcc__content{padding:4px 0 10px;}
.menuAcc__sub{padding:10px 12px 6px; font-size:12px; color:var(--muted); font-weight:850; text-transform:uppercase; letter-spacing:.08em;}
.menuAcc .menu__item{padding:11px 12px; border-radius:0;}
.menuAcc .menu__item:active{background:rgba(242,226,0,.10);} 

/* Monthbar actions spacing */
.monthbar__actions{display:flex; gap:10px; align-items:center;}


/* Hide install button when running as installed PWA */
@media (display-mode: standalone), (display-mode: fullscreen), (display-mode: minimal-ui) {
  #installBtn{ display:none !important; }
}
