*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
img{max-width:100%;height:auto;display:block}

:root{
  --primary:#6750A4; --on-primary:#fff;
  --primary-c:#EADDFF; --on-primary-c:#21005D;
  --surface:#fff; --surface-v:#ECE6F0;
  --on-surface:#1C1B1F; --on-surface-v:#49454F;
  --bg:#F6F8FB; --outline:#79747E;
  --shadow-1:0 2px 6px rgba(0,0,0,.08);
  --shadow-2:0 12px 30px rgba(0,0,0,.16);
  --r-xl:18px; --r-md:12px; --r-sm:10px;
  --pad:24px; --gap:16px;
  --card-gap:12px;
  --appbar-h:72px; --superbar-h:56px;
  --footer-h:52px;
  --outline-soft: rgba(0,0,0,.12);
  --site-scale:.65;

}

html[data-theme="dark"]{
  --primary:#7AD1FF; --on-primary:#003244;
  --primary-c:#003B4E; --on-primary-c:#C6F2FF;
  --surface:#16181D; --surface-v:#23262C;
  --on-surface:#E6EAF0; --on-surface-v:#B8C0CC;
  --bg:#0F1114; --outline:#8A93A1;
  --outline-soft: rgba(255,255,255,.16);
  --shadow-1:0 2px 10px rgba(0,0,0,.5);
  --shadow-2:0 18px 40px rgba(0,0,0,.65);
}

