:root{
  --grest-accent-rgb: 16, 185, 129;
  --grest-accent-2-rgb: 59, 130, 246;
  --grest-accent-3-rgb: 234, 179, 8;
}

body.pub-ui.grest-ui{
  --pub-accent: #10b981;
  --pub-accent-2: #3b82f6;
  --pub-accent-3: #eab308;
  --pub-accent-rgb: var(--grest-accent-rgb);
  --pub-accent-2-rgb: var(--grest-accent-2-rgb);
  --pub-accent-3-rgb: var(--grest-accent-3-rgb);
}

body.pub-ui.grest-ui .hubSec-operativita{ --hub-accent-rgb: var(--grest-accent-rgb); }
body.pub-ui.grest-ui .hubSec-gestione{ --hub-accent-rgb: var(--grest-accent-2-rgb); }
body.pub-ui.grest-ui .hubSec-personale{ --hub-accent-rgb: var(--grest-accent-3-rgb); }

body.pub-ui.grest-ui .grestHero{
  max-width: 1200px;
  margin: 0 auto;
  padding: 14px 14px 4px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
body.pub-ui.grest-ui .grestHero .title{
  font-size: 24px;
  font-weight: 950;
}
body.pub-ui.grest-ui .grestHero .sub{
  color: var(--pub-muted);
  margin-top: 6px;
  line-height: 1.35;
}

body.pub-ui.grest-ui .grestKpi{
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 14px 0;
  display:grid;
  gap: 12px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
@media (max-width: 980px){
  body.pub-ui.grest-ui .grestKpi{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 580px){
  body.pub-ui.grest-ui .grestKpi{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
body.pub-ui.grest-ui .grestK{
  border:1px solid var(--pub-border);
  border-radius: 18px;
  background: linear-gradient(180deg, var(--pub-surface), var(--pub-surface-2));
  box-shadow: var(--pub-panel-glow);
  padding: 14px;
}
body.pub-ui.grest-ui .grestK .v{
  font-size: 28px;
  font-weight: 950;
  line-height: 1;
}
body.pub-ui.grest-ui .grestK .l{
  margin-top: 6px;
  color: var(--pub-muted);
  font-size: 12px;
  font-weight: 800;
}

body.pub-ui.grest-ui .grestHint{
  color: var(--pub-muted);
  font-size: 12px;
  font-weight: 800;
}

body.pub-ui.grest-ui .grestInline{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
body.pub-ui.grest-ui .grestInline > *{ min-width: 0; }

body.pub-ui.grest-ui .grestDaysGrid{
  display:grid;
  gap:10px;
  grid-template-columns: repeat(4, minmax(0,1fr));
}
@media (max-width: 980px){
  body.pub-ui.grest-ui .grestDaysGrid{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 680px){
  body.pub-ui.grest-ui .grestDaysGrid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 460px){
  body.pub-ui.grest-ui .grestDaysGrid{ grid-template-columns: 1fr; }
}
body.pub-ui.grest-ui .grestDayCard{
  border:1px solid var(--pub-border);
  border-radius: 14px;
  background: var(--pub-surface-2);
  padding: 10px 12px;
}
body.pub-ui.grest-ui .grestDayCard label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  cursor:pointer;
}
body.pub-ui.grest-ui .grestDayCard .d1{
  font-weight: 900;
}
body.pub-ui.grest-ui .grestDayCard .d2{
  font-size: 12px;
  color: var(--pub-muted);
  font-weight: 800;
  margin-top: 2px;
}

body.pub-ui.grest-ui .grestPrefWrap{
  display:grid;
  gap:12px;
  grid-template-columns: repeat(3, minmax(0,1fr));
}
@media (max-width: 860px){
  body.pub-ui.grest-ui .grestPrefWrap{ grid-template-columns: 1fr; }
}

body.pub-ui.grest-ui .grestTableCompact th,
body.pub-ui.grest-ui .grestTableCompact td{
  padding: 9px 10px;
}

body.pub-ui.grest-public{
  min-height: 100vh;
  background:
    radial-gradient(1200px 650px at 12% -12%, rgba(var(--grest-accent-rgb), .22), transparent 60%),
    radial-gradient(1100px 650px at 95% 0%, rgba(var(--grest-accent-2-rgb), .18), transparent 55%),
    radial-gradient(900px 520px at 70% 115%, rgba(var(--grest-accent-3-rgb), .14), transparent 55%),
    var(--pub-bg);
}
body.pub-ui.grest-public .publicWrap{
  max-width: 900px;
  margin: 0 auto;
  padding: 22px 14px 40px;
}
body.pub-ui.grest-public .publicHero{
  margin-bottom: 14px;
}
body.pub-ui.grest-public .publicHero .t{
  font-size: 28px;
  font-weight: 950;
}
body.pub-ui.grest-public .publicHero .s{
  margin-top: 8px;
  color: var(--pub-muted);
  line-height: 1.45;
}
body.pub-ui.grest-public .publicFoot{
  margin-top: 12px;
  color: var(--pub-muted);
  font-size: 12px;
  font-weight: 800;
}


body.pub-ui.grest-ui .grestCalendarToolbar{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
body.pub-ui.grest-ui .grestCalendarWrap{
  display:grid;
  gap:16px;
}
body.pub-ui.grest-ui .grestMonthCard{
  border:1px solid var(--pub-border);
  border-radius:18px;
  background:linear-gradient(180deg, var(--pub-surface), var(--pub-surface-2));
  box-shadow:var(--pub-panel-glow);
  overflow:hidden;
}
body.pub-ui.grest-ui .grestMonthHead{
  padding:12px 14px;
  font-size:16px;
  font-weight:950;
  border-bottom:1px solid var(--pub-border);
}
body.pub-ui.grest-ui .grestWeekdays,
body.pub-ui.grest-ui .grestMonthGrid{
  display:grid;
  grid-template-columns:repeat(7, minmax(0,1fr));
}
body.pub-ui.grest-ui .grestWeekdays{
  padding:8px 8px 0;
}
body.pub-ui.grest-ui .grestWeekdays > div{
  padding:8px 4px;
  text-align:center;
  color:var(--pub-muted);
  font-size:12px;
  font-weight:900;
}
body.pub-ui.grest-ui .grestMonthGrid{
  gap:8px;
  padding:8px;
}
body.pub-ui.grest-ui .grestCalCell{
  min-height:92px;
  border:1px solid var(--pub-border);
  border-radius:16px;
  background:var(--pub-surface-2);
  padding:10px;
  position:relative;
}
body.pub-ui.grest-ui .grestCalCell-empty{
  background:transparent;
  border-color:transparent;
  min-height:92px;
}
body.pub-ui.grest-ui .grestCalCell-off{
  opacity:.38;
}
body.pub-ui.grest-ui .grestCalCell-day{
  display:flex;
  flex-direction:column;
  gap:8px;
  cursor:pointer;
  transition:transform .14s ease, border-color .14s ease, background .14s ease, box-shadow .14s ease;
}
body.pub-ui.grest-ui .grestCalCell-day:hover{
  transform:translateY(-1px);
  border-color:rgba(var(--grest-accent-rgb), .55);
}
body.pub-ui.grest-ui .grestCalCell-day.is-selected{
  border-color:rgba(var(--grest-accent-rgb), .9);
  background:rgba(var(--grest-accent-rgb), .12);
  box-shadow:0 0 0 1px rgba(var(--grest-accent-rgb), .18) inset;
}
body.pub-ui.grest-ui .grestCalCell-day.is-readonly{
  cursor:default;
}
body.pub-ui.grest-ui .grestCalInput{
  position:absolute;
  inset:auto 10px 10px auto;
  width:18px;
  height:18px;
}
body.pub-ui.grest-ui .grestCalCell .num{
  font-size:20px;
  font-weight:950;
  line-height:1;
}
body.pub-ui.grest-ui .grestCalCell .meta{
  font-size:12px;
  font-weight:800;
  color:var(--pub-muted);
  line-height:1.3;
  padding-right:26px;
}
@media (max-width: 820px){
  body.pub-ui.grest-ui .grestCalCell,
  body.pub-ui.grest-ui .grestCalCell-empty{ min-height:78px; }
  body.pub-ui.grest-ui .grestCalCell .num{ font-size:18px; }
}
@media (max-width: 560px){
  body.pub-ui.grest-ui .grestWeekdays,
  body.pub-ui.grest-ui .grestMonthGrid{ gap:6px; }
  body.pub-ui.grest-ui .grestMonthGrid{ padding:6px; }
  body.pub-ui.grest-ui .grestCalCell,
  body.pub-ui.grest-ui .grestCalCell-empty{ min-height:68px; padding:8px; }
  body.pub-ui.grest-ui .grestCalCell .meta{ font-size:11px; }
}


/* ==========================================================
   Gr.Est. UI – rifinitura pastello elegante
   Aggiornamento 2026-05-02
   Scope: solo body.pub-ui.grest-ui
   ========================================================== */

:root{
  --grest-pastel-blue: 118, 174, 232;
  --grest-pastel-mint: 127, 200, 169;
  --grest-pastel-cream: 255, 240, 184;
  --grest-pastel-peach: 255, 217, 188;
  --grest-pastel-violet: 217, 207, 248;
  --grest-ink: #203847;
}

body.pub-ui.grest-ui{
  --grest-accent-rgb: var(--grest-pastel-mint);
  --grest-accent-2-rgb: var(--grest-pastel-blue);
  --grest-accent-3-rgb: var(--grest-pastel-cream);
  --pub-accent: #7fc8a9;
  --pub-accent-2: #76aee8;
  --pub-accent-3: #f0c66c;
  --pub-accent-rgb: var(--grest-pastel-mint);
  --pub-accent-2-rgb: var(--grest-pastel-blue);
  --pub-accent-3-rgb: 240, 198, 108;
  --pub-warn-rgb: 232, 163, 91;
  --pub-bad-rgb: 229, 139, 139;
}

body.pub-ui.theme-light.grest-ui{
  --pub-bg: #fbfaf7;
  --pub-text: #203847;
  --pub-muted: rgba(57, 75, 92, .72);
  --pub-border: rgba(98, 111, 124, .16);
  --pub-surface: rgba(255,255,255,.94);
  --pub-surface-2: rgba(255,255,255,.78);
  --pub-shadow: 0 16px 36px rgba(47, 64, 80, .10);
  --pub-panel-glow: 0 0 0 1px rgba(255,255,255,.62), 0 16px 34px rgba(47,64,80,.10);
  background:
    radial-gradient(900px 520px at 6% -12%, rgba(var(--grest-pastel-mint), .32), transparent 60%),
    radial-gradient(780px 460px at 94% -8%, rgba(var(--grest-pastel-violet), .36), transparent 58%),
    radial-gradient(700px 430px at 82% 112%, rgba(var(--grest-pastel-peach), .32), transparent 58%),
    linear-gradient(180deg, #fffaf0 0%, #fbfaf7 48%, #f4fbff 100%);
}

body.pub-ui.theme-dark.grest-ui{
  --pub-accent-rgb: 98, 190, 158;
  --pub-accent-2-rgb: 125, 172, 235;
  --pub-accent-3-rgb: 228, 186, 99;
}

body.pub-ui.grest-ui .wrap{
  max-width: 1480px;
  padding: 16px;
}

body.pub-ui.grest-ui .pubTopbar{
  backdrop-filter: blur(16px);
  background: rgba(255,255,255,.72);
  border-bottom: 1px solid rgba(98,111,124,.13);
}
body.pub-ui.theme-dark.grest-ui .pubTopbar{ background: rgba(7,11,24,.74); }
body.pub-ui.grest-ui .pubTopbarTitle{ font-weight: 1000; color: var(--grest-ink); }
body.pub-ui.theme-dark.grest-ui .pubTopbarTitle{ color: var(--pub-text); }
body.pub-ui.grest-ui .grestTopbarSpacer{ width:92px; }

body.pub-ui.grest-ui .pubPageHeader .head{
  position: relative;
  overflow: hidden;
  align-items: flex-start;
  border-radius: 24px;
  padding: 20px;
  border: 1px solid rgba(98,111,124,.14);
  background:
    radial-gradient(260px 160px at 100% 0%, rgba(var(--grest-pastel-violet), .40), transparent 64%),
    radial-gradient(240px 160px at 82% 100%, rgba(var(--grest-pastel-mint), .26), transparent 64%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,247,236,.90));
  box-shadow: 0 18px 42px rgba(47,64,80,.10);
}
body.pub-ui.theme-dark.grest-ui .pubPageHeader .head{
  background: linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.05));
}
body.pub-ui.grest-ui .pubPageHeaderInfo .title,
body.pub-ui.grest-ui .grestHero .title{
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  line-height: 1.08;
  letter-spacing: -.035em;
  color: var(--grest-ink);
}
body.pub-ui.theme-dark.grest-ui .pubPageHeaderInfo .title,
body.pub-ui.theme-dark.grest-ui .grestHero .title{ color: var(--pub-text); }
body.pub-ui.grest-ui .pubPageHeaderInfo .small,
body.pub-ui.grest-ui .grestHero .sub{ line-height: 1.48; }

body.pub-ui.grest-ui .panel,
body.pub-ui.grest-ui.pub-admin .card,
body.pub-ui.grest-ui.pub-kitchen .card{
  border-radius: 22px;
  border-color: rgba(98,111,124,.15);
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.78));
  box-shadow: 0 16px 34px rgba(47,64,80,.09);
}
body.pub-ui.theme-dark.grest-ui .panel,
body.pub-ui.theme-dark.grest-ui.pub-admin .card,
body.pub-ui.theme-dark.grest-ui.pub-kitchen .card{
  background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.045));
}
body.pub-ui.grest-ui.pub-admin .card > h2,
body.pub-ui.grest-ui .panel .head{
  border-bottom-color: rgba(98,111,124,.13);
  background:
    linear-gradient(90deg, rgba(var(--grest-pastel-blue), .15), rgba(var(--grest-pastel-peach), .18));
  color: var(--grest-ink);
}
body.pub-ui.grest-ui.pub-admin .card:nth-of-type(3n+1) > h2{ background: linear-gradient(90deg, rgba(var(--grest-pastel-mint), .18), rgba(255,255,255,.12)); }
body.pub-ui.grest-ui.pub-admin .card:nth-of-type(3n+2) > h2{ background: linear-gradient(90deg, rgba(var(--grest-pastel-blue), .16), rgba(255,255,255,.12)); }
body.pub-ui.grest-ui.pub-admin .card:nth-of-type(3n+3) > h2{ background: linear-gradient(90deg, rgba(var(--grest-pastel-peach), .24), rgba(255,255,255,.12)); }

body.pub-ui.grest-ui .input,
body.pub-ui.grest-ui input[type="text"],
body.pub-ui.grest-ui input[type="email"],
body.pub-ui.grest-ui input[type="date"],
body.pub-ui.grest-ui input[type="number"],
body.pub-ui.grest-ui select,
body.pub-ui.grest-ui textarea{
  border-radius: 14px;
  border-color: rgba(98,111,124,.20);
  background: rgba(255,253,248,.92);
}
body.pub-ui.grest-ui .input:focus,
body.pub-ui.grest-ui input:focus,
body.pub-ui.grest-ui select:focus,
body.pub-ui.grest-ui textarea:focus{
  border-color: rgba(var(--grest-pastel-blue), .95);
  box-shadow: 0 0 0 4px rgba(var(--grest-pastel-blue), .18);
}

body.pub-ui.grest-ui .btn,
body.pub-ui.grest-ui .btnx{
  border-radius: 999px;
  border-color: rgba(98,111,124,.16);
  background: rgba(255,255,255,.74);
  box-shadow: 0 8px 18px rgba(47,64,80,.06);
}
body.pub-ui.grest-ui .btn:hover,
body.pub-ui.grest-ui .btnx:hover{
  border-color: rgba(var(--grest-pastel-blue), .45);
  transform: translateY(-1px);
  background: rgba(255,255,255,.94);
}
body.pub-ui.grest-ui .btn:not(.ghost):not(.danger):not(.sm),
body.pub-ui.grest-ui .btn.primary,
body.pub-ui.grest-ui .btnx.alt{
  background: linear-gradient(135deg, rgba(var(--grest-pastel-blue), .22), rgba(var(--grest-pastel-mint), .24));
  border-color: rgba(var(--grest-pastel-blue), .36);
}
body.pub-ui.grest-ui .btn.danger,
body.pub-ui.grest-ui .btnx.danger{
  background: linear-gradient(135deg, rgba(229,139,139,.16), rgba(255,255,255,.74));
  border-color: rgba(229,139,139,.42);
}

body.pub-ui.grest-ui .badge{
  padding: 5px 9px;
  border-radius: 999px;
}
body.pub-ui.grest-ui .badge.ok{ color:#2f6f55; border-color: rgba(var(--grest-pastel-mint), .55); background: rgba(var(--grest-pastel-mint), .18); }
body.pub-ui.grest-ui .badge.primary{ color:#3f6f9d; border-color: rgba(var(--grest-pastel-blue), .55); background: rgba(var(--grest-pastel-blue), .16); }
body.pub-ui.grest-ui .badge.warn{ color:#8a621d; border-color: rgba(232,163,91,.48); background: rgba(var(--grest-pastel-cream), .44); }
body.pub-ui.grest-ui .badge.bad{ color:#9d4747; border-color: rgba(229,139,139,.44); background: rgba(229,139,139,.14); }

body.pub-ui.grest-ui .grestKpi{
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
body.pub-ui.grest-ui .grestK{
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  border-color: rgba(98,111,124,.14);
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,250,242,.80));
}
body.pub-ui.grest-ui .grestK::after{
  content:"";
  position:absolute;
  right:-30px;
  bottom:-34px;
  width:84px;
  height:84px;
  border-radius:999px;
  background: rgba(var(--grest-pastel-blue), .16);
}
body.pub-ui.grest-ui .grestK:nth-child(3n+2)::after{ background: rgba(var(--grest-pastel-mint), .18); }
body.pub-ui.grest-ui .grestK:nth-child(3n+3)::after{ background: rgba(var(--grest-pastel-peach), .32); }
body.pub-ui.grest-ui .grestK .v{ position:relative; z-index:1; color: var(--grest-ink); }
body.pub-ui.grest-ui .grestK .l{ position:relative; z-index:1; }

body.pub-ui.grest-ui .hubSec-operativita{ --hub-accent-rgb: var(--grest-pastel-mint); }
body.pub-ui.grest-ui .hubSec-gestione{ --hub-accent-rgb: var(--grest-pastel-blue); }
body.pub-ui.grest-ui .hubSec-personale{ --hub-accent-rgb: var(--grest-pastel-peach); }
body.pub-ui.grest-ui a.hubCard{
  min-height: 92px;
  border-radius: 20px;
  border-color: rgba(var(--hub-accent-rgb), .30);
  background: linear-gradient(135deg, rgba(255,255,255,.84), rgba(var(--hub-accent-rgb), .08));
  box-shadow: 0 10px 24px rgba(47,64,80,.06);
}
body.pub-ui.grest-ui a.hubCard:hover{
  border-color: rgba(var(--hub-accent-rgb), .58);
  box-shadow: 0 16px 32px rgba(47,64,80,.10);
}
body.pub-ui.grest-ui .hubIcon,
body.pub-ui.grest-ui .hubIco{
  width:44px;
  height:44px;
  border-radius:16px;
  background: linear-gradient(180deg, rgba(var(--hub-accent-rgb), .24), rgba(var(--hub-accent-rgb), .10));
  border:1px solid rgba(var(--hub-accent-rgb), .36);
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
body.pub-ui.grest-ui .hubIcon i,
body.pub-ui.grest-ui .hubIco i{ color: rgba(var(--hub-accent-rgb), .95); font-size:18px; }
body.pub-ui.grest-ui .hubTit,
body.pub-ui.grest-ui .hubTxt .t{ font-weight:1000; color:var(--grest-ink); }
body.pub-ui.grest-ui .hubSub,
body.pub-ui.grest-ui .hubTxt .s{ color:var(--pub-muted); line-height:1.36; font-weight:750; }
body.pub-ui.theme-dark.grest-ui .hubTit,
body.pub-ui.theme-dark.grest-ui .hubTxt .t{ color:var(--pub-text); }

body.pub-ui.grest-ui .grestDayCard{
  border-radius: 16px;
  border-color: rgba(98,111,124,.16);
  background: linear-gradient(135deg, rgba(255,255,255,.88), rgba(var(--grest-pastel-cream), .22));
}
body.pub-ui.grest-ui .grestDayCard input[type="checkbox"]{ accent-color:#6cae96; }
body.pub-ui.grest-ui .grestDayCard .d1{ color:var(--grest-ink); }

body.pub-ui.grest-ui .grestMonthCard{
  border-radius: 22px;
  border-color: rgba(98,111,124,.15);
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.76));
}
body.pub-ui.grest-ui .grestMonthHead{
  background: linear-gradient(90deg, rgba(var(--grest-pastel-violet), .26), rgba(var(--grest-pastel-blue), .13));
  color: var(--grest-ink);
}
body.pub-ui.grest-ui .grestCalCell-day{
  border-color: rgba(98,111,124,.15);
  background: rgba(255,255,255,.88);
}
body.pub-ui.grest-ui .grestCalCell-day:hover{
  border-color: rgba(var(--grest-pastel-blue), .62);
  background: rgba(var(--grest-pastel-blue), .09);
}
body.pub-ui.grest-ui .grestCalCell-day.is-selected{
  border-color: rgba(var(--grest-pastel-mint), .92);
  background: linear-gradient(135deg, rgba(var(--grest-pastel-mint), .22), rgba(255,255,255,.80));
}

body.pub-ui.grest-ui .tableWrap,
body.pub-ui.grest-ui .grestTableWrap{
  border-radius: 18px;
  border: 1px solid rgba(98,111,124,.14);
  overflow: auto;
  background: rgba(255,255,255,.72);
}
body.pub-ui.grest-ui table thead th,
body.pub-ui.grest-ui .grestTableCompact thead th{
  background: linear-gradient(180deg, rgba(var(--grest-pastel-blue), .14), rgba(var(--grest-pastel-cream), .18));
  color: var(--grest-ink);
}
body.pub-ui.grest-ui table tbody tr:hover{ background: rgba(var(--grest-pastel-blue), .07); }

/* Regole centralizzate tolte dagli style inline delle pagine Gr.Est. */
body.pub-ui.grest-ui .grestAnimDesktop{ display:block; }
body.pub-ui.grest-ui .grestAnimMobile{ display:none; }
body.pub-ui.grest-ui .grestAnimCard{ border:1px solid var(--pub-border); border-radius:18px; background:linear-gradient(135deg, rgba(255,255,255,.92), rgba(var(--grest-pastel-blue), .07)); padding:13px; margin-top:10px; box-shadow:0 12px 26px rgba(47,64,80,.07); }
body.pub-ui.grest-ui .grestAnimCardHead{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
body.pub-ui.grest-ui .grestAnimCardName{ font-size:15px; font-weight:1000; line-height:1.2; color:var(--grest-ink); }
body.pub-ui.grest-ui .grestAnimCardSub{ color:var(--pub-muted); font-size:12px; font-weight:800; margin-top:4px; }
body.pub-ui.grest-ui .grestAnimInfoGrid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:12px; }
body.pub-ui.grest-ui .grestAnimInfoBox{ border:1px solid var(--pub-border); border-radius:14px; background:rgba(255,255,255,.70); padding:10px; min-width:0; }
body.pub-ui.grest-ui .grestAnimInfoBox .k{ color:var(--pub-muted); font-size:11px; font-weight:1000; text-transform:uppercase; letter-spacing:.35px; margin-bottom:6px; }
body.pub-ui.grest-ui .grestAnimSrvRow{ display:flex; gap:8px; flex-wrap:wrap; }
body.pub-ui.grest-ui .grestFilterGrid{ display:grid; gap:10px; grid-template-columns:repeat(4,minmax(0,1fr)); }
body.pub-ui.grest-ui .grestResultsHead{ display:flex; justify-content:space-between; gap:10px; align-items:center; flex-wrap:wrap; }

body.pub-ui.grest-ui .gpsGrid{display:grid;grid-template-columns:1.2fr .9fr;gap:14px}
body.pub-ui.grest-ui .gpsInfo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.pub-ui.grest-ui .gpsBox{background:rgba(255,255,255,.88);border:1px solid rgba(98,111,124,.15);border-radius:18px;padding:14px;box-shadow:0 12px 26px rgba(47,64,80,.07)}
body.pub-ui.grest-ui .gpsLabel{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:#6b8294;font-weight:900}
body.pub-ui.grest-ui .gpsVal{margin-top:4px;color:var(--grest-ink);font-weight:750;line-height:1.45}
body.pub-ui.grest-ui .gpsKpis{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px}
body.pub-ui.grest-ui .gpsK{background:linear-gradient(135deg, rgba(255,255,255,.88), rgba(var(--grest-pastel-cream), .22));border:1px solid rgba(98,111,124,.14);border-radius:18px;padding:14px}
body.pub-ui.grest-ui .gpsK .v{font-size:1.5rem;font-weight:1000;color:var(--grest-ink);line-height:1}
body.pub-ui.grest-ui .gpsK .l{margin-top:6px;font-size:.9rem;color:#5d7487}
body.pub-ui.grest-ui .gpsWeeks{display:grid;gap:8px}
body.pub-ui.grest-ui .gpsWeek{background:rgba(255,255,255,.78);border:1px solid rgba(98,111,124,.14);border-radius:14px;padding:10px 12px}
body.pub-ui.grest-ui .gpsWeek .tit{font-weight:900;color:var(--grest-ink)}
body.pub-ui.grest-ui .gpsWeek .sub{font-size:.9rem;color:#5f7689;line-height:1.45}
body.pub-ui.grest-ui .gpsBadges{display:flex;flex-wrap:wrap;gap:6px}
body.pub-ui.grest-ui .gpsActions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
body.pub-ui.grest-ui .gpsPresTable td,body.pub-ui.grest-ui .gpsPresTable th{vertical-align:middle}
body.pub-ui.grest-ui .gpsPresTable input[type="text"]{min-width:220px}
body.pub-ui.grest-ui .gpsDanger{color:#9f1239;font-weight:800}
body.pub-ui.grest-ui .gpsMuted{color:#64748b;font-size:.86rem;line-height:1.35}
body.pub-ui.grest-ui .gpsReceiptBtns{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
body.pub-ui.grest-ui .gpsMini{font-size:.78rem;color:#64748b;margin-top:4px}
body.pub-ui.grest-ui .btn[disabled]{opacity:.65;cursor:wait}

body.pub-ui.grest-ui .gpKpi{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;margin-top:12px}
body.pub-ui.grest-ui .gpK{background:linear-gradient(135deg, rgba(255,255,255,.92), rgba(var(--grest-pastel-blue), .07));border:1px solid rgba(98,111,124,.15);border-radius:20px;padding:16px;box-shadow:0 12px 28px rgba(47,64,80,.07)}
body.pub-ui.grest-ui .gpK .v{font-size:1.8rem;font-weight:1000;color:var(--grest-ink);line-height:1}
body.pub-ui.grest-ui .gpK .l{margin-top:6px;color:#597185;font-size:.92rem}
body.pub-ui.grest-ui .gpFilters{display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr auto auto;gap:10px}
body.pub-ui.grest-ui .gpWeeks{display:grid;gap:8px}
body.pub-ui.grest-ui .gpWeeks .wk{background:rgba(255,255,255,.78);border:1px solid rgba(98,111,124,.14);border-radius:14px;padding:10px 12px}
body.pub-ui.grest-ui .gpWeeks .tit{font-weight:900;color:var(--grest-ink)}
body.pub-ui.grest-ui .gpWeeks .sub{font-size:.9rem;color:#5f7689;line-height:1.4}
body.pub-ui.grest-ui .gpBadges{display:flex;flex-wrap:wrap;gap:6px}
body.pub-ui.grest-ui .gpSmall{font-size:.86rem;color:#61798d;line-height:1.45}
body.pub-ui.grest-ui .gpRowOk{background:rgba(var(--grest-pastel-mint),.13)}
body.pub-ui.grest-ui .gpRowWarn{background:rgba(var(--grest-pastel-cream),.30)}
body.pub-ui.grest-ui .gpAlert{color:#9f1239;font-weight:800}
body.pub-ui.grest-ui .gpAction{display:grid;gap:8px}
body.pub-ui.grest-ui .gpMoney{font-weight:900;color:var(--grest-ink)}

body.pub-ui.grest-ui.grest-ricevuta-preview .previewWrap{max-width:720px;margin:0 auto;padding:14px}
body.pub-ui.grest-ui.grest-ricevuta-preview .receiptPreview{width:min(100%,460px);margin:0 auto;background:var(--pub-surface);border:1px solid var(--pub-border);border-radius:22px;padding:18px;box-shadow:0 16px 34px rgba(47,64,80,.10)}
body.pub-ui.grest-ui.grest-ricevuta-preview .receiptPreview .s22{font-size:26px;font-weight:1000}
body.pub-ui.grest-ui.grest-ricevuta-preview .receiptPreview .s21{font-size:20px;font-weight:950}
body.pub-ui.grest-ui .previewActions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:14px}
body.pub-ui.grest-ui .toastPrint{position:fixed;right:16px;bottom:16px;z-index:9999;max-width:360px;padding:12px 14px;border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.18);background:var(--pub-surface);border:1px solid var(--pub-border);display:none;font-weight:800}
body.pub-ui.grest-ui .toastPrint.ok{border-color:rgba(var(--pub-accent-3-rgb),.5)}
body.pub-ui.grest-ui .toastPrint.bad{border-color:rgba(var(--pub-bad-rgb),.5)}
body.pub-ui.grest-ui .actionsInline{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
body.pub-ui.grest-ui .grestWeekCards{display:grid;gap:10px}

body.pub-ui.grest-ui .grestSelectWide{min-width:260px;max-width:420px;width:100%}
body.pub-ui.grest-ui .grestFilterCheck{padding-top:12px}
body.pub-ui.grest-ui .grestFormActionsEnd{display:flex;align-items:end;gap:8px}
body.pub-ui.grest-ui .grestMb10{margin-bottom:10px}
body.pub-ui.grest-ui .grestFullRow{grid-column:1 / -1}
body.pub-ui.grest-ui .grestMax160{max-width:160px}
body.pub-ui.grest-ui .grestMax260{max-width:260px}
body.pub-ui.grest-ui .grestMax320{max-width:320px}

@media (min-width: 900px){ body.pub-ui.grest-ui .grestWeekCards{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:1080px){
  body.pub-ui.grest-ui .grestFilterGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.pub-ui.grest-ui .gpsGrid,
  body.pub-ui.grest-ui .gpsInfo,
  body.pub-ui.grest-ui .gpsKpis{grid-template-columns:1fr}
  body.pub-ui.grest-ui .gpsPresTable input[type="text"]{min-width:160px}
  body.pub-ui.grest-ui .gpKpi{grid-template-columns:repeat(2,minmax(140px,1fr))}
  body.pub-ui.grest-ui .gpFilters{grid-template-columns:1fr}
}
@media (max-width:860px){ body.pub-ui.grest-ui .grestAnimDesktop{display:none} body.pub-ui.grest-ui .grestAnimMobile{display:block} }
@media (max-width:640px){ body.pub-ui.grest-ui .grestFilterGrid, body.pub-ui.grest-ui .grestAnimInfoGrid{grid-template-columns:1fr} }
@media (max-width:680px){
  body.pub-ui.grest-ui .wrap{padding:10px}
  body.pub-ui.grest-ui .pubPageHeader .head{padding:16px;border-radius:20px}
  body.pub-ui.grest-ui .grestInline{gap:8px}
  body.pub-ui.grest-ui .toolbarRow{align-items:stretch;flex-direction:column}
  body.pub-ui.grest-ui .toolbarRow .btn,
  body.pub-ui.grest-ui .toolbarRow button{width:100%}
  body.pub-ui.grest-ui .grestFormActionsEnd{display:grid;grid-template-columns:1fr;align-items:stretch}
  body.pub-ui.grest-ui .grestMax160,
  body.pub-ui.grest-ui .grestMax260,
  body.pub-ui.grest-ui .grestMax320{max-width:none}
}

/* ==========================================================
   Gr.Est. UI – variante pastello più evidente
   Aggiornamento 2026-05-02 b
   Mantiene l'eleganza ma aumenta contrasto, saturazione e leggibilità.
   ========================================================== */
:root{
  --grest-pastel-blue: 86, 158, 226;
  --grest-pastel-mint: 87, 185, 145;
  --grest-pastel-cream: 255, 218, 124;
  --grest-pastel-peach: 255, 188, 139;
  --grest-pastel-violet: 180, 162, 238;
  --grest-ink: #183345;
}

body.pub-ui.grest-ui{
  --pub-accent:#57b991;
  --pub-accent-2:#569ee2;
  --pub-accent-3:#e9ad3f;
  --pub-accent-rgb:87,185,145;
  --pub-accent-2-rgb:86,158,226;
  --pub-accent-3-rgb:233,173,63;
}

body.pub-ui.theme-light.grest-ui{
  --pub-muted: rgba(42, 61, 77, .78);
  --pub-border: rgba(62, 83, 104, .22);
  background:
    radial-gradient(900px 520px at 6% -12%, rgba(var(--grest-pastel-mint), .42), transparent 60%),
    radial-gradient(780px 460px at 94% -8%, rgba(var(--grest-pastel-violet), .45), transparent 58%),
    radial-gradient(700px 430px at 82% 112%, rgba(var(--grest-pastel-peach), .42), transparent 58%),
    linear-gradient(180deg, #fff6df 0%, #fbfaf7 45%, #edf8ff 100%);
}

body.pub-ui.grest-ui .pubPageHeader .head{
  border-color: rgba(62,83,104,.22);
  background:
    radial-gradient(290px 180px at 100% 0%, rgba(var(--grest-pastel-violet), .55), transparent 64%),
    radial-gradient(260px 170px at 82% 100%, rgba(var(--grest-pastel-mint), .40), transparent 64%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,243,224,.95));
  box-shadow: 0 20px 46px rgba(47,64,80,.13);
}

body.pub-ui.grest-ui .panel,
body.pub-ui.grest-ui.pub-admin .card,
body.pub-ui.grest-ui.pub-kitchen .card{
  border-color: rgba(62,83,104,.22);
  box-shadow: 0 18px 38px rgba(47,64,80,.12);
}

body.pub-ui.grest-ui.pub-admin .card > h2,
body.pub-ui.grest-ui .panel .head{
  background: linear-gradient(90deg, rgba(var(--grest-pastel-blue), .24), rgba(var(--grest-pastel-peach), .28));
  border-bottom-color: rgba(62,83,104,.20);
}
body.pub-ui.grest-ui.pub-admin .card:nth-of-type(3n+1) > h2{ background: linear-gradient(90deg, rgba(var(--grest-pastel-mint), .30), rgba(255,255,255,.18)); }
body.pub-ui.grest-ui.pub-admin .card:nth-of-type(3n+2) > h2{ background: linear-gradient(90deg, rgba(var(--grest-pastel-blue), .28), rgba(255,255,255,.18)); }
body.pub-ui.grest-ui.pub-admin .card:nth-of-type(3n+3) > h2{ background: linear-gradient(90deg, rgba(var(--grest-pastel-peach), .36), rgba(255,255,255,.18)); }

body.pub-ui.grest-ui .input,
body.pub-ui.grest-ui input[type="text"],
body.pub-ui.grest-ui input[type="email"],
body.pub-ui.grest-ui input[type="date"],
body.pub-ui.grest-ui input[type="number"],
body.pub-ui.grest-ui select,
body.pub-ui.grest-ui textarea{
  border-color: rgba(62,83,104,.28);
  background: rgba(255,250,231,.96);
}
body.pub-ui.grest-ui .input:focus,
body.pub-ui.grest-ui input:focus,
body.pub-ui.grest-ui select:focus,
body.pub-ui.grest-ui textarea:focus{
  border-color: rgba(var(--grest-pastel-blue), 1);
  box-shadow: 0 0 0 4px rgba(var(--grest-pastel-blue), .25);
}

body.pub-ui.grest-ui .btn:not(.ghost):not(.danger):not(.sm),
body.pub-ui.grest-ui .btn.primary,
body.pub-ui.grest-ui .btnx.alt{
  background: linear-gradient(135deg, rgba(var(--grest-pastel-blue), .34), rgba(var(--grest-pastel-mint), .36));
  border-color: rgba(var(--grest-pastel-blue), .52);
  color: var(--grest-ink);
}
body.pub-ui.grest-ui .btn:not(.ghost):not(.danger):not(.sm):hover,
body.pub-ui.grest-ui .btn.primary:hover,
body.pub-ui.grest-ui .btnx.alt:hover{
  background: linear-gradient(135deg, rgba(var(--grest-pastel-blue), .44), rgba(var(--grest-pastel-mint), .44));
  border-color: rgba(var(--grest-pastel-blue), .68);
}
body.pub-ui.grest-ui .btn.danger,
body.pub-ui.grest-ui .btnx.danger{
  background: linear-gradient(135deg, rgba(229,104,104,.24), rgba(255,255,255,.78));
  border-color: rgba(229,104,104,.56);
}

body.pub-ui.grest-ui .badge.ok{ color:#1f684d; border-color: rgba(var(--grest-pastel-mint), .76); background: rgba(var(--grest-pastel-mint), .29); }
body.pub-ui.grest-ui .badge.primary{ color:#285f91; border-color: rgba(var(--grest-pastel-blue), .78); background: rgba(var(--grest-pastel-blue), .27); }
body.pub-ui.grest-ui .badge.warn{ color:#7d5310; border-color: rgba(233,173,63,.72); background: rgba(var(--grest-pastel-cream), .62); }
body.pub-ui.grest-ui .badge.bad{ color:#913838; border-color: rgba(229,104,104,.64); background: rgba(229,104,104,.22); }

body.pub-ui.grest-ui .grestK{
  border-color: rgba(62,83,104,.22);
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,246,230,.90));
}
body.pub-ui.grest-ui .grestK::after{ background: rgba(var(--grest-pastel-blue), .27); }
body.pub-ui.grest-ui .grestK:nth-child(3n+2)::after{ background: rgba(var(--grest-pastel-mint), .29); }
body.pub-ui.grest-ui .grestK:nth-child(3n+3)::after{ background: rgba(var(--grest-pastel-peach), .45); }

body.pub-ui.grest-ui a.hubCard{
  border-color: rgba(var(--hub-accent-rgb), .46);
  background: linear-gradient(135deg, rgba(255,255,255,.88), rgba(var(--hub-accent-rgb), .16));
  box-shadow: 0 12px 26px rgba(47,64,80,.09);
}
body.pub-ui.grest-ui a.hubCard:hover{
  border-color: rgba(var(--hub-accent-rgb), .78);
  background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(var(--hub-accent-rgb), .23));
  box-shadow: 0 18px 36px rgba(47,64,80,.13);
}
body.pub-ui.grest-ui .hubIcon,
body.pub-ui.grest-ui .hubIco{
  background: linear-gradient(180deg, rgba(var(--hub-accent-rgb), .36), rgba(var(--hub-accent-rgb), .18));
  border-color: rgba(var(--hub-accent-rgb), .55);
}

body.pub-ui.grest-ui .grestDayCard{
  border-color: rgba(62,83,104,.22);
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(var(--grest-pastel-cream), .34));
}
body.pub-ui.grest-ui .grestDayCard:hover{
  border-color: rgba(var(--grest-pastel-mint), .58);
  background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(var(--grest-pastel-mint), .20));
}
body.pub-ui.grest-ui .grestDayCard input[type="checkbox"]{ accent-color:#43a77b; }

body.pub-ui.grest-ui .grestMonthCard{
  border-color: rgba(62,83,104,.22);
  box-shadow: 0 18px 38px rgba(47,64,80,.12);
}
body.pub-ui.grest-ui .grestMonthHead{
  background: linear-gradient(90deg, rgba(var(--grest-pastel-violet), .40), rgba(var(--grest-pastel-blue), .25));
}
body.pub-ui.grest-ui .grestCalCell-day{
  border-color: rgba(62,83,104,.20);
  background: rgba(255,255,255,.93);
}
body.pub-ui.grest-ui .grestCalCell-day:hover{
  border-color: rgba(var(--grest-pastel-blue), .78);
  background: rgba(var(--grest-pastel-blue), .16);
}
body.pub-ui.grest-ui .grestCalCell-day.is-selected{
  border-color: rgba(var(--grest-pastel-mint), 1);
  background: linear-gradient(135deg, rgba(var(--grest-pastel-mint), .34), rgba(255,255,255,.84));
  box-shadow: 0 0 0 2px rgba(var(--grest-pastel-mint), .24) inset;
}

body.pub-ui.grest-ui .tableWrap,
body.pub-ui.grest-ui .grestTableWrap{
  border-color: rgba(62,83,104,.22);
  box-shadow: 0 14px 30px rgba(47,64,80,.08);
}
body.pub-ui.grest-ui table thead th,
body.pub-ui.grest-ui .grestTableCompact thead th{
  background: linear-gradient(180deg, rgba(var(--grest-pastel-blue), .25), rgba(var(--grest-pastel-cream), .30));
}
body.pub-ui.grest-ui table tbody tr:hover{ background: rgba(var(--grest-pastel-blue), .13); }

body.pub-ui.grest-ui .grestAnimCard,
body.pub-ui.grest-ui .gpK,
body.pub-ui.grest-ui .gpsBox,
body.pub-ui.grest-ui .gpsK,
body.pub-ui.grest-ui .gpsWeek,
body.pub-ui.grest-ui .gpWeeks .wk{
  border-color: rgba(62,83,104,.22);
  box-shadow: 0 14px 30px rgba(47,64,80,.09);
}
body.pub-ui.grest-ui .grestAnimCard{ background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(var(--grest-pastel-blue), .14)); }
body.pub-ui.grest-ui .gpK{ background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(var(--grest-pastel-blue), .14)); }
body.pub-ui.grest-ui .gpsK{ background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(var(--grest-pastel-cream), .34)); }
body.pub-ui.grest-ui .gpRowOk{ background: rgba(var(--grest-pastel-mint),.22); }
body.pub-ui.grest-ui .gpRowWarn{ background: rgba(var(--grest-pastel-cream),.48); }

/* =========================================================
   Gr.Est. - Triage mattina / Accoglienza mobile
   ========================================================= */
body.pub-ui.grest-ui.grest-triage-page{
  background:
    radial-gradient(760px 420px at 8% -8%, rgba(var(--grest-pastel-mint), .50), transparent 62%),
    radial-gradient(740px 430px at 94% -10%, rgba(var(--grest-pastel-blue), .48), transparent 60%),
    radial-gradient(620px 380px at 84% 108%, rgba(var(--grest-pastel-peach), .50), transparent 62%),
    linear-gradient(180deg, #fff4dc 0%, #f8fbff 54%, #f8fff8 100%);
}

.triageWrap{ padding-bottom: 42px; }

body.pub-ui.grest-ui .triageHero .head{
  background:
    radial-gradient(260px 170px at 100% 0%, rgba(var(--grest-pastel-violet), .52), transparent 62%),
    radial-gradient(260px 170px at 86% 112%, rgba(var(--grest-pastel-mint), .48), transparent 62%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,241,214,.96));
}

.triageHero .title i{ color:#317cb3; margin-right: 8px; }
.triageHeroActions{ flex-wrap: wrap; justify-content: flex-end; }

.triageStickyPanel{
  position: sticky;
  top: 64px;
  z-index: 20;
  padding: 7px 0 4px;
  backdrop-filter: blur(12px);
}

.triageStats{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.triageStat{
  border: 1px solid rgba(62,83,104,.22);
  border-radius: 18px;
  padding: 12px 10px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 12px 26px rgba(47,64,80,.09);
  text-align: center;
}

.triageStat .v{
  font-size: clamp(1.35rem, 3vw, 2rem);
  line-height: 1;
  font-weight: 900;
  color: #253746;
}

.triageStat .l{
  margin-top: 5px;
  color: rgba(42,61,77,.78);
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.triageStat:nth-child(1){ background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(var(--grest-pastel-blue), .20)); }
.triageStat:nth-child(2){ background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(var(--grest-pastel-cream), .58)); }
.triageStat:nth-child(3){ background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(var(--grest-pastel-mint), .28)); }
.triageStat:nth-child(4){ background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(var(--grest-pastel-peach), .44)); }
.triageStat:nth-child(5){ background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(229,104,104,.18)); }

.triageFilters{
  display: grid;
  grid-template-columns: 1.1fr 1.2fr .9fr 1.2fr auto;
  gap: 12px;
  align-items: end;
}

.triageFilterButtons{
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.triageTabs{
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 12px 2px 3px;
  margin-top: 4px;
  scrollbar-width: none;
}
.triageTabs::-webkit-scrollbar{ display:none; }

.triageTab{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid rgba(62,83,104,.22);
  background: rgba(255,255,255,.78);
  color: #2b4458;
  text-decoration: none !important;
  font-weight: 850;
  white-space: nowrap;
  box-shadow: 0 8px 18px rgba(47,64,80,.06);
}

.triageTab.is-active{
  background: linear-gradient(135deg, rgba(var(--grest-pastel-blue), .34), rgba(var(--grest-pastel-mint), .30));
  border-color: rgba(var(--grest-pastel-blue), .58);
  color: #1f4058;
}

.triageList{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.triageCard{
  position: relative;
  border: 1px solid rgba(62,83,104,.22);
  border-radius: 24px;
  background:
    radial-gradient(180px 120px at 100% 0%, rgba(var(--grest-pastel-blue), .16), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.97), rgba(255,250,239,.90));
  box-shadow: 0 16px 34px rgba(47,64,80,.11);
  padding: 16px;
  overflow: hidden;
}

.triageCard.is-pending{ border-color: rgba(233,173,63,.50); }
.triageCard.is-present{ border-color: rgba(var(--grest-pastel-mint), .72); background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(var(--grest-pastel-mint), .16)); }
.triageCard.is-lunch{ box-shadow: 0 16px 36px rgba(67,167,123,.16); }
.triageCard.is-absent{ border-color: rgba(229,104,104,.48); background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(229,104,104,.10)); }

.triageCardTop{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.triageName{
  font-size: 1.08rem;
  line-height: 1.18;
  font-weight: 950;
  letter-spacing: -.02em;
  color: #223645;
}

.triageMeta{
  margin-top: 4px;
  color: rgba(42,61,77,.78);
  font-size: .86rem;
  line-height: 1.35;
}

.triageState{ flex: 0 0 auto; }

.triageAlert{
  margin-top: 12px;
  padding: 11px 12px;
  border-radius: 16px;
  border: 1px solid rgba(229,104,104,.34);
  background: linear-gradient(135deg, rgba(255,238,226,.92), rgba(255,255,255,.82));
  color: #6f341f;
  font-size: .88rem;
  line-height: 1.38;
}
.triageAlert i{ color:#bd6234; margin-right: 6px; }

.triageMiniInfo{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 11px;
  color: rgba(42,61,77,.78);
  font-size: .84rem;
}

.triageMiniInfo span{
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.68);
  border: 1px solid rgba(62,83,104,.14);
}

.triageActions{
  display: grid;
  grid-template-columns: 1fr 1fr .78fr;
  gap: 9px;
  margin-top: 14px;
}

.triageBtn{
  min-height: 76px;
  border-radius: 18px;
  border: 1px solid rgba(62,83,104,.22);
  background: #fff;
  color: #263746;
  font-weight: 850;
  line-height: 1.1;
  box-shadow: 0 9px 18px rgba(47,64,80,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, filter .15s ease;
  text-align: center;
}

.triageBtn:hover,
.triageBtn:focus{
  transform: translateY(-1px);
  box-shadow: 0 14px 25px rgba(47,64,80,.13);
  outline: none;
}

.triageBtn i{ font-size: 1.25rem; }
.triageBtn b{ font-weight: 950; }
.triageBtn:disabled{ opacity: .72; cursor: wait; transform: none; }

.triageBtnLunch{
  background: linear-gradient(135deg, rgba(var(--grest-pastel-mint), .42), rgba(255,255,255,.92));
  border-color: rgba(var(--grest-pastel-mint), .72);
}
.triageBtnNoLunch{
  background: linear-gradient(135deg, rgba(var(--grest-pastel-blue), .34), rgba(255,255,255,.92));
  border-color: rgba(var(--grest-pastel-blue), .62);
}
.triageBtnAbsent{
  background: linear-gradient(135deg, rgba(229,104,104,.20), rgba(255,255,255,.92));
  border-color: rgba(229,104,104,.45);
}

.triageDetails{
  margin-top: 12px;
  border-top: 1px dashed rgba(62,83,104,.20);
  padding-top: 9px;
}

.triageDetails summary{
  cursor: pointer;
  color: rgba(42,61,77,.74);
  font-weight: 850;
  font-size: .88rem;
}

.triageNoteRow{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
  margin-top: 9px;
}

.triageToast{
  position: fixed;
  left: 50%;
  bottom: 18px;
  z-index: 9999;
  transform: translate(-50%, 120px);
  max-width: min(420px, calc(100vw - 24px));
  padding: 12px 16px;
  border-radius: 999px;
  font-weight: 900;
  text-align: center;
  opacity: 0;
  pointer-events: none;
  transition: transform .22s ease, opacity .22s ease;
  box-shadow: 0 18px 38px rgba(47,64,80,.18);
}

.triageToast.is-visible{ transform: translate(-50%, 0); opacity: 1; }
.triageToast.is-good{ background: #e4f8ee; color: #1f684d; border: 1px solid rgba(var(--grest-pastel-mint), .74); }
.triageToast.is-bad{ background: #fff0f0; color: #913838; border: 1px solid rgba(229,104,104,.54); }

@media (max-width: 920px){
  .triageStickyPanel{ top: 58px; }
  .triageStats{ grid-template-columns: repeat(5, minmax(88px, 1fr)); overflow-x: auto; padding-bottom: 3px; }
  .triageStat{ min-width: 88px; padding: 10px 8px; }
  .triageFilters{ grid-template-columns: 1fr; }
  .triageFilterButtons{ justify-content: stretch; }
  .triageFilterButtons .btn{ flex: 1; }
  .triageList{ grid-template-columns: 1fr; gap: 12px; }
}

@media (max-width: 560px){
  .triageWrap{ padding-left: 9px; padding-right: 9px; }
  .triageHero .head{ padding: 16px; }
  .triageHeroActions{ width: 100%; }
  .triageHeroActions .btn{ flex: 1; justify-content: center; }
  .triageStats{ gap: 7px; }
  .triageStat .v{ font-size: 1.32rem; }
  .triageStat .l{ font-size: .66rem; }
  .triageCard{ border-radius: 22px; padding: 14px; }
  .triageCardTop{ flex-direction: column; align-items: stretch; gap: 9px; }
  .triageState{ align-self: flex-start; }
  .triageActions{ grid-template-columns: 1fr; }
  .triageBtn{ min-height: 64px; justify-content: flex-start; text-align: left; padding: 12px 14px; }
  .triageNoteRow{ grid-template-columns: 1fr; }
  .triageNoteRow .btn{ width: 100%; justify-content: center; }
}
/* =========================================================
   Gr.Est. - Card elenco candidature espandibile
   ========================================================= */

.grestCardHead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px 0 16px;
}

.grestCardHead h2 {
  margin: 0;
}

.grestExpandBtn {
  white-space: nowrap;
}

body.grest-candidates-expanded {
  overflow: hidden;
}

body.grest-candidates-expanded::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9998;
  background: rgba(15, 23, 42, 0.38);
  backdrop-filter: blur(2px);
}

.grestCandidatesCard.is-expanded {
  position: fixed;
  inset: 12px;
  z-index: 9999;
  width: auto;
  max-width: none;
  height: auto;
  margin: 0;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 24px 80px rgba(15, 23, 42, 0.35);
}

.grestCandidatesCard.is-expanded .grestCardHead {
  flex: 0 0 auto;
  padding: 16px 18px 0 18px;
}

.grestCandidatesCard.is-expanded > .body {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.grestCandidatesCard.is-expanded .tableWrap {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow: auto;
}

.grestCandidatesCard.is-expanded .grestTableCompact {
  min-width: 1100px;
}

@media (max-width: 768px) {
  .grestCandidatesCard.is-expanded {
    inset: 6px;
    border-radius: 16px;
  }

  .grestCardHead {
    align-items: flex-start;
  }

  .grestExpandBtn .grestExpandText {
    display: none;
  }
}
/* =========================================================
   Permessi sezioni HUB Gr.Est. - 2026-05-18
   ========================================================= */
body.pub-ui.grest-ui .hubSec-operativita{ --hub-accent-rgb: var(--grest-pastel-mint); }
body.pub-ui.grest-ui .hubSec-segreteria{ --hub-accent-rgb: var(--grest-pastel-violet); }
body.pub-ui.grest-ui .hubSec-gestione{ --hub-accent-rgb: var(--grest-pastel-blue); }
body.pub-ui.grest-ui .hubSec-personale{ --hub-accent-rgb: var(--grest-pastel-peach); }
body.pub-ui.grest-ui .card.hubSec-operativita > h2{ background: linear-gradient(90deg, rgba(var(--grest-pastel-mint), .30), rgba(255,255,255,.18)); }
body.pub-ui.grest-ui .card.hubSec-segreteria > h2{ background: linear-gradient(90deg, rgba(var(--grest-pastel-violet), .34), rgba(255,255,255,.18)); }
body.pub-ui.grest-ui .card.hubSec-gestione > h2{ background: linear-gradient(90deg, rgba(var(--grest-pastel-blue), .28), rgba(255,255,255,.18)); }
body.pub-ui.grest-ui .card.hubSec-personale > h2{ background: linear-gradient(90deg, rgba(var(--grest-pastel-peach), .36), rgba(255,255,255,.18)); }
body.pub-ui.grest-ui .grestPermForm{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
body.pub-ui.grest-ui .grestCheckPill{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(var(--hub-accent-rgb, var(--grest-pastel-blue)), .30);
  background:rgba(255,255,255,.72);
  font-weight:700;
  cursor:pointer;
  user-select:none;
}
body.pub-ui.grest-ui .grestCheckPill input{
  width:auto;
  margin:0;
}
body.pub-ui.grest-ui .btnSmall{
  padding:8px 12px;
  min-height:auto;
}
/* =========================================================
   Fix colori coerenti HUB Gr.Est.
   Incollare IN FONDO a /centro/css/grest_ui.css
   ========================================================= */
body.pub-ui.grest-ui .card.hubSec-operativita{
  --hub-accent-rgb: var(--grest-pastel-peach); /* arancionato */
}
body.pub-ui.grest-ui .card.hubSec-segreteria{
  --hub-accent-rgb: var(--grest-pastel-mint); /* verde */
}
body.pub-ui.grest-ui .card.hubSec-gestione{
  --hub-accent-rgb: var(--grest-pastel-blue); /* blu */
}
body.pub-ui.grest-ui .card.hubSec-personale{
  --hub-accent-rgb: var(--grest-pastel-cream); /* giallo/crema */
}

/* Titolo sezione: usa lo stesso colore dei pulsanti interni */
body.pub-ui.grest-ui .card.hubSec-operativita > h2,
body.pub-ui.grest-ui .card.hubSec-segreteria > h2,
body.pub-ui.grest-ui .card.hubSec-gestione > h2,
body.pub-ui.grest-ui .card.hubSec-personale > h2{
  background: linear-gradient(90deg, rgba(var(--hub-accent-rgb), .34), rgba(255,255,255,.18));
  border-bottom: 1px solid rgba(var(--hub-accent-rgb), .36);
}

/* Card/pulsanti sezione: stesso colore del titolo */
body.pub-ui.grest-ui .card.hubSec-operativita a.hubCard,
body.pub-ui.grest-ui .card.hubSec-segreteria a.hubCard,
body.pub-ui.grest-ui .card.hubSec-gestione a.hubCard,
body.pub-ui.grest-ui .card.hubSec-personale a.hubCard{
  border-color: rgba(var(--hub-accent-rgb), .46);
  background: linear-gradient(135deg, rgba(255,255,255,.90), rgba(var(--hub-accent-rgb), .17));
}

body.pub-ui.grest-ui .card.hubSec-operativita a.hubCard:hover,
body.pub-ui.grest-ui .card.hubSec-segreteria a.hubCard:hover,
body.pub-ui.grest-ui .card.hubSec-gestione a.hubCard:hover,
body.pub-ui.grest-ui .card.hubSec-personale a.hubCard:hover{
  border-color: rgba(var(--hub-accent-rgb), .74);
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(var(--hub-accent-rgb), .24));
}

body.pub-ui.grest-ui .card.hubSec-operativita .hubIcon,
body.pub-ui.grest-ui .card.hubSec-segreteria .hubIcon,
body.pub-ui.grest-ui .card.hubSec-gestione .hubIcon,
body.pub-ui.grest-ui .card.hubSec-personale .hubIcon,
body.pub-ui.grest-ui .card.hubSec-operativita .hubIco,
body.pub-ui.grest-ui .card.hubSec-segreteria .hubIco,
body.pub-ui.grest-ui .card.hubSec-gestione .hubIco,
body.pub-ui.grest-ui .card.hubSec-personale .hubIco{
  background: linear-gradient(180deg, rgba(var(--hub-accent-rgb), .36), rgba(var(--hub-accent-rgb), .16));
  border-color: rgba(var(--hub-accent-rgb), .55);
}

body.pub-ui.grest-ui .card.hubSec-operativita .hubIcon i,
body.pub-ui.grest-ui .card.hubSec-segreteria .hubIcon i,
body.pub-ui.grest-ui .card.hubSec-gestione .hubIcon i,
body.pub-ui.grest-ui .card.hubSec-personale .hubIcon i,
body.pub-ui.grest-ui .card.hubSec-operativita .hubIco i,
body.pub-ui.grest-ui .card.hubSec-segreteria .hubIco i,
body.pub-ui.grest-ui .card.hubSec-gestione .hubIco i,
body.pub-ui.grest-ui .card.hubSec-personale .hubIco i{
  color: rgba(var(--hub-accent-rgb), .98);
}

/* Auto-filtro intelligente Gr.Est. */
.grestAutoFilterStatus{
  margin-top:10px;
  font-size:.9rem;
  color:#64748b;
  min-height:22px;
  display:flex;
  align-items:center;
  gap:8px;
}
.grestAutoFilterStatus.is-loading{
  color:#0f5f8c;
  font-weight:800;
}
.grestAutoFilterStatus.is-loading:before{
  content:'\f110';
  font-family:'Font Awesome 6 Free';
  font-weight:900;
  animation:fa-spin 1s linear infinite;
}



/* =========================================================
   Gr.Est. - Accoglienza mattina: riepilogo cucina
   ========================================================= */
.triageKitchenCard{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:12px;
  align-items:center;
  margin-top:12px;
  padding:14px;
  border-radius:24px;
  border:1px solid rgba(var(--grest-pastel-mint), .50);
  background:
    radial-gradient(180px 110px at 100% 0%, rgba(var(--grest-pastel-mint), .26), transparent 68%),
    linear-gradient(135deg, rgba(255,255,255,.94), rgba(244,255,249,.90));
  box-shadow:0 16px 34px rgba(47,64,80,.10);
}
.triageKitchenIcon{
  width:48px;
  height:48px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#236a50;
  background:linear-gradient(135deg, rgba(var(--grest-pastel-mint), .48), rgba(255,255,255,.86));
  border:1px solid rgba(var(--grest-pastel-mint), .58);
  box-shadow:0 10px 22px rgba(47,64,80,.08);
  font-size:1.2rem;
}
.triageKitchenTitle{
  font-weight:950;
  color:#223645;
  letter-spacing:-.02em;
}
.triageKitchenSub{
  margin-top:3px;
  color:rgba(42,61,77,.74);
  font-size:.9rem;
  line-height:1.35;
}
.triageKitchenSub .warnText{ color:#9a5a15; font-weight:850; }
.triageKitchenOpen{ white-space:nowrap; }
.triageKitchenOverlay[hidden]{ display:none; }
.triageKitchenOverlay{
  position:fixed;
  inset:0;
  z-index:10000;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:14px;
  background:rgba(15,23,42,.38);
  backdrop-filter:blur(4px);
}
body.triage-kitchen-open{ overflow:hidden; }
.triageKitchenSheet{
  width:min(520px, 100%);
  border-radius:28px;
  border:1px solid rgba(255,255,255,.76);
  background:
    radial-gradient(260px 180px at 100% 0%, rgba(var(--grest-pastel-peach), .30), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,253,250,.98));
  box-shadow:0 28px 80px rgba(15,23,42,.30);
  padding:16px;
}
.triageKitchenSheetHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.triageKitchenEyebrow{
  color:#236a50;
  font-weight:900;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.triageKitchenSheet h3{
  margin:4px 0 0;
  color:#223645;
  font-weight:1000;
  font-size:1.25rem;
  letter-spacing:-.03em;
}
.triageKitchenSheet p{
  margin:4px 0 0;
  color:rgba(42,61,77,.72);
  font-weight:750;
}
.triageKitchenClose{
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid rgba(62,83,104,.18);
  background:rgba(255,255,255,.82);
  cursor:pointer;
  color:#34495e;
}
.triageKitchenPreview{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:14px;
}
.triageKitchenPreview > div{
  border-radius:18px;
  padding:12px;
  border:1px solid rgba(62,83,104,.15);
  background:rgba(255,255,255,.76);
  text-align:center;
}
.triageKitchenPreview span{
  display:block;
  color:rgba(42,61,77,.70);
  font-size:.78rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.triageKitchenPreview b{
  display:block;
  margin-top:4px;
  color:#223645;
  font-size:1.55rem;
  line-height:1;
  font-weight:1000;
}
.triageKitchenField{
  display:block;
  margin-top:14px;
}
.triageKitchenField span{
  display:block;
  margin-bottom:7px;
  font-weight:900;
  color:#223645;
}
.triageKitchenField input{
  min-height:54px;
  font-size:1.15rem;
  font-weight:950;
  text-align:center;
}
.triageKitchenHint{
  margin-top:12px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(var(--grest-pastel-blue), .28);
  background:rgba(255,255,255,.72);
  color:rgba(42,61,77,.76);
  font-size:.86rem;
  line-height:1.35;
}
.triageKitchenHint.warn{
  border-color:rgba(233,173,63,.44);
  background:rgba(255,246,220,.78);
  color:#7a4f13;
  font-weight:850;
}
.triageKitchenActions{
  display:grid;
  grid-template-columns:1fr 1.35fr;
  gap:9px;
  margin-top:14px;
}
.triageKitchenActions .btn{
  min-height:48px;
  justify-content:center;
}
@media (min-width: 720px){
  .triageKitchenOverlay{ align-items:center; }
}
@media (max-width: 560px){
  .triageKitchenCard{
    grid-template-columns:auto 1fr;
    border-radius:22px;
  }
  .triageKitchenOpen{
    grid-column:1 / -1;
    width:100%;
    justify-content:center;
    min-height:48px;
  }
  .triageKitchenOverlay{
    padding:8px;
  }
  .triageKitchenSheet{
    border-radius:26px 26px 18px 18px;
    padding:15px;
  }
}

/* Gestione Squadre Gr.Est. */
body.pub-ui.grest-ui .gsGrid{
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);
  gap:14px;
}
body.pub-ui.grest-ui .gsFilters{
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1.35fr auto auto;
  gap:10px;
  align-items:end;
}
body.pub-ui.grest-ui .gsHelp,
body.pub-ui.grest-ui .gsMini{
  color:#61798d;
  font-size:.84rem;
  line-height:1.35;
}
body.pub-ui.grest-ui .gsHelp{margin-top:6px;font-weight:750}
body.pub-ui.grest-ui .gsMini{font-weight:700}
body.pub-ui.grest-ui .gsColorRow{
  display:flex;
  gap:10px;
  align-items:center;
}
body.pub-ui.grest-ui .gsColorInput{
  width:64px;
  height:42px;
  padding:4px;
  border-radius:14px;
  border:1px solid rgba(98,111,124,.22);
  background:rgba(255,255,255,.90);
}
body.pub-ui.grest-ui .gsColorPreview,
body.pub-ui.grest-ui .gsSwatch{
  display:inline-flex;
  width:32px;
  height:32px;
  border-radius:999px;
  background:var(--team-color,#10B981);
  border:3px solid rgba(255,255,255,.95);
  box-shadow:0 0 0 1px rgba(98,111,124,.18), 0 8px 18px rgba(47,64,80,.12);
  flex:0 0 auto;
}
body.pub-ui.grest-ui .gsSwatchSmall{
  display:inline-flex;
  width:16px;
  height:16px;
  border-radius:999px;
  background:var(--team-color,#CBD5E1);
  border:2px solid rgba(255,255,255,.95);
  box-shadow:0 0 0 1px rgba(98,111,124,.18);
  flex:0 0 auto;
}
body.pub-ui.grest-ui .gsCheckCard{
  display:flex;
  gap:10px;
  align-items:flex-start;
}
body.pub-ui.grest-ui .gsTeamList{
  display:grid;
  gap:10px;
}
body.pub-ui.grest-ui .gsTeamCard{
  border:1px solid rgba(98,111,124,.14);
  border-left:7px solid var(--team-color,#10B981);
  border-radius:18px;
  background:linear-gradient(135deg, rgba(255,255,255,.94), rgba(var(--grest-pastel-blue), .06));
  padding:12px;
  box-shadow:0 12px 28px rgba(47,64,80,.07);
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
}
body.pub-ui.grest-ui .gsTeamMain{
  display:flex;
  gap:10px;
  align-items:center;
  min-width:0;
}
body.pub-ui.grest-ui .gsTeamName{
  color:var(--grest-ink);
  font-weight:1000;
  line-height:1.15;
}
body.pub-ui.grest-ui .gsTeamSub{
  color:#61798d;
  font-size:.84rem;
  font-weight:750;
  margin-top:3px;
}
body.pub-ui.grest-ui .gsTeamActions{
  display:flex;
  gap:7px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
body.pub-ui.grest-ui .gsResultsHead{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
body.pub-ui.grest-ui .gsAssignForm{margin:0}
body.pub-ui.grest-ui .gsAssignRow{
  display:grid;
  grid-template-columns:auto minmax(180px,1fr) auto;
  gap:8px;
  align-items:center;
}
body.pub-ui.grest-ui .gsAssignSelect{min-width:180px}
body.pub-ui.grest-ui .gsDesktop{display:block}
body.pub-ui.grest-ui .gsMobile{display:none}
body.pub-ui.grest-ui .gsEmpty{
  border:1px dashed rgba(98,111,124,.28);
  border-radius:18px;
  padding:16px;
  color:#61798d;
  font-weight:850;
  background:rgba(255,255,255,.62);
}
body.pub-ui.grest-ui .gsChildCard{
  border:1px solid rgba(98,111,124,.14);
  border-radius:20px;
  background:linear-gradient(135deg, rgba(255,255,255,.94), rgba(var(--grest-pastel-mint), .08));
  padding:14px;
  box-shadow:0 12px 28px rgba(47,64,80,.07);
  margin-top:10px;
}
body.pub-ui.grest-ui .gsChildHead{
  display:flex;
  gap:10px;
  justify-content:space-between;
  align-items:flex-start;
}
body.pub-ui.grest-ui .gsChildName{
  color:var(--grest-ink);
  font-size:1rem;
  font-weight:1000;
  line-height:1.18;
}
body.pub-ui.grest-ui .gsChildSub{
  color:#61798d;
  font-size:.86rem;
  font-weight:800;
  margin-top:4px;
}
body.pub-ui.grest-ui .gsTeamBadge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 9px;
  border-radius:999px;
  color:#263746;
  background:color-mix(in srgb, var(--team-color,#10B981) 18%, white);
  border:1px solid color-mix(in srgb, var(--team-color,#10B981) 45%, white);
  font-weight:950;
  font-size:.78rem;
  white-space:nowrap;
}
body.pub-ui.grest-ui .gsTeamBadge::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--team-color,#10B981);
  box-shadow:0 0 0 2px rgba(255,255,255,.8);
}

@media (max-width:1080px){
  body.pub-ui.grest-ui .gsGrid{grid-template-columns:1fr}
  body.pub-ui.grest-ui .gsFilters{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  body.pub-ui.grest-ui .gsFilters{grid-template-columns:1fr}
  body.pub-ui.grest-ui .gsDesktop{display:none}
  body.pub-ui.grest-ui .gsMobile{display:block}
  body.pub-ui.grest-ui .gsTeamCard{align-items:flex-start;flex-direction:column}
  body.pub-ui.grest-ui .gsTeamActions{justify-content:flex-start}
}

/* Gestione Giochi Gr.Est. */
body.pub-ui.grest-ui .ggFilters{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;
  gap:10px;
  align-items:end;
}
body.pub-ui.grest-ui .ggFilterActions{
  display:flex;
  align-items:end;
  justify-content:flex-end;
}
body.pub-ui.grest-ui .ggGrid{
  display:grid;
  grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr);
  gap:14px;
}
body.pub-ui.grest-ui .ggTextarea{
  min-height:112px;
  resize:vertical;
  line-height:1.4;
}
body.pub-ui.grest-ui .ggMini{
  color:#61798d;
  font-size:.84rem;
  line-height:1.36;
  font-weight:750;
}
body.pub-ui.grest-ui .ggInfoBox{
  border:1px solid rgba(98,111,124,.15);
  border-radius:18px;
  padding:12px;
  background:linear-gradient(135deg, rgba(var(--grest-pastel-blue), .14), rgba(255,255,255,.86));
  color:#314458;
  font-weight:750;
}
body.pub-ui.grest-ui .ggSummaryGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
body.pub-ui.grest-ui .ggSummaryCard{
  border:1px solid rgba(98,111,124,.14);
  border-radius:18px;
  padding:12px;
  background:rgba(255,255,255,.80);
  box-shadow:0 10px 22px rgba(47,64,80,.06);
}
body.pub-ui.grest-ui .ggSummaryCard .v{
  font-size:1.45rem;
  font-weight:1000;
  color:var(--grest-ink);
  line-height:1;
}
body.pub-ui.grest-ui .ggSummaryCard .l{
  margin-top:5px;
  color:#61798d;
  font-size:.82rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.02em;
}
body.pub-ui.grest-ui .ggSectionTitle{
  color:var(--grest-ink);
  font-weight:1000;
  font-size:.94rem;
}
body.pub-ui.grest-ui .ggTeamChips,
body.pub-ui.grest-ui .ggDaysList{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-top:8px;
}
body.pub-ui.grest-ui .ggTeamChip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  color:#263746;
  background:color-mix(in srgb, var(--team-color,#CBD5E1) 18%, white);
  border:1px solid color-mix(in srgb, var(--team-color,#CBD5E1) 45%, white);
  font-weight:950;
  font-size:.8rem;
  white-space:nowrap;
}
body.pub-ui.grest-ui .ggTeamChip::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--team-color,#CBD5E1);
  box-shadow:0 0 0 2px rgba(255,255,255,.82);
}
body.pub-ui.grest-ui .ggVs{
  color:#61798d;
  font-weight:1000;
  text-transform:uppercase;
  font-size:.72rem;
  letter-spacing:.04em;
}
body.pub-ui.grest-ui .ggEmpty{
  border:1px dashed rgba(98,111,124,.28);
  border-radius:18px;
  padding:16px;
  color:#61798d;
  font-weight:850;
  background:rgba(255,255,255,.62);
}
body.pub-ui.grest-ui .ggStatsList{
  display:grid;
  gap:8px;
  max-height:420px;
  overflow:auto;
  padding-right:3px;
}
body.pub-ui.grest-ui .ggStatRow{
  display:flex;
  gap:8px;
  justify-content:space-between;
  align-items:center;
  border:1px solid rgba(98,111,124,.12);
  border-radius:16px;
  background:rgba(255,255,255,.78);
  padding:8px;
}
body.pub-ui.grest-ui .ggStatTeams{
  display:flex;
  gap:6px;
  align-items:center;
  flex-wrap:wrap;
}
body.pub-ui.grest-ui .ggCalendar{
  display:grid;
  gap:14px;
}
body.pub-ui.grest-ui .ggDayBlock{
  border:1px solid rgba(98,111,124,.14);
  border-radius:22px;
  background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(var(--grest-pastel-mint), .08));
  box-shadow:0 14px 32px rgba(47,64,80,.07);
  overflow:hidden;
}
body.pub-ui.grest-ui .ggDayHead{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  padding:13px 15px;
  border-bottom:1px solid rgba(98,111,124,.10);
  background:rgba(255,255,255,.75);
}
body.pub-ui.grest-ui .ggDayDate{
  color:var(--grest-ink);
  font-size:1.08rem;
  font-weight:1000;
  line-height:1.1;
}
body.pub-ui.grest-ui .ggTurnBlock{
  padding:12px 15px 15px;
}
body.pub-ui.grest-ui .ggTurnBlock + .ggTurnBlock{
  border-top:1px solid rgba(98,111,124,.10);
}
body.pub-ui.grest-ui .ggTurnTitle{
  display:flex;
  gap:8px;
  align-items:center;
  color:#314458;
  font-weight:1000;
  margin-bottom:10px;
}
body.pub-ui.grest-ui .ggGamesGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
body.pub-ui.grest-ui .ggGameCard{
  border:1px solid rgba(98,111,124,.12);
  border-radius:18px;
  background:rgba(255,255,255,.86);
  padding:11px;
  box-shadow:0 10px 22px rgba(47,64,80,.06);
}
body.pub-ui.grest-ui .ggPostazione{
  display:inline-flex;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(var(--grest-pastel-blue), .18);
  border:1px solid rgba(98,111,124,.12);
  color:#314458;
  font-size:.76rem;
  font-weight:950;
}
body.pub-ui.grest-ui .ggMatchLine{
  display:flex;
  gap:7px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:9px;
  margin-bottom:7px;
}

@media (max-width:1120px){
  body.pub-ui.grest-ui .ggGrid{grid-template-columns:1fr}
  body.pub-ui.grest-ui .ggGamesGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  body.pub-ui.grest-ui .ggFilters{grid-template-columns:1fr}
  body.pub-ui.grest-ui .ggFilterActions{justify-content:stretch}
  body.pub-ui.grest-ui .ggFilterActions .btn{width:100%;justify-content:center}
  body.pub-ui.grest-ui .ggSummaryGrid{grid-template-columns:1fr 1fr}
  body.pub-ui.grest-ui .ggGamesGrid{grid-template-columns:1fr}
  body.pub-ui.grest-ui .ggDayHead{align-items:flex-start;flex-direction:column}
  body.pub-ui.grest-ui .ggStatRow{align-items:flex-start;flex-direction:column}
}
@media (max-width:460px){
  body.pub-ui.grest-ui .ggSummaryGrid{grid-template-columns:1fr}
}

/* Giochi: turni con cambi e rotazione postazioni */
body.pub-ui.grest-ui .ggTurnFixedBox{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  border:1px solid rgba(98,111,124,.14);
  border-radius:18px;
  background:rgba(255,255,255,.72);
  padding:10px;
}
body.pub-ui.grest-ui .ggTurnHeader{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  margin-bottom:10px;
}
body.pub-ui.grest-ui .ggTurnHeader form{margin:0}
body.pub-ui.grest-ui .btn.mini{
  padding:7px 10px;
  border-radius:12px;
  font-size:.78rem;
}
body.pub-ui.grest-ui .ggAbbinamentiBox{
  border:1px solid rgba(98,111,124,.12);
  border-radius:18px;
  background:linear-gradient(135deg, rgba(255,255,255,.86), rgba(var(--grest-pastel-yellow), .12));
  padding:10px;
  margin-bottom:12px;
}
body.pub-ui.grest-ui .ggMatchChip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  padding:4px;
  border-radius:999px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(98,111,124,.10);
}
body.pub-ui.grest-ui .ggCambioBlock{
  border:1px solid rgba(98,111,124,.10);
  border-radius:20px;
  background:rgba(255,255,255,.58);
  padding:10px;
  margin-top:10px;
}
body.pub-ui.grest-ui .ggCambioTitle{
  display:flex;
  gap:8px;
  align-items:center;
  color:#314458;
  font-weight:1000;
  margin-bottom:9px;
}
@media (max-width:760px){
  body.pub-ui.grest-ui .ggTurnHeader{align-items:flex-start;flex-direction:column}
  body.pub-ui.grest-ui .ggTurnHeader .btn{width:100%;justify-content:center}
  body.pub-ui.grest-ui .ggMatchChip{border-radius:16px;align-items:flex-start}
}

/* Aggiornamento Giochi: postazioni, titoli gioco e risultati */
body.pub-ui.grest-ui .ggPostazioniForm{
  border:1px solid rgba(148,163,184,.28);
  background:linear-gradient(135deg,rgba(248,250,252,.92),rgba(239,246,255,.74));
  border-radius:20px;
  padding:14px;
}
body.pub-ui.grest-ui .ggPostazioniGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
body.pub-ui.grest-ui .ggPostazioneEditCard{
  border:1px solid rgba(148,163,184,.28);
  background:#fff;
  border-radius:18px;
  padding:12px;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}
body.pub-ui.grest-ui .ggGameTitle{
  display:flex;
  align-items:center;
  gap:7px;
  margin:4px 0 10px;
  font-weight:900;
  color:#7c2d12;
  background:#fff7ed;
  border:1px solid #fed7aa;
  border-radius:14px;
  padding:7px 9px;
}
body.pub-ui.grest-ui .ggResultForm{
  margin-top:10px;
  padding-top:10px;
  border-top:1px dashed rgba(148,163,184,.55);
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:8px;
  align-items:end;
}
body.pub-ui.grest-ui .ggResultForm label{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:.78rem;
  font-weight:800;
  color:#475569;
  min-width:0;
}
body.pub-ui.grest-ui .ggResultForm label span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.pub-ui.grest-ui .ggResultForm .input{
  min-height:38px;
  padding:8px 10px;
}
@media (max-width:900px){
  body.pub-ui.grest-ui .ggPostazioniGrid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  body.pub-ui.grest-ui .ggPostazioniGrid{grid-template-columns:1fr}
  body.pub-ui.grest-ui .ggResultForm{grid-template-columns:1fr 1fr}
  body.pub-ui.grest-ui .ggResultForm .btn{grid-column:1/-1;width:100%;justify-content:center}
}

/* Aggiornamento Giochi: filtro calendario, arbitri e classifica */
body.pub-ui.grest-ui .ggCalendarFilters,
body.pub-ui.grest-ui .ggArbitroFilters{
  display:grid;
  grid-template-columns:minmax(190px,1fr) minmax(170px,.8fr) auto;
  gap:10px;
  align-items:end;
  border:1px solid rgba(148,163,184,.25);
  border-radius:20px;
  padding:12px;
  background:linear-gradient(135deg,rgba(248,250,252,.94),rgba(255,255,255,.82));
}
body.pub-ui.grest-ui .ggArbitroFilters{
  grid-template-columns:minmax(180px,1fr) minmax(150px,.8fr) minmax(180px,1fr) minmax(140px,.7fr) auto auto;
}
body.pub-ui.grest-ui .ggCheckLine{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:8px 10px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:14px;
  background:#fff;
  color:#475569;
  font-weight:850;
  font-size:.86rem;
}
body.pub-ui.grest-ui .ggCheckLine input{width:18px;height:18px}
body.pub-ui.grest-ui .ggClassificaList,
body.pub-ui.grest-ui .ggMovimentiList{
  display:grid;
  gap:9px;
}
body.pub-ui.grest-ui .ggClassificaRow{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) minmax(118px,.28fr);
  gap:10px;
  align-items:center;
  border:1px solid rgba(148,163,184,.26);
  border-radius:20px;
  padding:11px;
  background:rgba(255,255,255,.88);
  box-shadow:0 10px 22px rgba(15,23,42,.06);
}
body.pub-ui.grest-ui .ggClassificaRow.isFirst{
  background:linear-gradient(135deg,rgba(var(--grest-pastel-yellow),.24),rgba(255,255,255,.92));
  border-color:rgba(245,158,11,.30);
}
body.pub-ui.grest-ui .ggRank{
  width:44px;
  height:44px;
  border-radius:16px;
  display:grid;
  place-items:center;
  color:#314458;
  background:rgba(var(--grest-pastel-blue), .18);
  border:1px solid rgba(98,111,124,.12);
  font-weight:1000;
}
body.pub-ui.grest-ui .ggClassificaTeam{
  display:grid;
  gap:6px;
  min-width:0;
}
body.pub-ui.grest-ui .ggPointsBox{
  text-align:right;
  border-left:1px dashed rgba(148,163,184,.42);
  padding-left:10px;
}
body.pub-ui.grest-ui .ggPointsMain{
  color:var(--grest-ink);
  font-size:2rem;
  font-weight:1000;
  line-height:1;
}
body.pub-ui.grest-ui .ggBonusForm{
  display:grid;
  gap:10px;
  border:1px solid rgba(148,163,184,.25);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(248,250,252,.94),rgba(239,246,255,.70));
  padding:12px;
}
body.pub-ui.grest-ui .ggMovimentoRow{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
  border:1px solid rgba(148,163,184,.24);
  border-radius:18px;
  background:#fff;
  padding:10px;
  box-shadow:0 8px 18px rgba(15,23,42,.05);
}
body.pub-ui.grest-ui .ggMovimentoRow form{margin:0}
body.pub-ui.grest-ui .ggArbitroPostazioneCard{
  border:1px solid rgba(148,163,184,.24);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(var(--grest-pastel-mint),.12));
  padding:12px;
  margin-top:10px;
}
body.pub-ui.grest-ui .ggArbitroPostazioneHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
@media (max-width:1120px){
  body.pub-ui.grest-ui .ggArbitroFilters{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.pub-ui.grest-ui .ggArbitroFilters .ggFilterActions{grid-column:1/-1;justify-content:flex-start}
}
@media (max-width:760px){
  body.pub-ui.grest-ui .ggCalendarFilters,
  body.pub-ui.grest-ui .ggArbitroFilters{grid-template-columns:1fr}
  body.pub-ui.grest-ui .ggCalendarFilters .ggFilterActions,
  body.pub-ui.grest-ui .ggArbitroFilters .ggFilterActions{justify-content:stretch}
  body.pub-ui.grest-ui .ggCalendarFilters .ggFilterActions .btn,
  body.pub-ui.grest-ui .ggArbitroFilters .ggFilterActions .btn{width:100%;justify-content:center}
  body.pub-ui.grest-ui .ggClassificaRow{grid-template-columns:44px minmax(0,1fr)}
  body.pub-ui.grest-ui .ggPointsBox{grid-column:1/-1;text-align:left;border-left:0;border-top:1px dashed rgba(148,163,184,.42);padding-left:0;padding-top:8px}
  body.pub-ui.grest-ui .ggMovimentoRow{flex-direction:column}
  body.pub-ui.grest-ui .ggArbitroPostazioneHead{flex-direction:column}
}

body.pub-ui.grest-ui .ggPostazioneEditCard select[multiple]{
  min-height:118px;
  padding:8px 10px;
}
body.pub-ui.grest-ui .ggPostazioneEditCard select[multiple] option{
  padding:5px 6px;
}

/* Aggiornamento Giochi: selezione arbitri mobile-friendly */
body.pub-ui.grest-ui.ggModalOpen{overflow:hidden}
body.pub-ui.grest-ui .ggArbitriPicker{
  display:grid;
  gap:8px;
  border:1px dashed rgba(148,163,184,.38);
  background:linear-gradient(135deg,rgba(248,250,252,.92),rgba(255,255,255,.92));
  border-radius:16px;
  padding:10px;
}
body.pub-ui.grest-ui .ggArbitriChips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  min-height:34px;
  align-items:center;
}
body.pub-ui.grest-ui .ggArbitriEmpty{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  color:#64748b;
  font-size:.82rem;
  font-weight:800;
}
body.pub-ui.grest-ui .ggArbitroChip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:100%;
  border:1px solid rgba(37,99,235,.18);
  background:rgba(239,246,255,.95);
  color:#1e3a8a;
  border-radius:999px;
  padding:6px 8px 6px 10px;
  font-size:.8rem;
  font-weight:900;
  line-height:1.15;
}
body.pub-ui.grest-ui .ggArbitroChip i{font-size:.78rem}
body.pub-ui.grest-ui .ggChipRemoveArbitro{
  border:0;
  background:rgba(30,64,175,.12);
  color:#1e3a8a;
  width:22px;
  height:22px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  font-weight:1000;
  cursor:pointer;
  line-height:1;
}
body.pub-ui.grest-ui .ggChipRemoveArbitro:hover{background:rgba(30,64,175,.22)}
body.pub-ui.grest-ui .ggArbitriActions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
body.pub-ui.grest-ui .ggArbitriStatus{
  color:#64748b;
  font-size:.78rem;
  font-weight:900;
}
body.pub-ui.grest-ui .ggArbitriStatus.isSaving{color:#92400e}
body.pub-ui.grest-ui .ggArbitriStatus.isOk{color:#047857}
body.pub-ui.grest-ui .ggArbitriStatus.isError{color:#b91c1c}
body.pub-ui.grest-ui .ggModalBackdrop{
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(15,23,42,.45);
  backdrop-filter:blur(5px);
  display:grid;
  place-items:center;
  padding:18px;
}
body.pub-ui.grest-ui .ggModalBackdrop[hidden]{display:none!important}
body.pub-ui.grest-ui .ggArbitriSheet{
  width:min(560px,100%);
  max-height:min(720px,calc(100vh - 36px));
  background:#fff;
  border:1px solid rgba(148,163,184,.35);
  border-radius:24px;
  box-shadow:0 24px 80px rgba(15,23,42,.30);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
body.pub-ui.grest-ui .ggArbitriSheetHead,
body.pub-ui.grest-ui .ggArbitriSheetFoot{
  padding:14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  background:linear-gradient(135deg,rgba(248,250,252,.98),rgba(239,246,255,.86));
}
body.pub-ui.grest-ui .ggArbitriSheetHead{border-bottom:1px solid rgba(148,163,184,.24)}
body.pub-ui.grest-ui .ggArbitriSheetFoot{border-top:1px solid rgba(148,163,184,.24)}
body.pub-ui.grest-ui .ggArbitriSheetTitle{
  color:#1f2937;
  font-size:1.08rem;
  font-weight:1000;
}
body.pub-ui.grest-ui .ggModalClose{
  width:38px;
  height:38px;
  border:1px solid rgba(148,163,184,.34);
  border-radius:14px;
  background:#fff;
  color:#334155;
  font-size:1.4rem;
  font-weight:900;
  cursor:pointer;
}
body.pub-ui.grest-ui .ggArbitriSearchBox{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:8px;
  align-items:center;
  padding:12px 14px;
  border-bottom:1px solid rgba(148,163,184,.18);
}
body.pub-ui.grest-ui .ggArbitriSearchBox i{color:#64748b}
body.pub-ui.grest-ui .ggArbitriList{
  overflow:auto;
  padding:10px 14px;
  display:grid;
  gap:8px;
}
body.pub-ui.grest-ui .ggArbitriChoice{
  min-height:54px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:17px;
  background:#fff;
  padding:10px;
  display:grid;
  grid-template-columns:28px 1fr;
  gap:10px;
  align-items:center;
  cursor:pointer;
  box-shadow:0 6px 16px rgba(15,23,42,.04);
}
body.pub-ui.grest-ui .ggArbitriChoice:has(input:checked){
  border-color:rgba(37,99,235,.32);
  background:linear-gradient(135deg,rgba(239,246,255,.98),rgba(255,255,255,.96));
}
body.pub-ui.grest-ui .ggArbitriChoice input{
  width:22px;
  height:22px;
  accent-color:#2563eb;
}
body.pub-ui.grest-ui .ggArbitriChoiceText{
  display:grid;
  gap:3px;
  min-width:0;
}
body.pub-ui.grest-ui .ggArbitriChoiceText b{
  color:#1f2937;
  font-size:.92rem;
  line-height:1.15;
}
body.pub-ui.grest-ui .ggArbitriChoiceText small{
  color:#64748b;
  font-weight:800;
}
@media (max-width:640px){
  body.pub-ui.grest-ui .ggArbitriActions .btn{width:100%;justify-content:center}
  body.pub-ui.grest-ui .ggModalBackdrop{
    align-items:end;
    place-items:end stretch;
    padding:0;
  }
  body.pub-ui.grest-ui .ggArbitriSheet{
    width:100%;
    max-height:88vh;
    border-radius:24px 24px 0 0;
    border-left:0;
    border-right:0;
    border-bottom:0;
  }
  body.pub-ui.grest-ui .ggArbitriSheetFoot{
    display:grid;
    grid-template-columns:1fr 1fr;
    padding-bottom:calc(14px + env(safe-area-inset-bottom));
  }
  body.pub-ui.grest-ui .ggArbitriSheetFoot .btn{width:100%;justify-content:center}
  body.pub-ui.grest-ui .ggArbitriChoice{min-height:60px}
}
