/* Chipirón: the taberna's Alumni Sans lettering, mustard selections and solid white surfaces.
   Kept separate from the reservation engine so the brand remains portable. */
@font-face{font-family:ChipironBody;src:url('./body-semibold.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:ChipironDisplay;src:url('./display-bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root,body[data-screen]{
  --ink:#171311;--accent:#171311;--accent-hover:#35271c;
  --paper:#fff;--canvas:#f2f2ef;--surface-muted:#f5f5f2;--line:#17131147;--muted:#625a4e;
  --mustard:#dab05a;--taberna-paper:#e4d2ae;--wood:#6f3a20;--mahogany:#2b1916;--field-line:#8c7964;--radius:0;
  color:var(--ink);background:var(--canvas);font-family:ChipironBody,Arial,sans-serif;
}
/* The original wordmark is an image, with its proportions intact. */
body[data-screen] .top{background:var(--mahogany);border-bottom:1px solid var(--wood);min-height:94px;padding-block:10px}
body[data-screen] .top .brand{width:100px;max-width:100%;margin:0;justify-self:center}
body[data-screen] .brand-logo{display:block;width:100%;height:auto;aspect-ratio:600/371;object-fit:contain;filter:brightness(0) invert(1)}
body[data-screen] .top-back{color:var(--mustard);font:600 16px/1.3 ChipironBody,Arial,sans-serif}
body[data-screen] .header-mobile,body[data-screen] #header-actions button{color:var(--paper);border-color:#8b7a61;background:transparent;border-radius:0;box-shadow:none}
body[data-screen] .header-mobile:hover,body[data-screen] #header-actions button:hover{background:#35271c;border-color:var(--mustard)}
body[data-screen] #identity{color:var(--taberna-paper)}
body[data-screen] h1,body[data-screen] h2,body[data-screen] h3,
body[data-screen] .narrow h1,body[data-screen] .page-heading h1,
body[data-screen] .detail-heading h1,body[data-screen] .workspace>h1,
body[data-screen] .record-heading h1,body[data-screen] .agenda-card .agenda-heading h1,
body[data-screen] .dashboard-page-heading h1,body[data-screen] .save-reservation h2,
body[data-screen] .mobile-dialog h2,body[data-screen] .edit-group-heading h2,
body[data-screen] .service-quick-intro h2,body[data-screen] .detail-status-actions h2{
  font-family:ChipironDisplay,'Arial Narrow',sans-serif;font-weight:700;letter-spacing:0;line-height:1.02;
}
body[data-screen] .narrow h1{font-size:clamp(2.8rem,6vw,3.8rem);margin-bottom:16px}
body[data-screen] .agenda-card .agenda-heading h1,
body[data-screen] .dashboard-page-heading h1{font-size:clamp(2.3rem,4vw,3rem)}
body[data-screen] h2,body[data-screen] .save-reservation h2{font-size:32px}
body[data-screen] h3{font-size:27px}
body[data-screen] .section-label h2{font:700 29px/1.1 ChipironDisplay,'Arial Narrow',sans-serif}
body[data-screen] .eyebrow{color:var(--wood);font-size:14px;letter-spacing:.01em;text-transform:none}
body[data-screen] button,body[data-screen] .button{border-radius:0;box-shadow:none;font-weight:600}
body[data-screen] .secondary{background:var(--paper);border-color:var(--field-line);color:var(--ink)}
body[data-screen] .secondary:hover{background:var(--surface-muted);border-color:var(--wood)}
body[data-screen] .new-reservation{color:var(--paper);border-color:var(--ink);box-shadow:none}
body[data-screen] .text-button{background:transparent;color:var(--wood)}
body[data-screen] .danger{background:var(--error);border-color:var(--error)}
body[data-screen] .danger-outline{background:var(--paper);color:var(--error);border-color:#c78d85}
body[data-screen] :focus-visible{outline:3px solid var(--wood);outline-offset:3px}
/* Screen headings receive programmatic focus to announce each step. */
body[data-screen] h1[tabindex='-1']:focus{outline:none}
body[data-screen] .top :focus-visible{outline-color:var(--mustard)}
body[data-screen] :is(input,select,textarea){border-radius:0;border-color:var(--field-line);background:var(--paper);font-size:16px;max-width:100%;min-width:0}
body[data-screen] :is(input,select,textarea):focus{border-color:var(--wood)}
body[data-screen] .narrow,body[data-screen] .narrow:has(.booking-confirmation),
body[data-screen] .agenda-card,body[data-screen] .record-card,
body[data-screen] .reservation-detail.record-card,body[data-screen] .dashboard-page{
  border-radius:0;border-color:var(--line);box-shadow:none;background:var(--paper);border-top:4px solid var(--ink);
}
body[data-screen] :is(.form-card,.review-card,.edit-group,.message,.confirm-dialog,.mobile-dialog,.option-row){border-radius:0;box-shadow:none}
body[data-screen] .intro{font-size:17px;color:var(--muted)}
/* Booking reads like one taberna menu, with a clear sequence and quiet fields. */
body[data-screen=booking] .narrow{padding:36px 40px}
body[data-screen] .steps{margin:26px 0 30px}
body[data-screen] .steps li{border-bottom-color:var(--line);color:var(--muted)}
body[data-screen] .steps li[aria-current]{border-bottom-color:var(--ink);color:var(--ink)}
body[data-screen] .steps li[aria-current]>span{background:var(--mustard);border-color:var(--mustard);color:var(--ink);font-weight:600}
body[data-screen] .steps .completed{color:var(--success);border-color:var(--success)}
body[data-screen] .party-stepper{max-width:none;background:var(--paper);border:1px solid var(--line);border-radius:0;padding:12px}
body[data-screen] .party-stepper label{font-size:14px;color:var(--ink)}
body[data-screen] .party-stepper input{font:700 42px/1 ChipironDisplay,sans-serif;border:0;background:transparent;color:var(--ink)}
body[data-screen] .party-stepper button{background:var(--paper);width:52px;flex-basis:52px;min-height:52px}
body[data-screen] .party-shortcuts,body[data-screen] .date-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
body[data-screen] .party-shortcuts button,body[data-screen] .date-shortcuts button{width:100%;padding-inline:6px}
body[data-screen] .party-shortcuts button[aria-pressed=true],
body[data-screen] .date-shortcuts button[aria-pressed=true],
body[data-screen] .meal-picker button[aria-pressed=true]{background:var(--mustard);border-color:var(--wood);color:var(--ink);box-shadow:none}
body[data-screen] .meal-picker button[aria-pressed=true] small{color:var(--ink)}
body[data-screen] .meal-picker button:disabled{background:var(--canvas);border-color:var(--line);color:var(--muted)}
body[data-screen] .slots button{background:var(--paper);color:var(--ink);border-color:var(--field-line);border-radius:0;font-variant-numeric:tabular-nums}
body[data-screen] .slots button:hover{background:var(--surface-muted)}
body[data-screen] .slots button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
body[data-screen] .booking-actions{border-radius:0;box-shadow:none}
body[data-screen] .booking-recap,body[data-screen] .review-card{border-radius:0;border-color:var(--line);background:var(--paper)}
body[data-screen] .booking-recap strong{color:var(--ink)}
body[data-screen] .review-highlight{font:700 34px/1.1 ChipironDisplay,sans-serif;color:var(--ink)}
body[data-screen] .booking-confirmation h1{font-size:clamp(2.8rem,6vw,3.5rem)}
body[data-screen] .booking-confirmation .save-reservation{background:transparent;border:0;padding:0}
body[data-screen] .confirmation-mark{display:grid;place-items:center}
body[data-screen] .confirmation-mark svg{display:block;margin:0;flex:none}
body[data-screen] .appointment-band{border:0;border-radius:0;background:var(--paper);padding:18px;margin:20px 0}
body[data-screen] .appointment-band>strong{font-weight:700;color:var(--ink)}
/* Agenda and secondary screens share the same hierarchy and material. */
body[data-screen] .dashboard-page-heading{border-bottom:1px solid var(--line);padding-bottom:20px}
body[data-screen] .agenda-card .agenda-heading{border-bottom:1px solid var(--line);padding-bottom:16px}
body[data-screen] .record-heading{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:20px}
body[data-screen] .record-heading h1{font-size:clamp(2.5rem,5vw,3.3rem)}
body[data-screen] .service-card{border-radius:0;border-color:var(--line);border-top:2px solid var(--ink);background:var(--paper)}
body[data-screen] .reservation-list.service-card>.service-quick{background:var(--paper);border-bottom:1px solid var(--line)}
body[data-screen] .service-quick-name h2{font:700 30px/1 ChipironDisplay,sans-serif}
body[data-screen] .service-quick-status{color:var(--ink)}
body[data-screen] .service-card .service-count{padding-top:10px;background:var(--paper)}
body[data-screen] .service-card .reservation-heading h3{font:700 27px/1.05 ChipironDisplay,sans-serif}
body[data-screen] .reservation-time{font-family:ChipironDisplay,sans-serif;font-weight:700;color:var(--wood)}
body[data-screen] .reservation.needs-review{border-left-color:var(--mustard)}
body[data-screen] .reservation-notes{background:var(--canvas);border-radius:0}
body[data-screen] .agenda-card .overview-filter{border-radius:0}
body[data-screen] .agenda-card .overview-filter[aria-pressed=true]{background:var(--mustard);color:var(--ink)}
body[data-screen] .agenda-card .overview-filter[aria-pressed=true] :is(span,small,strong){color:var(--ink)}
body[data-screen] :is(.service-tabs,.catalog-tabs,.dashboard-page .subnav){background:var(--canvas);border-radius:0;padding:4px}
body[data-screen] :is(.service-tabs,.catalog-tabs,.dashboard-page .subnav) button{background:transparent;border-color:transparent;color:var(--muted);min-height:44px}
body[data-screen] .service-tabs button[aria-pressed=true],
body[data-screen] .catalog-tabs button[aria-pressed=true],
body[data-screen] .dashboard-page .subnav [aria-current=page]{background:var(--mustard);color:var(--ink);border-color:transparent;box-shadow:none}
body[data-screen] .calendar-page .calendar button[aria-current=date]{background:var(--mustard);border-color:var(--wood);color:var(--ink)}
body[data-screen] .activity-panel,body[data-screen] .agenda-card .activity-panel{background:#faf0d5;border-color:#a88b50;border-radius:0}
body[data-screen] .activity-summary-icon{background:var(--mustard);color:var(--ink)}
body[data-screen] .dashboard-page .menu-item[open]{background:var(--canvas);border-radius:0}
body[data-screen] .dashboard-page .option-row{background:var(--canvas);border-radius:0}
body[data-screen] .dashboard-page .sticky-actions{border-radius:0;box-shadow:none;border-top:1px solid var(--wood)}
body[data-screen] .nav{border-radius:0;background:var(--mahogany);border-color:var(--mahogany);box-shadow:none}
body[data-screen] .nav button{color:var(--taberna-paper);background:transparent;border-radius:0}
body[data-screen] .nav button:hover{background:#35271c;color:var(--paper)}
body[data-screen] .nav button[aria-current=page]{background:var(--mustard);color:var(--ink)}
body[data-screen] .nav-badge{background:var(--error);color:white}
body[data-screen] .mobile-banner{background:var(--surface-muted);border-color:var(--line)}
body[data-screen] .mobile-dialog{border-top:4px solid var(--ink)}
body[data-screen] .mobile-dialog h2{font-size:34px}
body[data-screen] #notice{border-radius:0}
body[data-screen] .foot{color:var(--muted);border-color:var(--line)}
@media(max-width:650px){
  body[data-screen] .top{min-height:82px;padding-block:8px}
  body[data-screen] .top .brand{width:86px}
  body[data-screen] .top-back{font-size:14px;gap:3px}
  body[data-screen=booking] .narrow,body[data-screen=booking] .narrow:has(.booking-confirmation){padding:24px 20px}
  body[data-screen] .narrow h1{font-size:46px}
  body[data-screen] .agenda-card .agenda-heading h1,body[data-screen] .dashboard-page-heading h1{font-size:36px}
  body[data-screen] .record-heading h1{font-size:40px}
  body[data-screen] .section-label h2{font-size:28px}
  body[data-screen] .party-stepper{padding:10px}
  body[data-screen] .party-shortcuts button,body[data-screen] .date-shortcuts button{font-size:14px}
  body[data-screen] .nav{border-radius:0;border-top:1px solid var(--wood);padding-top:8px}
  body[data-screen] .nav button{font-size:12px;border-radius:0}
}
@media(max-width:360px){
  body[data-screen=booking] .narrow,body[data-screen=booking] .narrow:has(.booking-confirmation){padding:20px 14px}
  body[data-screen] .top .brand{width:78px}
  body[data-screen] .narrow h1{font-size:42px}
  body[data-screen] .agenda-card .agenda-heading h1,body[data-screen] .dashboard-page-heading h1{font-size:32px}
}
/* Printed menu rules: strong edges for surfaces, fine rules for content.
   State colours retain their meaning throughout the public and team flows. */
body[data-screen] :where(.form-card,.section,.service,.service-schedule,.service-quick-panel,
  .capacity-overview,.edit-current,.detail-status-actions,.detail-notes,
  .global-pause-note,.dashboard-connection,.tag,.record-state,.review-notes,
  .notes,.team-symbol,.audit-symbol,.activity-summary-icon,.calendar-count,
  .calendar-footer i,.availability-empty,.availability-services span,.settings-pause,
  .mobile-banner,.service-quick,.activity-new,.audit pre,.edit-group-heading>span){border-radius:0;box-shadow:none}
body[data-screen] button,body[data-screen] .button{border-width:1px}
body[data-screen] .secondary:hover{background:var(--surface-muted);border-color:var(--wood)}
body[data-screen] .danger:hover{background:#732b28}
body[data-screen] .danger-outline:hover{background:var(--error-bg);border-color:var(--error)}
body[data-screen] .text-button:hover{background:transparent}
body[data-screen] .narrow>.eyebrow{margin-bottom:16px}
body[data-screen] .section-label{color:var(--wood)}
body[data-screen] .availability-empty{background:var(--paper);border:1px dashed var(--wood)}
body[data-screen] :is(.service-schedule,.edit-current,.message:not(.error):not(.success)){background:var(--paper)}
body[data-screen] .availability-help{flex-direction:column;align-items:stretch}
body[data-screen] .availability-help p{margin:0}
body[data-screen] .restaurant-call{min-height:48px;text-align:center}
body[data-screen] .availability-services span{background:var(--surface-muted);color:var(--ink)}
body[data-screen] .settings-pause{background:var(--paper);border:1px solid var(--line)}
body[data-screen] .service progress,body[data-screen] progress::-webkit-progress-bar,
body[data-screen] progress::-webkit-progress-value{border-radius:0}
body[data-screen] .form-section{border-bottom-style:dashed}
body[data-screen] .booking-actions{border:0;border-top:2px solid var(--ink);padding:16px 0 0;background:var(--paper)}
body[data-screen] .booking-recap{border-left:3px solid var(--wood)}
body[data-screen] .review-card{background:transparent;border:0;border-block:1px solid var(--line);padding:20px 0}
body[data-screen] .review-card+.review-card{border-top:0}
body[data-screen] .appointment-band{border-block:1px solid var(--line)}
body[data-screen] .slots button[aria-pressed=true]{box-shadow:none}
body[data-screen] .confirmation-mark{border:1px solid var(--success);border-radius:0;background:var(--success-bg)}
body[data-screen] .whatsapp-action{background:var(--success);border-color:var(--success);color:var(--paper)}
body[data-screen] .whatsapp-action:hover{background:#234534}
body[data-screen] .service-card .service-count{border-bottom-style:dashed}
body[data-screen] .reservation .notes{background:var(--canvas);border-left:2px solid var(--line)}
body[data-screen] :is(.status-confirmed,.status-arrived,.status-seated){background:var(--success-bg);color:var(--success)}
body[data-screen] :is(.status-cancelled,.record-state.is-cancelled){background:var(--error-bg);color:var(--error)}
body[data-screen] :is(.tag-attention,.recent-tag,.record-state.is-pending){background:var(--attention-bg);color:var(--attention)}
body[data-screen] .global-pause-note{border:1px solid var(--line)}
body[data-screen] :is(.team-symbol,.audit-symbol){background:var(--surface-muted);color:var(--wood)}
body[data-screen] .calendar-page .calendar button{border-radius:0}
body[data-screen] .calendar-page .calendar button.has-reservations{border-bottom:3px solid var(--wood)}
body[data-screen] .calendar-page .calendar button[aria-current=date]{border:2px solid var(--wood);background:var(--mustard)}
body[data-screen] .calendar-footer i{border-color:var(--wood);background:var(--mustard)}
body[data-screen] .calendar-page .calendar .calendar-count{background:var(--ink);color:var(--paper);border-radius:0}
body[data-screen] .dashboard-page .menu-editor>summary{color:var(--wood);font-weight:700}
body[data-screen] .dashboard-page .menu-item[open]{border-left:0}
body[data-screen] .dashboard-page .sticky-actions{border:0;border-top:2px solid var(--ink);padding-inline:0}
body[data-screen] .confirm-dialog,body[data-screen] .mobile-dialog{border:1px solid var(--wood);border-top:4px solid var(--ink);border-radius:0;box-shadow:0 16px 48px #2b19162e}
body[data-screen] .confirm-dialog::backdrop,body[data-screen] .mobile-dialog::backdrop{background:#2b1916a6}
body[data-screen] .confirm-dialog h2{font-size:36px}
body[data-screen] .dialog-symbol{border-radius:0;border:1px solid currentColor}
body[data-screen] #notice:not(:empty){border-radius:0;border:1px solid currentColor;border-left:4px solid currentColor;box-shadow:0 6px 20px #2b191619}
body[data-screen] #notice[data-tone=info]{border-color:var(--wood)}
body[data-screen] .mobile-banner{border-left:0}
@media(max-width:980px){
  body[data-screen] .nav{border-top:1px solid var(--wood);box-shadow:none}
}
@media(max-width:650px){
  body[data-screen] .confirm-dialog,body[data-screen] .mobile-dialog{padding:22px 20px}
  body[data-screen] .day-overview small{font-size:12px}
}
/* Chipirón buttons: a rounded label and a separate circular action glyph. */
body[data-screen] .cb[data-cb]{
  --cb-bg:var(--mustard);--cb-fg:var(--ink);--cb-border:transparent;--cb-hover:#e4bb65;
  --cb-circle:var(--mahogany);--cb-glyph:var(--mustard);--cb-size:34px;
  display:inline-flex;position:relative;flex-direction:row;align-items:center;justify-content:space-between;
  gap:12px;min-height:56px;min-width:0;padding:7px 8px 7px 22px;
  border:1px solid var(--cb-border);border-radius:999px;background:var(--cb-bg);color:var(--cb-fg);
  font:600 15px/1.3 ChipironBody,Arial,sans-serif;text-align:left;text-decoration:none;box-shadow:none;
}
body[data-screen] .cb[data-cb-tone=secondary]{--cb-bg:#fff;--cb-fg:var(--ink);--cb-border:var(--field-line);--cb-hover:var(--surface-muted);--cb-circle:var(--wood);--cb-glyph:#fff}
body[data-screen] .cb[data-cb-tone=success]{--cb-bg:var(--success);--cb-fg:#fff;--cb-hover:#234534;--cb-circle:#fff;--cb-glyph:var(--success)}
body[data-screen] .cb[data-cb-tone=danger]{--cb-bg:var(--error-bg);--cb-fg:var(--error);--cb-border:#c78d85;--cb-hover:#efd8d3;--cb-circle:var(--error);--cb-glyph:#fff}
body[data-screen] .cb.danger[data-cb]{--cb-bg:var(--error);--cb-fg:#fff;--cb-hover:#732b28;--cb-circle:#fff;--cb-glyph:var(--error)}
body[data-screen] .cb[data-cb-tone=header],body[data-screen] .cb[data-cb-tone=nav]{--cb-bg:transparent;--cb-fg:#fff;--cb-border:#8b7a61;--cb-hover:#35271c;--cb-circle:var(--mustard);--cb-glyph:var(--mahogany)}
body[data-screen] .cb[data-cb]:not(:disabled):hover{background:var(--cb-hover);color:var(--cb-fg);border-color:var(--cb-border)}
body[data-screen] .cb[data-cb]:disabled{opacity:.5;cursor:not-allowed}
body[data-screen] .cb-label{display:block;min-width:0;flex:1;text-align:left;white-space:normal;overflow-wrap:normal;word-break:normal}
body[data-screen] .cb-icon{display:flex;align-items:center;justify-content:center;flex:0 0 var(--cb-size);width:var(--cb-size);height:var(--cb-size);padding:0;margin:0;line-height:0;border-radius:50%;background:var(--cb-circle);color:var(--cb-glyph)}
body[data-screen] .cb-icon .icon{display:block;flex:none;width:17px;height:17px;min-width:0;min-height:0;padding:0;margin:0;transform:none;color:inherit}
body[data-screen] .cb[data-cb][aria-busy=true] .cb-icon{visibility:hidden}
body[data-screen] .cb[data-cb][aria-busy=true]::after{position:absolute;right:18px;top:50%;margin-top:-8px;color:var(--cb-fg)}
body[data-screen] .cb[data-cb][aria-pressed=true],body[data-screen] .cb[data-cb][aria-current=page]{--cb-bg:var(--mustard);--cb-fg:var(--ink);--cb-hover:#e4bb65;--cb-circle:var(--mahogany);--cb-glyph:var(--mustard)}
body[data-screen] .cb[data-cb=icon]{--cb-size:32px;flex:0 0 48px;width:48px;height:48px;min-height:48px;padding:7px;justify-content:center}
body[data-screen] .cb[data-cb=icon] .cb-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
body[data-screen] .party-stepper .cb[data-cb=icon]{width:52px;height:52px;flex:0 0 52px;min-height:52px;padding:9px;gap:0}
body[data-screen] .service-card .reservation-card-actions .cb[data-cb]{--cb-size:28px;min-height:48px;padding:6px 7px 6px 14px;gap:8px;font-size:14px}
body[data-screen] .new-reservation.cb .cb-label,body[data-screen] .new-reservation.cb .cb-icon{font-size:15px}
body[data-screen] .new-reservation.cb .cb-label::after,body[data-screen] .new-reservation.cb .cb-icon::after{content:none}
body[data-screen] .new-reservation.cb .cb-label>span{font-size:15px}
body[data-screen] .nav{padding:8px}
body[data-screen] #header-actions .cb[data-cb]{border-radius:999px}
@media(max-width:980px){
  body[data-screen] .nav{padding:8px 12px calc(8px + env(safe-area-inset-bottom))}
}
@media(max-width:650px){
  body[data-screen] .cb[data-cb]{--cb-size:32px;min-height:52px;gap:8px;padding-left:16px}
  body[data-screen] .new-reservation.cb[data-cb]{--cb-size:30px;padding:6px 7px 6px 14px;min-height:48px;gap:8px}
  body[data-screen] .new-reservation.cb .cb-label>span{font-size:0}
  body[data-screen] .new-reservation.cb .cb-label>span::after{content:'Nueva';font-size:14px}
  body[data-screen] .top .cb[data-cb],body[data-screen] .agenda-card .agenda-refresh.cb[data-cb]{--cb-size:32px;width:48px;height:48px;min-height:48px;padding:7px;gap:0;justify-content:center;flex-direction:row}
  body[data-screen] .top .cb-label,body[data-screen] .agenda-refresh.cb .cb-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  body[data-screen] .agenda-card .agenda-refresh.cb .cb-icon{display:grid}
  /* In a column, flex-basis controls height rather than button width. */
  body[data-screen] .dialog-actions{flex-wrap:nowrap;align-items:stretch}
  body[data-screen] .dialog-actions>button{flex:0 0 auto;width:100%}
  body[data-screen] .dashboard-page .menu-item .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-screen] .dashboard-page .menu-item .actions [data-remove]{grid-column:1/-1}
}
@media(max-width:360px){
  body[data-screen] .booking-actions{flex-direction:column;align-items:stretch}
  body[data-screen] .booking-actions>.cb[data-cb]{flex:auto;width:100%}
  body[data-screen] .sticky-actions{flex-direction:column;align-items:stretch}
  body[data-screen] .sticky-actions>.cb[data-cb]{flex:auto;width:100%}
  body[data-screen] .dashboard-page .subnav{grid-template-columns:minmax(0,1fr)}
  body[data-screen] .agenda-card .list-controls{grid-template-columns:minmax(0,1fr)}
  body[data-screen] .agenda-card .refresh-controls{align-items:flex-end}
}
@media(forced-colors:active){
  body[data-screen] :is(button,.button,input,select,textarea){border:1px solid ButtonText}
  body[data-screen] :focus-visible{outline:3px solid Highlight}
  body[data-screen] .nav button[aria-current=page],body[data-screen] button[aria-pressed=true]{border:2px solid Highlight}
}
body[data-screen] .weekly-hours{display:grid;gap:0}
body[data-screen] .weekly-hours-row{display:grid;grid-template-columns:140px minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:center;padding:16px 0;border-bottom:1px dashed var(--line)}
body[data-screen] .weekly-hours-row:last-child{border-bottom:0}
body[data-screen] .weekly-day{display:grid;grid-template-columns:24px minmax(0,1fr);gap:4px 8px;align-items:center;margin:0}
body[data-screen] .weekly-day input{grid-row:1/3;margin:0}
body[data-screen] .weekly-day small{grid-column:2;color:var(--muted);font-weight:400;font-size:13px}
body[data-screen] .weekly-hours-row>div{min-width:0}
body[data-screen] .weekly-hours-row input:disabled{background:var(--surface-muted);color:var(--muted);opacity:1}
@media(max-width:650px){
  body[data-screen] .weekly-hours-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
  body[data-screen] .weekly-day{grid-column:1/-1;grid-template-columns:24px auto minmax(0,1fr)}
  body[data-screen] .weekly-day input{grid-row:1}
  body[data-screen] .weekly-day small{grid-column:3;text-align:right}
}
@media print{
  body[data-screen]{background:white}
  body[data-screen] .agenda-card,body[data-screen] .record-card,body[data-screen] .dashboard-page{border:0}
}

/* Selectors retain full labels and inline glyphs; only actions use circles. */
body[data-screen] .selector-control[data-selector-control]{border-radius:10px;box-shadow:none}
body[data-screen] :is(.party-shortcuts,.date-shortcuts,.meal-picker,.slots,.day-picker,.calendar-picker,.password-control) .selector-control[data-selector-control]{min-height:48px;background:var(--paper);color:var(--ink);border:1px solid #c7b59e}
body[data-screen] :is(.party-shortcuts,.date-shortcuts) .selector-control[data-selector-control]{justify-content:center;padding:10px 6px;font-size:14px;text-align:center}
body[data-screen] :is(.party-shortcuts,.date-shortcuts,.meal-picker,.slots) .selector-control[data-selector-control][aria-pressed=true]{background:#f4e9df;border-color:var(--wood);color:var(--wood);box-shadow:none}
body[data-screen] :is(.party-shortcuts,.date-shortcuts,.meal-picker,.slots,.day-picker,.calendar-picker,.password-control) .selector-control[data-selector-control]:not(:disabled):hover{background:var(--surface-muted);border-color:var(--wood)}
body[data-screen] :is(.party-shortcuts,.date-shortcuts,.meal-picker,.slots) .selector-control[data-selector-control][aria-pressed=true]:hover{background:#eee0d4}
body[data-screen] .meal-picker .selector-control[data-selector-control]{min-height:70px;padding:12px;gap:10px;align-items:center}
body[data-screen] .meal-picker .selector-control[aria-pressed=true] small{color:var(--wood)}
body[data-screen] .meal-picker .selector-control[data-selector-control]:disabled{background:var(--canvas);color:var(--muted);border-color:var(--line)}
body[data-screen] .slots .selector-control[data-selector-control]{min-height:52px;font-size:16px}
body[data-screen] .nav .selector-control[data-selector-control]{border-radius:10px}
body[data-screen] .calendar-page .calendar .selector-control[data-selector-control]{border-radius:8px}
body[data-screen] .agenda-card .selector-control.overview-filter{border-radius:8px}
@media(max-width:360px){body[data-screen] :is(.party-shortcuts,.date-shortcuts) .selector-control[data-selector-control]{font-size:13px;padding-inline:4px}}

/* Mobile booking: one stable action area, with the current table always visible. */
body[data-screen=booking] .booking-summary{flex:1 0 100%;margin:0 0 8px;color:var(--wood);font-size:14px;font-weight:600}
body[data-screen=booking] .booking-actions{flex-wrap:wrap}
body[data-screen=booking] #slots[aria-busy=true]{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--surface-muted);font-size:14px}
body[data-screen=booking] #slots[aria-busy=true]::before{flex:none;margin:0;vertical-align:0}
body[data-screen=booking] .field-error:not(:empty){display:block;margin-top:6px;color:var(--error);font-size:14px;line-height:1.4}
body[data-screen=booking] input[aria-invalid=true]{border:2px solid var(--error);background:var(--error-bg)}
@media(max-width:650px){
  body[data-screen=booking].booking-wizard{padding-bottom:calc(116px + env(safe-area-inset-bottom))}
  body[data-screen=booking].booking-wizard .narrow{padding-top:20px}
  body[data-screen=booking].booking-wizard .narrow h1{font-size:40px;margin-bottom:10px}
  body[data-screen=booking].booking-wizard .intro{font-size:16px;margin-bottom:18px}
  body[data-screen=booking].booking-wizard .steps{margin:18px 0 22px}
  body[data-screen=booking] .wizard-content .booking-actions{position:fixed;z-index:90;inset:auto 0 0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;margin:0;padding:10px max(16px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-right));border-top:1px solid var(--field-line);background:var(--paper)}
  body[data-screen=booking] .wizard-content .booking-summary{grid-column:1/-1;margin:0;line-height:1.3}
  body[data-screen=booking] .wizard-content .booking-actions>.cb[data-cb]{width:100%;min-width:0;min-height:52px;padding:7px 8px 7px 16px;gap:8px}
  body[data-screen=booking] .wizard-content .booking-actions>.cb.secondary[data-cb]{--cb-size:26px;font-size:14px;padding-left:12px}
  body[data-screen=booking] .wizard-content .booking-actions:not(:has(.secondary))>.cb{grid-column:1/-1}
  body[data-screen=booking] :is([data-party],[data-party-change],[data-slot],.date-shortcuts button){transition:background-color 120ms ease,border-color 120ms ease}
  body[data-screen=booking] .selection-status{font-size:14px;line-height:1.4}
}
@media(prefers-reduced-motion:reduce){body[data-screen=booking] :is([data-party],[data-party-change],[data-slot],.date-shortcuts button){transition:none}}

/* The team's agenda prioritises the selected day, review work and the next table. */
body[data-screen] .agenda-date-shortcuts{display:grid;grid-template-columns:auto auto minmax(140px,1fr);gap:8px;margin:16px 0}
body[data-screen] .agenda-date-shortcuts button{min-height:44px;padding:9px 14px;border-radius:8px}
body[data-screen] .agenda-date-shortcuts button[aria-pressed=true]{background:#f4e9df;border-color:var(--wood);color:var(--wood)}
body[data-screen] .agenda-date-shortcuts input{margin:0;min-height:44px;padding:8px;font-size:15px}
body[data-screen] .agenda-totals{display:flex;gap:24px;padding:12px 0;border-block:1px solid var(--line)}
body[data-screen] .agenda-totals p{display:flex;align-items:baseline;gap:8px;margin:0}
body[data-screen] .agenda-totals strong{font:700 30px/1 ChipironDisplay,sans-serif}
body[data-screen] .agenda-totals span{color:var(--muted);font-size:14px}
body[data-screen] .agenda-card .agenda-review.overview-filter{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;min-height:64px;width:100%;padding:12px;margin:12px 0;background:#faf0d5;border:1px solid #a88b50;color:var(--ink);text-align:left}
body[data-screen] .agenda-card .agenda-review>span{display:block;flex:1;min-width:0;text-align:left}
body[data-screen] .agenda-review strong{display:block;font:600 15px/1.3 ChipironBody,sans-serif}
body[data-screen] .agenda-review small{display:block;font-size:12px;margin-top:4px}
body[data-screen] .agenda-review[aria-pressed=true]{border-color:var(--wood);outline:1px solid var(--wood)}
body[data-screen] .agenda-card .agenda-review[aria-pressed=true] :is(span,small,strong){color:var(--ink)}
body[data-screen] .agenda-reviewed{display:flex;align-items:center;gap:8px;color:var(--success);font-size:13px;margin:12px 0}
body[data-screen] .agenda-card .activity-clear{padding:8px 0;margin:0;font-size:12px;min-height:0;gap:6px}
body[data-screen] .agenda-card .activity-clear .icon{width:16px;height:16px}
body[data-screen] .agenda-card .list-controls{margin:10px 0 0}
body[data-screen] .agenda-card .filter-panel>summary{font-size:13px}
body[data-screen] .agenda-card .results-summary:not(:has(button)){display:none}
body[data-screen] .agenda-card .filter-panel .toolbar{grid-template-columns:90px minmax(0,1fr)}
body[data-screen] .quick-reservation-page{max-width:760px;margin-inline:auto}
body[data-screen] .quick-reservation-page .dashboard-page-heading{padding-bottom:16px;margin-bottom:20px}
body[data-screen] .quick-reservation-page .dashboard-page-heading h1{font-size:36px}
body[data-screen] .quick-reservation-page .dashboard-page-heading p{font-size:14px}
body[data-screen] .quick-manual{margin:0}
body[data-screen] .quick-manual h2{font-size:24px;margin-bottom:8px}
body[data-screen] .quick-manual label{margin:8px 0 6px}
body[data-screen] .quick-manual .quick-date-row{grid-template-columns:auto auto minmax(0,1fr);gap:6px;margin:0 0 10px;align-items:center}
body[data-screen] .quick-manual .date-shortcuts .selector-control[data-selector-control]{min-height:44px;min-width:44px;padding:8px;font-size:14px}
body[data-screen] .quick-party-row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;align-items:center}
body[data-screen] .quick-party-row input{text-align:center;padding-inline:4px}
body[data-screen] .quick-manual .party-shortcuts .selector-control[data-selector-control]{min-height:44px;padding:6px 2px;font-size:12px}
body[data-screen] .quick-manual .party-shortcuts{gap:6px;margin:0}
body[data-screen] .quick-manual .field-error:empty{display:none}
body[data-screen] .quick-manual input,body[data-screen] .quick-manual select{margin-bottom:0;min-height:48px}
body[data-screen] .manual-service-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0 10px}
body[data-screen] .manual-service-tabs button{background:var(--paper);color:var(--ink);border-color:var(--field-line);border-radius:8px;min-height:44px;padding:8px;font-size:14px}
body[data-screen] .manual-service-tabs button[aria-pressed=true]{background:#f4e9df;border-color:var(--wood);color:var(--wood)}
body[data-screen] .manual-service-tabs:has(>button:only-child){grid-template-columns:1fr}
body[data-screen] .quick-contact{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}
body[data-screen] .quick-contact .grid{gap:12px}
body[data-screen] .quick-manual .quick-extras{margin:20px 0}
body[data-screen] .quick-save{position:sticky;bottom:16px;z-index:19;padding:12px 0;background:var(--paper);border-top:1px solid var(--field-line)}
body[data-screen] .quick-save p{color:var(--wood);font-size:13px;margin:0 0 8px}
body[data-screen] .quick-save>.cb[data-cb]{width:100%}
@media(max-width:980px){
  body[data-screen] .quick-reservation-page{padding-bottom:130px}
  body[data-screen] .quick-save{position:fixed;inset-inline:0;bottom:max(var(--team-nav-height,75px),var(--team-keyboard-offset,0px));padding:10px max(16px,env(safe-area-inset-left)) 10px max(16px,env(safe-area-inset-right))}
}
@media(max-width:650px){
  body[data-screen] .agenda-card .agenda-heading h1{font-size:28px}
  body[data-screen] .agenda-card .agenda-heading{margin-bottom:0;padding-bottom:12px}
  body[data-screen] .agenda-card .day-date{font-size:13px;margin-top:0}
  body[data-screen] .agenda-card .agenda-heading .new-reservation.cb .cb-label>span{font-size:0}
  body[data-screen] .agenda-card .agenda-heading .new-reservation.cb .cb-label>span::after{content:'Nueva';font-size:14px}
  body[data-screen] .agenda-date-shortcuts{grid-template-columns:auto auto minmax(0,1fr);gap:6px;margin:12px 0}
  body[data-screen] .agenda-date-shortcuts button{padding-inline:10px;font-size:13px}
  body[data-screen] .agenda-date-shortcuts input{font-size:14px;padding-inline:6px}
  body[data-screen] .agenda-totals{gap:20px;padding-block:12px}
  body[data-screen] .agenda-card .list-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
  body[data-screen] .agenda-card .refresh-controls{margin:0;display:flex;flex-direction:column;gap:4px}
  body[data-screen] .agenda-card .refresh-controls .workspace-sync{display:none}
  body[data-screen] .agenda-card .results-summary p{font-size:12px;margin:0}
  body[data-screen] .quick-reservation-page .dashboard-page-heading h1{font-size:32px}
  body[data-screen] .quick-reservation-page .dashboard-page-heading{gap:8px;align-items:center;margin-bottom:14px;padding-bottom:12px}
  body[data-screen] .quick-reservation-page .dashboard-page-heading p{font-size:12px;margin-top:4px}
  body[data-screen] .quick-reservation-page .dashboard-page-actions .cb[data-cb]{min-height:44px;padding-left:12px;font-size:13px;--cb-size:26px}
  body[data-screen] .quick-reservation-page .dashboard-return{margin-bottom:12px}
  body[data-screen] .quick-contact .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
}

/* Daily operations: clear arrivals, quick actions and a reachable create button. */
body[data-screen] .quick-party-row{grid-template-columns:minmax(0,1fr);gap:10px}
body[data-screen] .quick-manual .party-stepper{gap:12px;padding:10px 14px}
body[data-screen] .quick-manual .party-stepper label{margin:0;line-height:1.2}
body[data-screen] .quick-manual .party-stepper input{width:100%;min-height:48px;margin:0;padding:0;line-height:1}
body[data-screen] .quick-manual .party-stepper input:focus-visible{outline:2px solid var(--wood);outline-offset:2px;border-radius:4px}
body[data-screen] .quick-manual .party-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
body[data-screen] .manual-slot-feedback:empty{display:none}
body[data-screen] .manual-slot-feedback{font-size:14px;line-height:1.4;color:var(--wood);margin:8px 0 0}
body[data-screen] .agenda-empty-day,body[data-screen] .agenda-arrivals-ended{font-size:14px;line-height:1.5;color:var(--muted);margin:12px 0}
body[data-screen] .agenda-upcoming{margin:20px 0;background:var(--paper);border:1px solid var(--line);padding:16px 20px}
body[data-screen] .agenda-upcoming h2{font:700 26px/1.2 ChipironDisplay,sans-serif;margin:0 0 10px}
body[data-screen] .agenda-upcoming .agenda-next{display:block;width:100%;min-height:68px;padding:12px 0;margin:0;border:0;border-top:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);text-align:left}
body[data-screen] .agenda-upcoming .agenda-next:hover{background:var(--surface-muted)}
body[data-screen] .agenda-next .arrival-row{display:grid;grid-template-columns:60px minmax(0,1fr) 24px;gap:12px;align-items:start;width:100%;min-width:0;text-align:left;white-space:normal}
body[data-screen] .arrival-time{display:block;align-self:start;font:700 24px/1.2 ChipironDisplay,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--wood)}
body[data-screen] .arrival-info{display:block;min-width:0;padding-top:4px}
body[data-screen] .arrival-name{display:block;font:600 16px/1.35 ChipironBody,sans-serif;overflow-wrap:anywhere}
body[data-screen] .arrival-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font:400 13px/1.45 ChipironBody,sans-serif;color:var(--muted);margin-top:4px}
body[data-screen] .arrival-meta>span{display:block;min-width:0;overflow-wrap:anywhere}
body[data-screen] .arrival-meta>span:first-child{white-space:nowrap}
body[data-screen] .arrival-review{color:var(--wood);font-weight:600}
body[data-screen] .arrival-chevron{display:flex;margin-top:2px;align-items:center;justify-content:center;width:24px;height:24px;color:var(--wood)}
body[data-screen] .arrival-chevron>.icon{display:block;width:20px;height:20px;margin:0;padding:0;flex:none}
body[data-screen] .arrival-meta>span:not(:first-child)::before{content:'· ';color:var(--muted)}
body[data-screen] .service-quick{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center}
body[data-screen] .service-quick-name{align-items:center;min-width:0}
body[data-screen] .service-quick-name h2{margin:0}
body[data-screen] .service-quick-status{grid-column:1/-1;font-size:13px;text-align:left}
body[data-screen] .service-quick-status>span{display:block;line-height:1.4}
body[data-screen] .service-quick-status>.service-shift{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
body[data-screen] .service-hours{white-space:nowrap;font-variant-numeric:tabular-nums}
body[data-screen] .service-quick button{width:auto}
body[data-screen] .service-quick-help{grid-column:auto;font-size:12px;max-width:120px;text-align:right}
body[data-screen] .service-online{color:var(--muted);font-weight:400;margin-top:3px}
body[data-screen] .service-empty{background:var(--paper);border:1px solid var(--line);margin:16px 0}
body[data-screen] .service-empty>summary{display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 18px;list-style:none}
body[data-screen] .service-empty>summary::-webkit-details-marker{display:none}
body[data-screen] .service-empty>summary:after{content:'+';margin-left:auto;font-size:24px;color:var(--wood)}
body[data-screen] .service-empty[open]>summary:after{content:'−'}
body[data-screen] .service-empty>summary>span{min-width:0}
body[data-screen] .service-empty>summary strong{display:block;font-size:15px}
body[data-screen] .service-empty>summary small{display:block;font-size:13px;color:var(--muted);margin-top:3px}
body[data-screen] .service-empty>.service-card{margin:0;border:0;border-top:1px solid var(--line)}
body[data-screen] .service-card .reservation-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:250px}
body[data-screen] .service-card .reservation-card-actions>[data-confirm-reservation]{grid-column:1/-1}
body[data-screen] .needs-review .reservation-card-actions .reservation-zone-action{--cb-bg:var(--paper);--cb-ink:var(--ink);--cb-line:var(--field-line);background:var(--paper);color:var(--ink);border-color:var(--field-line)}
@media(max-width:650px){
  body[data-screen] .agenda-card .agenda-heading{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding-bottom:12px}
  body[data-screen] .agenda-card .filter-row{margin-top:8px}
  body[data-screen] .agenda-card .agenda-reviewed{margin:8px 0}
  body[data-screen] .agenda-upcoming{padding:12px 16px;margin:16px 0}
  body[data-screen] .agenda-upcoming h2{font-size:25px}
  body[data-screen] .agenda-next .arrival-row{grid-template-columns:54px minmax(0,1fr) 24px;gap:10px}
  body[data-screen] .service-card .reservation-card-actions{grid-column:1/-1;min-width:0;width:100%;margin:0;gap:8px}
  body[data-screen] .service-card .reservation-card-actions>.cb[data-cb]{min-height:46px;font-size:14px;--cb-size:26px;gap:6px;padding:6px 7px 6px 12px}
}
html:has(body[data-screen=dashboard]){scroll-padding-block:100px 110px}
html:has(body[data-screen=dashboard] .quick-manual){scroll-padding-bottom:220px}
body[data-screen] .quick-manual :is(input,select,textarea){scroll-margin-block:12px}
@media(max-width:420px){body[data-screen] .quick-contact .grid{grid-template-columns:minmax(0,1fr);gap:10px}}


body[data-screen] .dashboard-page-heading>.dashboard-page-description{grid-column:1/-1;margin:0;max-width:none}
@media(max-width:360px){
  body[data-screen] .nav{padding-inline:4px;gap:2px}
  body[data-screen] .nav button{padding-inline:2px}
  body[data-screen] .nav button>span:not(.nav-badge){white-space:nowrap;overflow-wrap:normal}
}

body[data-screen] .quick-manual #slots{min-height:176px}

/* Scan the day's tables first; reveal actions on demand. */
body[data-screen] .service-card .reservation.reservation-compact{display:block;padding:0;margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--paper)}
body[data-screen] .reservation-compact>summary{display:grid;grid-template-columns:58px minmax(0,1fr) auto 20px;gap:12px;align-items:center;min-height:76px;padding:12px 0;list-style:none;cursor:pointer;border-radius:0}
body[data-screen] .reservation-compact>summary::-webkit-details-marker{display:none}
body[data-screen] .reservation-compact>summary:hover,body[data-screen] .reservation-compact[open]>summary{background:var(--surface-muted)}
body[data-screen] .reservation-compact>summary:focus-visible{outline:2px solid var(--wood);outline-offset:3px}
body[data-screen] .reservation-compact .reservation-basic{display:grid;gap:4px;min-width:0}
body[data-screen] .reservation-compact .reservation-name{font:600 16px/1.3 ChipironBody,Barlow,sans-serif;overflow-wrap:anywhere}
body[data-screen] .reservation-compact .reservation-status{font-size:13px;line-height:1.3;color:var(--muted)}
body[data-screen] .reservation-compact .reservation-status.is-pending{color:var(--wood);font-weight:600}
body[data-screen] .reservation-compact>summary>time{font-size:25px;padding:0;white-space:nowrap}
body[data-screen] .reservation-compact .party-count{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:16px}
body[data-screen] .reservation-compact .party-count .icon{width:18px;height:18px}
body[data-screen] .reservation-compact .reservation-disclosure{display:flex;align-items:center;justify-content:center;color:var(--wood)}
body[data-screen] .reservation-disclosure .icon{width:18px;height:18px}
body[data-screen] .reservation-compact[open] .reservation-disclosure{transform:rotate(180deg)}
body[data-screen] .reservation-compact .reservation-expanded{padding:0 0 16px}
body[data-screen] .reservation-compact .reservation-zone{margin:0 0 12px}
body[data-screen] .service-card .reservation-compact .reservation-card-actions{min-width:0;width:100%;gap:8px;max-width:480px;margin:0}
body[data-screen] .service-card .reservation-compact .reservation-card-actions>[data-edit]:last-child{grid-column:1/-1}
@media(max-width:650px){
  body[data-screen] .reservation-compact>summary{grid-template-columns:48px minmax(0,1fr) auto 16px;gap:8px;min-height:76px}
  body[data-screen] .reservation-compact>summary>time{font-size:23px}
}

/* Restore the taberna's softer cards without expanding the collapsed list. */
body[data-screen=dashboard] :is(.agenda-card,.service-card,.service-empty,.agenda-upcoming){border-radius:16px;box-shadow:0 2px 8px #2b191608}
body[data-screen=dashboard] .service-card>.service-quick{border-radius:14px 14px 0 0}
body[data-screen=dashboard] .service-empty>summary{border-radius:14px}
body[data-screen=dashboard] .service-empty>.service-card{border-radius:0 0 14px 14px;box-shadow:none}
body[data-screen] .service-card .reservation.reservation-compact{margin:8px 0;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
body[data-screen] .service-card .reservation-compact.needs-review{border-color:var(--mustard)}
body[data-screen] .reservation-compact>summary{padding:10px 12px;min-height:76px;border-radius:11px}
body[data-screen] .reservation-compact[open]{border-color:var(--wood);box-shadow:0 2px 8px #2b19160a}
body[data-screen] .reservation-compact[open]>summary{border-radius:11px 11px 0 0;background:var(--surface-muted)}
body[data-screen] .reservation-compact .reservation-name{font:700 24px/1.05 ChipironDisplay,sans-serif}
body[data-screen] .reservation-compact .reservation-status{justify-self:start;padding:3px 8px;border-radius:999px;background:var(--success-bg);color:var(--success);font-size:12px}
body[data-screen] .reservation-compact .reservation-status.is-pending{background:#faf0d5;color:var(--wood)}
body[data-screen] .reservation-compact.is-finished .reservation-status{background:var(--canvas);color:var(--muted)}
body[data-screen] .reservation-compact .reservation-expanded{padding:16px 12px}
body[data-screen] .reservation-compact .reservation-expanded>.notes{margin:12px 0 16px;padding:12px 14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
body[data-screen] .reservation-compact .reservation-expanded>.notes+.reservation-card-actions{margin-top:0}
@media(max-width:650px){
  body[data-screen] .reservation-compact>summary{grid-template-columns:45px minmax(0,1fr) auto 16px;gap:7px;padding-inline:10px}
  body[data-screen] .reservation-compact .reservation-name{font-size:22px}
}

/* A shared field radius across the team's PWA, including dynamically loaded forms. */
body[data-screen]{--field-radius:10px;--card-radius:16px}
body[data-screen] :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=color]),select,textarea){border-radius:var(--field-radius)}
body[data-screen=dashboard] .quick-manual .party-stepper input:focus-visible{border-radius:var(--field-radius)}
/* Large surfaces, grouped controls and small badges have distinct corner sizes. */
body[data-screen] :is(.narrow,.narrow:has(.booking-confirmation),.dashboard-page,.reservation-detail.record-card,.confirm-dialog,.mobile-dialog){border-radius:var(--card-radius)}
body[data-screen] :is(.party-stepper,.review-card,.booking-recap,.settings-pause,.edit-group,.option-row,.appointment-band,.message,.activity-panel,.availability-empty,.mobile-banner,.notes,.reservation-notes,.detail-notes,.service-schedule,.edit-current,.global-pause-note,.detail-status-actions,.service-quick-panel,.capacity-overview,.dashboard-connection){border-radius:12px}
body[data-screen] :is(.service-tabs,.catalog-tabs,.dashboard-page .subnav,.dashboard-page .menu-item[open],.dashboard-page .option-row,.agenda-card .activity-panel){border-radius:12px}
body[data-screen] :is(.dialog-symbol,.confirmation-mark,.team-symbol,.audit-symbol,.activity-summary-icon){border-radius:50%}
body[data-screen] .calendar-page .calendar .calendar-count{border-radius:6px}
body[data-screen] :is(.record-state,.tag,.activity-new){border-radius:999px}
body[data-screen] #notice:not(:empty){border-radius:12px}
body[data-screen] .service-card .reservation-compact .reservation-card-actions{display:grid;grid-template-columns:1fr 1fr}
body[data-screen] .service-card .reservation-compact .reservation-card-actions>.reservation-modify{grid-column:1/-1;grid-row:1}
body[data-screen] .service-card .reservation-compact .reservation-card-actions>[data-confirm-reservation]{grid-column:1/-1}
body[data-screen] .message>[data-existing-reservation]{display:flex;margin-top:12px;max-width:100%}
/* Bulk deletion is separated from routine settings and uses the danger hierarchy. */
body[data-screen=dashboard] .reservation-deletion{border:1px solid #a85c55;border-radius:16px;padding:20px;margin-top:24px;background:#fff}
body[data-screen=dashboard] .reservation-deletion h2{margin-top:0}
body[data-screen=dashboard] .deletion-count{color:#8f3935;font-weight:600}
body[data-screen=dashboard] #delete-reservations .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
body[data-screen=dashboard] #delete-reservations .actions>button{flex:1 1 100%;width:100%;max-width:none}

/* The same quiet press response for actions and selectors, including the PWA. */
body[data-screen] :is(.cb[data-cb],.selector-control[data-selector-control]){
  transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease,transform 120ms var(--ease-out);
}
@media(prefers-reduced-motion:no-preference){
  html:not([data-input=keyboard]) body[data-screen] :is(.cb[data-cb],.selector-control[data-selector-control]):not(:disabled):active{transform:scale(.98)}
}
body[data-screen] :is(input,select,textarea){transition:border-color 160ms ease,background-color 160ms ease}
@media(prefers-reduced-motion:reduce){
  body[data-screen] :is(.cb[data-cb],.selector-control[data-selector-control],input,select,textarea){transition:none}
}

/* Product refinement: keep attention on the next decision and daily tables. */
body[data-screen] .agenda-attention{display:grid;gap:8px;margin:10px 0}
body[data-screen] .agenda-attention:has(>[data-activity-root][hidden]):has(>.agenda-reviewed){margin-block:6px}
body[data-screen] .schedule-disclosure{border:1px solid var(--line);border-radius:12px;margin:12px 0;background:var(--paper)}
body[data-screen] .schedule-disclosure>summary{display:grid;grid-template-columns:minmax(0,1fr) 20px;gap:4px 12px;align-items:center;min-height:64px;padding:14px 16px;cursor:pointer;list-style:none}
body[data-screen] .schedule-disclosure>summary::-webkit-details-marker{display:none}
body[data-screen] .schedule-disclosure>summary strong{font-size:17px}
body[data-screen] .schedule-disclosure>summary span{grid-column:1;font-size:14px;line-height:1.4;color:var(--muted)}
body[data-screen] .schedule-disclosure>summary .icon{grid-column:2;grid-row:1/3;transform:rotate(0);transition:transform var(--duration-fast) var(--ease-out)}
body[data-screen] .schedule-disclosure[open]>summary .icon{transform:rotate(180deg)}
body[data-screen] .schedule-disclosure .service-schedule{margin:0;border:0;border-top:1px solid var(--line);padding:16px}
body[data-screen] .reservation-disclosure{transition:transform var(--duration-fast) var(--ease-out)}
body[data-screen] [data-manual-next]{font-size:14px;font-weight:600;line-height:1.3;color:var(--ink);margin:0 0 6px}
body[data-screen] .quick-save:has(button:not(:disabled)) [data-manual-next]{color:var(--success)}
@media(max-width:650px){
  body[data-screen=booking].booking-wizard .narrow{padding:16px}
  body[data-screen=booking].booking-wizard .narrow h1{font-size:38px;margin-bottom:8px}
  body[data-screen=booking].booking-wizard .intro{margin:0 0 14px;font-size:16px}
  body[data-screen=booking].booking-wizard .steps{margin:14px 0 20px}
  body[data-screen=booking].booking-wizard .steps li{padding-bottom:8px}
  body[data-screen=booking] .form-section{padding-block:14px;margin:0 0 4px}
  body[data-screen=booking] .section-label{margin-bottom:12px}
  body[data-screen=booking] .section-label h2{font-size:25px}
  body[data-screen=booking] .party-stepper{padding:6px 10px;min-height:72px}
  body[data-screen=booking] .party-stepper input{font-size:30px;min-height:44px}
  body[data-screen=booking] .party-stepper label{font-size:13px;margin:0}
  body[data-screen=booking] .party-picker{gap:10px}
  body[data-screen=booking] .party-shortcuts{margin-top:0}
  body[data-screen=booking] .form-section>label{margin-top:6px}
  body[data-screen=booking] #booking-slot label[for=date]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  body[data-screen=booking] .date-shortcuts{margin-top:10px}
  body[data-screen=booking] .form-section>p.muted{font-size:13px;margin:6px 0 12px}
  body[data-screen=booking] .meal-picker{margin:8px 0;gap:8px}
  body[data-screen=booking] .meal-picker button{min-height:56px;padding:8px 10px}
  body[data-screen=booking] .wizard-content .booking-actions{bottom:var(--booking-keyboard-offset,0px)}
  body[data-screen=booking].is-editing-keyboard .booking-summary{display:none}
  body[data-screen] .agenda-card{padding:14px 16px}
  body[data-screen] .agenda-card .agenda-heading{padding-bottom:8px;gap:4px 10px}
  body[data-screen] .agenda-date-shortcuts{margin:8px 0}
  body[data-screen] .agenda-totals{padding-block:8px}
  body[data-screen] .agenda-attention{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:8px;margin:8px 0}
  body[data-screen] .agenda-attention>[data-activity-root]:has(details[open]){grid-column:1/-1}
  body[data-screen] .agenda-card .agenda-attention .agenda-review.overview-filter{min-height:48px;padding:8px;margin:0;background:var(--paper);border-color:var(--field-line);gap:6px}
  body[data-screen] .agenda-attention .agenda-review small{display:none}
  body[data-screen] .agenda-attention .agenda-review strong{font-size:13px;line-height:1.25}
  body[data-screen] .agenda-attention .agenda-review>.icon:last-child{display:none}
  body[data-screen] .agenda-card .agenda-attention .activity-panel{margin:0;background:var(--paper);border-color:var(--field-line)}
  body[data-screen] .agenda-attention .activity-panel>summary{padding:8px;gap:6px;min-height:48px;grid-template-columns:minmax(0,1fr) auto}
  body[data-screen] .agenda-attention .activity-panel>summary .activity-summary-icon,
  body[data-screen] .agenda-attention .activity-panel>summary small{display:none}
  body[data-screen] .agenda-attention .activity-panel>summary strong{font-size:13px;line-height:1.25}
  body[data-screen] .agenda-attention .activity-panel:not([open]) .activity-summary-action{font-size:0}
  body[data-screen] .agenda-attention .activity-panel:not([open]) .activity-summary-action::after{content:'›';font-size:18px}
  body[data-screen] .agenda-attention:has(>[data-activity-root][hidden]){grid-template-columns:1fr}
  body[data-screen] .agenda-upcoming{margin-top:12px}
  body[data-screen] .quick-save{padding-block:8px}
  body[data-screen] .quick-save>button.cb{min-height:48px}
  body[data-screen] .quick-reservation-page .nav button{min-height:48px}
  body[data-screen] .quick-save [data-manual-summary]{font-size:12px;margin:0 0 4px}
}
@media(max-width:980px){
  /* Leave enough document travel to lift the final field above the keyboard bar. */
  body[data-screen=dashboard].is-editing-keyboard:has(#app.signed-in){padding-bottom:calc(var(--team-keyboard-offset,0px) + 180px)}
  body[data-screen=booking].booking-wizard.is-editing-keyboard{padding-bottom:calc(var(--booking-keyboard-offset,0px) + 130px)}
  body[data-screen=dashboard].is-editing-keyboard .nav{display:none}
  body[data-screen=dashboard].is-editing-keyboard .quick-save{bottom:var(--team-keyboard-offset,0px);padding-bottom:8px}
  body[data-screen=dashboard].is-editing-keyboard [data-manual-summary]{display:none}
}
@media(prefers-reduced-motion:reduce){
  body[data-screen] :is(.schedule-disclosure>summary .icon,.reservation-disclosure){transition:none}
}
/* Pending web reservations are the first task when the team opens the agenda. */
body[data-screen] .agenda-card .agenda-attention .agenda-review.overview-filter{
  --cb-bg:var(--mustard);--cb-ink:var(--ink);--cb-line:var(--wood);
  grid-column:1/-1;min-height:64px;padding:12px 14px;gap:10px;
  background:var(--mustard);border:2px solid var(--wood);color:var(--ink);
}
body[data-screen] .agenda-attention .agenda-review strong{font-size:16px;line-height:1.3}
body[data-screen] .agenda-attention .agenda-review small{display:block;font-size:12px;line-height:1.35;margin-top:3px}
body[data-screen] .agenda-attention .agenda-review>.icon:last-child{display:block;flex-shrink:0}
body[data-screen] .menu-item-title{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
body[data-screen] .menu-portion{display:inline-block;padding:4px 9px;background:var(--attention-bg);color:var(--ink);border:1px solid var(--field-line);border-radius:6px;font:600 14px/1.3 ChipironBody,sans-serif}

/* One notification centre: reading activity and confirming remain separate actions. */
body[data-screen] .agenda-attention{grid-template-columns:minmax(0,1fr);margin:12px 0}
body[data-screen] .agenda-card .agenda-attention .notification-center{margin:0;border:1px solid #8b713d;background:var(--paper);color:var(--ink)}
body[data-screen] .agenda-card .notification-center>summary{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;min-height:76px;padding:14px;color:var(--ink);background:#f3e7cb}
body[data-screen] .agenda-card .notification-center.has-pending>summary{background:var(--mustard)}
body[data-screen] .agenda-attention .notification-center>summary .activity-summary-icon{display:grid;width:30px;height:30px;background:transparent;color:var(--ink)}
body[data-screen] .agenda-attention .notification-center>summary strong{font-size:16px;line-height:1.35}
body[data-screen] .agenda-attention .notification-center>summary small{display:block;font-size:12px;line-height:1.5;color:var(--ink);margin-top:4px}
body[data-screen] .agenda-card .notification-center>summary:after{content:'›';font-size:24px;color:var(--ink)}
body[data-screen] .agenda-card .notification-center .activity-summary-action{display:none}
body[data-screen] .notification-center .activity-body{padding:0 14px 14px}
body[data-screen] .notification-center .notification-item{align-items:center;gap:12px;padding:16px 0;border-top:1px solid #bbaa87;border-left:0}
body[data-screen] .notification-item>div{flex:1 1 150px}
body[data-screen] .notification-item strong{display:block;font-size:15px;line-height:1.4;overflow-wrap:anywhere}
body[data-screen] .notification-item p{color:var(--ink);line-height:1.5;margin-top:6px}
body[data-screen] .notification-state{display:inline-block;padding:3px 8px;margin-bottom:8px;border-radius:5px;font-size:12px;font-weight:700;line-height:1.4;background:#e7e0ce;color:#342918}
body[data-screen] .notification-state.is-pending{background:var(--mustard);color:var(--ink)}
body[data-screen] .notification-state.is-cancelled{background:#f3dfd9;color:#75281c}
body[data-screen] .notification-center .activity-footer{align-items:start;flex-wrap:wrap;border-top:1px solid #bbaa87;padding-top:14px;gap:10px}
body[data-screen] .notification-center .activity-footer span{color:var(--ink);line-height:1.5}
body[data-screen] .notification-clear{display:flex;align-items:center;gap:10px;margin:0;padding:12px 0;color:var(--ink)}
body[data-screen] .notification-clear strong{font-size:14px}
body[data-screen] .notification-clear small{display:block;font-size:12px;line-height:1.5;margin-top:3px}
@media(max-width:360px){body[data-screen] .agenda-card .notification-center>summary{padding:12px;gap:8px;grid-template-columns:24px minmax(0,1fr) auto}body[data-screen] .notification-center .activity-body{padding-inline:12px}}

body[data-screen] .mobile-reminder-schedule{padding:14px;margin:16px 0;border:1px solid var(--field-line);border-radius:12px;background:#f6efdF;color:var(--ink)}
body[data-screen] .mobile-reminder-schedule p{margin:8px 0;font-size:15px;line-height:1.5;color:var(--ink)}
body[data-screen] .mobile-reminder-schedule small{display:block;font-size:12px;line-height:1.5;color:var(--ink)}

/* Remembering access is explicit and scoped to this device. */
body[data-screen=dashboard] .login-remember{margin-top:20px;margin-bottom:20px;min-height:48px;align-items:flex-start}
body[data-screen=dashboard] .login-remember input{margin-top:4px;flex-shrink:0}