.section[data-area="medicina"]      { --area:#7C4DFF; }
.section[data-area="giurisprudenza"]{ --area:#2962FF; }
.section[data-area="einaudi"]       { --area:#1565C0; }
.section[data-area="viaeroi"]       { --area:#5E35B1; }
.section[data-area="sangiovanni"]   { --area:#8D6E63; }
.section{ --area: var(--primary); }

body{
  background:linear-gradient(180deg, rgba(246,248,251,1) 0%, #fff 40%);
  color:var(--on-surface);
  font:500 16px / 1.45 Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
html[data-theme="dark"] body{ background:linear-gradient(180deg, var(--bg) 0%, var(--surface) 40%) }
.container{width:100%;padding-inline:var(--pad);margin:0;}
.material-symbols-outlined{vertical-align:-5px}

@supports (zoom:1){ body{ zoom:var(--site-scale); } }
@supports not (zoom:1){
  html{ font-size:85%; }
  :root{ --pad: calc(24px * .85); --gap: calc(16px * .85); --card-gap: calc(12px * .85); }
}

.app-bar{
  position:sticky;top:0;z-index:1050;
  background:rgba(255,255,255,.92);backdrop-filter:blur(10px) saturate(1.05);
  border-bottom:1px solid rgba(121,116,126,.22)
}
html[data-theme="dark"] .app-bar{background:rgba(22,24,29,.92);border-bottom-color:rgba(138,147,161,.28)}
.appbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;margin-right:6px}
.brand-logo{height:28px}
.brand-name{font-weight:900;letter-spacing:.2px}

.nav-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-right:auto}
.nav-link{
  display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .7rem;border-radius:999px;
  text-decoration:none;color:var(--on-surface);background:var(--surface);
  border:1px solid rgba(121,116,126,.22);box-shadow:var(--shadow-1);transition:.15s
}
.nav-link.is-selected{background:var(--primary-c);color:var(--on-primary-c)}
.nav-link:hover{transform:translateY(-1px);box-shadow:var(--shadow-2)}

.appbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content: end;}
.date-form{
  display:flex;align-items:center;gap:.45rem;padding:.35rem .6rem;border-radius:999px;
  background:var(--surface);border:1px solid rgba(121,116,126,.22);box-shadow:var(--shadow-1);
  position:relative;z-index:2;cursor:text
}
.date-ico{opacity:.8;pointer-events:none}
.date-input{
  border:0;outline:0;background:transparent;color:var(--on-surface);
  font:600 14px/1 Inter; padding:.25rem .2rem; min-width:175px;height:32px;
  width:175px; position:relative; z-index:3; cursor:pointer;
  appearance:none; -webkit-appearance:none;
}
.date-input::-webkit-calendar-picker-indicator{ display:none; opacity:0; width:0; height:0; padding:0; margin:0; }
.date-input::-moz-calendar-picker-indicator{ display:none; }
.date-input::-webkit-clear-button, .date-input::-webkit-inner-spin-button{ display:none; }

html[data-theme="dark"] .date-form{background:var(--surface-v);border-color:rgba(138,147,161,.35)}

.seg-btn,.icon-pill,.btn-primary-m3{border-radius:999px}
.icon-pill{width:40px;height:40px;border:1px solid var(--outline-soft);display:grid;place-items:center;background:var(--surface);color:var(--on-surface);box-shadow:var(--shadow-1);transition:.15s}
.icon-pill:hover{transform:translateY(-1px);box-shadow:var(--shadow-2)}
.btn-primary-m3{display:inline-flex;align-items:center;gap:.45rem;padding:.48rem .85rem;border:0;background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-2);transition:.15s;font-size:14px}
.btn-primary-m3:hover{transform:translateY(-1px);filter:saturate(1.05)}

.search-pill{display:flex;align-items:center;gap:.5rem;background:var(--surface);border:1px solid rgba(121,116,126,.22);border-radius:999px;padding:.2rem .35rem;box-shadow:var(--shadow-1);min-width:240px}
.search-pill input{flex:1;border:0;outline:0;padding:.4rem .5rem;background:transparent;color:var(--on-surface);font:500 14px/1 Inter}

/* nascondi keyword/filters ovunque */
.filters-toolbar-container,.chips-row,.m3-chip{display:none!important}

.superbar{
  position:sticky;top:var(--appbar-h);z-index:1040;
  background:rgba(255,255,255,.92);backdrop-filter:blur(12px) saturate(1.02);
  border-bottom:1px solid rgba(121,116,126,.18);padding:8px var(--pad)
}
html[data-theme="dark"] .superbar{background:rgba(22,24,29,.9);border-bottom-color:rgba(138,147,161,.28)}
.superbar-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.superbar .left,.superbar .right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.superbar .center{flex:1;display:flex;align-items:center;min-width:220px}

.segmented{display:flex;border-radius:999px;overflow:hidden;}
.seg-btn{
  display:inline;align-items:center;gap:.35rem;padding:.48rem .72rem;border:0;background:var(--surface);
  color:var(--on-surface);cursor:pointer;text-decoration:none;transition:.15s;font-size:14px
}
.seg-btn.is-selected{background:var(--primary-c);color:var(--on-primary-c)}
.seg-btn:hover{transform:translateY(-1px)}

.section-tabs{display:flex;gap:8px;overflow:auto;scrollbar-width:none}
.section-tabs::-webkit-scrollbar{display:none}
.section-tab{
  display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;
  padding:.42rem .72rem;border-radius:999px;text-decoration:none;
  background:var(--surface);color:var(--on-surface);
  border:1px solid rgba(121,116,126,.20);box-shadow:var(--shadow-1);
  transition:transform .15s, background .2s, color .2s, box-shadow .15s;font-size:14px
}
.section-tab .ms{font-family:"Material Symbols Outlined";font-size:18px;line-height:1}
.section-tab.active{background:var(--primary-c);color:var(--on-primary-c);box-shadow:var(--shadow-2)}
.section-tab:hover{transform:translateY(-1px)}

.page-title{margin:12px 0 4px;padding-inline:var(--pad);font-size:clamp(19px,2vw,26px);font-weight:900;letter-spacing:.2px}
.sections{display:flex;flex-direction:column;gap:20px;padding-bottom:calc(var(--footer-h) + 24px)}
.section-title{
  position:sticky;top:calc(var(--appbar-h) + var(--superbar-h) + 6px);
  z-index:2;display:flex;align-items:center;gap:.7rem;margin:12px 0 10px;padding:12px 14px;
  font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--on-surface);
  font-size:clamp(22px,2.6vw,32px);
  background:rgba(255,255,255,.98);border:2px solid rgba(121,116,126,.30);
  backdrop-filter:blur(10px);border-radius:16px;box-shadow:var(--shadow-1)
}
.section-title span{border-left:8px solid var(--area);padding-left:.75rem;line-height:1}
html[data-theme="dark"] .section-title{background:rgba(22,24,29,.95);border-color:rgba(138,147,161,.45)}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--card-gap)}
@media (max-width:640px){.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}

