.casa-book{
  --book-ink:#1C1B17;
  --book-cream:#F7F3E8;
  --book-mustard:#D4A318;
  --book-terra:#9A3A1F;
  --book-khaki:#5C5A3D;
  --book-leaf:#3D6B4F;
  min-height:0;height:100%;
  display:flex;flex-direction:column;gap:12px;
  padding:14px 12px 10px;
  background:
    radial-gradient(ellipse 80% 50% at 100% 0%,rgba(212,163,24,.28),transparent 58%),
    var(--book-cream);
  color:var(--book-ink);
  font-family:inherit;
}
.casa-book *{box-sizing:border-box;}
.casa-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;}
.casa-stepper-wrap{display:flex;flex-direction:column;gap:4px;min-width:0;}
.casa-stepper-label{
  font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:var(--book-terra);
}
.casa-stepper,.casa-seg{
  display:flex;align-items:center;background:#fff;
  border:1.5px solid rgba(28,27,23,.12);border-radius:999px;
}
.casa-stepper{flex-shrink:0;background:linear-gradient(180deg,#fff,#F5EBD0);}
.casa-stepper button,.casa-seg button{
  appearance:none;border:0;background:transparent;color:inherit;
  width:42px;height:42px;font:inherit;font-weight:700;cursor:pointer;border-radius:999px;
}
.casa-stepper span{
  min-width:2.4ch;text-align:center;font-weight:800;font-size:1.12rem;
}
.casa-stepper button:hover,.casa-seg button:hover{background:rgba(212,163,24,.22);}
.casa-seg{padding:3px;flex:1;max-width:240px;background:#fff;}
.casa-seg button{flex:1;width:auto;height:36px;font-size:.82rem;letter-spacing:.02em;}
.casa-seg button.is-on{background:var(--book-mustard);color:var(--book-ink);}
.casa-week{display:flex;align-items:stretch;gap:6px;}
.casa-nav{
  appearance:none;width:32px;flex-shrink:0;border:0;border-radius:12px;
  background:rgba(212,163,24,.28);color:inherit;font:inherit;font-size:1.2rem;cursor:pointer;
}
.casa-nav:disabled{opacity:.28;cursor:default;}
.casa-days{
  flex:1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;
}
.casa-day{
  appearance:none;border:1.5px solid transparent;background:rgba(255,255,255,.82);
  border-radius:14px;padding:8px 2px 9px;cursor:pointer;color:inherit;
  display:flex;flex-direction:column;align-items:center;gap:2px;
}
.casa-day span{
  font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--book-khaki);
}
.casa-day b{font-size:1.05rem;font-weight:800;line-height:1;}
.casa-day.is-on{background:var(--book-ink);border-color:var(--book-ink);color:var(--book-mustard);}
.casa-day.is-on span{color:var(--book-mustard);opacity:.8;}
.casa-covers-live{
  display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center;
  padding:8px 10px;border-radius:16px;
  background:rgba(61,107,79,.1);border:1.5px solid rgba(61,107,79,.18);
}
.casa-covers-live.is-tight{
  background:rgba(154,58,31,.1);border-color:rgba(154,58,31,.22);
}
.casa-covers-live.is-open{
  background:rgba(212,163,24,.18);border-color:rgba(212,163,24,.35);
}
.casa-covers-copy{font-size:.82rem;font-weight:700;}
.casa-covers-copy b{font-size:1.05rem;}
.casa-covers-live > span{
  grid-column:1/-1;font-size:.72rem;color:var(--book-khaki);font-weight:600;
}
.casa-covers{
  height:8px;border-radius:99px;background:rgba(28,27,23,.12);overflow:hidden;
}
.casa-covers i{display:block;height:100%;background:var(--book-leaf);border-radius:inherit;width:0;transition:width .35s;}
.casa-covers-live.is-tight .casa-covers i{background:var(--book-terra);}
.casa-covers-live.is-open .casa-covers i{background:var(--book-mustard);}
.casa-slots{
  position:relative;isolation:isolate;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;
  align-content:start;
  padding:12px 10px;border-radius:20px;overflow:hidden;
  background:
    url("/favicon.svg") center 55% / min(58%,220px) no-repeat,
    linear-gradient(165deg,rgba(245,235,208,.92),rgba(212,163,24,.22) 55%,rgba(247,243,232,.96));
  border:1.5px solid rgba(212,163,24,.35);
}
.casa-slots::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:rgba(247,243,232,.42);
}
.casa-slots > *{position:relative;z-index:1;}
.casa-slot{
  appearance:none;border:1.5px solid rgba(28,27,23,.12);background:rgba(255,255,255,.88);
  border-radius:16px;padding:12px 4px;font:inherit;font-weight:800;font-variant-numeric:tabular-nums;
  cursor:pointer;color:inherit;
}
.casa-slot small{display:block;font-weight:600;font-size:.62rem;color:var(--book-leaf);margin-top:2px;}
.casa-slot:hover{border-color:var(--book-ink);background:#fff;}
.casa-slot.is-on,.casa-slot:focus-visible{background:var(--book-mustard);border-color:var(--book-ink);}
.casa-slot.is-on small,.casa-slot:focus-visible small{color:var(--book-ink);}
.casa-slot.is-tight{border-color:rgba(154,58,31,.35);background:rgba(255,248,244,.94);}
.casa-slot.is-tight small{color:var(--book-terra);}
.casa-slot.is-full{opacity:.42;cursor:not-allowed;border-style:dashed;background:rgba(255,255,255,.55);}
.casa-slot.is-full small{color:var(--book-khaki);}
.casa-footnote button{display:inline;padding:0;vertical-align:baseline;}
.casa-msg{font-size:.84rem;color:var(--book-terra);min-height:0;margin:0;}
.casa-msg:empty{display:none;}
.casa-empty{
  grid-column:1/-1;padding:28px 12px;text-align:center;
  color:var(--book-khaki);font-size:.92rem;line-height:1.45;margin:0;
}
.casa-empty strong{color:var(--book-ink);}
.casa-recap{
  display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;
  padding:12px 12px 10px;border-radius:16px;background:#fff;
  border:1.5px solid rgba(212,163,24,.4);
}
.casa-recap-copy{display:flex;flex-direction:column;gap:2px;min-width:0;}
.casa-recap-copy strong{font-size:1.02rem;letter-spacing:-.02em;}
.casa-recap-copy span{font-size:.78rem;color:var(--book-khaki);}
.casa-ghost{
  appearance:none;border:0;background:transparent;color:var(--book-terra);
  font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;padding:6px 4px;
}
.casa-hold-track{
  grid-column:1/-1;height:3px;border-radius:99px;background:rgba(28,27,23,.08);overflow:hidden;
}
.casa-hold-track i{display:block;height:100%;background:var(--book-mustard);border-radius:inherit;}
.casa-hold-time{grid-column:1/-1;font-size:.72rem;color:var(--book-khaki);}
.casa-hold-time b{color:var(--book-ink);}
.casa-form{display:flex;flex-direction:column;gap:10px;margin-top:2px;}
.casa-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.casa-field{display:flex;flex-direction:column;gap:5px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--book-khaki);}
.casa-field span{font-weight:600;letter-spacing:0;text-transform:none;opacity:.7;}
.casa-field input,.casa-field textarea{
  font:inherit;font-size:1rem;font-weight:500;letter-spacing:0;text-transform:none;
  padding:12px 12px;border-radius:12px;border:1.5px solid rgba(28,27,23,.14);background:#fff;color:var(--book-ink);
}
.casa-submit{
  appearance:none;border:0;border-radius:999px;padding:14px 18px;font:inherit;font-weight:700;
  background:var(--book-ink);color:var(--book-mustard);cursor:pointer;margin-top:2px;
}
.casa-submit:disabled{opacity:.5;cursor:wait;}
.casa-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.casa-ok{padding:12px 4px 4px;}
.casa-ok h4{
  font-family:var(--slab, inherit);font-size:1.55rem;letter-spacing:-.03em;margin:4px 0 8px;
}
.casa-ok p{margin:0 0 10px;color:var(--book-khaki);font-size:.92rem;line-height:1.4;}
.casa-book-kicker{
  font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--book-terra);
}
.casa-book-label{
  font-size:.88rem;font-weight:700;color:var(--book-ink);margin-bottom:2px;
}
.casa-ref{
  font-weight:800;letter-spacing:.04em;background:#fff;border:1.5px dashed rgba(28,27,23,.18);
  border-radius:12px;padding:10px 12px;margin:4px 0 12px;display:inline-block;
}
.casa-ok-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.casa-ok-actions a,.casa-ok-actions button{
  appearance:none;border:1.5px solid rgba(28,27,23,.16);background:#fff;border-radius:999px;
  padding:9px 14px;font:inherit;font-size:.82rem;font-weight:700;text-decoration:none;color:inherit;cursor:pointer;
}
@media(max-width:560px){
  .casa-form-row{grid-template-columns:1fr;}
  .casa-slots{grid-template-columns:repeat(3,minmax(0,1fr));}
  .casa-days{grid-template-columns:repeat(6,minmax(0,1fr));}
  .casa-day{padding:6px 0 7px;border-radius:12px;}
  .casa-day b{font-size:.95rem;}
}

