@import "https://fonts.googleapis.com/css2?family=Syne:wght@700;800&family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@500&display=swap";@keyframes spin{to{transform:rotate(360deg)}}.admin-avatar,.notification-button,.floating-action,.icon-button{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--vl-surface);width:44px;min-height:44px;color:var(--vl-text);place-items:center;padding:0;display:grid}.primary-button,.secondary-button,.ghost-button,.icon-button,.tabs button,.slot,.date-pill,.visual-choice,.option-card{transition:transform 80ms,border-color 80ms,background 80ms,color 80ms,box-shadow 80ms}.primary-button,.secondary-button,.ghost-button,.icon-button{border:var(--border-rigid);border-radius:var(--radius-rigid);min-height:44px;font-family:var(--font-body);justify-content:center;align-items:center;gap:8px;padding:13px 16px;font-size:14.5px;font-weight:700;line-height:1;display:inline-flex}.primary-button:active:not(:disabled){box-shadow:0 0 0 var(--vl-line-strong);transition-duration:50ms;transform:translate(4px,4px)}.ink-button{border:var(--border-emphasis);background:var(--vl-inverse-bg);color:var(--vl-inverse-text);box-shadow:var(--shadow-offset-amber)}.ink-button:hover:not(:disabled){filter:brightness(1.12);box-shadow:5px 5px 0 var(--vl-amber);transform:translate(-1px,-1px)}.ink-button:active:not(:disabled){box-shadow:0 0 0 var(--vl-amber);transition-duration:50ms;transform:translate(4px,4px)}.secondary-button,.upload-button{background:var(--vl-surface-raised);color:var(--vl-text);box-shadow:none}.secondary-button:hover:not(:disabled),.upload-button:hover,.icon-button:hover:not(:disabled){border-color:var(--vl-line-emphasis);background:var(--vl-amber-soft);box-shadow:var(--shadow-offset-hover);transform:translate(-1px,-1px)}.secondary-button:active:not(:disabled),.icon-button:active:not(:disabled){box-shadow:none;transform:translate(0)}.ghost-button{width:100%;color:var(--vl-text-muted);box-shadow:none;background:0 0;border-color:#0000}.ghost-button:hover:not(:disabled){background:var(--vl-amber-soft);color:var(--vl-amber-ink)}@media (width>=760px){.ghost-button{flex-shrink:0;justify-content:flex-start;margin-top:auto}}.icon-button,.notification-button{background:var(--vl-surface-raised);color:var(--vl-text)}.icon-button.danger,.secondary-button.danger{border-color:var(--vl-line-strong);background:var(--vl-surface);color:var(--vl-danger)}.icon-button.danger:hover:not(:disabled),.secondary-button.danger:hover:not(:disabled){background:var(--vl-danger-soft)}.danger-button{border:var(--border-rigid);border-color:var(--vl-danger);background:var(--vl-danger-solid);color:var(--vl-cream);box-shadow:var(--shadow-offset)}.danger-button:hover:not(:disabled){background:var(--vl-danger-solid-hover);box-shadow:5px 5px 0 var(--vl-line-strong);transform:translate(-1px,-1px)}.button-sm,.appointment-filter-actions .primary-button,.appointment-filter-actions .secondary-button{min-height:38px;font-size:var(--fs-body-s);box-shadow:none;padding:8px 12px;font-weight:600}.appointment-filter-actions .primary-button,.appointment-filter-actions .secondary-button{flex:130px}.button-sm:hover:not(:disabled){box-shadow:var(--shadow-offset-sm);transform:none}.primary-button:focus-visible,.secondary-button:focus-visible,.ghost-button:focus-visible,.icon-button:focus-visible,.notification-button:focus-visible,.ink-button:focus-visible,.danger-button:focus-visible{outline:3px solid var(--vl-amber);outline-offset:2px}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,.ink-button:disabled,.danger-button:disabled{cursor:not-allowed;border-color:var(--vl-disabled-line);background:var(--vl-disabled-bg);color:var(--vl-disabled-fg);box-shadow:none;transform:none}.empty-state strong{font-family:var(--font-display);font-size:var(--fs-display-xs);letter-spacing:-.01em;text-transform:uppercase;font-weight:800}.empty-state p,.state-box p{color:var(--vl-text-muted);font-size:var(--fs-body);margin:0}.state-box-error{border:2px solid var(--vl-danger);background:var(--vl-danger-soft);color:var(--vl-danger);text-align:left;justify-items:start}.state-box-error p{color:var(--vl-danger);font-weight:500}.skeleton-stack{gap:10px;display:grid}.skeleton-line{border:var(--border-rigid);border-radius:var(--radius-rigid);background:linear-gradient(90deg, var(--vl-cream), var(--vl-white), var(--vl-cream));background-size:200% 100%;height:58px;animation:1.2s linear infinite shimmer}@keyframes shimmer{to{background-position-x:-200%}}.toast{z-index:50;border:2px solid var(--vl-inverse-text);border-radius:var(--radius-rigid);background:var(--vl-inverse-bg);max-width:min(420px,100vw - 32px);color:var(--vl-inverse-text);font-size:var(--fs-body);align-items:center;gap:12px;padding:13px 14px;font-weight:500;display:flex;position:fixed;bottom:16px;right:16px}.toast:before{content:"";border-radius:var(--radius-xs);flex:none;width:10px;height:10px}.toast-success{box-shadow:4px 4px 0 var(--vl-amber)}.toast-success:before{background:var(--vl-ok)}.toast-error{box-shadow:4px 4px 0 var(--vl-danger)}.toast-error:before{background:var(--vl-danger)}.toast button{border-radius:var(--radius-sm);color:var(--vl-inverse-text);min-height:32px;font-size:var(--fs-body-s);background:0 0;border:1.5px solid;padding:0 10px;font-weight:600}.toast button:hover{background:var(--vl-amber);border-color:var(--vl-ink);color:var(--vl-ink)}.toast button:focus-visible{outline:3px solid var(--vl-amber);outline-offset:2px}.progress-bar{gap:8px;display:grid}.progress-bar__track{background:var(--vl-white);border:var(--border-rigid);border-radius:var(--radius-rigid);height:18px;overflow:hidden}.progress-bar__fill{background:var(--vl-amber);height:100%;transition:width 80ms linear}.progress-bar__meta{font:700 14px var(--font-body);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.progress-bar__percent{color:var(--vl-muted)}.admin-shell{background:var(--panel-bg);min-height:100vh;color:var(--panel-text)}.admin-content,.dashboard-page,.reports-page,.whatsapp-page{background:var(--panel-bg)}.admin-content{width:100%;min-height:100vh;padding:0}.admin-content--flow-bg,.admin-content--flow-bg .dashboard-page{background:var(--panel-bg-flow)}.admin-sidebar{z-index:2;background:var(--vl-surface-inverse);color:var(--vl-cream);border-bottom:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex;position:sticky;top:0}@media (width<=759px){[data-theme=dark] .admin-sidebar{border-bottom:2px solid var(--vl-line)}}@media (width>=760px){[data-theme=dark] .admin-sidebar{border-right:2px solid var(--vl-line)}}.admin-sidebar .admin-brand{min-width:0;color:var(--vl-cream);background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.admin-sidebar .admin-brand svg,.admin-sidebar .sidebar-toggle{color:var(--vl-cream)}.admin-brand-seal{border-radius:var(--radius-sm);background:var(--vl-amber);width:34px;height:34px;color:var(--vl-ink);font-family:var(--font-display);font-size:var(--fs-display-xs);letter-spacing:0;flex-shrink:0;place-items:center;font-weight:800;display:grid}.admin-brand-wordmark{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;font-size:12.5px;font-weight:800}.admin-brand svg{color:var(--vl-amber)}.admin-nav{display:none}.admin-nav a{border-radius:var(--radius-rigid);min-height:42px;color:var(--vl-muted-on-ink);font-size:var(--fs-body);white-space:nowrap;align-items:center;gap:10px;padding:0 12px;font-weight:500;transition:background 80ms,color 80ms;display:flex}.admin-nav a svg{flex-shrink:0}.admin-nav a:hover{background:var(--panel-nav-hover-bg);color:var(--panel-nav-hover-text)}.admin-nav a.active{background:var(--vl-amber);color:var(--vl-ink);font-weight:600}.admin-nav a.active svg{color:var(--vl-ink)}.admin-nav-group{flex-direction:column;gap:4px;display:flex}.admin-nav-parent{border-radius:var(--radius-rigid);width:100%;min-height:42px;color:var(--vl-muted-on-ink);font-size:var(--fs-body);white-space:nowrap;box-shadow:none;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0 12px;font-weight:500;transition:background 80ms,color 80ms;display:flex}.admin-nav-parent:hover{background:var(--panel-nav-hover-bg);color:var(--panel-nav-hover-text)}.admin-nav-parent.is-current{color:var(--vl-cream)}.admin-nav-chevron{flex-shrink:0;margin-left:auto}.admin-nav-children{flex-direction:column;gap:4px;padding-left:26px;display:flex}.admin-nav-children a{min-height:36px;font-size:var(--fs-body-s);white-space:normal;padding:8px 12px;line-height:1.25}.admin-nav-children a .admin-nav-label{white-space:normal;min-width:0}.admin-nav a:focus-visible,.admin-nav-parent:focus-visible,.admin-sidebar .ghost-button:focus-visible,.sidebar-toggle:focus-visible,.mobile-menu-toggle:focus-visible,.mobile-nav-close:focus-visible{outline:3px solid var(--vl-amber);outline-offset:2px}.admin-sidebar .ghost-button{border-radius:var(--radius-rigid);min-height:42px;color:var(--vl-muted-on-ink);font-size:var(--fs-body);box-shadow:none;background:0 0;border:0;justify-content:flex-start;gap:10px;padding:0 12px;font-weight:500}.admin-sidebar .ghost-button:hover{background:var(--panel-nav-hover-bg);color:var(--panel-nav-hover-text)}.admin-user{border:2px solid var(--vl-ink-4);border-radius:var(--radius-rigid);background:var(--panel-nav-hover-bg);gap:3px;min-width:0;padding:10px;display:none}.admin-user span{color:var(--vl-amber);font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;font-weight:500}.admin-user strong{overflow-wrap:anywhere;color:var(--vl-cream);font-size:var(--fs-body)}.sidebar-toggle{z-index:2;border:2px solid var(--vl-ink-4);border-radius:var(--radius-sm);background:var(--vl-surface-inverse);width:28px;height:28px;color:var(--vl-cream);cursor:pointer;flex-shrink:0;place-items:center;padding:0;transition:border-color 80ms;display:grid;position:absolute;top:24px;right:-15px}.sidebar-toggle svg{width:16px;height:16px}.sidebar-toggle:hover{border-color:var(--vl-amber)}.admin-nav-label{white-space:nowrap}.admin-topbar{border:0;border-bottom:var(--border-rigid);height:88px;box-shadow:none;background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:16px;margin:0;padding:0 36px;display:flex}.admin-topbar h1{color:var(--panel-text);font-family:var(--font-display);letter-spacing:-.015em;text-transform:uppercase;margin:0;font-size:clamp(22px,2.4vw,30px);font-weight:800}.admin-topbar p{color:var(--panel-text-secondary)}.admin-topbar-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.admin-topbar .theme-toggle-button{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--panel-surface);width:44px;height:44px;color:var(--panel-text);cursor:pointer;place-items:center;padding:0;transition:background 80ms,transform 80ms,box-shadow 80ms;display:grid}.admin-topbar .theme-toggle-button:hover{background:var(--vl-amber-soft);box-shadow:var(--shadow-offset-hover);transform:translate(-1px,-1px)}.admin-topbar .theme-toggle-button:focus-visible{outline:3px solid var(--vl-amber);outline-offset:2px}.admin-profile{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--panel-surface);align-items:center;gap:10px;padding:6px 16px 6px 6px;display:flex}.admin-profile-avatar{border:1.5px solid var(--vl-ink);border-radius:var(--radius-sm);background:var(--vl-amber);width:38px;height:38px;color:var(--vl-ink);flex-shrink:0;place-items:center;font-weight:700;display:grid;overflow:hidden}.admin-profile-avatar img{object-fit:cover;width:100%;height:100%}.admin-profile-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.admin-profile-text strong{max-width:220px;color:var(--panel-text);font-size:var(--fs-body);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.admin-profile-text span{max-width:220px;color:var(--panel-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.admin-search{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--panel-surface);width:min(100%,300px);min-height:44px;color:var(--panel-text-secondary);align-items:center;gap:8px;padding:0 14px;display:flex}.admin-search input{width:100%;min-height:auto;color:var(--panel-text);box-shadow:none;background:0 0;border:0;outline:0;padding:0}.admin-search input:focus{box-shadow:none}.admin-avatar,.floating-action{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--vl-amber);color:var(--vl-ink);box-shadow:var(--shadow-offset);font-weight:700}.floating-action{z-index:30;width:54px;height:54px;position:fixed;bottom:18px;right:18px}.login-brand,.brand-mark,.brand-mark svg,.login-brand svg,.editor-card-header{color:var(--vl-amber-link)}@media (width>=760px){.admin-shell{grid-template-columns:236px 1fr;display:grid}.admin-sidebar{border-bottom:0;border-right:0;flex-direction:column;justify-content:start;align-items:stretch;gap:0;height:100vh;min-height:100vh;padding:20px 14px}.admin-nav{flex:0 auto;gap:4px;min-height:0;margin-top:22px;display:grid;overflow-y:auto}.admin-user{display:grid}.admin-sidebar .theme-toggle-button{display:none}.admin-sidebar .logout-button{margin-top:auto}}@media (width>=760px) and (width<=1180px){.admin-topbar{padding:0 24px}.admin-profile-text{display:none}.admin-profile{padding:4px}}@media (width>=760px){.admin-shell.is-sidebar-collapsed{grid-template-columns:84px 1fr}.admin-shell.is-sidebar-collapsed .admin-sidebar{padding-left:12px;padding-right:12px}.admin-shell.is-sidebar-collapsed .admin-brand{flex-direction:column;gap:10px;padding:0}.admin-shell.is-sidebar-collapsed .admin-brand-wordmark,.admin-shell.is-sidebar-collapsed .admin-nav-label{display:none}.admin-shell.is-sidebar-collapsed .admin-nav a,.admin-shell.is-sidebar-collapsed .admin-nav-parent,.admin-shell.is-sidebar-collapsed .admin-nav-children a,.admin-shell.is-sidebar-collapsed .admin-sidebar>.ghost-button{justify-content:center;padding:0}.admin-shell.is-sidebar-collapsed .admin-nav-chevron{display:none}.admin-shell.is-sidebar-collapsed .admin-nav-children{padding-left:0}}.mobile-menu-toggle,.mobile-nav-close,.mobile-nav-backdrop{display:none}@media (width<=759px){.admin-topbar{height:auto;padding:22px 16px 18px;display:flex}.admin-topbar h1{font-size:24px}.admin-topbar-actions{display:none}.admin-sidebar{justify-content:flex-start;overflow:visible}.admin-shell.is-mobile-nav-open .admin-sidebar{z-index:65}.mobile-menu-toggle{border:2px solid var(--vl-ink-4);border-radius:var(--radius-rigid);width:44px;height:44px;color:var(--vl-cream);cursor:pointer;background:0 0;flex-shrink:0;place-items:center;display:grid}.admin-brand{flex:auto;min-width:0}.sidebar-toggle{display:none}.admin-sidebar .theme-toggle-button,.admin-sidebar .logout-button{border-radius:var(--radius-rigid);width:40px;height:40px;min-height:40px;box-shadow:none;background:0 0;border:0;flex-shrink:0;justify-content:center;padding:0}.admin-sidebar .theme-toggle-button{margin-left:auto}.theme-toggle-button .admin-nav-label,.logout-button .admin-nav-label{display:none}.admin-nav{z-index:60;background:var(--vl-surface-inverse);border-right:2px solid var(--vl-amber);flex-direction:column;gap:4px;width:min(80vw,300px);height:100vh;padding:20px 14px 24px;transition:transform .22s;display:flex;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%)}.admin-shell.is-mobile-nav-open .admin-nav{transform:translate(0)}.mobile-nav-close{border:2px solid var(--vl-ink-4);border-radius:var(--radius-rigid);width:44px;height:44px;color:var(--vl-cream);cursor:pointer;background:0 0;align-self:flex-end;place-items:center;margin-bottom:8px;display:grid}.mobile-nav-backdrop{z-index:55;background:var(--vl-backdrop);display:block;position:fixed;inset:0}}.public-layout,.public-shell,.booking-page,.confirmation-page{color:var(--vl-text)}.public-shell{isolation:isolate;background:0 0;width:min(100%,760px);margin:0 auto;padding:20px 18px 36px;position:relative}@media (width>=760px){.public-shell{padding-top:34px}}@media (width>=900px){.public-shell{width:min(100%,1360px);min-height:100dvh;padding:12px 40px}}:root{--vl-cream:#f2eee7;--vl-white:#fff;--vl-ink:#1c1814;--vl-ink-2:#2b251f;--vl-ink-3:#352e28;--vl-ink-4:#55514c;--vl-muted-on-ink:#b8aea4;--vl-amber:#f2a33a;--vl-amber-hover:#e8952a;--vl-danger-solid:#b53a2e;--vl-danger-solid-hover:#a2332a;--vl-ground:var(--vl-cream);--vl-surface:var(--vl-white);--vl-surface-raised:var(--vl-white);--vl-surface-focus:#fffcf6;--vl-surface-2:var(--vl-cream);--vl-surface-inverse:var(--vl-ink);--vl-paper:#fbf8f3;--vl-text:var(--vl-ink);--vl-text-muted:#6e655c;--vl-line-strong:var(--vl-ink);--vl-line-emphasis:var(--vl-ink);--vl-line:#e6e0d6;--vl-line-2:#d6cec2;--vl-line-3:#ede7dd;--vl-line-dashed:#b2a99f;--vl-blocked:#b2a99f;--vl-disabled-bg:#e9e3d9;--vl-disabled-fg:#9a9087;--vl-disabled-line:#c9c0b4;--vl-amber-soft:#fbe6c4;--vl-amber-ink:#8a520b;--vl-amber-link:#a8650f;--vl-ok:#2e8b4e;--vl-ok-soft:#ddf0e2;--vl-danger:#b53a2e;--vl-danger-soft:#f6deda;--vl-neutral-soft:#ede8e1;--vl-encaixe:#6b4fa8;--vl-encaixe-soft:#e8e1f6;--vl-encaixe-ink:#4a3178;--vl-inverse-bg:var(--vl-ink);--vl-inverse-text:var(--vl-cream);--vl-backdrop:#1c18148c;--vl-muted:var(--vl-text-muted);--font-display:"Syne", "Syne Variable", system-ui, sans-serif;--font-body:"Geist", "Geist Variable", system-ui, -apple-system, sans-serif;--font-mono:"Geist Mono", ui-monospace, "SFMono-Regular", monospace;--fs-display-xl:32px;--fs-display-l:24px;--fs-display-m:19px;--fs-display-s:15px;--fs-display-xs:13px;--fs-body-l:15px;--fs-body:14px;--fs-body-s:12.5px;--fs-caption:11.5px;--fs-label:10.5px;--fs-num-xl:32px;--fs-num-l:25px;--fs-num-m:21px;--fs-num-s:16px;--space-1:4px;--space-2:6px;--space-3:8px;--space-4:10px;--space-5:12px;--space-6:14px;--space-7:16px;--space-8:18px;--space-9:20px;--space-10:24px;--space-11:28px;--space-12:32px;--space-13:40px;--border-rigid:2px solid var(--vl-line-strong);--border-emphasis:2px solid var(--vl-line-emphasis);--border-dashed-rigid:2px dashed var(--vl-line-dashed);--radius-rigid:4px;--radius-sm:3px;--radius-xs:2px;--radius-ticket:6px;--radius-md:4px;--radius-lg:4px;--shadow-offset:4px 4px 0 var(--vl-line-emphasis);--shadow-offset-hover:3px 3px 0 var(--vl-line-strong);--shadow-offset-sm:2px 2px 0 var(--vl-line-emphasis);--shadow-offset-amber:4px 4px 0 var(--vl-amber);--shadow-offset-danger:4px 4px 0 var(--vl-danger-soft);--shadow-offset-deep:4px 4px 0 var(--vl-ink);--shadow-key:0 4px 0 var(--vl-line-strong);--shadow-key-hover:0 5px 0 var(--vl-line-emphasis);--shadow-key-pressed:0 1px 0 var(--vl-line-emphasis), inset 0 3px 0 #1c18142e;--shadow-float:0 -6px 30px #0000002e;--ease-out:cubic-bezier(.2, .8, .2, 1);--bg-primary:var(--vl-ground);--bg-secondary:var(--vl-surface);--green-primary:var(--vl-amber);--green-hover:var(--vl-amber-hover);--gold-primary:var(--vl-amber);--gold-highlight:var(--vl-amber);--hover-green:var(--vl-amber-link);--hover-yellow:var(--vl-amber-hover);--text-primary:var(--vl-text);--text-secondary:var(--vl-text-muted);--border-color:var(--vl-line-strong);--color-primary:var(--vl-amber);--color-secondary:var(--vl-amber);--color-tertiary:var(--vl-amber-ink);--color-neutral:var(--vl-text-muted);--color-bg:var(--vl-ground);--color-surface:var(--vl-surface);--color-surface-2:var(--vl-surface-raised);--color-text:var(--vl-text);--color-muted:var(--vl-text-muted);--color-border:var(--vl-line);--color-border-strong:var(--vl-line-strong);--color-success:var(--vl-ok);--color-warning:var(--vl-amber-ink);--color-danger:var(--vl-danger);--tenant-color:var(--vl-amber);--bg:var(--vl-ground);--surface:var(--vl-surface);--surface-strong:var(--vl-surface-2);--text:var(--vl-text);--muted:var(--vl-text-muted);--line:var(--vl-line);--success:var(--vl-ok);--warning:var(--vl-amber-ink);--danger:var(--vl-danger);--charcoal:var(--vl-ink);--graphite:var(--vl-ink-2);--gold:var(--vl-amber);--green:var(--vl-amber);--ice:var(--vl-cream);--shadow:var(--shadow-offset);--shadow-premium:var(--shadow-offset);--shadow-card:none;--shadow-green:var(--shadow-offset);--shadow-gold:var(--shadow-offset);--panel-bg:var(--vl-ground);--panel-bg-flow:var(--vl-ground);--panel-surface:var(--vl-surface);--panel-surface-strong:var(--vl-surface-2);--panel-input-bg:var(--vl-surface-raised);--panel-border:var(--vl-line-strong);--panel-border-accent:var(--vl-amber);--panel-accent:var(--vl-amber);--panel-accent-strong:var(--vl-amber-ink);--panel-text:var(--vl-text);--panel-text-secondary:var(--vl-text-muted);--panel-nav-hover-bg:var(--vl-ink-2);--panel-nav-hover-text:var(--vl-cream);--panel-on-accent:var(--vl-ink);--panel-danger-bg:var(--vl-danger-soft);--panel-danger-text:var(--vl-danger);--badge-pending-bg:var(--vl-amber-soft);--badge-pending-text:var(--vl-amber-ink);--badge-pending-border:var(--vl-amber-ink);--badge-confirmed-bg:var(--vl-ok-soft);--badge-confirmed-text:var(--vl-ok);--badge-confirmed-border:var(--vl-ok);--badge-canceled-bg:var(--vl-neutral-soft);--badge-canceled-text:var(--vl-text-muted);--badge-canceled-border:var(--vl-text-muted)}.admin-shell[data-theme=dark],[data-theme=dark]{--vl-ground:#121212;--vl-surface:#1b1a19;--vl-surface-raised:#242321;--vl-surface-focus:#2c2a28;--vl-surface-2:#161515;--vl-surface-inverse:#0b0b0b;--vl-paper:#f4eee4;--vl-text:var(--vl-cream);--vl-text-muted:var(--vl-muted-on-ink);--vl-line-strong:#6b6762;--vl-line-emphasis:var(--vl-cream);--vl-line:#2c2a28;--vl-line-dashed:#403d3a;--vl-blocked:#55514c;--vl-disabled-bg:#262524;--vl-disabled-fg:#6e655c;--vl-disabled-line:#34312e;--vl-amber-soft:#3a2a14;--vl-amber-ink:#f5b95f;--vl-amber-link:#f5b95f;--vl-ok:#5cc981;--vl-ok-soft:#16301f;--vl-danger:#e8705f;--vl-danger-soft:#3a1a16;--vl-neutral-soft:#262524;--vl-encaixe:#a68be0;--vl-encaixe-soft:#241b38;--vl-encaixe-ink:#c2abee;--vl-inverse-bg:var(--vl-cream);--vl-inverse-text:#121212;--vl-backdrop:#000000a6;--shadow-offset-deep:4px 4px 0 #000;--shadow-key-pressed:0 1px 0 var(--vl-line-emphasis), inset 0 3px 0 #00000047;--shadow-float:0 -8px 34px #0000008c;--vl-muted:var(--vl-text-muted);--border-rigid:2px solid var(--vl-line-strong);--border-emphasis:2px solid var(--vl-line-emphasis);--border-dashed-rigid:2px dashed var(--vl-line-dashed);--shadow-offset:4px 4px 0 var(--vl-line-emphasis);--shadow-offset-hover:3px 3px 0 var(--vl-line-strong);--shadow-offset-sm:2px 2px 0 var(--vl-line-emphasis);--shadow-offset-danger:4px 4px 0 var(--vl-danger-soft);--shadow-key:0 4px 0 var(--vl-line-strong);--shadow-key-hover:0 5px 0 var(--vl-line-emphasis);--shadow:var(--shadow-offset);--shadow-premium:var(--shadow-offset);--shadow-green:var(--shadow-offset);--shadow-gold:var(--shadow-offset);--bg-primary:var(--vl-ground);--bg-secondary:var(--vl-surface);--hover-green:var(--vl-amber-link);--text-primary:var(--vl-text);--text-secondary:var(--vl-text-muted);--border-color:var(--vl-line-strong);--color-tertiary:var(--vl-amber-ink);--color-neutral:var(--vl-text-muted);--color-bg:var(--vl-ground);--color-surface:var(--vl-surface);--color-surface-2:var(--vl-surface-raised);--color-text:var(--vl-text);--color-muted:var(--vl-text-muted);--color-border:var(--vl-line);--color-border-strong:var(--vl-line-strong);--color-success:var(--vl-ok);--color-warning:var(--vl-amber-ink);--color-danger:var(--vl-danger);--bg:var(--vl-ground);--surface:var(--vl-surface);--surface-strong:var(--vl-surface-2);--text:var(--vl-text);--muted:var(--vl-text-muted);--line:var(--vl-line);--success:var(--vl-ok);--warning:var(--vl-amber-ink);--danger:var(--vl-danger);--panel-bg:var(--vl-ground);--panel-bg-flow:var(--vl-ground);--panel-surface:var(--vl-surface);--panel-surface-strong:var(--vl-surface-2);--panel-input-bg:var(--vl-surface-raised);--panel-border:var(--vl-line-strong);--panel-accent-strong:var(--vl-amber-ink);--panel-text:var(--vl-text);--panel-text-secondary:var(--vl-text-muted);--panel-danger-bg:var(--vl-danger-soft);--panel-danger-text:var(--vl-danger);--badge-pending-bg:var(--vl-amber-soft);--badge-pending-text:var(--vl-amber-ink);--badge-pending-border:var(--vl-amber-ink);--badge-confirmed-bg:var(--vl-ok-soft);--badge-confirmed-text:var(--vl-ok);--badge-confirmed-border:var(--vl-ok);--badge-canceled-bg:var(--vl-neutral-soft);--badge-canceled-text:var(--vl-text-muted);--badge-canceled-border:var(--vl-text-muted)}[data-theme=dark] .booking-receipt{--vl-text:var(--vl-ink);--vl-text-muted:#6e655c;--vl-line-2:#d6cec2;--vl-ok:#2e8b4e;color:var(--vl-ink)}:root{--font-headline:var(--font-display)}*{box-sizing:border-box}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html{background:var(--vl-surface-2);scrollbar-gutter:stable}body{min-width:320px;color:var(--vl-ink);background:var(--vl-surface-2);font-family:var(--font-body);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.45}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.tabular,.slot-time,.ticket-total strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em}.section-kicker,.vl-label{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;font-weight:500}a{color:inherit;text-decoration:none}.public-shell{width:min(100%,760px);margin:0 auto;padding:20px 16px 36px}.booking-page,.confirmation-page{gap:18px;display:grid}.tenant-header{align-items:center;gap:14px;padding:18px 0 8px;display:flex}.tenant-header img,.tenant-header>span{border-radius:var(--radius-rigid);object-fit:cover;background:var(--vl-amber);width:58px;height:58px;color:var(--vl-ink);border:var(--border-rigid);place-items:center;font-size:1.4rem;font-weight:800;display:grid}.tenant-header p,.dashboard-header p,.confirmation-page p{color:var(--vl-text-muted);font-size:var(--fs-body-s);margin:0 0 4px}.tenant-header h1,.dashboard-header h1,.confirmation-page h1{font-size:clamp(var(--fs-display-l), 6vw, var(--fs-display-xl));margin:0;line-height:1.02}.booking-panel,.login-card,.summary-card{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--surface);box-shadow:var(--shadow)}.booking-panel{padding:16px}.stack{gap:12px;display:grid}.stack h2{font-family:var(--font-display);font-size:var(--fs-display-s);letter-spacing:-.01em;text-transform:uppercase;margin:0 0 4px;font-weight:800}.option-card{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--vl-surface);width:100%;min-height:74px;color:var(--text);text-align:left;grid-template-columns:52px 1fr;align-items:center;gap:12px;padding:12px;display:grid}.option-card.selected{border-color:var(--vl-line-strong);background:var(--vl-amber);box-shadow:var(--shadow-offset)}.option-card img,.option-avatar{border-radius:var(--radius-rigid);object-fit:cover;width:52px;height:52px}.empty-state{border:var(--border-dashed-rigid);border-radius:var(--radius-rigid);background:var(--vl-surface-2);text-align:center;gap:6px;padding:18px;display:grid}.empty-state p{color:var(--muted);margin:0}.toast{z-index:50;border-radius:var(--radius-rigid);max-width:min(420px,100vw - 32px);color:var(--vl-cream);box-shadow:var(--shadow);align-items:center;gap:12px;padding:12px;display:flex;position:fixed;bottom:16px;right:16px}.toast-success{background:var(--green)}.toast-error{background:var(--danger)}.toast button{border:1.5px solid var(--vl-muted-on-ink);border-radius:var(--radius-sm);color:var(--vl-cream);background:0 0;min-height:34px;padding:0 10px}.image-upload{gap:8px;display:grid}.image-upload>span{color:var(--vl-text);font-size:var(--fs-display-xs);font-weight:600}.image-upload-row{gap:8px;display:grid}.image-upload-row input:not([type=file]){border:var(--border-rigid);border-radius:var(--radius-rigid);width:100%;min-height:48px;padding:0 12px}.upload-button{border-radius:var(--radius-rigid);border:var(--border-rigid);background:var(--vl-surface);cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:48px;font-weight:800;display:inline-flex}.upload-button input{display:none}.image-preview{border-radius:var(--radius-rigid);object-fit:cover;border:var(--border-rigid);width:96px;height:96px}.field-error{color:var(--vl-danger);font-size:12px;font-weight:600}.form-alert{border:2px solid var(--vl-danger);border-radius:var(--radius-rigid);background:var(--vl-danger-soft);color:var(--vl-danger);gap:6px;padding:12px;font-size:.9rem;font-weight:700;display:grid}.modal-backdrop{z-index:45;background:var(--vl-backdrop);place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-card{border-radius:var(--radius-rigid);background:var(--surface);width:min(100%,420px);box-shadow:var(--shadow);gap:12px;padding:18px;display:grid}.modal-card h2,.panel-form h2,.admin-management h2{margin:0}.danger-button{border:var(--border-rigid);background:var(--vl-danger);color:var(--vl-cream);box-shadow:var(--shadow-offset)}.panel-tabs{overflow-x:auto}.panel-tabs button{white-space:nowrap}.panel-form{align-self:start}.card-grid{gap:12px;display:grid}.profile-card{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--surface);box-shadow:none;grid-template-columns:70px 1fr auto;align-items:center;gap:12px;padding:12px;display:grid}.profile-card img,.profile-fallback{border-radius:var(--radius-rigid);object-fit:cover;width:70px;height:70px}.profile-fallback{border:var(--border-rigid);background:var(--vl-surface-inverse);color:var(--vl-amber);place-items:center;font-size:1.4rem;font-weight:700;display:grid}.profile-card>div:nth-child(2){gap:4px;min-width:0;display:grid}.profile-card span{color:var(--muted)}.option-avatar{border:var(--border-rigid);background:var(--vl-surface-2);color:var(--vl-ink);place-items:center;font-weight:700;display:grid}.option-content{gap:3px;min-width:0;display:grid}.option-content strong,.admin-row strong{overflow-wrap:anywhere}.option-content small,.option-content em,.admin-row span,.admin-row small{color:var(--muted);font-size:.9rem;font-style:normal}.option-content em{color:var(--vl-amber-ink);font-weight:700}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.slot{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--vl-surface);min-height:52px;color:var(--text);justify-content:center;align-items:center;gap:8px;padding:10px;font-weight:700;display:flex}.slot.selected{border-color:var(--vl-line-strong);background:var(--vl-amber);color:var(--vl-ink)}.field{gap:7px;display:grid}.field span{color:var(--vl-text);font-size:var(--fs-display-xs);font-weight:600}.field input,.field textarea,.field select,.inline-form input,.admin-row select,.field .date-picker-trigger,.field .app-select-trigger{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--vl-surface);width:100%;min-height:48px;color:var(--text);outline:none;padding:0 12px}.field textarea{resize:vertical;min-height:92px;padding-top:12px}.field input:focus,.field textarea:focus,.field select:focus,.inline-form input:focus,.admin-row select:focus{border-color:var(--vl-line-strong);background:var(--vl-surface-focus);box-shadow:var(--shadow-offset-amber)}.field input.input-invalid,.field textarea.input-invalid{border-color:var(--vl-danger);box-shadow:var(--shadow-offset-danger)}.booking-actions{grid-template-columns:1fr 1.25fr;gap:10px;margin-top:18px;display:grid}.booking-page{gap:12px}.booking-hero{justify-content:space-between;padding:8px 0 0}.booking-platform-badge{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--vl-surface-inverse);text-align:center;justify-items:center;gap:2px;width:fit-content;margin:0 auto 4px;padding:8px 14px;display:grid}.booking-platform-badge span{color:var(--vl-amber-ink);font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;font-weight:500}.booking-platform-badge small{color:var(--vl-muted-on-ink);font-size:var(--fs-caption);font-weight:500}.booking-hero-brand{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-width:0;display:flex}.booking-hero-logo{flex:none}.booking-hero-logo span{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--vl-amber);color:var(--vl-ink);place-items:center;font-weight:700;display:grid}.booking-hero-copy{justify-items:center;gap:2px;min-width:0;display:grid}.booking-hero-copy span{color:var(--vl-text-muted);font-size:var(--fs-body);line-height:1.3}.booking-hero-highlights{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:320px;display:flex}.booking-hero-highlights span{color:var(--vl-text);font-size:var(--fs-body-s);align-items:center;gap:5px;font-weight:600;line-height:1.2;display:inline-flex}.booking-page .address-card{padding:12px 14px}.booking-page .booking-panel{flex-direction:column;min-height:0;padding:18px;display:flex}.booking-panel>.stack{min-height:0}.booking-page .section-kicker{margin:0}.booking-page .stack h2{margin:0;font-size:clamp(1.4rem,3.6vw,1.9rem)}.booking-page .visual-card-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.booking-page .visual-choice{gap:9px;padding:10px}.booking-page .visual-choice img,.booking-page .visual-fallback{aspect-ratio:1/.72}.booking-page .visual-choice-body strong{font-size:.96rem}.booking-page .booking-actions{margin-top:auto;padding-top:14px}.primary-button,.secondary-button,.ghost-button,.icon-button{border-radius:var(--radius-rigid);border:var(--border-rigid);justify-content:center;align-items:center;gap:8px;min-height:44px;padding:13px 16px;font-size:14.5px;font-weight:700;display:inline-flex}.primary-button{background:var(--vl-amber);color:var(--vl-ink);box-shadow:var(--shadow-offset)}.secondary-button{border:var(--border-rigid);background:var(--vl-surface);color:var(--vl-text)}.ghost-button{width:100%;color:var(--vl-text-muted);background:0 0}.icon-button{border:var(--border-rigid);background:var(--vl-surface);width:44px;min-height:44px;padding:0}.icon-button.danger{color:var(--danger)}.state-box{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--surface);text-align:center;justify-items:center;gap:10px;padding:22px;display:grid}.state-box p{color:var(--muted);margin:0}.state-box-error{border-color:var(--vl-danger);background:var(--vl-danger-soft);color:var(--danger);text-align:left;justify-items:start}.spinner{border:3px solid var(--vl-line);border-top-color:var(--vl-amber);border-radius:999px;width:28px;height:28px;animation:.8s linear infinite spin}.empty-text{color:var(--muted);margin:0}.confirmation-page{text-align:center;align-content:center;justify-items:center;min-height:85vh}.confirmation-mark{border:3px solid var(--vl-ok);border-radius:var(--radius-rigid);background:var(--vl-ok-soft);width:78px;height:78px;color:var(--vl-ok);place-items:center;display:grid}.confirmation-subtitle{max-width:520px;line-height:1.6}.summary-card{text-align:left;gap:8px;width:100%;padding:16px;display:grid}.summary-card span{color:var(--muted)}.login-page{background:var(--vl-surface-2);place-items:center;min-height:100vh;padding:18px;display:grid}.login-brand,.admin-brand{color:var(--vl-amber-ink);align-items:center;gap:10px;display:flex}.dashboard-header{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.dashboard-tools{gap:8px;display:grid}.dashboard-tools select{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--vl-surface);min-width:min(100%,220px);min-height:48px;color:var(--text);padding:0 12px;font-weight:700}.date-strip{grid-auto-columns:minmax(76px,1fr);grid-auto-flow:column;gap:10px;padding-bottom:4px;display:grid;overflow-x:auto}.date-pill{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--vl-surface);min-height:86px;color:var(--text);justify-items:center;gap:3px;padding:10px;display:grid}.date-pill strong{font-size:1.35rem}.date-pill small,.date-pill span{color:var(--muted);text-transform:capitalize}.date-pill.selected{border-color:var(--vl-line-strong);background:var(--vl-amber);color:var(--vl-ink)}.date-pill.selected small,.date-pill.selected span{color:var(--vl-text-muted)}.address-card{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--vl-surface);box-shadow:none;grid-template-columns:auto 1fr;gap:12px;padding:14px;display:grid}.address-card>svg{color:var(--vl-amber-ink);margin-top:2px}.address-card div{gap:4px;display:grid}.address-card span{color:var(--muted)}.address-card a{width:fit-content;color:var(--vl-amber-link);text-underline-offset:3px;margin-top:4px;font-weight:600;text-decoration:underline;text-decoration-thickness:2px}.map-preview{border-radius:var(--radius-rigid);border:0;width:100%;min-height:180px;margin-top:10px;overflow:hidden}.map-preview-placeholder{border:var(--border-dashed-rigid);background:var(--vl-disabled-bg);color:var(--muted);place-items:center;font-weight:800;display:grid}.visual-card-grid{grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:12px;display:grid}.visual-choice{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--vl-surface);min-width:0;color:var(--text);text-align:left;gap:12px;padding:10px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.visual-choice:hover{box-shadow:var(--shadow-offset-hover);transform:translateY(-2px)}.visual-choice.selected{border-color:var(--vl-line-strong);background:var(--vl-amber);box-shadow:var(--shadow-offset)}.visual-choice img,.visual-fallback{aspect-ratio:1/.78;border-radius:var(--radius-rigid);object-fit:cover;width:100%}.visual-fallback{background:var(--vl-surface-inverse);color:var(--vl-amber);place-items:center;display:grid}.visual-choice-body{gap:7px;display:grid}.visual-choice-body strong{overflow-wrap:anywhere;font-size:1.05rem}.visual-choice-body>span{flex-wrap:wrap;gap:8px;display:flex}.visual-choice-body em,.visual-choice-body small{border-radius:var(--radius-sm);font-style:normal;font-size:var(--fs-caption);padding:4px 8px;font-weight:600}.visual-choice-body em{background:var(--vl-amber-soft);color:var(--vl-amber-ink)}.visual-choice-body small{background:var(--vl-surface-2);color:var(--vl-text-muted)}.booking-summary{box-shadow:none}.muted-text{color:var(--muted);margin:0}.tabs{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--surface-strong);grid-template-columns:repeat(3,1fr);gap:6px;padding:5px;display:grid}.tabs button{border-radius:var(--radius-sm);min-height:42px;color:var(--muted);background:0 0;border:0;font-weight:800}.admin-list,.admin-management{gap:10px;display:grid}.admin-row{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--surface);grid-template-columns:1fr;gap:10px;padding:14px;display:grid}.admin-row>div{gap:4px;display:grid}.status-badge{border-radius:var(--radius-sm);width:fit-content;font-size:var(--fs-label);padding:4px 9px;font-weight:600}.inline-form{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--surface);gap:10px;padding:14px;display:grid}.success-box{border:2px solid var(--vl-ok);border-radius:var(--radius-rigid);background:var(--vl-ok-soft);color:var(--vl-ok);padding:12px 14px;font-weight:700}.admin-editor-grid{gap:14px;display:grid}.editor-card{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--surface);box-shadow:none;gap:14px;padding:16px;display:grid}.editor-card-header{color:var(--vl-amber-ink);align-items:center;gap:10px;display:flex}.color-field{grid-template-columns:56px 1fr;gap:10px;display:grid}.color-field input[type=color]{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--vl-surface);width:56px;min-height:48px;padding:4px}.preview-card{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--vl-surface);align-items:center;gap:12px;padding:12px;display:flex}.preview-logo{border-radius:var(--radius-rigid);width:54px;height:54px;color:var(--vl-cream);flex:none;place-items:center;font-weight:900;display:grid;overflow:hidden}.preview-logo img{object-fit:cover;width:100%;height:100%}.preview-card div:last-child{gap:3px;min-width:0;display:grid}.preview-card span{color:var(--muted);overflow-wrap:anywhere}.public-link-card{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--vl-surface-inverse);color:var(--vl-cream);gap:10px;padding:14px;display:grid}.public-link-card span{overflow-wrap:anywhere;color:var(--vl-amber-ink);font-family:var(--font-mono);font-weight:500}.tenant-admin-hero{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--surface);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.form-grid-2{gap:10px;display:grid}.reports-page{gap:16px;display:grid}.report-filters{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--surface);box-shadow:none;gap:10px;padding:14px;display:grid}.report-filters select,.report-filters input,.report-filters .date-picker-trigger,.report-filters .app-select-trigger{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--vl-surface);width:100%;min-height:48px;padding:0 12px}.report-actions{grid-template-columns:1fr 1fr;align-items:end;gap:8px;display:grid}.report-grid{gap:14px;display:grid}.executive-report-grid{align-items:stretch}.form-actions{grid-template-columns:1fr;gap:10px;display:grid}.barbershop-row{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--surface);gap:12px;padding:14px;display:grid}.barbershop-main{min-width:0;color:var(--vl-text);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.barbershop-main>span:last-child{gap:3px;min-width:0;display:grid}.barbershop-main small,.barbershop-meta{color:var(--muted)}.tenant-dot{border:1.5px solid var(--vl-line-strong);border-radius:var(--radius-xs);flex:none;width:14px;height:42px}.barbershop-meta,.row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media (width>=900px){.public-shell{width:min(100%,1360px);min-height:100dvh;padding:12px 16px}.booking-page{border-radius:var(--radius-rigid);grid-template-rows:auto auto auto 1fr;grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;column-gap:16px;min-height:calc(100dvh - 24px)}.booking-hero,.booking-page .address-card,.booking-page .step-indicator{grid-column:1}.booking-page .booking-panel{grid-area:1/2/span 4;min-height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}.booking-panel>.stack{padding-right:4px;overflow:auto}.booking-hero{gap:12px;display:grid}.booking-platform-badge{justify-self:center}.booking-hero-brand{align-items:center}.booking-hero-logo img,.booking-hero-logo span{width:52px;height:52px}.booking-hero-highlights{justify-content:flex-start}.booking-page .tenant-header h1{font-size:clamp(1.85rem,3vw,2.6rem)}.booking-page .visual-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=760px){.public-shell{padding-top:34px}.booking-panel{padding:22px}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-row{grid-template-columns:1fr auto auto;align-items:center}.dashboard-tools{grid-template-columns:minmax(180px,240px) auto;align-items:center}.inline-form{grid-template-columns:1fr auto}.image-upload-row{grid-template-columns:130px 1fr;align-items:center}.service-form{grid-template-columns:1.4fr .7fr .7fr auto}.admin-editor-grid{grid-template-columns:minmax(340px,.85fr) 1.15fr;align-items:start}.form-actions{grid-template-columns:auto auto;justify-content:end}.barbershop-row{grid-template-columns:1fr auto auto;align-items:center}.home-hero{padding:28px 42px}.feature-grid{padding:0 42px 28px}.home-footer{padding:0 42px 42px}.form-grid-2{grid-template-columns:1fr 1fr}.report-filters{grid-template-columns:repeat(5,minmax(120px,1fr)) auto;align-items:end}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-grid .report-card:first-child{grid-column:1/-1}.visual-card-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}}@media (width>=900px){.public-shell{padding:12px 16px}.booking-page .booking-panel{padding:18px}}body{color:var(--vl-ink);background:var(--vl-surface-2)}.public-shell{color:var(--color-text);background:0 0}.dashboard-header,.tenant-admin-hero,.booking-panel,.summary-card,.login-card,.editor-card,.admin-row,.inline-form,.report-card,.report-filters,.address-card,.profile-card,.barbershop-row,.preview-card,.state-box,.modal-card,.tabs,.option-card,.visual-choice,.date-pill{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--vl-surface);color:var(--color-text);box-shadow:none}.admin-topbar h1,.dashboard-header h1,.tenant-header h1,.confirmation-page h1,.stack h2,.admin-management h2,.panel-form h2,.report-card h3,.modal-card h2,.editor-card h2,.profile-card strong,.admin-row strong,.summary-card strong,.empty-state strong,.feature-card strong,.barbershop-main strong{color:var(--color-text)}.admin-topbar p,.dashboard-header p,.tenant-header p,.confirmation-page p,.summary-card span,.admin-row span,.admin-row small,.profile-card span,.empty-state p,.state-box p,.feature-card p,.barbershop-main small,.barbershop-meta,.preview-card span,.panel-section-toolbar p,.muted-text,.empty-text,.field span,.image-upload>span{color:var(--text-secondary)}.field input,.field textarea,.field select,.inline-form input,.admin-row select,.dashboard-tools select,.report-filters select,.report-filters input,.image-upload-row input:not([type=file]),.color-field input:not([type=color]),.admin-search{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--vl-surface-raised);color:var(--color-text);font-size:var(--fs-body-l);font-weight:500}.field input::placeholder,.field textarea::placeholder,.inline-form input::placeholder,.admin-search input::placeholder{color:var(--vl-disabled-fg)}.field input:focus,.field textarea:focus,.field select:focus,.inline-form input:focus,.admin-row select:focus,.dashboard-tools select:focus,.report-filters select:focus,.report-filters input:focus,.image-upload-row input:not([type=file]):focus,.admin-search:focus-within{border-color:var(--vl-line-emphasis);background:var(--vl-surface-focus);box-shadow:var(--shadow-offset-amber);outline:none}.field input:disabled,.field textarea:disabled,.field select:disabled{border-color:var(--vl-disabled-line);background:var(--vl-disabled-bg);color:var(--vl-disabled-fg);box-shadow:none}.primary-button{border:var(--border-emphasis);background:var(--vl-amber);color:var(--vl-ink);box-shadow:var(--shadow-offset)}.primary-button:hover:not(:disabled){background:var(--vl-amber-hover);box-shadow:5px 5px 0 var(--vl-line-emphasis);transform:translate(-1px,-1px)}.primary-button:active:not(:disabled){box-shadow:0 0 0 var(--vl-line-emphasis);transform:translate(4px,4px)}.secondary-button,.ghost-button,.upload-button{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--vl-surface-raised);color:var(--color-text);box-shadow:none}.secondary-button:hover:not(:disabled),.ghost-button:hover:not(:disabled),.upload-button:hover,.icon-button:hover:not(:disabled){border-color:var(--vl-line-emphasis);background:var(--vl-amber-soft)}.icon-button,.notification-button{border:var(--border-rigid);border-radius:var(--radius-rigid);background:var(--vl-surface-raised);color:var(--color-text)}.tabs{border:var(--border-rigid);background:var(--vl-surface-2);box-shadow:none}.tabs button{border-radius:var(--radius-sm);color:var(--vl-text-muted);font-size:var(--fs-body);font-weight:600}.tabs button.active{background:var(--vl-amber);color:var(--vl-ink);box-shadow:var(--shadow-offset-sm)}.visual-choice,.option-card,.date-pill{background:var(--vl-surface)}.visual-choice:hover:not(.selected),.option-card:hover:not(.selected),.date-pill:hover:not(.selected):not(:disabled){box-shadow:var(--shadow-offset-hover);transform:translate(-1px,-1px)}.visual-choice.selected,.option-card.selected,.date-pill.selected{border-color:var(--vl-line-emphasis);background:var(--vl-amber);color:var(--vl-ink);box-shadow:var(--shadow-offset);transform:translate(-2px,-2px)}.visual-choice.selected small,.visual-choice.selected span,.option-card.selected small,.option-card.selected span,.date-pill.selected small,.date-pill.selected span{color:var(--vl-text-muted)}.visual-choice-body em,.option-content em{background:var(--vl-amber-soft);color:var(--vl-amber-ink);border-radius:var(--radius-sm)}.visual-choice-body small,.option-content small,.date-pill small,.date-pill span{color:var(--text-secondary)}.address-card a,.brand-mark,.login-brand,.editor-card-header{color:var(--vl-amber-link)}.map-preview-placeholder{border:var(--border-dashed-rigid);border-radius:var(--radius-rigid);background:var(--vl-disabled-bg);color:var(--vl-text-muted)}.status-badge,.status-pending,.status-confirmed,.status-canceled{border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--fs-label);letter-spacing:.05em;text-transform:uppercase;border:1.5px solid;font-weight:600}.status-pending{background:var(--badge-pending-bg);color:var(--badge-pending-text)}.status-confirmed{background:var(--badge-confirmed-bg);color:var(--badge-confirmed-text)}.status-canceled{background:var(--badge-canceled-bg);color:var(--badge-canceled-text)}.state-box-error{border:2px solid var(--vl-danger);border-radius:var(--radius-rigid);background:var(--vl-danger-soft);color:var(--vl-danger)}.success-box{border:2px solid var(--vl-ok);border-radius:var(--radius-rigid);background:var(--vl-ok-soft);color:var(--vl-ok)}.report-card .recharts-text,.report-card .recharts-cartesian-axis-tick-value{fill:var(--vl-text-muted);font-family:var(--font-body);font-size:11px}.report-card .recharts-tooltip-wrapper{color:var(--vl-text)}.report-card .recharts-default-tooltip{border-radius:var(--radius-rigid);box-shadow:var(--shadow-offset);font-family:var(--font-body);border:var(--border-rigid)!important;background:var(--vl-surface)!important}.slots-section{border-top:2px solid var(--vl-line);gap:12px;margin-top:18px;padding-top:18px;display:grid}.slots-header{gap:4px;display:grid}.slots-header h3{color:var(--color-text);font-family:var(--font-display);font-size:var(--fs-display-s);letter-spacing:-.01em;text-transform:uppercase;margin:0;font-weight:800}.slots-header p{color:var(--vl-text-muted);font-size:var(--fs-body-s);margin:0}.slot-legend{color:var(--vl-text-muted);font-size:var(--fs-caption);flex-wrap:wrap;gap:10px;font-weight:500;display:flex}.slot-legend span{align-items:center;gap:6px;display:inline-flex}.legend-dot{border:1.5px solid var(--vl-line-strong);border-radius:var(--radius-xs);width:10px;height:10px}.legend-available{background:var(--vl-surface)}.legend-selected{background:var(--vl-amber)}.legend-blocked{border-style:dashed;border-color:var(--vl-blocked);background:var(--vl-disabled-bg)}.slot{border:var(--border-rigid);border-radius:var(--radius-sm);background:var(--vl-surface);color:var(--vl-text);box-shadow:var(--shadow-key);font-size:var(--fs-num-s);font-variant-numeric:tabular-nums;letter-spacing:-.02em;flex-direction:column;align-items:center;font-weight:700;transition:transform 80ms,box-shadow 80ms,background 80ms}.slot:not(:disabled):hover{box-shadow:var(--shadow-key-hover);transform:translateY(-1px)}.slot:not(:disabled):active{box-shadow:0 1px 0 var(--vl-line-strong);transform:translateY(3px)}.slot-time{justify-content:center;align-items:center;gap:8px;display:inline-flex}.slot small{color:var(--vl-text-muted);font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;font-weight:500}.slot.reserved,.slot.unavailable{cursor:not-allowed;border:var(--border-dashed-rigid);background:var(--vl-disabled-bg);color:var(--vl-disabled-fg);box-shadow:none;text-decoration:line-through}.slot.reserved small,.slot.unavailable small{color:var(--vl-disabled-fg);text-decoration:none}.slot.selected{border-color:var(--vl-line-strong);background:var(--vl-amber);color:var(--vl-ink);box-shadow:var(--shadow-key-pressed);transform:translateY(3px)}.slot.selected small{color:var(--vl-text-muted)}@keyframes vl-key{0%{box-shadow:0 4px 0 var(--vl-ink);transform:translateY(0)}35%{box-shadow:0 0 0 var(--vl-line-strong);transform:translateY(5px)scale(.97)}to{box-shadow:0 1px 0 var(--vl-ink), inset 0 3px 0 #1c18142e;transform:translateY(3px)}}@keyframes vl-fill{0%{background-size:100% 0}to{background-size:100% 100%}}.slot.is-pressing{background:var(--vl-amber);animation:.26s cubic-bezier(.3,1.6,.5,1) both vl-key,90ms linear both vl-fill}h1,h2,h3,.admin-brand strong,.brand-mark,.hero-copy h1{font-family:var(--font-display);letter-spacing:-.01em;text-transform:uppercase;text-wrap:balance;font-weight:800;line-height:1.02}.admin-topbar h1,.hero-copy h1,.tenant-header h1{color:var(--vl-text)}