.card{
  border:1.6px solid var(--outline-soft);
  background:var(--surface);
  border-radius:16px;
  box-shadow:none;
  overflow:hidden;transform:translateZ(0);
  transition:transform .18s, border-color .18s, background .18s, box-shadow .18s;
}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-1);border-color:rgba(30,35,45,.34)}
.card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid rgba(121,116,126,.18);background:transparent}
.card .events{padding:10px 10px}

.room-name{
  margin-top:3px; margin-bottom:6px;
  display:flex;align-items:center;gap:.45rem;
  font-weight:1000;font-size:1.14rem;letter-spacing:.01em;color:#0A0A0D;
  text-wrap:balance;
}
html[data-theme="dark"] .room-name{ color:var(--on-surface); }
.room-name .material-symbols-outlined{opacity:.9}

.icon-btn,.copy-btn{
  width:34px;height:34px;border-radius:10px;border:1px solid var(--outline-soft);
  background:transparent;display:grid;place-items:center;color:var(--on-surface);box-shadow:none;transition:.15s
}
.icon-btn:hover,.copy-btn:hover{transform:translateY(-1px)}

.event{background:transparent;border:0;padding:8px 0}
.event + .event{margin-top:10px;padding-top:10px;border-top:1px solid var(--outline-soft)}

.time .material-symbols-outlined,
.time .ms,
.time [class*="material"],
.time svg,
.time i,
.time .live-dot{ display:none !important; }
.time{
  display:block;margin:0 0 4px;padding:0;background:transparent;border:0;
  color:#0A0A0D; font-weight:1000; font-size:1.12rem; font-variant-numeric:tabular-nums
}
html[data-theme="dark"] .time{ color:var(--on-surface); }

.desc{
  font-size:1.06rem;line-height:1.58;letter-spacing:.003em;color:#14161A;
  word-break:break-word;overflow-wrap:anywhere;hyphens:auto;text-wrap:pretty
}
html[data-theme="dark"] .desc{ color:var(--on-surface); }

mark,mark.kw{background:rgba(255,235,120,.6);color:inherit;padding:0 .15em;border-radius:.15em}

body.view-list .grid{grid-template-columns:1fr!important}

footer.footer{
  position:fixed;left:0;right:0;bottom:0;height:52px;z-index:3000;
  display:flex;align-items:center;justify-content:center;padding-inline:var(--pad);
  background:rgba(255,255,255,.94);border-top:1px solid rgba(121,116,126,.18);color:var(--on-surface-v);backdrop-filter:blur(8px)
}
html[data-theme="dark"] footer.footer{background:rgba(22,24,29,.92);border-top-color:rgba(138,147,161,.32)}
.footer-container{width:100%;display:flex;align-items:center;justify-content:space-between}

.only-mobile{ display:none !important; }

@media (max-width:980px){
  :root{ --pad:16px }
  .appbar-inner{display:flex;align-items:center;gap:8px;padding:8px 0}

  .appbar-inner > .nav-main{ display:none !important; }  
  .appbar-actions .search-pill,
  .appbar-actions #themeToggle{ display:none !important; }
  .date-form{margin:0}
  .date-input{min-width:0;width:auto}

  #superbar{padding:6px var(--pad)}
  .superbar-row{gap:6px}

  .superbar-row.slots{ display:none !important; }
  .segmented[data-group="view"]{ display:none !important; }
  .segmented[data-group="order"]{ display:none !important; }
  .density{ display:none !important; }
  .sb-print{ display:none !important; }
  #superbar .sb-allsections{ display:none !important; } 

  #superbar .center{ order:1; flex:1 1 auto; min-width:0 }
  #superbar .right { order:2 }     /* contiene Eventi/Completi */
  #superbar .left  { order:3 }     /* contiene Prec/Oggi/Succ */

  .page-title{margin:6px 0 4px;padding-inline:var(--pad)}

  .only-mobile{ display:inline-grid !important; }

 .segbtn{display:flex!important;order:4!important}
}