body[data-page="carnet"]{
  --book-ink:#1C1B17;
  --book-cream:#F7F3E8;
  --book-mustard:#D4A318;
  --book-terra:#9A3A1F;
  --book-khaki:#5C5A3D;
  --book-leaf:#3D6B4F;
  --press:0 5px 0 #1C1B17;
  background:
    radial-gradient(ellipse 70% 40% at 0% 0%,rgba(247,243,232,.55),transparent 55%),
    var(--book-mustard);
  color:var(--book-ink);
  min-height:100vh;
  position:relative;
  overflow-x:hidden;
}
.casa-ico{width:1.05em;height:1.05em;display:block;flex-shrink:0;}
.casa-staff-mark{
  position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;
}
.casa-staff-mark img{
  position:absolute;top:6%;left:50%;transform:translateX(-50%);
  width:min(78vw,540px);height:min(78vw,540px);object-fit:cover;
  border-radius:50%;opacity:.15;filter:saturate(.8) contrast(1.05);
}
.casa-staff,.casa-staff-gate,.casa-sheet{position:relative;z-index:1;}
.casa-press{
  border:2px solid #1C1B17;box-shadow:var(--press);
  background:linear-gradient(180deg,#fff8ee,#F5EBD0);
}
.casa-staff{max-width:none;margin:0;padding:0 0 88px;scroll-padding-top:170px;}
.casa-hud{
  position:sticky;top:0;z-index:40;
  background:
    radial-gradient(ellipse 70% 90% at 100% 0%,rgba(247,243,232,.38),transparent 58%),
    var(--book-mustard);
  border-bottom:2px solid #1C1B17;
  box-shadow:0 5px 0 #1C1B17;
}
.casa-hud-inner{
  max-width:960px;margin:0 auto;padding:8px 16px 10px;
  display:flex;flex-direction:column;gap:8px;
}
.casa-staff-brand{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:0;
}
.casa-staff-brand .logo-mini{color:inherit;text-decoration:none;}
.casa-staff-brand .logo-mini .sub{color:rgba(28,27,23,.72);}
.casa-staff-chip{
  font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  background:var(--book-ink);color:var(--book-mustard);
  padding:8px 12px;border-radius:999px;border:2px solid #1C1B17;
}
.casa-staff-top{margin-bottom:6px;}
.casa-staff h1{font-family:var(--slab, inherit);font-size:clamp(1.8rem,4vw,2.6rem);letter-spacing:-.04em;margin:0;}
.casa-staff-meta{font-size:.88rem;color:var(--book-khaki);margin:6px 0 0;font-weight:600;}
.casa-walkin,.casa-staff-list{
  max-width:960px;margin:16px auto 0;padding:0 16px;
}
.casa-walkin{margin-bottom:12px;}
.casa-day-nav{
  display:flex;align-items:stretch;justify-content:center;gap:8px;
  width:100%;margin:0;
}
.casa-day-nav > button:not(.casa-day-nav-pick){
  appearance:none;position:relative;z-index:2;flex:0 0 64px;width:64px;min-height:78px;
  border-radius:22px;border:2px solid #1C1B17;
  background:linear-gradient(180deg,#fff,#F5EBD0);
  color:var(--book-ink);font:inherit;font-size:2rem;font-weight:800;line-height:1;
  cursor:pointer;box-shadow:var(--press);
  transition:transform .12s ease,box-shadow .12s ease,background .12s ease;
}
.casa-day-nav > button:not(.casa-day-nav-pick):hover{
  background:var(--book-mustard);transform:translateY(-2px);box-shadow:0 7px 0 #1C1B17;
}
.casa-day-nav > button:not(.casa-day-nav-pick):active{
  transform:translateY(4px);box-shadow:0 1px 0 #1C1B17;
}
.casa-day-nav-pick{
  appearance:none;font:inherit;position:relative;z-index:1;overflow:hidden;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:78px;padding:10px 18px 12px;text-align:center;cursor:pointer;
  border-radius:26px;border:2px solid #1C1B17;color:inherit;
  box-shadow:var(--press);
  background:
    radial-gradient(circle at 12% 20%,rgba(212,163,24,.28),transparent 42%),
    radial-gradient(circle at 88% 80%,rgba(61,107,79,.16),transparent 46%),
    var(--book-cream);
}
.casa-day-nav-pick:hover,.casa-day-nav-pick[aria-expanded="true"]{background-color:#fff8e6;}
.casa-day-nav-pick.is-slide-next .casa-day-nav-kicker,
.casa-day-nav-pick.is-slide-next .casa-day-nav-week,
.casa-day-nav-pick.is-slide-next .casa-day-nav-when{
  animation:casa-slide-next .28s ease-out;
}
.casa-day-nav-pick.is-slide-prev .casa-day-nav-kicker,
.casa-day-nav-pick.is-slide-prev .casa-day-nav-week,
.casa-day-nav-pick.is-slide-prev .casa-day-nav-when{
  animation:casa-slide-prev .28s ease-out;
}
.casa-day-nav-kicker{
  font-size:.62rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
  color:var(--book-terra);margin-bottom:2px;
}
.casa-day-nav-week{
  font-family:var(--serif,Fraunces,serif);font-style:italic;font-size:clamp(1.35rem,4.2vw,1.7rem);
  font-weight:500;line-height:1.05;letter-spacing:-.02em;
}
.casa-day-nav-when{
  margin-top:2px;font-size:.92rem;font-weight:800;letter-spacing:.01em;color:var(--book-khaki);
}
.casa-cal{
  width:100%;margin:0;padding:14px 12px 12px;
  border-radius:22px;border:2px solid #1C1B17;background:var(--book-cream);
  box-shadow:var(--press);
}
.casa-cal[hidden]{display:none !important;}
.casa-cal:not([hidden]){animation:casa-cal-drop .28s cubic-bezier(.2,1.2,.3,1);}
.casa-cal-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;
}
.casa-cal-head strong{
  font-family:var(--serif,Fraunces,serif);font-style:italic;font-size:1.15rem;font-weight:500;
}
.casa-cal-head button{
  appearance:none;width:40px;height:40px;border-radius:14px;border:2px solid #1C1B17;
  background:#fff;font:inherit;font-size:1.3rem;font-weight:800;cursor:pointer;
}
.casa-cal-dow{
  display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px;
  font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--book-khaki);text-align:center;
}
.casa-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.casa-cal-cell{
  appearance:none;aspect-ratio:1;border:0;border-radius:14px;background:transparent;
  font:inherit;font-weight:800;cursor:pointer;color:inherit;
}
.casa-cal-cell:hover{background:rgba(212,163,24,.28);}
.casa-cal-cell.is-muted{opacity:.28;cursor:default;}
.casa-cal-cell.is-closed{color:var(--book-khaki);background:rgba(28,27,23,.05);}
.casa-cal-cell.is-today{box-shadow:inset 0 0 0 2px var(--book-terra);}
.casa-cal-cell.is-on{background:var(--book-ink);color:var(--book-mustard);}
.casa-cal-cell.is-tick{animation:casa-pop .3s cubic-bezier(.2,1.6,.3,1);}
.casa-cal-hint{margin:10px 4px 0;font-size:.72rem;color:var(--book-khaki);font-style:italic;}
.casa-day-today{
  appearance:none;display:flex;align-items:center;justify-content:center;
  margin:0;padding:8px 12px;min-height:0;width:100%;max-width:none;
  border:2px solid #1C1B17;border-radius:16px;cursor:pointer;
  font:inherit;font-size:.72rem;font-weight:800;letter-spacing:.03em;line-height:1.2;text-align:center;
  background:var(--book-ink);color:var(--book-mustard);box-shadow:var(--press);
}
.casa-day-today[hidden]{display:none !important;}
.casa-day-today:hover{background:#2a2923;}
.casa-day-today.is-now,.casa-day-today:disabled{
  opacity:.42;cursor:default;box-shadow:0 3px 0 #1C1B17;transform:none;
}
.casa-day-today:disabled:hover{background:var(--book-ink);}
.casa-hud-occ{
  display:grid;grid-template-columns:1fr minmax(108px,160px) 1fr;align-items:stretch;gap:8px;
}
.casa-occ-gauge{
  min-height:58px;padding:7px 10px 8px;display:flex;flex-direction:column;justify-content:center;gap:4px;
  border:2px solid #1C1B17;border-radius:16px;box-shadow:var(--press);
  background:var(--book-cream);
}
.casa-occ-gauge.is-midi{background:#fff8ee;}
.casa-occ-gauge.is-soir{background:#eeeadd;}
.casa-occ-gauge.is-tight{background:#f6e4dc;}
.casa-occ-gauge.is-open{background:#fff4d4;}
.casa-occ-gauge-head{
  display:flex;align-items:center;gap:5px;
  font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--book-terra);
}
.casa-occ-gauge-head .casa-ico{width:1em;height:1em;}
.casa-occ-gauge-stats{
  display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap;
  font-size:.68rem;font-weight:700;color:var(--book-khaki);line-height:1.1;
}
.casa-occ-gauge-stats span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;}
.casa-occ-gauge-stats b{font-size:.92rem;font-weight:800;color:var(--book-ink);font-variant-numeric:tabular-nums;}
.casa-occ-gauge-stats .casa-ico{width:.92em;height:.92em;}
.casa-occ-gauge .casa-covers{height:6px;margin-top:1px;}
.casa-occ-gauge .casa-covers i{background:var(--book-leaf);}
.casa-occ-gauge.is-tight .casa-covers i{background:var(--book-terra);}
.casa-occ-gauge.is-open .casa-covers i{background:var(--book-mustard);}
.casa-covers-board{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 16px;
}
.casa-covers-card{
  background:var(--book-cream);border-radius:22px;padding:14px 16px;
  border:2px solid #1C1B17;box-shadow:var(--press);
}
.casa-covers-card .k{
  display:flex;align-items:center;gap:6px;
  font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--book-terra);
}
.casa-covers-card .n{font-size:1.45rem;font-weight:800;margin:6px 0 8px;font-variant-numeric:tabular-nums;}
.casa-covers-card .casa-covers i{background:var(--book-leaf);}
.casa-covers-card.is-tight .casa-covers i{background:var(--book-terra);}
.casa-staff-gate{
  max-width:400px;margin:12vh auto;padding:28px 26px 24px;border-radius:28px;
  background:var(--book-cream);color:#1C1B17;
  border:2px solid #1C1B17;box-shadow:var(--press);
}
.casa-staff-gate .logo-mini{display:flex;align-items:center;gap:10px;margin-bottom:16px;text-decoration:none;color:inherit;}
.casa-staff-list{display:flex;flex-direction:column;gap:12px;}
.casa-upcoming-grid{display:grid;gap:12px;}
.casa-upcoming-grid .casa-day-label{grid-column:1/-1;}
.casa-service-label{
  display:flex;align-items:center;gap:8px;
  font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
  color:var(--book-ink);margin:16px 2px 4px;
}
.casa-row{
  display:grid;grid-template-columns:minmax(92px,.7fr) minmax(0,1.4fr);grid-template-areas:
    "time who"
    "phone party"
    "added actions";
  gap:6px;padding:8px;
  background:var(--book-cream);border:2px solid #1C1B17;border-radius:22px;
  box-shadow:0 4px 0 #1C1B17;
}
.casa-row.is-done{opacity:.62;}
.casa-cell{
  display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 10px;
  border:0;border-radius:14px;box-shadow:none;background:#fff;
}
.casa-cell-time{
  grid-area:time;justify-content:center;
  background:var(--book-ink);color:var(--book-mustard);
  font-weight:800;font-size:clamp(1.25rem,2.8vw,1.55rem);font-variant-numeric:tabular-nums;
}
.casa-cell-who{grid-area:who;align-items:center;padding:8px 10px;min-height:44px;}
.casa-who-copy{min-width:0;display:flex;flex-direction:column;gap:4px;}
.casa-row .who{
  font-weight:800;font-size:1rem;display:flex;flex-wrap:wrap;align-items:center;gap:6px;
}
.casa-avatar{
  width:34px;height:34px;flex-shrink:0;border-radius:11px;border:1.5px solid #1C1B17;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;background:#fff;
}
.casa-avatar .casa-ico{width:1.1em;height:1.1em;}
.casa-avatar.is-anniv,.casa-row.is-occ-anniv .casa-cell-who{background:#F5EBD0;}
.casa-avatar.is-amour,.casa-row.is-occ-amour .casa-cell-who{background:#f6e4dc;}
.casa-avatar.is-famille,.casa-row.is-occ-famille .casa-cell-who{background:#e7f0ea;}
.casa-avatar.is-affaires,.casa-row.is-occ-affaires .casa-cell-who{background:#eeeadd;}
.casa-avatar.is-fete,.casa-row.is-occ-fete .casa-cell-who{background:#fff4d4;}
.casa-avatar.is-attention,.casa-row.is-occ-attention .casa-cell-who{background:#f8ead4;}
.casa-cell-phone{
  grid-area:phone;text-decoration:none;color:inherit;
  background:#e7f0ea;font-size:1rem;font-weight:800;letter-spacing:.03em;
}
.casa-cell-phone:hover,.casa-cell-actions button:hover{
  transform:translateY(-1px);box-shadow:0 3px 0 #1C1B17;
}
.casa-cell-phone:active,.casa-cell-actions button:active{
  transform:translateY(2px);box-shadow:0 1px 0 #1C1B17;
}
.casa-cell-phone .casa-ico{color:var(--book-leaf);width:1.15em;height:1.15em;}
.casa-cell-phone.is-empty{opacity:.55;font-size:.78rem;font-weight:700;letter-spacing:0;}
.casa-cell-party{grid-area:party;background:#F5EBD0;justify-content:center;padding:4px 8px;}
.casa-cell-added{
  grid-area:added;flex-wrap:wrap;background:#eeeadd;
  font-size:.7rem;font-weight:700;color:var(--book-khaki);
}
.casa-cell-added time{font-size:inherit;font-weight:700;}
.casa-cell-actions{
  grid-area:actions;display:grid;grid-template-columns:1fr 1fr;flex-wrap:unset;
  gap:5px;padding:6px;background:#fff8ee;align-content:center;
}
.casa-row-note{font-size:.82rem;color:var(--book-khaki);font-style:italic;margin:0;}
.casa-status{
  font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  padding:4px 8px;border-radius:999px;background:rgba(28,27,23,.08);white-space:nowrap;
}
.casa-status.is-hold{background:#F5EBD0;color:var(--book-terra);}
.casa-status.is-confirmed{background:#D4A318;color:#1C1B17;}
.casa-status.is-seated{background:#3D6B4F;color:#F7F3E8;}
.casa-status.is-cancelled,.casa-status.is-no_show{opacity:.5;}
.casa-occ{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 8px;border-radius:999px;font-size:.68rem;font-weight:800;
  background:#fff;border:1.5px solid rgba(28,27,23,.12);
}
.casa-occ .casa-ico{width:1.15em;height:1.15em;}
.casa-occ.is-anniv{background:#F5EBD0;border-color:rgba(212,163,24,.5);}
.casa-occ.is-amour{background:#f6e4dc;color:var(--book-terra);border-color:rgba(154,58,31,.22);}
.casa-occ.is-famille{background:#e7f0ea;color:var(--book-leaf);border-color:rgba(61,107,79,.22);}
.casa-occ.is-affaires{background:#eeeadd;color:var(--book-khaki);}
.casa-occ.is-fete{background:#fff4d4;border-color:rgba(212,163,24,.45);}
.casa-occ.is-attention{background:#f8ead4;color:var(--book-terra);}
.casa-party{
  display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:4px;width:100%;
}
.casa-row .casa-party{grid-template-columns:40px 1fr 40px;}
.casa-party-btn{
  appearance:none;width:40px;height:40px;min-width:40px;min-height:40px;border-radius:13px;border:2px solid #1C1B17;
  background:linear-gradient(180deg,#fff,#F5EBD0);font:inherit;font-size:1.25rem;font-weight:800;
  cursor:pointer;box-shadow:0 3px 0 #1C1B17;line-height:1;
}
.casa-party-btn.is-plus{background:linear-gradient(180deg,#F5EBD0,var(--book-mustard));}
.casa-party-btn:hover{transform:translateY(-1px);box-shadow:0 5px 0 #1C1B17;}
.casa-party-btn:active{transform:translateY(3px);box-shadow:0 1px 0 #1C1B17;}
.casa-party-read{text-align:center;}
.casa-party-read b{display:block;font-size:1.25rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;}
.casa-party-read span{font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--book-khaki);}
.casa-tile-party .casa-party{grid-template-columns:56px 1fr 56px;}
.casa-tile-party .casa-party-btn{width:56px;height:56px;font-size:1.7rem;border-radius:18px;}
.casa-tile-party .casa-party-read b{font-size:1.8rem;}
.casa-cell-actions button{
  appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:5px;
  min-height:36px;border:1.5px solid #1C1B17;background:#fff;border-radius:999px;
  padding:6px 10px;font:inherit;font-size:.72rem;font-weight:700;cursor:pointer;
  box-shadow:0 2px 0 #1C1B17;transition:transform .12s ease,box-shadow .12s ease;
}
.casa-cell-actions button[data-act="seated"]{background:var(--book-leaf);color:#F7F3E8;}
.casa-cell-actions button[data-act="edit"]{background:#F5EBD0;}
.casa-cell-actions button[data-act="cancel"]{color:var(--book-terra);background:#fff;}
.casa-walkin{
  background:transparent;padding:0 16px;border:0;box-shadow:none;margin:16px auto 12px;gap:10px;
}
.casa-walk-grid{
  display:grid;grid-template-columns:1.35fr .85fr;gap:8px;
  grid-template-areas:
    "time party"
    "occ occ"
    "name tel"
    "note note"
    "go go";
}
.casa-tile{
  border:2px solid #1C1B17;border-radius:22px;box-shadow:0 4px 0 #1C1B17;
  padding:12px 14px;background:var(--book-cream);min-height:44px;
}
.casa-tile-time{grid-area:time;background:#fff8ee;}
.casa-tile-party{grid-area:party;background:#F5EBD0;display:flex;flex-direction:column;justify-content:center;gap:8px;}
.casa-tile-occ{grid-area:occ;background:#e7f0ea;}
.casa-tile-name{grid-area:name;background:#fff;}
.casa-tile-tel{grid-area:tel;background:#e7f0ea;}
.casa-tile-note{grid-area:note;background:#fff8ee;}
.casa-tile.casa-field input{
  border:0;background:transparent;padding:6px 0 0;font-size:1.18rem;font-weight:800;
}
.casa-tile.casa-field textarea{
  border:0;background:transparent;padding:6px 0 0;min-height:3.2em;resize:vertical;
  font-size:1rem;font-weight:600;line-height:1.35;
}
.casa-tile-go{
  grid-area:go;margin:0;min-height:56px;border:2px solid #1C1B17;
  box-shadow:0 5px 0 #1C1B17;border-radius:22px;font-size:1.05rem;
  transition:transform .12s ease,box-shadow .12s ease;
}
.casa-tile-go:hover{transform:translateY(-2px);box-shadow:0 7px 0 #1C1B17;}
.casa-tile-go:active{transform:translateY(4px);box-shadow:0 1px 0 #1C1B17;}
.casa-svc{
  display:grid;grid-template-columns:1fr 1fr;width:100%;min-width:0;
  padding:4px;gap:4px;border-radius:999px;border:2px solid #1C1B17;background:#fff;
}
.casa-svc button{
  appearance:none;width:100%;min-width:0;border:0;background:transparent;border-radius:999px;
  padding:10px 8px;font:inherit;font-size:.84rem;font-weight:800;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
}
.casa-svc button.is-on{background:var(--book-mustard);}
.casa-time{display:flex;flex-direction:column;gap:8px;}
.casa-time-slots{display:flex;flex-wrap:wrap;gap:6px;}
.casa-time-slots button{
  appearance:none;border:2px solid #1C1B17;background:#fff;border-radius:14px;
  padding:8px 10px;font:inherit;font-size:.82rem;font-weight:800;cursor:pointer;
  font-variant-numeric:tabular-nums;min-height:40px;
  box-shadow:0 3px 0 #1C1B17;
  transition:transform .12s ease,box-shadow .12s ease;
}
.casa-time-slots button:hover{transform:translateY(-1px);box-shadow:0 4px 0 #1C1B17;}
.casa-time-slots button:active{transform:translateY(2px);box-shadow:0 1px 0 #1C1B17;}
.casa-time-slots button.is-on{background:var(--book-ink);color:var(--book-mustard);}
.casa-occ-block{display:flex;flex-direction:column;gap:8px;}
.casa-occ-panel{display:flex;flex-wrap:wrap;gap:6px;}
.casa-occ-panel button{
  appearance:none;display:inline-flex;align-items:center;gap:6px;
  border:2px solid #1C1B17;background:#fff;border-radius:999px;
  padding:8px 10px;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer;
  min-height:44px;box-shadow:0 3px 0 #1C1B17;
  transition:transform .12s ease,box-shadow .12s ease;
}
.casa-occ-panel button:hover{transform:translateY(-1px);box-shadow:0 4px 0 #1C1B17;}
.casa-occ-panel button:active{transform:translateY(2px);box-shadow:0 1px 0 #1C1B17;}
.casa-occ-panel button.is-on{background:var(--book-mustard);}
.casa-day-label{
  appearance:none;display:flex;align-items:center;gap:8px;width:100%;text-align:left;
  font:inherit;font-size:.82rem;font-weight:800;letter-spacing:.04em;
  color:var(--book-ink);margin:10px 2px 0;padding:10px 12px;
  background:rgba(212,163,24,.22);border:2px solid #1C1B17;border-radius:16px;cursor:pointer;
}
.casa-day-label:hover{background:rgba(212,163,24,.36);}
.casa-upcoming-empty{margin:0 2px 8px;font-size:.88rem;color:var(--book-khaki);}
.casa-agenda-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}
.casa-agenda{
  display:grid;grid-template-columns:64px 34px minmax(0,1fr) 2.2em minmax(7.5em,auto) auto;
  align-items:center;gap:8px;min-height:48px;padding:8px 10px;cursor:pointer;
  background:var(--book-cream);border:2px solid #1C1B17;border-radius:16px;
  box-shadow:0 3px 0 #1C1B17;
}
.casa-agenda:hover,.casa-agenda:focus-visible{
  outline:0;transform:translateY(-1px);box-shadow:0 4px 0 #1C1B17;background:#fff8ee;
}
.casa-agenda:active{transform:translateY(2px);box-shadow:0 1px 0 #1C1B17;}
.casa-agenda-time{
  font-weight:800;font-size:1.05rem;font-variant-numeric:tabular-nums;letter-spacing:-.02em;
}
.casa-agenda .casa-avatar{width:30px;height:30px;border-radius:10px;}
.casa-agenda-who{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
.casa-agenda-who b{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;}
.casa-agenda-who i{font-size:.75rem;color:var(--book-khaki);font-style:italic;}
.casa-agenda-who .casa-occ{padding:2px 7px;font-size:.62rem;}
.casa-agenda-party{
  font-weight:800;font-variant-numeric:tabular-nums;text-align:center;
  background:#F5EBD0;border-radius:10px;padding:4px 0;
}
.casa-agenda-tel{
  font-size:.82rem;font-weight:800;letter-spacing:.03em;text-decoration:none;color:inherit;
  white-space:nowrap;
}
.casa-agenda-tel.is-empty{opacity:.4;font-weight:700;}
.casa-agenda-go{
  font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  background:var(--book-ink);color:var(--book-mustard);border-radius:999px;padding:6px 10px;
}
.casa-agenda.is-occ-anniv{background:#F5EBD0;}
.casa-agenda.is-occ-amour{background:#f6e4dc;}
.casa-agenda.is-occ-famille{background:#e7f0ea;}
.casa-agenda.is-occ-affaires{background:#eeeadd;}
.casa-agenda.is-occ-fete{background:#fff4d4;}
.casa-agenda.is-occ-attention{background:#f8ead4;}
.casa-agenda-more{
  margin:4px 0 16px;border:2px solid #1C1B17;border-radius:18px;background:rgba(247,243,232,.55);
  padding:4px 8px 8px;
}
.casa-agenda-more summary{
  cursor:pointer;font-weight:800;font-size:.88rem;padding:10px 8px;list-style:none;
}
.casa-agenda-more summary::-webkit-details-marker{display:none;}
.casa-agenda-more summary::after{content:" · ouvrir";color:var(--book-khaki);font-weight:700;font-size:.78rem;}
.casa-agenda-more[open] summary::after{content:" · replier";}
.casa-agenda.is-tight{min-height:40px;padding:6px 8px;box-shadow:0 2px 0 #1C1B17;border-radius:14px;}
.casa-agenda.is-tight .casa-agenda-go{padding:4px 8px;}
@media(max-width:640px){
  .casa-agenda{
    grid-template-columns:56px 30px minmax(0,1fr) 2em;
    grid-template-areas:
      "time avatar who party"
      "tel tel go go";
  }
  .casa-agenda-time{grid-area:time;}
  .casa-agenda .casa-avatar{grid-area:avatar;}
  .casa-agenda-who{grid-area:who;}
  .casa-agenda-party{grid-area:party;}
  .casa-agenda-tel{grid-area:tel;}
  .casa-agenda-go{grid-area:go;justify-self:end;}
}
.casa-sheet{
  position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center;
  padding:16px;background:rgba(28,27,23,.46);
}
.casa-sheet[hidden]{display:none !important;}
.casa-sheet-card{
  width:min(460px,100%);max-height:min(88vh,760px);overflow:auto;
  background:var(--book-cream);color:#1C1B17;border-radius:26px 26px 18px 18px;
  border:2px solid #1C1B17;padding:20px 18px 16px;box-shadow:var(--press);
}
.casa-sheet-card h2{font-family:var(--serif);font-size:1.55rem;margin:0 0 14px;line-height:1.15;}
.casa-sheet-card textarea{
  width:100%;min-height:72px;resize:vertical;margin-top:6px;padding:10px 12px;
  border-radius:14px;border:1.5px solid rgba(28,27,23,.14);background:#fff;font:inherit;
}
.casa-sheet-card .casa-party,.casa-sheet-card .casa-time,.casa-sheet-card .casa-occ-block{margin:8px 0;}
.casa-sheet-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap;}
.casa-sheet-actions button{
  appearance:none;border:2px solid #1C1B17;background:#fff;
  border-radius:999px;padding:10px 14px;font:inherit;font-size:.84rem;font-weight:700;cursor:pointer;
}
.casa-sheet-actions .casa-submit{margin:0;}
.casa-danger{background:var(--book-terra) !important;color:#F7F3E8 !important;border-color:#1C1B17 !important;}
#staffConfirmCopy{color:#5C5A3D;font-family:var(--serif);font-style:italic;margin:0 0 4px;}
.casa-live-alert{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin:0;padding:12px 14px 12px 16px;border-radius:18px;
  background:linear-gradient(110deg,#D4A318,#9A3A1F 55%,#D4A318);
  background-size:220% 220%;
  animation:casa-alert-shift 2.4s ease-in-out infinite;
  color:#F7F3E8;box-shadow:var(--press);border:2px solid #1C1B17;
}
.casa-live-alert[hidden]{display:none !important;}
.casa-live-pulse{
  width:14px;height:14px;border-radius:50%;flex-shrink:0;
  background:#F7F3E8;
  box-shadow:0 0 0 0 rgba(247,243,232,.75);
  animation:casa-alert-ping 1.2s ease-out infinite;
}
.casa-live-copy{flex:1;min-width:160px;display:flex;flex-direction:column;gap:2px;}
.casa-live-copy strong{font-size:.92rem;letter-spacing:.01em;}
.casa-live-copy span{font-size:.8rem;opacity:.92;}
.casa-live-alert button{
  appearance:none;border:0;border-radius:999px;padding:8px 12px;
  font:inherit;font-size:.78rem;font-weight:800;cursor:pointer;
  background:#1C1B17;color:#D4A318;
}
.casa-live-alert .casa-live-dismiss{background:rgba(247,243,232,.18);color:#F7F3E8;}
@keyframes casa-alert-shift{
  0%{background-position:0% 50%;}
  50%{background-position:100% 50%;}
  100%{background-position:0% 50%;}
}
@keyframes casa-alert-ping{
  0%{box-shadow:0 0 0 0 rgba(247,243,232,.7);}
  70%{box-shadow:0 0 0 12px rgba(247,243,232,0);}
  100%{box-shadow:0 0 0 0 rgba(247,243,232,0);}
}
@keyframes casa-pop{
  0%{transform:scale(1);}
  40%{transform:scale(1.16) rotate(-4deg);}
  70%{transform:scale(.94) rotate(2deg);}
  100%{transform:scale(1);}
}
@keyframes casa-btn-bounce{
  0%{transform:translateY(0);}
  35%{transform:translateY(4px) scale(.92);}
  70%{transform:translateY(-3px) scale(1.08);}
  100%{transform:translateY(0) scale(1);}
}
@keyframes casa-slide-next{
  0%{transform:translateX(16px);opacity:.2;}
  100%{transform:translateX(0);opacity:1;}
}
@keyframes casa-slide-prev{
  0%{transform:translateX(-16px);opacity:.2;}
  100%{transform:translateX(0);opacity:1;}
}
@keyframes casa-cal-drop{
  0%{transform:translateY(-10px) scale(.98);opacity:0;}
  100%{transform:none;opacity:1;}
}
@keyframes casa-slot-in{
  0%{transform:translateY(6px) scale(.94);}
  100%{transform:none;}
}
@keyframes casa-stamp{
  0%{transform:scale(1);}
  30%{transform:scale(.9) rotate(-2deg);}
  60%{transform:scale(1.07) rotate(1.5deg);}
  100%{transform:scale(1);}
}
@keyframes casa-list-pop{
  0%{transform:translateY(8px);opacity:.55;}
  100%{transform:none;opacity:1;}
}
.casa-party-btn.is-tick{animation:casa-btn-bounce .3s cubic-bezier(.2,1.6,.3,1);}
.casa-party-read b.is-tick{display:inline-block;animation:casa-pop .32s cubic-bezier(.2,1.6,.3,1);}
.casa-time-slots button{animation:casa-slot-in .22s cubic-bezier(.2,1.2,.3,1);}
.casa-time-slots button:nth-child(1){animation-delay:0s;}
.casa-time-slots button:nth-child(2){animation-delay:.03s;}
.casa-time-slots button:nth-child(3){animation-delay:.06s;}
.casa-time-slots button:nth-child(4){animation-delay:.09s;}
.casa-time-slots button:nth-child(5){animation-delay:.12s;}
.casa-time-slots button:nth-child(6){animation-delay:.15s;}
.casa-time-slots button:nth-child(7){animation-delay:.18s;}
.casa-time-slots button:nth-child(8){animation-delay:.21s;}
.casa-time-slots button.is-tick{animation:casa-pop .28s cubic-bezier(.2,1.6,.3,1);}
.casa-day-nav > button:not(.casa-day-nav-pick).is-tick{animation:casa-btn-bounce .28s cubic-bezier(.2,1.6,.3,1);}
.casa-submit.is-stamp{animation:casa-stamp .42s cubic-bezier(.2,1.4,.3,1);}
.casa-staff-list.is-added{animation:casa-list-pop .4s ease-out;}
.casa-row.is-fresh{animation:casa-card-fresh 1.4s ease-in-out 3;}
@keyframes casa-card-fresh{
  0%,100%{box-shadow:0 4px 0 #1C1B17;}
  50%{box-shadow:0 4px 0 var(--book-mustard);transform:translateY(-1px);}
}
.casa-src{
  display:inline-flex;align-items:center;gap:4px;
  font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:#9A3A1F;
}
.casa-empty{
  padding:22px 12px;text-align:center;color:var(--book-khaki);
  background:rgba(247,243,232,.55);border-radius:20px;border:2px dashed rgba(28,27,23,.18);
}
@media(min-width:640px){
  .casa-row{
    grid-template-columns:minmax(152px,.8fr) minmax(0,1.3fr) minmax(176px,.95fr);
    grid-template-areas:
      "time who party"
      "phone added actions";
  }
  .casa-cell-time{font-size:1.45rem;}
  .casa-cell-phone span{white-space:nowrap;}
  .casa-cell-actions button{white-space:nowrap;}
}
@media(max-width:767px){
  .casa-walk-grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "time"
      "party"
      "occ"
      "name"
      "tel"
      "note"
      "go";
  }
}
@media(max-width:560px){
  .casa-covers-board{grid-template-columns:1fr;}
  .casa-row{
    grid-template-columns:minmax(96px,.8fr) minmax(0,1fr);
    grid-template-areas:
      "time who"
      "phone party"
      "added added"
      "actions actions";
  }
  .casa-day-nav{gap:8px;margin-top:16px;}
  .casa-hud .casa-day-nav{margin:0;}
  .casa-hud-occ{grid-template-columns:1fr minmax(84px,118px) 1fr;gap:6px;}
  .casa-occ-gauge{padding:6px 7px 7px;min-height:54px;border-radius:14px;}
  .casa-occ-gauge-stats{font-size:.62rem;}
  .casa-day-today{font-size:.64rem;padding:6px 8px;border-radius:14px;}
  .casa-day-nav > button:not(.casa-day-nav-pick){flex-basis:54px;width:54px;min-height:72px;font-size:1.7rem;border-radius:18px;}
  .casa-party{grid-template-columns:52px 1fr 52px;}
  .casa-cell-actions{grid-template-columns:1fr 1fr;justify-content:stretch;}
}
