:root{font-family:Inter,Segoe UI,system-ui,Arial,sans-serif;color:#15191d;background-color:#b9bdc1;line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0;min-height:100vh;overflow-x:hidden;background:linear-gradient(180deg,#f5f6f757,#babfc36b),radial-gradient(circle at 12% 0%,rgba(255,255,255,.22),transparent 34%),linear-gradient(135deg,#0e111414,#ffffff0d),url(/images/fondo-barberia.png);background-size:cover,auto,cover,cover;background-position:center,top left,center,center;background-attachment:fixed}#root{min-height:100vh}.admin-route-loading{margin:2rem auto;max-width:420px;padding:1.25rem 1.5rem;border-radius:16px;text-align:center;color:#e2e8f0;font-size:.98rem}.app-shell{width:100%;max-width:1760px;min-height:100vh;margin:0 auto;padding:1.1rem 1.4rem 1.25rem;box-sizing:border-box;display:flex;flex-direction:column}.brand-ribbon{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.65rem;margin-bottom:.8rem}.ribbon-item{border:1px solid rgba(148,163,184,.35);background:#0f172ab8;color:#e2e8f0;font-size:.78rem;border-radius:999px;padding:.28rem .74rem;text-align:center}.topbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.25rem;margin-bottom:1.25rem;padding:1.05rem 1.25rem;border-radius:18px}.glass{border:1px solid rgba(255,255,255,.24);background:linear-gradient(140deg,#16191ce6,#454a4fd1),radial-gradient(circle at 18% 0%,rgba(255,255,255,.22),transparent 36%),url(/images/industrial-gray-texture.png);background-size:cover;background-position:center;background-blend-mode:multiply,soft-light,normal;box-shadow:0 20px 44px #15191d3d}.topbar h1{margin:0;color:#f8fafc;font-size:2.05rem;letter-spacing:.045em;line-height:1.05;font-family:Palatino Linotype,Book Antiqua,Times New Roman,serif;text-transform:uppercase;text-shadow:0 2px 10px rgba(0,0,0,.35)}.topbar-brand{display:grid;gap:.2rem;min-width:0}.topbar-brand-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.brand-logo-frame{--logo-glow: rgba(255, 255, 255, .18);display:inline-flex;align-items:center;justify-content:center;padding:.32rem .82rem;border-radius:999px;overflow:hidden;border:none;isolation:isolate;flex-shrink:0;background:radial-gradient(120% 80% at 50% -10%,rgba(255,255,255,.18),transparent 52%),radial-gradient(90% 60% at 80% 100%,rgba(255,255,255,.1),transparent 45%),linear-gradient(168deg,#272b2fd6,#0a0c0ff0);box-shadow:0 0 0 1px #ffffff0d,0 0 0 1px #ffffff1f,0 2px #ffffff0f inset,0 14px 40px #0000007a,0 0 42px -10px var(--logo-glow)}.brand-logo-frame--on-light{--logo-glow: rgba(216, 162, 58, .18);background:radial-gradient(100% 90% at 50% -5%,rgba(255,255,255,.95),transparent 48%),linear-gradient(180deg,#fffffffc,#eff4fafa);box-shadow:0 0 0 1px #0f172a0d,0 0 0 1px #d4af5c24,0 1px #ffffffe6 inset,0 12px 36px #0f172a1a,0 0 40px -12px var(--logo-glow)}.brand-logo-frame--on-light .brand-logo{filter:drop-shadow(0 1px 2px rgba(15,23,42,.08))}.brand-logo-frame--compact{padding:.28rem .62rem;margin:0 auto .65rem;display:flex}.brand-logo{display:block;width:auto;flex-shrink:0;object-fit:contain;border-radius:inherit}.brand-logo-frame .brand-logo{height:76px;max-width:min(260px,88vw)}.brand-logo-frame--compact .brand-logo{height:58px;max-width:200px}.topbar-brand-text{display:grid;gap:.2rem;min-width:0}.topbar-brand-text .eyebrow{color:#d8dee9}.brand-subtitle{margin:0;color:#cbd5e1;font-size:.86rem}.location-badge{border:1px solid rgba(255,255,255,.32);background:#ffffff1f;color:#f8fafc;border-radius:999px;padding:.34rem .78rem;font-size:.78rem;font-weight:600;letter-spacing:.02em;display:inline-flex;flex-direction:column;align-items:center;gap:.1rem;transition:background .2s ease,transform .2s ease}.location-badge:hover{background:#fff3;transform:scale(1.02)}.location-cta{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;opacity:.95}.location-address{font-size:.72rem}.location-link{color:inherit;text-decoration:none;transition:opacity .2s ease}.location-link:hover{opacity:.9;text-decoration:underline}.confirmation-location{display:flex;flex-direction:column;gap:.2rem}.confirmation-address{font-size:.85rem;font-weight:400;opacity:.9}.footer-location{text-decoration:underline;text-underline-offset:2px}.topnav{display:flex;flex-wrap:wrap;gap:.75rem}.nav-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.42rem .96rem;color:#cbd5e1;text-decoration:none;font-size:.92rem;border:1px solid transparent}.nav-pill:hover{color:#f8fafc;border-color:#cbd5e166}.nav-pill-active{background:linear-gradient(135deg,#f8fafc,#d9dde1);color:#161a1e;font-weight:600;border-color:#ffffffb3}.eyebrow{margin:0;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;font-weight:600}.topbar .eyebrow{color:#cbd5e1;margin-bottom:.2rem}.main-content{display:grid;gap:1.25rem;flex:1;min-height:calc(100vh - 245px)}.card{background:#f8fafce0;border-radius:18px;padding:1.25rem;border:1px solid rgba(255,255,255,.65);box-shadow:0 14px 32px #1f24291f}.narrow{max-width:460px}.loading-card{padding:2rem}.booking-loading-screen{min-height:min(72vh,640px);display:grid;place-items:center;padding:2rem 1.25rem 2.25rem}.booking-loading-inner{width:100%;max-width:420px;margin:0 auto;text-align:center;display:grid;justify-items:center;gap:.65rem}.booking-loading-inner .brand-logo-frame{margin-bottom:.35rem}.booking-loading-spinner{width:44px;height:44px;margin:.35rem 0 .15rem;border-radius:50%;border:3px solid rgba(216,162,58,.22);border-top-color:#e8c56e;animation:booking-loading-spin .85s linear infinite;box-shadow:0 0 24px #ce952f40}@keyframes booking-loading-spin{to{transform:rotate(360deg)}}.booking-loading-eyebrow{margin:.25rem 0 0;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#94a3b8}.booking-loading-title{margin:0;font-size:1.35rem;font-family:Palatino Linotype,Book Antiqua,Times New Roman,serif;color:#fff1c4;letter-spacing:.03em;font-weight:600;animation:booking-loading-title-pulse 2s ease-in-out infinite}@keyframes booking-loading-title-pulse{0%,to{opacity:1}50%{opacity:.78}}.booking-loading-sub{margin:.15rem 0 1rem;font-size:.9rem;line-height:1.5;color:#cbd5e1;max-width:22rem}.booking-loading-skeleton{width:100%;display:grid;gap:.55rem;padding:.1rem 0}.booking-loading-skeleton-line{height:10px;border-radius:999px;background:linear-gradient(90deg,#ffffff12,#ffffff29 45%,#ffffff12);background-size:200% 100%;animation:booking-loading-shimmer 1.35s ease-in-out infinite}.booking-loading-skeleton-line--mid{width:88%;justify-self:center}.booking-loading-skeleton-line--short{width:58%;justify-self:center;opacity:.85}@keyframes booking-loading-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(max-width:480px){.booking-loading-screen{min-height:min(68vh,560px);padding:1.5rem 1rem 2rem}.booking-loading-title{font-size:1.2rem}}.booking-layout{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.booking-pro{display:grid;gap:1.25rem;grid-template-columns:minmax(0,2.2fr) minmax(340px,1fr);align-items:start}.booking-main{background:linear-gradient(165deg,#101317eb,#40454be6),radial-gradient(circle at 20% 0%,rgba(255,255,255,.2),transparent 34%),url(/images/industrial-gray-texture.png);background-size:cover;background-position:center;background-blend-mode:multiply,soft-light,normal;color:#f8fafc;border-color:#fff3;box-shadow:0 18px 40px #15191d57;min-height:auto}.booking-main.booking-main--schedule{min-height:480px}.booking-main.booking-main--confirm{min-height:auto;padding-bottom:1rem}.booking-main.booking-main--confirm .booking-hero{padding-bottom:.75rem;margin-bottom:0}.booking-main.booking-main--confirm h3{margin-top:.25rem;margin-bottom:.4rem}.booking-main h3{margin-top:1rem;margin-bottom:.9rem;color:#f8fafc}.shop-title{margin:0;color:#f8fafc;font-family:Palatino Linotype,Book Antiqua,Times New Roman,serif;font-size:1.95rem;letter-spacing:.04em;text-transform:uppercase}.booking-main .helper{color:#cbd5e1}.booking-hero{border-bottom:1px solid #1e293b;padding-bottom:1rem}.booking-step--fill .option-grid{align-items:stretch}.booking-step--fill .option-card{min-height:10.5rem;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:.5rem;padding:1rem .95rem}.booking-step--fill .option-thumb.barber-thumb{width:96px;height:96px;margin:0 auto}.booking-step--fill .option-thumb:not(.barber-thumb){width:100%;height:108px}.booking-step--fill .wizard-actions{margin-top:1rem}.step-track{margin-top:.95rem;display:flex;gap:.65rem;align-items:center;overflow-x:auto;padding-bottom:.2rem}.step-node{display:inline-flex;align-items:center;gap:.42rem;background:transparent;border:none;color:#94a3b8;padding:.1rem}.step-node:disabled{cursor:not-allowed;opacity:.55}.step-circle{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;border:1px solid #475569;background:#0f172a;font-size:.78rem;font-weight:700}.step-label{font-size:.78rem;white-space:nowrap}.step-node.active .step-circle{background:#f59e0b;color:#0f172a;border-color:#f59e0b}.step-node.done .step-circle{background:#16a34a;color:#f8fafc;border-color:#16a34a}.step-node.active .step-label,.step-node.done .step-label{color:#f8fafc}.step-node.locked .step-circle{border-style:dashed}.booking-client-step{width:100%}.booking-client-intro{margin:0 0 .85rem;line-height:1.45;font-size:.88rem}.booking-client-form-card{display:grid;gap:.95rem;padding:1rem 1.05rem;border-radius:14px;border:1px solid rgba(148,163,184,.22);background:#0f172a6b}.booking-main .booking-client-form{grid-template-columns:1fr;gap:0}.booking-main .booking-client-form label{color:#e2e8f0;font-weight:600;gap:.45rem}.booking-main .booking-client-form input{background:#0f172ad1;border:1px solid rgba(148,163,184,.42);color:#f8fafc;border-radius:10px;padding:.62rem .75rem;transition:border-color .15s ease,box-shadow .15s ease}.booking-main .booking-client-form input::placeholder{color:#64748b}.booking-main .booking-client-form input:focus{border-color:#f59e0b;outline:none;box-shadow:0 0 0 2px #f59e0b38}.booking-main .booking-client-form input.input-invalid{border-color:#f87171;box-shadow:0 0 0 1px #f8717159}.booking-main .booking-client-form .form-field-hint,.booking-main .booking-client-form .booking-phone-hint{color:#94a3b8;font-size:.78rem;line-height:1.45;font-weight:400}.booking-main .booking-client-form .form-field-error{color:#fca5a5;font-size:.78rem;line-height:1.35}.booking-client-actions{margin-top:.15rem;padding-top:.85rem;border-top:1px solid rgba(148,163,184,.18);justify-content:stretch;gap:.55rem}.booking-client-actions .ghost-btn,.booking-client-actions .primary-btn{flex:1 1 0;min-height:44px}.option-grid{display:grid;gap:.95rem;grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}.option-card{text-align:left;border:1px solid rgba(255,255,255,.16);background:linear-gradient(160deg,#1d2125d1,#0b0d10e0),url(/images/industrial-gray-texture.png);background-size:cover;background-blend-mode:multiply;border-radius:14px;padding:.95rem;display:grid;gap:.45rem;color:#e2e8f0;cursor:pointer;transition:.2s ease}.option-card:hover{transform:translateY(-2px);border-color:#ffffff5c}.option-card strong{color:#f8fafc;font-size:.96rem}.option-thumb{width:100%;height:112px;border-radius:12px;overflow:hidden;background:#2f3439;display:flex;align-items:center;justify-content:center;position:relative}.option-thumb img{width:100%;height:100%;object-fit:cover}.image-gallery-controls{position:absolute;inset:.35rem;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.image-gallery-controls span{pointer-events:auto;width:1.85rem;height:1.85rem;border-radius:999px;display:grid;place-items:center;background:#020617a8;color:#f8fafc;font-size:1.35rem;line-height:1;box-shadow:0 6px 14px #02061747}.image-gallery-controls span:hover{background:#ffffffe6;color:#111827}.option-thumb-placeholder{font-size:1.5rem;font-weight:700;color:#64748b}.option-thumb.barber-thumb{height:92px;border-radius:50%;width:92px;margin:0 auto}.option-thumb.barber-thumb img{object-fit:cover;object-position:center 34%}.option-meta{display:flex;justify-content:space-between;gap:.5rem}.option-meta span,.helper-text{font-size:.84rem;color:#94a3b8}.option-description{font-size:.78rem;color:#cbd5e1;line-height:1.35}.avatar-pill{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:#334155;color:#f8fafc;font-size:.82rem;font-weight:700}.avatar-pill.avatar-large{width:80px;height:80px;font-size:1.8rem}.option-card.active{border-color:#f59e0b;box-shadow:0 0 0 1px #f59e0b}.wizard-actions{margin-top:1rem;display:flex;gap:.6rem;justify-content:flex-end}.date-label{display:grid;gap:.35rem;max-width:240px}.date-label input,.date-label select{background:#111827;border:1px solid #334155;color:#f8fafc}.time-grid{display:grid;gap:.55rem;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));align-items:start}.day-grid{display:grid;gap:.55rem;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin-bottom:.7rem}.schedule-step .schedule-helper{margin-top:.85rem;margin-bottom:.35rem}.schedule-step .schedule-range-hint{margin:0 0 .55rem;font-size:.8rem;line-height:1.45;color:#94a3b8}.schedule-month-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem 1rem;margin-bottom:.25rem}.schedule-month-title{margin:0;font-size:1.1rem;font-weight:700;color:#f8fafc;text-transform:capitalize}.date-label-inline{max-width:min(100%,260px);margin-left:auto}.date-carousel-wrap{display:flex;align-items:stretch;gap:.35rem;margin-bottom:.85rem}.date-carousel{display:flex;gap:.5rem;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;padding:.25rem .15rem .5rem;flex:1;min-width:0;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.42) rgba(20,23,27,.5)}.date-carousel::-webkit-scrollbar{height:6px}.date-carousel::-webkit-scrollbar-thumb{background:#ffffff6b;border-radius:999px}.carousel-arrow{flex-shrink:0;width:40px;min-height:48px;align-self:center;border-radius:10px;border:1px solid rgba(255,255,255,.28);background:#171a1ed6;color:#f8fafc;font-size:1.35rem;line-height:1;display:grid;place-items:center;cursor:pointer;transition:background .2s ease,border-color .2s ease}.carousel-arrow:hover{background:#ffffff24;border-color:#ffffff7a}.day-pill-carousel{flex:0 0 auto;min-width:108px;max-width:140px;scroll-snap-align:start;text-align:center}.next-available-banner{margin:.5rem 0 .75rem;padding:.75rem .85rem;border-radius:12px;border:1px solid rgba(255,255,255,.26);background:#1114188f;color:#e2e8f0;font-size:.9rem;line-height:1.45}.next-available-banner p{margin:0 0 .65rem}.next-available-banner p:last-child{margin-bottom:0}.next-available-btn{width:100%;max-width:100%;margin-top:.15rem}.calendar-error-banner{border-color:#f8717173;background:#450a0a73}.calendar-cell--error{border-color:#f8717159;opacity:.85}.calendar-loading-hint{margin-bottom:.5rem}.calendar-load-hint{margin-bottom:.65rem}.booking-calendar-wrap{border:1px solid rgba(216,162,58,.28);border-radius:14px;padding:.65rem .5rem .75rem;background:#040e1d73;margin-bottom:1rem;overflow:hidden}.calendar-weekday-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;margin-bottom:.35rem;padding:0 .15rem}.calendar-weekday-label{text-align:center;font-size:.68rem;font-weight:700;color:#d8a23a;text-transform:uppercase;letter-spacing:.04em}.calendar-week-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;margin-bottom:.35rem}.calendar-week-row:last-child{margin-bottom:0}.calendar-cell{min-height:4.5rem;border-radius:10px;border:1px solid #334155;background:#0f172a;color:#e2e8f0;padding:.35rem .2rem .4rem;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.08rem;cursor:pointer;font:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.calendar-cell--pad{min-height:4.5rem;border:none;background:transparent;pointer-events:none;cursor:default}.calendar-cell__dow{font-size:.62rem;font-weight:600;color:#94a3b8;text-transform:capitalize;line-height:1.1}.calendar-cell__num{font-size:1.05rem;font-weight:800;color:#f8fafc;line-height:1.1}.calendar-cell__hint{font-size:.58rem;color:#94a3b8;line-height:1.15;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-cell--past{opacity:.35;cursor:not-allowed}.calendar-cell--loading .calendar-cell__hint{color:#d8a23a}.calendar-cell--closed,.calendar-cell--full{opacity:.55;cursor:not-allowed}.calendar-cell--has-slots:not(:disabled):hover{border-color:#fff9;box-shadow:0 0 0 1px #ffffff42;transform:translateY(-1px)}.calendar-cell--selected{border-color:#ffffffb8;box-shadow:0 0 0 2px #ffffff47;background:#ffffff24}.calendar-cell--selected .calendar-cell__num{color:#f8fafc}.calendar-cell--date-picked{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;cursor:default;border-style:dashed;border-color:#fbbf248c;background:#fbbf241a;box-shadow:0 0 0 1px #fbbf241f;pointer-events:none}.calendar-cell--date-picked .calendar-cell__num{margin-top:.06rem}.calendar-cell__picked-mark{font-size:.76rem;font-weight:900;color:#fcd34d;line-height:1;margin-top:.1rem}.booking-picked-slot-banner{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.55rem .75rem;padding:.65rem .72rem;border-radius:12px;border:1px solid rgba(251,191,36,.4);background:#78350f40;color:#fcd34d;font-size:.86rem;margin-bottom:.15rem}.booking-picked-slot-banner__change{padding:.35rem .72rem!important;font-size:.82rem!important;margin:0}.sidebar-slot-picked__label{margin:0 0 .45rem;font-size:.86rem;color:#e2e8f0;line-height:1.38}.sidebar-slot-picked__change{width:100%}.calendar-cell:disabled:not(.calendar-cell--pad){cursor:not-allowed}.time-slots-panel{border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:.75rem .85rem .9rem;background:#11141873}.time-slots-panel__head{margin-bottom:.65rem;padding-bottom:.55rem;border-bottom:1px solid rgba(255,255,255,.16)}.time-slots-panel__date{font-size:.95rem;font-weight:700;color:#f8fafc;text-transform:capitalize}.time-slots-panel__placeholder{font-size:.88rem;color:#94a3b8}.time-grid--panel{min-height:5rem}.time-grid__empty{grid-column:1 / -1}.day-pill{background:#111418c7;border:1px solid rgba(255,255,255,.16);color:#cbd5e1;border-radius:10px;padding:.5rem .45rem;text-align:left;display:grid;gap:.15rem}.day-pill small{color:#94a3b8;font-size:.72rem}.day-pill.active{background:#f8fafc;border-color:#fff;color:#171b1f}.day-pill.active small{color:#1f2937}.day-pill.closed,.day-pill.full{opacity:.55;cursor:not-allowed}.time-slot{background:#111418c7;border:1px solid rgba(255,255,255,.16);color:#cbd5e1;border-radius:10px;min-height:44px;padding:.55rem .42rem;font-weight:600}.time-slot.active{background:#f8fafc;border-color:#fff;color:#171b1f}.time-empty-state{grid-column:1 / -1;margin:0;padding:.65rem .75rem;border-radius:10px;border:1px dashed rgba(255,255,255,.24);background:#11141894;color:#c8d6e8}.booking-sidebar{position:sticky;top:1rem;border:1px solid rgba(255,255,255,.18);background:linear-gradient(160deg,#181c20f0,#4e5359d6),radial-gradient(circle at 0% 100%,rgba(255,255,255,.12),transparent 42%),url(/images/industrial-gray-texture.png);background-size:cover;background-position:center;background-blend-mode:multiply,soft-light,normal;box-shadow:0 14px 34px #15191d5c;min-height:auto;color:#e2e8f0}.sidebar-block{margin-top:1rem;border-top:1px dashed rgba(216,162,58,.25);padding-top:.85rem}.sidebar-block h4{margin:0 0 .5rem;font-size:.92rem;color:#f8fafc}.quick-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.42rem}.quick-slot{background:#0f172a;border:1px solid #334155;color:#cbd5e1;border-radius:8px;padding:.38rem .2rem;font-size:.77rem}.quick-slot.active{background:linear-gradient(135deg,#ce952f,#e0b15b);border-color:#d8a23a;color:#0f172a}.booking-sidebar h3{margin-top:.25rem;margin-bottom:.45rem;color:#f8fafc}.summary-row{display:flex;justify-content:space-between;gap:.7rem;padding:.5rem 0;border-bottom:1px solid rgba(216,162,58,.2);font-size:.9rem}.summary-row span{color:#b7c6d8}.summary-row.total{font-size:1.03rem;border-bottom:none;margin-top:.2rem}.booking-sidebar .helper{color:#b7c6d8}.booking-extras{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.booking-extras .reviews-card{grid-column:1 / -1;border-radius:20px;overflow:hidden;padding:1.05rem}.extra-card{min-height:220px}.extra-card h3{margin-top:.25rem;margin-bottom:.6rem}.review-form{display:grid;gap:.75rem;margin-top:0;padding:.95rem;border:1px solid rgba(148,163,184,.22);border-radius:18px;background:#02061742}.reviews-page{width:min(100%,1360px);max-width:1360px;margin:0 auto;min-height:auto;padding:clamp(1.1rem,2vw,1.65rem)}.reviews-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:end;padding:.2rem .2rem 1rem;border-bottom:1px solid rgba(216,162,58,.18)}.reviews-hero h2{margin:.25rem 0 .35rem;color:#f8fafc;font-size:clamp(1.55rem,2.2vw,2.25rem)}.reviews-hero-stats{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:.55rem;min-width:min(430px,100%)}.reviews-hero-stats div{border:1px solid rgba(148,163,184,.22);border-radius:16px;background:#02061752;padding:.72rem .8rem;text-align:center}.reviews-hero-stats strong{display:block;color:#fef3c7;font-size:1.1rem}.reviews-hero-stats span{color:#94a3b8;font-size:.78rem}.reviews-page-alert{margin-top:1rem}.reviews-page-grid{display:grid;grid-template-columns:minmax(360px,.95fr) minmax(420px,1.15fr);gap:1.1rem;align-items:start;margin-top:1.15rem}.reviews-panel{border:1px solid rgba(148,163,184,.2);border-radius:20px;background:radial-gradient(ellipse 80% 45% at 100% 0%,rgba(216,162,58,.09),transparent 58%),#0206173d;padding:.95rem}.reviews-panel--list{min-height:480px}.reviews-panel-title{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start;margin-bottom:.8rem}.reviews-panel-title p{margin:0;color:#b7c6d8;font-size:.86rem;line-height:1.45}.reviews-moderation-note{margin:0 0 .85rem;padding:.55rem .72rem .55rem .65rem;border-radius:12px;border:1px solid rgba(100,116,139,.38);border-left:3px solid rgba(148,163,184,.55);background:#0f172ab8;color:#cbd5e1;font-size:.8rem;line-height:1.45;font-weight:500}.reviews-moderation-note strong{color:#e2e8f0;font-weight:600}.review-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.review-card-pill{border:1px solid rgba(216,162,58,.32);border-radius:999px;background:#d8a23a1f;color:#fef3c7;padding:.22rem .58rem;font-size:.78rem;font-weight:800;white-space:nowrap}.review-form label{display:grid;gap:.35rem;color:#dbe6f2;font-size:.88rem;font-weight:700}.review-form input,.review-form select,.review-form textarea{width:100%;border:1px solid rgba(148,163,184,.32);border-radius:14px;background:#02061773;color:#f8fafc;padding:.62rem .72rem;font:inherit}.review-form textarea{resize:vertical;min-height:76px}.review-form input::placeholder,.review-form textarea::placeholder{color:#94a3b8}.review-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.review-form select option{background:#111827;color:#f8fafc}.review-rating{display:inline-flex;align-items:center;gap:.25rem;color:#fde68a}.star-btn{border:none;background:transparent;color:#64748b;padding:.08rem;font-size:1.35rem;line-height:1;cursor:pointer;transition:color .16s ease,transform .16s ease}.star-btn:hover,.star-btn-active{color:#d8a23a}.star-btn:hover{transform:translateY(-1px)}.review-rating span{margin-left:.35rem;color:#cbd5e1;font-size:.84rem;font-weight:700}.review-submit-btn{justify-self:start;min-width:150px}.review-list{display:grid;gap:.65rem;margin-top:.9rem;max-height:260px;overflow:auto;padding-right:.25rem}.review-list--page{margin-top:0;max-height:610px}.review-empty-card{border:1px dashed rgba(216,162,58,.28);border-radius:18px;background:#02061747;padding:1.2rem;text-align:center}.review-empty-card strong{color:#fef3c7}.review-empty-card p{margin:.45rem 0 0;color:#b7c6d8}.review-list::-webkit-scrollbar{width:8px}.review-list::-webkit-scrollbar-thumb{background:#94a3b859;border-radius:999px}.review-item{border:1px solid rgba(148,163,184,.24);border-radius:16px;background:#02061757;padding:.72rem}.review-item-head{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.review-item-head strong{color:#f8fafc}.review-item-head span{color:#d8a23a;letter-spacing:.03em}.review-item p{margin:.45rem 0;color:#dbe6f2;line-height:1.45}.review-item small{display:block;color:#94a3b8;font-size:.78rem}.review-item--own{border-color:#d8a23a61}.review-item-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.65rem}.review-own-action-btn{padding:.35rem .65rem;font-size:.8rem}.review-own-action-btn-danger:hover{color:#fecaca}.review-edit-form{display:grid;gap:.65rem}.review-edit-title{margin:0;font-size:.92rem;color:#fef3c7;font-weight:800}.review-edit-form label{display:grid;gap:.35rem;color:#dbe6f2;font-size:.84rem;font-weight:700}.review-edit-form input,.review-edit-form select,.review-edit-form textarea{width:100%;border:1px solid rgba(148,163,184,.32);border-radius:14px;background:#02061773;color:#f8fafc;padding:.55rem .65rem;font:inherit}.review-edit-form textarea{resize:vertical;min-height:72px}.review-edit-actions{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.review-delete-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:1rem;background:#020617b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.review-delete-dialog{width:min(100%,440px);border-radius:20px;border:1px solid rgba(216,162,58,.28);background:radial-gradient(ellipse 90% 40% at 100% 0%,rgba(216,162,58,.14),transparent 55%),#020617f0;box-shadow:0 24px 60px #00000073;padding:1.25rem 1.2rem;color:#e2e8f0}.review-delete-eyebrow{margin:0 0 .35rem;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#d8a23a}.review-delete-heading{margin:0 0 .5rem;font-size:1.25rem;color:#fef3c7;font-weight:800;line-height:1.25}.review-delete-lead{margin:0 0 1rem;font-size:.88rem;line-height:1.5;color:#cbd5e1}.review-delete-preview{margin:0 0 1rem;padding:.65rem .75rem;border-radius:12px;border-left:3px solid rgba(216,162,58,.55);background:#0f172aa6;font-size:.84rem;line-height:1.45;color:#dbe6f2}.review-delete-preview-label{display:block;font-size:.72rem;font-weight:700;color:#94a3b8;margin-bottom:.35rem}.review-delete-actions{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.review-delete-btn-confirm{background:linear-gradient(145deg,#b91c1cf2,#7f1d1deb);border:1px solid rgba(248,113,113,.35)}.review-delete-btn-confirm:hover:not(:disabled){filter:brightness(1.06)}.review-delete-btn-cancel:disabled,.review-delete-btn-confirm:disabled{opacity:.55}@media(max-width:520px){.review-delete-actions{grid-template-columns:1fr}}.feature-list{margin:0;padding-left:1.1rem;color:#334155;display:grid;gap:.45rem}.service-chips{display:flex;flex-wrap:wrap;gap:.5rem}.service-chip{border-radius:999px;background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe;padding:.26rem .62rem;font-size:.82rem;font-weight:600}.service-list{display:grid;gap:.55rem}.service-item{border:1px solid rgba(216,162,58,.24);border-radius:10px;background:#040e1d8c;padding:.55rem .62rem}.service-item h4{margin:0;color:#fff4d0;font-size:.84rem;letter-spacing:.02em}.service-item-owner{margin:.18rem 0 0;color:#b7c6d8;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.service-item-meta{margin:.22rem 0 0;color:#d8a23a;font-size:.78rem;font-weight:700}.service-item-description{margin:.2rem 0 0;color:#cbd5e1;font-size:.76rem;line-height:1.35}.booking-extras .card{background:linear-gradient(160deg,#191d21e6,#484d53d6),radial-gradient(circle at 100% 0%,rgba(255,255,255,.14),transparent 38%),url(/images/industrial-gray-texture.png);background-size:cover;background-position:center;background-blend-mode:multiply,soft-light,normal;border-color:#ffffff2e;color:#e2e8f0}.booking-extras .card h3{color:#f8fafc}.booking-extras .card .eyebrow{color:#e5e7eb}.booking-extras .card .helper{color:#b7c6d8}.booking-extras .feature-list{color:#dbe6f2}.booking-extras .service-chip{background:#ffffff1f;border-color:#ffffff4d;color:#f8fafc}.booking-extras .metric-row strong{color:#f8fafc}.highlight{background:radial-gradient(circle at 100% 0%,rgba(255,255,255,.16),transparent 35%),linear-gradient(165deg,#181c20f5,#484d53e6);border-color:#ffffff42}.location-panel{margin-top:.7rem;border:1px solid rgba(255,255,255,.32);background:linear-gradient(135deg,#1c2024f0,#5a5f65c7);border-radius:12px;padding:.85rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.35rem;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.location-panel:hover{transform:translateY(-2px);box-shadow:0 8px 24px #15191d3d}.location-panel-icon{font-size:1.4rem}.location-panel-cta{font-size:.8rem;color:#f8fafc;font-weight:600;letter-spacing:.04em}.location-panel-address{font-size:.78rem;color:#cbd5e1}.metric-row{margin-top:.8rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.metric-row div{border:1px solid #334155;border-radius:10px;background:#0f172a99;padding:.55rem;text-align:center}.booking-extras .metric-row div{border-color:#f59e0b4d;background:#0f172acc}.metric-row strong{display:block;font-size:1rem;color:#1e3a8a}.booking-extras .metric-row strong{color:#fef3c7}.metric-row span{font-size:.78rem;color:#475569}.booking-extras .metric-row span{color:#94a3b8}.booking-summary h2{margin-top:.35rem;margin-bottom:.3rem}.summary-metrics{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}.metric-chip{border-radius:999px;padding:.25rem .7rem;background:#eef2ff;color:#3730a3;font-size:.82rem;font-weight:600}.price-callout{margin-top:1rem;padding:.7rem;border-radius:10px;border:1px solid #dbeafe;background:#eff6ff;color:#1e3a8a;font-size:.92rem}.grid-form{display:grid;grid-template-columns:1fr;gap:.85rem}.form-two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:span 2}.grid-form label{display:grid;gap:.35rem;font-size:.92rem;color:#334155;font-weight:600}.grid-form .form-field-error{margin:0;font-size:.78rem;font-weight:600;color:#b91c1c}.grid-form .form-field-hint{margin:0;font-size:.72rem;color:#64748b;font-weight:500}.grid-form .input-invalid{border-color:#ef4444;box-shadow:0 0 0 1px #f8717166}.grid-form label.form-label--invalid{color:#991b1b}.grid-form input,.grid-form select,button{border:1px solid #cbd5e1;border-radius:10px;padding:.58rem .7rem;font:inherit}.grid-form input,.grid-form select{background:#fff}.password-field{display:flex;gap:.5rem}.password-field input{flex:1}.eye-btn{width:44px;height:40px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;background:#e2e8f0;color:#0f172a;border:1px solid #cbd5e1;padding:0}.eye-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.primary-btn{cursor:pointer;background:linear-gradient(135deg,#f8fafc,#d7dadd);color:#171b1f;font-weight:700;border:1px solid rgba(255,255,255,.72);box-shadow:0 6px 14px #15191d24;letter-spacing:.01em;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,border-color .18s ease}.primary-btn:hover{transform:translateY(-1px);background:linear-gradient(135deg,#fff,#e7eaed);filter:none;box-shadow:0 8px 18px #15191d2e}.primary-btn:active{transform:translateY(0)}.primary-btn:disabled{opacity:.7;cursor:not-allowed;transform:none;filter:none;box-shadow:none}.ghost-btn{background:#ffffffdb;color:#171b1f;border:1px solid rgba(255,255,255,.72);font-weight:700;box-shadow:0 4px 10px #15191d14}.ghost-btn:hover{background:#fff;border-color:#ffffffeb;box-shadow:0 6px 14px #15191d1f}.helper{color:#475569;margin-top:.75rem;font-size:.92rem}.message-banner{margin-top:.9rem;padding:.72rem .82rem;border-radius:10px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;font-size:.9rem}.alert-banner{margin-top:.9rem;padding:.72rem .82rem;border-radius:10px;border:1px solid;font-size:.9rem;font-weight:600}.alert-banner.success{background:#dcfce7;border-color:#86efac;color:#166534}.alert-banner.error{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.alert-banner.info{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.confirmation-view{max-width:880px;margin:0 auto;min-height:auto;padding:1.5rem 1.35rem 1.65rem}.confirmation-inner{max-width:720px;margin:0 auto;text-align:center}.confirmation-eyebrow{color:#d8a23a!important;margin-bottom:.5rem}.confirmation-head{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:.5rem}.confirmation-check{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;font-size:1.25rem;font-weight:700;color:#0f172a;background:linear-gradient(135deg,#ce952f,#e8c56e);border:1px solid rgba(255,241,196,.35);box-shadow:0 6px 18px #ce952f59}.confirmation-view h2{margin:0;color:#fff1c4;font-family:Palatino Linotype,Book Antiqua,Times New Roman,serif;font-size:1.55rem;letter-spacing:.03em;text-transform:none}.confirmation-lead{margin:.35rem auto .85rem;max-width:28rem;color:#cbd5e1!important}.confirmation-reminder{margin:0 0 1.15rem;padding:.75rem 1rem;border-radius:12px;border:1px solid rgba(216,162,58,.35);background:#040e1da6;line-height:1.45}.confirmation-reminder strong{font-weight:700;color:#fff1c4;font-size:.82rem;letter-spacing:.04em}.confirmation-grid{margin-top:.25rem;display:grid;grid-template-columns:1fr;gap:.75rem;text-align:left}@media(min-width:420px){.confirmation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:640px){.confirmation-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.confirmation-cell{border:1px solid rgba(216,162,58,.22);border-radius:12px;background:#040e1d8c;padding:.72rem .85rem;transition:border-color .15s ease,box-shadow .15s ease}.confirmation-cell:hover{border-color:#d8a23a61;box-shadow:0 6px 16px #02061759}.confirmation-cell span{display:block;font-size:.72rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.07em}.confirmation-cell strong{display:block;margin-top:.35rem;color:#f8fafc;font-size:.95rem;font-weight:600;line-height:1.35}.confirmation-cell--location .confirmation-location{display:block;margin-top:.35rem;text-decoration:none;color:inherit}.confirmation-cell--location .confirmation-location strong{color:#fbbf24;margin-top:0;font-size:.88rem}.confirmation-cell--location .confirmation-address{display:block;margin-top:.35rem;font-size:.82rem;color:#cbd5e1;line-height:1.4}.confirmation-actions{margin-top:1.35rem;justify-content:center}.policy-attendance-banner{display:flex;gap:.75rem;align-items:flex-start;text-align:left;margin:1.15rem auto 0;max-width:42rem;padding:.9rem 1rem;border-radius:14px;border:1px solid rgba(251,191,36,.42);background:linear-gradient(145deg,#78350f8c,#0f172ae0),radial-gradient(120% 80% at 0% 0%,rgba(251,191,36,.12),transparent 45%);box-shadow:0 10px 28px #02061759}.policy-attendance-banner--admin{margin:0 0 1.1rem;max-width:none}.policy-attendance-banner__badge{flex-shrink:0;display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:12px;font-size:1.15rem;line-height:1;background:#fbbf2433;border:1px solid rgba(251,191,36,.45);color:#fef3c7}.policy-attendance-banner__title{display:block;margin:0 0 .45rem;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:#fcd34d}.policy-attendance-banner__body{min-width:0}.policy-attendance-banner__body p{margin:0;font-size:.86rem;line-height:1.55;color:#e2e8f0}.policy-attendance-banner__body p strong{color:#fffbeb;font-weight:700}.login-layout{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.login-card h2{margin-top:.3rem;margin-bottom:.2rem}.premium-admin .card{box-shadow:0 18px 34px #15191d29}.login-info-card{min-height:360px;background:radial-gradient(circle at 100% 0%,rgba(255,255,255,.58),transparent 32%),linear-gradient(160deg,#ffffffeb,#d8dce0db),url(/images/industrial-gray-texture.png);background-size:cover;background-blend-mode:normal,screen,normal}.admin-location{margin-top:.9rem;border:1px dashed rgba(148,163,184,.6);border-radius:12px;padding:.55rem .68rem;background:#ffffffb8}.admin-location span{display:block;font-size:.72rem;color:#64748b;text-transform:uppercase;letter-spacing:.08em}.admin-location strong{display:block;margin-top:.2rem;color:#0f172a;font-size:.9rem}.login-form-card{border:1px solid rgba(255,255,255,.7)}.login-form-card h3{margin-top:.1rem;margin-bottom:.8rem}.info-list{margin:.8rem 0 0;padding-left:1.1rem;color:#334155}.stats-grid{margin-top:.75rem;margin-bottom:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem}.stats-grid-admin{margin-bottom:1.25rem}.stat-card{border:1px solid rgba(255,255,255,.45);border-radius:12px;padding:.65rem .75rem;background:linear-gradient(150deg,#0f172af7,#1e293bf5),#0f172a}.stat-card p{margin:0;color:#cbd5e1;font-size:.84rem}.stat-card strong{display:block;margin-top:.2rem;font-size:1.22rem;color:#f59e0b}.table{width:100%;border-collapse:collapse}.table-wrap{overflow-x:auto;border-radius:12px;border:1px solid #e2e8f0;background:#fff}.table thead{background:#f8fafc}.table th,.table td{border-bottom:1px solid #e2e8f0;padding:.65rem;text-align:left;vertical-align:top;font-size:.9rem}.table tr:last-child td{border-bottom:none}.empty-state{margin:.6rem 0;color:#64748b;text-align:center}.actions-cell{display:flex;flex-wrap:wrap;gap:.4rem}.table-btn{padding:.48rem .72rem;font-size:.82rem;border-radius:999px;font-weight:700;border:1px solid transparent;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,filter .18s ease}.table-btn:hover{transform:translateY(-1px)}.table-btn:active{transform:translateY(0)}.table-btn-success{background:#166534}.table-btn-danger{background:#991b1be6;color:#fee2e2;border-color:#f8717147;box-shadow:0 5px 12px #7f1d1d2e}.table-btn-danger:hover{background:#b91c1c;filter:none;box-shadow:0 7px 16px #7f1d1d3d}.table-btn-danger.table-btn-cancelling{background:#64748b;color:#e2e8f0;cursor:wait}.table-btn-info{background:#2563ebe0;color:#eff6ff;border-color:#93c5fd47;box-shadow:0 5px 12px #1e40af2e}.table-btn-info:hover{background:#2563eb;filter:none;box-shadow:0 7px 16px #1e40af3d}.badge{display:inline-block;border-radius:999px;padding:.16rem .55rem;font-size:.75rem;font-weight:700}.badge.success{background:#dcfce7;color:#166534}.badge.warning{background:#fef9c3;color:#854d0e}.badge.danger{background:#fee2e2;color:#991b1b}.badge.info{background:#dbeafe;color:#1d4ed8}.row-between{display:flex;justify-content:space-between;align-items:center}.admin-board{border:1px solid rgba(255,255,255,.18);background:radial-gradient(circle at 0% 0%,rgba(255,255,255,.16),transparent 32%),linear-gradient(160deg,#16191df5,#474c52e6),url(/images/industrial-gray-texture.png);background-size:cover;background-blend-mode:soft-light,multiply,normal;color:#f8fafc;position:relative}.admin-toast{position:sticky;top:.75rem;z-index:20;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;margin-bottom:.9rem;padding:.75rem .9rem;border-radius:14px;border:1px solid rgba(255,255,255,.22);background:#0c0e11e6;box-shadow:0 12px 28px #02061747;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.admin-toast strong{color:#f8fafc}.admin-toast span{color:#dbe6f2;line-height:1.35}.admin-toast button{width:2rem;height:2rem;border:0;border-radius:999px;background:#ffffff1f;color:#f8fafc;cursor:pointer;font-size:1.1rem;line-height:1}.admin-toast-success{border-color:#22c55e73;background:linear-gradient(135deg,#14532deb,#0c0e11e6)}.admin-toast-error{border-color:#f871717a;background:linear-gradient(135deg,#7f1d1deb,#0c0e11e6)}.admin-toast-info{border-color:#93c5fd73;background:linear-gradient(135deg,#1e40afe0,#0c0e11e6)}.admin-confirm-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:1rem;background:#0206179e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.admin-confirm-card{width:min(100%,420px);border-radius:22px;border:1px solid rgba(255,255,255,.2);background:radial-gradient(circle at 100% 0%,rgba(248,113,113,.14),transparent 34%),linear-gradient(160deg,#121519fa,#30353cf5);box-shadow:0 28px 70px #02061780;padding:1.15rem;color:#f8fafc}.admin-confirm-card h3{margin:.2rem 0 .4rem;color:#fff}.admin-confirm-card .helper{margin-bottom:1rem;color:#dbe6f2}.admin-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.admin-board h2{margin-top:.2rem;margin-bottom:.3rem}.admin-address{margin:0;color:#e5e7eb;font-size:.84rem}.admin-board .helper{color:#cbd5e1}.admin-board .eyebrow{color:#e5e7eb}.admin-board .table-wrap{border-color:#ffffff2e;background:#0c0e11c2;border-width:1px;box-shadow:inset 0 0 0 1px #ffffff14}.admin-board .table thead{background:#24282df0}.admin-board .table th{color:#f8fafc;font-size:.88rem;letter-spacing:.02em;border-bottom-color:#ffffff2e}.admin-board .admin-appointments-table td{vertical-align:middle}.admin-board .table td{color:#e2e8f0;border-color:#ffffff24;font-size:.88rem}.admin-board .table th:not(:last-child),.admin-board .table td:not(:last-child){border-right:1px solid rgba(255,255,255,.14)}.admin-board .table tbody tr:nth-child(odd){background:#0c0e11b8}.admin-board .table tbody tr:nth-child(2n){background:#1e2227a8}.admin-board .table tbody tr:hover{background:#ffffff1a}.admin-board .ghost-btn{background:#ffffff1f;color:#e5e7eb;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding-inline:.95rem;box-shadow:0 6px 14px #02061738}.admin-board .ghost-btn:hover{background:#fff3;border-color:#ffffff6b;color:#f8fafc;box-shadow:0 8px 18px #02061747}.admin-board .grid-form label{color:#e2e8f0}.admin-board .grid-form input,.admin-board .grid-form select{background:#0c0e11c7;color:#f8fafc;border:1px solid rgba(255,255,255,.18)}.admin-schedule-section{margin-top:1rem}.admin-schedule-form{margin-top:.75rem}.schedule-weekdays-field{display:grid;gap:.55rem}.schedule-weekdays-label{font-size:.92rem;font-weight:600;color:#e2e8f0}.schedule-weekdays-grid{display:flex;flex-wrap:wrap;gap:.45rem}.schedule-weekday-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .65rem;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#0f172a8c;font-size:.84rem;font-weight:600;color:#e2e8f0;cursor:pointer}.schedule-weekday-chip input{accent-color:#f59e0b}.schedule-save-hint{margin:0;font-size:.82rem}.timeoff-section{margin-top:1rem;border-top:1px dashed #334155;padding-top:1rem}.timeoff-section h3{margin:0}.timeoff-block-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid #334155}.timeoff-block-actions .primary-btn{width:100%;max-width:280px}.block-confirm-overlay{position:fixed;inset:0;background:#020617b3;display:flex;align-items:center;justify-content:center;z-index:100}.block-confirm-card{background:linear-gradient(165deg,#0f172a,#1e293b);border:1px solid rgba(245,158,11,.4);border-radius:14px;padding:1.25rem;max-width:380px;width:90%}.block-confirm-card h4{margin:0 0 .5rem;color:#fef3c7;font-size:1.1rem}.block-confirm-card .helper{margin:0 0 1rem;color:#cbd5e1;font-size:.9rem}.admin-section-card{background:#0206176b;border:1px solid #334155;border-radius:14px;padding:1rem;margin-top:1rem}.section-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.section-header h3{margin:0;color:#f8fafc}.admin-board .empty-state{color:#cbd5e1}.admin-board .admin-table-scroll{max-height:min(52vh,520px);overflow:auto;overscroll-behavior:contain;border-radius:12px;border:1px solid #334155;background:#0b1220;box-shadow:inset 0 1px #94a3b81f,0 0 0 1px #0f172a66}.admin-board .admin-table-scroll::-webkit-scrollbar{width:10px;height:10px}.admin-board .admin-table-scroll::-webkit-scrollbar-thumb{background:#334155;border-radius:999px;border:2px solid #0b1220}.admin-board .admin-table-scroll--compact{max-height:min(36vh,320px);margin-top:.75rem}.admin-board .admin-table-scroll thead th{position:sticky;top:0;z-index:2;background:#111827;border-bottom:1px solid #334155;box-shadow:none}.admin-board .admin-appointments-table .nowrap-cell{white-space:nowrap}.admin-board .admin-appointments-table td.admin-client-cell{display:table-cell;vertical-align:middle}.admin-board .admin-client-stack{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start}.admin-board .admin-client-name{font-weight:600;color:#f8fafc}.admin-board .admin-client-phone{font-size:.82rem;color:#94a3b8}.admin-board .servicio-cell{max-width:14rem;word-break:break-word}.admin-board .estado-cell .badge{font-size:.74rem;padding:.2rem .62rem;white-space:nowrap}.admin-board .estado-cell .badge.success{background:#22c55e33;color:#86efac;border:1px solid rgba(34,197,94,.45)}.admin-board .estado-cell .badge.danger{background:#f8717129;color:#fecaca;border:1px solid rgba(248,113,113,.42)}.admin-board .estado-cell .badge.info{background:#3b82f638;color:#dbeafe;border:1px solid rgba(59,130,246,.45)}.admin-board .estado-cell .badge.warning{background:#facc1529;color:#fef08a;border:1px solid rgba(250,204,21,.4)}.admin-board .admin-appointments-table td.actions-cell{display:table-cell;vertical-align:middle}.admin-board .actions-cell .table-btn-calendar{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;vertical-align:middle;min-width:9.5rem;max-width:12rem;line-height:1.25;text-wrap:balance}.admin-board .actions-cell .table-btn-calendar:before{content:"+";display:inline-grid;place-items:center;width:1rem;height:1rem;border-radius:999px;background:#fff3;color:#fff;font-size:.82rem;line-height:1}.bot-test-message{margin:0 0 .75rem;white-space:pre-wrap;font:inherit;line-height:1.45;color:#f8fafc;background:#ffffff14;border-color:#fff3}.admin-board .admin-appointments-table td.bot-actions-cell{display:table-cell;vertical-align:middle;min-width:190px}.bot-reply-buttons{display:inline-flex;gap:.3rem;margin-left:.35rem;vertical-align:middle}.bot-option-btn{min-width:2rem;padding-inline:.55rem;background:#ffffff24;color:#f8fafc;border-color:#ffffff2e}.bot-option-btn:hover{background:#ffffff38}.bot-option-btn-danger{background:#991b1bd9}.table-btn:disabled{cursor:not-allowed;opacity:.62;transform:none;box-shadow:none}.admin-board .timeoff-section .table-btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;min-width:8.5rem}.admin-board .timeoff-section .table-btn-danger:before{content:"×";display:inline-grid;place-items:center;width:1rem;height:1rem;border-radius:999px;background:#fff3;color:#fff;font-size:.95rem;line-height:1}.admin-board .admin-table-scroll .table tbody tr:last-child td{border-bottom:1px solid #334155}.admin-board .appointments-count-pill{margin:0;font-size:.82rem;padding:.38rem .72rem;border-radius:999px;background:#ffffff12;border:1px solid rgba(148,163,184,.35);flex-shrink:0;line-height:1.45}.admin-board .appointments-count-pill-sep{margin:0 .35rem;opacity:.55}.admin-board .appointments-count-muted{font-weight:400;opacity:.82;font-size:.78rem}.admin-board .appointments-status-filters{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1rem}.admin-board .appointments-status-pill{margin:0;cursor:pointer;border-radius:999px;border:1px solid rgba(148,163,184,.45);background:#0f172a8c;color:#e2e8f0;font-size:.8rem;font-weight:700;padding:.38rem .82rem;transition:border-color .15s ease,background .15s ease,color .15s ease}.admin-board .appointments-status-pill:hover{border-color:#f8fafc73}.admin-board .appointments-status-pill--active{border-color:#93c5fda6;background:#1e40af61;color:#eff6ff}.admin-board .admin-appointments-section .bot-test-message{margin-bottom:1rem}.admin-board .appointments-list-scroll.admin-table-scroll{max-height:min(65vh,680px)}.admin-board .appointment-section-row td{background:#1e293bd1;color:#cbd5e1;font-weight:600;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:.62rem 1rem;border-bottom:1px solid rgba(148,163,184,.18)}.admin-board .appointment-date-cell .appointment-date-line{font-weight:600}.admin-board .appointment-day-hint{display:inline-block;margin-left:.42rem;font-size:.72rem;font-weight:700;padding:.14rem .48rem;border-radius:999px;background:#94a3b838;color:#cbd5e1;vertical-align:middle}.admin-board .appointment-day-hint--active{background:#38bdf859;color:#f0f9ff}.admin-board .appointment-row--upcoming td:first-child{box-shadow:inset 3px 0 #38bdf8d9}.admin-board .appointments-table-responsive .servicio-cell{line-height:1.45;max-width:17rem}.admin-board .appointments-past-actions{margin-top:1rem;display:flex;justify-content:center;padding-bottom:.15rem}.admin-board .appointments-expand-btn{max-width:28rem;width:100%}@media(min-width:769px){.admin-board .appointments-table-responsive .admin-appointments-table tbody tr:nth-child(odd),.admin-board .appointments-table-responsive .admin-appointments-table tbody tr:nth-child(2n){background:transparent}.admin-board .appointments-table-responsive tbody tr.appointment-row td{padding:.88rem 1rem;vertical-align:top;background:#0f172a6b;border-top:1px solid rgba(148,163,184,.1)}.admin-board .appointments-table-responsive tbody tr.appointment-row:hover td{background:#1e293b94}.admin-board .appointments-table-responsive tbody tr.appointment-section-row~tr.appointment-section-row td{padding-top:1.25rem;border-top:1px dashed rgba(100,116,139,.45)}.admin-board .appointments-expand-btn{width:auto}}@media(max-width:768px){.admin-board .appointments-table-responsive.admin-table-scroll{max-height:min(74vh,760px);overflow-x:hidden}.admin-board .appointments-table-responsive .table,.admin-board .appointments-table-responsive .table thead,.admin-board .appointments-table-responsive .table tbody,.admin-board .appointments-table-responsive .table tr,.admin-board .appointments-table-responsive .table td{display:block;width:100%}.admin-board .appointments-table-responsive .table thead{display:none}.admin-board .appointments-table-responsive .table tbody{display:grid;gap:1.05rem;padding:.85rem .75rem 1rem}.admin-board .appointments-table-responsive .appointment-section-row td{border-radius:12px;margin-top:.35rem;padding:.7rem .85rem}.admin-board .appointments-table-responsive .table tbody tr.appointment-row{border:1px solid rgba(255,255,255,.14);border-radius:16px;overflow:hidden;background:radial-gradient(circle at 0% 0%,rgba(255,255,255,.07),transparent 38%),#0f172ab8}.admin-board .appointments-table-responsive .table tbody tr.appointment-row:nth-child(odd),.admin-board .appointments-table-responsive .table tbody tr.appointment-row:nth-child(2n){background:radial-gradient(circle at 0% 0%,rgba(255,255,255,.07),transparent 38%),#0f172ab8}.admin-board .appointments-table-responsive .appointment-row td{border-right:none!important;border-bottom:1px solid rgba(255,255,255,.08);padding:.78rem .92rem;white-space:normal}.admin-board .appointments-table-responsive .appointment-row td:last-child{border-bottom:none}.admin-board .appointments-table-responsive .appointment-row td[data-label]:before{content:attr(data-label);display:block;margin-bottom:.32rem;color:#94a3b8;font-size:.65rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.admin-board .appointments-table-responsive .appointment-date-cell{padding-bottom:.55rem;border-bottom:1px solid rgba(148,163,184,.22);background:#02061759}.admin-board .appointments-table-responsive .appointment-date-line{display:block;font-size:.95rem;margin-bottom:.35rem}.admin-board .appointments-table-responsive .appointment-day-hint{margin-left:0;margin-right:.35rem}.admin-board .appointments-table-responsive td.bot-actions-cell{display:flex!important;flex-direction:column;align-items:stretch;gap:.55rem;background:#ffffff0a}.admin-board .appointments-table-responsive .bot-reply-buttons{margin-left:0;justify-content:flex-start;flex-wrap:wrap}.admin-board .appointments-table-responsive td.bot-actions-cell .table-btn-info{width:100%}.admin-board .appointments-table-responsive .actions-cell .table-btn-calendar{width:100%;max-width:none;min-width:0}.admin-board .appointments-table-responsive .appointment-row--upcoming td:first-child{box-shadow:none;border-left:4px solid rgba(56,189,248,.95)}}.section-header-stack{flex-wrap:wrap;align-items:flex-start!important}.admin-board .timeoff-simple-form{gap:.85rem}.catalog-admin-section{display:grid;gap:1rem;position:relative;isolation:isolate;overflow-x:clip}.catalog-admin-card--full-span{grid-column:1 / -1}.catalog-admin-grid,.catalog-lists-grid{display:grid;grid-template-columns:repeat(2,minmax(360px,1fr));gap:1rem;align-items:stretch}.catalog-admin-grid.catalog-admin-grid--solo-catalog,.catalog-editor-screen{grid-template-columns:1fr;width:100%}.catalog-service-editor-card.catalog-admin-card{padding:1.15rem 1.25rem;width:100%;max-width:none}.catalog-new-service-collapsed-card{padding:1.1rem 1.2rem}.catalog-new-service-intro{display:grid;gap:.72rem;justify-items:stretch}.catalog-new-service-intro__hint{margin:0;text-align:center;color:#cbd5e1}.catalog-new-service-toggle{width:100%;justify-self:stretch}.admin-board .catalog-form.catalog-service-form.form-two-columns,.admin-board .catalog-form.form-two-columns{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem}.admin-board .catalog-form.form-two-columns label{min-width:0}.admin-board .catalog-form.form-two-columns input,.admin-board .catalog-form.form-two-columns select,.admin-board .catalog-form.form-two-columns textarea{width:100%;min-width:0;box-sizing:border-box}@media(max-width:640px){.admin-board .catalog-form.form-two-columns{grid-template-columns:1fr}.admin-board .catalog-form.form-two-columns .span-2{grid-column:span 1}}@media(max-width:900px){.admin-board .catalog-form.catalog-service-form.form-two-columns{grid-template-columns:1fr}.admin-board .catalog-form.catalog-service-form.form-two-columns .span-2{grid-column:span 1}.admin-board .catalog-form.catalog-service-form .catalog-image-adjust{grid-template-columns:1fr;align-items:stretch}.admin-board .catalog-form.catalog-service-form .catalog-image-frame--service{width:100%;max-width:min(380px,100%);height:auto;aspect-ratio:16 / 9;justify-self:center}.admin-board .catalog-form.catalog-service-form .primary-btn.primary-btn--catalog-submit{width:100%;min-height:2.85rem;padding-block:.72rem}}.catalog-admin-section .catalog-lists-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:stretch}.catalog-admin-section .catalog-lists-grid .admin-table-scroll{min-height:200px;max-height:min(46vh,480px);scrollbar-gutter:stable}.admin-board .catalog-admin-section .catalog-lists-grid .table{table-layout:auto;width:100%;min-width:0}.admin-board .catalog-admin-section .catalog-lists-grid .table th:nth-child(n),.admin-board .catalog-admin-section .catalog-lists-grid .table td:nth-child(n){width:auto}.admin-board .catalog-admin-section .catalog-lists-grid .table tbody td:last-child{width:1%;white-space:nowrap;vertical-align:middle}.admin-board .catalog-admin-section .catalog-lists-grid .table thead th:last-child{width:1%;white-space:nowrap}.catalog-admin-card{border:1px solid rgba(255,255,255,.18);border-radius:18px;background:radial-gradient(circle at 100% 0%,rgba(255,255,255,.08),transparent 34%),#0c0e1180;padding:1rem;box-shadow:inset 0 1px #ffffff0d}.catalog-admin-card--hidden{display:none}.catalog-editor-screen .catalog-admin-card{border-color:#ffffff42;background:radial-gradient(circle at 0% 0%,rgba(255,255,255,.1),transparent 34%),linear-gradient(160deg,#0e1217f0,#2d3238db);box-shadow:0 18px 42px #02061738}.catalog-admin-title{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.8rem}.catalog-admin-title h4{margin:0;color:#f8fafc;font-size:1rem}.catalog-form{gap:.75rem}.admin-board .catalog-form input,.admin-board .catalog-form select,.admin-board .catalog-form textarea{min-height:42px;border-radius:10px;background:#05070ab8;color:#f8fafc;border:1px solid rgba(255,255,255,.18)}.admin-board .catalog-form textarea{padding:.65rem .72rem;font:inherit}.admin-board .catalog-form input[type=file]{padding:.55rem;color:#cbd5e1}.admin-board .catalog-form input::file-selector-button{border:0;border-radius:999px;background:#f8fafc;color:#111827;font-weight:700;padding:.32rem .72rem;margin-right:.6rem;cursor:pointer}.admin-board .catalog-form input::placeholder,.admin-board .catalog-form textarea::placeholder{color:#94a3b8}.catalog-form textarea{min-height:86px;resize:vertical}.catalog-image-adjust{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem;align-items:center;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:#ffffff0f;padding:.75rem}.catalog-image-frame{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.22);background:#ffffff14;flex-shrink:0;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.catalog-image-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .18s ease,object-position .18s ease;transform-origin:center;pointer-events:none}.catalog-image-frame span{position:absolute;left:50%;bottom:.45rem;transform:translate(-50%);border-radius:999px;background:#020617b8;color:#f8fafc;font-size:.68rem;font-weight:800;line-height:1;padding:.34rem .55rem;white-space:nowrap;opacity:0;transition:opacity .18s ease;pointer-events:none}.catalog-image-frame:hover span,.catalog-image-frame.is-dragging span{opacity:1}.catalog-image-frame.is-dragging{cursor:grabbing;border-color:#ffffff70}.catalog-image-frame--barber{width:142px;height:142px;border-radius:999px}.catalog-image-frame--service{width:220px;height:124px;border-radius:14px}.catalog-image-controls{display:grid;gap:.45rem}.catalog-image-controls--service .table-btn-danger{width:100%;justify-self:stretch;text-align:center}.catalog-image-thumbs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.15rem}.catalog-image-thumbs button{width:2rem;height:2rem;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#f8fafc;font-weight:800;cursor:pointer}.catalog-image-thumbs button.active{background:#f8fafc;color:#111827}.catalog-image-controls label{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:.55rem;color:#cbd5e1;font-size:.78rem;font-weight:700}.admin-board .catalog-image-controls input[type=range]{min-height:auto;padding:0;accent-color:#f8fafc}.catalog-message{margin:0;border-color:#ffffff38;background:#ffffff1a;color:#f8fafc}.catalog-row-identity{display:flex;align-items:center;gap:.65rem}.catalog-row-identity>div:last-child{min-width:0}.catalog-row-identity img,.catalog-row-identity>span{width:42px;height:42px;border-radius:12px;flex-shrink:0}.catalog-row-identity img{object-fit:cover}.catalog-row-identity>span{display:grid;place-items:center;background:#ffffff1f;color:#f8fafc;font-weight:800}.catalog-row-identity strong{display:block;color:#f8fafc;line-height:1.18;overflow-wrap:anywhere}.catalog-row-identity small{display:block;color:#94a3b8;margin-top:.18rem;line-height:1.25;overflow-wrap:anywhere}.catalog-detail-cell{color:#dbe6f2;font-weight:700;overflow-wrap:anywhere}.catalog-price-cell{color:#f8fafc}.catalog-lists-grid .actions-cell{white-space:nowrap}.catalog-lists-grid .actions-cell .table-btn+.table-btn{margin-left:.4rem}.catalog-lists-grid .admin-table-scroll{min-height:220px;max-height:min(42vh,420px);height:auto}.catalog-lists-grid .table{width:100%;border-collapse:collapse;table-layout:fixed}.admin-board .catalog-lists-grid .table thead th,.admin-board .catalog-lists-grid .table tbody td{vertical-align:middle;padding:.65rem .75rem;box-sizing:border-box}.admin-board .catalog-lists-grid .table thead th{border-bottom:1px solid rgba(255,255,255,.2)}.admin-board .catalog-lists-grid .table tbody td{border-bottom:1px solid rgba(255,255,255,.14)}.admin-board .catalog-lists-grid .table tbody tr:last-child td{border-bottom:none}.admin-board .catalog-lists-grid .table td.actions-cell{display:table-cell}.admin-board .catalog-lists-grid .table th:nth-child(1),.admin-board .catalog-lists-grid .table td:nth-child(1){width:48%}.admin-board .catalog-lists-grid .table th:nth-child(2),.admin-board .catalog-lists-grid .table td:nth-child(2){width:20%}.admin-board .catalog-lists-grid .table th:nth-child(3),.admin-board .catalog-lists-grid .table td:nth-child(3){width:32%}.admin-board .timeoff-auto-date-card{border:1px solid rgba(255,255,255,.18);border-radius:12px;background:#ffffff14;padding:.68rem .78rem;display:grid;gap:.12rem;align-content:center}.admin-board .timeoff-auto-date-card span{color:#94a3b8;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.admin-board .timeoff-auto-date-card strong{color:#f8fafc;font-size:.95rem}.admin-board .timeoff-auto-date-card small{color:#cbd5e1;text-transform:capitalize}.admin-board .timeoff-mini-label{margin:0 0 .45rem;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.admin-board .timeoff-scope-block{padding:.75rem .95rem;border-radius:12px;border:1px solid #334155;background:#0f172a8c}.admin-board .timeoff-scope-row{display:flex;flex-direction:column;gap:.55rem}.admin-board .timeoff-scope-option{display:flex;align-items:flex-start;gap:.55rem;font-size:.87rem;color:#e2e8f0;line-height:1.35;cursor:pointer}.admin-board .timeoff-scope-option input{flex-shrink:0;margin-top:.2rem;accent-color:#f59e0b}.admin-board .admin-block-error{margin-top:.75rem;background:#b91c1c33;border:1px solid rgba(252,165,165,.35);color:#fecaca}.admin-timeoff-fields{margin-bottom:0}.app-footer{margin-top:auto;display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;padding:1.5rem .35rem 1rem}.developer-credit{width:100%}.developer-credit-panel{width:min(100%,560px);padding:.95rem 1.35rem 1rem;border-radius:16px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(155deg,#12161af0,#2a3036e6),radial-gradient(circle at 50% 0%,rgba(245,158,11,.1),transparent 62%);box-shadow:0 14px 32px #0f172a52,inset 0 1px #ffffff12;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center}.developer-credit-brand-row{display:inline-flex;align-items:center;justify-content:center;gap:.6rem}.developer-credit-mark{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:2.1rem;height:1.75rem;padding:0 .4rem;border-radius:8px;border:1px solid rgba(245,158,11,.32);background:#f59e0b1a;color:#fbbf24;font-family:Cascadia Code,Consolas,SF Mono,ui-monospace,monospace;font-size:.7rem;font-weight:700;letter-spacing:-.02em;line-height:1}.developer-credit-name{font-family:Cascadia Code,Consolas,SF Mono,ui-monospace,monospace;font-size:.92rem;font-weight:700;letter-spacing:.07em;color:#fde68a;text-shadow:0 1px 10px rgba(245,158,11,.22)}.developer-credit-divider{width:min(220px,72%);height:1px;margin:.65rem auto .7rem;background:linear-gradient(90deg,transparent,rgba(245,158,11,.45) 20%,rgba(245,158,11,.45) 80%,transparent)}.developer-credit-rights{margin:0;font-size:.76rem;line-height:1.45;letter-spacing:.025em;color:#e2e8f0e6}.developer-credit-byline{margin:.38rem 0 0;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8eb}.developer-credit-byline-name{font-family:Cascadia Code,Consolas,SF Mono,ui-monospace,monospace;font-size:.74rem;font-weight:600;letter-spacing:.05em;text-transform:none;color:#fde68af2}.developer-credit--admin .developer-credit-panel{width:min(100%,480px);padding:.75rem 1.1rem .85rem;background:linear-gradient(155deg,#12161ad1,#262b30c7);box-shadow:0 8px 20px #0f172a38}.developer-credit--admin .developer-credit-name{font-size:.84rem}.developer-credit--admin .developer-credit-mark{min-width:1.85rem;height:1.55rem;font-size:.64rem}.developer-credit--admin .developer-credit-rights{font-size:.72rem;color:#cbd5e1d1}.developer-credit--admin .developer-credit-byline{font-size:.68rem;color:#94a3b8c7}.developer-credit--admin .developer-credit-byline-name{font-size:.7rem;color:#fde68ae0}.footer-brand{display:inline-flex;align-items:center;gap:.45rem}.footer-logo{height:24px;width:auto;object-fit:contain;opacity:.88}@media(max-width:1280px){.booking-pro,.reviews-page-grid,.catalog-admin-grid,.catalog-lists-grid,.catalog-admin-section .catalog-lists-grid{grid-template-columns:1fr}.reviews-hero{grid-template-columns:1fr;align-items:start}.reviews-hero-stats{width:100%}.booking-sidebar{position:static;min-height:auto}.booking-main{min-height:auto}.booking-step--fill .option-card{min-height:9.5rem}}@media(max-width:900px){.app-shell{padding:.9rem .85rem 1.4rem}.topbar{align-items:flex-start}.location-badge{width:100%;text-align:center}.booking-extras{grid-template-columns:1fr}.option-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.option-thumb{height:96px}.form-two-columns{grid-template-columns:1fr}.span-2{grid-column:span 1}.day-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.time-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.booking-calendar-wrap{padding:.45rem .35rem .55rem}.reviews-panel-title{display:grid}.review-list--page{max-height:520px}.reviews-panel--list{min-height:auto}.calendar-week-row{gap:.22rem}.calendar-cell{min-height:3.75rem;padding:.28rem .1rem .32rem}.calendar-cell__num{font-size:.92rem}.calendar-cell__dow{font-size:.55rem}.calendar-cell__hint{font-size:.5rem}}@media(max-width:760px){.brand-ribbon{display:none}.ribbon-item{font-size:.74rem}.topbar h1{font-size:1.52rem;letter-spacing:.035em}.brand-subtitle{font-size:.8rem}.location-badge{font-size:.7rem}.topbar{flex-direction:column;align-items:flex-start;padding:.8rem .75rem;gap:.6rem}.topbar-brand-row{flex-direction:column;align-items:flex-start;gap:.65rem}.brand-logo-frame .brand-logo{height:64px;max-width:220px}.wizard-actions{justify-content:stretch}.wizard-actions button{flex:1}.app-footer{flex-direction:column;padding:1.15rem .15rem .85rem}.developer-credit-panel{padding:.85rem 1rem .9rem;border-radius:14px}.developer-credit-name{font-size:.86rem}.developer-credit-rights{font-size:.72rem}.developer-credit-byline{font-size:.68rem}.footer-brand{gap:.4rem}.footer-logo{height:21px}.admin-board .table th,.admin-board .table td{font-size:.8rem;padding:.5rem}.admin-board .table th:not(:last-child),.admin-board .table td:not(:last-child){border-right:none}}@media(max-width:560px){.app-shell{padding:.55rem .45rem 1.1rem}.topbar{width:100%;padding:.85rem;border-radius:16px;gap:.8rem}.topbar-brand{width:100%}.topbar-brand-row{width:100%;align-items:stretch}.brand-logo-frame{width:100%;padding:.5rem .8rem;border-radius:18px}.brand-logo-frame .brand-logo{height:88px;max-width:100%}.nav-pill{min-height:40px;padding:.5rem .8rem;font-size:.88rem}.topnav{width:100%;justify-content:space-between;gap:.5rem}.topnav .nav-pill{flex:1}.card{border-radius:14px;padding:.75rem}.admin-board{padding:.7rem}.catalog-admin-card{padding:.8rem;border-radius:16px}.catalog-lists-grid{gap:.8rem}.catalog-admin-section .catalog-lists-grid .admin-table-scroll{min-height:0;max-height:none;overflow-x:hidden;overflow-y:visible;border-radius:16px;background:#02061747;-webkit-overflow-scrolling:touch}.catalog-lists-grid .admin-table-scroll{min-height:0;overflow-x:hidden;border-radius:16px;background:#02061747}.admin-board .catalog-lists-grid .table,.admin-board .catalog-lists-grid .table thead,.admin-board .catalog-lists-grid .table tbody,.admin-board .catalog-lists-grid .table tr,.admin-board .catalog-lists-grid .table td{display:block;width:100%}.admin-board .catalog-lists-grid .table th:nth-child(1),.admin-board .catalog-lists-grid .table td:nth-child(1),.admin-board .catalog-lists-grid .table th:nth-child(2),.admin-board .catalog-lists-grid .table td:nth-child(2),.admin-board .catalog-lists-grid .table th:nth-child(3),.admin-board .catalog-lists-grid .table td:nth-child(3){width:100%}.admin-board .catalog-lists-grid .table thead{display:none}.admin-board .catalog-lists-grid .table tbody{display:grid;gap:.65rem;padding:.65rem}.admin-board .catalog-lists-grid .table tbody tr{border:1px solid rgba(255,255,255,.14);border-radius:18px;overflow:hidden;background:radial-gradient(circle at 0% 0%,rgba(255,255,255,.08),transparent 36%),#0f172aad}.admin-board .catalog-lists-grid .table tbody td{border-bottom:1px solid rgba(255,255,255,.1);padding:.7rem}.admin-board .catalog-lists-grid .table tbody td:last-child{border-bottom:none}.admin-board .catalog-lists-grid .table td.actions-cell{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;white-space:normal;background:#ffffff0a}.admin-board .catalog-lists-grid .table td[data-label]:not(.actions-cell):before{content:attr(data-label);display:block;margin-bottom:.32rem;color:#94a3b8;font-size:.66rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.admin-board .catalog-lists-grid .table td:first-child:before{display:none}.catalog-lists-grid .actions-cell .table-btn+.table-btn{margin-left:0}.catalog-lists-grid .actions-cell .table-btn{min-height:42px;border-radius:12px;font-size:.82rem}.catalog-row-identity{align-items:center;gap:.72rem}.catalog-row-identity img,.catalog-row-identity>span{width:48px;height:48px;border-radius:14px}.catalog-row-identity strong{font-size:.9rem}.catalog-row-identity small{font-size:.72rem}.catalog-detail-cell{font-size:.88rem}.reviews-page{padding:.72rem}.review-form-row{grid-template-columns:1fr}.reviews-hero{gap:.75rem;padding-bottom:.75rem}.reviews-hero h2{font-size:1.35rem}.reviews-hero .helper{font-size:.9rem;line-height:1.45}.reviews-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;min-width:0}.reviews-hero-stats div{border-radius:14px;padding:.52rem .35rem}.reviews-hero-stats strong{font-size:.98rem}.reviews-hero-stats span{font-size:.66rem}.reviews-page-grid{gap:.8rem;margin-top:.85rem}.reviews-panel{border-radius:18px;padding:.72rem}.reviews-panel-title{gap:.45rem;margin-bottom:.62rem}.reviews-panel-title p{font-size:.86rem}.review-card-pill{width:100%;text-align:center}.review-form{border-radius:16px;gap:.62rem;padding:.72rem}.review-form label{font-size:.84rem}.review-form input,.review-form select,.review-form textarea{border-radius:13px;padding:.56rem .66rem}.review-form textarea{min-height:68px}.review-rating{gap:.2rem}.star-btn{font-size:1.18rem}.review-submit-btn{width:100%;min-width:0}.review-list--page{max-height:none}.review-item{border-radius:15px;padding:.7rem}.booking-main h2{font-size:1.15rem}.booking-main .helper{font-size:.86rem}.step-track{gap:.4rem}.step-circle{width:26px;height:26px;font-size:.72rem}.step-label{font-size:.72rem}.option-grid{grid-template-columns:1fr}.option-card{padding:.72rem}.day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.day-pill,.time-slot,.quick-slot{min-height:42px;font-size:.82rem}.booking-main.booking-main--schedule{min-height:auto}.booking-main .wizard-actions{position:sticky;bottom:0;background:#020617eb;padding:.55rem;border-top:1px solid #334155;margin-top:.75rem;z-index:4}.booking-main .wizard-actions button{min-height:42px}.booking-main--confirm .booking-client-intro{font-size:.82rem;margin-bottom:.65rem}.booking-client-form-card{padding:.8rem .75rem;gap:.85rem}.booking-client-actions{flex-direction:column;padding-top:.65rem}.booking-client-actions .ghost-btn,.booking-client-actions .primary-btn{width:100%;flex:none}.actions-cell{flex-direction:column;align-items:stretch}.table-btn{width:100%}.admin-confirm-actions,.catalog-image-adjust{grid-template-columns:1fr}.catalog-image-frame--barber,.catalog-image-frame--service{width:100%;max-width:240px;height:180px;justify-self:center;border-radius:18px}.catalog-image-controls label{grid-template-columns:1fr}.brand-subtitle{display:none}}