.fab-cluster{
  position:fixed;
  right:var(--pad);
  bottom:calc(var(--footer-h) + 14px);
  z-index:3200;
  display:none;
}
.fab-main{
  width:56px;height:56px;border-radius:999px;border:0;
  display:grid;place-items:center;
  background:var(--primary);color:var(--on-primary);
  box-shadow:var(--shadow-2);transition:transform .18s ease;
}
.fab-main .material-symbols-outlined{font-size:26px;transition:transform .18s}
.fab-cluster.open .fab-main .material-symbols-outlined{transform:rotate(45deg)}
.fab-list{
  position:absolute; right:8px; bottom:70px;
  display:grid; gap:12px;
  transform:translateY(14px); opacity:0; pointer-events:none;
  transition:transform .18s ease, opacity .18s ease;
}
.fab-cluster.open .fab-list{ transform:translateY(0); opacity:1; pointer-events:auto; }
.fab-dot{
  width:48px;height:48px;border-radius:999px;
  display:grid;place-items:center;text-decoration:none;border:0;
  background:var(--primary); color:var(--on-primary);
  box-shadow:var(--shadow-2); cursor:pointer;
}
.fab-dot .material-symbols-outlined{font-size:24px;line-height:1}
.fab-scrim{
  position:fixed; inset:0; background:rgba(0,0,0,.35);
  z-index:3195; display:block; opacity:1;
}
[hidden].fab-scrim{ display:none!important; opacity:0 }
@supports(padding:max(0px)){
  .fab-cluster{ bottom:calc(var(--footer-h) + 14px + max(0px, env(safe-area-inset-bottom))); }
}

/* ===== FAB CERCA (sx) ===== */
.fab-search{
  position:fixed;
  left:var(--pad);
  bottom:calc(var(--footer-h) + 14px);
  z-index:3200;
  width:56px;height:56px;border-radius:999px;border:0;
  display:none; place-items:center;
  background:var(--primary); color:var(--on-primary);
  box-shadow:var(--shadow-2);
}
.fab-search .material-symbols-outlined{font-size:26px}
.search-backdrop{
  position:fixed; inset:0; background:rgba(0,0,0,.44);
  z-index:3190; transition:opacity .18s ease;
}
.search-sheet{
  position:fixed; left:0; right:0; bottom:0;
  transform:translateY(110%); z-index:3200;
  background:var(--surface);
  border-top-left-radius:18px; border-top-right-radius:18px;
  box-shadow:0 -18px 40px rgba(0,0,0,.24);
  transition:transform .22s cubic-bezier(.2,.6,.2,1);
}
html[data-theme="dark"] .search-sheet{ background:var(--surface-v) }
.search-sheet.open{ transform:translateY(0) }
.search-sheet .sheet-content{ padding:14px var(--pad) 18px }
.search-sheet .search-pill{ width:100% }
@supports(padding:max(0px)){
  .search-sheet{ padding-bottom:max(10px, env(safe-area-inset-bottom)); }
  .fab-search{ bottom:calc(var(--footer-h) + 14px + max(0px, env(safe-area-inset-bottom))); }
}
@media (max-width:980px){
  html.touch .fab-cluster{ display:grid }
  html.touch .fab-search{ display:grid }
}
@media (hover:none) and (pointer:coarse){
  .fab-cluster{ display:grid }
  .fab-search{ display:grid }
}



/* ===== PRINT ===== */
@page { size: A3 landscape; margin: 3mm; }
@media print{
  .app-bar,.superbar,.filters-toolbar-container,footer.footer,.search-pill,.date-form,.icon-btn,.copy-btn{ display:none !important; }
  .sections{ padding:0 !important; }
  .section{ padding:5mm 6mm 0 !important; break-inside:avoid; page-break-inside:avoid; }
  .section:not([data-print-include="1"]) { display:none !important; }
  .section[data-area="medicina"][data-section-title*="CORPO C"],
  .section.section-corpo-c[data-area="medicina"],
  #section-corpo-c[data-area="medicina"]{ display:none !important; }
  .section-title{ position:static !important; margin:0 0 3mm !important; padding:0 !important; border:none !important; background:transparent !important; font-size:13pt !important; letter-spacing:.06em !important; box-shadow:none!important; }
  .section-title span{ border:0 !important; padding:0 !important; }
  :root{ --print-cols: 10; }
  .grid{ display:grid !important; grid-template-columns:repeat(var(--print-cols),1fr) !important; gap:2.5mm !important; }
  .card{ border:0 !important; background:transparent !important; box-shadow:none !important; break-inside:avoid; page-break-inside:avoid; }
  .card-top{ padding:0 !important; margin:0 0 1.2mm !important; border:0 !important; background:transparent !important; }
  .events{ padding:0 !important; }
  .room-name{ font-weight:900 !important; font-size:10pt !important; color:#000 !important; line-height:1.15 !important; }
  .event{ background:transparent !important; border:0 !important; padding:0 0 1mm !important; }
  .event + .event{ margin-top:0 !important; padding-top:0 !important; border-top:0 !important; }
  .time .material-symbols-outlined,.time .ms,.time [class*="material"],.time svg,.time i,.time .live-dot{ display:none !important; }
  .time{ display:block !important; color:#000 !important; font-weight:900 !important; font-size:9.6pt !important; margin:1.4mm 0 .6mm !important; padding-top:0 !important; background:transparent !important; border:0 !important; }
  .events .event:first-child .time{ margin-top:0 !important; }
  .desc{ display:block !important; margin:0 !important; font-size:9.2pt !important; line-height:1.25 !important; hyphens:none !important; -webkit-hyphens:none !important; }
  mark,mark.kw{ background:#FFF56D !important; color:inherit !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; padding:0 .08em !important; border-radius:.1em !important; }
  .room-name{ margin-top: 4mm !important; margin-bottom: 4mm !important; }
  html[data-theme="dark"] .desc { color: #000; }
  .room-name .material-symbols-outlined {display:none}
}

.search-pill input[type="search"]::-webkit-search-cancel-button,
.search-pill input[type="search"]::-webkit-search-decoration,
.search-pill input[type="search"]::-webkit-search-results-button,
.search-pill input[type="search"]::-webkit-search-results-decoration{
  -webkit-appearance:none; appearance:none; display:none;
}
.search-pill input[type="search"]::-ms-clear,
.search-pill input[type="search"]::-ms-reveal{ display:none; width:0; height:0; }

@media print {
  .app-bar,
  #superbar,
  .fab-cluster,
  .fab-search,
  #searchBackdrop,
  #searchSheet,
  .filters-toolbar-container { display: none !important; }

  .section[data-print-include="0"] { display: none !important; }

  .section .section-title {
    position: static !important;
    top: auto !important;
    background: transparent !important;
    box-shadow: none !important;

    color: #000 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    page-break-after: avoid;
    break-after: avoid;
  }

  .section { page-break-inside: avoid; break-inside: avoid; }

  .section .grid { break-inside: avoid; page-break-inside: avoid; }
}
body.view-list .grid{ grid-template-columns:1fr!important; }

:root{
  --primary:#6750A4; --on-primary:#fff; --primary-cont:#EADDFF; --on-primary-cont:#21005D;
  --secondary:#625B71; --on-secondary:#fff; --secondary-cont:#E8DEF8; --on-secondary-cont:#1D192B;
  --tertiary:#7D5260; --on-tertiary:#fff; --tertiary-cont:#FFD8E4; --on-tertiary-cont:#31111D;
  --surface:#FFFBFE; --on-surface:#1C1B1F; --surface-2:#F6F2F8; --outline:#79747E;
  --success:#2E7D32; --error:#B3261E; --warning:#8B6B00;

  --r-xl:18px; --r-lg:14px; --r-md:12px; --r-sm:10px;
  --shadow-1:0 2px 6px rgba(0,0,0,.08); --shadow-2:0 12px 30px rgba(0,0,0,.12);
  --pad:18px; --gap:12px; --appbar-h:64px; --fab-size:56px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--surface);color:var(--on-surface);font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif}
a{color:inherit}
.container{max-width:1200px;margin:0 auto;padding:calc(var(--pad)*1.25) var(--pad)}

.appbar{position:sticky;top:0;z-index:3;backdrop-filter:saturate(1.2) blur(8px);background:color-mix(in oklab, var(--surface) 85%, white 15%);box-shadow:var(--shadow-1)}
.appbar .row{display:flex;align-items:center;gap:12px;height:var(--appbar-h);padding:0 var(--pad)}
.appbar h1{font-size:20px;font-weight:700;margin:0}
.appbar .spacer{flex:1}
.btn{appearance:none;border:0;cursor:pointer;border-radius:999px;padding:10px 14px;background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-1);transition:transform .16s ease, box-shadow .16s ease;}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-2)}
.btn.secondary{background:var(--secondary)}
.btn.tonal{background:var(--primary-cont);color:var(--on-primary-cont)}
.btn.text{background:transparent;color:var(--primary);box-shadow:none;padding:8px 10px}
.btn.icon{width:40px;height:40px;display:inline-grid;place-items:center;padding:0}

.card{background:var(--surface);border:1px solid color-mix(in oklab, var(--outline) 22%, transparent);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}
.grid{display:grid;gap:var(--gap)}
.grid.cols-2{grid-template-columns:1fr 1fr}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.grid.cols-3{grid-template-columns:1fr}.grid.cols-2{grid-template-columns:1fr}}

.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:12px;color:var(--outline)}
.field input,.field select,.field textarea{border:1px solid color-mix(in oklab, var(--outline) 22%, transparent);border-radius:12px;padding:10px 12px;background:#fff;color:var(--on-surface);outline:2px solid transparent}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid color-mix(in oklab, var(--primary) 35%, transparent)}

.filterbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.filterbar .field{min-width:220px}
.filterbar .right{margin-left:auto;display:flex;gap:8px;align-items:center}

.table-wrap{overflow:auto;border:1px solid color-mix(in oklab, var(--outline) 22%, transparent);border-radius:var(--r-lg);background:#fff;box-shadow:var(--shadow-1)}
table{width:100%;border-collapse:separate;border-spacing:0}
th,td{padding:10px 12px;border-bottom:1px solid #eee;text-align:left;vertical-align:top;font-size:14px}
th{position:sticky;top:0;background:var(--surface-2);z-index:1}
tr:hover td{background:color-mix(in oklab, var(--primary-cont) 14%, white 86%)}
.actions{display:flex;gap:6px}
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:12px;border:1px solid color-mix(in oklab, var(--outline) 22%, transparent)}
.badge[data-s="In uso"]{background:color-mix(in oklab, var(--primary) 12%, white);}
.badge[data-s="Magazzino"]{background:color-mix(in oklab, #2a7 12%, white);}
.badge[data-s="Manutenzione"]{background:color-mix(in oklab, #e8a100 18%, white);}
.badge[data-s="Dismesso"]{background:color-mix(in oklab, #b00 10%, white);}

.fab{position:fixed;right:22px;bottom:22px;width:var(--fab-size);height:var(--fab-size);border-radius:999px;display:grid;place-items:center;background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-2);cursor:pointer}

.sheet{position:fixed;inset:auto 0 0 0;background:var(--surface);border-top-left-radius:18px;border-top-right-radius:18px;box-shadow:0 -10px 30px rgba(0,0,0,.18);transform:translateY(102%);transition:transform .26s ease;max-height:88vh;overflow:auto}
.sheet.open{transform:translateY(0)}
.sheet header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #eee}
.sheet .content{padding:18px}

.flash{position:fixed;top:76px;left:0;right:0;display:flex;justify-content:center;z-index:5}
.flash .msg{background:#fff;border:1px solid #ddd;box-shadow:var(--shadow-2);padding:10px 14px;border-radius:12px}
.flash .msg.ok{border-color:#cfe9cf}
.flash .msg.error{border-color:#f3c6c3}

.muted{color:#6b6b6b}
.nowrap{white-space:nowrap}
.hide{display:none!important}
hr.sep{border:0;border-top:1px solid #eee;margin:14px 0}


.container{
  max-width:none;    
  width:100%;
  margin:0;
  padding-inline:var(--pad);
  
}

.equip-edit-btn{ display:none !important; }

body.equip-edit .equip-edit-btn{ display:inline-flex !important; }

body.equip-edit .equip-edit-btn .material-symbols-outlined{
  font-variation-settings: 'FILL' 1;
}

.planning-card .events .event .time{
  display:block;               
  margin-bottom:4px;
  font-weight:800 !important;   
  font-variant-numeric:tabular-nums;
}
.planning-card .events .event .time *{ font-weight:inherit !important; }

.planning-card .events .event .desc,
.planning-card .events .event .desc *{
  font-weight:400 !important;   
}

.planning-card .events .event .desc mark{ font-weight:inherit !important; }

.planning-card .events .event .desc .equip-auto strong,
.planning-card .events .event .desc .equip-manual strong{ font-weight:700 !important; }
