:root{--ink:#111;--muted:#777873;--paper:#f5f5f1;--white:#fff;--line:#e4e4df;--soft:#eeeee9;--accent:#dfff00;--dark:#151515;--green:#dff4e4;--red:#ffe9e7;--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",system-ui,sans-serif}.topbar,.admin-top{height:78px;padding:0 clamp(22px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:rgba(245,245,241,.92);border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-family:"Host Grotesk",sans-serif;font-size:15px;font-weight:800;letter-spacing:-.04em}.brand b{font-weight:500}.brand-mark{width:34px;height:34px;border-radius:11px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:11px;letter-spacing:-.05em}.topbar nav{display:flex;align-items:center;gap:25px}.topbar a:not(.brand),.nav-button{color:var(--ink);text-decoration:none;font:inherit;background:none;border:0;cursor:pointer}.hero-shell{max-width:1320px;margin:auto;padding:82px clamp(22px,5vw,72px) 88px;display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;min-height:620px}.eyebrow{display:block;font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.17em;font-weight:800;color:#74756f}.hero-copy h1,.auth-aside h1,.page-intro h1{font-family:"Host Grotesk",sans-serif;font-size:clamp(58px,7.5vw,104px);line-height:.88;letter-spacing:-.075em;margin:19px 0 25px}.hero-copy h1 span,.auth-aside h1 span{color:#777}.hero-copy p{max-width:560px;color:var(--muted);font-size:18px;line-height:1.6;margin-bottom:30px}.hero-cta,.button{display:inline-flex;align-items:center;gap:16px;text-decoration:none;background:var(--ink);color:#fff;border-radius:14px;padding:15px 18px;font-weight:800}.hero-cta span{color:var(--accent);font-size:19px}.hero-art{height:470px;position:relative;border-radius:42px;background:#171717;overflow:hidden;display:grid;place-items:center}.hero-art:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:var(--accent);opacity:.92;filter:blur(70px);right:-100px;top:-100px}.hero-art:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:#fff;opacity:.09;filter:blur(55px);left:-100px;bottom:-80px}.art-orbit{position:absolute;border:1px solid rgba(255,255,255,.18);border-radius:50%;transform:rotate(-18deg)}.orbit-1{width:390px;height:190px}.orbit-2{width:260px;height:390px;transform:rotate(35deg)}.art-center{position:relative;z-index:2;width:190px;height:190px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.3)}.art-center small{font-size:9px;letter-spacing:.18em;font-weight:800}.art-center strong{font:800 35px/1 "Host Grotesk";letter-spacing:-.08em}.art-center span{font-size:8px;letter-spacing:.2em;margin-top:8px;color:#777}.art-note{position:absolute;left:28px;bottom:26px;color:#aaa;font-size:10px;line-height:1.5;letter-spacing:.12em;z-index:2}.art-note b{color:#fff;font-size:14px;letter-spacing:0}.booking-wrap{max-width:1320px;margin:auto;padding:0 clamp(22px,5vw,72px) 100px}.booking-heading{display:flex;justify-content:space-between;align-items:end;padding-bottom:25px}.booking-heading h2{font:700 clamp(38px,5vw,58px)/.95 "Host Grotesk";letter-spacing:-.06em;margin:12px 0 0}.account-pill{font-size:13px;color:var(--muted)}.booking-panel{background:#fff;border:1px solid var(--line);border-radius:32px;padding:clamp(24px,4vw,46px);box-shadow:0 25px 80px rgba(0,0,0,.055)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:44px}.step{display:flex;align-items:center;gap:11px;padding:12px 14px;border-bottom:2px solid #e8e8e3;color:#aaa}.step span{width:32px;height:32px;border:1px solid #ddd;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;flex:none}.step small{font-size:12px;font-weight:800}.step.active{color:var(--ink);border-color:var(--ink)}.step.active span{background:var(--ink);border-color:var(--ink);color:#fff}.step.done{color:#333;border-color:#d8ecd8}.step.done span{background:var(--green);border-color:#c8e6ce;color:#247139}.step-copy{margin-bottom:28px}.step-copy .eyebrow{margin-bottom:9px}.step-copy h2{font:700 clamp(34px,4.5vw,50px)/.94 "Host Grotesk";letter-spacing:-.06em;margin:0 0 11px}.step-copy p{margin:0;color:var(--muted);max-width:680px;line-height:1.55}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.service-card,.barber-card{appearance:none;width:100%;border:1px solid var(--line);background:#fafaf7;border-radius:21px;padding:24px;text-align:left;color:var(--ink);cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}.service-card:hover,.barber-card:hover{transform:translateY(-2px);border-color:#aaa;box-shadow:0 14px 30px rgba(0,0,0,.06)}.service-card.selected,.barber-card.selected{border:2px solid var(--ink);padding:23px;box-shadow:0 15px 35px rgba(0,0,0,.08)}.service-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#777;font-weight:800}.service-card h3,.barber-card h3{font:700 24px/1.05 "Host Grotesk";letter-spacing:-.04em;margin:9px 0}.service-card p,.barber-card p{color:var(--muted);margin:0;line-height:1.45;min-height:40px}.service-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}.service-bottom strong{font:700 24px "Host Grotesk";letter-spacing:-.04em}.service-bottom span{font-size:12px;font-weight:800}.barber-grid{max-width:720px}.barber-card{display:flex;align-items:center;gap:18px}.avatar{width:62px;height:62px;border-radius:19px;background:var(--ink);color:#fff;display:grid;place-items:center;font:800 16px "Host Grotesk"}.barber-card .check{margin-left:auto;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:26px}.primary,.button{border:0;border-radius:13px;padding:14px 18px;background:var(--ink);color:#fff;font-weight:800;cursor:pointer;text-decoration:none}.primary:disabled{opacity:.35;cursor:not-allowed}.ghost{border:1px solid var(--line);background:#f1f1ed;color:var(--ink);border-radius:13px;padding:13px 16px;font-weight:800;cursor:pointer}.calendar-layout{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(0,1.2fr);gap:26px}.calendar-card{border:1px solid var(--line);border-radius:24px;background:#fafaf8;padding:22px}.calendar-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;margin-bottom:18px}.calendar-head strong{text-align:center;text-transform:capitalize;font:700 19px "Host Grotesk";letter-spacing:-.03em}.calendar-nav{width:44px;height:44px;padding:0;display:grid;place-items:center}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.calendar-week{margin-bottom:7px}.calendar-week span{text-align:center;font-size:10px;font-weight:800;color:#9b9c96}.cal-day{height:52px;border:1px solid transparent;border-radius:14px;background:#fff;color:var(--ink);font-weight:800;cursor:pointer}.cal-day:hover:not(:disabled){border-color:#aaa}.cal-day.selected{background:var(--ink);color:#fff}.cal-day.disabled{background:#eeeeea;color:#c2c3bd;cursor:not-allowed}.cal-cell.empty{height:52px}.calendar-note{margin-top:17px;padding-top:15px;border-top:1px solid var(--line);font-size:12px;line-height:1.5;color:var(--muted)}.slots-area{padding:4px 0}.slot-label{font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:800;color:#777;margin:0 0 12px}.slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.slot{border:1px solid var(--line);background:#fff;border-radius:14px;min-height:52px;padding:12px;font-weight:800;cursor:pointer}.slot:hover{border-color:#999}.slot.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.slot.disabled{color:#aaa;background:#f0f0ec;cursor:not-allowed}.summary-card{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fafaf8}.summary-card>div{padding:20px;border-bottom:1px solid var(--line)}.summary-card span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#888;font-weight:800;margin-bottom:7px}.summary-card strong{font:700 18px "Host Grotesk";letter-spacing:-.03em}.summary-total{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;background:#171717;color:#fff}.summary-total span{color:#aaa;margin:0}.summary-total strong{font-size:26px}.login-needed{margin-top:18px;padding:20px;border-radius:18px;background:#f1f1ec}.login-needed strong{font:700 18px "Host Grotesk"}.login-needed p{color:var(--muted);line-height:1.5}.notice{padding:14px 16px;border-radius:14px;background:#efefeb;color:#555;margin:15px 0}.notice.success{background:var(--green);color:#245b31}.notice.error{background:var(--red);color:#8b2119}.success-panel{text-align:center;padding:70px 30px}.success-mark{width:72px;height:72px;border-radius:50%;background:var(--ink);color:var(--accent);display:grid;place-items:center;margin:0 auto 22px;font-size:28px}.success-panel h2{font:700 48px "Host Grotesk";letter-spacing:-.06em;margin:10px 0}.success-panel p{color:var(--muted);margin-bottom:26px}.site-footer{max-width:1320px;margin:auto;padding:28px clamp(22px,5vw,72px);border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#888;font-size:10px;text-transform:uppercase;letter-spacing:.14em}.auth-page{min-height:100vh}.auth-layout{max-width:1180px;margin:auto;padding:80px 30px;display:grid;grid-template-columns:1fr 430px;gap:100px;align-items:center}.auth-aside p{max-width:500px;color:var(--muted);font-size:18px;line-height:1.6}.auth-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:0 20px 70px rgba(0,0,0,.06)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f0f0ec;padding:4px;border-radius:13px;margin-bottom:25px}.auth-tabs button{border:0;background:transparent;padding:11px;border-radius:10px;font-weight:800;cursor:pointer}.auth-tabs button.active{background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.06)}.auth-card label,.form-field label{display:block;font-size:12px;font-weight:800;color:#555;margin:14px 0}.auth-card input,.form-field input,.form-field select{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:12px;padding:13px;background:#fff;font:inherit;outline:none}.auth-card input:focus,.form-field input:focus{border-color:#111;box-shadow:0 0 0 3px rgba(17,17,17,.06)}.wide{width:100%;margin-top:10px}.auth-foot{font-size:12px;color:#888;line-height:1.5}.account-page{max-width:1180px;margin:auto;padding:70px 30px 100px}.page-intro h1{font-size:70px;margin-bottom:12px}.page-intro p{color:var(--muted);font-size:17px}.appointment-list{display:grid;gap:12px;margin-top:35px}.appointment-card{display:grid;grid-template-columns:130px 1fr auto;gap:22px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.appointment-date{font:700 18px "Host Grotesk"}.appointment-meta{color:var(--muted);font-size:13px;margin-top:5px}.status-badge{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;padding:8px 10px;border-radius:99px;background:#e8f5ea;color:#236a31}.empty-state{background:#fff;border:1px solid var(--line);border-radius:24px;padding:45px;margin-top:35px}.empty-state h2{font:700 34px "Host Grotesk";letter-spacing:-.05em;margin:0 0 10px}.empty-state p{color:var(--muted)}.admin-page{background:#f2f2ee}.admin-top{background:#fff}.admin-user{display:flex;align-items:center;gap:18px;font-size:12px;color:#777}.admin-shell{max-width:1380px;margin:auto;padding:42px 30px 100px}.admin-hero{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}.admin-hero h1{font:700 58px/.95 "Host Grotesk";letter-spacing:-.065em;margin:10px 0}.admin-hero p{color:var(--muted);margin:0}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.metric{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px}.metric .label{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#888;font-weight:800}.metric strong{display:block;font:700 38px "Host Grotesk";letter-spacing:-.06em;margin-top:12px}.admin-columns{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.admin-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;margin-bottom:18px}.admin-card h2{font:700 28px "Host Grotesk";letter-spacing:-.05em;margin:0 0 7px}.admin-card>p{color:var(--muted);font-size:13px;line-height:1.5;margin-top:0}.section-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 0;border-top:1px solid var(--line)}.switch{position:relative;width:54px;height:30px;flex:none}.switch input{opacity:0;width:0;height:0}.switch-ui{position:absolute;inset:0;background:#d5d5d0;border-radius:99px;cursor:pointer;transition:.2s}.switch-ui:before{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:.2s}.switch input:checked+.switch-ui{background:#111}.switch input:checked+.switch-ui:before{transform:translateX(24px)}.setting-copy strong{display:block;font-size:14px}.setting-copy span{display:block;color:#888;font-size:12px;margin-top:4px}.admin-form{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.admin-form .full{grid-column:1/-1}.admin-list{display:grid;gap:9px}.list-item{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.list-item:first-child{border-top:0}.list-title{font-weight:800}.list-sub{font-size:12px;color:#888;margin-top:4px}.price-stack{text-align:right}.price-stack strong{font:700 17px "Host Grotesk"}.price-stack span{display:block;color:#888;font-size:11px}.mini-table{width:100%;border-collapse:collapse}.mini-table th{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#888;text-align:left;padding:0 10px 12px}.mini-table td{padding:13px 10px;border-top:1px solid var(--line);font-size:13px}.mini-table td:first-child,.mini-table th:first-child{padding-left:0}.mini-table td:last-child,.mini-table th:last-child{text-align:right;padding-right:0}.day-picker{display:flex;gap:7px;overflow:auto;padding-bottom:4px;margin-bottom:18px}.day-pill{min-width:74px;padding:10px 12px;border:1px solid var(--line);background:#fafaf7;border-radius:13px;cursor:pointer;text-align:center}.day-pill small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#888;font-weight:800}.day-pill strong{display:block;font:700 19px "Host Grotesk";margin-top:4px}.day-pill.selected{background:#111;color:#fff;border-color:#111}.day-pill.selected small{color:#aaa}.block-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.block-option{cursor:pointer}.block-option input{position:absolute;opacity:0}.block-box{display:flex;flex-direction:column;gap:5px;justify-content:center;min-height:64px;border:1px solid var(--line);border-radius:13px;padding:10px 12px;background:#fafaf7}.block-box strong{font:700 15px "Host Grotesk"}.block-box span{font-size:10px;color:#888}.block-option:hover .block-box{border-color:#999}.block-option input:checked+.block-box{background:#111;color:#fff;border-color:#111}.block-option input:checked+.block-box span{color:#aaa}.loading-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:40px;color:#888}.admin-note{background:#f0f0eb;border-radius:15px;padding:14px;color:#666;font-size:12px;line-height:1.5}.admin-actions{display:flex;gap:9px;flex-wrap:wrap}.error-screen{background:#fff;border:1px solid var(--line);border-radius:22px;padding:35px}.error-screen h2{font:700 30px "Host Grotesk";margin:0 0 10px}.form-message{margin-top:10px}.modalish{border:1px solid var(--line);background:#fafaf7;border-radius:18px;padding:18px;margin-top:15px}@media(max-width:1000px){.hero-shell{grid-template-columns:1fr}.hero-art{max-width:650px;width:100%}.admin-grid{grid-template-columns:repeat(2,1fr)}.admin-columns{grid-template-columns:1fr}.auth-layout{grid-template-columns:1fr;gap:30px;max-width:700px}.auth-aside h1{font-size:65px}}@media(max-width:760px){.topbar,.admin-top{height:68px}.topbar nav{gap:13px;font-size:13px}.hero-shell{padding-top:55px;min-height:auto}.hero-art{height:350px;border-radius:28px}.art-center{width:150px;height:150px}.art-center strong{font-size:29px}.steps{grid-template-columns:repeat(4,1fr);gap:4px}.step{padding:8px 4px;justify-content:center}.step small{display:none}.service-grid,.calendar-layout{grid-template-columns:1fr}.slot-grid{grid-template-columns:repeat(3,1fr)}.summary-card{grid-template-columns:1fr}.summary-total{grid-column:1}.appointment-card{grid-template-columns:1fr;gap:10px}.admin-hero{align-items:flex-start;flex-direction:column}.admin-grid{grid-template-columns:1fr 1fr}.admin-form{grid-template-columns:1fr}.admin-form .full{grid-column:auto}.block-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:480px){.hero-copy h1{font-size:58px}.booking-panel{padding:20px}.booking-heading{align-items:flex-start;flex-direction:column}.steps{margin-bottom:30px}.calendar-card{padding:14px}.cal-day,.cal-cell.empty{height:46px}.slot-grid{grid-template-columns:repeat(2,1fr)}.admin-shell,.account-page{padding-left:18px;padding-right:18px}.admin-grid{grid-template-columns:1fr}.admin-card{padding:18px}.block-grid{grid-template-columns:repeat(2,1fr)}.admin-user>span{display:none}.auth-layout{padding:45px 18px}.auth-aside h1{font-size:54px}.site-footer{padding-left:22px;padding-right:22px}}
.schedule-selected{display:flex;justify-content:space-between;align-items:center;margin:20px 0 12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.schedule-selected strong{font:700 17px "Host Grotesk";text-transform:capitalize}.schedule-selected span{font-size:11px;color:#888}.schedule-note{margin-top:14px}.empty-slots{min-height:260px;border:1px dashed #d8d8d2;border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;color:#777}.empty-slots strong{font:700 24px "Host Grotesk";color:#222;margin-top:12px}.empty-slots p{margin:7px 0 0}.empty-icon{width:52px;height:52px;border-radius:16px;background:#f0f0eb;display:grid;place-items:center;font:700 15px "Host Grotesk";color:#222}.loading{min-height:220px;display:flex;align-items:center;justify-content:center;gap:6px;color:#888;font-size:13px}.loading span{width:6px;height:6px;border-radius:50%;background:#aaa}.centered{justify-content:center}.ghost-link{display:inline-flex;align-items:center;text-decoration:none;color:#222;font-weight:800;padding:14px}.account-summary{display:inline-flex;gap:15px;align-items:center;margin-top:32px;padding:13px 16px;border:1px solid var(--line);background:#fff;border-radius:14px;font-size:12px;color:#777}.account-summary strong{font:700 20px "Host Grotesk";color:#111}.auth-card #authIntro h1{font:700 38px/.95 "Host Grotesk";letter-spacing:-.055em;margin:10px 0}.auth-card #authIntro p{color:#888;line-height:1.5;font-size:13px;margin:0 0 20px}.auth-card .notice{font-size:13px}.auth-card .notice.success{margin-bottom:15px}.nav-button{padding:9px 0}.muted{color:#888;font-size:12px}

/* v1.2 — customer account */
.account-page-body{background:#f5f5f1;color:#111}.account-topbar{background:rgba(255,255,255,.88);backdrop-filter:blur(16px)}.account-topbar .nav-current{font-weight:800}.account-shell{max-width:1240px;margin:0 auto;padding:78px 30px 110px}.account-welcome{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:46px}.account-welcome h1{font:800 clamp(52px,7vw,92px)/.88 "Host Grotesk";letter-spacing:-.075em;margin:12px 0 20px}.account-welcome h1 span{color:#858585}.account-welcome p{color:#6f6f6b;font-size:17px;margin:0;max-width:600px}.account-book-button{display:inline-flex;align-items:center;gap:14px;background:#111;color:#fff;text-decoration:none;border-radius:14px;padding:15px 18px;font-weight:800;white-space:nowrap}.account-book-button span{font-size:18px}.account-stats{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px;margin-bottom:18px}.account-stat{min-height:128px;background:#fff;border:1px solid #dfdfda;border-radius:22px;padding:22px;display:flex;flex-direction:column;justify-content:space-between}.account-stat>span,.account-stat>small{color:#8a8a84;font-size:11px}.account-stat>strong{font:800 42px "Host Grotesk";letter-spacing:-.06em}.account-stat-points{background:#111;color:#fff;border-color:#111;flex-direction:row;align-items:center;gap:17px}.account-stat-points span,.account-stat-points small{color:#aaa}.account-stat-points strong{font-size:45px}.stat-icon{width:50px;height:50px;border-radius:16px;background:#272727;display:grid;place-items:center;color:#fff!important;font-size:20px!important;flex:none}.account-tabs{display:flex;gap:6px;align-items:center;overflow:auto;padding:5px;margin:20px 0 16px;background:#e9e9e4;border-radius:16px}.account-tab{border:0;background:transparent;border-radius:11px;padding:12px 15px;font:700 13px "DM Sans";cursor:pointer;white-space:nowrap;color:#666}.account-tab.active{background:#fff;color:#111;box-shadow:0 2px 9px rgba(0,0,0,.06)}.account-tab b{font-size:10px;background:#e9e9e4;padding:3px 6px;border-radius:99px;margin-left:4px}.account-view{min-height:300px}.account-columns{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}.account-panel{background:#fff;border:1px solid #dfdfda;border-radius:24px;padding:25px;margin-bottom:16px}.account-next{min-height:290px}.account-reward{display:flex;align-items:center;gap:25px;background:#111;color:#fff;border-color:#111}.account-reward p{color:#aaa}.account-reward h2{font:800 31px/.95 "Host Grotesk";letter-spacing:-.05em;margin:9px 0}.account-reward .eyebrow{color:#999}.points-orbit{width:132px;height:132px;border:1px solid #3b3b3b;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none}.points-orbit span{font-size:15px;color:#aaa}.points-orbit strong{font:800 34px "Host Grotesk"}.points-orbit small{font-size:10px;color:#999;text-transform:uppercase;letter-spacing:.12em}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.panel-heading h2{font:800 32px/.95 "Host Grotesk";letter-spacing:-.055em;margin:8px 0 0}.panel-heading>a,.panel-heading>button{font-weight:800;color:#111;text-decoration:none}.panel-subtitle{color:#888;font-size:13px;margin:7px 0 0;line-height:1.5}.empty-account{min-height:170px;border:1px dashed #d8d8d2;border-radius:19px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px}.empty-account.compact{min-height:130px}.empty-account h3{font:800 25px "Host Grotesk";letter-spacing:-.04em;margin:9px 0 5px}.empty-account p{color:#888;margin:0 0 17px;font-size:13px}.empty-mark{width:42px;height:42px;border-radius:14px;background:#f0f0eb;display:grid;place-items:center;font-size:21px}.appointment-group{margin-top:22px}.appointment-group>h3{font:800 16px "Host Grotesk";margin:0 0 10px}.appointment-group.history{margin-top:36px}.account-appointment{display:grid;grid-template-columns:78px 1fr auto;gap:18px;align-items:center;padding:16px 0;border-top:1px solid #e7e7e2}.appointment-calendar{width:68px;height:68px;border-radius:18px;background:#f1f1ed;display:flex;flex-direction:column;align-items:center;justify-content:center}.appointment-calendar span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#888;font-weight:800}.appointment-calendar strong{font:800 20px "Host Grotesk"}.appointment-kicker{font-size:10px;text-transform:capitalize;color:#999}.appointment-main h3{font:800 18px "Host Grotesk";margin:5px 0}.appointment-main p{font-size:12px;color:#777;margin:0}.appointment-side{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:9px}.appointment-side>strong{font:800 17px "Host Grotesk"}.status-badge.is-confirmed{background:#e8f5ea;color:#236a31}.status-badge.is-pending{background:#fff1d9;color:#875b16}.status-badge.is-completed{background:#ececf7;color:#444477}.status-badge.is-cancelled{background:#eee;color:#777}.recent-panel .account-appointment:last-child{padding-bottom:2px}.loyalty-layout{display:grid;grid-template-columns:1fr;gap:0}.loyalty-hero{background:#111;color:#fff;border-radius:24px;padding:30px;display:grid;grid-template-columns:250px 1fr;align-items:center;gap:35px;margin-bottom:16px}.points-big{border-right:1px solid #373737;min-height:150px;display:flex;flex-direction:column;justify-content:center}.points-big span{color:#aaa}.points-big strong{font:800 64px/.9 "Host Grotesk";letter-spacing:-.07em;margin:7px 0}.points-big small{color:#999;text-transform:uppercase;letter-spacing:.12em;font-size:9px}.loyalty-hero h2{font:800 40px/.95 "Host Grotesk";letter-spacing:-.06em;margin:9px 0}.loyalty-hero p{color:#aaa;max-width:500px;line-height:1.5}.reward-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.reward-card{border:1px solid #e3e3de;border-radius:18px;padding:18px;background:#fafaf7}.reward-top{display:flex;justify-content:space-between;align-items:center;color:#888}.reward-top span{font-size:15px}.reward-top strong{font:800 13px "Host Grotesk"}.reward-card h3{font:800 20px "Host Grotesk";letter-spacing:-.04em;margin:25px 0 6px}.reward-card p{font-size:12px;color:#777;line-height:1.5;min-height:38px}.reward-state{display:inline-flex;margin-top:8px;padding:7px 10px;border-radius:99px;font-size:10px;font-weight:800}.reward-state.ready{background:#e8f5ea;color:#236a31}.reward-state.locked{background:#ecece8;color:#777}.points-history{display:grid}.point-row{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #e7e7e2;padding:14px 0}.point-row>div{display:flex;flex-direction:column;gap:4px}.point-row small{color:#999;font-size:11px}.point-row>.positive{color:#26703a}.point-row>.negative{color:#777}.profile-panel{max-width:820px}.profile-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.profile-form label{font-size:11px;font-weight:800;color:#555}.profile-form input{display:block;width:100%;box-sizing:border-box;margin-top:7px;border:1px solid #deded9;border-radius:13px;padding:14px;background:#fafaf7;font:inherit;outline:none}.profile-form input:focus{border-color:#111;box-shadow:0 0 0 3px rgba(17,17,17,.05)}.profile-form input:disabled{color:#999;background:#f0f0ec}.profile-email{grid-column:1/-1}.profile-email small{display:block;color:#999;margin-top:6px;font-size:10px;font-weight:500}.profile-actions{grid-column:1/-1;display:flex;align-items:center;gap:15px;margin-top:5px}.profile-actions .button{border:0;cursor:pointer}.save-ok{color:#26703a;font-size:12px;font-weight:800}.save-error{color:#a33;font-size:12px;font-weight:800}.account-loading{min-height:280px;background:#fff;border:1px solid #dfdfda;border-radius:24px;display:flex;align-items:center;justify-content:center;gap:7px;color:#999}.account-loading span{width:7px;height:7px;border-radius:50%;background:#aaa}.account-loading p{margin-left:5px;font-size:13px}
@media(max-width:900px){.account-welcome{align-items:flex-start;flex-direction:column}.account-columns{grid-template-columns:1fr}.loyalty-hero{grid-template-columns:1fr}.points-big{border-right:0;border-bottom:1px solid #373737;padding-bottom:20px;min-height:auto}.reward-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.account-shell{padding:48px 18px 80px}.account-welcome h1{font-size:56px}.account-stats{grid-template-columns:1fr}.account-stat-points{min-height:100px}.account-tabs{margin-left:-2px;margin-right:-2px}.account-panel{padding:18px;border-radius:20px}.panel-heading{align-items:flex-start;flex-direction:column}.account-appointment{grid-template-columns:58px 1fr;gap:12px}.appointment-calendar{width:56px;height:56px;border-radius:15px}.appointment-calendar strong{font-size:17px}.appointment-side{grid-column:2;align-items:flex-start;flex-direction:row;justify-content:space-between}.reward-grid{grid-template-columns:1fr}.profile-form{grid-template-columns:1fr}.profile-email{grid-column:auto}.profile-actions{grid-column:auto;align-items:flex-start;flex-direction:column}.account-book-button{width:100%;justify-content:center}}

/* =========================================================
   v1.9 — UI polish / responsive system
   ========================================================= */
:root{
  --accent:#dfff00;
  --ink:#101112;
  --paper:#f4f4f0;
  --white:#fff;
  --line:#e3e4de;
  --muted:#74766f;
  --shadow-sm:0 8px 24px rgba(16,17,18,.05);
  --shadow-md:0 20px 60px rgba(16,17,18,.08);
  --shadow-lg:0 34px 100px rgba(16,17,18,.10);
}
html,body{max-width:100%;overflow-x:hidden}
body{background:
  radial-gradient(circle at 92% 8%,rgba(223,255,0,.09),transparent 24rem),
  var(--paper);
}
button,a,input{font:inherit}
button{touch-action:manipulation}
.topbar,.admin-top{
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  background:rgba(244,244,240,.84);
  box-shadow:0 1px 0 rgba(16,17,18,.03);
}
.topbar nav,.admin-user{display:flex;align-items:center;gap:10px}
.topbar nav>a:not(.brand),.nav-button{
  padding:10px 13px;
  border-radius:12px;
  transition:background .18s,transform .18s,color .18s;
}
.topbar nav>a:not(.brand):hover,.nav-button:hover{background:#fff;transform:translateY(-1px)}
.nav-current{background:#fff!important;box-shadow:var(--shadow-sm)}
.brand{white-space:nowrap}
.brand-mark{box-shadow:0 6px 18px rgba(0,0,0,.12)}
.hero-shell{padding-top:74px}
.hero-copy h1{max-width:760px}
.hero-cta,.button,.primary{
  box-shadow:0 12px 28px rgba(16,17,18,.12);
  transition:transform .18s,box-shadow .18s,background .18s;
}
.hero-cta:hover,.button:hover,.primary:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 36px rgba(16,17,18,.16);
}
.hero-art{
  box-shadow:var(--shadow-lg);
}
.booking-panel{
  box-shadow:var(--shadow-md);
}
.service-card,.barber-card{
  background:rgba(255,255,255,.78);
  box-shadow:0 1px 0 rgba(16,17,18,.02);
}
.service-card:hover,.barber-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-sm);
}
.service-card.selected,.barber-card.selected{
  box-shadow:0 0 0 2px var(--ink),0 16px 38px rgba(16,17,18,.10);
}
.slot{
  min-height:48px;
  border-radius:14px;
  font-weight:800;
  transition:transform .15s,background .15s,border-color .15s;
}
.slot:hover{transform:translateY(-2px)}
.slot.selected{box-shadow:0 10px 24px rgba(16,17,18,.14)}
/* Admin */
.admin-page{min-height:100vh}
.admin-top{height:74px;padding-left:clamp(18px,4vw,48px);padding-right:clamp(18px,4vw,48px)}
.admin-user{gap:8px}
.admin-context{
  display:inline-flex;align-items:center;gap:7px;
  color:#676961;font-size:12px;font-weight:700;
  padding:9px 11px;border:1px solid var(--line);
  background:rgba(255,255,255,.7);border-radius:999px;
}
.admin-context i{width:7px;height:7px;border-radius:50%;background:#8bc34a;box-shadow:0 0 0 4px rgba(139,195,74,.12)}
.admin-public-link{
  color:var(--ink);text-decoration:none;font-size:12px;font-weight:800;
  padding:10px 12px;border-radius:12px;
}
.admin-public-link:hover{background:#fff}
.logout-button{color:#555!important}
.admin-shell{
  max-width:1440px;
  padding:42px clamp(18px,4vw,54px) 110px;
}
.admin-hero{
  position:relative;
  overflow:hidden;
  padding:34px 36px;
  min-height:220px;
  border:1px solid var(--line);
  border-radius:30px;
  background:
    radial-gradient(circle at 88% 12%,rgba(223,255,0,.22),transparent 17rem),
    linear-gradient(135deg,#fff 0%,#f8f8f4 60%,#f0f0eb 100%);
  box-shadow:var(--shadow-sm);
  align-items:flex-end;
}
.admin-hero:after{
  content:"";
  position:absolute;
  width:220px;height:220px;border:1px solid rgba(16,17,18,.08);
  border-radius:50%;right:-50px;bottom:-120px;
  pointer-events:none;
}
.admin-hero h1{
  font-size:clamp(48px,6vw,76px);
  margin:11px 0 16px;
  position:relative;z-index:1;
}
.admin-hero p{font-size:14px;max-width:560px;line-height:1.55;position:relative;z-index:1}
.admin-hero .button{position:relative;z-index:2}
.admin-grid{
  gap:12px;
  margin-top:16px;
  margin-bottom:18px;
}
.metric{
  min-height:128px;
  padding:21px 22px;
  border-radius:22px;
  box-shadow:var(--shadow-sm);
  position:relative;
  overflow:hidden;
  transition:transform .18s,box-shadow .18s;
}
.metric:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.metric:after{
  content:"";
  position:absolute;right:-22px;bottom:-38px;width:100px;height:100px;
  border-radius:50%;background:rgba(223,255,0,.16);
}
.metric strong{font-size:44px;position:relative;z-index:1}
.metric .label{position:relative;z-index:1}
.admin-columns{gap:16px}
.admin-card{
  border-radius:26px;
  padding:26px;
  box-shadow:var(--shadow-sm);
  transition:box-shadow .2s;
}
.admin-card:hover{box-shadow:var(--shadow-md)}
.admin-card h2{font-size:31px}
.section-bar{margin-bottom:20px}
.section-bar .muted{font-size:11px;background:#f2f2ed;border-radius:999px;padding:9px 11px;white-space:nowrap}
.day-picker{gap:8px}
.day-pill{
  min-width:76px;
  border-radius:16px;
  padding:11px 12px;
  transition:transform .15s,background .15s;
}
.day-pill:hover{transform:translateY(-2px)}
.day-pill.selected{box-shadow:0 10px 22px rgba(16,17,18,.14)}
.block-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.block-box{
  min-height:72px;
  border-radius:16px;
  transition:transform .15s,border-color .15s,background .15s;
}
.block-option:hover .block-box{transform:translateY(-2px)}
.block-option input:checked+.block-box{box-shadow:0 9px 22px rgba(16,17,18,.13)}
.schedule-selected{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  margin:4px 0 14px;padding:12px 14px;
  border-radius:14px;background:#f5f5f0;border:1px solid var(--line);
}
.schedule-selected strong{text-transform:capitalize;font-size:14px}
.schedule-selected span{font-size:11px;color:#888}
.admin-note{border:1px solid #e5e5df}
.modalish{background:#f7f7f3;border-radius:20px}
.admin-form input,.admin-form select{
  min-height:46px;
  border:1px solid #dcded8;
  border-radius:13px;
  background:#fff;
  transition:border-color .15s,box-shadow .15s;
}
.admin-form input:focus,.admin-form select:focus{
  border-color:#111;box-shadow:0 0 0 4px rgba(16,17,18,.06);
}
.mini-table{border:1px solid var(--line);border-radius:16px;overflow:hidden;display:table}
.mini-table tbody tr:hover{background:#fafaf7}
/* Account */
.account-page-body{background:
  radial-gradient(circle at 88% 12%,rgba(223,255,0,.10),transparent 22rem),
  var(--paper);
}
.account-topbar nav{gap:6px}
.account-welcome{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:30px;
  padding:34px;
  background:linear-gradient(135deg,#fff,#f4f4ef);
  box-shadow:var(--shadow-sm);
}
.account-welcome:after{
  content:"";
  position:absolute;right:-90px;top:-100px;width:260px;height:260px;
  border-radius:50%;background:var(--accent);filter:blur(35px);opacity:.28;
}
.account-welcome>*{position:relative;z-index:1}
.account-welcome h1{font-size:clamp(52px,7vw,92px)}
.account-book-button{
  border-radius:15px;
  box-shadow:0 12px 26px rgba(16,17,18,.12);
  transition:transform .18s,box-shadow .18s;
}
.account-book-button:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(16,17,18,.15)}
.account-stat,.account-panel{
  box-shadow:var(--shadow-sm);
  transition:transform .18s,box-shadow .18s;
}
.account-stat:hover,.account-panel:hover{box-shadow:var(--shadow-md)}
.account-tabs{
  padding:5px;
  background:#eaeae5;
  border:1px solid #deded8;
  border-radius:17px;
}
.account-tab{border-radius:12px}
.account-tab.active{box-shadow:0 7px 18px rgba(16,17,18,.08)}
/* Auth */
.auth-page{background:
  radial-gradient(circle at 80% 15%,rgba(223,255,0,.14),transparent 22rem),
  var(--paper);
}
.auth-card,.auth-aside,.auth-panel{
  box-shadow:var(--shadow-lg);
}
/* Footer */
.site-footer{border-top-color:var(--line)}
/* Better touch targets */
@media(max-width:900px){
  .admin-hero{align-items:flex-start;flex-direction:column;min-height:0}
  .admin-hero .button{align-self:stretch;justify-content:center}
  .admin-grid{grid-template-columns:repeat(2,1fr)}
  .block-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:680px){
  .topbar,.admin-top{height:64px;padding-left:15px;padding-right:15px}
  .brand{font-size:13px;gap:8px}
  .brand-mark{width:31px;height:31px;border-radius:10px}
  .topbar nav{gap:2px}
  .topbar nav>a:not(.brand),.nav-button{padding:8px 9px;font-size:11px}
  .admin-context,.admin-public-link{display:none}
  .admin-user{gap:2px}
  .admin-shell{padding:20px 14px 80px}
  .admin-hero{padding:24px 20px;border-radius:23px}
  .admin-hero h1{font-size:52px}
  .admin-grid{grid-template-columns:1fr 1fr;gap:9px}
  .metric{min-height:105px;padding:16px}
  .metric strong{font-size:34px;margin-top:9px}
  .admin-card{padding:18px;border-radius:21px}
  .admin-card h2{font-size:26px}
  .section-bar{align-items:flex-start;flex-direction:column}
  .section-bar .muted{white-space:normal}
  .block-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .block-box{min-height:68px}
  .account-welcome{padding:23px;border-radius:23px}
  .account-welcome h1{font-size:54px}
}
@media(max-width:430px){
  .topbar nav>a:not(.brand){font-size:10px}
  .topbar nav>a[href="#reservar"]{display:none}
  .admin-grid{grid-template-columns:1fr 1fr}
  .metric .label{font-size:9px}
  .metric strong{font-size:31px}
  .block-grid{grid-template-columns:1fr 1fr}
}
/* ===== v2.0 product UI ===== */
:root{--accent:#dfff00;--ink:#111;--paper:#f4f4f0;--line:#e5e5df;--muted:#777a74;--shadow-sm:0 10px 35px rgba(17,17,17,.05);--shadow-md:0 18px 55px rgba(17,17,17,.08);--shadow-lg:0 30px 90px rgba(17,17,17,.1)}
button,a,input,select,textarea{font-family:inherit}.ui-icon{width:18px;height:18px;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.button,.primary,.ghost,.text-button,.text-link,.account-tab,.side-link,.nav-item{display:inline-flex;align-items:center;justify-content:center;gap:9px}.button .ui-icon,.primary .ui-icon,.ghost .ui-icon{width:17px;height:17px}
/* Booking */
.service-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff,#fafaf7);padding:25px;border-radius:24px}.service-card:after{content:"";position:absolute;right:-60px;bottom:-75px;width:170px;height:170px;border-radius:50%;background:rgba(223,255,0,.12);transition:.25s}.service-card:hover:after{transform:scale(1.25)}.service-card-head{display:flex;align-items:center;gap:10px}.service-icon{width:38px;height:38px;border-radius:12px;background:#f0f0eb;display:grid;place-items:center}.service-icon .ui-icon{width:18px}.service-card h3{font-size:27px;margin:15px 0 8px;position:relative;z-index:1}.service-card p{position:relative;z-index:1}.service-bottom{position:relative;z-index:2}.service-bottom>div{display:flex;flex-direction:column;gap:6px}.points-hint{display:inline-flex;align-items:center;gap:5px;color:#2d6b34;font-weight:800;font-size:11px}.points-hint .ui-icon{width:13px;height:13px}.choose-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#f0f0eb;padding:9px 11px;font-size:11px}.choose-chip .ui-icon{width:13px}.summary-card span{display:flex;align-items:center;gap:6px}.summary-card span .ui-icon{width:14px;height:14px}.points-callout{display:flex;align-items:center;gap:15px;margin-top:16px;padding:17px 18px;border:1px solid #cfe4c7;background:#f0f8ed;border-radius:18px}.points-callout-icon{width:42px;height:42px;border-radius:13px;background:#dfff00;display:grid;place-items:center}.points-callout strong{font-size:16px}.points-callout p{margin:3px 0 0;color:#5f685d;font-size:13px}.login-needed{display:flex;gap:16px;align-items:flex-start}.login-icon{width:44px;height:44px;border-radius:14px;background:#fff;display:grid;place-items:center;flex:none}.notice.success{display:flex;align-items:center;gap:8px}
/* Account */
.account-welcome{display:flex;justify-content:space-between;align-items:center;gap:30px}.account-welcome p strong{color:var(--ink)}.account-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.account-stat{min-height:112px;border:1px solid var(--line);border-radius:22px;background:#fff;padding:18px;display:flex;align-items:center;gap:14px}.stat-icon{width:46px;height:46px;border-radius:15px;background:#111;color:var(--accent);display:grid;place-items:center;flex:none}.stat-icon.soft{background:#efefea;color:#111}.account-stat span{display:block;color:#74766f;font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:800}.account-stat strong{display:block;font:700 31px/1 "Host Grotesk";letter-spacing:-.06em;margin:5px 0}.account-stat small{color:#92938d;font-size:11px}.account-tabs{display:flex;gap:4px;flex-wrap:wrap}.account-tab{border:0;padding:12px 15px;color:#676963;background:transparent;font-weight:800;cursor:pointer}.account-tab .ui-icon{width:15px}.account-tab.active{background:#fff;color:#111}.account-tab b{font-size:10px;background:#ededE8;padding:3px 6px;border-radius:999px}.account-reward{display:flex;align-items:center;gap:24px}.points-orbit{width:132px;height:132px;border-radius:50%;border:1px solid #3e3e3e;background:#171717;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none}.points-orbit span{color:var(--accent)}.points-orbit strong{font:700 40px/1 "Host Grotesk"}.points-orbit small{text-transform:uppercase;letter-spacing:.12em;color:#aaa;font-size:8px;margin-top:5px}.empty-mark{width:56px;height:56px;border-radius:17px;background:#efefea;display:grid;place-items:center;margin:0 auto 12px}.empty-mark .ui-icon{width:24px}.reward-card{position:relative;overflow:hidden}.reward-top{display:flex;align-items:center;justify-content:space-between}.reward-top>span{width:38px;height:38px;border-radius:12px;background:#f0f0eb;display:grid;place-items:center}.reward-progress{height:5px;border-radius:99px;background:#ecece7;margin:17px 0 7px;overflow:hidden}.reward-progress span{display:block;height:100%;background:#111;border-radius:99px}.points-history>div{display:grid;grid-template-columns:38px 100px 1fr auto;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.points-history>div>span{width:32px;height:32px;border-radius:50%;background:#edf6e9;color:#2c6c32;display:grid;place-items:center;font-weight:900}.points-history p{margin:0;color:#666}.points-history small{color:#999}.profile-form{max-width:620px;display:grid;gap:16px}.profile-form label,.modern-form label{display:grid;gap:7px;color:#575a54;font-size:12px;font-weight:800}.profile-form input,.modern-form input,.modern-form select,.modern-form textarea{width:100%;border:1px solid #dcded8;border-radius:14px;background:#fff;padding:13px 14px;font-size:14px;outline:none;resize:vertical}.profile-form input:focus,.modern-form input:focus,.modern-form select:focus,.modern-form textarea:focus{border-color:#111;box-shadow:0 0 0 4px rgba(17,17,17,.05)}
/* Admin app */
.admin-page{background:#f3f3ef}.admin-top{display:none}.admin-app{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.admin-sidebar{position:sticky;top:0;height:100vh;background:#111;color:#fff;padding:24px 15px;display:flex;flex-direction:column;z-index:30}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:3px 10px 25px}.sidebar-brand .brand-mark{background:#fff;color:#111}.sidebar-brand div{display:flex;flex-direction:column}.sidebar-brand strong{font-size:13px;letter-spacing:-.03em}.sidebar-brand span:not(.brand-mark){font-size:8px;letter-spacing:.16em;color:#8d8d88;margin-top:2px}.sidebar-business{border:1px solid #292929;background:#181818;border-radius:17px;padding:13px 14px;margin-bottom:18px}.sidebar-business>span{font-size:8px;letter-spacing:.16em;color:#7e7e79}.sidebar-business strong{display:block;font-size:13px;margin:5px 0}.sidebar-business small{color:#777;font-size:10px}.admin-nav{display:grid;gap:4px}.nav-item{width:100%;border:0;background:transparent;color:#a6a6a1;justify-content:flex-start;padding:12px 12px;border-radius:13px;cursor:pointer;font-weight:700}.nav-item span{width:30px;height:30px;border-radius:10px;display:grid;place-items:center}.nav-item.active{background:#fff;color:#111}.nav-item.active span{background:#dfff00}.sidebar-bottom{margin-top:auto;display:grid;gap:5px}.side-link{border:0;background:transparent;color:#999;text-decoration:none;justify-content:flex-start;padding:11px 12px;border-radius:12px;cursor:pointer;font-size:12px}.side-link:hover{background:#1d1d1d;color:#fff}.admin-main{min-width:0}.admin-content{max-width:1480px;margin:auto;padding:32px clamp(18px,4vw,55px) 90px}.admin-mobilebar{display:none}.view-top{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.view-top h1{font:700 clamp(40px,5vw,68px)/.92 "Host Grotesk";letter-spacing:-.07em;margin:10px 0 0}.view-badge{border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:999px;font-size:11px;font-weight:800;color:#777}.dashboard-hero{min-height:330px;border:1px solid var(--line);border-radius:32px;background:linear-gradient(135deg,#fff 0%,#f8f8f3 60%,#ecece5 100%);padding:40px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative;box-shadow:var(--shadow-sm)}.dashboard-hero h1{font:700 clamp(58px,7vw,94px)/.84 "Host Grotesk";letter-spacing:-.08em;margin:14px 0 18px}.dashboard-hero h1 span{color:#74766f}.dashboard-hero p{max-width:560px;color:#70736c;line-height:1.55}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.hero-orb{width:280px;height:280px;border-radius:50%;background:#111;display:grid;place-items:center;flex:none;position:relative;margin-right:35px;box-shadow:0 30px 80px rgba(0,0,0,.15)}.hero-orb:before,.hero-orb:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.15);border-radius:50%;width:340px;height:130px;transform:rotate(-22deg)}.hero-orb:after{transform:rotate(62deg);width:210px;height:350px}.hero-orb>div{position:relative;z-index:2;width:125px;height:125px;border-radius:50%;background:#fff;color:#111;display:flex;flex-direction:column;align-items:center;justify-content:center}.hero-orb .ui-icon{color:#111}.hero-orb strong{font:800 32px "Host Grotesk";letter-spacing:-.08em}.hero-orb small{text-align:center;font-size:7px;letter-spacing:.18em;color:#777}.metrics-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:15px 0}.metric-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;display:flex;align-items:center;gap:13px;min-height:108px}.metric-icon{width:44px;height:44px;border-radius:14px;background:#efefea;display:grid;place-items:center;flex:none}.metric-card span{display:block;color:#7a7c75;font-size:9px;text-transform:uppercase;letter-spacing:.13em;font-weight:800}.metric-card strong{display:block;font:700 34px/1 "Host Grotesk";letter-spacing:-.06em;margin:5px 0}.metric-card small{color:#999;font-size:10px}.home-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:15px}.panel-card{background:#fff;border:1px solid var(--line);border-radius:27px;padding:25px;box-shadow:var(--shadow-sm)}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:20px}.panel-head h2{font:700 31px/1 "Host Grotesk";letter-spacing:-.055em;margin:7px 0}.panel-head p{margin:0;color:#777;font-size:13px;line-height:1.5}.text-link{border:0;background:transparent;color:#111;font-weight:800;cursor:pointer;padding:7px}.appointment-row{display:grid;grid-template-columns:86px 1fr auto auto;align-items:center;gap:14px;padding:13px 0;border-top:1px solid var(--line)}.time-chip{border-radius:14px;background:#f0f0eb;padding:9px 10px;text-align:center}.time-chip strong{display:block;font:700 17px "Host Grotesk"}.time-chip span{display:block;font-size:9px;color:#777;text-transform:uppercase}.appointment-info strong{display:block;font-size:14px}.appointment-info span{color:#777;font-size:11px}.appointment-status{font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;padding:7px 9px;border-radius:99px;background:#edf6e9;color:#32723b}.appointment-status.cancelled{background:#ffeceb;color:#a4312a}.appointment-actions{display:flex;gap:5px}.appointment-actions button{width:32px;height:32px;border:1px solid var(--line);background:#fff;border-radius:10px;cursor:pointer;display:grid;place-items:center}.quick-panel{background:#111;color:#fff}.quick-panel .eyebrow{color:#888}.quick-panel h2{color:#fff}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-grid button{min-height:125px;border:1px solid #292929;background:#181818;border-radius:17px;color:#fff;text-align:left;padding:15px;cursor:pointer}.quick-grid button:hover{border-color:#555;transform:translateY(-1px)}.quick-grid .ui-icon{color:var(--accent);margin-bottom:20px}.quick-grid strong,.quick-grid small{display:block}.quick-grid strong{font-size:12px}.quick-grid small{color:#888;font-size:10px;margin-top:5px}.empty-state{text-align:center;padding:45px 20px;color:#777}.empty-state .empty-icon{width:54px;height:54px;border-radius:17px;background:#f0f0eb;display:grid;place-items:center;margin:0 auto 12px;color:#111}.empty-state strong{display:block;color:#222}.empty-state p{font-size:12px;margin:5px 0}
/* Agenda */
.agenda-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center}.agenda-toolbar h2{font:700 38px "Host Grotesk";letter-spacing:-.06em;margin:8px 0}.agenda-toolbar p{color:#777;max-width:680px}.date-jump{display:flex;align-items:center;gap:8px;background:#f1f1ec;border:1px solid var(--line);border-radius:17px;padding:5px}.date-jump button{width:38px;height:38px;border:0;border-radius:12px;background:#fff;cursor:pointer}.date-jump div{min-width:125px;text-align:center}.date-jump span{display:block;font-size:9px;text-transform:uppercase;color:#888}.date-jump strong{font-size:12px}.day-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:25px 0 18px}.day-pill{border:1px solid var(--line);background:#fafaf7;border-radius:15px;padding:12px;cursor:pointer}.day-pill span{display:block;font-size:9px;text-transform:uppercase;color:#888}.day-pill strong{display:block;font:700 22px "Host Grotesk";margin-top:4px}.day-pill.selected{background:#111;color:#fff;border-color:#111}.day-pill.selected span{color:#aaa}.schedule-summary{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;background:#f4f4ef;border-radius:16px;margin-bottom:12px}.schedule-summary span{display:flex;gap:7px;align-items:center;font-size:12px;font-weight:800;text-transform:capitalize}.schedule-summary strong{font-size:12px}.schedule-summary p{margin:0;color:#777;font-size:10px}.block-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.block-option input{position:absolute;opacity:0;pointer-events:none}.block-box{min-height:78px;border:1px solid var(--line);border-radius:16px;background:#fafaf7;padding:12px;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;transition:.16s}.block-box strong{font:700 18px "Host Grotesk"}.block-box small{color:#888;font-size:10px}.block-box i{font-style:normal;color:#111;align-self:flex-end}.block-option input:checked+.block-box{background:#111;color:#fff;border-color:#111;box-shadow:0 12px 25px rgba(0,0,0,.1)}.block-option input:checked+.block-box small{color:#aaa}.agenda-settings{margin-top:15px}.hours-editor{display:grid;gap:8px}.hour-row{display:grid;grid-template-columns:180px 52px 1fr 18px 1fr;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:15px;background:#fafaf7}.day-name{display:flex;align-items:center;gap:10px}.day-name span{width:30px;height:30px;border-radius:9px;background:#111;color:#fff;display:grid;place-items:center;font-size:8px;font-weight:900}.day-name strong{font-size:12px}.time-input{border:1px solid #ddd;background:#fff;border-radius:11px;padding:9px}.to{text-align:center;color:#999}
/* Services / customers / settings */
.service-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.service-admin-card{display:grid;grid-template-columns:50px 1fr auto;gap:14px;padding:18px;border:1px solid var(--line);border-radius:20px;background:#fafaf7}.service-admin-card.inactive{opacity:.55}.service-admin-icon{width:50px;height:50px;border-radius:15px;background:#111;color:#fff;display:grid;place-items:center}.service-admin-top{display:flex;gap:7px;align-items:center}.service-admin-top span{font-size:8px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#32723b}.service-admin-top small{color:#999;font-size:9px}.service-admin-main h3{font:700 22px "Host Grotesk";margin:6px 0 5px}.service-admin-main p{font-size:11px;color:#777;margin:0 0 13px}.service-prices{display:flex;gap:12px;align-items:center}.service-prices strong{font:700 19px "Host Grotesk"}.service-prices span{font-size:10px;color:#777}.service-admin-actions{display:flex;gap:5px}.service-admin-actions button,.reward-actions button{width:34px;height:34px;border:1px solid var(--line);background:#fff;border-radius:10px;cursor:pointer;display:grid;place-items:center}.tip-card{margin-top:15px;border:1px dashed #d7d7d0;background:#f8f8f3;border-radius:17px;padding:14px;display:flex;gap:12px;align-items:flex-start}.tip-card>.ui-icon{margin-top:2px}.tip-card p{margin:3px 0 0;color:#777;font-size:11px;line-height:1.5}.customer-list{display:grid}.customer-row{display:grid;grid-template-columns:48px 1.2fr 80px 1fr;align-items:center;gap:14px;padding:13px 0;border-top:1px solid var(--line)}.customer-avatar{width:42px;height:42px;border-radius:14px;background:#111;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:900}.customer-row strong,.customer-row span{display:block}.customer-row>div:nth-child(2) span,.customer-mail{color:#888;font-size:10px;margin-top:3px}.customer-count{text-align:center}.customer-count strong{font:700 20px "Host Grotesk"}.customer-count span{font-size:8px;text-transform:uppercase;letter-spacing:.1em}.settings-grid,.config-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.settings-grid .panel-card:last-child{grid-column:1/-1}.modern-form{display:grid;gap:14px}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.full-btn{width:100%;margin-top:3px}.setting-big-row{display:flex;align-items:center;gap:14px}.setting-big-icon{width:50px;height:50px;border-radius:15px;background:#111;color:var(--accent);display:grid;place-items:center}.setting-big-row>div:nth-child(2){flex:1}.setting-big-row strong{font-size:14px}.setting-big-row p{margin:4px 0 0;color:#777;font-size:11px}.big-switch{display:flex;align-items:center;gap:8px;cursor:pointer}.big-switch input{display:none}.big-switch span{width:48px;height:28px;border-radius:99px;background:#d9d9d4;position:relative;display:block}.big-switch span:after{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:#fff;left:3px;top:3px;transition:.18s;box-shadow:0 2px 6px rgba(0,0,0,.12)}.big-switch input:checked+span{background:#111}.big-switch input:checked+span:after{transform:translateX(20px);background:var(--accent)}.big-switch b{font-size:10px;color:#777}.loyalty-config-hero{background:#111;color:#fff;border-radius:27px;padding:28px;display:flex;align-items:center;gap:18px;margin-bottom:15px}.loyalty-symbol{width:64px;height:64px;border-radius:20px;background:var(--accent);color:#111;display:grid;place-items:center}.loyalty-config-hero h2{font:700 36px "Host Grotesk";letter-spacing:-.06em;margin:5px 0}.loyalty-config-hero p{color:#aaa;max-width:650px;font-size:12px;line-height:1.5;margin:0}.loyalty-config-hero .big-switch{margin-left:auto}.loyalty-config-hero .eyebrow{color:#888}.points-rule{display:flex;gap:15px;align-items:center;margin:20px 0}.rule-input{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:15px;padding:4px;background:#fafaf7}.rule-input input{width:90px;border:0;background:transparent;padding:12px;font:700 25px "Host Grotesk";outline:none}.rule-input span{font-size:10px;color:#888;padding-right:8px}.points-rule strong{font-size:14px}.points-rule p{font-size:10px;color:#888;margin:4px 0}.preview-card{background:#f8f8f3}.loyalty-preview{margin-top:20px;border:1px solid #ddd;background:#fff;border-radius:18px;padding:18px}.loyalty-preview>div{width:40px;height:40px;border-radius:12px;background:#111;color:var(--accent);display:grid;place-items:center;margin-bottom:20px}.loyalty-preview strong,.loyalty-preview span{display:block}.loyalty-preview strong{font:700 21px "Host Grotesk"}.loyalty-preview span{font-size:11px;color:#888;margin-top:5px}.reward-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reward-admin-card{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:14px;background:#fafaf7}.reward-admin-card.inactive{opacity:.55}.reward-admin-icon{width:44px;height:44px;border-radius:13px;background:#111;color:var(--accent);display:grid;place-items:center}.reward-admin-card>div:nth-child(2)>span{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#32723b;font-weight:900}.reward-admin-card h3{margin:4px 0;font-size:14px}.reward-admin-card p{margin:0;color:#888;font-size:10px}.reward-admin-card>strong{font:700 18px "Host Grotesk";white-space:nowrap}.reward-actions{display:flex;gap:5px}.reward-actions button{font-size:9px;font-weight:800}.reward-actions button:first-child{width:auto;padding:0 8px}.modal-overlay{position:fixed;inset:0;background:rgba(10,10,10,.48);backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px;z-index:100}.modal-overlay.hidden{display:none}.modal-card{width:min(560px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:26px;padding:28px;position:relative;box-shadow:0 40px 100px rgba(0,0,0,.2)}.modal-close{position:absolute;right:16px;top:16px;width:34px;height:34px;border:0;border-radius:50%;background:#f0f0eb;font-size:22px;cursor:pointer}.modal-card h2{font:700 38px "Host Grotesk";letter-spacing:-.06em;margin:8px 0 22px}.modal-card .eyebrow{margin-top:3px}
@media(max-width:1050px){.admin-app{grid-template-columns:220px 1fr}.hero-orb{width:220px;height:220px;margin-right:0}.service-admin-grid,.reward-admin-grid,.home-grid,.config-grid{grid-template-columns:1fr}.metrics-row{grid-template-columns:repeat(2,1fr)}.block-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){.admin-app{display:block}.admin-sidebar{position:fixed;left:-280px;width:260px;transition:left .2s;box-shadow:20px 0 50px rgba(0,0,0,.2)}.admin-sidebar.open{left:0}.admin-mobilebar{height:64px;background:#111;color:#fff;display:grid;grid-template-columns:40px 1fr 40px;align-items:center;padding:0 15px;position:sticky;top:0;z-index:20}.admin-mobilebar strong{text-align:center;font-size:12px}.icon-button{width:38px;height:38px;border:0;background:#222;color:#fff;border-radius:11px}.dashboard-hero{padding:28px;min-height:0}.hero-orb{display:none}.appointment-row{grid-template-columns:75px 1fr auto}.appointment-actions{grid-column:2/-1}.appointment-status{display:none}.block-grid{grid-template-columns:repeat(3,1fr)}.hour-row{grid-template-columns:1fr 50px 1fr 15px 1fr}.account-welcome{align-items:flex-start;flex-direction:column}.account-stats{grid-template-columns:1fr}.account-reward{align-items:flex-start;flex-direction:column}.settings-grid{grid-template-columns:1fr}.loyalty-config-hero{align-items:flex-start;flex-wrap:wrap}.loyalty-config-hero .big-switch{margin-left:0}.points-history>div{grid-template-columns:36px 70px 1fr}.points-history small{display:none}}
@media(max-width:560px){.admin-content{padding:22px 13px 60px}.view-top{align-items:flex-start;flex-direction:column}.view-badge{display:none}.dashboard-hero h1{font-size:55px}.metrics-row{grid-template-columns:1fr 1fr;gap:8px}.metric-card{padding:14px;min-height:94px}.metric-icon{width:38px;height:38px}.metric-card strong{font-size:27px}.panel-card{padding:18px;border-radius:21px}.panel-head{flex-direction:column}.day-strip{grid-template-columns:repeat(4,1fr)}.day-strip .day-pill:nth-child(n+5){display:none}.block-grid{grid-template-columns:repeat(2,1fr)}.hour-row{grid-template-columns:1fr 42px;gap:8px}.hour-row .time-input,.hour-row .to{grid-column:1/2}.hour-row .to{display:none}.customer-row{grid-template-columns:42px 1fr 55px}.customer-mail{display:none}.form-two{grid-template-columns:1fr}.service-admin-card{grid-template-columns:42px 1fr}.service-admin-icon{width:42px;height:42px}.service-admin-actions{grid-column:2}.reward-admin-card{grid-template-columns:42px 1fr}.reward-admin-card>strong{grid-column:2}.reward-actions{grid-column:2}.account-tabs{overflow:auto;flex-wrap:nowrap}.account-tab{white-space:nowrap}.account-appointment{grid-template-columns:56px 1fr}.appointment-side{grid-column:2;display:flex;justify-content:space-between}.points-callout{align-items:flex-start}.summary-card{grid-template-columns:1fr}.summary-total{grid-column:1}.login-needed{flex-direction:column}.account-welcome h1{font-size:54px}}

/* v2.1 — recommendations + notification settings */
.combo-upsell{margin-top:28px;padding:22px;border:1px solid rgba(15,15,15,.08);border-radius:24px;background:linear-gradient(135deg,#fff 0%,#f7f7f3 100%);box-shadow:0 14px 40px rgba(0,0,0,.05)}
.combo-upsell-head{display:flex;gap:14px;align-items:flex-start}.combo-spark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#111;color:#e8ff00;font-size:22px;flex:0 0 auto}.combo-upsell h3{margin:3px 0 4px;font-size:22px}.combo-upsell p{margin:0;color:#707070;line-height:1.5}.combo-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.combo-option{display:grid;grid-template-columns:32px 42px 1fr auto;align-items:center;gap:10px;text-align:left;padding:13px;border:1px solid #deded8;background:#fff;border-radius:16px;cursor:pointer;transition:.2s}.combo-option:hover{transform:translateY(-1px);border-color:#111;box-shadow:0 8px 20px rgba(0,0,0,.06)}.combo-option.selected{border-color:#111;background:#111;color:#fff}.combo-check{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1px solid #bbb;font-weight:700}.combo-option.selected .combo-check{background:#e8ff00;color:#111;border-color:#e8ff00}.combo-icon{width:42px;height:42px;border-radius:12px;background:#f2f2ed;display:grid;place-items:center}.combo-option.selected .combo-icon{background:#292929}.combo-info{display:grid;gap:3px}.combo-info strong{font-size:15px}.combo-info small{color:#777;line-height:1.35}.combo-option.selected .combo-info small{color:#bbb}.combo-price{white-space:nowrap}.combo-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid #e4e4df}.combo-footer>div{display:grid;gap:3px}.combo-footer small{color:#777}.combo-footer strong{font-size:24px}.combo-footer span{display:flex;gap:5px;align-items:center;color:#3e6514;font-size:13px;font-weight:700}.combo-empty{display:flex;gap:12px;align-items:center;margin-top:18px;padding:16px;border:1px dashed #d7d7d0;border-radius:16px;color:#777}.combo-empty>span{width:40px;height:40px;border-radius:12px;background:#f0f0ea;display:grid;place-items:center;color:#111}.summary-addons{padding-top:14px;margin-top:14px;border-top:1px solid #eee;display:flex!important;justify-content:space-between;gap:16px}.summary-addons span{display:flex;align-items:center;gap:6px}.status-dot{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700}.status-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:#aaa}.status-dot.on:before{background:#76a900;box-shadow:0 0 0 4px rgba(118,169,0,.12)}
.combo-admin-section{margin-top:22px}.combo-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.combo-admin-card{border:1px solid #e4e4df;border-radius:20px;padding:18px;background:#fff}.combo-admin-card.inactive{opacity:.62}.combo-admin-route{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.combo-admin-route>span{width:32px;height:32px;border-radius:10px;background:#f1f1ec;display:grid;place-items:center}.combo-admin-route>b{color:#999}.combo-admin-card p{color:#707070;line-height:1.5}.combo-admin-bottom{display:flex;align-items:center;gap:10px;border-top:1px solid #eee;padding-top:13px}.combo-admin-bottom strong{margin-right:auto}.combo-admin-bottom button{border:0;background:#f3f3ee;border-radius:10px;padding:8px 10px;cursor:pointer}.settings-toggle-list{display:grid;gap:4px;margin-bottom:14px}.setting-toggle{display:flex!important;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid #eee;cursor:pointer}.setting-toggle span{display:grid;gap:3px;flex:1}.setting-toggle small{color:#777}.setting-toggle input{position:absolute;opacity:0;pointer-events:none}.setting-toggle i{width:46px;height:26px;border-radius:20px;background:#d7d7d2;position:relative;transition:.2s}.setting-toggle i:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.15);transition:.2s}.setting-toggle input:checked+i{background:#111}.setting-toggle input:checked+i:after{transform:translateX(20px);background:#e8ff00}.modal-help{color:#777!important;margin-top:-8px!important;margin-bottom:18px!important}
@media(max-width:800px){.combo-options,.combo-admin-grid{grid-template-columns:1fr}.combo-footer{align-items:stretch;flex-direction:column}.combo-footer .primary{width:100%}.combo-option{grid-template-columns:30px 38px 1fr}.combo-price{grid-column:3;margin-top:4px}.combo-admin-bottom{flex-wrap:wrap}.combo-admin-bottom strong{width:100%}}


/* ===== v2.2 — public experience polish ===== */
.home-v22{background:radial-gradient(circle at 88% 8%,rgba(223,255,0,.10),transparent 28%),var(--paper);color:var(--ink)}
.home-topbar{backdrop-filter:blur(18px);background:rgba(244,244,240,.82);border-bottom:1px solid rgba(17,17,17,.06);position:sticky;top:0;z-index:50}
.home-hero{min-height:650px;align-items:center;background:linear-gradient(135deg,#fff 0%,#f8f8f3 62%,#eef1e4 100%);box-shadow:0 24px 80px rgba(17,17,17,.06)}
.home-hero .hero-copy{padding:clamp(28px,5vw,72px)}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px}.hero-eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:#9bc000;box-shadow:0 0 0 5px rgba(155,192,0,.12)}
.home-hero .hero-copy h1{font-size:clamp(62px,8vw,112px);line-height:.84;letter-spacing:-.085em;margin:18px 0 24px}.home-hero .hero-copy h1 span{color:#777a74}.home-hero .hero-copy p{font-size:17px;line-height:1.55;max-width:610px;color:#676a64}
.hero-actions-home{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:30px}.hero-micro{display:inline-flex;align-items:center;gap:8px;color:#686b64;font-size:12px;font-weight:700}.hero-micro i{width:8px;height:8px;border-radius:50%;background:#a8c800;box-shadow:0 0 0 5px rgba(168,200,0,.12)}
.hero-trust{display:flex;align-items:center;gap:10px;margin-top:32px;padding-top:20px;border-top:1px solid rgba(17,17,17,.08);max-width:390px}.hero-trust-icon{width:34px;height:34px;border-radius:11px;background:#111;color:#dfff00;display:grid;place-items:center}.hero-trust strong{font-size:12px}.hero-trust small{color:#888;font-size:11px}
.home-hero-art{min-height:560px;margin:20px;overflow:visible}.home-hero-art .art-center{width:190px;height:190px}.home-hero-art .art-center strong{font-size:34px}.home-hero-art .art-note{bottom:40px;right:25px;display:grid;gap:3px}.home-hero-art .art-note span{font-size:8px;letter-spacing:.15em;color:#8b8c87}.home-hero-art .art-note b{font-size:12px}.home-hero-art .art-note strong{font:700 22px "Host Grotesk";letter-spacing:-.04em}.art-floating{position:absolute;display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(17,17,17,.08);background:rgba(255,255,255,.88);backdrop-filter:blur(12px);border-radius:16px;box-shadow:0 16px 40px rgba(17,17,17,.10);z-index:5}.art-floating>span{width:34px;height:34px;border-radius:11px;background:#111;color:#dfff00;display:grid;place-items:center}.art-floating strong{display:block;font-size:13px}.art-floating small{display:block;color:#8a8b86;font-size:10px;margin-top:2px}.art-points{top:105px;right:-20px}.art-fast{left:-18px;bottom:130px}.home-benefits{max-width:1180px;margin:18px auto 0;padding:0 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.home-benefits article{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;display:flex;gap:14px;align-items:flex-start;box-shadow:var(--shadow-sm)}.home-benefit-icon{width:40px;height:40px;border-radius:13px;background:#f0f0eb;display:grid;place-items:center;font-weight:900;flex:none}.home-benefits strong{font-size:14px}.home-benefits p{margin:5px 0 0;color:#7a7b75;font-size:12px;line-height:1.45}.booking-wrap{scroll-margin-top:90px}.booking-intro{margin:6px 0 0;color:#858780;font-size:13px}.home-how{max-width:1180px;margin:90px auto 30px;padding:0 20px}.home-how-heading h2{font:700 clamp(44px,6vw,72px)/.9 "Host Grotesk";letter-spacing:-.075em;margin:10px 0 28px}.home-how-heading h2 span{color:#858780}.home-how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.home-how-grid article{min-height:190px;background:#111;color:#fff;border-radius:24px;padding:24px;display:flex;flex-direction:column;justify-content:space-between}.home-how-grid article>span{color:#dfff00;font:700 12px "Host Grotesk"}.home-how-grid strong{font-size:18px}.home-how-grid p{color:#a9aaa5;font-size:12px;line-height:1.5;margin:7px 0 0;max-width:250px}
.nav-button{font:inherit}
.logout-spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.home-hero{grid-template-columns:1fr;min-height:0}.home-hero-art{min-height:400px;margin:0 18px 28px}.home-benefits,.home-how-grid{grid-template-columns:1fr}.art-points{right:5px}.art-fast{left:5px}.home-hero .hero-copy{padding-bottom:18px}}
@media(max-width:560px){.home-hero .hero-copy h1{font-size:58px}.home-hero .hero-copy p{font-size:15px}.hero-actions-home{align-items:flex-start;flex-direction:column}.home-hero-art{min-height:330px}.home-hero-art .art-center{width:145px;height:145px}.home-hero-art .art-center strong{font-size:27px}.home-hero-art .art-note{bottom:18px;right:8px}.art-points{top:30px;right:0}.art-fast{left:0;bottom:82px}.art-floating{padding:9px 10px}.art-floating>span{width:29px;height:29px}.home-benefits{padding:0 13px}.home-how{margin-top:60px;padding:0 13px}}

/* ===== v2.3 — booking payment + guidance ===== */
.summary-points{grid-column:1/-1;margin-top:10px;padding:13px 15px;border-radius:14px;background:#f4f9df;color:#385000;font-size:13px;display:flex!important;align-items:center;gap:7px}.summary-points .ui-icon{width:16px}.payment-card,.booking-note-card{margin-top:16px;padding:20px;border:1px solid var(--line);background:#fff;border-radius:22px}.section-mini-head{display:grid;gap:4px;margin-bottom:13px}.section-mini-head>strong{font-size:18px}.payment-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.payment-option{position:relative;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:11px;padding:14px;border:1px solid #deded8;border-radius:17px;background:#fff;cursor:pointer;transition:.2s}.payment-option:hover{border-color:#111;transform:translateY(-1px)}.payment-option.selected{border-color:#111;background:#111;color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.1)}.payment-option input{position:absolute;opacity:0;pointer-events:none}.payment-icon{width:40px;height:40px;border-radius:12px;background:#f0f0eb;display:grid;place-items:center}.payment-option.selected .payment-icon{background:#292929;color:#dfff00}.payment-option small{display:block;color:#777;margin-top:3px;font-size:10px}.payment-option.selected small{color:#aaa}.payment-check{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;border:1px solid #ccc;font-size:12px}.payment-option.selected .payment-check{background:#dfff00;color:#111;border-color:#dfff00}.transfer-info{display:flex;gap:11px;align-items:flex-start;margin-top:12px;padding:13px 14px;border-radius:15px;background:#f5f5f0;border:1px solid #e5e5df}.transfer-info .ui-icon{margin-top:2px}.transfer-info strong{font-size:13px}.transfer-info p{margin:3px 0 0;color:#666;white-space:pre-wrap;font-size:12px;line-height:1.5}.booking-note-card textarea{min-height:88px;width:100%;resize:vertical;border:1px solid #dcded8;border-radius:14px;padding:13px;font:inherit;outline:none}.booking-note-card textarea:focus{border-color:#111;box-shadow:0 0 0 4px rgba(17,17,17,.05)}.booking-note-card>small{display:block;color:#92938d;font-size:10px;margin-top:7px}.booking-public-note{display:flex;gap:12px;align-items:flex-start;margin-top:16px;padding:15px;border-radius:17px;background:#111;color:#fff}.booking-public-note .ui-icon{color:#dfff00;flex:none}.booking-public-note strong{font-size:13px}.booking-public-note p{margin:4px 0 0;color:#b7b7b2;font-size:12px;line-height:1.5}.login-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 14px;padding:12px 14px;border-radius:14px;background:#f5f5f0}.login-summary strong{font-size:16px}.login-summary span{display:flex;align-items:center;gap:5px;color:#436900;font-size:12px;font-weight:800}.success-summary{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:20px auto;padding:14px 18px;border-radius:18px;background:#f5f5f0;max-width:520px}.success-summary strong{font:700 30px/1 "Host Grotesk";letter-spacing:-.05em}.success-summary span{color:#666;font-size:12px}.success-summary em{display:flex;align-items:center;gap:5px;font-style:normal;color:#476c00;font-size:12px;font-weight:800}
.payment-admin-card .settings-toggle-list{margin-bottom:16px}
@media(max-width:800px){.payment-options{grid-template-columns:1fr}.payment-option{grid-template-columns:40px 1fr auto}.summary-points{grid-column:1}.payment-card,.booking-note-card{padding:16px}.login-summary{align-items:flex-start;flex-direction:column}}
/* v2.4 barber UX / responsive refinement */
:root{--barber-bg:#f2eee7;--barber-ink:#171411;--barber-muted:#77716a;--barber-line:#ddd5ca;--barber-gold:#c9a86a;--barber-red:#7f2e25}
body.barber-home,body.booking-page{background:var(--barber-bg);color:var(--barber-ink)}
.barber-topbar,.booking-topbar{background:rgba(242,238,231,.94);border-bottom-color:rgba(23,20,17,.10);backdrop-filter:blur(14px)}
.barber-topbar nav,.booking-topbar nav{gap:10px}.barber-topbar nav a,.booking-topbar nav a{padding:10px 14px;border-radius:999px}.barber-topbar nav a:hover,.booking-topbar nav a:hover{background:#fff}.barber-topbar .nav-book{background:var(--barber-ink);color:#fff!important}
.barber-landing-hero{max-width:1320px;margin:0 auto;padding:72px clamp(22px,5vw,72px) 92px;display:grid;grid-template-columns:1fr .86fr;gap:clamp(42px,7vw,100px);align-items:center;min-height:690px}.barber-hero-copy{max-width:690px}.barber-hero-copy h1{font:800 clamp(62px,8vw,118px)/.84 "Host Grotesk",sans-serif;letter-spacing:-.085em;margin:20px 0 28px}.barber-hero-copy h1 em,.barber-service-intro h2 em,.booking-intro-hero h1 em{font-style:normal;color:#8c8780}.barber-hero-copy p{font-size:19px;line-height:1.6;color:var(--barber-muted);max-width:610px;margin:0 0 30px}.barber-hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.hero-secondary{padding:15px 18px;border:1px solid var(--barber-line);border-radius:14px;text-decoration:none;color:var(--barber-ink);font-weight:800;background:rgba(255,255,255,.45)}.barber-trust{display:flex;align-items:center;gap:9px;margin-top:28px;color:var(--barber-muted);font-size:13px}.barber-trust span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--barber-ink);color:var(--barber-gold)}.barber-trust strong{color:var(--barber-ink)}.barber-trust small{font-size:13px}.barber-hero-visual{position:relative;min-height:520px;display:grid;place-items:center}.barber-poster{position:relative;width:min(430px,90%);aspect-ratio:.78;background:#171411;color:#f5efe6;border-radius:34px;overflow:hidden;box-shadow:0 35px 90px rgba(23,20,17,.18);padding:28px}.barber-poster:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:var(--barber-red);filter:blur(55px);opacity:.85;right:-100px;top:40px}.barber-poster:after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;border:1px solid rgba(255,255,255,.16);left:-90px;bottom:30px}.poster-top{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;font-weight:800}.poster-top span{width:40px;height:40px;border-radius:13px;background:#f5efe6;color:#171411;display:grid;place-items:center;font-size:11px}.poster-top small{font-size:9px;letter-spacing:.18em;color:#bdb5ab}.poster-scissors{position:absolute;z-index:2;right:22px;top:122px;font-size:120px;line-height:1;transform:rotate(-16deg);opacity:.96;color:#d7c29b}.poster-copy{position:absolute;z-index:2;left:30px;bottom:75px;display:flex;flex-direction:column}.poster-copy span{font-size:12px;letter-spacing:.26em;color:#c6beb4}.poster-copy strong{font:800 clamp(64px,9vw,105px)/.72 "Host Grotesk";letter-spacing:-.09em}.poster-copy small{margin-top:20px;letter-spacing:.25em;color:#a9a098;font-size:9px}.poster-stamp{position:absolute;z-index:2;right:28px;bottom:31px;text-align:right;font:700 16px/1.05 "Host Grotesk"}.poster-stamp small{font:600 8px "DM Sans";letter-spacing:.18em;color:#a9a098}.hero-floating-card{position:absolute;right:-5px;bottom:36px;background:#fff;border:1px solid var(--barber-line);border-radius:20px;padding:15px 18px;display:flex;gap:12px;align-items:center;box-shadow:0 20px 45px rgba(23,20,17,.13);max-width:220px}.mini-icon{width:36px;height:36px;border-radius:12px;background:var(--barber-ink);color:var(--barber-gold);display:grid;place-items:center}.hero-floating-card strong,.hero-floating-card small{display:block}.hero-floating-card strong{font-size:13px}.hero-floating-card small{font-size:11px;color:var(--barber-muted);margin-top:3px}.barber-service-intro{max-width:1180px;margin:0 auto;padding:100px 22px 48px;display:grid;grid-template-columns:1fr .7fr;gap:60px;border-top:1px solid rgba(23,20,17,.08)}.barber-service-intro h2{font:800 clamp(48px,6vw,82px)/.88 "Host Grotesk";letter-spacing:-.075em;margin:17px 0 0}.barber-service-intro p{align-self:end;color:var(--barber-muted);font-size:17px;line-height:1.6;max-width:480px}.barber-experience{max-width:1180px;margin:0 auto;padding:0 22px 100px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.barber-experience article{position:relative;min-height:280px;background:#fff;border:1px solid var(--barber-line);border-radius:26px;padding:28px;overflow:hidden}.barber-experience article:nth-child(2){background:#171411;color:#fff}.feature-number{position:absolute;right:24px;top:23px;font-size:11px;letter-spacing:.15em;color:#a59c91}.barber-experience article:nth-child(2) .feature-number{color:#8e877f}.feature-icon{font-size:38px;margin:30px 0 35px;color:var(--barber-gold)}.barber-experience h3{font:800 27px/1 "Host Grotesk";letter-spacing:-.05em;margin:0 0 12px}.barber-experience p{color:var(--barber-muted);line-height:1.55;max-width:290px}.barber-experience article:nth-child(2) p{color:#aaa39c}.barber-cta-band{max-width:1180px;margin:0 auto 100px;padding:46px;border-radius:30px;background:#171411;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}.barber-cta-band h2{font:800 clamp(40px,5vw,65px)/.9 "Host Grotesk";letter-spacing:-.07em;margin:14px 0 10px}.barber-cta-band p{margin:0;color:#aaa39c}.barber-cta-band .hero-cta{background:#f5efe6;color:#171411}.barber-cta-band .hero-cta span{color:#7f2e25}.booking-main{padding-bottom:70px}.booking-intro-hero{max-width:1180px;margin:0 auto;padding:70px 22px 50px;display:flex;justify-content:space-between;align-items:end;gap:40px}.booking-intro-hero h1{font:800 clamp(54px,7vw,92px)/.86 "Host Grotesk";letter-spacing:-.08em;margin:18px 0}.booking-intro-hero p{max-width:620px;color:var(--barber-muted);font-size:17px;line-height:1.6}.booking-intro-badge{min-width:180px;padding:23px;border-radius:24px;background:#171411;color:#fff;display:flex;flex-direction:column;gap:5px}.booking-intro-badge span{font-size:30px;color:var(--barber-gold)}.booking-intro-badge strong{font:800 22px/.9 "Host Grotesk";letter-spacing:-.06em}.booking-intro-badge small{margin-top:15px;color:#aaa39c;font-size:9px;letter-spacing:.16em}.standalone-booking{padding-top:15px}.service-price-display{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.service-price-display span{display:flex;flex-direction:column;padding:8px 10px;background:#f0eee9;border-radius:11px;min-width:105px}.service-price-display b{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#77716a}.service-price-display strong{font:700 16px "Host Grotesk"}.service-price-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.service-price-tags span{font-size:10px;padding:5px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted)}.service-price-tags b{color:var(--ink)}.payment-fallback{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fafaf7}.payment-fallback .ui-icon{width:20px}.field-note{font-size:11px;color:var(--muted);font-weight:400}
@media(max-width:900px){.barber-landing-hero{grid-template-columns:1fr;padding-top:45px;min-height:0}.barber-hero-visual{min-height:430px}.barber-service-intro{grid-template-columns:1fr;gap:20px;padding-top:70px}.barber-experience{grid-template-columns:1fr}.barber-experience article{min-height:220px}.barber-cta-band{margin:0 22px 70px;flex-direction:column;align-items:flex-start}.booking-intro-hero{align-items:flex-start;flex-direction:column}.booking-intro-badge{display:none}}
@media(max-width:640px){.topbar,.admin-top{height:66px;padding:0 16px}.topbar nav{gap:3px}.topbar nav a{font-size:12px;padding:9px 10px}.brand{font-size:13px}.brand-mark{width:31px;height:31px}.barber-landing-hero{padding:42px 18px 62px}.barber-hero-copy h1{font-size:clamp(58px,17vw,86px);margin-bottom:22px}.barber-hero-copy p{font-size:16px}.barber-hero-actions{width:100%}.hero-cta,.hero-secondary{width:100%;justify-content:center}.barber-trust{flex-wrap:wrap}.barber-hero-visual{min-height:390px}.barber-poster{width:86%;border-radius:27px}.poster-scissors{font-size:82px;top:100px}.poster-copy strong{font-size:70px}.hero-floating-card{right:0;bottom:12px;max-width:190px;padding:11px 12px}.barber-service-intro{padding:62px 18px 35px}.barber-service-intro h2{font-size:52px}.barber-experience{padding:0 18px 70px}.barber-cta-band{padding:30px 24px}.barber-cta-band .hero-cta{width:100%}.booking-intro-hero{padding:42px 18px 30px}.booking-intro-hero h1{font-size:57px}.booking-wrap{padding-left:14px;padding-right:14px;padding-bottom:60px}.booking-heading{align-items:flex-start;gap:15px;flex-direction:column}.booking-heading h2{font-size:42px}.booking-panel{border-radius:22px;padding:18px}.steps{grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:28px}.step{padding:8px 4px;justify-content:center}.step span{width:27px;height:27px}.step small{display:none}.service-grid{grid-template-columns:1fr;gap:11px}.service-card{padding:18px;border-radius:18px}.service-card.selected{padding:17px}.service-card h3{font-size:22px}.service-bottom{margin-top:17px}.combo-upsell{padding:18px!important}.combo-footer{flex-direction:column;align-items:stretch!important}.combo-footer .primary{width:100%}.calendar-layout{grid-template-columns:1fr!important}.slot-grid{grid-template-columns:repeat(3,1fr)!important}.payment-options{grid-template-columns:1fr!important}.summary-card{grid-template-columns:1fr!important}.summary-total{margin-top:5px}.login-needed{grid-template-columns:1fr!important}.login-needed .button{width:100%;justify-content:center}.actions{flex-direction:column-reverse}.actions>*{width:100%;justify-content:center}.site-footer{padding:25px 18px!important;flex-direction:column;gap:8px!important;align-items:flex-start}}
.service-admin-hint{font-size:10px;color:var(--muted);margin-top:8px}.price-modal{max-width:650px}.price-empty{display:flex;gap:14px;align-items:center;border:1px dashed var(--line);border-radius:16px;padding:16px;margin:14px 0 18px;background:#fafaf7}.price-empty .ui-icon{width:24px}.price-empty strong,.price-empty p{display:block;margin:0}.price-empty p{font-size:12px;color:var(--muted);margin-top:4px}.price-option-list{display:grid;gap:8px;margin:14px 0 20px}.price-option-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fafaf7}.price-option-row strong,.price-option-row small{display:block}.price-option-row small{color:var(--muted);font-size:11px;margin-top:3px}.price-option-row>b{font:700 18px "Host Grotesk"}.price-option-row button{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.price-option-row button:hover{background:#f3ebe4}.service-admin-actions button{display:grid;place-items:center}.service-admin-actions .ui-icon{width:17px}.service-admin-card .service-admin-main{min-width:0}


/* v2.5 navigation/session polish */
.public-logout{border:0;background:transparent;font:inherit;color:inherit;cursor:pointer;padding:.55rem .75rem;border-radius:999px} .public-logout:hover{background:#f0eee8}
.admin-user{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.logout-button{cursor:pointer}.admin-public-link{white-space:nowrap}
@media (max-width:700px){.admin-user{gap:6px}.admin-context{display:none}.admin-public-link{padding:.5rem}.logout-button{padding:.5rem .65rem}.topbar nav{gap:4px;flex-wrap:wrap}.topbar{min-height:64px}.topbar .nav-book{display:inline-flex}.public-logout{padding:.5rem .6rem}}

/* v2.6 polish */
body{letter-spacing:.005em}.admin-content{padding-bottom:80px}.admin-content h1,.admin-content h2,.admin-content h3{letter-spacing:-.045em}.panel-head{gap:24px}.panel-head p,.panel-subtitle{line-height:1.65;max-width:680px}.metric-card{min-height:132px}.metric-card span,.metric-card small{letter-spacing:.08em}.metric-card strong{letter-spacing:-.055em}.appointment-row{min-height:78px;padding:15px 0}.more-agenda{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin-top:8px;padding-top:15px;color:var(--muted);font-size:13px}.points-rule.dual{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:stretch}.points-rule.dual label{display:grid;gap:9px}.points-rule.dual label>span{font-size:12px;font-weight:800}.points-rule.dual small{color:var(--muted);line-height:1.45}.rule-equals{display:grid;place-items:center;color:#999;font-weight:800}.service-combo-config{margin-top:10px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fafaf7}.combo-fields{display:grid;gap:12px;margin-top:14px}.combo-fields.hidden{display:none}.logged-confirm-card{display:flex;gap:16px;align-items:flex-start;margin-top:18px;padding:20px;border:1px solid #dce8dd;background:#f3faf4;border-radius:20px}.logged-confirm-icon{width:42px;height:42px;border-radius:14px;background:#dff4e4;color:#246d39;display:grid;place-items:center;flex:none}.logged-confirm-card strong,.logged-confirm-card p{display:block}.logged-confirm-card strong{font:700 21px/1.1 "Host Grotesk";margin:7px 0}.logged-confirm-card p{margin:0 0 12px;color:#647067;line-height:1.5}.login-summary{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:12px 0}.login-summary strong{font:700 22px "Host Grotesk";margin:0}.login-summary span{display:inline-flex;align-items:center;gap:6px;color:#28733c;font-weight:700;font-size:13px}.error-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
@media(max-width:900px){.points-rule.dual{grid-template-columns:1fr}.rule-equals{display:none}.admin-content{padding:22px 16px 70px}.dashboard-hero{grid-template-columns:1fr!important;min-height:0}.hero-orb{display:none}.metrics-row{grid-template-columns:repeat(2,1fr)!important}.home-grid{grid-template-columns:1fr!important}}
@media(max-width:640px){.metrics-row{grid-template-columns:1fr!important}.metric-card{min-height:105px}.appointment-row{grid-template-columns:62px 1fr!important;gap:10px}.appointment-status,.appointment-actions{grid-column:2}.dashboard-hero h1{font-size:56px!important}.panel-card{border-radius:20px}.panel-head{align-items:flex-start!important;flex-direction:column}.panel-head .text-link{align-self:flex-start}.service-admin-card{grid-template-columns:48px 1fr!important}.service-admin-actions{grid-column:2;justify-content:flex-start}.logged-confirm-card{padding:16px}.logged-confirm-card strong{font-size:18px}.login-summary{gap:10px}}

/* ===== v2.7 ADMIN HORIZONTAL DASHBOARD ===== */
.admin-app-horizontal{min-height:100vh;background:var(--paper)}
.admin-app-horizontal .admin-content{max-width:1440px;margin:0 auto;padding:42px 42px 90px}
.admin-nav-header{position:sticky;top:0;z-index:40;min-height:78px;padding:0 34px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:26px;background:rgba(244,244,240,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(17,17,17,.08)}
.admin-brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;min-width:max-content}.admin-brand .brand-mark{width:38px;height:38px;border-radius:12px}.admin-brand span:last-child{display:flex;flex-direction:column;line-height:1}.admin-brand strong{font:800 14px/1 "Host Grotesk";letter-spacing:-.025em}.admin-brand small{margin-top:5px;font-size:8px;letter-spacing:.16em;color:#8b8c85}
.admin-horizontal-nav{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0}.admin-horizontal-nav .nav-item{border:0;background:transparent;color:#6e7069;padding:11px 13px;border-radius:13px;cursor:pointer;font-size:13px;white-space:nowrap}.admin-horizontal-nav .nav-item:hover{background:#ecece7;color:var(--ink)}.admin-horizontal-nav .nav-item.active{background:#fff;color:var(--ink);box-shadow:0 7px 22px rgba(17,17,17,.07)}.admin-horizontal-nav .nav-item span{display:grid;place-items:center}.admin-horizontal-nav .nav-item .ui-icon{width:16px;height:16px}.admin-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;min-width:max-content}.admin-public-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:#5f615b;font-size:12px;padding:10px 11px;border-radius:11px}.admin-public-link:hover{background:#eaeae5;color:var(--ink)}.admin-public-link .ui-icon{width:14px}.header-logout{border:0;background:#171717;color:#fff;padding:11px 14px;border-radius:12px;font:700 12px "DM Sans";cursor:pointer}.header-logout:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(17,17,17,.14)}
.admin-welcome-row{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:24px}.admin-welcome-row h1{font:800 clamp(48px,5vw,76px)/.92 "Host Grotesk";letter-spacing:-.065em;margin:11px 0 13px;max-width:760px}.admin-welcome-row h1 span{color:#8c8e87}.admin-welcome-row p{margin:0;color:#72746d;font-size:15px;line-height:1.55}.welcome-actions{display:flex;gap:8px;align-items:center;flex:none}.welcome-actions .primary,.welcome-actions .ghost{white-space:nowrap}
.dashboard-metrics{margin-bottom:18px}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 355px;gap:18px;align-items:start}.dashboard-summary-card{min-height:370px}.summary-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:26px 0}.summary-mini-grid>div{padding:17px;border:1px solid var(--line);border-radius:18px;background:#fafaf7}.summary-mini-grid span{display:block;font-size:9px;letter-spacing:.14em;color:#85877f;font-weight:800}.summary-mini-grid strong{display:block;font:800 27px/1 "Host Grotesk";letter-spacing:-.055em;margin:9px 0 5px}.summary-mini-grid small{display:block;color:#999b94;font-size:10px;line-height:1.35}.dashboard-actions-grid{display:grid;gap:8px}.dashboard-actions-grid button{width:100%;display:grid;grid-template-columns:38px 1fr 18px;align-items:center;gap:12px;text-align:left;padding:14px 15px;border:1px solid var(--line);background:#fff;border-radius:16px;cursor:pointer;color:var(--ink)}.dashboard-actions-grid button:hover{border-color:#cfcfc8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.dashboard-actions-grid button>.ui-icon:first-child{width:18px;height:18px;padding:9px;background:#f0f0eb;border-radius:11px;box-sizing:content-box}.dashboard-actions-grid button>.ui-icon:last-child{width:16px;color:#8a8c84}.dashboard-actions-grid span{display:flex;flex-direction:column;gap:3px}.dashboard-actions-grid strong{font-size:12px}.dashboard-actions-grid small{color:#888a83;font-size:10px}.upcoming-card{padding:22px 20px;min-height:370px}.upcoming-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:13px}.upcoming-head h2{font:800 27px/1 "Host Grotesk";letter-spacing:-.055em;margin:7px 0 0}.upcoming-head .text-link{margin-top:9px;white-space:nowrap}.upcoming-list{display:grid}.upcoming-item{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px 0;border-top:1px solid var(--line)}.upcoming-item:first-child{border-top:0}.upcoming-time strong{display:block;font:800 15px "Host Grotesk";letter-spacing:-.025em}.upcoming-time span{display:block;margin-top:3px;font-size:8px;color:#8e9089;text-transform:uppercase;letter-spacing:.08em}.upcoming-info{min-width:0}.upcoming-info strong,.upcoming-info span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upcoming-info strong{font-size:12px}.upcoming-info span{margin-top:4px;color:#85877f;font-size:10px}.upcoming-price{font:700 12px "Host Grotesk";white-space:nowrap}.admin-app-horizontal .empty-state{min-height:170px;padding:22px 10px}
/* typography breathing room */
.admin-app-horizontal h1,.admin-app-horizontal h2,.admin-app-horizontal h3{word-spacing:.02em}.admin-app-horizontal h1{line-height:.94!important}.admin-app-horizontal .eyebrow{line-height:1.2}.admin-app-horizontal p{letter-spacing:.005em}
@media(max-width:1180px){.admin-nav-header{grid-template-columns:auto 1fr auto;gap:14px;padding:0 20px}.admin-horizontal-nav{justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.admin-horizontal-nav::-webkit-scrollbar{display:none}.admin-horizontal-nav .nav-item{padding:10px 11px}.admin-horizontal-nav .nav-item b{font-size:12px}.admin-public-link{display:none}.dashboard-main-grid{grid-template-columns:minmax(0,1fr) 315px}.admin-app-horizontal .admin-content{padding-left:24px;padding-right:24px}}
@media(max-width:900px){.admin-nav-header{position:sticky;top:0;display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px;min-height:auto}.admin-brand{margin-right:auto}.admin-horizontal-nav{order:3;flex:1 0 100%;justify-content:flex-start;padding-bottom:2px}.admin-horizontal-nav .nav-item{flex:0 0 auto}.admin-horizontal-nav .nav-item .ui-icon{display:none}.admin-header-actions{gap:5px}.header-logout{padding:10px 11px}.admin-app-horizontal .admin-content{padding:30px 16px 75px}.admin-welcome-row{align-items:flex-start;flex-direction:column}.welcome-actions{width:100%}.welcome-actions .primary,.welcome-actions .ghost{flex:1}.dashboard-main-grid{grid-template-columns:1fr}.upcoming-card{order:-1}.dashboard-summary-card{min-height:0}}
@media(max-width:640px){.admin-brand .brand-mark{width:34px;height:34px}.admin-brand strong{font-size:12px}.admin-brand small{font-size:7px}.header-logout{font-size:11px;padding:9px 10px}.admin-horizontal-nav .nav-item{font-size:11px;padding:9px 12px}.admin-app-horizontal .admin-content{padding:24px 14px 60px}.admin-welcome-row{margin-bottom:18px}.admin-welcome-row h1{font-size:48px!important;line-height:.94!important;margin-top:8px}.admin-welcome-row p{font-size:13px;max-width:420px}.welcome-actions{display:grid;grid-template-columns:1fr;gap:7px}.dashboard-metrics{grid-template-columns:repeat(2,1fr)!important}.metric-card{min-height:105px;padding:15px}.metric-card strong{font-size:29px}.dashboard-main-grid{gap:12px}.upcoming-card{padding:18px 16px}.upcoming-head h2{font-size:25px}.summary-mini-grid{grid-template-columns:1fr;gap:8px;margin:20px 0}.summary-mini-grid>div{padding:14px}.dashboard-actions-grid button{padding:13px}.dashboard-actions-grid button>.ui-icon:first-child{width:16px;height:16px;padding:8px}.admin-app-horizontal .view-top{margin-bottom:20px}}
@media(max-width:420px){.admin-brand span:last-child{display:none}.admin-brand{margin-right:0}.admin-header-actions{margin-left:auto}.header-logout{padding:9px}.dashboard-metrics{grid-template-columns:1fr!important}.upcoming-item{grid-template-columns:48px minmax(0,1fr) auto;gap:8px}.upcoming-price{font-size:11px}}

/* =========================================================
   v2.8 — barber premium UX, warm gold accents, motion
   ========================================================= */
:root{
  --gold:#b9914f;
  --gold-2:#d7b46f;
  --gold-soft:#f7efdf;
  --gold-line:#e8d7b8;
  --barber-brown:#241d17;
}
body{line-height:1.45}
h1,h2,h3{line-height:1.02!important}
.booking-page{background:radial-gradient(circle at 88% 4%,rgba(215,180,111,.16),transparent 26rem),radial-gradient(circle at 4% 40%,rgba(185,145,79,.08),transparent 22rem),var(--paper)}
.booking-page .booking-intro-hero{position:relative;overflow:hidden}
.booking-page .booking-intro-hero:after{content:"";position:absolute;right:5%;top:18%;width:180px;height:180px;border:1px solid rgba(185,145,79,.22);border-radius:50%;box-shadow:0 0 0 34px rgba(185,145,79,.035),0 0 0 68px rgba(185,145,79,.02);pointer-events:none}
.booking-panel{position:relative;overflow:hidden;box-shadow:0 28px 90px rgba(38,28,18,.08);animation:bookingIn .5s ease both}
.booking-panel:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--ink),var(--gold-2),transparent);opacity:.9}
.step{transition:all .25s ease}.step.active{border-color:var(--gold);color:var(--ink)}.step.active span{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 5px rgba(185,145,79,.12)}
.step.done span{background:var(--gold-soft);border-color:var(--gold-line);color:#8d6934}
.service-card{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .25s,background .25s}.service-card:hover{transform:translateY(-5px);border-color:var(--gold-line);box-shadow:0 20px 45px rgba(53,39,22,.10)}
.service-card:focus-visible,.combo-option:focus-visible,.slot:focus-visible,.payment-option:focus-visible{outline:3px solid rgba(185,145,79,.28);outline-offset:2px}
.service-card.selected{border-color:var(--gold);box-shadow:0 18px 45px rgba(185,145,79,.15),inset 0 0 0 1px var(--gold);background:linear-gradient(145deg,#fff,#fcf7ee)}
.service-icon{background:var(--gold-soft);color:#8a6530}.choose-chip{background:var(--gold-soft);color:#76572c}.points-hint{color:#8b6734}
.combo-upsell{border-color:var(--gold-line)!important;background:linear-gradient(145deg,#fffdf8,#faf4e8)!important;box-shadow:0 18px 45px rgba(185,145,79,.08)}
.combo-spark{background:var(--gold);color:#fff;box-shadow:0 8px 20px rgba(185,145,79,.25)}
.combo-option:hover{border-color:var(--gold)!important;transform:translateY(-2px);box-shadow:0 12px 28px rgba(185,145,79,.11)}
.combo-option.selected{border-color:var(--gold)!important;background:#fff8eb!important}.combo-check{color:#8a6530}.combo-price{color:#8a6530}
.primary{background:linear-gradient(135deg,#171717,#29221b);box-shadow:0 10px 24px rgba(23,23,23,.12);transition:transform .2s,box-shadow .2s}.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 15px 30px rgba(23,23,23,.17)}
.booking-page .primary{position:relative;overflow:hidden}.booking-page .primary:after{content:"";position:absolute;top:0;bottom:0;width:45%;left:-70%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);transform:skewX(-18deg);animation:buttonShine 4.5s ease-in-out infinite}
.calendar-card{box-shadow:0 12px 35px rgba(30,24,17,.05)}.cal-day{transition:transform .18s,border-color .18s,background .18s}.cal-day:hover:not(:disabled){border-color:var(--gold);transform:translateY(-2px)}.cal-day.selected{background:var(--gold);border-color:var(--gold);box-shadow:0 8px 18px rgba(185,145,79,.22)}
.slot{transition:transform .18s,border-color .18s,background .18s,box-shadow .18s}.slot:hover{border-color:var(--gold);transform:translateY(-2px)}.slot.selected{background:var(--gold);border-color:var(--gold);box-shadow:0 9px 20px rgba(185,145,79,.22)}
.summary-card{box-shadow:0 12px 30px rgba(30,24,17,.05)}.summary-total{background:linear-gradient(135deg,#151515,#2b2118)}.summary-total strong{color:#f3d69a}.summary-points,.points-callout{border-color:var(--gold-line);background:var(--gold-soft);color:#5d4828}.points-callout-icon{background:var(--gold);color:#fff}
.payment-option.selected{border-color:var(--gold);box-shadow:0 12px 28px rgba(185,145,79,.16)}.payment-option.selected .payment-icon{background:#33291e;color:#f0cc8a}.payment-option.selected .payment-check{background:var(--gold);border-color:var(--gold);color:#fff}
.booking-public-note{background:linear-gradient(135deg,#241d17,#171411);border:1px solid #3c2f22;box-shadow:0 12px 30px rgba(36,29,23,.12)}.booking-public-note .ui-icon{color:#e1bd79}
.logged-confirm-card{border-color:var(--gold-line);background:linear-gradient(145deg,#fffdf8,#f8f1e5);box-shadow:0 15px 38px rgba(185,145,79,.09)}.logged-confirm-icon{background:var(--gold);color:#fff;box-shadow:0 8px 18px rgba(185,145,79,.22)}
.final-booking-mini{display:grid;grid-template-columns:1.2fr 1fr .7fr;gap:8px;margin:14px 0}.final-booking-mini>div{padding:11px 12px;border:1px solid var(--gold-line);background:rgba(255,255,255,.7);border-radius:14px}.final-booking-mini span{display:flex;align-items:center;gap:5px;color:#8b7657;font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.final-booking-mini .ui-icon{width:12px}.final-booking-mini strong{font:700 14px "Host Grotesk";margin-top:5px}
.success-panel{background:radial-gradient(circle at 50% 0,rgba(215,180,111,.18),transparent 22rem)}.success-mark{background:var(--gold);color:#fff;box-shadow:0 14px 35px rgba(185,145,79,.25)}
/* Admin warmth */
.admin-app-horizontal{background:radial-gradient(circle at 88% 0,rgba(215,180,111,.10),transparent 24rem),var(--paper)}.admin-nav-header{box-shadow:0 8px 30px rgba(17,17,17,.04)}.admin-horizontal-nav .nav-item.active{color:#6f5227;background:var(--gold-soft);border-color:var(--gold-line)}.admin-horizontal-nav .nav-item.active .ui-icon{color:var(--gold)}
.metric-card{transition:transform .2s,box-shadow .2s,border-color .2s}.metric-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:var(--gold-line)}.metric-icon{background:var(--gold-soft)!important;color:#8b6734!important}.dashboard-main-grid .panel-card{box-shadow:0 12px 35px rgba(30,24,17,.04)}
.service-admin-card:hover,.marketing-rule:hover{border-color:var(--gold-line);box-shadow:0 12px 30px rgba(185,145,79,.08);transform:translateY(-2px)}.service-admin-card,.marketing-rule{transition:.22s}.service-admin-icon,.marketing-service-icon{background:linear-gradient(145deg,#1b1815,#30261c)!important;color:#e3bd79!important}
.modal-card{box-shadow:0 35px 100px rgba(35,27,19,.25);border:1px solid var(--gold-line)}.modal-card h2{line-height:1.02!important}.price-option-row:hover{border-color:var(--gold-line);background:#fffaf1}
.marketing-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px;border-radius:27px;background:linear-gradient(135deg,#1d1813,#30271e);color:#fff;margin-bottom:16px;box-shadow:0 22px 60px rgba(36,29,23,.12)}.marketing-hero h2{font:800 42px/.96 "Host Grotesk";letter-spacing:-.055em;margin:8px 0 10px;max-width:700px}.marketing-hero p{color:#c6beb2;max-width:720px;line-height:1.6;margin:0}.marketing-hero .eyebrow{color:#c8a76c}.marketing-hero-icon{width:74px;height:74px;border-radius:22px;background:#d7b46f;color:#231b13;display:grid;place-items:center;flex:none}.marketing-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.marketing-rule{border:1px solid var(--line);border-radius:20px;padding:18px;background:#fff}.marketing-rule-top{display:flex;align-items:center;gap:12px}.marketing-rule-top>div:nth-child(2){min-width:0;flex:1}.marketing-rule-top strong,.marketing-rule-top small{display:block}.marketing-rule-top small{font-size:10px;color:#888;margin-top:3px}.marketing-service-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;flex:none}.marketing-rule-body{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}.marketing-rule label{display:grid;gap:6px;font-size:10px;font-weight:800;color:#555}.marketing-rule input,.marketing-rule textarea,.marketing-rule select{width:100%;border:1px solid var(--line);border-radius:12px;background:#fafaf7;padding:11px 12px;outline:none;font:inherit;font-size:12px}.marketing-rule input:focus,.marketing-rule textarea:focus,.marketing-rule select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(185,145,79,.10)}.marketing-rule-actions{display:flex;align-items:center;gap:8px;margin-top:13px;flex-wrap:wrap}.marketing-rule-actions .inline-toggle{margin-right:auto}.status-dot.on{background:var(--gold-soft);color:#7c5d2e;border-color:var(--gold-line)}
@keyframes bookingIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes buttonShine{0%,65%{left:-70%}80%,100%{left:130%}}
@media(max-width:800px){.final-booking-mini{grid-template-columns:1fr}.marketing-rules{grid-template-columns:1fr}.marketing-hero{align-items:flex-start}.marketing-hero h2{font-size:34px}.marketing-hero-icon{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition:none!important}}

/* =========================================================
   v2.8.1 — ADMIN TOPBAR LAYOUT FIX
   Neutraliza estilos legacy del antiguo sidebar para que
   el admin horizontal ocupe todo el ancho y quede arriba.
   ========================================================= */
.admin-app-horizontal{
  display:block !important;
  grid-template-columns:none !important;
  width:100%;
  min-height:100vh;
}

.admin-app-horizontal .admin-nav-header{
  position:sticky !important;
  top:0 !important;
  left:auto !important;
  right:auto !important;
  width:100% !important;
  min-height:78px;
  z-index:1000;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center;
}

.admin-app-horizontal .admin-horizontal-nav{
  display:flex !important;
  align-items:center;
  justify-content:center;
  min-width:0;
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
}
.admin-app-horizontal .admin-horizontal-nav::-webkit-scrollbar{display:none}

/* Legacy .nav-item used width:100% for the old sidebar. */
.admin-app-horizontal .admin-horizontal-nav .nav-item{
  width:auto !important;
  min-width:max-content;
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:7px;
  white-space:nowrap;
  margin:0;
}

.admin-app-horizontal .admin-horizontal-nav .nav-item span{
  width:18px !important;
  height:18px !important;
  display:grid !important;
  place-items:center;
  flex:none;
}

.admin-app-horizontal .admin-horizontal-nav .nav-item .ui-icon{
  width:16px !important;
  height:16px !important;
}

.admin-app-horizontal .admin-header-actions{
  display:flex !important;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  min-width:max-content;
  flex:none;
}

.admin-app-horizontal .admin-content{
  width:100%;
  max-width:1440px;
  margin:0 auto;
}

/* Make the dashboard breathe instead of inheriting sidebar/grid behavior. */
.admin-app-horizontal .admin-welcome-row,
.admin-app-horizontal .dashboard-main-grid,
.admin-app-horizontal .dashboard-metrics,
.admin-app-horizontal .view-top{
  position:relative;
}

@media(max-width:1180px){
  .admin-app-horizontal .admin-nav-header{
    grid-template-columns:auto minmax(0,1fr) auto !important;
    gap:14px;
    padding:0 20px;
  }
  .admin-app-horizontal .admin-horizontal-nav{
    justify-content:flex-start;
  }
}

@media(max-width:900px){
  .admin-app-horizontal .admin-nav-header{
    position:sticky !important;
    display:flex !important;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    padding:10px 14px;
    min-height:auto;
  }
  .admin-app-horizontal .admin-brand{margin-right:auto}
  .admin-app-horizontal .admin-horizontal-nav{
    order:3;
    flex:1 0 100%;
    width:100%;
    justify-content:flex-start;
    padding-bottom:2px;
  }
  .admin-app-horizontal .admin-header-actions{
    margin-left:auto;
  }
}

@media(max-width:640px){
  .admin-app-horizontal .admin-horizontal-nav .nav-item{
    padding:9px 12px;
    font-size:11px;
  }
  .admin-app-horizontal .admin-horizontal-nav .nav-item span{
    display:none !important;
  }
}

/* =========================================================
   v2.8.2 — FINAL UX POLISH
   ========================================================= */
.admin-app-horizontal .admin-nav-header{
  min-height:84px !important;
  padding:0 28px;
  grid-template-columns:190px minmax(0,1fr) 225px !important;
  gap:18px;
  background:rgba(244,244,240,.94);
  border-bottom:1px solid rgba(16,17,18,.06);
}
.admin-app-horizontal .admin-brand{min-width:0;white-space:nowrap}
.admin-app-horizontal .admin-horizontal-nav{gap:2px !important;justify-content:center !important}
.admin-app-horizontal .admin-horizontal-nav .nav-item{padding:10px 9px !important;font-size:11px !important;letter-spacing:-.01em}
.admin-app-horizontal .admin-horizontal-nav .nav-item b{font-weight:800}
.admin-app-horizontal .admin-header-actions{gap:7px !important}
.admin-app-horizontal .admin-public-link,.admin-app-horizontal .header-logout{font-size:10px !important;white-space:nowrap}
.admin-app-horizontal .admin-public-link{padding:10px 8px !important}
.admin-app-horizontal .header-logout{padding:10px 12px !important}

/* Customer loyalty card: force readable contrast regardless of legacy rules. */
.account-page-body .account-stat-points{
  background:#111 !important;
  color:#fff !important;
  border-color:#111 !important;
}
.account-page-body .account-stat-points > div:last-child{min-width:0}
.account-page-body .account-stat-points span{color:#bdbdb7 !important;font-size:10px !important;text-transform:uppercase;letter-spacing:.12em;font-weight:800}
.account-page-body .account-stat-points strong{display:block !important;color:#fff !important;font:800 45px/1 "Host Grotesk" !important;letter-spacing:-.06em !important;margin:5px 0 !important}
.account-page-body .account-stat-points small{display:block !important;color:#8e8e88 !important;font-size:10px !important}
.account-page-body .account-stat-points .stat-icon{background:#2b2b2b !important;color:#fff !important}

.cancel-appointment-button{
  border:1px solid #deded8;
  background:#fff;
  color:#777;
  border-radius:10px;
  padding:7px 10px;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
  transition:.18s;
}
.cancel-appointment-button:hover{border-color:#c99b55;color:#8a6530;background:#fffaf1}
.cancel-modal-overlay{position:fixed;inset:0;z-index:5000;background:rgba(17,17,17,.48);backdrop-filter:blur(7px);display:grid;place-items:center;padding:20px}
.cancel-modal{position:relative;width:min(560px,100%);background:#fffdf8;border:1px solid #ead8b8;border-radius:26px;padding:30px;box-shadow:0 35px 100px rgba(20,15,10,.28)}
.cancel-modal-close{position:absolute;top:15px;right:15px;width:34px;height:34px;border:0;border-radius:50%;background:#f1eee7;color:#777;font-size:21px;cursor:pointer}
.cancel-modal h2{font:800 36px/.98 "Host Grotesk";letter-spacing:-.06em;margin:8px 35px 8px 0}
.cancel-modal-lead{color:#777;font-size:13px;margin:0 0 22px}
.cancel-penalty-warning,.cancel-safe{display:flex;gap:13px;padding:16px;border-radius:18px;margin-bottom:22px}
.cancel-penalty-warning{background:#fff3e2;border:1px solid #edd0a1;color:#5d4628}
.cancel-safe{background:#eef7ed;border:1px solid #cfe3ca;color:#315b34}
.cancel-warning-icon,.cancel-safe>span{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;flex:none;font-weight:900}
.cancel-warning-icon{background:#c48e3d;color:#fff}.cancel-safe>span{background:#d8ead3;color:#2f6733}
.cancel-penalty-warning strong,.cancel-safe strong{font-size:13px}.cancel-penalty-warning p,.cancel-safe p{font-size:12px;line-height:1.5;margin:5px 0 0;color:#7d6a51}
.cancel-safe p{color:#647066}
.cancel-penalty-amount{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:12px;padding-top:11px;border-top:1px solid rgba(125,88,35,.15);font-size:11px}
.cancel-penalty-amount strong{font:800 22px "Host Grotesk"}
.cancel-modal-actions{display:flex;justify-content:flex-end;gap:9px}
.cancel-modal-actions button{min-width:130px}

/* When a service has no configured combo, keep the flow clean: no empty suggestion card. */
.service-step-actions{justify-content:flex-end;margin-top:18px}

@media(max-width:1180px){
  .admin-app-horizontal .admin-nav-header{grid-template-columns:175px minmax(0,1fr) 190px !important;padding:0 18px;gap:10px}
  .admin-app-horizontal .admin-horizontal-nav .nav-item{padding-left:7px !important;padding-right:7px !important}
  .admin-app-horizontal .admin-public-link{display:none}
}
@media(max-width:900px){
  .admin-app-horizontal .admin-nav-header{padding:10px 14px;min-height:auto}
  .admin-app-horizontal .admin-horizontal-nav .nav-item{padding:9px 12px !important}
}
@media(max-width:650px){
  .cancel-modal{padding:24px;border-radius:22px}
  .cancel-modal h2{font-size:30px}
  .cancel-modal-actions{flex-direction:column-reverse}
  .cancel-modal-actions button{width:100%}
}

/* v2.8.3 booking summary fixes */
.final-booking-mini:has(.final-booking-extra){grid-template-columns:1.1fr .95fr .7fr 1.2fr}
.final-booking-extra{grid-column:auto}
.final-booking-extra strong{display:block;white-space:normal}
.login-summary span b{font-weight:900}
@media(max-width:900px){.final-booking-mini:has(.final-booking-extra){grid-template-columns:1fr 1fr}.final-booking-extra{grid-column:1/-1}}
@media(max-width:560px){.final-booking-mini:has(.final-booking-extra){grid-template-columns:1fr}}
/* =========================================================
   v2.9 — BarberPro SaaS Control Plane
   ========================================================= */
.superadmin-page{min-height:100vh;background:radial-gradient(circle at 90% 8%,rgba(223,255,0,.10),transparent 26rem),var(--paper)}
.super-topbar{height:78px;position:sticky;top:0;z-index:100;background:rgba(244,244,240,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line);padding:0 clamp(18px,4vw,54px);display:flex;align-items:center;justify-content:space-between}
.super-nav{display:flex;align-items:center;gap:10px}.super-context{padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:11px;font-weight:800;color:#666}
.super-shell{max-width:1480px;margin:auto;padding:38px clamp(18px,4vw,54px) 100px}.super-hero{min-height:250px;border:1px solid var(--line);border-radius:30px;padding:38px 42px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;background:radial-gradient(circle at 90% 10%,rgba(223,255,0,.22),transparent 19rem),linear-gradient(135deg,#fff,#f1f1ec);box-shadow:var(--shadow-sm);overflow:hidden}.super-hero h1{font:800 clamp(50px,6vw,82px)/.86 "Host Grotesk";letter-spacing:-.075em;margin:12px 0 17px}.super-hero h1 span{color:#888}.super-hero p{max-width:650px;color:var(--muted);line-height:1.55}.big-action{padding:16px 20px;white-space:nowrap}.sa-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:16px 0}.sa-metrics>div{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px 21px;box-shadow:var(--shadow-sm)}.sa-metrics span,.sa-metrics small{display:block;color:#777;font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.sa-metrics strong{display:block;font:800 38px/1 "Host Grotesk";letter-spacing:-.06em;margin:10px 0 7px}.sa-metrics small{text-transform:none;letter-spacing:0;font-size:11px;font-weight:500;color:#999}.sa-toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:36px 0 15px}.sa-toolbar h2{font:800 35px/1 "Host Grotesk";letter-spacing:-.05em;margin:8px 0 0}.sa-toolbar-actions{display:flex;gap:8px}.sa-toolbar-actions input{width:min(360px,48vw);border:1px solid var(--line);background:#fff;border-radius:13px;padding:12px 14px;outline:none}.sa-table-card,.sa-panel{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow-sm);overflow:hidden}.sa-table-wrap{overflow:auto}.sa-table{width:100%;border-collapse:collapse;min-width:940px}.sa-table th{text-align:left;padding:14px 20px;background:#f6f6f2;color:#888;font-size:9px;text-transform:uppercase;letter-spacing:.15em}.sa-table td{padding:17px 20px;border-top:1px solid #ededE8;vertical-align:middle}.sa-name{display:flex;align-items:center;gap:12px}.sa-avatar{width:38px;height:38px;border-radius:12px;background:#171717;color:#dfff00;display:grid;place-items:center;font:800 14px "Host Grotesk"}.sa-name strong,.sa-domain strong{display:block;font-weight:800}.sa-name small,.sa-domain small,.sa-table td>small,.plan-card>p{display:block;color:#999;font-size:10px;margin-top:4px}.sa-plan{font-weight:800}.sa-badge{display:inline-flex;padding:7px 10px;border-radius:999px;font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.sa-badge.ok{background:#e8f5ea;color:#236a31}.sa-badge.trial{background:#fff2d8;color:#875b16}.sa-badge.bad{background:#ffe9e7;color:#8b2119}.sa-badge.neutral{background:#eee;color:#666}.sa-onboarding{font-size:10px;font-weight:800;padding:7px 9px;border-radius:9px;background:#f0f0eb;color:#666}.sa-lower{display:grid;grid-template-columns:1.55fr .75fr;gap:16px;margin-top:16px}.sa-panel{padding:26px}.sa-panel .panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.sa-panel h2{font:800 28px/1 "Host Grotesk";letter-spacing:-.05em;margin:8px 0}.sa-panel h3{font:800 20px "Host Grotesk";margin:5px 0}.sa-panel p{color:var(--muted);font-size:12px}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.plan-card{border:1px solid var(--line);border-radius:19px;padding:18px;background:#fafaf7}.plan-card>div{display:flex;justify-content:space-between;align-items:center}.sa-plan-name{font:800 14px "Host Grotesk"}.sa-plan-status{font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.sa-plan-status.on{color:#2c7b39}.sa-plan-status.off{color:#999}.plan-card>strong{display:block;font:800 32px "Host Grotesk";letter-spacing:-.06em;margin-top:20px}.plan-card>strong small{font:500 11px "DM Sans";letter-spacing:0;color:#999}.plan-features{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0}.plan-features span{padding:6px 8px;border-radius:8px;background:#eee;color:#666;font-size:9px;font-weight:800}.sa-log{display:grid;margin-top:12px}.sa-log>div{padding:13px 0;border-top:1px solid #eee;display:flex;flex-direction:column;gap:4px}.sa-log span{font-size:11px;font-weight:800}.sa-log small{font-size:9px;color:#999}.sa-empty{padding:30px;text-align:center;color:#999;font-size:12px}.sa-modal{max-width:720px;max-height:90vh;overflow:auto}.sa-url-preview{padding:12px 14px;border:1px dashed #d9d9d2;border-radius:13px;background:#f7f7f3;font-size:12px;color:#888}.sa-url-preview strong{color:#111}.sa-warning{font-size:11px;color:#875b16}.sa-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:20px 0}.sa-detail-grid>div{padding:14px;border-radius:15px;background:#f5f5f1}.sa-detail-grid span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#999;font-weight:800}.sa-detail-grid strong{display:block;margin-top:6px;font-size:12px}.sa-domain-actions{display:flex;gap:8px;margin:14px 0}.sa-link{text-decoration:none;display:inline-flex;align-items:center}.sa-dns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.sa-dns>div{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fafaf7}.sa-dns strong,.sa-dns span,.sa-dns small{display:block}.sa-dns strong{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.sa-dns span{font-size:12px;font-weight:800;margin-top:6px}.sa-dns small{font-size:9px;color:#999;margin-top:5px}.sa-admin-list{display:grid;margin-top:10px}.sa-admin-list>div{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid #eee}.sa-admin-list strong,.sa-admin-list small{display:block}.sa-admin-list strong{font-size:12px}.sa-admin-list small{font-size:10px;color:#999;margin-top:3px}.sa-checks{display:flex;flex-wrap:wrap;gap:9px}.sa-checks label{display:flex;gap:7px;align-items:center;padding:10px 12px;background:#f4f4ef;border-radius:11px;font-size:11px;font-weight:800}.sa-checks input{accent-color:#111}
@media(max-width:1050px){.sa-metrics{grid-template-columns:repeat(3,1fr)}.sa-lower{grid-template-columns:1fr}.plan-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.super-hero{padding:28px;display:block}.big-action{margin-top:20px}.sa-metrics{grid-template-columns:repeat(2,1fr)}.sa-toolbar{display:block}.sa-toolbar-actions{margin-top:12px}.sa-toolbar-actions input{width:100%}.sa-detail-grid{grid-template-columns:1fr 1fr}.sa-dns{grid-template-columns:1fr}.plan-grid{grid-template-columns:1fr}.super-nav .super-context{display:none}}
@media(max-width:460px){.sa-metrics{grid-template-columns:1fr}.super-shell{padding-left:14px;padding-right:14px}.super-hero h1{font-size:48px}}

/* =========================================================
   v2.9.1 — Super Admin compact header / resilient loading
   ========================================================= */
.super-page-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:18px 2px 22px;
}
.super-page-head h1{
  font:800 clamp(38px,4vw,58px)/.95 "Host Grotesk";
  letter-spacing:-.065em;
  margin:8px 0 8px;
}
.super-page-head p{margin:0;max-width:700px;color:var(--muted);line-height:1.5}
.super-page-head .big-action{flex:none}
.sa-load-error{
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 16px;
  padding:14px 16px;
}
.sa-load-error strong{display:block;font-size:12px}
.sa-load-error small{color:#7c5b57;flex:1;font-size:11px;line-height:1.45}
.sa-load-error button{flex:none}
.loading{min-height:220px;background:#fff;border:1px solid var(--line);border-radius:24px;display:flex;align-items:center;justify-content:center;gap:9px;color:#999}
.loading-dot{width:7px;height:7px;border-radius:50%;background:#aaa;animation:saPulse 1s ease-in-out infinite}
@keyframes saPulse{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}
.sa-link.disabled{opacity:.55;pointer-events:none}
@media(max-width:720px){.super-page-head{align-items:flex-start;flex-direction:column;padding-top:12px}.super-page-head .big-action{width:100%}.sa-load-error{align-items:flex-start;flex-wrap:wrap}.sa-load-error small{flex-basis:100%}}

/* ─────────────────────────────────────────────────────────────
   BARBERPRO · SUPER ADMIN v2.10
   ───────────────────────────────────────────────────────────── */
.superadmin-page{background:#f3f3ee;color:#151515;font-family:"DM Sans",sans-serif;min-height:100vh}
.superadmin-page .super-topbar{height:74px;background:rgba(248,248,244,.88);border-bottom:1px solid #deded6;padding:0 clamp(18px,4vw,52px);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.superadmin-page .super-shell{max-width:1540px;padding:28px clamp(18px,4vw,52px) 90px}
.superadmin-page .brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#111;font:800 14px "Host Grotesk";letter-spacing:.04em}
.superadmin-page .brand-mark{width:36px;height:36px;border-radius:11px;background:#171717;color:#dfff00;display:grid;place-items:center;font:800 12px "Host Grotesk";box-shadow:0 6px 20px rgba(0,0,0,.12)}
.superadmin-page .super-nav{display:flex;align-items:center;gap:10px}.superadmin-page .super-context{padding:8px 11px;border:1px solid #dddcd5;background:#fff;border-radius:999px;font-size:10px;font-weight:800;color:#777}
.sa-platform-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin:12px 0 20px}.sa-platform-head h1{font:800 clamp(42px,5vw,66px)/.92 "Host Grotesk";letter-spacing:-.065em;margin:8px 0 12px}.sa-platform-head p{margin:0;color:#777;max-width:700px;line-height:1.55;font-size:13px}.sa-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.sa-health-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #dddcd5;background:#fff;border-radius:999px;font-size:10px;font-weight:800}.sa-health-pill i{width:7px;height:7px;border-radius:50%;background:#a5a59e}.sa-health-pill.good i{background:#39a64a}.sa-health-pill.warn i{background:#e3a72f}.sa-health-pill.bad i{background:#d9473f}.sa-tabs{display:flex;gap:4px;padding:5px;background:#e8e8e1;border:1px solid #deded6;border-radius:15px;margin-bottom:18px;overflow:auto}.sa-nav-item{border:0;background:transparent;padding:10px 14px;border-radius:10px;color:#73736d;font:800 11px "DM Sans";white-space:nowrap;cursor:pointer}.sa-nav-item:hover{color:#111}.sa-nav-item.active{background:#171717;color:#fff;box-shadow:0 5px 16px rgba(0,0,0,.1)}
.sa-metrics{display:grid;gap:11px;margin:0 0 16px}.sa-metrics-6{grid-template-columns:repeat(6,1fr)}.sa-metrics-4{grid-template-columns:repeat(4,1fr)}.sa-metric{background:#fff;border:1px solid #deded6;border-radius:20px;padding:18px 19px;box-shadow:0 8px 30px rgba(20,20,15,.035)}.sa-metric span{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:9px;font-weight:800;color:#999}.sa-metric strong{display:block;font:800 32px/1 "Host Grotesk";letter-spacing:-.06em;margin:9px 0 6px}.sa-metric small{display:block;font-size:10px;color:#999}.sa-metric.good strong{color:#2f813c}.sa-metric.bad strong{color:#c73831}.sa-metric.trial strong{color:#a36d1c}
.sa-overview-grid{display:grid;grid-template-columns:1.45fr .8fr;gap:14px;margin-bottom:14px}.sa-panel{background:#fff;border:1px solid #deded6;border-radius:24px;padding:24px;box-shadow:0 8px 30px rgba(20,20,15,.035);overflow:hidden;margin-bottom:14px}.sa-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:17px}.sa-panel-head h2{font:800 27px/1 "Host Grotesk";letter-spacing:-.045em;margin:7px 0}.sa-panel-head h3{font:800 18px "Host Grotesk";margin:5px 0}.sa-panel-head p{margin:0;color:#888;font-size:11px;line-height:1.5}.sa-health-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.sa-health-card{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid #e7e7e0;background:#fafaf7;border-radius:14px}.sa-health-card.ok{border-color:#dcebdd}.sa-health-card.bad{border-color:#f0d2cf;background:#fff8f7}.sa-health-icon{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:#ecece6;font-size:12px;font-weight:900}.sa-health-card.ok .sa-health-icon{background:#e4f4e5;color:#2f813c}.sa-health-card.bad .sa-health-icon{background:#ffe5e2;color:#bd332b}.sa-health-card strong,.sa-health-card small{display:block}.sa-health-card strong{font-size:10px}.sa-health-card small{font-size:9px;color:#999;margin-top:2px}
.sa-alert-list{display:grid}.sa-alert-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid #ecece6}.sa-alert-row:first-child{border-top:0}.sa-alert-dot{width:8px;height:8px;border-radius:50%;background:#aaa;flex:none}.sa-alert-row.warning .sa-alert-dot{background:#d99a2c}.sa-alert-row.critical .sa-alert-dot{background:#d5423b}.sa-alert-row>div{min-width:0;flex:1}.sa-alert-row strong,.sa-alert-row small{display:block}.sa-alert-row strong{font-size:11px}.sa-alert-row small{font-size:9px;color:#999;margin-top:3px}.sa-alert-row .ghost{padding:7px 9px;font-size:9px}.sa-empty.compact{padding:15px 0;text-align:left}.sa-empty.compact strong,.sa-empty.compact span{display:block}.sa-empty.compact span{color:#999;font-size:10px;margin-top:4px}
.sa-table-card{background:#fff;border:1px solid #deded6;border-radius:20px;overflow:hidden}.sa-table-wrap{overflow:auto}.sa-table{width:100%;border-collapse:collapse;min-width:1000px}.sa-table th{text-align:left;padding:12px 17px;background:#f6f6f1;color:#999;font-size:8px;text-transform:uppercase;letter-spacing:.14em}.sa-table td{padding:14px 17px;border-top:1px solid #ecece6;vertical-align:middle}.sa-name{display:flex;align-items:center;gap:10px}.sa-avatar{width:35px;height:35px;border-radius:11px;background:#171717;color:#dfff00;display:grid;place-items:center;font:800 11px "Host Grotesk";flex:none}.sa-name strong,.sa-name small,.sa-domain strong,.sa-domain small,.sa-table td>small{display:block}.sa-name strong{font-size:11px}.sa-name small,.sa-domain small,.sa-table td>small{font-size:9px;color:#999;margin-top:3px}.sa-plan{font-size:11px;font-weight:800}.sa-domain strong{font-size:10px}.sa-badge{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:8px;text-transform:uppercase;letter-spacing:.09em;font-weight:900;white-space:nowrap}.sa-badge.ok{background:#e6f4e7;color:#2b7135}.sa-badge.trial{background:#fff0d5;color:#8c601b}.sa-badge.bad{background:#ffe7e4;color:#92251e}.sa-badge.neutral{background:#eee;color:#666}.sa-onboarding{display:inline-flex;padding:6px 8px;background:#f0f0eb;border-radius:8px;font-size:8px;font-weight:900;color:#6d6d66}.sa-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px;padding:0 2px;color:#777;font-size:11px}.sa-toolbar strong{color:#111;font-size:16px}.sa-toolbar-actions{display:flex;gap:8px}.sa-toolbar-actions input{width:min(420px,55vw);border:1px solid #dcdcd5;background:#fff;border-radius:12px;padding:11px 13px;outline:0;font:500 11px "DM Sans"}.sa-toolbar-actions input:focus{border-color:#aaa}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.plan-grid.compact{grid-template-columns:repeat(3,1fr)}.plan-card{border:1px solid #deded6;border-radius:18px;padding:17px;background:#fafaf7}.plan-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.sa-plan-name{display:block;font:800 14px "Host Grotesk"}.plan-card-top small{display:block;color:#999;font-size:9px;margin-top:2px}.sa-plan-status{font-size:8px;text-transform:uppercase;letter-spacing:.1em;font-weight:900}.sa-plan-status.on{color:#2f813c}.sa-plan-status.off{color:#999}.plan-card>strong{display:block;font:800 31px "Host Grotesk";letter-spacing:-.06em;margin:20px 0 13px}.plan-card>strong small{font:500 10px "DM Sans";color:#999;letter-spacing:0}.plan-features{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}.plan-features span{padding:6px 7px;border-radius:8px;background:#eee;color:#666;font-size:8px;font-weight:800}.plan-card .ghost{width:100%}.sa-note{display:flex;gap:10px;align-items:flex-start;background:#f7f7f2;border:1px dashed #d6d6cc;border-radius:14px;padding:13px 15px;margin:0 0 14px}.sa-note strong{font-size:10px}.sa-note span{font-size:10px;color:#777;line-height:1.45}
.sa-wa-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#171717,#252525);color:#fff;border-radius:24px;padding:27px 28px;margin-bottom:14px;box-shadow:0 12px 35px rgba(0,0,0,.1)}.sa-wa-hero h2{font:800 31px "Host Grotesk";letter-spacing:-.045em;margin:7px 0 8px}.sa-wa-hero p{margin:0;color:#bcbcb6;max-width:650px;font-size:11px;line-height:1.55}.sa-wa-status{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.08);font-size:9px;font-weight:900;white-space:nowrap}.sa-wa-status i{width:7px;height:7px;border-radius:50%;background:#aaa}.sa-wa-status.on i{background:#70d77a}.sa-provider-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.sa-provider-grid>div{padding:14px;border:1px solid #e4e4dd;background:#fafaf7;border-radius:14px}.sa-provider-grid span,.sa-provider-grid strong{display:block}.sa-provider-grid span{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#999;font-weight:800}.sa-provider-grid strong{font-size:11px;margin-top:7px}.platform-feature-row{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #e4e4dd;background:#fafaf7;border-radius:15px}.platform-feature-icon{width:40px;height:40px;border-radius:12px;background:#171717;color:#dfff00;display:grid;place-items:center;font:900 11px "Host Grotesk"}.platform-feature-row>div:nth-child(2){flex:1}.platform-feature-row strong,.platform-feature-row p{display:block}.platform-feature-row p{margin:4px 0 0;color:#888;font-size:10px}.pro-pill{padding:6px 8px;border-radius:999px;background:#171717;color:#dfff00;font-size:8px;font-weight:900;letter-spacing:.12em}.platform-feature-note{margin-top:10px;padding:13px 15px;background:#f7f7f2;border-radius:13px}.platform-feature-note strong,.platform-feature-note span{display:block}.platform-feature-note span{font-size:10px;color:#888;margin-top:4px}
.sa-monitor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sa-monitor-card{border:1px solid #e3e3dc;border-radius:17px;padding:16px;background:#fafaf7}.sa-monitor-top{display:flex;align-items:center;gap:9px}.sa-monitor-top>div{flex:1}.sa-monitor-top strong,.sa-monitor-top small{display:block}.sa-monitor-top strong{font-size:11px}.sa-monitor-top small{font-size:9px;color:#999;margin-top:2px}.sa-monitor-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:15px 0}.sa-monitor-stats div{background:#fff;border:1px solid #e8e8e1;border-radius:10px;padding:9px}.sa-monitor-stats span,.sa-monitor-stats strong{display:block}.sa-monitor-stats span{font-size:8px;color:#999}.sa-monitor-stats strong{font-size:16px;font-family:"Host Grotesk";margin-top:3px}.bad-text{color:#c73831}.sa-monitor-card>.ghost{width:100%}
.sa-log{display:grid}.sa-log>div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #ecece6}.sa-log span{font-size:10px;font-weight:800}.sa-log small{font-size:9px;color:#999}.sa-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-radius:14px;margin-bottom:13px;border:1px solid #ddd}.sa-alert strong,.sa-alert span{display:block}.sa-alert strong{font-size:11px}.sa-alert span{font-size:10px;color:#777;margin-top:3px}.sa-alert-warning{background:#fff9ec;border-color:#f1dfb7}.sa-alert-danger{background:#fff0ef;border-color:#efc9c5}.sa-warning{font-size:10px;color:#8a621c}.sa-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.sa-detail-head h2{font:800 32px "Host Grotesk";letter-spacing:-.05em;margin:7px 0 3px}.sa-detail-head p{margin:0;color:#999;font-size:10px}.sa-detail-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:18px 0}.sa-detail-kpis>div{padding:13px;background:#f6f6f1;border-radius:14px}.sa-detail-kpis span,.sa-detail-kpis strong,.sa-detail-kpis small{display:block}.sa-detail-kpis span{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#999;font-weight:800}.sa-detail-kpis strong{font:800 21px "Host Grotesk";margin-top:6px}.sa-detail-kpis small{font-size:9px;color:#999;margin-top:2px}.sa-action-box{padding:18px;border:1px solid #e2e2db;border-radius:17px;margin-top:12px;background:#fcfcf9}.sa-action-row{display:flex;gap:8px;flex-wrap:wrap}.danger-action{color:#a7352d!important;border-color:#eccbc7!important}.hidden-field{display:none!important}.sa-domain-actions{display:flex;gap:8px;margin-top:11px}.sa-link{text-decoration:none;display:inline-flex;align-items:center}.sa-link.disabled{opacity:.5;pointer-events:none}.sa-dns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.sa-dns>div{padding:12px;border:1px solid #e3e3dc;border-radius:12px;background:#fff}.sa-dns strong,.sa-dns span,.sa-dns small{display:block}.sa-dns strong{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#999}.sa-dns span{font-size:10px;font-weight:800;margin-top:5px}.sa-dns small{font-size:8px;color:#999;margin-top:3px}.sa-admin-list,.sa-addon-list{display:grid}.sa-admin-list>div,.sa-addon-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-top:1px solid #ecece6}.sa-admin-list strong,.sa-admin-list small,.sa-addon-list strong,.sa-addon-list small{display:block}.sa-admin-list strong,.sa-addon-list strong{font-size:10px}.sa-admin-list small,.sa-addon-list small{font-size:9px;color:#999;margin-top:2px}.sa-modal{max-width:820px;max-height:92vh;overflow:auto}.sa-url-preview{padding:11px 13px;border:1px dashed #d5d5cc;border-radius:12px;background:#f7f7f2;color:#777;font-size:10px;margin-bottom:2px}
@media(max-width:1200px){.sa-metrics-6{grid-template-columns:repeat(3,1fr)}.sa-health-grid{grid-template-columns:repeat(3,1fr)}.sa-overview-grid{grid-template-columns:1fr}.sa-provider-grid{grid-template-columns:repeat(2,1fr)}.sa-monitor-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sa-platform-head{display:block}.sa-head-actions{justify-content:flex-start;margin-top:16px}.sa-tabs{margin-top:16px}.sa-metrics-6,.sa-metrics-4{grid-template-columns:repeat(2,1fr)}.sa-health-grid,.plan-grid,.plan-grid.compact,.sa-monitor-grid{grid-template-columns:1fr}.sa-toolbar{display:block}.sa-toolbar-actions{margin-top:9px}.sa-toolbar-actions input{width:100%}.sa-provider-grid,.sa-detail-kpis{grid-template-columns:1fr 1fr}.sa-wa-hero{display:block}.sa-wa-status{margin-top:15px}.superadmin-page .super-nav .super-context{display:none}}
@media(max-width:480px){.sa-metrics-6,.sa-metrics-4,.sa-provider-grid,.sa-detail-kpis{grid-template-columns:1fr}.sa-platform-head h1{font-size:45px}.superadmin-page .super-topbar{padding:0 14px}.superadmin-page .super-shell{padding-left:14px;padding-right:14px}.sa-panel{padding:18px}.sa-action-row>*{width:100%}}

/* =========================================================
   v2.11 — Product UI refresh
   Clean, dense and operational: inspired by modern business
   consoles such as Meta Business and Google admin products.
   ========================================================= */
:root{
  --ui-bg:#f7f8fa;
  --ui-surface:#ffffff;
  --ui-surface-2:#f8f9fb;
  --ui-line:#e3e6ea;
  --ui-line-strong:#d4d8de;
  --ui-text:#1f2328;
  --ui-muted:#6b7280;
  --ui-subtle:#8a919b;
  --ui-blue:#1877f2;
  --ui-blue-soft:#eaf3ff;
  --ui-green:#1f8f4d;
  --ui-green-soft:#e9f7ef;
  --ui-amber:#a66a00;
  --ui-amber-soft:#fff5dc;
  --ui-red:#c0392b;
  --ui-red-soft:#fff0ee;
  --ui-shadow:0 1px 2px rgba(16,24,40,.04),0 8px 24px rgba(16,24,40,.035);
  --ui-shadow-hover:0 8px 28px rgba(16,24,40,.08);
  --ui-radius:12px;
}

html,body{background:var(--ui-bg);color:var(--ui-text);font-family:"Inter","DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{line-height:1.45}
button,input,select,textarea{font-family:inherit}

/* ---------- Business admin: one header, no duplicated chrome ---------- */
.admin-page{background:var(--ui-bg)}
.admin-app-horizontal{min-height:100vh;background:var(--ui-bg)!important}
.admin-app-horizontal .admin-nav-header{
  position:sticky;top:0;z-index:100;height:58px;min-height:58px;padding:0 24px;
  display:grid;grid-template-columns:205px minmax(0,1fr) auto;gap:16px;
  background:rgba(255,255,255,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--ui-line);box-shadow:0 1px 2px rgba(16,24,40,.025)
}
.admin-brand{gap:9px;min-width:0;color:var(--ui-text)!important}
.admin-brand .brand-mark{width:32px;height:32px;border-radius:9px;background:#17191c;color:#fff;box-shadow:none}
.admin-brand strong{font:700 13px/1 "Inter",sans-serif;letter-spacing:-.02em}
.admin-brand small{margin-top:3px;font-size:8px;letter-spacing:.11em;color:var(--ui-subtle)}
.admin-horizontal-nav{justify-content:flex-start;gap:2px;overflow:auto;scrollbar-width:none}
.admin-horizontal-nav::-webkit-scrollbar{display:none}
.admin-horizontal-nav .nav-item{
  display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 12px;border:1px solid transparent;
  border-radius:9px;color:#5f6670;font-size:12px;font-weight:600;transition:background .16s,color .16s,border-color .16s
}
.admin-horizontal-nav .nav-item:hover{background:#f3f5f7;color:var(--ui-text);transform:none}
.admin-horizontal-nav .nav-item.active{background:var(--ui-blue-soft);color:#1267d8;border-color:#d6e8ff;box-shadow:none}
.admin-horizontal-nav .nav-item .ui-icon{width:15px;height:15px}
.admin-header-actions{gap:6px}
.admin-public-link{height:34px;padding:0 9px;color:#66707b;font-size:11px;border-radius:8px}
.admin-public-link:hover{background:#f3f5f7;color:var(--ui-text)}
.header-logout{height:34px;padding:0 12px;border:1px solid var(--ui-line);border-radius:8px;background:#fff;color:#30343a;font:600 11px "Inter",sans-serif;box-shadow:none}
.header-logout:hover{background:#f5f6f8;box-shadow:none;transform:none}
.admin-app-horizontal .admin-content{max-width:1440px;margin:0 auto;padding:28px 32px 72px}
.admin-app-horizontal .eyebrow{font-size:10px;letter-spacing:.08em;color:#7a828c;font-weight:700}
.admin-welcome-row{align-items:center;gap:20px;margin:0 0 22px}
.admin-welcome-row h1{font:700 30px/1.12 "Inter",sans-serif!important;letter-spacing:-.035em;margin:7px 0 7px;max-width:none}
.admin-welcome-row h1 span{color:#66707b}
.admin-welcome-row p{font-size:13px;color:var(--ui-muted)}
.welcome-actions{gap:7px}
.primary,.button{height:36px;padding:0 14px;border-radius:8px;background:var(--ui-blue);color:#fff;font-size:12px;font-weight:700;box-shadow:none}
.primary:hover,.button:hover{background:#1269dc;transform:none;box-shadow:0 4px 12px rgba(24,119,242,.16)}
.ghost{height:36px;padding:0 13px;border:1px solid var(--ui-line);border-radius:8px;background:#fff;color:#30343a;font-size:12px;font-weight:600}
.ghost:hover{background:#f6f7f8;border-color:var(--ui-line-strong);transform:none}
.metrics-row.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.admin-app-horizontal .metric-card{min-height:105px;padding:16px 17px;border:1px solid var(--ui-line);border-radius:12px;background:var(--ui-surface);box-shadow:var(--ui-shadow)}
.admin-app-horizontal .metric-card strong{font:700 25px/1.05 "Inter",sans-serif;letter-spacing:-.025em}
.admin-app-horizontal .metric-card span{font-size:10px;font-weight:700;color:#747c86;letter-spacing:.03em}
.admin-app-horizontal .metric-card small{font-size:10px;color:#969da6}
.dashboard-main-grid{grid-template-columns:minmax(0,1fr) 390px;gap:14px}
.panel-card{border:1px solid var(--ui-line)!important;border-radius:12px!important;background:#fff!important;box-shadow:var(--ui-shadow)!important}
.dashboard-summary-card,.upcoming-card{min-height:0}
.dashboard-summary-card{padding:22px!important}
.upcoming-card{padding:19px!important}
.dashboard-summary-card h2,.upcoming-head h2{font:700 20px/1.2 "Inter",sans-serif!important;letter-spacing:-.025em}
.panel-subtitle{font-size:12px;color:var(--ui-muted)!important}
.summary-mini-grid{gap:8px;margin:20px 0}
.summary-mini-grid>div{padding:14px;border:1px solid var(--ui-line);border-radius:10px;background:#fafbfc}
.summary-mini-grid strong{font:700 21px/1.1 "Inter",sans-serif}
.dashboard-actions-grid{gap:6px}
.dashboard-actions-grid button{grid-template-columns:34px 1fr 16px;padding:12px 13px;border:1px solid var(--ui-line);background:#fff;border-radius:10px;transition:.16s}
.dashboard-actions-grid button:hover{border-color:#cbd1d8;transform:none;box-shadow:var(--ui-shadow-hover)}
.dashboard-actions-grid button>.ui-icon:first-child{width:16px;height:16px;padding:8px;background:#f2f5f8;border-radius:8px;color:#5e6874}
.dashboard-actions-grid strong{font-size:11px}.dashboard-actions-grid small{font-size:10px}
.upcoming-item{padding:12px 0}
.upcoming-time strong,.upcoming-price{font-family:"Inter",sans-serif;font-weight:700}

/* All internal admin surfaces inherit the same restrained component language. */
.admin-app-horizontal .view-top{margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.admin-app-horizontal .view-top h1{font:700 25px/1.2 "Inter",sans-serif!important;letter-spacing:-.025em;margin:5px 0 0}
.admin-app-horizontal .view-badge{border:1px solid var(--ui-line);background:#fff;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:700;color:#69727d}
.admin-app-horizontal .agenda-card,.admin-app-horizontal .agenda-settings,.admin-app-horizontal .service-panel,.admin-app-horizontal .customer-panel,.admin-app-horizontal .loyalty-panel,.admin-app-horizontal .marketing-panel,.admin-app-horizontal .settings-panel{box-shadow:var(--ui-shadow)!important}
.admin-app-horizontal input,.admin-app-horizontal select,.admin-app-horizontal textarea{border:1px solid var(--ui-line);border-radius:8px;background:#fff;color:var(--ui-text)}
.admin-app-horizontal input:focus,.admin-app-horizontal select:focus,.admin-app-horizontal textarea:focus{outline:none;border-color:#9fc7fa;box-shadow:0 0 0 3px rgba(24,119,242,.10)}
.admin-app-horizontal .notice{border:1px solid var(--ui-line);border-radius:10px;background:#f7f8fa;color:#5e6670}
.admin-app-horizontal .notice.success{background:var(--ui-green-soft);border-color:#ccebd9;color:#247444}
.admin-app-horizontal .notice.error{background:var(--ui-red-soft);border-color:#f1d0cb;color:#a83226}

/* ---------- Super Admin: compact global navigation ---------- */
.superadmin-page{background:var(--ui-bg)!important;color:var(--ui-text)!important;font-family:"Inter","DM Sans",system-ui,sans-serif!important}
.superadmin-page .super-topbar{
  height:58px;padding:0 24px;position:sticky;top:0;z-index:200;
  display:grid;grid-template-columns:190px minmax(0,1fr) auto;gap:18px;
  background:rgba(255,255,255,.97);border-bottom:1px solid var(--ui-line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)
}
.superadmin-page .super-topbar .brand{font:700 13px/1 "Inter",sans-serif;letter-spacing:-.02em}
.superadmin-page .super-topbar .brand-mark{width:32px;height:32px;border-radius:9px;background:#17191c;color:#dfff00;box-shadow:none}
.super-nav-tabs{display:flex;align-items:center;gap:2px;overflow:auto;scrollbar-width:none}
.super-nav-tabs::-webkit-scrollbar{display:none}
.super-nav-tabs .sa-nav-item{height:34px;padding:0 11px;border:1px solid transparent;border-radius:8px;background:transparent;color:#626b75;font:600 11px "Inter",sans-serif;cursor:pointer;white-space:nowrap}
.super-nav-tabs .sa-nav-item:hover{background:#f3f5f7;color:var(--ui-text)}
.super-nav-tabs .sa-nav-item.active{background:var(--ui-blue-soft);border-color:#d6e8ff;color:#1267d8}
.super-nav-actions{display:flex;align-items:center;gap:7px;min-width:max-content}
.superadmin-page .super-context{padding:6px 9px;border:1px solid var(--ui-line);background:#fff;border-radius:999px;font-size:9px;font-weight:700;color:#737b85}
.superadmin-page .super-nav-actions .ghost{height:34px}
.superadmin-page .super-shell{max-width:1440px;padding:26px 32px 70px;margin:0 auto}
.superadmin-page .sa-platform-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 17px}
.superadmin-page .sa-platform-head h1{font:700 28px/1.15 "Inter",sans-serif;letter-spacing:-.035em;margin:5px 0 5px}
.superadmin-page .sa-platform-head p{font-size:12px;color:var(--ui-muted);margin:0}
.superadmin-page .sa-head-actions{display:flex;align-items:center;gap:7px}
.superadmin-page .sa-health-pill{height:34px;padding:0 10px;border:1px solid var(--ui-line);border-radius:999px;background:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;gap:7px}
.superadmin-page .sa-health-pill i{width:7px;height:7px;border-radius:50%;background:#aab1b9}
.superadmin-page .sa-health-pill.good{color:#247444}.superadmin-page .sa-health-pill.good i{background:#31a463}
.superadmin-page .sa-health-pill.warn{color:#96630d}.superadmin-page .sa-health-pill.warn i{background:#e2a126}
.superadmin-page .sa-health-pill.bad{color:#a83226}.superadmin-page .sa-health-pill.bad i{background:#d94c40}
.superadmin-page .sa-metrics{gap:10px}
.superadmin-page .sa-metric{min-height:100px;padding:15px 16px;background:#fff;border:1px solid var(--ui-line);border-radius:12px;box-shadow:var(--ui-shadow)}
.superadmin-page .sa-metric>span{font-size:9px;letter-spacing:.05em;color:#7b838d;font-weight:700}
.superadmin-page .sa-metric>strong{font:700 25px/1.1 "Inter",sans-serif;letter-spacing:-.03em;margin-top:8px}
.superadmin-page .sa-metric>small{font-size:9px;color:#969da6;margin-top:5px}
.superadmin-page .sa-panel{border:1px solid var(--ui-line)!important;border-radius:12px!important;background:#fff!important;box-shadow:var(--ui-shadow)!important;padding:20px!important}
.superadmin-page .sa-panel-head h2{font:700 19px/1.2 "Inter",sans-serif!important;letter-spacing:-.025em;margin:5px 0 4px}
.superadmin-page .sa-panel-head p{font-size:11px;color:var(--ui-muted)}
.superadmin-page .sa-health-grid{gap:7px}
.superadmin-page .sa-health-card{border:1px solid var(--ui-line);border-radius:9px;background:#fafbfc;padding:11px 12px}
.superadmin-page .sa-health-card.ok{background:#fbfdfb;border-color:#e0eee5}
.superadmin-page .sa-health-icon{width:25px;height:25px;border-radius:7px;font-size:11px;background:#eef2f5;color:#69737e}
.superadmin-page .sa-health-card.ok .sa-health-icon{background:var(--ui-green-soft);color:var(--ui-green)}
.superadmin-page .sa-health-card.bad .sa-health-icon{background:var(--ui-red-soft);color:var(--ui-red)}
.superadmin-page .sa-health-card strong{font-size:10px}.superadmin-page .sa-health-card small{font-size:9px;color:#9098a1}
.superadmin-page .sa-tabs{display:none!important}
.superadmin-page .sa-table-card{border:1px solid var(--ui-line);border-radius:10px;box-shadow:none}
.superadmin-page .sa-table th{background:#f7f8fa;color:#7b838d;border-bottom:1px solid var(--ui-line);padding:10px 14px}
.superadmin-page .sa-table td{padding:12px 14px;border-top:1px solid #edf0f2}
.superadmin-page .sa-table tr:hover td{background:#fafbfc}
.superadmin-page .sa-avatar{width:32px;height:32px;border-radius:8px;background:#eef2f5;color:#4f5964;font:700 10px "Inter",sans-serif}
.superadmin-page .sa-badge{padding:5px 8px;border-radius:999px;font-size:8px}
.superadmin-page .sa-badge.ok{background:var(--ui-green-soft);color:#247444}.superadmin-page .sa-badge.trial{background:var(--ui-amber-soft);color:#94610c}.superadmin-page .sa-badge.bad{background:var(--ui-red-soft);color:#a83226}.superadmin-page .sa-badge.neutral{background:#eef0f2;color:#68717b}
.superadmin-page .plan-card{border:1px solid var(--ui-line);border-radius:11px;background:#fff;padding:16px;box-shadow:none}
.superadmin-page .plan-card:hover{border-color:#cbd1d8;box-shadow:var(--ui-shadow-hover);transform:none}
.superadmin-page .plan-card>strong{font:700 26px/1.1 "Inter",sans-serif;letter-spacing:-.025em;margin:16px 0 12px}
.superadmin-page .plan-features span{background:#f1f3f5;color:#69727d;border-radius:7px;padding:5px 7px}
.superadmin-page .sa-alert{border-radius:10px;padding:11px 13px;margin-bottom:12px}
.superadmin-page .sa-alert-warning{background:#fffaf0;border-color:#f1dfb7}.superadmin-page .sa-alert-danger{background:#fff3f1;border-color:#f0cbc6}
.superadmin-page .sa-toolbar-actions input{height:36px;width:min(420px,55vw);border:1px solid var(--ui-line);border-radius:8px;padding:0 12px;background:#fff}
.superadmin-page .sa-wa-hero{border-radius:12px;padding:21px 22px;background:#20252b;box-shadow:none}
.superadmin-page .sa-wa-hero h2{font:700 23px/1.2 "Inter",sans-serif;letter-spacing:-.025em}
.superadmin-page .sa-provider-grid>div,.superadmin-page .sa-monitor-card{border:1px solid var(--ui-line);background:#fafbfc;border-radius:10px}
.superadmin-page .sa-action-box{border:1px solid var(--ui-line);border-radius:10px;background:#fafbfc}
.superadmin-page .sa-detail-head h2{font:700 24px/1.2 "Inter",sans-serif;letter-spacing:-.025em}
.superadmin-page .modal-card{border-radius:14px!important;box-shadow:0 24px 80px rgba(16,24,40,.18)!important}

@media(max-width:1180px){
  .admin-app-horizontal .admin-nav-header{grid-template-columns:185px minmax(0,1fr) auto;padding:0 18px;gap:10px}
  .admin-app-horizontal .admin-content,.superadmin-page .super-shell{padding-left:22px;padding-right:22px}
  .superadmin-page .super-topbar{grid-template-columns:175px minmax(0,1fr) auto;padding:0 18px;gap:10px}
}
@media(max-width:900px){
  .admin-app-horizontal .admin-nav-header{display:flex;height:58px;min-height:58px;flex-wrap:nowrap;padding:0 14px}
  .admin-horizontal-nav{flex:1;min-width:0;justify-content:flex-start}
  .admin-header-actions .admin-public-link{display:none}
  .admin-app-horizontal .admin-content{padding:22px 16px 60px}
  .metrics-row.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-main-grid{grid-template-columns:1fr}
  .upcoming-card{order:-1}
  .superadmin-page .super-topbar{grid-template-columns:auto 1fr auto;padding:0 14px}
  .superadmin-page .super-context{display:none}
  .superadmin-page .super-shell{padding:20px 16px 60px}
}
@media(max-width:640px){
  .admin-brand small{display:none}
  .admin-brand{margin-right:0}.admin-brand strong{font-size:12px}
  .admin-horizontal-nav .nav-item{height:34px;padding:0 9px;font-size:10px}
  .admin-horizontal-nav .nav-item .ui-icon{display:none}
  .header-logout{padding:0 9px;font-size:10px}
  .admin-welcome-row{align-items:flex-start;flex-direction:column}
  .admin-welcome-row h1{font-size:27px!important}
  .welcome-actions{width:100%}
  .super-nav-tabs .sa-nav-item{padding:0 8px;font-size:10px}
  .superadmin-page .sa-platform-head{align-items:flex-start;flex-direction:column}
  .superadmin-page .sa-head-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}
  .superadmin-page .sa-platform-head h1{font-size:26px}
}

/* ========================================================================
   BARBER PRO / IL SALONE — v2.12 PRODUCT UI SYSTEM
   Direction: calm, compact, coherent product UI inspired by modern business
   consoles. Marketing surfaces keep the barber identity; operational surfaces
   use a neutral product language.
   ======================================================================== */
:root{
  --ui-bg:#f7f8fa;
  --ui-surface:#ffffff;
  --ui-surface-2:#f8f9fb;
  --ui-text:#202124;
  --ui-muted:#69727d;
  --ui-subtle:#8a929c;
  --ui-line:#e1e5e9;
  --ui-blue:#1a73e8;
  --ui-blue-soft:#e8f0fe;
  --ui-green:#188038;
  --ui-green-soft:#e6f4ea;
  --ui-amber:#b06000;
  --ui-amber-soft:#fef7e0;
  --ui-red:#c5221f;
  --ui-red-soft:#fce8e6;
  --ui-shadow:0 1px 2px rgba(32,33,36,.04),0 5px 18px rgba(32,33,36,.05);
  --ui-shadow-hover:0 2px 5px rgba(32,33,36,.06),0 10px 28px rgba(32,33,36,.08);
  --public-bg:#f7f4ee;
  --public-gold:#b28a45;
}
html{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select,textarea{font-family:inherit}

/* ---------- Public customer surfaces ---------- */
.public-page,.account-page-body,.auth-page{
  background:var(--public-bg);
  color:#202124;
}
.public-page .topbar,.account-page-body .topbar,.auth-page .topbar{
  height:64px;padding:0 clamp(18px,4vw,52px);
  background:rgba(247,244,238,.96);border-bottom:1px solid #e6e0d6;
  box-shadow:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.public-page .brand,.account-page-body .brand,.auth-page .brand{
  font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:700;letter-spacing:-.02em;
}
.public-page .brand-mark,.account-page-body .brand-mark,.auth-page .brand-mark{
  width:34px;height:34px;border-radius:10px;background:#171717;color:#fff;box-shadow:none;
}
.public-page .topbar nav,.account-page-body .topbar nav{gap:3px}
.public-page .topbar nav>a:not(.brand),.account-page-body .topbar nav>a:not(.brand),
.public-page .nav-button,.account-page-body .nav-button,.auth-page .topbar>a:not(.brand){
  padding:8px 11px;border-radius:8px;color:#4b4f54;font-size:12px;font-weight:600;
}
.public-page .topbar nav>a:hover,.account-page-body .topbar nav>a:hover,.auth-page .topbar>a:not(.brand):hover{
  background:#fff;color:#202124;
}
.public-page .barber-landing-hero{
  max-width:1180px;min-height:520px;margin:0 auto;padding:72px 28px 58px;
  grid-template-columns:1.05fr .95fr;gap:70px;
}
.public-page .barber-hero-copy h1{
  font-family:Inter,sans-serif!important;font-size:clamp(52px,6.5vw,82px)!important;
  line-height:.98!important;letter-spacing:-.065em!important;font-weight:750!important;margin:16px 0 20px!important;
}
.public-page .barber-hero-copy h1 em,.public-page .barber-service-intro h2 em{color:#8b8d90;font-style:normal}
.public-page .barber-hero-copy p{font-size:16px;line-height:1.65;color:#686d73;max-width:550px}
.public-page .barber-hero-actions{gap:8px}
.public-page .hero-cta,.public-page .hero-secondary{
  min-height:42px;border-radius:9px;padding:0 15px;box-shadow:none;font-size:12px;font-weight:700;
}
.public-page .hero-cta{background:#171717}
.public-page .hero-secondary{background:transparent;border:1px solid #d9d3c9;color:#3f4348}
.public-page .barber-trust{font-size:11px;color:#777;margin-top:23px}
.public-page .barber-hero-visual{transform:none}
.public-page .barber-poster{border-radius:22px;box-shadow:0 18px 45px rgba(33,29,24,.10);background:#191817}
.public-page .hero-floating-card{border:1px solid rgba(255,255,255,.72);box-shadow:0 10px 28px rgba(32,29,25,.10);border-radius:12px}
.public-page .barber-service-intro{max-width:1180px;margin:0 auto;padding:45px 28px 24px;border-top:1px solid #e7e1d8}
.public-page .barber-service-intro h2{
  font-family:Inter,sans-serif!important;font-size:42px!important;line-height:1.03!important;
  letter-spacing:-.055em!important;font-weight:750!important;
}
.public-page .barber-experience{max-width:1180px;margin:0 auto;padding:20px 28px 72px;gap:12px}
.public-page .barber-experience article{
  border:1px solid #e2ddd5;border-radius:16px;background:rgba(255,255,255,.55);box-shadow:none;padding:24px;
}
.public-page .barber-experience h3{font-family:Inter,sans-serif;font-size:17px;letter-spacing:-.025em}
.public-page .barber-experience p{font-size:12px;line-height:1.55;color:#70757a}
.public-page .barber-cta-band{max-width:1180px;margin:0 auto 50px;border-radius:18px;padding:34px;background:#1b1a18;color:#fff;box-shadow:none}
.public-page .barber-cta-band h2{font-family:Inter,sans-serif;font-size:34px;letter-spacing:-.045em}
.public-page .site-footer{max-width:1180px;padding:22px 28px;color:#8a857d;border-top-color:#e2ddd5}

/* Booking */
body.booking-page,.booking-page{background:var(--public-bg)}
.booking-page .topbar{height:64px}
.booking-page .booking-wrap{max-width:1120px;padding:0 24px 72px}
.booking-page .booking-heading{padding:42px 0 18px;align-items:center}
.booking-page .booking-heading h2{font:750 38px/1.05 Inter,sans-serif;letter-spacing:-.05em;margin:7px 0 0}
.booking-page .booking-panel{border:1px solid #e2ddd5;border-radius:18px;padding:28px;background:#fff;box-shadow:0 8px 28px rgba(32,29,25,.055)}
.booking-page .steps{gap:4px;margin-bottom:30px}
.booking-page .step{padding:9px 10px;border-bottom:1px solid #e4e6e8;color:#969da5}
.booking-page .step span{width:28px;height:28px;border-color:#dfe3e7}
.booking-page .step small{font-size:10px}
.booking-page .step.active{border-color:#1a73e8;color:#202124}
.booking-page .step.active span{background:#1a73e8;border-color:#1a73e8}
.booking-page .step.done{border-color:#b9dfc3}
.booking-page .step.done span{background:#e6f4ea;border-color:#c8e6cf;color:#188038}
.booking-page .step-copy h2{font:700 30px/1.15 Inter,sans-serif;letter-spacing:-.035em;margin:0 0 8px}
.booking-page .step-copy p{font-size:13px;color:#69727d}
.booking-page .service-grid{gap:10px}
.booking-page .service-card,.booking-page .barber-card{
  border:1px solid #e1e5e9;background:#fff;border-radius:14px;padding:18px;box-shadow:none;
}
.booking-page .service-card:hover,.booking-page .barber-card:hover{transform:none;border-color:#b9c1c9;box-shadow:0 5px 16px rgba(32,33,36,.06)}
.booking-page .service-card.selected,.booking-page .barber-card.selected{border:2px solid #1a73e8;padding:17px;box-shadow:0 0 0 2px rgba(26,115,232,.07)}
.booking-page .service-card h3,.booking-page .barber-card h3{font:650 18px/1.2 Inter,sans-serif;letter-spacing:-.02em}
.booking-page .service-card p,.booking-page .barber-card p{font-size:12px;color:#737b84;min-height:34px}
.booking-page .service-bottom{margin-top:17px;padding-top:12px;border-top-color:#edf0f2}
.booking-page .service-bottom strong{font:700 18px Inter,sans-serif;letter-spacing:-.025em}
.booking-page .calendar-layout{gap:16px}
.booking-page .calendar-card{border:1px solid #e1e5e9;border-radius:14px;background:#fbfcfd;padding:17px}
.booking-page .calendar-head strong{font:650 16px Inter,sans-serif}
.booking-page .cal-day{height:44px;border-radius:9px;background:#fff;border-color:transparent;font-size:12px}
.booking-page .cal-day.selected{background:#1a73e8}
.booking-page .slot-grid{gap:8px}
.booking-page .slot{min-height:44px;border-radius:9px;border-color:#e1e5e9;font-size:12px;background:#fff}
.booking-page .slot.selected{background:#1a73e8;border-color:#1a73e8}
.booking-page .summary-card{border-radius:14px;background:#fff;border-color:#e1e5e9}
.booking-page .summary-card>div{padding:16px;border-bottom-color:#edf0f2}
.booking-page .summary-total{background:#202124}
.booking-page .primary,.booking-page .button{background:#1a73e8;border-radius:9px;box-shadow:none}
.booking-page .ghost{background:#fff;border-color:#d9dee3;border-radius:9px}
.booking-page .success-mark{background:#e6f4ea;color:#188038}
.booking-page .success-panel h2{font:700 34px Inter,sans-serif;letter-spacing:-.04em}

/* Auth */
.auth-page .auth-layout{max-width:1080px;min-height:calc(100vh - 64px);padding:56px 24px;grid-template-columns:minmax(0,1fr) 390px;gap:70px}
.auth-page .auth-aside{box-shadow:none;background:transparent}
.auth-page .auth-aside h1{font:700 clamp(42px,5vw,60px)/1.02 Inter,sans-serif;letter-spacing:-.055em;margin:14px 0 18px}
.auth-page .auth-aside h1 span{color:#8b8e92}
.auth-page .auth-aside p{font-size:14px;line-height:1.65;color:#697078;max-width:500px}
.auth-page .auth-card{border:1px solid #e1ddd5;border-radius:18px;background:#fff;padding:24px;box-shadow:0 14px 42px rgba(32,29,25,.08)}
.auth-page .auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border-radius:10px;background:#f1f2f3;margin-bottom:24px}
.auth-page .auth-tabs button{height:36px;border-radius:8px;font-size:12px;font-weight:650;color:#69727d}
.auth-page .auth-tabs button.active{background:#fff;color:#202124;box-shadow:0 1px 4px rgba(32,33,36,.10)}
.auth-page .auth-card #authIntro h1{font:700 30px/1.12 Inter,sans-serif;letter-spacing:-.04em;margin:9px 0 8px}
.auth-page .auth-card #authIntro p{font-size:12px;line-height:1.55;color:#737b84;margin-bottom:22px}
.auth-page .auth-card label{font-size:11px;font-weight:650;color:#4e555c}
.auth-page .auth-card input{height:44px;border:1px solid #dce1e6;border-radius:8px;background:#fff;font-size:13px;padding:0 12px}
.auth-page .auth-card input:focus{outline:none;border-color:#8ab4f8;box-shadow:0 0 0 3px rgba(26,115,232,.10)}
.auth-page .auth-card .primary{height:44px;border-radius:8px;background:#1a73e8;box-shadow:none}
.auth-page .auth-foot{font-size:11px;color:#8a929b;line-height:1.5}
.auth-page .notice{border-radius:9px;font-size:11px}

/* Account */
.account-page-body .account-shell{max-width:1120px;padding:40px 24px 70px}
.account-page-body .account-welcome{border:1px solid #e2ddd5;border-radius:18px;padding:28px;background:#fff;box-shadow:0 8px 28px rgba(32,29,25,.055)}
.account-page-body .account-welcome h1{font:700 42px/1.04 Inter,sans-serif;letter-spacing:-.05em}
.account-page-body .account-welcome h1 span{color:#8a8e93}
.account-page-body .account-welcome p{font-size:13px;color:#69727d}
.account-page-body .account-book-button{background:#1a73e8;border-radius:9px;box-shadow:none;padding:11px 14px;font-size:12px}
.account-page-body .account-stat,.account-page-body .account-panel{border-radius:14px;box-shadow:0 4px 16px rgba(32,33,36,.045);border-color:#e1e5e9}

/* ---------- Admin operational product ---------- */
.admin-page{background:var(--ui-bg)!important;color:var(--ui-text)!important}
.admin-app-horizontal{background:var(--ui-bg)!important}
.admin-app-horizontal .admin-nav-header{
  height:60px;min-height:60px;padding:0 22px;position:sticky;top:0;z-index:150;
  display:grid;grid-template-columns:185px minmax(0,1fr) auto;gap:14px;align-items:center;
  background:rgba(255,255,255,.97);border-bottom:1px solid var(--ui-line);box-shadow:0 1px 2px rgba(32,33,36,.03);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.admin-brand{gap:9px!important;text-decoration:none!important}
.admin-brand .brand-mark{width:32px!important;height:32px!important;border-radius:9px!important;background:#202124!important;color:#fff!important;box-shadow:none!important}
.admin-brand strong{font:700 13px/1 Inter,sans-serif!important;letter-spacing:-.02em}
.admin-brand small{font-size:8px!important;color:#8a929c!important;letter-spacing:.08em}
.admin-horizontal-nav{gap:1px!important;justify-content:flex-start!important;overflow:auto;scrollbar-width:none}
.admin-horizontal-nav::-webkit-scrollbar{display:none}
.admin-horizontal-nav .nav-item{height:34px!important;padding:0 10px!important;border:1px solid transparent!important;border-radius:8px!important;background:transparent!important;color:#68717b!important;font:600 11px Inter,sans-serif!important;box-shadow:none!important;transform:none!important;white-space:nowrap}
.admin-horizontal-nav .nav-item:hover{background:#f1f3f5!important;color:#202124!important}
.admin-horizontal-nav .nav-item.active{background:var(--ui-blue-soft)!important;border-color:#d2e3fc!important;color:#1967d2!important}
.admin-horizontal-nav .nav-item .ui-icon{width:14px;height:14px}
.admin-header-actions{gap:5px!important}
.admin-public-link{height:34px!important;padding:0 9px!important;border-radius:8px!important;font-size:10px!important;color:#68717b!important}
.admin-public-link:hover{background:#f3f5f7!important}
.header-logout{height:34px!important;padding:0 11px!important;border:1px solid #d9dee3!important;border-radius:8px!important;background:#fff!important;color:#3f464d!important;font-size:10px!important;font-weight:650!important;cursor:pointer}
.header-logout:hover{background:#f7f8fa!important}
.admin-app-horizontal .admin-content{max-width:1360px!important;margin:0 auto!important;padding:28px 28px 70px!important}
.admin-app-horizontal .eyebrow{font-size:9px!important;letter-spacing:.09em!important;color:#7d8791!important}
.admin-welcome-row{margin:0 0 20px!important;align-items:center!important;gap:20px!important}
.admin-welcome-row h1{font:700 28px/1.16 Inter,sans-serif!important;letter-spacing:-.04em!important;margin:6px 0 6px!important}
.admin-welcome-row h1 span{color:#7a838c!important}
.admin-welcome-row p{font-size:12px!important;color:#69727d!important;margin:0!important}
.welcome-actions{gap:6px!important}
.welcome-actions .primary,.welcome-actions .ghost{height:36px!important;padding:0 12px!important;border-radius:8px!important;font-size:11px!important;box-shadow:none!important}
.admin-app-horizontal .metrics-row.dashboard-metrics{gap:10px!important;margin:0 0 14px!important}
.admin-app-horizontal .metric-card{min-height:94px!important;padding:14px 15px!important;border:1px solid var(--ui-line)!important;border-radius:11px!important;background:#fff!important;box-shadow:var(--ui-shadow)!important}
.admin-app-horizontal .metric-card:hover{transform:none!important;box-shadow:var(--ui-shadow-hover)!important}
.admin-app-horizontal .metric-card .metric-icon{width:30px;height:30px;border-radius:8px;background:#f1f3f5;color:#6a737d}
.admin-app-horizontal .metric-card strong{font:700 24px/1.05 Inter,sans-serif!important;letter-spacing:-.025em!important}
.admin-app-horizontal .metric-card span{font-size:9px!important;color:#707984!important;letter-spacing:.02em!important}
.admin-app-horizontal .metric-card small{font-size:9px!important;color:#969da6!important}
.dashboard-main-grid{grid-template-columns:minmax(0,1fr) 350px!important;gap:12px!important}
.admin-app-horizontal .panel-card{border:1px solid var(--ui-line)!important;border-radius:11px!important;background:#fff!important;box-shadow:var(--ui-shadow)!important}
.admin-app-horizontal .panel-card:hover{box-shadow:var(--ui-shadow-hover)!important}
.admin-app-horizontal .panel-head h2{font:650 18px/1.25 Inter,sans-serif!important;letter-spacing:-.025em!important}
.admin-app-horizontal .panel-subtitle{font-size:11px!important;color:#7a838d!important}
.admin-app-horizontal .summary-mini-grid>div{border:1px solid #edf0f2!important;border-radius:9px!important;background:#fafbfc!important}
.admin-app-horizontal .summary-mini-grid strong{font:700 21px Inter,sans-serif!important}
.admin-app-horizontal .dashboard-actions-grid button{border:1px solid var(--ui-line)!important;border-radius:9px!important;background:#fff!important;box-shadow:none!important}
.admin-app-horizontal .dashboard-actions-grid button:hover{background:#f7f8fa!important;border-color:#cdd3d9!important}
.admin-app-horizontal .upcoming-card{border:1px solid var(--ui-line)!important;border-radius:11px!important;background:#fff!important;box-shadow:var(--ui-shadow)!important}
.admin-app-horizontal .view-top{margin:0 0 18px!important;display:flex;align-items:center;justify-content:space-between;gap:16px}
.admin-app-horizontal .view-top h1{font:650 23px/1.2 Inter,sans-serif!important;letter-spacing:-.03em!important;margin:5px 0 0!important}
.admin-app-horizontal .view-badge{border:1px solid var(--ui-line)!important;background:#fff!important;border-radius:999px!important;padding:6px 9px!important;font-size:9px!important;color:#69727d!important}
.admin-app-horizontal .agenda-card,.admin-app-horizontal .agenda-settings,.admin-app-horizontal .service-panel,.admin-app-horizontal .customer-panel,.admin-app-horizontal .loyalty-panel,.admin-app-horizontal .marketing-panel,.admin-app-horizontal .settings-panel{border:1px solid var(--ui-line)!important;border-radius:11px!important;box-shadow:var(--ui-shadow)!important;background:#fff!important}
.admin-app-horizontal input,.admin-app-horizontal select,.admin-app-horizontal textarea{border:1px solid #dce1e6!important;border-radius:8px!important;background:#fff!important;color:var(--ui-text)!important;font-size:12px!important}
.admin-app-horizontal input:focus,.admin-app-horizontal select:focus,.admin-app-horizontal textarea:focus{outline:none!important;border-color:#8ab4f8!important;box-shadow:0 0 0 3px rgba(26,115,232,.10)!important}
.admin-app-horizontal .primary{background:#1a73e8!important;border-radius:8px!important;box-shadow:none!important}
.admin-app-horizontal .ghost{background:#fff!important;border-color:#d9dee3!important;border-radius:8px!important;color:#3f464d!important}
.admin-app-horizontal .notice{border:1px solid var(--ui-line)!important;border-radius:9px!important;background:#f7f8fa!important;color:#5e6670!important}
.admin-app-horizontal .notice.success{background:var(--ui-green-soft)!important;border-color:#ccebd9!important;color:#247444!important}
.admin-app-horizontal .notice.error{background:var(--ui-red-soft)!important;border-color:#f1d0cb!important;color:#a83226!important}

/* ---------- Super Admin ---------- */
.superadmin-page{background:var(--ui-bg)!important;color:var(--ui-text)!important;font-family:Inter,system-ui,sans-serif!important}
.superadmin-page .super-topbar{
  height:60px!important;padding:0 22px!important;position:sticky!important;top:0;z-index:200;
  grid-template-columns:175px minmax(0,1fr) auto!important;gap:14px!important;
  background:rgba(255,255,255,.97)!important;border-bottom:1px solid var(--ui-line)!important;box-shadow:0 1px 2px rgba(32,33,36,.03)!important;
}
.superadmin-page .super-topbar .brand{font:700 13px/1 Inter,sans-serif!important;letter-spacing:-.02em!important}
.superadmin-page .super-topbar .brand-mark{width:32px!important;height:32px!important;border-radius:9px!important;background:#202124!important;color:#dfff00!important;box-shadow:none!important}
.super-nav-tabs{gap:1px!important}
.super-nav-tabs .sa-nav-item{height:34px!important;padding:0 10px!important;border-radius:8px!important;color:#68717b!important;font:600 11px Inter,sans-serif!important}
.super-nav-tabs .sa-nav-item:hover{background:#f1f3f5!important;color:#202124!important}
.super-nav-tabs .sa-nav-item.active{background:var(--ui-blue-soft)!important;border-color:#d2e3fc!important;color:#1967d2!important}
.super-nav-actions{gap:5px!important}
.superadmin-page .super-context{padding:6px 9px!important;font-size:9px!important;background:#fff!important;border-color:var(--ui-line)!important}
.superadmin-page .super-nav-actions .ghost{height:34px!important;border-radius:8px!important;background:#fff!important;border-color:#d9dee3!important;font-size:10px!important}
.superadmin-page .super-shell{max-width:1360px!important;padding:26px 28px 70px!important}
.superadmin-page .sa-platform-head{margin:0 0 16px!important}
.superadmin-page .sa-platform-head h1{font:700 28px/1.15 Inter,sans-serif!important;letter-spacing:-.04em!important;margin:5px 0!important}
.superadmin-page .sa-platform-head p{font-size:12px!important;color:#69727d!important}
.superadmin-page .sa-head-actions{gap:6px!important}
.superadmin-page .sa-health-pill{height:34px!important;border-radius:999px!important;font-size:9px!important}
.superadmin-page .sa-metrics{gap:10px!important}
.superadmin-page .sa-metric{min-height:94px!important;padding:14px 15px!important;border-radius:11px!important;box-shadow:var(--ui-shadow)!important}
.superadmin-page .sa-metric>span{font-size:9px!important;color:#747d87!important}
.superadmin-page .sa-metric>strong{font:700 24px/1.1 Inter,sans-serif!important;margin-top:7px!important}
.superadmin-page .sa-metric>small{font-size:9px!important;color:#969da6!important}
.superadmin-page .sa-panel{border-radius:11px!important;box-shadow:var(--ui-shadow)!important;padding:18px!important}
.superadmin-page .sa-panel-head h2{font:650 18px/1.25 Inter,sans-serif!important;letter-spacing:-.025em!important}
.superadmin-page .sa-panel-head p{font-size:10px!important;color:#737c86!important}
.superadmin-page .sa-health-card,.superadmin-page .sa-monitor-card,.superadmin-page .sa-provider-grid>div{border-radius:9px!important;background:#fafbfc!important}
.superadmin-page .sa-table-card{border-radius:10px!important;box-shadow:none!important}
.superadmin-page .sa-table th{background:#f7f8fa!important;padding:10px 12px!important;font-size:9px!important}
.superadmin-page .sa-table td{padding:11px 12px!important;font-size:10px!important}
.superadmin-page .plan-card{border-radius:11px!important;padding:15px!important}
.superadmin-page .plan-card>strong{font:700 23px/1.1 Inter,sans-serif!important}
.superadmin-page .sa-alert{border-radius:9px!important}
.superadmin-page .sa-toolbar-actions input{height:34px!important;border-radius:8px!important}
.superadmin-page .sa-action-box{border-radius:10px!important;background:#fafbfc!important}
.superadmin-page .sa-detail-head h2{font:650 23px/1.2 Inter,sans-serif!important}
.superadmin-page .modal-card{border-radius:13px!important}

/* Shared responsive rules */
@media(max-width:1050px){
  .admin-app-horizontal .admin-nav-header{grid-template-columns:165px minmax(0,1fr) auto!important;padding:0 14px!important;gap:8px!important}
  .superadmin-page .super-topbar{grid-template-columns:160px minmax(0,1fr) auto!important;padding:0 14px!important;gap:8px!important}
  .admin-app-horizontal .admin-content,.superadmin-page .super-shell{padding-left:18px!important;padding-right:18px!important}
}
@media(max-width:820px){
  .admin-app-horizontal .admin-nav-header{display:flex!important;height:58px!important;min-height:58px!important}
  .admin-horizontal-nav{flex:1;min-width:0}
  .admin-header-actions .admin-public-link{display:none}
  .admin-app-horizontal .admin-content{padding:22px 14px 60px!important}
  .dashboard-main-grid{grid-template-columns:1fr!important}
  .superadmin-page .super-topbar{grid-template-columns:auto 1fr auto!important}
  .superadmin-page .super-context{display:none!important}
  .auth-page .auth-layout{grid-template-columns:1fr;max-width:640px;gap:28px;padding:42px 18px}
  .auth-page .auth-aside h1{font-size:44px!important}
}
@media(max-width:620px){
  .admin-brand small{display:none!important}
  .admin-brand strong{font-size:12px!important}
  .admin-horizontal-nav .nav-item{padding:0 8px!important;font-size:10px!important}
  .admin-horizontal-nav .nav-item .ui-icon{display:none!important}
  .header-logout{padding:0 8px!important}
  .admin-welcome-row{align-items:flex-start!important;flex-direction:column!important}
  .welcome-actions{width:100%!important}
  .welcome-actions>*{flex:1;justify-content:center}
  .metrics-row.dashboard-metrics{grid-template-columns:1fr 1fr!important}
  .super-nav-tabs .sa-nav-item{padding:0 7px!important;font-size:10px!important}
  .superadmin-page .super-shell{padding:18px 12px 50px!important}
  .superadmin-page .sa-platform-head{align-items:flex-start;flex-direction:column}
  .superadmin-page .sa-head-actions{width:100%;flex-wrap:wrap}
  .booking-page .booking-panel{padding:18px}
  .booking-page .steps{margin-bottom:24px}
  .booking-page .step small{display:none}
  .booking-page .service-grid,.booking-page .calendar-layout{grid-template-columns:1fr}
}
@media(max-width:430px){
  .metrics-row.dashboard-metrics{grid-template-columns:1fr!important}
  .auth-page .auth-layout{padding:30px 14px}
  .auth-page .auth-card{padding:18px}
  .public-page .barber-landing-hero{padding:50px 18px 40px}
  .public-page .barber-hero-copy h1{font-size:48px!important}
  .public-page .barber-service-intro{padding-left:18px;padding-right:18px}
}

/* =========================================================
   v2.13 — BARBER PRO PRODUCT DESIGN SYSTEM
   Direction: Meta Business / Google Business / Stripe-like
   operational console. Compact, calm, consistent.
   ========================================================= */
:root{
  --ui-bg:#f6f7f9;
  --ui-surface:#fff;
  --ui-surface-2:#f8f9fb;
  --ui-text:#202124;
  --ui-muted:#687078;
  --ui-line:#e2e5e9;
  --ui-blue:#1a73e8;
  --ui-blue-soft:#e8f0fe;
  --ui-green:#188038;
  --ui-green-soft:#e6f4ea;
  --ui-yellow:#b06000;
  --ui-yellow-soft:#fef7e0;
  --ui-red:#c5221f;
  --ui-red-soft:#fce8e6;
  --ui-shadow:0 1px 2px rgba(32,33,36,.04),0 4px 14px rgba(32,33,36,.035);
  --ui-shadow-hover:0 2px 4px rgba(32,33,36,.06),0 10px 24px rgba(32,33,36,.055);
}
body.admin-page,.superadmin-page{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;background:var(--ui-bg)!important;color:var(--ui-text)!important}
.admin-page *, .superadmin-page *{letter-spacing:normal}
.eyebrow{font:600 10px/1.2 Inter,sans-serif!important;letter-spacing:.08em!important;color:#7a828a!important}

/* ADMIN SIDEBAR */
.admin-app-sidebar{display:flex!important;min-height:100vh!important;background:var(--ui-bg)!important}
.admin-sidebar{position:fixed!important;inset:0 auto 0 0!important;width:236px!important;background:#fff!important;border-right:1px solid var(--ui-line)!important;display:flex!important;flex-direction:column!important;padding:18px 12px 12px!important;z-index:1000!important}
.admin-brand{display:flex!important;align-items:center!important;gap:10px!important;padding:4px 9px 18px!important;text-decoration:none!important;color:var(--ui-text)!important}
.admin-brand .brand-mark{width:34px!important;height:34px!important;border-radius:9px!important;background:#202124!important;color:#fff!important;font:700 10px Inter,sans-serif!important;box-shadow:none!important}
.admin-brand strong,.super-brand strong{display:block!important;font:700 12px/1.15 Inter,sans-serif!important;white-space:nowrap!important}
.admin-brand small,.super-brand small{display:block!important;margin-top:3px!important;color:#9aa0a6!important;font:500 8px/1 Inter,sans-serif!important;letter-spacing:.07em!important}
.admin-sidebar-nav{display:flex!important;flex-direction:column!important;gap:3px!important}
.admin-sidebar-nav .nav-item{width:100%!important;height:40px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#5f6368!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:11px!important;padding:0 11px!important;font:600 12px Inter,sans-serif!important;cursor:pointer!important;transition:background .15s,color .15s!important}
.admin-sidebar-nav .nav-item:hover{background:#f1f3f4!important;color:#202124!important;transform:none!important}
.admin-sidebar-nav .nav-item.active{background:#e8f0fe!important;color:#1967d2!important;box-shadow:none!important;border:0!important}
.admin-sidebar-nav .nav-item span{width:18px!important;height:18px!important;display:grid!important;place-items:center!important;flex:none!important}
.admin-sidebar-nav .nav-item .ui-icon{width:16px!important;height:16px!important}
.admin-sidebar-nav .nav-item.active .ui-icon{color:#1a73e8!important}
.admin-sidebar-bottom{margin-top:auto!important;display:grid!important;gap:10px!important;padding:10px 5px 2px!important;border-top:1px solid #f0f1f2!important}
.admin-public-link{display:flex!important;align-items:center!important;gap:8px!important;color:#5f6368!important;text-decoration:none!important;font:600 11px Inter,sans-serif!important;padding:9px 8px!important;border-radius:8px!important}
.admin-public-link:hover{background:#f7f8f9!important;color:#202124!important}
.admin-public-link .ui-icon{width:14px!important}
.admin-account{display:grid!important;grid-template-columns:30px minmax(0,1fr) 30px!important;align-items:center!important;gap:8px!important;padding:8px!important;border:1px solid var(--ui-line)!important;border-radius:10px!important;background:#fafbfc!important}
.admin-avatar{width:30px;height:30px;border-radius:50%;background:#202124;color:#fff;display:grid;place-items:center;font:700 10px Inter,sans-serif}
.admin-account strong,.admin-account small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-account strong{font-size:10px}.admin-account small{font-size:9px;color:#8a929a;margin-top:2px}
.admin-account button{width:28px;height:28px;border:0;background:transparent;color:#7b838a;border-radius:7px;cursor:pointer}.admin-account button:hover{background:#eef0f2;color:#202124}
.admin-main{margin-left:236px!important;min-width:0!important;width:calc(100% - 236px)!important}
.admin-topbar{height:58px!important;background:rgba(255,255,255,.96)!important;border-bottom:1px solid var(--ui-line)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 28px!important;position:sticky!important;top:0!important;z-index:900!important}
.mobile-menu{display:none!important}
.admin-top-context{display:flex;align-items:center;gap:8px;font:600 12px Inter,sans-serif;color:#3c4043}.admin-top-context small{font:400 10px Inter,sans-serif;color:#8b9299;padding-left:8px;border-left:1px solid var(--ui-line)}
.status-dot{width:7px;height:7px;border-radius:50%;background:#34a853;box-shadow:0 0 0 3px #e6f4ea}
.admin-top-actions{display:flex;align-items:center;gap:7px}.top-public-link,.top-logout{height:34px;display:inline-flex;align-items:center;gap:6px;border-radius:8px;padding:0 11px;font:600 10px Inter,sans-serif;text-decoration:none;cursor:pointer}.top-public-link{color:#5f6368}.top-public-link:hover{background:#f1f3f4}.top-public-link .ui-icon{width:13px}.top-logout{border:1px solid #dadce0;background:#fff;color:#3c4043}.top-logout:hover{background:#f8f9fa}
.admin-content{max-width:1180px!important;margin:0 auto!important;padding:30px 30px 70px!important}
.admin-welcome-row{display:flex!important;justify-content:space-between!important;align-items:flex-end!important;gap:28px!important;margin-bottom:22px!important}.admin-welcome-row h1{font:650 31px/1.18 Inter,sans-serif!important;letter-spacing:-.035em!important;margin:7px 0 5px!important}.admin-welcome-row h1 span{color:#6f7780!important}.admin-welcome-row p{font-size:12px!important;color:#737b83!important;margin:0!important}.welcome-actions{display:flex!important;gap:7px!important}.welcome-actions .primary,.welcome-actions .ghost{height:36px!important;padding:0 12px!important;border-radius:8px!important;font:600 11px Inter,sans-serif!important;box-shadow:none!important}.welcome-actions .primary{background:#1a73e8!important}.welcome-actions .primary:hover{transform:none!important;background:#1769d2!important}.welcome-actions .ghost{background:#fff!important;border:1px solid #dadce0!important}
.dashboard-metrics{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:10px!important;margin-bottom:14px!important}.metric-card{min-height:100px!important;padding:15px!important;border:1px solid var(--ui-line)!important;border-radius:10px!important;background:#fff!important;box-shadow:var(--ui-shadow)!important;display:flex!important;align-items:center!important;gap:12px!important}.metric-card:hover{transform:none!important;box-shadow:var(--ui-shadow-hover)!important;border-color:var(--ui-line)!important}.metric-icon{width:34px!important;height:34px!important;border-radius:8px!important;background:#f1f3f4!important;color:#5f6368!important;display:grid!important;place-items:center!important;flex:none!important}.metric-card span{display:block!important;font:600 9px Inter,sans-serif!important;color:#737b83!important;text-transform:uppercase!important;letter-spacing:.04em!important}.metric-card strong{display:block!important;font:650 23px/1.15 Inter,sans-serif!important;margin-top:4px!important;color:#202124!important}.metric-card small{display:block!important;font:400 9px Inter,sans-serif!important;color:#9aa0a6!important;margin-top:4px!important}
.dashboard-main-grid{display:grid!important;grid-template-columns:minmax(0,1fr) 330px!important;gap:12px!important}.panel-card{border:1px solid var(--ui-line)!important;border-radius:10px!important;background:#fff!important;box-shadow:var(--ui-shadow)!important;padding:20px!important}.panel-card:hover{box-shadow:var(--ui-shadow-hover)!important}.panel-head h2,.upcoming-head h2{font:650 18px/1.25 Inter,sans-serif!important;letter-spacing:-.025em!important;margin:6px 0 4px!important}.panel-subtitle{font:400 11px/1.5 Inter,sans-serif!important;color:#7a828a!important}.summary-mini-grid{gap:8px!important}.summary-mini-grid>div{border:1px solid #edf0f2!important;border-radius:8px!important;background:#fafbfc!important;padding:13px!important}.summary-mini-grid span{font:600 8px Inter,sans-serif!important;color:#7a828a!important}.summary-mini-grid strong{font:650 19px Inter,sans-serif!important}.summary-mini-grid small{font:400 9px Inter,sans-serif!important;color:#9aa0a6!important}.dashboard-actions-grid{gap:7px!important;margin-top:10px!important}.dashboard-actions-grid button{min-height:50px!important;border:1px solid #edf0f2!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important;padding:9px 11px!important}.dashboard-actions-grid button:hover{background:#f8f9fa!important;transform:none!important;border-color:#dadce0!important}.upcoming-card{border:1px solid var(--ui-line)!important;border-radius:10px!important;background:#fff!important;box-shadow:var(--ui-shadow)!important;padding:20px!important}.upcoming-head .text-link{font:600 10px Inter,sans-serif!important;color:#1a73e8!important}
.view-top{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:16px!important;margin:0 0 18px!important}.view-top h1{font:650 24px/1.2 Inter,sans-serif!important;letter-spacing:-.03em!important;margin:5px 0 0!important}.view-badge{font:600 9px Inter,sans-serif!important;color:#687078!important;background:#fff!important;border:1px solid var(--ui-line)!important;border-radius:999px!important;padding:6px 9px!important}
.admin-app-sidebar .agenda-card,.admin-app-sidebar .agenda-settings,.admin-app-sidebar .service-panel,.admin-app-sidebar .customer-panel,.admin-app-sidebar .loyalty-panel,.admin-app-sidebar .marketing-panel,.admin-app-sidebar .settings-panel,.admin-app-sidebar .service-admin-card,.admin-app-sidebar .marketing-rule{border:1px solid var(--ui-line)!important;border-radius:10px!important;background:#fff!important;box-shadow:var(--ui-shadow)!important}
.admin-app-sidebar input,.admin-app-sidebar select,.admin-app-sidebar textarea{border:1px solid #dadce0!important;border-radius:8px!important;background:#fff!important;font:400 12px Inter,sans-serif!important;color:#202124!important}.admin-app-sidebar input:focus,.admin-app-sidebar select:focus,.admin-app-sidebar textarea:focus{outline:none!important;border-color:#1a73e8!important;box-shadow:0 0 0 3px rgba(26,115,232,.10)!important}.admin-app-sidebar .primary{background:#1a73e8!important;border-radius:8px!important;box-shadow:none!important;font:600 11px Inter,sans-serif!important}.admin-app-sidebar .ghost{background:#fff!important;border:1px solid #dadce0!important;border-radius:8px!important;color:#3c4043!important;font:600 11px Inter,sans-serif!important}.admin-app-sidebar .notice{border-radius:8px!important;background:#f8f9fa!important;border:1px solid var(--ui-line)!important;font:400 11px/1.45 Inter,sans-serif!important}.admin-app-sidebar .notice.success{background:#e6f4ea!important;border-color:#cce8d3!important;color:#137333!important}.admin-app-sidebar .notice.error{background:#fce8e6!important;border-color:#f1c7c3!important;color:#a50e0e!important}

/* SUPER ADMIN SIDEBAR */
.superadmin-page{min-height:100vh!important}
.super-app{display:flex!important;min-height:100vh!important}.super-sidebar{position:fixed!important;inset:0 auto 0 0!important;width:220px!important;background:#fff!important;border-right:1px solid var(--ui-line)!important;padding:18px 12px 12px!important;display:flex!important;flex-direction:column!important;z-index:1000!important}.super-brand{padding:4px 9px 20px!important}.super-nav-tabs{display:flex!important;flex-direction:column!important;gap:3px!important}.super-nav-tabs .sa-nav-item{height:39px!important;width:100%!important;text-align:left!important;border:0!important;background:transparent!important;border-radius:8px!important;padding:0 11px!important;color:#5f6368!important;font:600 11px Inter,sans-serif!important;cursor:pointer!important}.super-nav-tabs .sa-nav-item:hover{background:#f1f3f4!important;color:#202124!important}.super-nav-tabs .sa-nav-item.active{background:#e8f0fe!important;color:#1967d2!important}.super-sidebar-bottom{margin-top:auto!important;padding:10px 5px 2px!important;border-top:1px solid #f0f1f2!important;display:grid!important;gap:9px!important}.super-system{display:flex;align-items:center;gap:9px;padding:8px}.super-system i{width:8px;height:8px;border-radius:50%;background:#34a853;box-shadow:0 0 0 3px #e6f4ea}.super-system strong,.super-system small{display:block}.super-system strong{font:600 10px Inter,sans-serif}.super-system small{font:400 9px Inter,sans-serif;color:#8a929a;margin-top:2px}.super-logout{height:34px;border:1px solid #dadce0;border-radius:8px;background:#fff;color:#3c4043;font:600 10px Inter,sans-serif;cursor:pointer}.super-logout:hover{background:#f8f9fa}
.super-main{margin-left:220px!important;width:calc(100% - 220px)!important;min-width:0!important}.superadmin-page .super-topbar{height:58px!important;position:sticky!important;top:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 28px!important;background:rgba(255,255,255,.96)!important;border-bottom:1px solid var(--ui-line)!important;z-index:900!important}.super-mobile-menu{display:none!important}.super-top-title{display:flex;align-items:baseline;gap:9px}.super-top-title strong{font:600 12px Inter,sans-serif}.super-top-title span{font:400 10px Inter,sans-serif;color:#9aa0a6}.super-context{font:600 9px Inter,sans-serif!important;padding:6px 9px!important;border:1px solid var(--ui-line)!important;border-radius:999px!important;background:#fff!important;color:#6f7780!important}.super-shell{max-width:1180px!important;margin:0 auto!important;padding:30px!important}.sa-platform-head{margin-bottom:18px!important}.sa-platform-head h1{font:650 30px/1.18 Inter,sans-serif!important;letter-spacing:-.04em!important;margin:6px 0 5px!important}.sa-platform-head p{font:400 12px Inter,sans-serif!important;color:#737b83!important}.sa-head-actions{gap:7px!important}.sa-head-actions .ghost,.sa-head-actions .primary{height:36px!important;border-radius:8px!important;padding:0 12px!important;font:600 10px Inter,sans-serif!important;box-shadow:none!important}.sa-head-actions .primary{background:#1a73e8!important}.sa-health-pill{height:34px!important;border-radius:999px!important;font:600 9px Inter,sans-serif!important}.sa-metrics{gap:10px!important}.sa-metric{min-height:94px!important;padding:14px!important;border:1px solid var(--ui-line)!important;border-radius:10px!important;background:#fff!important;box-shadow:var(--ui-shadow)!important}.sa-metric:hover{transform:none!important;box-shadow:var(--ui-shadow-hover)!important}.sa-metric>span{font:600 9px Inter,sans-serif!important;color:#737b83!important}.sa-metric>strong{font:650 23px/1.1 Inter,sans-serif!important;margin-top:6px!important}.sa-metric>small{font:400 9px Inter,sans-serif!important;color:#9aa0a6!important}.sa-panel{border:1px solid var(--ui-line)!important;border-radius:10px!important;background:#fff!important;box-shadow:var(--ui-shadow)!important;padding:20px!important}.sa-panel:hover{box-shadow:var(--ui-shadow-hover)!important}.sa-panel-head h2{font:650 18px/1.25 Inter,sans-serif!important;letter-spacing:-.025em!important}.sa-panel-head p{font:400 10px/1.5 Inter,sans-serif!important;color:#737b83!important}.sa-health-card,.sa-monitor-card,.sa-provider-grid>div{border:1px solid #edf0f2!important;border-radius:8px!important;background:#fafbfc!important}.sa-table-card{border:1px solid var(--ui-line)!important;border-radius:9px!important;box-shadow:none!important}.sa-table th{background:#f8f9fa!important;padding:10px 12px!important;color:#6f7780!important;font:600 9px Inter,sans-serif!important}.sa-table td{padding:11px 12px!important;font:400 10px Inter,sans-serif!important;border-color:#edf0f2!important}.sa-table tbody tr:hover{background:#fafbfc!important}.sa-badge{font:600 9px Inter,sans-serif!important;border-radius:999px!important}.plan-card{border:1px solid var(--ui-line)!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important}.plan-card:hover{transform:none!important;box-shadow:var(--ui-shadow-hover)!important}.plan-card>strong{font:650 23px Inter,sans-serif!important}.sa-action-box{border:1px solid var(--ui-line)!important;border-radius:10px!important;background:#fff!important;box-shadow:var(--ui-shadow)!important}.sa-action-box h3{font:600 16px Inter,sans-serif!important}.modal-card{border-radius:12px!important;box-shadow:0 18px 50px rgba(32,33,36,.18)!important;border:1px solid var(--ui-line)!important}

@media(max-width:980px){
 .admin-sidebar{width:214px!important}.admin-main{margin-left:214px!important;width:calc(100% - 214px)!important}.admin-content,.super-shell{padding-left:20px!important;padding-right:20px!important}.dashboard-metrics{grid-template-columns:repeat(2,1fr)!important}.dashboard-main-grid{grid-template-columns:1fr!important}.super-sidebar{width:205px!important}.super-main{margin-left:205px!important;width:calc(100% - 205px)!important}
}
@media(max-width:760px){
 .admin-sidebar,.super-sidebar{transform:translateX(-102%);transition:transform .18s ease;box-shadow:12px 0 30px rgba(32,33,36,.12)}
 .admin-sidebar.open,.super-sidebar.open{transform:none}
 .admin-main,.super-main{margin-left:0!important;width:100%!important}
 .admin-topbar,.superadmin-page .super-topbar{padding:0 16px!important}
 .mobile-menu,.super-mobile-menu{display:grid!important;place-items:center!important;width:32px!important;height:32px!important;border:1px solid #dadce0!important;border-radius:8px!important;background:#fff!important;color:#5f6368!important;cursor:pointer!important;font-size:16px!important}
 .admin-topbar{gap:8px!important}.admin-top-context small,.top-public-link{display:none!important}.admin-top-actions{margin-left:auto}.super-top-title{margin-left:8px}.super-context{display:none!important}.admin-content,.super-shell{padding:22px 14px 50px!important}.admin-welcome-row{flex-direction:column!important;align-items:flex-start!important}.welcome-actions{width:100%!important}.welcome-actions>*{flex:1;justify-content:center}.dashboard-metrics{grid-template-columns:1fr 1fr!important}
}
@media(max-width:460px){.dashboard-metrics{grid-template-columns:1fr!important}.admin-welcome-row h1{font-size:27px!important}.sa-platform-head h1{font-size:27px!important}.sa-head-actions{width:100%;flex-wrap:wrap}.sa-head-actions>*{flex:1}.view-top{align-items:flex-start!important;flex-direction:column!important}}

/* =========================================================
   v2.14 — BarberPro coherent typography + booking UX
   Product UI direction: calm, compact, readable, responsive.
   ========================================================= */
:root{
  --bp-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bp-ink:#17191c;
  --bp-muted:#68707a;
  --bp-soft:#f5f6f7;
  --bp-line:#e2e5e8;
  --bp-blue:#1769e0;
  --bp-blue-soft:#eaf2ff;
  --bp-gold:#a77722;
  --bp-radius:12px;
}

html{font-size:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body,button,input,select,textarea{font-family:var(--bp-font)!important;color:var(--bp-ink)}
body{letter-spacing:0!important}

/* Typography: no display-font tricks inside product UI. */
h1,h2,h3,h4,h5,h6,
.hero-copy h1,.auth-aside h1,.page-intro h1,.booking-heading h2,
.admin-hero h1,.account-welcome h1,.super-page-head h1{
  font-family:var(--bp-font)!important;
  letter-spacing:-.035em!important;
  font-weight:650!important;
  line-height:1.12!important;
}
.eyebrow,.service-kicker,.label,.metric .label,.step small{
  letter-spacing:.075em!important;
  font-weight:650!important;
}
.eyebrow{font-size:10px!important;line-height:1.3!important}

/* Public header */
.topbar,.booking-topbar,.barber-topbar{
  height:64px!important;
  padding:0 clamp(18px,4vw,56px)!important;
  background:rgba(250,250,249,.96)!important;
  border-bottom:1px solid #e7e7e5!important;
  backdrop-filter:blur(14px)!important;
}
.brand{font-family:var(--bp-font)!important;font-weight:700!important;letter-spacing:-.025em!important}
.brand b{font-weight:500!important}
.brand-mark{width:34px!important;height:34px!important;border-radius:10px!important}
.topbar nav{gap:4px!important}
.topbar nav>a:not(.brand),.nav-button{font-size:13px!important;font-weight:500!important;padding:9px 11px!important;border-radius:8px!important}

/* Booking: get the actual booking flow into the first viewport. */
.booking-main{padding-top:0!important}
.booking-intro-hero{display:none!important}
.booking-wrap.standalone-booking{
  max-width:1160px!important;
  padding:34px clamp(18px,4vw,48px) 80px!important;
}
.booking-page-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  padding:4px 0 24px!important;
  border-bottom:1px solid var(--bp-line);
  margin-bottom:18px;
}
.booking-page-head h1{
  margin:8px 0 6px!important;
  font-size:clamp(30px,4vw,42px)!important;
}
.booking-page-head p{
  margin:0!important;color:var(--bp-muted)!important;font-size:14px!important;line-height:1.55!important;
}
.account-pill{font-size:13px!important;white-space:nowrap}

.booking-panel{
  border:1px solid var(--bp-line)!important;
  border-radius:14px!important;
  padding:24px!important;
  box-shadow:0 8px 28px rgba(20,25,30,.045)!important;
}
.steps{gap:4px!important;margin-bottom:26px!important}
.step{
  padding:10px 10px 12px!important;
  border-bottom:2px solid #e9ebed!important;
  color:#9299a1!important;
}
.step.active{color:var(--bp-ink)!important;border-bottom-color:var(--bp-blue)!important}
.step span{width:28px!important;height:28px!important;border-radius:8px!important;font-size:11px!important}
.step.active span{background:var(--bp-blue)!important;border-color:var(--bp-blue)!important;color:#fff!important}
.step small{font-size:10px!important}

.booking-panel .step-copy h2{
  font-size:28px!important;margin:8px 0 6px!important;line-height:1.15!important;
}
.booking-panel .step-copy p{font-size:13px!important;line-height:1.5!important;color:var(--bp-muted)!important}

/* Service selection */
.service-grid{gap:12px!important}
.service-card{
  min-height:210px!important;
  border:1px solid #dfe3e6!important;
  border-radius:12px!important;
  padding:18px!important;
  background:#fff!important;
  box-shadow:none!important;
  transition:border-color .15s,box-shadow .15s,transform .15s!important;
}
.service-card:hover{transform:translateY(-1px)!important;border-color:#c8cdd2!important;box-shadow:0 6px 18px rgba(20,25,30,.05)!important}
.service-card.selected{border:2px solid var(--bp-blue)!important;box-shadow:0 0 0 3px rgba(23,105,224,.08)!important}
.service-card-head{margin-bottom:22px!important}
.service-icon{width:34px!important;height:34px!important;border-radius:9px!important;background:#f6f0e3!important;color:var(--bp-gold)!important}
.service-kicker{font-size:10px!important;color:#737a83!important}
.service-card h3{font-size:17px!important;font-weight:650!important;letter-spacing:-.02em!important;margin:0 0 6px!important}
.service-card>p{font-size:12px!important;line-height:1.45!important;color:#7b828b!important;margin:0!important;min-height:35px}
.service-bottom{border-top:1px solid #eceeef!important;margin-top:18px!important;padding-top:14px!important}
.service-bottom strong{font-size:18px!important;font-weight:700!important;letter-spacing:-.025em!important}
.choose-chip{font-size:11px!important;font-weight:650!important;border-radius:8px!important;background:#f4f5f6!important;padding:8px 10px!important;color:#30353a!important}
.service-card.selected .choose-chip{background:var(--bp-blue)!important;color:#fff!important}
.points-hint{display:none!important}
.service-price-tags{margin-top:10px!important;gap:5px!important}
.service-price-tags span{font-size:10px!important;border-radius:6px!important;padding:5px 7px!important}

/* Combo stays contextual, but points do not appear until confirmation. */
.combo-upsell{border:1px solid var(--bp-line)!important;border-radius:12px!important;background:#fafbfc!important;padding:18px!important;margin-top:14px!important}
.combo-upsell-head h3{font-size:18px!important;letter-spacing:-.02em!important}
.combo-upsell-head p{font-size:12px!important;line-height:1.5!important;color:var(--bp-muted)!important}
.combo-option{border-radius:10px!important;border:1px solid var(--bp-line)!important}
.combo-footer{border-top:1px solid var(--bp-line)!important;margin-top:14px!important;padding-top:14px!important}

/* Final confirmation is where loyalty becomes relevant. */
.summary-card,.payment-card,.logged-confirm-card,.login-needed,.points-callout,.booking-public-note{
  border-radius:12px!important;
}
.summary-points,.points-callout{display:block!important}
.summary-points{background:#f5f8ff!important;border-color:#dce8ff!important;color:#1d5fbf!important}
.points-callout{background:#f5f8ff!important;border-color:#dce8ff!important}

/* Public home typography */
.barber-landing-hero{min-height:clamp(560px,78vh,760px)!important}
.barber-hero-copy h1,.barber-service-intro h2,.barber-cta-band h2{
  font-family:var(--bp-font)!important;
  letter-spacing:-.045em!important;
  font-weight:650!important;
}
.barber-hero-copy h1{font-size:clamp(48px,7vw,88px)!important;line-height:.98!important}
.barber-hero-copy p{font-size:16px!important;line-height:1.6!important}

/* Admin product UI typography */
.admin-shell,.super-shell,.account-shell{font-family:var(--bp-font)!important}
.admin-hero h1{font-size:clamp(34px,4vw,54px)!important;line-height:1.08!important}
.admin-card h2{font-size:22px!important;line-height:1.2!important}
.metric strong{font-size:34px!important;letter-spacing:-.04em!important}
.metric{min-height:112px!important;border-radius:12px!important}
.admin-card{border-radius:14px!important}

/* Responsive */
@media(max-width:760px){
  .topbar,.booking-topbar,.barber-topbar{height:60px!important;padding:0 14px!important}
  .topbar nav>a:not(.brand),.nav-button{font-size:12px!important;padding:8px!important}
  .booking-wrap.standalone-booking{padding:24px 14px 56px!important}
  .booking-page-head{align-items:flex-start;flex-direction:column;gap:10px;padding-bottom:18px!important}
  .booking-page-head h1{font-size:30px!important}
  .account-pill{align-self:flex-start}
  .booking-panel{padding:14px!important;border-radius:12px!important}
  .steps{grid-template-columns:repeat(4,1fr)!important;gap:3px!important;margin-bottom:20px!important}
  .step{justify-content:center;padding:8px 3px!important}
  .step small{display:none!important}
  .step span{width:27px!important;height:27px!important}
  .booking-panel .step-copy h2{font-size:23px!important}
  .service-grid{grid-template-columns:1fr!important}
  .service-card{min-height:0!important}
  .service-card>p{min-height:0!important}
  .service-bottom{margin-top:14px!important}
  .barber-landing-hero{min-height:0!important;padding-top:54px!important;padding-bottom:60px!important}
  .barber-hero-copy h1{font-size:clamp(44px,13vw,64px)!important}
}
@media(max-width:480px){
  .brand>span:last-child{font-size:12px!important}
  .booking-panel .step-copy p{font-size:12px!important}
  .service-card{padding:15px!important}
  .service-card h3{font-size:16px!important}
  .service-bottom strong{font-size:17px!important}
}

/* ---------- v2.15 brand customization + micro-interactions ---------- */
:root{--brand-bg:#F7F4EE;--brand-accent:#B28A45;--brand-button:#1A73E8;--brand-font:"Inter",system-ui,sans-serif}
.business-logo-img,.admin-brand .brand-mark img,.branding-logo-preview img,.branding-live-logo img{width:100%;height:100%;object-fit:contain;border-radius:inherit;display:block}
.brand-mark.has-logo{overflow:hidden;padding:0;background:#fff!important}
.admin-brand .brand-mark.has-logo{overflow:hidden;padding:0;background:#fff!important}
.branding-settings-card{grid-column:1/-1}
.settings-live-badge{display:inline-flex;align-items:center;height:26px;padding:0 9px;border:1px solid #dfe3e8;border-radius:999px;background:#f8fafb;color:#68727d;font-size:10px;font-weight:700}
.branding-logo-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px;border:1px solid var(--ui-line);border-radius:12px;background:#fafbfc}
.branding-preview{display:flex;align-items:center;gap:13px;min-width:0}.branding-logo-preview{width:64px;height:64px;border-radius:14px;background:#fff;border:1px solid var(--ui-line);display:grid;place-items:center;overflow:hidden;color:#30343a;font-weight:800}.branding-logo-preview span{font-size:15px}.branding-preview strong{display:block;font-size:13px}.branding-preview p{margin:3px 0 0;font-size:11px;color:var(--ui-muted)}
.branding-file-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.file-button{position:relative;overflow:hidden;cursor:pointer}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.remove-logo{font-size:11px!important;color:#7b838d!important;display:flex!important;align-items:center;gap:6px}
.form-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.branding-colors label{display:grid!important;grid-template-columns:42px 1fr;grid-template-rows:auto auto;gap:5px 9px;align-items:center;font-size:11px!important;font-weight:700!important}.branding-colors input[type=color]{width:42px;height:42px;padding:2px;border:1px solid var(--ui-line);border-radius:9px;background:#fff;grid-row:1/3}.branding-colors span{font:600 10px "Inter",sans-serif;color:#7a828c;grid-column:2}
.branding-live-preview{margin-top:2px;border:1px solid var(--ui-line);border-radius:14px;overflow:hidden;background:var(--preview-bg,#F7F4EE);transition:background .25s ease}.branding-live-head{height:48px;padding:0 14px;display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.88);border-bottom:1px solid rgba(32,33,36,.08);font-size:11px}.branding-live-logo{width:26px;height:26px;border-radius:7px;background:var(--preview-accent,#B28A45);color:#fff;display:grid;place-items:center;overflow:hidden;font-size:9px;font-weight:800}.branding-live-body{padding:18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.branding-live-body>span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#747c85}.branding-live-body>strong{font-size:15px;flex:1}.branding-live-body button{border:0;color:#fff;border-radius:8px;height:34px;padding:0 13px;font:700 11px inherit;cursor:default;transition:background .2s ease}
.choice-celebration{position:fixed;right:22px;bottom:22px;z-index:9999;display:flex;align-items:center;gap:10px;min-width:220px;padding:11px 13px;border:1px solid rgba(255,255,255,.85);border-radius:13px;background:rgba(25,25,25,.94);color:#fff;box-shadow:0 14px 38px rgba(0,0,0,.18);opacity:0;transform:translateY(10px) scale(.98);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.choice-celebration.show{opacity:1;transform:translateY(0) scale(1)}.choice-celebration-icon{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:var(--brand-accent,#B28A45);font-size:15px}.choice-celebration strong,.choice-celebration small{display:block}.choice-celebration strong{font-size:12px}.choice-celebration small{margin-top:2px;font-size:10px;color:#bfc3c8}.combo-option.selected{animation:comboSelected .28s ease-out}@keyframes comboSelected{0%{transform:scale(.985)}60%{transform:scale(1.012)}100%{transform:scale(1)}}
@media(max-width:720px){.branding-logo-row{align-items:flex-start;flex-direction:column}.branding-file-wrap{width:100%}.form-three{grid-template-columns:1fr}.branding-live-body{align-items:flex-start;flex-direction:column}.branding-live-body button{width:100%}.choice-celebration{left:14px;right:14px;bottom:14px;min-width:0}}

/* =========================================================
   v2.16 — Unified public product visual system
   Reference direction: clean business/product UI — calm,
   precise, restrained, with brand color used as a signal.
   ========================================================= */
:root{
  --bp-font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --bp-ink:#1f2328;
  --bp-muted:#66707a;
  --bp-subtle:#8a929b;
  --bp-bg:#f7f8fa;
  --bp-surface:#fff;
  --bp-surface-soft:#f8f9fa;
  --bp-line:#e1e5e9;
  --bp-line-strong:#d4d9de;
  --bp-blue:var(--brand-button,#1769e0);
  --bp-accent:var(--brand-accent,#b28a45);
  --bp-shadow:0 1px 2px rgba(25,30,35,.035),0 8px 24px rgba(25,30,35,.045);
}

/* Typography: one family, controlled weights, normal tracking. */
.public-page,.auth-page,.account-page-body{font-family:var(--brand-font,var(--bp-font))!important;color:var(--bp-ink)!important}
.public-page h1,.public-page h2,.public-page h3,.public-page p,
.auth-page h1,.auth-page h2,.auth-page h3,.auth-page p,
.booking-page button,.booking-page input,.booking-page select,.booking-page textarea{
  font-family:var(--brand-font,var(--bp-font))!important;
}
.public-page h1,.public-page h2,.public-page h3,
.auth-page h1,.auth-page h2,.auth-page h3,
.booking-page .step-copy h2,.booking-page .service-card h3{
  font-weight:650!important;
  letter-spacing:-.025em!important;
}
.public-page .eyebrow,.auth-page .eyebrow,.booking-page .eyebrow{
  letter-spacing:.10em!important;font-weight:650!important;color:#707983!important;
}

/* Shared public shell */
.public-page,.auth-page,.account-page-body{background:var(--public-bg,#f7f4ee)!important}
.public-page .topbar,.auth-page .topbar,.booking-page .topbar{
  height:62px!important;padding:0 clamp(18px,4vw,48px)!important;
  background:rgba(255,255,255,.92)!important;border-bottom:1px solid rgba(31,35,40,.09)!important;
  box-shadow:none!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.public-page .brand,.auth-page .brand,.booking-page .brand{
  font-family:var(--brand-font,var(--bp-font))!important;font-weight:700!important;letter-spacing:-.02em!important;
}
.public-page .brand-mark,.auth-page .brand-mark,.booking-page .brand-mark{
  width:34px!important;height:34px!important;border-radius:9px!important;
  background:#202124!important;box-shadow:none!important;
}
.public-page .topbar nav,.auth-page .topbar nav,.booking-page .topbar nav{gap:2px!important}
.public-page .topbar nav>a:not(.brand),.auth-page .topbar>a:not(.brand),.booking-page .topbar nav>a:not(.brand),.nav-button{
  color:#4f5963!important;font-size:12px!important;font-weight:550!important;
  padding:8px 10px!important;border-radius:8px!important;
}
.public-page .topbar nav>a:hover,.auth-page .topbar>a:not(.brand):hover,.booking-page .topbar nav>a:hover{background:#f3f5f6!important;color:#202124!important}
.public-page .nav-book{color:var(--bp-blue)!important}

/* Home: keep the barber identity, remove the old oversized editorial feel. */
.public-page .barber-landing-hero{
  max-width:1160px!important;min-height:0!important;margin:0 auto!important;
  padding:68px 28px 70px!important;grid-template-columns:minmax(0,1fr) minmax(360px,.78fr)!important;gap:72px!important;
}
.public-page .barber-hero-copy h1{
  font-size:clamp(50px,6vw,76px)!important;line-height:1.02!important;letter-spacing:-.045em!important;font-weight:650!important;
  margin:14px 0 18px!important;
}
.public-page .barber-hero-copy p{font-size:15px!important;line-height:1.65!important;color:#68717a!important;max-width:520px!important}
.public-page .hero-cta,.public-page .hero-secondary{
  min-height:42px!important;border-radius:9px!important;padding:0 15px!important;font-size:12px!important;font-weight:650!important;
  box-shadow:none!important;transition:transform .16s,background .16s,border-color .16s!important;
}
.public-page .hero-cta{background:var(--bp-blue)!important;color:#fff!important}
.public-page .hero-cta span{color:#fff!important}
.public-page .hero-cta:hover{transform:translateY(-1px)!important;filter:brightness(.98)}
.public-page .hero-secondary{background:#fff!important;border:1px solid var(--bp-line-strong)!important;color:#394149!important}
.public-page .hero-secondary:hover{background:#f7f8f9!important}
.public-page .barber-trust{font-size:11px!important;margin-top:22px!important}
.public-page .barber-poster{border-radius:20px!important;box-shadow:0 18px 50px rgba(25,22,19,.11)!important}
.public-page .barber-service-intro{
  max-width:1160px!important;padding:58px 28px 28px!important;border-top:1px solid rgba(31,35,40,.09)!important;
}
.public-page .barber-service-intro h2{font-size:42px!important;line-height:1.05!important;letter-spacing:-.04em!important;font-weight:650!important}
.public-page .barber-service-intro p{font-size:14px!important;line-height:1.6!important;color:#69727c!important}
.public-page .barber-experience{max-width:1160px!important;padding:10px 28px 78px!important;gap:12px!important}
.public-page .barber-experience article{border:1px solid var(--bp-line)!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important;padding:22px!important;min-height:230px!important}
.public-page .barber-experience article:nth-child(2){background:#202124!important}
.public-page .barber-experience h3{font-size:17px!important;font-weight:650!important;letter-spacing:-.02em!important}
.public-page .barber-experience p{font-size:12px!important;color:#6f7881!important}
.public-page .barber-experience article:nth-child(2) p{color:#b9bec4!important}
.public-page .barber-cta-band{max-width:1160px!important;margin:0 auto 54px!important;border-radius:16px!important;padding:34px!important;box-shadow:none!important}
.public-page .barber-cta-band h2{font-size:34px!important;letter-spacing:-.035em!important;font-weight:650!important}
.public-page .site-footer{max-width:1160px!important;padding:22px 28px!important}

/* Booking: clean product surface, not a second visual language. */
.booking-page{background:var(--public-bg,#f7f4ee)!important}
.booking-page .booking-wrap.standalone-booking{max-width:1120px!important;padding:34px 24px 72px!important}
.booking-page .booking-page-head{
  padding:4px 0 20px!important;margin-bottom:16px!important;border-bottom:1px solid var(--bp-line)!important;
}
.booking-page .booking-page-head h1{font-size:36px!important;line-height:1.08!important;letter-spacing:-.035em!important;font-weight:650!important;margin:7px 0 6px!important}
.booking-page .booking-page-head p{font-size:13px!important;color:var(--bp-muted)!important}
.booking-page .booking-panel{
  border:1px solid var(--bp-line)!important;border-radius:14px!important;background:#fff!important;
  padding:22px!important;box-shadow:var(--bp-shadow)!important;
}
.booking-page .steps{margin-bottom:24px!important}
.booking-page .step{border-bottom:2px solid #edf0f2!important;padding:9px 10px 11px!important}
.booking-page .step.active{border-bottom-color:var(--bp-blue)!important}
.booking-page .step.active span{background:var(--bp-blue)!important;border-color:var(--bp-blue)!important}
.booking-page .step.done{border-bottom-color:#b9dfc3!important}
.booking-page .step.done span{background:#e6f4ea!important;border-color:#c8e6cf!important;color:#188038!important}
.booking-page .step-copy{margin-bottom:22px!important}
.booking-page .step-copy h2{font-size:28px!important;line-height:1.15!important;margin:7px 0 7px!important}
.booking-page .step-copy p{font-size:13px!important;color:var(--bp-muted)!important}

/* Service cards: more information density, less decoration. */
.booking-page .service-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.booking-page .service-card{
  min-height:178px!important;border:1px solid var(--bp-line)!important;border-radius:11px!important;
  padding:16px!important;background:#fff!important;box-shadow:none!important;
  transition:border-color .16s,box-shadow .16s,transform .16s!important;
}
.booking-page .service-card:hover{border-color:#c5cbd1!important;box-shadow:0 6px 18px rgba(25,30,35,.055)!important;transform:translateY(-1px)!important}
.booking-page .service-card.selected{border:2px solid var(--bp-blue)!important;padding:15px!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--bp-blue) 9%,transparent)!important}
.booking-page .service-card-head{margin-bottom:16px!important}
.booking-page .service-icon{width:32px!important;height:32px!important;border-radius:9px!important;background:#f7f0e3!important;color:var(--bp-accent)!important}
.booking-page .service-kicker{font-size:9px!important;color:#7a838d!important;letter-spacing:.08em!important}
.booking-page .service-card h3{font-size:16px!important;line-height:1.25!important;margin:0 0 6px!important}
.booking-page .service-card>p{font-size:11px!important;line-height:1.4!important;color:#77808a!important;min-height:31px!important}
.booking-page .service-bottom{margin-top:15px!important;padding-top:11px!important;border-top:1px solid #edf0f2!important}
.booking-page .service-bottom strong{font-size:17px!important;font-weight:700!important}
.booking-page .choose-chip{font-size:10px!important;border-radius:7px!important;padding:7px 9px!important;background:#f3f5f6!important}
.booking-page .service-card.selected .choose-chip{background:var(--bp-blue)!important;color:#fff!important}
.booking-page .service-price-tags{display:none!important}

/* Combo: contextual and visually connected to selected service. */
.booking-page .combo-upsell{margin-top:12px!important;border:1px solid var(--bp-line)!important;border-radius:12px!important;background:#fbfcfd!important;padding:16px!important;box-shadow:none!important}
.booking-page .combo-spark{width:38px!important;height:38px!important;border-radius:10px!important;background:var(--bp-accent)!important;color:#fff!important}
.booking-page .combo-upsell h3{font-size:17px!important;font-weight:650!important}
.booking-page .combo-upsell p{font-size:11px!important;color:#737d87!important}
.booking-page .combo-options{grid-template-columns:minmax(0,1fr)!important;gap:8px!important;margin-top:14px!important}
.booking-page .combo-option{grid-template-columns:30px 38px 1fr auto!important;padding:11px!important;border-radius:10px!important;background:#fff!important}
.booking-page .combo-option.selected{background:#fff8ec!important;border-color:var(--bp-accent)!important;color:var(--bp-ink)!important}
.booking-page .combo-option.selected .combo-icon{background:#202124!important;color:#fff!important}
.booking-page .combo-option.selected .combo-check{background:var(--brand-accent,#b28a45)!important;color:#fff!important;border-color:var(--brand-accent,#b28a45)!important}
.booking-page .combo-info strong{font-size:13px!important}
.booking-page .combo-info small{font-size:10px!important;color:#7a838d!important}
.booking-page .combo-price{font-size:13px!important;color:#9a6b21!important}
.booking-page .combo-footer{margin-top:13px!important;padding-top:13px!important}
.booking-page .combo-footer strong{font-size:20px!important}
.booking-page .combo-footer .primary{background:var(--bp-blue)!important}

/* Calendar / slots / confirmation */
.booking-page .calendar-layout{gap:14px!important}
.booking-page .calendar-card{border:1px solid var(--bp-line)!important;border-radius:11px!important;background:#fbfcfd!important;padding:16px!important}
.booking-page .calendar-head strong{font-size:15px!important;font-weight:650!important}
.booking-page .cal-day{height:42px!important;border-radius:8px!important;font-size:11px!important}
.booking-page .cal-day.selected{background:var(--bp-blue)!important}
.booking-page .slot-grid{gap:7px!important}
.booking-page .slot{min-height:42px!important;border-radius:8px!important;font-size:11px!important}
.booking-page .slot.selected{background:var(--bp-blue)!important;border-color:var(--bp-blue)!important}
.booking-page .summary-card,.booking-page .payment-card,.booking-page .points-callout,.booking-page .login-needed,.booking-page .booking-public-note{border-radius:11px!important}
.booking-page .summary-total{background:#202124!important}
.booking-page .primary,.booking-page .button{background:var(--bp-blue)!important;border-radius:8px!important;box-shadow:none!important}
.booking-page .ghost{border-radius:8px!important;background:#fff!important}
.booking-page .points-callout,.booking-page .summary-points{background:#f5f8ff!important;border-color:#dce8ff!important;color:#1d5fbf!important}

/* Login: remove the old oversized marketing composition. */
.auth-page .auth-layout{
  max-width:980px!important;min-height:calc(100vh - 62px)!important;padding:58px 24px!important;
  grid-template-columns:minmax(0,1fr) 400px!important;gap:82px!important;align-items:center!important;
}
.auth-page .auth-aside{padding:0!important;background:transparent!important;box-shadow:none!important}
.auth-page .auth-aside h1{font-size:44px!important;line-height:1.08!important;letter-spacing:-.035em!important;font-weight:650!important;margin:12px 0 14px!important}
.auth-page .auth-aside h1 span{color:#7f8790!important}
.auth-page .auth-aside p{font-size:14px!important;line-height:1.65!important;color:#68727c!important;max-width:440px!important}
.auth-page .auth-card{border:1px solid var(--bp-line)!important;border-radius:13px!important;background:#fff!important;padding:22px!important;box-shadow:var(--bp-shadow)!important}
.auth-page .auth-tabs{margin-bottom:20px!important}
.auth-page .auth-card #authIntro h1{font-size:26px!important;line-height:1.15!important;letter-spacing:-.03em!important;font-weight:650!important}
.auth-page .auth-card #authIntro p{font-size:12px!important;color:#737d87!important}
.auth-page .auth-card label{font-size:11px!important;font-weight:600!important;color:#4f5963!important}
.auth-page .auth-card input{height:44px!important;border-radius:8px!important;border-color:#d9dfe4!important}
.auth-page .auth-card input:focus{border-color:var(--bp-blue)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--bp-blue) 12%,transparent)!important}
.auth-page .auth-card .primary{background:var(--bp-blue)!important;border-radius:8px!important;box-shadow:none!important}

/* Tiny motion language across the public product. */
.public-page a,.public-page button,.booking-page button,.auth-page button{transition:background-color .16s,border-color .16s,color .16s,transform .16s,box-shadow .16s!important}
.choice-celebration{background:#202124!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:10px!important;box-shadow:0 12px 30px rgba(0,0,0,.14)!important}
.choice-celebration-icon{background:var(--bp-accent)!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Responsive public flow */
@media(max-width:900px){
  .public-page .barber-landing-hero{grid-template-columns:1fr!important;gap:38px!important;padding:52px 22px 58px!important}
  .public-page .barber-hero-visual{min-height:420px!important}
  .booking-page .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .auth-page .auth-layout{grid-template-columns:1fr!important;max-width:620px!important;gap:28px!important;padding:42px 20px!important}
  .auth-page .auth-aside{max-width:520px!important}
}
@media(max-width:640px){
  .public-page .topbar,.auth-page .topbar,.booking-page .topbar{height:60px!important;padding:0 14px!important}
  .public-page .brand,.auth-page .brand,.booking-page .brand{font-size:12px!important}
  .public-page .topbar nav>a:not(.brand),.auth-page .topbar>a:not(.brand),.booking-page .topbar nav>a:not(.brand){font-size:11px!important;padding:7px 8px!important}
  .public-page .barber-landing-hero{padding:42px 18px 52px!important}
  .public-page .barber-hero-copy h1{font-size:clamp(43px,13vw,62px)!important}
  .public-page .barber-hero-copy p{font-size:14px!important}
  .public-page .barber-hero-visual{min-height:360px!important}
  .public-page .barber-service-intro{padding:48px 18px 24px!important}
  .public-page .barber-service-intro h2{font-size:38px!important}
  .public-page .barber-experience{grid-template-columns:1fr!important;padding:10px 18px 58px!important}
  .public-page .barber-cta-band{margin:0 18px 40px!important;padding:28px!important}
  .booking-page .booking-wrap.standalone-booking{padding:24px 12px 54px!important}
  .booking-page .booking-page-head{align-items:flex-start!important;flex-direction:column!important;gap:9px!important}
  .booking-page .booking-page-head h1{font-size:29px!important}
  .booking-page .booking-panel{padding:14px!important;border-radius:11px!important}
  .booking-page .service-grid{grid-template-columns:1fr!important}
  .booking-page .service-card{min-height:0!important}
  .booking-page .service-card>p{min-height:0!important}
  .booking-page .combo-footer{align-items:stretch!important;flex-direction:column!important}
  .booking-page .combo-footer .primary{width:100%!important}
  .auth-page .auth-layout{padding:30px 14px!important;gap:22px!important}
  .auth-page .auth-aside h1{font-size:36px!important}
  .auth-page .auth-card{padding:18px!important}
}


/* =========================================================
   v2.17 — PUBLIC EXPERIENCE REFINEMENT
   One visual language: clean, warm, calm, product-first.
   No mixed blue/gold accents on the customer journey.
   ========================================================= */
:root{
  --public-ink:#202124;
  --public-muted:#6f747b;
  --public-line:#e5e7ea;
  --public-surface:#ffffff;
  --public-soft:#f7f7f5;
  --public-accent:var(--brand-accent,#b28a45);
  --public-action:var(--brand-accent,#b28a45);
  --public-accent-soft:color-mix(in srgb,var(--public-accent) 10%,#fff);
  --public-accent-line:color-mix(in srgb,var(--public-accent) 30%,#fff);
}

/* Public pages use one typeface and one action color. */
.public-page,.auth-page,.account-page-body{
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  color:var(--public-ink);
}
.public-page .topbar,.auth-page .topbar,.account-page-body .topbar{
  height:60px!important;
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid var(--public-line)!important;
  box-shadow:0 1px 2px rgba(32,33,36,.025)!important;
}
.public-page .brand,.auth-page .brand,.account-page-body .brand{
  font-family:Inter,system-ui,sans-serif!important;
  font-size:13px!important;font-weight:700!important;letter-spacing:-.025em!important;
}
.public-page .topbar nav,.auth-page .topbar nav,.account-page-body .topbar nav{gap:2px!important}
.public-page .topbar nav>a:not(.brand),.auth-page .topbar nav>a:not(.brand),.account-page-body .topbar nav>a:not(.brand),
.public-page .nav-button,.auth-page .nav-button,.account-page-body .nav-button{
  color:#555b63!important;padding:8px 10px!important;border-radius:8px!important;
  font-size:12px!important;font-weight:600!important;text-decoration:none!important;
}
.public-page .topbar nav>a:hover,.auth-page .topbar nav>a:hover,.account-page-body .topbar nav>a:hover,
.public-page .nav-button:hover,.auth-page .nav-button:hover,.account-page-body .nav-button:hover{
  background:#f5f6f7!important;color:var(--public-ink)!important;
}

/* Home: preserve personality, remove oversized editorial typography. */
.public-page .barber-landing-hero{
  max-width:1180px!important;min-height:510px!important;
  padding:64px 28px 52px!important;gap:62px!important;
}
.public-page .barber-hero-copy h1{
  font-family:Inter,system-ui,sans-serif!important;
  font-size:clamp(48px,6vw,76px)!important;line-height:1.01!important;
  letter-spacing:-.065em!important;font-weight:750!important;
}
.public-page .barber-hero-copy h1 em{color:#8b8f94!important}
.public-page .barber-hero-copy p{font-size:15px!important;line-height:1.65!important;color:#687078!important}
.public-page .hero-cta,.public-page .hero-secondary{
  min-height:42px!important;border-radius:9px!important;font-size:12px!important;
  font-weight:700!important;box-shadow:none!important;
}
.public-page .hero-cta{background:var(--public-action)!important;color:#fff!important}
.public-page .hero-cta span{color:#fff!important}
.public-page .hero-secondary{background:#fff!important;border:1px solid #dfe2e5!important;color:#3f464d!important}
.public-page .barber-trust span{color:var(--public-accent)!important}
.public-page .barber-service-intro h2,.public-page .barber-experience h3,.public-page .barber-cta-band h2{
  font-family:Inter,system-ui,sans-serif!important;letter-spacing:-.045em!important;font-weight:700!important;
}
.public-page .barber-service-intro h2{font-size:40px!important;line-height:1.06!important}
.public-page .barber-experience article{border-color:#e2e5e8!important;background:#fff!important;border-radius:14px!important}
.public-page .feature-icon{background:var(--public-accent-soft)!important;color:var(--public-accent)!important}
.public-page .barber-cta-band{background:#202124!important;border-radius:16px!important}
.public-page .barber-cta-band .hero-cta{background:var(--public-accent)!important}

/* Booking: clean app-like surface, no decorative lime blobs. */
.booking-page{background:var(--public-bg)!important;color:var(--public-ink)!important}
.booking-page .booking-main{min-height:calc(100vh - 60px)}
.booking-page .booking-wrap{max-width:1120px!important;padding:0 24px 72px!important}
.booking-page .booking-page-head{padding:34px 0 16px!important}
.booking-page .booking-page-head h1{
  font:700 32px/1.15 Inter,system-ui,sans-serif!important;letter-spacing:-.045em!important;
  margin:7px 0 7px!important;color:var(--public-ink)!important;
}
.booking-page .booking-page-head p{font-size:13px!important;line-height:1.55!important;color:#737980!important;margin:0!important}
.booking-page .booking-page-head .account-pill{font-size:12px!important;color:#737980!important}
.booking-page .booking-panel{
  border:1px solid #e0e3e6!important;border-radius:14px!important;background:#fff!important;
  padding:24px!important;box-shadow:0 8px 28px rgba(32,33,36,.045)!important;
}
.booking-page .steps{gap:0!important;margin-bottom:28px!important}
.booking-page .step{padding:9px 10px!important;border-bottom:1px solid #e6e8ea!important;color:#9aa0a6!important}
.booking-page .step span{width:28px!important;height:28px!important;border:1px solid #dfe3e7!important;background:#fff!important;color:#777f87!important}
.booking-page .step.active{border-color:var(--public-action)!important;color:var(--public-ink)!important}
.booking-page .step.active span{background:var(--public-action)!important;border-color:var(--public-action)!important;color:#fff!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--public-action) 12%,transparent)!important}
.booking-page .step.done{border-color:#dce9df!important;color:#50575e!important}
.booking-page .step.done span{background:#edf7ef!important;border-color:#d4e9d9!important;color:#3f7d4d!important}
.booking-page .step-copy{margin-bottom:22px!important}
.booking-page .step-copy h2{font:700 28px/1.18 Inter,system-ui,sans-serif!important;letter-spacing:-.035em!important;margin:0 0 7px!important}
.booking-page .step-copy p{font-size:13px!important;line-height:1.55!important;color:#737980!important}
.booking-page .service-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.booking-page .service-card,.booking-page .barber-card{
  position:relative!important;overflow:hidden!important;
  border:1px solid #e0e3e6!important;background:#fff!important;border-radius:12px!important;
  padding:17px!important;box-shadow:none!important;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
.booking-page .service-card:after{display:none!important}
.booking-page .service-card:hover,.booking-page .barber-card:hover{
  transform:translateY(-1px)!important;border-color:#c7cdd3!important;box-shadow:0 5px 18px rgba(32,33,36,.055)!important;
}
.booking-page .service-card.selected,.booking-page .barber-card.selected{
  border:1.5px solid var(--public-action)!important;padding:16.5px!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--public-action) 9%,transparent)!important;
}
.booking-page .service-icon{width:34px!important;height:34px!important;border-radius:9px!important;background:var(--public-accent-soft)!important;color:var(--public-accent)!important}
.booking-page .service-kicker{font-size:9px!important;letter-spacing:.08em!important;color:#7d848b!important}
.booking-page .service-card h3,.booking-page .barber-card h3{font:650 16px/1.25 Inter,system-ui,sans-serif!important;letter-spacing:-.02em!important;margin:12px 0 6px!important}
.booking-page .service-card p,.booking-page .barber-card p{font-size:11px!important;line-height:1.45!important;color:#737980!important;min-height:31px!important}
.booking-page .service-bottom{margin-top:14px!important;padding-top:11px!important;border-top:1px solid #edf0f2!important}
.booking-page .service-bottom strong{font:700 17px Inter,system-ui,sans-serif!important;letter-spacing:-.025em!important}
.booking-page .choose-chip{background:#f5f6f7!important;color:#4d555d!important;border-radius:8px!important;padding:7px 9px!important;font-size:10px!important}
.booking-page .service-card.selected .choose-chip{background:var(--public-action)!important;color:#fff!important}
.booking-page .service-price-tags{display:none!important}

/* Combo: one accent, quiet selection, useful feedback. */
.booking-page .combo-upsell{
  margin-top:14px!important;border:1px solid #e0e3e6!important;border-radius:12px!important;
  background:#fbfbfa!important;padding:16px!important;
}
.booking-page .combo-upsell-head{gap:11px!important}
.booking-page .combo-spark{width:36px!important;height:36px!important;border-radius:10px!important;background:var(--public-accent-soft)!important;color:var(--public-accent)!important;font-size:17px!important}
.booking-page .combo-upsell h3{font:650 17px/1.25 Inter,system-ui,sans-serif!important;letter-spacing:-.02em!important;margin:1px 0 3px!important}
.booking-page .combo-upsell p{font-size:11px!important;color:#747b82!important}
.booking-page .combo-options{grid-template-columns:1fr!important;gap:8px!important;margin-top:13px!important}
.booking-page .combo-option{
  grid-template-columns:30px 36px 1fr auto!important;padding:10px!important;
  border:1px solid #e0e3e6!important;border-radius:10px!important;background:#fff!important;
  transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease!important;
}
.booking-page .combo-option:hover{transform:none!important;border-color:#c7cdd3!important;box-shadow:0 4px 14px rgba(32,33,36,.045)!important}
.booking-page .combo-option.selected{background:var(--public-accent-soft)!important;border-color:var(--public-accent)!important;color:var(--public-ink)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--public-accent) 7%,transparent)!important}
.booking-page .combo-check{width:28px!important;height:28px!important}
.booking-page .combo-option.selected .combo-check{background:var(--public-accent)!important;color:#fff!important;border-color:var(--public-accent)!important}
.booking-page .combo-icon{width:36px!important;height:36px!important;border-radius:9px!important;background:#f1f2f3!important;color:#4e555c!important}
.booking-page .combo-option.selected .combo-icon{background:#fff!important;color:var(--public-accent)!important}
.booking-page .combo-info strong{font-size:13px!important}
.booking-page .combo-info small{font-size:10px!important;color:#777f86!important}
.booking-page .combo-price{font-size:13px!important;color:var(--public-accent)!important}
.booking-page .combo-footer{margin-top:14px!important;padding-top:13px!important;border-top:1px solid #e7e9eb!important}
.booking-page .combo-footer strong{font-size:20px!important}

/* Calendar / slots */
.booking-page .calendar-layout{gap:14px!important}
.booking-page .calendar-card{border:1px solid #e0e3e6!important;border-radius:12px!important;background:#fbfcfd!important;padding:16px!important}
.booking-page .calendar-head strong{font:650 15px Inter,sans-serif!important}
.booking-page .calendar-nav{width:36px!important;height:36px!important}
.booking-page .cal-day{height:42px!important;border-radius:8px!important;background:#fff!important;font-size:11px!important}
.booking-page .cal-day:hover:not(:disabled){border-color:#c7cdd3!important}
.booking-page .cal-day.selected{background:var(--public-action)!important;border-color:var(--public-action)!important;color:#fff!important}
.booking-page .slot{min-height:43px!important;border-radius:8px!important;border-color:#e0e3e6!important;background:#fff!important;font-size:11px!important}
.booking-page .slot.selected{background:var(--public-action)!important;border-color:var(--public-action)!important;color:#fff!important}

/* Buttons / payment / confirmation: one action color. */
.booking-page .primary,.booking-page .button{background:var(--public-action)!important;color:#fff!important;border-radius:9px!important;box-shadow:none!important}
.booking-page .ghost{background:#fff!important;border-color:#d9dee3!important;border-radius:9px!important;color:#3f464d!important}
.booking-page .payment-option.selected{border-color:var(--public-action)!important;background:var(--public-accent-soft)!important}
.booking-page .payment-check{background:var(--public-action)!important;color:#fff!important}
.booking-page .summary-card{border-color:#e0e3e6!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important}
.booking-page .summary-total{background:#202124!important;color:#fff!important}
.booking-page .summary-total strong{color:#fff!important}
.booking-page .summary-points,.booking-page .points-callout{background:var(--public-accent-soft)!important;border-color:var(--public-accent-line)!important;color:#4f412c!important}
.booking-page .points-callout-icon{background:var(--public-accent)!important;color:#fff!important}
.booking-page .points-callout strong{font-size:14px!important}
.booking-page .points-callout p{font-size:11px!important;color:#6f6658!important}
.booking-page .login-needed,.booking-page .logged-confirm-card{border:1px solid #e0e3e6!important;background:#fbfbfa!important;border-radius:12px!important}
.booking-page .success-mark{background:var(--public-accent-soft)!important;color:var(--public-accent)!important}
.booking-page .success-panel h2{font:700 32px/1.15 Inter,sans-serif!important;letter-spacing:-.04em!important}

/* Clean notification/toast, closer to an app notification than a marketing banner. */
.choice-celebration{
  right:20px!important;bottom:20px!important;min-width:0!important;width:min(310px,calc(100vw - 40px))!important;
  padding:10px 12px!important;border:1px solid #e1e4e7!important;border-radius:11px!important;
  background:rgba(255,255,255,.97)!important;color:#202124!important;
  box-shadow:0 12px 32px rgba(32,33,36,.13)!important;backdrop-filter:blur(10px)!important;
  opacity:0;transform:translateY(8px)!important;transition:opacity .18s ease,transform .18s ease!important;
}
.choice-celebration.show{opacity:1!important;transform:translateY(0)!important}
.choice-celebration-icon{width:32px!important;height:32px!important;border-radius:9px!important;background:var(--public-accent-soft)!important;color:var(--public-accent)!important;font-size:15px!important}
.choice-celebration strong{font-size:12px!important;font-weight:700!important}
.choice-celebration small{font-size:10px!important;color:#737a81!important}

@media(max-width:900px){
  .booking-page .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
  .public-page .topbar,.auth-page .topbar,.account-page-body .topbar{height:56px!important;padding:0 14px!important}
  .public-page .topbar nav>a:not(.brand),.auth-page .topbar nav>a:not(.brand),.account-page-body .topbar nav>a:not(.brand){padding:7px 8px!important}
  .booking-page .booking-wrap{padding:0 14px 54px!important}
  .booking-page .booking-page-head{padding:24px 0 13px!important}
  .booking-page .booking-page-head h1{font-size:27px!important}
  .booking-page .booking-panel{padding:15px!important;border-radius:12px!important}
  .booking-page .service-grid{grid-template-columns:1fr!important}
  .booking-page .step{padding:8px 5px!important}
  .booking-page .step small{display:none!important}
  .booking-page .step span{width:26px!important;height:26px!important}
  .booking-page .step-copy h2{font-size:24px!important}
  .booking-page .combo-footer{align-items:stretch!important;flex-direction:column!important}
  .booking-page .combo-footer .primary{width:100%!important;justify-content:center!important}
  .choice-celebration{left:14px!important;right:14px!important;bottom:14px!important;width:auto!important}
}
@media(prefers-reduced-motion:reduce){
  .choice-celebration,.booking-page .service-card,.booking-page .combo-option{transition:none!important}
  .combo-option.selected{animation:none!important}
}

/* =========================================================
   v2.18 — COHERENT PRODUCT UI
   One visual language across Admin + Login + Booking.
   ========================================================= */
:root{
  --bp-blue:#1a73e8;
  --bp-ink:#202124;
  --bp-muted:#687078;
  --bp-line:#e1e5e9;
  --bp-bg:#f6f7f9;
  --bp-surface:#fff;
  --bp-gold:#b28a45;
}

/* ---------------- ADMIN: same calm product language ---------------- */
.admin-page{background:#f5f6f8!important}
.admin-main{background:#f5f6f8!important}
.admin-sidebar{width:228px!important;padding:14px 10px 12px!important;background:#fff!important}
.admin-main{margin-left:228px!important;width:calc(100% - 228px)!important}
.admin-topbar{height:56px!important;padding:0 24px!important;background:#fff!important;border-bottom:1px solid #e6e9ec!important}
.admin-content{max-width:1160px!important;padding:28px 28px 64px!important}
.admin-brand{padding:5px 9px 20px!important}
.admin-sidebar-nav{gap:2px!important}
.admin-sidebar-nav .nav-item{height:38px!important;border-radius:8px!important;font-size:12px!important;font-weight:600!important;color:#5f6368!important}
.admin-sidebar-nav .nav-item.active{background:#e8f0fe!important;color:#1967d2!important}
.admin-sidebar-nav .nav-item.active .ui-icon{color:#1a73e8!important}
.admin-welcome-row{margin-bottom:20px!important;align-items:center!important}
.admin-welcome-row h1{font-size:30px!important;font-weight:650!important;letter-spacing:-.045em!important}
.admin-welcome-row p{font-size:12px!important;color:#747c84!important}
.welcome-actions .primary{background:#1a73e8!important}
.dashboard-metrics{gap:12px!important;margin-bottom:12px!important}
.metric-card{min-height:96px!important;border-radius:10px!important;box-shadow:0 1px 2px rgba(32,33,36,.03),0 4px 12px rgba(32,33,36,.025)!important}
.metric-icon{background:#f1f3f4!important}
.metric-card strong{font-size:22px!important;font-weight:650!important;letter-spacing:-.03em!important}
.dashboard-main-grid{grid-template-columns:minmax(0,1fr) 320px!important;gap:12px!important}
.panel-card,.upcoming-card{border-radius:10px!important;box-shadow:0 1px 2px rgba(32,33,36,.03),0 4px 12px rgba(32,33,36,.025)!important}
.panel-card{padding:19px!important}
.panel-head h2,.upcoming-head h2{font-size:18px!important;font-weight:650!important;letter-spacing:-.025em!important}
.summary-mini-grid>div{background:#fafbfc!important;border-color:#edf0f2!important}
.dashboard-actions-grid button{background:#fff!important;border-color:#edf0f2!important;border-radius:9px!important}

/* Admin settings / forms inherit the same restrained geometry. */
.admin-app-sidebar input,.admin-app-sidebar select,.admin-app-sidebar textarea{font-family:inherit!important;font-size:12px!important;border-radius:8px!important;background:#fff!important}
.admin-app-sidebar .primary{border-radius:8px!important;font-size:11px!important}
.admin-app-sidebar .ghost{border-radius:8px!important;font-size:11px!important;background:#fff!important}

/* ---------------- LOGIN: compact, premium, product-like ---------------- */
.auth-page{background:var(--public-bg,#f7f4ee)!important;color:var(--public-ink,#202124)!important}
.auth-page .topbar{height:58px!important;padding:0 28px!important;background:rgba(255,255,255,.97)!important;border-bottom:1px solid #e2e5e8!important;box-shadow:none!important}
.auth-page .brand{font-size:13px!important;font-weight:700!important}
.auth-page .topbar>a:not(.brand){font-size:12px!important;font-weight:600!important;color:#5f6368!important;padding:8px 10px!important;border-radius:8px!important}
.auth-page .topbar>a:not(.brand):hover{background:#f3f4f5!important}
.auth-page .auth-layout{max-width:1080px!important;min-height:calc(100vh - 58px)!important;padding:44px 24px 64px!important;grid-template-columns:minmax(0,1fr) 400px!important;gap:84px!important;align-items:center!important}
.auth-page .auth-aside{max-width:520px!important}
.auth-page .auth-aside .eyebrow{margin-bottom:12px!important}
.auth-page .auth-aside h1{font-family:Inter,system-ui,sans-serif!important;font-size:clamp(40px,5vw,58px)!important;line-height:1.03!important;letter-spacing:-.065em!important;font-weight:700!important;margin:0 0 16px!important}
.auth-page .auth-aside h1 span{color:#8a8f94!important}
.auth-page .auth-aside p{max-width:470px!important;font-size:14px!important;line-height:1.6!important;color:#6f7780!important;margin:0!important}
.auth-page .auth-card{border:1px solid #dde1e5!important;border-radius:14px!important;background:#fff!important;padding:22px!important;box-shadow:0 10px 30px rgba(32,33,36,.06)!important}
.auth-page .auth-tabs{height:42px!important;background:#f1f3f4!important;border-radius:9px!important;padding:3px!important;gap:2px!important}
.auth-page .auth-tabs button{border-radius:7px!important;font:600 11px Inter,sans-serif!important;color:#687078!important}
.auth-page .auth-tabs button.active{background:#fff!important;color:#202124!important;box-shadow:0 1px 3px rgba(32,33,36,.1)!important}
.auth-page .auth-card #authIntro{margin:22px 0 20px!important}
.auth-page .auth-card #authIntro .eyebrow{margin-bottom:10px!important}
.auth-page .auth-card #authIntro h1{font:700 25px/1.16 Inter,sans-serif!important;letter-spacing:-.04em!important;margin:0 0 8px!important}
.auth-page .auth-card #authIntro p{font:400 12px/1.55 Inter,sans-serif!important;color:#747c84!important;margin:0!important}
.auth-page .auth-card label{font-size:11px!important;font-weight:600!important;color:#3c4043!important;gap:6px!important}
.auth-page .auth-card input{height:44px!important;border:1px solid #d9dde1!important;border-radius:8px!important;padding:0 12px!important;font:500 12px Inter,sans-serif!important;background:#fff!important;color:#202124!important}
.auth-page .auth-card input:focus{outline:none!important;border-color:var(--public-action,#b28a45)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--public-action,#b28a45) 12%,transparent)!important}
.auth-page .auth-card .primary{height:44px!important;border-radius:8px!important;background:var(--public-action,#b28a45)!important;font:650 11px Inter,sans-serif!important;box-shadow:none!important}
.auth-page .auth-foot{font-size:10px!important;line-height:1.5!important;color:#8a9299!important;margin:12px 0 0!important}
.auth-page .notice{font-size:11px!important;border-radius:8px!important}
.auth-page.auth-admin .auth-aside h1{font-size:clamp(38px,4.5vw,54px)!important}
.auth-page.auth-admin .auth-aside h1 span{color:#8a8f94!important}

/* ---------------- BOOKING CONFIRMATION: payment stays visible ---------------- */
.booking-page .confirmation-grid{display:grid!important;grid-template-columns:minmax(0,1fr) 330px!important;gap:14px!important;align-items:start!important}
.booking-page .confirmation-main{min-width:0!important;display:flex!important;flex-direction:column!important;gap:12px!important}
.booking-page .confirmation-side{position:sticky!important;top:74px!important;min-width:0!important}
.booking-page .confirmation-side .payment-card{margin:0!important;height:auto!important}
.booking-page .confirmation-side .payment-options{display:flex!important;flex-direction:column!important;gap:8px!important}
.booking-page .confirmation-side .payment-option{width:100%!important}
.booking-page .confirmation-actions{justify-content:space-between!important;margin-top:14px!important}
.booking-page .confirmation-actions .primary{margin-left:auto!important}

/* Keep the summary readable and avoid repeating loyalty information excessively. */
.booking-page .summary-points{padding:13px 15px!important;font-size:12px!important}
.booking-page .points-callout{margin:0!important;padding:14px!important}
.booking-page .logged-confirm-card,.booking-page .login-needed,.booking-page .booking-public-note{margin:0!important}

@media(max-width:900px){
  .admin-main{margin-left:0!important;width:100%!important}
  .admin-sidebar{transform:translateX(-100%)!important;transition:transform .18s ease!important}
  .admin-sidebar.open{transform:translateX(0)!important}
  .mobile-menu{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border:0!important;background:#f1f3f4!important;border-radius:8px!important;color:#3c4043!important;cursor:pointer!important}
  .admin-topbar{padding:0 16px!important}
  .admin-content{padding:22px 16px 56px!important}
  .confirmation-grid{grid-template-columns:1fr!important}
  .confirmation-side{position:static!important}
}
@media(max-width:700px){
  .auth-page .topbar{padding:0 14px!important}
  .auth-page .auth-layout{min-height:auto!important;padding:30px 14px 48px!important;grid-template-columns:1fr!important;gap:24px!important}
  .auth-page .auth-aside{order:1!important}
  .auth-page .auth-card{order:2!important;padding:18px!important}
  .auth-page .auth-aside h1,.auth-page.auth-admin .auth-aside h1{font-size:36px!important}
  .auth-page .auth-aside p{font-size:13px!important}
  .admin-welcome-row{align-items:flex-start!important;flex-direction:column!important}
  .welcome-actions{width:100%!important}
  .welcome-actions>*{flex:1!important;justify-content:center!important}
  .dashboard-metrics{grid-template-columns:repeat(2,1fr)!important}
  .dashboard-main-grid{grid-template-columns:1fr!important}
}
@media(max-width:480px){
  .auth-page .auth-layout{padding:24px 12px 40px!important}
  .auth-page .auth-aside h1,.auth-page.auth-admin .auth-aside h1{font-size:32px!important}
  .dashboard-metrics{grid-template-columns:1fr!important}
  .admin-content{padding-left:12px!important;padding-right:12px!important}
  .booking-page .confirmation-actions{flex-direction:column!important;align-items:stretch!important}
  .booking-page .confirmation-actions>*{width:100%!important;justify-content:center!important}
  .booking-page .confirmation-actions .primary{margin-left:0!important}
}

/* v2.18 refinement: admin login does not need a consumer account switcher. */
.auth-page.auth-admin .auth-tabs{display:none!important}
.auth-page.auth-admin .auth-card #authIntro{margin-top:2px!important}
.auth-page.auth-admin .auth-card{padding-top:24px!important}

/* V33 · Service merchandising / highlights */
.service-badges{display:flex;align-items:center;gap:6px;min-height:20px;margin:0 0 8px;position:relative;z-index:2}
.service-badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:999px;font-size:10px;font-weight:750;letter-spacing:0;line-height:1;white-space:nowrap}
.service-badge.featured{background:var(--brand-accent,#b28a45);color:#fff}
.service-badge.new{background:#e5484d;color:#fff}
.booking-page .service-card{position:relative;overflow:hidden}
.booking-page .service-card.is-featured{border-color:color-mix(in srgb,var(--brand-accent,#b28a45) 42%,#dfe3e6)}
.booking-page .service-card.is-featured:hover{border-color:var(--brand-accent,#b28a45)}
.booking-page .service-card .service-badges{margin-bottom:2px}
.booking-page .service-card .service-badge{font-size:9px;height:20px;padding:0 7px}
.service-admin-badges{display:flex;gap:6px;align-items:center;min-height:20px;margin:3px 0 3px}
.service-admin-card .service-badge{font-size:9px;height:20px;padding:0 7px}
.service-admin-card .service-badge.featured{background:var(--brand-accent,#b28a45);color:#fff}
.service-admin-card .service-badge.new{background:#e5484d;color:#fff}
.service-highlight-config{border:1px solid var(--ui-line,#e4e7eb);border-radius:12px;padding:10px;margin:2px 0 12px;background:#fafbfc}
.service-highlight-config .setting-toggle{padding:10px 2px}
.highlight-duration{padding:0 2px 3px}
.highlight-duration label{font-size:11px}
.highlight-duration select{margin-top:6px}
@media(max-width:640px){.service-badges{min-height:18px}.service-badge{font-size:9px}.service-highlight-config{padding:8px}}


/* v2.20.3 — targeted booking fixes only; v2.19 visual system remains intact */
.booking-page .booking-page-head .account-pill-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:36px!important;padding:0 14px!important;border:1px solid var(--line)!important;border-radius:999px!important;background:#fff!important;color:var(--ink)!important;font-size:12px!important;font-weight:800!important;text-decoration:none!important;white-space:nowrap!important;box-shadow:0 4px 14px rgba(0,0,0,.04)!important;transition:transform .18s,border-color .18s,box-shadow .18s!important}
.booking-page .booking-page-head .account-pill-button:hover{transform:translateY(-1px)!important;border-color:#aaa!important;box-shadow:0 8px 18px rgba(0,0,0,.06)!important}
.booking-page .booking-page-head .account-pill-button.loading{opacity:.7!important}
.booking-page .combo-option.combo-just-selected{animation:comboJustSelected .52s cubic-bezier(.2,.8,.2,1) both!important}
@keyframes comboJustSelected{0%{transform:scale(.985)}45%{transform:scale(1.015)}100%{transform:scale(1)}}
@media(max-width:760px){.booking-page .booking-page-head .account-pill-button{min-height:34px!important;padding:0 12px!important}}


/* v2.20.4 — MOBILE POLISH ONLY
   Preserve the existing customer visual system. These rules only repair
   confirmation/calendar layout on small screens; desktop remains unchanged.
*/
@media (max-width: 700px){
  /* Step 04: keep every summary field readable instead of squeezing two columns. */
  .booking-page .confirmation-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .booking-page .confirmation-main{
    gap:10px!important;
    min-width:0!important;
  }
  .booking-page .confirmation-side{
    width:100%!important;
    min-width:0!important;
  }
  .booking-page .summary-card{
    display:grid!important;
    grid-template-columns:1fr!important;
    overflow:hidden!important;
  }
  .booking-page .summary-card>div{
    min-width:0!important;
    padding:14px!important;
  }
  .booking-page .summary-card strong{
    font-size:16px!important;
    line-height:1.25!important;
    overflow-wrap:anywhere!important;
  }
  .booking-page .summary-total{
    grid-column:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
  }
  .booking-page .summary-total strong{
    font-size:23px!important;
    white-space:nowrap!important;
  }

  /* Loyalty: one clean horizontal callout, no broken stacking. */
  .booking-page .points-callout{
    display:grid!important;
    grid-template-columns:40px minmax(0,1fr)!important;
    align-items:center!important;
    gap:11px!important;
    padding:12px!important;
    margin:0!important;
  }
  .booking-page .points-callout-icon{
    width:40px!important;
    height:40px!important;
    border-radius:11px!important;
  }
  .booking-page .points-callout strong{
    display:block!important;
    font-size:13px!important;
    line-height:1.3!important;
  }
  .booking-page .points-callout p{
    margin:3px 0 0!important;
    font-size:10px!important;
    line-height:1.35!important;
  }

  /* Account requirement: compact card, no awkward "last step" stacking. */
  .booking-page .login-needed{
    display:grid!important;
    grid-template-columns:40px minmax(0,1fr)!important;
    align-items:start!important;
    gap:11px!important;
    padding:13px!important;
  }
  .booking-page .login-needed .login-icon{
    width:40px!important;
    height:40px!important;
    border-radius:11px!important;
  }
  .booking-page .login-needed>div:last-child{
    min-width:0!important;
  }
  .booking-page .login-needed strong{
    font-size:14px!important;
    line-height:1.3!important;
  }
  .booking-page .login-needed p{
    font-size:11px!important;
    line-height:1.45!important;
    margin:5px 0 10px!important;
  }
  .booking-page .login-needed .login-summary{
    margin:0 0 10px!important;
  }
  .booking-page .login-needed .button{
    width:100%!important;
    justify-content:center!important;
    min-height:40px!important;
    padding:10px 12px!important;
  }

  /* Payment remains below the summary only on mobile; desktop stays side-by-side. */
  .booking-page .confirmation-side .payment-card{
    width:100%!important;
  }
  .booking-page .confirmation-side .payment-option{
    min-width:0!important;
  }

  /* Keep the confirmation heading compact on narrow phones. */
  .booking-page .step-copy h2{
    font-size:25px!important;
    line-height:1.12!important;
  }
  .booking-page .step-copy p{
    font-size:12px!important;
    line-height:1.45!important;
  }
}

@media (max-width: 420px){
  .booking-page .booking-panel{padding:12px!important}
  .booking-page .summary-card>div{padding:12px!important}
  .booking-page .summary-total strong{font-size:21px!important}
  .booking-page .points-callout strong{font-size:12px!important}
  .booking-page .points-callout p{font-size:9.5px!important}
}

/* v2.20.5 — micro fixes only; preserve v2.20.4 customer design */
.booking-page .topbar nav #accountNav{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  padding:7px 12px!important;
  border:1px solid #d9dee3!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#202124!important;
  font-size:11px!important;
  font-weight:700!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-shadow:0 1px 2px rgba(32,33,36,.04)!important;
}
.booking-page .topbar nav #accountNav:hover{
  background:#f7f8f9!important;
  border-color:#c8cdd2!important;
}
.booking-page .confirmation-side .payment-option.selected{
  color:#202124!important;
  background:var(--public-accent-soft)!important;
  border-color:var(--public-action)!important;
}
.booking-page .confirmation-side .payment-option.selected strong{color:#202124!important}
.booking-page .confirmation-side .payment-option.selected small{color:#737980!important}
.booking-page .confirmation-side .payment-option.selected .payment-icon{color:var(--public-accent)!important;background:#fff!important}
.booking-page .confirmation-side .payment-option.selected .payment-check{color:#fff!important;background:var(--public-action)!important;border-color:var(--public-action)!important}

/* Keep service duration attached to its icon at the top of every card. */
.booking-page .service-card-head{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin-bottom:16px!important;
  min-height:34px!important;
}
.booking-page .service-card-head .service-kicker{display:inline-flex!important;align-items:center!important}

@media(max-width:640px){
  .booking-page .topbar nav #accountNav{min-height:32px!important;padding:6px 10px!important;font-size:10px!important}
  .booking-page .service-card-head{margin-bottom:13px!important}
}

/* =========================================================
   v2.21 — ADMIN MATCHES THE CURRENT BOOKING EXPERIENCE
   IMPORTANT: booking/public UI is intentionally untouched.
   Only .admin-page is themed here.
   ========================================================= */
.admin-page{
  --admin-bg:#f2eee7;
  --admin-surface:#fffdf9;
  --admin-surface-2:#faf7f1;
  --admin-ink:#171411;
  --admin-muted:#77716a;
  --admin-line:#ddd5ca;
  --admin-gold:#c9a86a;
  --admin-gold-soft:#f4ecdc;
  --admin-gold-line:#e5d4b3;
  --admin-shadow:0 10px 30px rgba(30,24,17,.045);
  --admin-shadow-hover:0 16px 38px rgba(30,24,17,.075);
  background:var(--admin-bg)!important;
  color:var(--admin-ink)!important;
  font-family:"DM Sans",Inter,system-ui,sans-serif!important;
}
.admin-page .admin-app-sidebar{
  background:var(--admin-bg)!important;
}
.admin-page .admin-sidebar{
  width:238px!important;
  background:rgba(255,253,249,.97)!important;
  border-right:1px solid var(--admin-line)!important;
  box-shadow:none!important;
  padding:18px 12px 12px!important;
  backdrop-filter:blur(14px);
}
.admin-page .admin-brand{
  color:var(--admin-ink)!important;
  padding:4px 9px 22px!important;
}
.admin-page .admin-brand .brand-mark{
  width:36px!important;height:36px!important;border-radius:11px!important;
  background:var(--admin-ink)!important;color:#fff!important;
  font-family:"Host Grotesk",sans-serif!important;
}
.admin-page .admin-brand strong{
  font:800 13px/1 "Host Grotesk",sans-serif!important;
  letter-spacing:-.035em!important;
}
.admin-page .admin-brand small{
  color:#989087!important;
  font:600 8px/1 "DM Sans",sans-serif!important;
  letter-spacing:.16em!important;
}
.admin-page .admin-sidebar-nav{gap:4px!important}
.admin-page .admin-sidebar-nav .nav-item{
  height:42px!important;
  border-radius:12px!important;
  color:#746f68!important;
  gap:11px!important;
  padding:0 12px!important;
  font:700 12px "DM Sans",sans-serif!important;
  transition:background .18s ease,color .18s ease,transform .18s ease!important;
}
.admin-page .admin-sidebar-nav .nav-item:hover{
  background:#f4f0e9!important;
  color:var(--admin-ink)!important;
  transform:translateX(1px)!important;
}
.admin-page .admin-sidebar-nav .nav-item.active{
  background:var(--admin-gold-soft)!important;
  color:#6f5227!important;
}
.admin-page .admin-sidebar-nav .nav-item.active .ui-icon{color:#a77722!important}
.admin-page .admin-sidebar-nav .nav-item span{
  width:27px!important;height:27px!important;border-radius:9px!important;
}
.admin-page .admin-sidebar-nav .nav-item.active span{background:var(--admin-gold)!important;color:#fff!important}
.admin-page .admin-sidebar-nav .nav-item.active .ui-icon{color:#fff!important}
.admin-page .admin-sidebar-bottom{
  border-top:1px solid #eee8df!important;
  padding:12px 5px 2px!important;
}
.admin-page .admin-public-link{
  color:#6f6961!important;
  font:700 11px "DM Sans",sans-serif!important;
  border-radius:10px!important;
}
.admin-page .admin-public-link:hover{background:#f5f1ea!important;color:var(--admin-ink)!important}
.admin-page .admin-account{
  border:1px solid var(--admin-line)!important;
  background:#fff!important;
  border-radius:13px!important;
  padding:9px!important;
  box-shadow:0 4px 14px rgba(30,24,17,.035)!important;
}
.admin-page .admin-avatar{
  background:var(--admin-ink)!important;
  font-family:"Host Grotesk",sans-serif!important;
}
.admin-page .admin-account strong{font:800 10px "DM Sans",sans-serif!important;color:var(--admin-ink)!important}
.admin-page .admin-account small{font:500 9px "DM Sans",sans-serif!important;color:#999087!important}
.admin-page .admin-account button:hover{background:var(--admin-gold-soft)!important;color:#795a2c!important}

.admin-page .admin-main{
  margin-left:238px!important;
  width:calc(100% - 238px)!important;
  background:var(--admin-bg)!important;
}
.admin-page .admin-topbar{
  height:64px!important;
  padding:0 30px!important;
  background:rgba(255,253,249,.91)!important;
  border-bottom:1px solid rgba(221,213,202,.9)!important;
  box-shadow:0 4px 18px rgba(30,24,17,.025)!important;
  backdrop-filter:blur(16px)!important;
}
.admin-page .admin-top-context{
  font:700 12px "DM Sans",sans-serif!important;
  color:var(--admin-ink)!important;
}
.admin-page .admin-top-context small{
  color:#918a81!important;
  border-left-color:var(--admin-line)!important;
  font:500 10px "DM Sans",sans-serif!important;
}
.admin-page .status-dot{background:#6e9d69!important;box-shadow:0 0 0 3px #eaf2e5!important}
.admin-page .top-public-link,
.admin-page .top-logout{
  height:38px!important;
  border-radius:11px!important;
  font:700 10px "DM Sans",sans-serif!important;
}
.admin-page .top-public-link{color:#6c665f!important}
.admin-page .top-public-link:hover{background:#f4f0e9!important;color:var(--admin-ink)!important}
.admin-page .top-logout{
  border:1px solid var(--admin-line)!important;
  background:var(--admin-ink)!important;
  color:#fff!important;
}
.admin-page .top-logout:hover{background:#2a2520!important}

.admin-page .admin-content{
  max-width:1260px!important;
  padding:42px clamp(24px,4vw,58px) 80px!important;
}
.admin-page .admin-welcome-row{
  margin-bottom:25px!important;
  align-items:flex-end!important;
}
.admin-page .eyebrow{
  color:#8a7659!important;
  font:800 9px/1.2 "DM Sans",sans-serif!important;
  letter-spacing:.17em!important;
  text-transform:uppercase!important;
}
.admin-page .admin-welcome-row h1{
  font:800 clamp(48px,5.2vw,76px)/.88 "Host Grotesk",sans-serif!important;
  letter-spacing:-.075em!important;
  color:var(--admin-ink)!important;
  margin:12px 0 13px!important;
}
.admin-page .admin-welcome-row h1 span{color:#8b8a84!important}
.admin-page .admin-welcome-row p{
  color:var(--admin-muted)!important;
  font:400 13px/1.55 "DM Sans",sans-serif!important;
}
.admin-page .welcome-actions{gap:9px!important}
.admin-page .welcome-actions .primary,
.admin-page .welcome-actions .ghost{
  height:46px!important;
  border-radius:13px!important;
  padding:0 17px!important;
  font:800 11px "DM Sans",sans-serif!important;
}
.admin-page .welcome-actions .primary{
  background:var(--admin-ink)!important;
  color:#fff!important;
  box-shadow:0 10px 25px rgba(23,20,17,.13)!important;
}
.admin-page .welcome-actions .primary:hover{background:#2a2520!important;transform:translateY(-1px)!important}
.admin-page .welcome-actions .ghost{
  background:rgba(255,255,255,.58)!important;
  border:1px solid var(--admin-line)!important;
  color:var(--admin-ink)!important;
}
.admin-page .welcome-actions .ghost:hover{background:#fff!important}

.admin-page .dashboard-metrics{
  gap:12px!important;
  margin-bottom:18px!important;
}
.admin-page .metric-card{
  min-height:116px!important;
  padding:19px!important;
  border:1px solid var(--admin-line)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:var(--admin-shadow)!important;
  transition:transform .2s,box-shadow .2s,border-color .2s!important;
}
.admin-page .metric-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:var(--admin-shadow-hover)!important;
  border-color:var(--admin-gold-line)!important;
}
.admin-page .metric-icon{
  width:40px!important;height:40px!important;border-radius:12px!important;
  background:var(--admin-gold-soft)!important;color:#8b6734!important;
}
.admin-page .metric-card span{color:#898177!important;font:800 8px "DM Sans",sans-serif!important;letter-spacing:.12em!important}
.admin-page .metric-card strong{font:800 30px/1 "Host Grotesk",sans-serif!important;letter-spacing:-.06em!important;color:var(--admin-ink)!important;margin:6px 0 5px!important}
.admin-page .metric-card small{color:#a19a91!important;font:400 9px "DM Sans",sans-serif!important}

.admin-page .dashboard-main-grid{gap:16px!important;grid-template-columns:minmax(0,1fr) 355px!important}
.admin-page .panel-card,
.admin-page .upcoming-card{
  border:1px solid var(--admin-line)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.95)!important;
  box-shadow:var(--admin-shadow)!important;
}
.admin-page .panel-card:hover,.admin-page .upcoming-card:hover{box-shadow:var(--admin-shadow-hover)!important}
.admin-page .dashboard-summary-card{padding:25px!important;min-height:390px!important}
.admin-page .panel-head h2,
.admin-page .upcoming-head h2{
  font:800 29px/1 "Host Grotesk",sans-serif!important;
  letter-spacing:-.055em!important;
  color:var(--admin-ink)!important;
  margin:7px 0 6px!important;
}
.admin-page .panel-head p,.admin-page .panel-subtitle{
  color:#817a72!important;
  font:400 11px/1.55 "DM Sans",sans-serif!important;
}
.admin-page .summary-mini-grid{gap:10px!important;margin:24px 0!important}
.admin-page .summary-mini-grid>div{
  padding:16px!important;
  border:1px solid #eee7dd!important;
  border-radius:15px!important;
  background:#fbf8f2!important;
}
.admin-page .summary-mini-grid span{color:#8d8378!important;font:800 8px "DM Sans",sans-serif!important;letter-spacing:.14em!important}
.admin-page .summary-mini-grid strong{font:800 24px/1 "Host Grotesk",sans-serif!important;color:var(--admin-ink)!important;margin:8px 0 5px!important}
.admin-page .summary-mini-grid small{color:#9d958b!important;font:400 9px "DM Sans",sans-serif!important}
.admin-page .dashboard-actions-grid{gap:8px!important}
.admin-page .dashboard-actions-grid button{
  min-height:57px!important;
  padding:11px 13px!important;
  border:1px solid #eee7dd!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.admin-page .dashboard-actions-grid button:hover{
  background:#fbf8f2!important;
  border-color:var(--admin-gold-line)!important;
  transform:translateY(-1px)!important;
}
.admin-page .dashboard-actions-grid button>.ui-icon:first-child{
  background:var(--admin-gold-soft)!important;
  color:#8b6734!important;
}
.admin-page .dashboard-actions-grid strong{font:800 11px "DM Sans",sans-serif!important;color:var(--admin-ink)!important}
.admin-page .dashboard-actions-grid small{font:400 9px "DM Sans",sans-serif!important;color:#918a82!important}
.admin-page .dashboard-actions-grid button>.ui-icon:last-child{color:#9a9187!important}

.admin-page .upcoming-card{padding:23px 20px!important;min-height:390px!important}
.admin-page .upcoming-head{margin-bottom:15px!important}
.admin-page .upcoming-head h2{font-size:27px!important}
.admin-page .upcoming-head .text-link{color:#7b5b2b!important;font:800 10px "DM Sans",sans-serif!important}
.admin-page .upcoming-item{border-top-color:#eee7dd!important;padding:15px 0!important}
.admin-page .time-chip{background:var(--admin-gold-soft)!important;border-radius:12px!important}
.admin-page .time-chip strong{font-family:"Host Grotesk",sans-serif!important;color:var(--admin-ink)!important}
.admin-page .time-chip span{color:#8f8579!important}
.admin-page .appointment-status{background:#eef5e9!important;color:#3e7442!important}

.admin-page .view-top{margin-bottom:22px!important}
.admin-page .view-top h1{
  font:800 clamp(34px,4vw,52px)/.92 "Host Grotesk",sans-serif!important;
  letter-spacing:-.065em!important;
  color:var(--admin-ink)!important;
}
.admin-page .view-badge{
  background:var(--admin-gold-soft)!important;
  border-color:var(--admin-gold-line)!important;
  color:#76582c!important;
  font:800 9px "DM Sans",sans-serif!important;
}

/* All secondary admin sections use the same surfaces as the dashboard. */
.admin-page .admin-app-sidebar .agenda-card,
.admin-page .admin-app-sidebar .agenda-settings,
.admin-page .admin-app-sidebar .service-panel,
.admin-page .admin-app-sidebar .customer-panel,
.admin-page .admin-app-sidebar .loyalty-panel,
.admin-page .admin-app-sidebar .marketing-panel,
.admin-page .admin-app-sidebar .settings-panel,
.admin-page .admin-app-sidebar .service-admin-card,
.admin-page .admin-app-sidebar .marketing-rule,
.admin-page .admin-app-sidebar .panel-card{
  border-color:var(--admin-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--admin-shadow)!important;
}
.admin-page .admin-app-sidebar input,
.admin-page .admin-app-sidebar select,
.admin-page .admin-app-sidebar textarea{
  border-color:#ddd5ca!important;
  border-radius:11px!important;
  background:#fff!important;
  color:var(--admin-ink)!important;
  font-family:"DM Sans",sans-serif!important;
}
.admin-page .admin-app-sidebar input:focus,
.admin-page .admin-app-sidebar select:focus,
.admin-page .admin-app-sidebar textarea:focus{
  border-color:var(--admin-gold)!important;
  box-shadow:0 0 0 3px rgba(201,168,106,.13)!important;
}
.admin-page .admin-app-sidebar .primary{
  background:var(--admin-ink)!important;
  color:#fff!important;
  border-radius:11px!important;
  font-family:"DM Sans",sans-serif!important;
  box-shadow:0 8px 20px rgba(23,20,17,.10)!important;
}
.admin-page .admin-app-sidebar .primary:hover{background:#2a2520!important}
.admin-page .admin-app-sidebar .ghost{
  background:#fff!important;
  border:1px solid var(--admin-line)!important;
  color:var(--admin-ink)!important;
  border-radius:11px!important;
}
.admin-page .admin-app-sidebar .ghost:hover{background:#faf7f1!important}
.admin-page .admin-app-sidebar .notice{border-radius:11px!important}
.admin-page .admin-app-sidebar .service-admin-card:hover,
.admin-page .admin-app-sidebar .marketing-rule:hover{
  border-color:var(--admin-gold-line)!important;
  box-shadow:var(--admin-shadow-hover)!important;
  transform:translateY(-2px)!important;
}
.admin-page .admin-app-sidebar .service-admin-icon,
.admin-page .admin-app-sidebar .marketing-service-icon{
  background:var(--admin-ink)!important;
  color:#e1bd79!important;
}
.admin-page .admin-app-sidebar .settings-toggle-list,
.admin-page .admin-app-sidebar .setting-toggle{border-color:#eee7dd!important}
.admin-page .admin-app-sidebar .setting-toggle input:checked + i{background:var(--admin-gold)!important}

@media(max-width:900px){
  .admin-page .admin-main{margin-left:0!important;width:100%!important}
  .admin-page .admin-sidebar{width:250px!important;transform:translateX(-100%)!important}
  .admin-page .admin-sidebar.open{transform:translateX(0)!important}
  .admin-page .admin-topbar{height:62px!important;padding:0 16px!important}
  .admin-page .mobile-menu{display:grid!important;place-items:center!important;width:36px!important;height:36px!important;border:1px solid var(--admin-line)!important;background:#fff!important;border-radius:11px!important;color:var(--admin-ink)!important}
  .admin-page .admin-content{padding:32px 18px 60px!important}
  .admin-page .dashboard-main-grid{grid-template-columns:1fr!important}
  .admin-page .upcoming-card{min-height:0!important}
}
@media(max-width:640px){
  .admin-page .admin-top-context small{display:none!important}
  .admin-page .admin-top-context{font-size:11px!important}
  .admin-page .admin-top-actions .top-public-link{display:none!important}
  .admin-page .admin-content{padding:27px 14px 55px!important}
  .admin-page .admin-welcome-row{align-items:flex-start!important;flex-direction:column!important;gap:18px!important}
  .admin-page .admin-welcome-row h1{font-size:50px!important;line-height:.88!important}
  .admin-page .welcome-actions{width:100%!important;display:grid!important;grid-template-columns:1fr!important}
  .admin-page .welcome-actions .primary,.admin-page .welcome-actions .ghost{width:100%!important;justify-content:center!important}
  .admin-page .dashboard-metrics{grid-template-columns:1fr 1fr!important}
  .admin-page .metric-card{min-height:102px!important;padding:14px!important;border-radius:15px!important}
  .admin-page .metric-card strong{font-size:26px!important}
  .admin-page .metric-icon{width:34px!important;height:34px!important;border-radius:10px!important}
  .admin-page .dashboard-summary-card,.admin-page .upcoming-card{padding:18px!important;border-radius:18px!important}
  .admin-page .panel-head h2,.admin-page .upcoming-head h2{font-size:25px!important}
  .admin-page .summary-mini-grid{grid-template-columns:1fr!important}
}
@media(max-width:420px){
  .admin-page .dashboard-metrics{grid-template-columns:1fr!important}
  .admin-page .admin-welcome-row h1{font-size:46px!important}
}


/* =========================================================
   v2.21.1 — ADMIN CLARITY + MOBILE CONFIRMATION ORDER
   Preserve the established customer design. Only targeted layout fixes.
   ========================================================= */
/* Admin: simple, owner-first dashboard. Keep sidebar; remove the oversized
   editorial treatment that made the control panel feel disconnected. */
.admin-page .admin-content{max-width:1180px!important;padding:34px 42px 64px!important}
.admin-page .admin-welcome-row{margin-bottom:22px!important;align-items:center!important}
.admin-page .admin-welcome-row h1{font-size:clamp(42px,4.2vw,58px)!important;line-height:.98!important;letter-spacing:-.055em!important;margin:10px 0 9px!important}
.admin-page .admin-welcome-row p{font-size:13px!important;line-height:1.5!important}
.admin-page .welcome-actions{align-self:flex-end!important}
.admin-page .dashboard-metrics{gap:12px!important;margin-bottom:16px!important}
.admin-page .metric-card{min-height:108px!important;padding:17px!important;border-radius:15px!important;box-shadow:0 7px 22px rgba(30,24,17,.04)!important}
.admin-page .metric-card strong{font-size:27px!important;letter-spacing:-.045em!important}
.admin-page .metric-icon{width:38px!important;height:38px!important;border-radius:11px!important}
.admin-page .dashboard-main-grid{gap:14px!important;grid-template-columns:minmax(0,1fr) 330px!important}
.admin-page .panel-card,.admin-page .upcoming-card{border-radius:15px!important;box-shadow:0 7px 22px rgba(30,24,17,.04)!important}
.admin-page .dashboard-summary-card{padding:21px!important;min-height:0!important}
.admin-page .panel-head h2,.admin-page .upcoming-head h2{font-size:25px!important;letter-spacing:-.045em!important}
.admin-page .summary-mini-grid{margin:18px 0!important}
.admin-page .summary-mini-grid>div{padding:13px!important;border-radius:12px!important}
.admin-page .summary-mini-grid strong{font-size:22px!important}
.admin-page .dashboard-actions-grid button{min-height:53px!important;border-radius:12px!important}
.admin-page .upcoming-card{padding:20px 18px!important;min-height:0!important}
.admin-page .upcoming-head{margin-bottom:10px!important}
.admin-page .upcoming-head h2{font-size:24px!important}

/* Confirmation: desktop keeps payment at the right; mobile follows the
   natural customer decision order: summary → points → payment → account. */
.booking-page .confirmation-grid{grid-template-areas:"main side" "main account"!important}
.booking-page .confirmation-main{grid-area:main!important}
.booking-page .confirmation-side{grid-area:side!important}
.booking-page .confirmation-account{grid-area:account!important}
.booking-page .confirmation-account{margin:0!important}
@media(max-width:900px){
  .admin-page .admin-content{padding:28px 18px 58px!important}
  .admin-page .admin-welcome-row h1{font-size:44px!important}
  .booking-page .confirmation-grid{grid-template-columns:1fr!important;grid-template-areas:"main" "side" "account"!important;gap:10px!important}
  .booking-page .confirmation-side{position:static!important}
}
@media(max-width:640px){
  .admin-page .admin-content{padding:24px 14px 52px!important}
  .admin-page .admin-welcome-row h1{font-size:38px!important;line-height:1!important}
  .admin-page .welcome-actions{align-self:stretch!important}
  .admin-page .dashboard-metrics{grid-template-columns:1fr 1fr!important}
  .admin-page .metric-card{min-height:96px!important;padding:13px!important}
  .admin-page .metric-card strong{font-size:24px!important}
  .admin-page .dashboard-main-grid{grid-template-columns:1fr!important}
  .booking-page .confirmation-account{width:100%!important}
}
@media(max-width:420px){
  .admin-page .dashboard-metrics{grid-template-columns:1fr!important}
  .admin-page .admin-welcome-row h1{font-size:35px!important}
}


/* v2.22.0 · Owner-first dashboard + post-service review */
.admin-page .admin-welcome-row{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:24px!important;margin-bottom:18px!important}
.admin-page .admin-welcome-row h1{font-size:clamp(34px,3.4vw,46px)!important;line-height:1.02!important;letter-spacing:-.055em!important;margin:8px 0 7px!important}
.admin-page .admin-welcome-row h1 span{color:#8d8d88!important}
.admin-page .admin-welcome-row p{font-size:13px!important;color:#77736d!important;margin:0!important}
.admin-page .welcome-actions{display:flex!important;gap:9px!important;align-items:center!important}
.admin-page .welcome-actions .primary,.admin-page .welcome-actions .ghost{min-height:46px!important;padding:0 17px!important;border-radius:13px!important}
.admin-page .dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin-bottom:14px!important}
.admin-page .metric-card{min-height:92px!important;padding:14px 15px!important;border-radius:15px!important;box-shadow:0 5px 18px rgba(30,24,17,.035)!important}
.admin-page .metric-card strong{font-size:25px!important}
.admin-page .metric-card small{font-size:10px!important}
.admin-page .metric-icon{width:36px!important;height:36px!important;border-radius:11px!important}
.admin-page .dashboard-main-grid{grid-template-columns:minmax(0,1fr) 350px!important;gap:12px!important}
.admin-page .dashboard-summary-card,.admin-page .upcoming-card{border-radius:16px!important;box-shadow:0 5px 18px rgba(30,24,17,.035)!important}
.admin-page .dashboard-summary-card{padding:20px!important}
.admin-page .panel-head h2,.admin-page .upcoming-head h2{font-size:24px!important}
.admin-page .summary-mini-grid{gap:8px!important;margin:15px 0!important}
.admin-page .summary-mini-grid>div{padding:12px!important;border-radius:12px!important}
.admin-page .summary-mini-grid strong{font-size:21px!important}
.admin-page .dashboard-actions-grid{gap:7px!important}
.admin-page .dashboard-actions-grid button{min-height:50px!important;border-radius:11px!important}
.review-page{min-height:100vh;background:var(--review-bg,#f7f4ee);color:#171411;font-family:"DM Sans",system-ui,sans-serif}
.review-wrap{width:min(680px,100%);margin:0 auto;padding:42px 18px 70px}
.review-card{background:#fff;border:1px solid #e5dfd5;border-radius:24px;padding:30px;box-shadow:0 18px 45px rgba(40,30,18,.07)}
.review-brand{display:flex;align-items:center;gap:10px;font:700 15px "Host Grotesk",sans-serif;margin-bottom:38px}
.review-mark{width:38px;height:38px;border-radius:12px;background:#171411;color:#fff;display:grid;place-items:center;font-size:11px;overflow:hidden}.review-mark img{width:100%;height:100%;object-fit:cover}
.review-card h1{font:800 clamp(34px,7vw,52px)/.98 "Host Grotesk",sans-serif;letter-spacing:-.055em;margin:10px 0 10px}.review-sub{color:#77736d;margin:0 0 28px}.review-rating{padding:18px;border-radius:17px;background:#faf7f1;border:1px solid #eadfce}.review-rating strong{display:block;font-size:15px}.stars{display:flex;gap:4px;margin:12px 0 5px}.stars button{border:0;background:none;color:#d7d2ca;font-size:34px;line-height:1;cursor:pointer;padding:0 2px;transition:.15s}.stars button:hover,.stars button.selected{color:var(--review-accent,#b28a45);transform:translateY(-1px)}.review-rating>span{font-size:11px;color:#888}.review-comment{display:block;margin-top:16px}.review-comment>span{display:block;font-size:12px;font-weight:700;margin-bottom:7px}.review-comment textarea{width:100%;resize:vertical;min-height:100px;border:1px solid #ded8ce;border-radius:13px;padding:13px;font:inherit;outline:none}.review-comment textarea:focus{border-color:var(--review-accent,#b28a45);box-shadow:0 0 0 4px rgba(178,138,69,.08)}.tip-box{margin-top:16px;padding:17px;border:1px solid #e8e1d7;border-radius:16px}.tip-box>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center}.tip-box strong{font-size:14px}.tip-box small{display:block;color:#8a857e;font-size:10px;margin-top:3px}.tip-options{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.tip-options button{border:1px solid #ded8ce;background:#fff;border-radius:10px;padding:9px 13px;font:700 12px "DM Sans";cursor:pointer}.tip-options button.selected{background:#171411;color:#fff;border-color:#171411}.tip-note{margin-top:9px!important}.review-submit{width:100%;border:0;border-radius:13px;background:#171411;color:#fff;min-height:50px;padding:0 18px;margin-top:18px;font:700 14px "DM Sans";cursor:pointer}.review-submit:disabled{opacity:.45;cursor:not-allowed}.review-submit.google{display:flex;align-items:center;justify-content:center;text-decoration:none;background:var(--review-accent,#b28a45);margin-top:12px}.google-review-box{margin-top:16px;padding:16px;border-radius:15px;background:#f5f2ec;border:1px solid #e5ddd1}.google-review-box strong{font-size:13px}.google-review-box p{font-size:11px;color:#777;margin:5px 0 12px}.google-review-box a{display:inline-flex;align-items:center;border:1px solid #171411;border-radius:10px;padding:9px 12px;color:#171411;text-decoration:none;font-size:12px;font-weight:700}.review-success{text-align:center}.review-success .success-mark{width:52px;height:52px;border-radius:50%;background:var(--review-accent,#b28a45);color:#fff;display:grid;place-items:center;margin:0 auto 18px;font-size:22px}.tip-thanks{margin-top:18px;padding:13px;border-radius:12px;background:#faf7f1;font-size:13px}.review-error{margin-top:10px;color:#a53d33;font-size:12px}
@media(max-width:800px){.admin-page .admin-welcome-row{align-items:flex-start!important;flex-direction:column!important;gap:13px!important}.admin-page .welcome-actions{align-self:stretch!important}.admin-page .welcome-actions>*{flex:1}.admin-page .dashboard-main-grid{grid-template-columns:1fr!important}}
@media(max-width:640px){.review-wrap{padding:18px 12px 50px}.review-card{padding:22px 18px;border-radius:20px}.review-brand{margin-bottom:28px}.review-card h1{font-size:39px}.stars button{font-size:30px}.tip-options{display:grid;grid-template-columns:repeat(2,1fr)}.tip-options button{width:100%}.admin-page .admin-welcome-row h1{font-size:34px!important}.admin-page .dashboard-metrics{grid-template-columns:1fr 1fr!important}.admin-page .metric-card{min-height:90px!important}.admin-page .dashboard-main-grid{grid-template-columns:1fr!important}}

/* v2.23.1 · Super Admin native modals / copyable credentials */
.superadmin-page .modal-lead{margin:-10px 0 18px;color:#737b83;font-size:12px;line-height:1.55}
.superadmin-page .credential-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 15px;margin:10px 0;border:1px solid var(--ui-line,#e5e7eb);border-radius:12px;background:#fafbfc}
.superadmin-page .credential-card>div{min-width:0}
.superadmin-page .credential-card span{display:block;font:600 9px Inter,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#8a929a;margin-bottom:5px}
.superadmin-page .credential-card strong{display:block;font:600 13px Inter,sans-serif;color:#202124;word-break:break-all}
.superadmin-page .credential-password{font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important;letter-spacing:.02em}
.superadmin-page .copy-credential{flex:0 0 auto;white-space:nowrap}
.superadmin-page .modal-note{margin:14px 0 2px;padding:11px 12px;border-radius:10px;background:#f6f1e7;color:#756447;font-size:10px;line-height:1.5}
@media(max-width:640px){.superadmin-page .credential-card{align-items:flex-start;flex-direction:column}.superadmin-page .credential-card button{width:100%}}

/* v2.24.0 · Admin visual refresh — owner-first, booking-like experience */
.admin-app-sidebar{--admin-bg:#f7f6f2;--admin-card:#fff;--admin-ink:#171717;--admin-muted:#777872;--admin-line:#e7e5df;--admin-accent:#c08a42;--admin-accent-soft:#f5ecdf;--admin-green:#dff2e5;--admin-red:#e45454;background:var(--admin-bg)!important;color:var(--admin-ink)!important}
.admin-app-sidebar .admin-sidebar{width:236px!important;background:rgba(255,255,255,.96)!important;border-right:1px solid var(--admin-line)!important;padding:18px 13px!important}
.admin-app-sidebar .admin-brand{padding:7px 8px 20px!important;border-bottom:1px solid var(--admin-line)!important;margin-bottom:14px!important}
.admin-app-sidebar .admin-brand .brand-mark{width:38px!important;height:38px!important;border-radius:13px!important;background:#171717!important;box-shadow:0 8px 22px rgba(23,23,23,.12)!important}
.admin-app-sidebar .admin-brand strong{font-family:"Host Grotesk",sans-serif!important;font-size:13px!important;letter-spacing:-.025em!important}
.admin-app-sidebar .admin-brand small{font-size:8px!important;letter-spacing:.14em!important;color:#aaa79f!important}
.admin-app-sidebar .admin-sidebar-nav{gap:4px!important}
.admin-app-sidebar .admin-sidebar-nav .nav-item{height:43px!important;border-radius:13px!important;padding:0 12px!important;color:#77756f!important;font-size:11px!important;transition:.18s ease!important}
.admin-app-sidebar .admin-sidebar-nav .nav-item:hover{background:#f5f3ee!important;color:#252420!important}
.admin-app-sidebar .admin-sidebar-nav .nav-item.active{background:var(--admin-accent-soft)!important;color:#9a6724!important}
.admin-app-sidebar .admin-sidebar-nav .nav-item.active .ui-icon{color:var(--admin-accent)!important}
.admin-app-sidebar .admin-sidebar-nav .nav-item.locked small{margin-left:auto;background:#f2f0eb;color:#9b9891;border-radius:999px;padding:4px 7px;font-size:8px!important}
.admin-app-sidebar .admin-sidebar-bottom{border-top:1px solid var(--admin-line)!important;padding-top:14px!important}
.admin-app-sidebar .admin-public-link{color:#85827b!important;font-size:10px!important}
.admin-app-sidebar .admin-account{border:1px solid var(--admin-line)!important;background:#fbfaf7!important;border-radius:15px!important;padding:9px!important}
.admin-app-sidebar .admin-avatar{background:#191919!important;color:#fff!important;border-radius:11px!important}
.admin-app-sidebar .admin-main{margin-left:236px!important;width:calc(100% - 236px)!important;background:var(--admin-bg)!important}
.admin-app-sidebar .admin-topbar{height:66px!important;background:rgba(247,246,242,.9)!important;border-bottom:1px solid var(--admin-line)!important;padding:0 34px!important;backdrop-filter:blur(14px)!important}
.admin-app-sidebar .admin-top-context span:not(.status-dot){font:650 12px "Host Grotesk",sans-serif!important;color:#24231f!important}
.admin-app-sidebar .admin-top-context small{color:#a09c94!important;font-size:9px!important}
.admin-app-sidebar .status-dot{width:7px!important;height:7px!important;background:#65a56e!important;box-shadow:0 0 0 4px rgba(101,165,110,.10)!important}
.admin-app-sidebar .top-public-link{font-size:10px!important;color:#6e6a63!important}
.admin-app-sidebar .top-logout{font-size:10px!important;color:#8a857d!important}
.admin-app-sidebar .admin-content{max-width:1280px!important;padding:38px 42px 70px!important}
.admin-app-sidebar .view-top{margin-bottom:24px!important;align-items:center!important}
.admin-app-sidebar .view-top h1{font:650 38px/1 "Host Grotesk",sans-serif!important;letter-spacing:-.055em!important;color:#1b1a17!important;margin:8px 0 0!important}
.admin-app-sidebar .view-badge{background:#fff!important;border:1px solid var(--admin-line)!important;color:#827e76!important;border-radius:999px!important;padding:8px 11px!important;font-size:9px!important}
.admin-app-sidebar .eyebrow{font-size:9px!important;letter-spacing:.16em!important;color:#9a958c!important}
.admin-app-sidebar .panel-card,.admin-app-sidebar .upcoming-card,.admin-app-sidebar .agenda-card,.admin-app-sidebar .agenda-settings,.admin-app-sidebar .service-panel,.admin-app-sidebar .customer-panel,.admin-app-sidebar .loyalty-panel,.admin-app-sidebar .marketing-panel,.admin-app-sidebar .settings-panel,.admin-app-sidebar .service-admin-card,.admin-app-sidebar .marketing-rule{border:1px solid var(--admin-line)!important;border-radius:20px!important;background:var(--admin-card)!important;box-shadow:0 12px 35px rgba(39,31,21,.035)!important;padding:24px!important}
.admin-app-sidebar .panel-card:hover,.admin-app-sidebar .upcoming-card:hover{box-shadow:0 18px 45px rgba(39,31,21,.055)!important}
.admin-app-sidebar .panel-head h2,.admin-app-sidebar .upcoming-head h2{font:650 24px/1.05 "Host Grotesk",sans-serif!important;letter-spacing:-.045em!important;color:#1b1a17!important}
.admin-app-sidebar .panel-subtitle,.admin-app-sidebar .panel-head p{font-size:11px!important;color:#8b877f!important;line-height:1.55!important}
.admin-app-sidebar .admin-welcome-row{margin-bottom:20px!important;align-items:flex-end!important}
.admin-app-sidebar .admin-welcome-row h1{font:650 clamp(38px,4vw,56px)/.95 "Host Grotesk",sans-serif!important;letter-spacing:-.07em!important;color:#171614!important;margin:10px 0 9px!important}
.admin-app-sidebar .admin-welcome-row p{font-size:13px!important;color:#858179!important}
.admin-app-sidebar .welcome-actions{gap:9px!important}
.admin-app-sidebar .welcome-actions .primary,.admin-app-sidebar .welcome-actions .ghost{min-height:44px!important;border-radius:13px!important;padding:0 15px!important;font-size:10px!important}
.admin-app-sidebar .primary{background:#191817!important;border-radius:12px!important;box-shadow:0 8px 18px rgba(25,24,23,.10)!important;font-size:10px!important}
.admin-app-sidebar .primary:hover{background:#2a2825!important;transform:translateY(-1px)!important}
.admin-app-sidebar .ghost{border:1px solid var(--admin-line)!important;background:#fff!important;border-radius:12px!important;color:#514e48!important}
.admin-app-sidebar .dashboard-metrics{gap:12px!important;margin-bottom:14px!important}
.admin-app-sidebar .metric-card{min-height:112px!important;border:1px solid var(--admin-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 8px 26px rgba(39,31,21,.035)!important;padding:17px!important}
.admin-app-sidebar .metric-card strong{font:650 28px/1 "Host Grotesk",sans-serif!important;letter-spacing:-.05em!important;color:#191817!important}
.admin-app-sidebar .metric-card span{font-size:8px!important;color:#9a968e!important;letter-spacing:.1em!important}
.admin-app-sidebar .metric-card small{font-size:9px!important;color:#aaa69e!important}
.admin-app-sidebar .metric-icon{width:39px!important;height:39px!important;border-radius:13px!important;background:#f5f1ea!important;color:#a06e2d!important}
.admin-app-sidebar .dashboard-main-grid{gap:14px!important;grid-template-columns:minmax(0,1fr) 365px!important}
.admin-app-sidebar .dashboard-summary-card{padding:25px!important}
.admin-app-sidebar .summary-mini-grid{gap:9px!important;margin:19px 0!important}
.admin-app-sidebar .summary-mini-grid>div{border:1px solid #eeeae3!important;border-radius:14px!important;background:#fbfaf7!important;padding:15px!important}
.admin-app-sidebar .summary-mini-grid strong{font:650 23px "Host Grotesk",sans-serif!important;letter-spacing:-.04em!important}
.admin-app-sidebar .dashboard-actions-grid{gap:8px!important}
.admin-app-sidebar .dashboard-actions-grid button{min-height:58px!important;border:1px solid #eeeae3!important;border-radius:14px!important;background:#fff!important}
.admin-app-sidebar .dashboard-actions-grid button:hover{background:#faf8f4!important;border-color:#e1d6c5!important}
.admin-app-sidebar .upcoming-card{padding:23px!important}
.admin-app-sidebar .upcoming-head{margin-bottom:12px!important}
.admin-app-sidebar .upcoming-head h2{font-size:23px!important}

/* Owner-first upgrade surface */
.admin-app-sidebar .upgrade-strip{position:relative;display:flex;align-items:center;gap:15px;overflow:hidden;margin:0 0 14px;padding:15px 17px;border:1px solid #e7d9c5;border-radius:18px;background:linear-gradient(100deg,#fffdf8,#f7efe2);box-shadow:0 10px 28px rgba(100,69,31,.05)}
.admin-app-sidebar .upgrade-strip-glow{width:35px;height:35px;border-radius:12px;display:grid;place-items:center;flex:none;background:#1a1917;color:#f1c47b;box-shadow:0 0 0 7px rgba(192,138,66,.09);font-size:16px}
.admin-app-sidebar .upgrade-strip div:nth-child(2){display:grid;gap:3px;min-width:0}.upgrade-strip div:nth-child(2) span{font-size:8px;letter-spacing:.13em;font-weight:900;color:#a27335}.upgrade-strip div:nth-child(2) strong{font:600 12px "Host Grotesk",sans-serif;color:#332b22}.upgrade-strip button{margin-left:auto;flex:none;border:0;background:#191817;color:#fff;border-radius:11px;padding:10px 13px;font-size:9px;font-weight:800;cursor:pointer}

/* Professional team */
.admin-app-sidebar .section-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px;padding:26px 28px;border:1px solid #e8dfd3;border-radius:22px;background:linear-gradient(125deg,#fffdf9 0%,#f5ecdf 100%);overflow:hidden;position:relative}
.admin-app-sidebar .section-hero:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-50px;top:-70px;background:rgba(192,138,66,.13);filter:blur(8px)}
.admin-app-sidebar .section-hero h2{font:650 32px/1 "Host Grotesk",sans-serif;letter-spacing:-.055em;margin:9px 0 7px;position:relative;z-index:1}.admin-app-sidebar .section-hero p{margin:0;color:#837d73;font-size:11px;position:relative;z-index:1}.team-hero-stat{position:relative;z-index:1;display:grid;place-items:center;min-width:105px;padding:14px;border:1px solid rgba(255,255,255,.75);border-radius:16px;background:rgba(255,255,255,.62);backdrop-filter:blur(8px)}.team-hero-stat strong{font:650 27px "Host Grotesk",sans-serif}.team-hero-stat span{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#9a958c}.team-add-card{margin-bottom:14px}.staff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.staff-card{border:1px solid #ebe7df;border-radius:18px;padding:16px;background:#fff;transition:.18s ease}.staff-card:hover{transform:translateY(-2px);border-color:#ddcdb7;box-shadow:0 15px 35px rgba(49,35,19,.06)}.staff-card.is-inactive{opacity:.65}.staff-card-top{display:flex;gap:12px;align-items:center}.staff-avatar{width:46px;height:46px;border-radius:15px;background:#191817;color:#fff;display:grid;place-items:center;font:650 13px "Host Grotesk",sans-serif}.staff-card-top h3{font:650 17px "Host Grotesk",sans-serif;letter-spacing:-.03em;margin:4px 0 2px}.staff-card-top p{margin:0;color:#969188;font-size:10px}.staff-status{display:inline-flex;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.staff-status.on{color:#4f8b58}.staff-status.off{color:#9b9891}.staff-card-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0}.staff-card-meta>div{padding:10px 11px;border-radius:12px;background:#faf9f6;border:1px solid #efebe4}.staff-card-meta span{display:block;font-size:7px;letter-spacing:.12em;color:#a09c94;font-weight:800}.staff-card-meta strong{display:block;font:600 12px "Host Grotesk",sans-serif;margin-top:4px}.staff-card-actions{display:flex;gap:7px}.staff-card-actions button{flex:1;min-height:34px;font-size:9px!important}.staff-card-actions .danger{color:#a94848!important}.staff-modal-card{max-width:520px!important}

/* Pro gate / pricing modal */
.admin-app-sidebar .locked-feature-card{position:relative;overflow:hidden;display:grid;grid-template-columns:78px 1fr auto;align-items:center;gap:20px;padding:28px;border:1px solid #e7d9c5;border-radius:24px;background:linear-gradient(125deg,#fffdf9,#f6ecdf);box-shadow:0 15px 45px rgba(80,55,25,.06)}
.locked-feature-orbit{width:68px;height:68px;border-radius:22px;background:#1a1917;display:grid;place-items:center;color:#f1c47b;font-size:28px;box-shadow:0 0 0 9px rgba(192,138,66,.09),0 15px 30px rgba(0,0,0,.12);animation:adminDiamondPulse 2.6s ease-in-out infinite}.locked-feature-card h2{font:650 28px "Host Grotesk",sans-serif;letter-spacing:-.05em;margin:7px 0 6px}.locked-feature-card p{margin:0;color:#817a70;font-size:11px}.pro-kicker{font-size:8px;font-weight:900;letter-spacing:.16em;color:#a27335}.upgrade-modal-card{width:min(1050px,100%)!important;border-radius:28px!important;padding:32px!important;background:#fbfaf7!important}.upgrade-orbit{width:54px;height:54px;border-radius:18px;background:#191817;color:#f0bd6d;display:grid;place-items:center;font-size:23px;box-shadow:0 0 0 8px rgba(192,138,66,.09);animation:adminDiamondPulse 2.4s ease-in-out infinite}.upgrade-modal-card h2{font:650 clamp(34px,5vw,48px) "Host Grotesk",sans-serif!important;letter-spacing:-.07em!important;margin:12px 0 8px!important}.upgrade-lead{max-width:650px;color:#817d75;font-size:12px;line-height:1.6;margin:0 0 24px}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pricing-card{position:relative;display:flex;flex-direction:column;padding:20px;border:1px solid #e6e2da;border-radius:20px;background:#fff;min-height:390px}.pricing-card.recommended{border-color:#d5b98e;box-shadow:0 15px 40px rgba(122,82,32,.08);transform:translateY(-3px)}.pricing-card.current{background:#faf9f6}.pricing-recommended{position:absolute;right:15px;top:15px;padding:5px 8px;border-radius:999px;background:#191817;color:#f0c47b;font-size:7px;font-weight:900;letter-spacing:.1em}.pricing-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.pricing-top>span{font:650 19px "Host Grotesk",sans-serif;letter-spacing:-.035em}.pricing-top>b{font-size:7px;text-transform:uppercase;letter-spacing:.1em;color:#aaa39a}.pricing-price{display:flex;align-items:baseline;gap:5px;margin:20px 0 7px}.pricing-price strong{font:650 34px "Host Grotesk",sans-serif;letter-spacing:-.06em}.pricing-price span{font-size:9px;color:#9b968e}.pricing-card>p{font-size:10px;line-height:1.5;color:#89847c;min-height:31px}.pricing-card ul{list-style:none;padding:0;margin:15px 0 22px;display:grid;gap:9px}.pricing-card li{display:flex;align-items:center;gap:7px;font-size:9px;color:#514e48}.pricing-card li .ui-icon{width:13px;height:13px;color:#8e672f}.pricing-buy{margin-top:auto;min-height:39px!important}.pricing-empty{grid-column:1/-1;padding:25px;border:1px dashed #d8d2c8;border-radius:16px;text-align:center;color:#858078;font-size:11px}
@keyframes adminDiamondPulse{0%,100%{transform:scale(1) rotate(0deg)}50%{transform:scale(1.06) rotate(3deg)}}

@media(max-width:900px){.admin-app-sidebar .admin-main{margin-left:0!important;width:100%!important}.admin-app-sidebar .admin-content{padding:28px 18px 55px!important}.admin-app-sidebar .dashboard-main-grid{grid-template-columns:1fr!important}.staff-grid{grid-template-columns:1fr!important}.pricing-grid{grid-template-columns:1fr!important}.pricing-card.recommended{transform:none}.admin-app-sidebar .locked-feature-card{grid-template-columns:60px 1fr}.admin-app-sidebar .locked-feature-card button{grid-column:1/-1;width:100%}}
@media(max-width:620px){.admin-app-sidebar .admin-topbar{padding:0 16px!important}.admin-app-sidebar .admin-content{padding:22px 13px 50px!important}.admin-app-sidebar .admin-welcome-row{align-items:flex-start!important;flex-direction:column!important}.admin-app-sidebar .welcome-actions{width:100%!important}.admin-app-sidebar .welcome-actions>*{flex:1;justify-content:center}.admin-app-sidebar .dashboard-metrics{grid-template-columns:1fr 1fr!important}.admin-app-sidebar .metric-card{min-height:94px!important;padding:13px!important}.admin-app-sidebar .metric-card strong{font-size:24px!important}.admin-app-sidebar .upgrade-strip{align-items:flex-start;flex-wrap:wrap}.admin-app-sidebar .upgrade-strip button{width:100%;margin-left:0}.admin-app-sidebar .section-hero{align-items:flex-start;flex-direction:column}.admin-app-sidebar .section-hero h2{font-size:28px}.admin-app-sidebar .team-hero-stat{width:100%;display:flex;justify-content:space-between}.admin-app-sidebar .locked-feature-card{grid-template-columns:1fr;text-align:center}.admin-app-sidebar .locked-feature-orbit{margin:auto}.admin-app-sidebar .locked-feature-card button{grid-column:auto}.upgrade-modal-card{padding:23px!important}.pricing-card{min-height:0}.admin-app-sidebar .form-three,.admin-app-sidebar .form-two{grid-template-columns:1fr!important}}

/* =========================================================
   v2.24.2 — ADMIN POLISH / ONE VISUAL LANGUAGE
   Keep all functionality; unify secondary views with the approved
   Equipo / Fidelidad / Marketing visual language.
   ========================================================= */
.admin-page .admin-app-sidebar{
  --adm-bg:#f7f5f1;
  --adm-card:#fffdf9;
  --adm-line:#e8e1d7;
  --adm-muted:#8b847b;
  --adm-ink:#191817;
  --adm-gold:#b98743;
  --adm-gold-soft:#f6ecdd;
  background:var(--adm-bg)!important;
  color:var(--adm-ink)!important;
}
.admin-page .admin-app-sidebar .admin-content{max-width:1240px!important;padding:38px 42px 72px!important}
.admin-page .admin-app-sidebar .admin-topbar{background:rgba(255,253,249,.88)!important;backdrop-filter:blur(18px)!important;border-bottom:1px solid rgba(232,225,215,.82)!important}
.admin-page .admin-app-sidebar .admin-sidebar{background:#fffdfb!important;border-right:1px solid #ebe4da!important}
.admin-page .admin-app-sidebar .admin-sidebar-nav .nav-item{position:relative;border-radius:14px!important;min-height:46px!important;margin:2px 8px!important;color:#777169!important;transition:background .22s ease,color .22s ease,transform .22s ease!important}
.admin-page .admin-app-sidebar .admin-sidebar-nav .nav-item span{width:32px!important;height:32px!important;border-radius:10px!important;display:grid!important;place-items:center!important;background:transparent!important;transition:.22s ease!important}
.admin-page .admin-app-sidebar .admin-sidebar-nav .nav-item .ui-icon{width:17px!important;height:17px!important;stroke-width:1.7!important}
.admin-page .admin-app-sidebar .admin-sidebar-nav .nav-item b{font:600 11px/1 "DM Sans",sans-serif!important}
.admin-page .admin-app-sidebar .admin-sidebar-nav .nav-item small{font:800 7px/1 "DM Sans",sans-serif!important;letter-spacing:.1em!important;text-transform:uppercase!important;background:#f2eee7!important;color:#9a6d34!important;padding:5px 7px!important;border-radius:999px!important}
.admin-page .admin-app-sidebar .admin-sidebar-nav .nav-item:hover{background:#faf7f1!important;color:#322d27!important;transform:translateX(2px)!important}
.admin-page .admin-app-sidebar .admin-sidebar-nav .nav-item:hover span{background:#f5eee3!important;color:#a27335!important}
.admin-page .admin-app-sidebar .admin-sidebar-nav .nav-item.active{background:#f4eadb!important;color:#8c6129!important}
.admin-page .admin-app-sidebar .admin-sidebar-nav .nav-item.active span{background:#d3a75e!important;color:#fff!important;box-shadow:0 5px 15px rgba(182,131,59,.18)!important}
.admin-page .admin-app-sidebar .admin-sidebar-nav .nav-item.locked{opacity:.82!important}

/* Page headings */
.admin-page .admin-app-sidebar .view-top{margin:0 0 22px!important;padding:2px 0!important;border:0!important;background:transparent!important}
.admin-page .admin-app-sidebar .view-top .eyebrow{font:800 9px/1 "DM Sans",sans-serif!important;letter-spacing:.17em!important;color:#a08f7c!important;text-transform:uppercase!important}
.admin-page .admin-app-sidebar .view-top h1{font:650 clamp(42px,4.5vw,62px)/.92 "Host Grotesk",sans-serif!important;letter-spacing:-.065em!important;color:#191817!important;margin:9px 0 0!important}
.admin-page .admin-app-sidebar .view-badge{border:1px solid #e4d9ca!important;background:#fffaf2!important;color:#96703c!important;border-radius:999px!important;padding:8px 11px!important;font:800 8px "DM Sans",sans-serif!important;letter-spacing:.05em!important;text-transform:uppercase!important}

/* Smooth common surfaces */
.admin-page .admin-app-sidebar .panel-card,
.admin-page .admin-app-sidebar .agenda-card,
.admin-page .admin-app-sidebar .agenda-settings,
.admin-page .admin-app-sidebar .service-panel,
.admin-page .admin-app-sidebar .customer-panel,
.admin-page .admin-app-sidebar .loyalty-panel,
.admin-page .admin-app-sidebar .marketing-panel,
.admin-page .admin-app-sidebar .settings-panel,
.admin-page .admin-app-sidebar .service-admin-card,
.admin-page .admin-app-sidebar .marketing-rule,
.admin-page .admin-app-sidebar .combo-admin-section{
  border:1px solid var(--adm-line)!important;
  border-radius:22px!important;
  background:var(--adm-card)!important;
  box-shadow:0 12px 35px rgba(55,43,29,.035)!important;
  transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease!important;
}
.admin-page .admin-app-sidebar .panel-card:hover{box-shadow:0 18px 48px rgba(55,43,29,.055)!important}
.admin-page .admin-app-sidebar .panel-head h2,
.admin-page .admin-app-sidebar .agenda-toolbar h2,
.admin-page .admin-app-sidebar .settings-grid h2,
.admin-page .admin-app-sidebar .marketing-rule h3,
.admin-page .admin-app-sidebar .service-admin-card h3,
.admin-page .admin-app-sidebar .combo-admin-card strong{
  font-family:"Host Grotesk",sans-serif!important;
  letter-spacing:-.045em!important;
  color:#1b1a18!important;
}
.admin-page .admin-app-sidebar .panel-head h2{font-size:28px!important;line-height:1!important;margin:5px 0 7px!important}
.admin-page .admin-app-sidebar .panel-head p,
.admin-page .admin-app-sidebar .agenda-toolbar p,
.admin-page .admin-app-sidebar .panel-subtitle{font:400 11px/1.55 "DM Sans",sans-serif!important;color:#8b847b!important}
.admin-page .admin-app-sidebar .eyebrow{font:800 8px/1 "DM Sans",sans-serif!important;letter-spacing:.16em!important;color:#aa957d!important;text-transform:uppercase!important}

/* Forms / controls */
.admin-page .admin-app-sidebar label{font:700 10px/1.3 "DM Sans",sans-serif!important;color:#4b4640!important}
.admin-page .admin-app-sidebar input,
.admin-page .admin-app-sidebar select,
.admin-page .admin-app-sidebar textarea{border:1px solid #dfd7cc!important;border-radius:14px!important;background:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;font:500 12px "DM Sans",sans-serif!important;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important}
.admin-page .admin-app-sidebar input:focus,
.admin-page .admin-app-sidebar select:focus,
.admin-page .admin-app-sidebar textarea:focus{border-color:#c49a5e!important;box-shadow:0 0 0 4px rgba(196,154,94,.12)!important;outline:none!important}
.admin-page .admin-app-sidebar .primary{border-radius:13px!important;background:#191817!important;box-shadow:0 9px 22px rgba(25,24,23,.12)!important;font:750 10px "DM Sans",sans-serif!important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important}
.admin-page .admin-app-sidebar .primary:hover{background:#2a2723!important;transform:translateY(-1px)!important;box-shadow:0 13px 28px rgba(25,24,23,.16)!important}
.admin-page .admin-app-sidebar .ghost{border:1px solid #e1d9cf!important;border-radius:13px!important;background:#fffdfb!important;color:#302c28!important;font:700 10px "DM Sans",sans-serif!important;transition:.18s ease!important}
.admin-page .admin-app-sidebar .ghost:hover{background:#faf6ef!important;border-color:#d7c8b6!important;transform:translateY(-1px)!important}
.admin-page .admin-app-sidebar .ui-icon{stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;fill:none!important}
.admin-page .admin-app-sidebar button .ui-icon{width:16px!important;height:16px!important}

/* Agenda */
.admin-page .admin-app-sidebar .agenda-toolbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;padding:4px 2px 22px!important}
.admin-page .admin-app-sidebar .date-jump{border:1px solid #e9e1d6!important;border-radius:16px!important;background:#fff!important;box-shadow:0 7px 20px rgba(55,43,29,.04)!important}
.admin-page .admin-app-sidebar .date-jump button{width:38px!important;height:38px!important;border-radius:12px!important;color:#8c6738!important;transition:.18s ease!important}
.admin-page .admin-app-sidebar .date-jump button:hover{background:#f7efe3!important}
.admin-page .admin-app-sidebar .day-strip{gap:7px!important;margin:0 0 18px!important;padding:4px!important;background:#f7f3ed!important;border:1px solid #ebe3d8!important;border-radius:17px!important}
.admin-page .admin-app-sidebar .day-pill{border-radius:13px!important;border:0!important;background:transparent!important;color:#91897f!important;transition:.18s ease!important}
.admin-page .admin-app-sidebar .day-pill:hover{background:#fff!important;color:#423b34!important}
.admin-page .admin-app-sidebar .day-pill.selected{background:#191817!important;color:#fff!important;box-shadow:0 7px 16px rgba(25,24,23,.13)!important}

/* Services / customers */
.admin-page .admin-app-sidebar .service-admin-grid,
.admin-page .admin-app-sidebar .customer-list,
.admin-page .admin-app-sidebar .combo-admin-grid{gap:12px!important}
.admin-page .admin-app-sidebar .service-admin-card,
.admin-page .admin-app-sidebar .combo-admin-card,
.admin-page .admin-app-sidebar .customer-row{border-radius:18px!important;background:#fff!important;border-color:#ebe4da!important}
.admin-page .admin-app-sidebar .service-admin-card:hover,
.admin-page .admin-app-sidebar .combo-admin-card:hover,
.admin-page .admin-app-sidebar .customer-row:hover{transform:translateY(-2px)!important;box-shadow:0 16px 34px rgba(55,43,29,.055)!important;border-color:#dfcdb4!important}
.admin-page .admin-app-sidebar .service-admin-icon,
.admin-page .admin-app-sidebar .marketing-service-icon{width:42px!important;height:42px!important;border-radius:14px!important;background:#f4eadb!important;color:#9b6c2f!important;display:grid!important;place-items:center!important}
.admin-page .admin-app-sidebar .service-admin-actions button{width:35px!important;height:35px!important;border-radius:11px!important;background:#faf7f1!important;border:1px solid #ebe2d7!important;color:#777067!important;transition:.18s ease!important}
.admin-page .admin-app-sidebar .service-admin-actions button:hover{background:#191817!important;color:#fff!important;border-color:#191817!important}
.admin-page .admin-app-sidebar .customer-avatar{border-radius:14px!important;background:#191817!important;color:#f4d8ad!important;box-shadow:0 7px 16px rgba(25,24,23,.08)!important}

/* Settings: no more old dense SaaS blocks */
.admin-page .admin-app-sidebar .settings-grid{gap:14px!important}
.admin-page .admin-app-sidebar .settings-grid>.panel-card{padding:25px!important}
.admin-page .admin-app-sidebar .settings-live-badge,
.admin-page .admin-app-sidebar .pro-pill{border-radius:999px!important;background:#f5ecdf!important;color:#95672f!important;border:1px solid #eadcc9!important;padding:7px 10px!important;font:800 8px "DM Sans",sans-serif!important;letter-spacing:.06em!important}
.admin-page .admin-app-sidebar .branding-live-preview{border-radius:18px!important;border:1px solid #e9e1d6!important;background:#f8f4ed!important;box-shadow:inset 0 1px 0 #fff!important}
.admin-page .admin-app-sidebar .setting-big-row{border-radius:17px!important;background:#faf7f2!important;border:1px solid #eee6db!important;padding:14px!important}
.admin-page .admin-app-sidebar .setting-big-icon{border-radius:13px!important;background:#191817!important;color:#f0c47b!important}

/* Loyalty / Marketing remain the visual reference, but harmonize their outer spacing. */
.admin-page .admin-app-sidebar .loyalty-config-hero,
.admin-page .admin-app-sidebar .marketing-hero{border-radius:22px!important;box-shadow:0 14px 35px rgba(55,43,29,.045)!important;margin-bottom:14px!important}
.admin-page .admin-app-sidebar .reward-admin-card{border-radius:17px!important;border-color:#ebe3d9!important;background:#fff!important;transition:.2s ease!important}
.admin-page .admin-app-sidebar .reward-admin-card:hover{transform:translateY(-2px)!important;box-shadow:0 14px 30px rgba(55,43,29,.05)!important}
.admin-page .admin-app-sidebar .marketing-rule{padding:20px!important}
.admin-page .admin-app-sidebar .marketing-rule-top{padding-bottom:15px!important;border-bottom:1px solid #eee7de!important}

/* Upgrade modal: clean comparison, not giant blank cards. */
.admin-page.modal-open{overflow:hidden!important}
.modal-open{overflow:hidden!important}
.upgrade-overlay{background:rgba(24,21,18,.44)!important;backdrop-filter:blur(14px)!important;padding:24px!important;align-items:center!important}
.upgrade-modal-card{width:min(1180px,calc(100vw - 48px))!important;max-height:min(880px,calc(100vh - 48px))!important;overflow:auto!important;border:1px solid rgba(231,221,207,.95)!important;border-radius:28px!important;padding:30px!important;background:linear-gradient(180deg,#fffdf9 0%,#f9f6f0 100%)!important;box-shadow:0 35px 90px rgba(0,0,0,.20)!important;animation:upgradeModalIn .24s cubic-bezier(.2,.8,.2,1)!important}
.upgrade-modal-card .modal-close{position:sticky!important;top:0!important;float:right!important;z-index:5;width:38px!important;height:38px!important;border-radius:12px!important;background:#fff!important;border:1px solid #e7dfd5!important;color:#6e675e!important;font-size:21px!important;line-height:1!important;box-shadow:0 5px 16px rgba(55,43,29,.05)!important}
.upgrade-modal-head{display:flex!important;align-items:flex-start!important;gap:16px!important;padding-right:44px!important;margin-bottom:24px!important}
.upgrade-orbit{flex:none!important;width:58px!important;height:58px!important;border-radius:18px!important;background:#191817!important;color:#f1c47b!important;display:grid!important;place-items:center!important;font-size:24px!important;box-shadow:0 0 0 8px rgba(192,138,66,.10),0 14px 28px rgba(0,0,0,.10)!important}
.upgrade-modal-card h2{font:650 clamp(32px,4vw,48px)/.95 "Host Grotesk",sans-serif!important;letter-spacing:-.065em!important;margin:8px 0 8px!important;color:#191817!important;max-width:760px!important}
.upgrade-lead{font:400 12px/1.55 "DM Sans",sans-serif!important;color:#837c72!important;max-width:700px!important;margin:0!important}
.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;align-items:stretch!important}
.pricing-card{min-height:0!important;padding:22px!important;border:1px solid #e7dfd5!important;border-radius:21px!important;background:#fff!important;box-shadow:0 9px 25px rgba(55,43,29,.035)!important;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important}
.pricing-card:hover{transform:translateY(-3px)!important;box-shadow:0 18px 38px rgba(55,43,29,.07)!important;border-color:#ddc8ab!important}
.pricing-card.recommended{transform:translateY(-4px)!important;border-color:#cda96d!important;background:linear-gradient(180deg,#fffdf9,#fff9ef)!important;box-shadow:0 18px 42px rgba(122,82,32,.09)!important}
.pricing-card.recommended:hover{transform:translateY(-7px)!important}
.pricing-card.current{background:#f7f4ee!important}
.pricing-recommended{background:#191817!important;color:#f3c57d!important;font-size:8px!important;padding:6px 9px!important;border-radius:999px!important}
.pricing-top>span{font:650 23px "Host Grotesk",sans-serif!important;letter-spacing:-.045em!important}
.pricing-top>b{font:800 8px "DM Sans",sans-serif!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#aaa097!important}
.pricing-price{margin:18px 0 8px!important}.pricing-price strong{font:650 42px "Host Grotesk",sans-serif!important;letter-spacing:-.065em!important;color:#191817!important}.pricing-price span{font:500 10px "DM Sans",sans-serif!important;color:#9b948a!important}.pricing-free{font-size:34px!important}
.pricing-card>p{min-height:0!important;margin:0 0 15px!important;font:400 11px/1.5 "DM Sans",sans-serif!important;color:#847d74!important}
.pricing-features{display:grid!important;gap:0!important;margin:5px 0 20px!important;border-top:1px solid #eee7de!important}
.pricing-feature{display:grid!important;grid-template-columns:20px 1fr auto!important;align-items:center!important;gap:7px!important;min-height:35px!important;border-bottom:1px solid #f0ebe4!important;font:500 10px "DM Sans",sans-serif!important;color:#514c46!important}
.pricing-feature-icon{width:18px!important;height:18px!important;border-radius:7px!important;display:grid!important;place-items:center!important;background:#f2eadf!important;color:#9b6c31!important;font-size:10px!important;font-weight:900!important}
.pricing-feature.is-off{color:#aaa39a!important}.pricing-feature.is-off .pricing-feature-icon{background:#f4f2ee!important;color:#bbb5ad!important}.pricing-feature b{font:800 8px "DM Sans",sans-serif!important;color:#9d7543!important}
.pricing-buy{min-height:43px!important;border-radius:13px!important;font-size:10px!important;margin-top:auto!important}.pricing-buy[disabled]{opacity:.62!important;cursor:default!important;transform:none!important;box-shadow:none!important}
.pricing-checkout-note{display:block!important;margin-top:9px!important;text-align:center!important;font:500 8px/1.4 "DM Sans",sans-serif!important;color:#9b948b!important}
@keyframes upgradeModalIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}

@media(max-width:980px){
  .admin-page .admin-app-sidebar .admin-content{padding:30px 22px 58px!important}
  .pricing-grid{grid-template-columns:1fr!important}
  .pricing-card.recommended,.pricing-card.recommended:hover{transform:none!important}
  .upgrade-modal-card{width:min(700px,calc(100vw - 28px))!important;padding:24px!important}
}
@media(max-width:640px){
  .admin-page .admin-app-sidebar .admin-content{padding:24px 14px 52px!important}
  .admin-page .admin-app-sidebar .view-top h1{font-size:44px!important}
  .admin-page .admin-app-sidebar .panel-head h2{font-size:24px!important}
  .admin-page .admin-app-sidebar .agenda-toolbar{align-items:flex-start!important;flex-direction:column!important}
  .upgrade-overlay{padding:10px!important}.upgrade-modal-card{width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)!important;border-radius:22px!important;padding:20px!important}.upgrade-modal-head{padding-right:30px!important}.upgrade-orbit{width:48px!important;height:48px!important}.upgrade-modal-card h2{font-size:34px!important}.pricing-card{padding:18px!important}
}


/* ========================================================================
   BARBER PRO ADMIN · V2.24.3 FINAL SMOOTH SYSTEM
   Visual-only layer. Keeps existing functionality and component markup.
   ======================================================================== */
.admin-page .admin-app-sidebar{
  --admin-bg:#f7f5f1;
  --admin-surface:#fffdf9;
  --admin-surface-2:#faf7f1;
  --admin-line:#e8e1d7;
  --admin-text:#1b1a18;
  --admin-muted:#8b857c;
  --admin-gold:#c79a55;
  --admin-gold-soft:#f3e8d6;
  background:var(--admin-bg)!important;
}
.admin-page .admin-app-sidebar .admin-main{background:var(--admin-bg)!important}
.admin-page .admin-app-sidebar .admin-content{max-width:1320px!important;margin:0 auto!important;padding:34px 34px 80px!important}
.admin-page .admin-app-sidebar .admin-topbar{background:rgba(255,253,249,.92)!important;border:1px solid rgba(232,225,215,.9)!important;border-radius:0 0 0 0!important;box-shadow:0 8px 30px rgba(55,43,29,.025)!important;backdrop-filter:blur(16px)!important}

/* Remove the old duplicated page header; each view now has one deliberate hero/title. */
.admin-page .admin-app-sidebar .view-top{display:none!important}
.admin-page .admin-page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:4px 0 24px;padding:2px 2px 0}
.admin-page .admin-page-intro .eyebrow{display:block;font:800 9px/1 "DM Sans",sans-serif!important;letter-spacing:.17em!important;color:#a18e78!important;text-transform:uppercase!important}
.admin-page .admin-page-intro h1{font:600 clamp(44px,5vw,64px)/.94 "Host Grotesk",sans-serif!important;letter-spacing:-.065em!important;color:var(--admin-text)!important;margin:9px 0 9px!important}
.admin-page .admin-page-intro p{margin:0!important;max-width:680px!important;color:#8b847b!important;font:400 12px/1.55 "DM Sans",sans-serif!important}
.admin-page .page-intro-badge{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:8px 11px;border:1px solid #e7ddcf;background:#fffaf2;color:#9a6d35;border-radius:999px;font:800 8px/1 "DM Sans",sans-serif;letter-spacing:.09em;text-transform:uppercase}

/* Shared surfaces: soft like the booking experience, never heavy CRUD boxes. */
.admin-page .admin-app-sidebar .panel-card{
  border:1px solid var(--admin-line)!important;
  border-radius:24px!important;
  background:rgba(255,253,249,.94)!important;
  box-shadow:0 12px 35px rgba(55,43,29,.035)!important;
  padding:25px!important;
  transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease!important;
}
.admin-page .admin-app-sidebar .panel-card:hover{box-shadow:0 18px 42px rgba(55,43,29,.055)!important}
.admin-page .admin-app-sidebar .panel-head{align-items:flex-start!important;margin-bottom:20px!important}
.admin-page .admin-app-sidebar .panel-head h2{font:600 27px/.98 "Host Grotesk",sans-serif!important;letter-spacing:-.055em!important;color:#1b1a18!important;margin:7px 0 7px!important}
.admin-page .admin-app-sidebar .panel-head p,.admin-page .admin-app-sidebar .panel-subtitle{font:400 11px/1.55 "DM Sans",sans-serif!important;color:#8a847b!important}
.admin-page .admin-app-sidebar .panel-head .eyebrow{font:800 8px/1 "DM Sans",sans-serif!important;letter-spacing:.15em!important;color:#a18e78!important;text-transform:uppercase!important}

/* Form language */
.admin-page .admin-app-sidebar .modern-form{gap:16px!important}
.admin-page .admin-app-sidebar .modern-form label{font:700 10px/1.2 "DM Sans",sans-serif!important;color:#514b44!important}
.admin-page .admin-app-sidebar input:not([type=checkbox]):not([type=radio]),
.admin-page .admin-app-sidebar select,
.admin-page .admin-app-sidebar textarea{
  border:1px solid #e4ddd3!important;
  border-radius:14px!important;
  background:#fffefa!important;
  color:#24211e!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85)!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease!important;
}
.admin-page .admin-app-sidebar input:not([type=checkbox]):not([type=radio]):focus,
.admin-page .admin-app-sidebar select:focus,
.admin-page .admin-app-sidebar textarea:focus{
  border-color:#cda76d!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(205,167,109,.11)!important;
  outline:none!important;
}
.admin-page .admin-app-sidebar .primary{
  border-radius:14px!important;
  min-height:42px!important;
  background:#191817!important;
  color:#fff!important;
  box-shadow:0 9px 20px rgba(25,24,23,.10)!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.admin-page .admin-app-sidebar .primary:hover{transform:translateY(-1px)!important;box-shadow:0 13px 25px rgba(25,24,23,.14)!important;background:#262421!important}
.admin-page .admin-app-sidebar .ghost{border-radius:14px!important;border:1px solid #e2dbd1!important;background:#fffefa!important;color:#5f5850!important;min-height:40px!important;transition:.18s ease!important}
.admin-page .admin-app-sidebar .ghost:hover{background:#f7f1e8!important;border-color:#d8c7ae!important;color:#332e28!important}

/* Icon treatment: lighter, smaller, more tactile. */
.admin-page .admin-app-sidebar .ui-icon{stroke-width:1.65!important}
.admin-page .admin-app-sidebar .metric-card .ui-icon,
.admin-page .admin-app-sidebar .dashboard-actions-grid button>.ui-icon:first-child,
.admin-page .admin-app-sidebar .setting-big-icon,
.admin-page .admin-app-sidebar .service-admin-icon,
.admin-page .admin-app-sidebar .marketing-service-icon,
.admin-page .admin-app-sidebar .reward-admin-icon{
  background:#f5ede1!important;color:#a87836!important;
}

/* Agenda */
.admin-page .admin-app-sidebar .agenda-card,.admin-page .admin-app-sidebar .agenda-settings{border-radius:24px!important}
.admin-page .admin-app-sidebar .agenda-toolbar{padding-bottom:4px!important}
.admin-page .admin-app-sidebar .agenda-toolbar h2{font:600 29px/.98 "Host Grotesk",sans-serif!important;letter-spacing:-.055em!important}
.admin-page .admin-app-sidebar .date-jump{border:1px solid #e8e0d6!important;border-radius:16px!important;background:#fffefa!important;box-shadow:0 6px 18px rgba(55,43,29,.035)!important}
.admin-page .admin-app-sidebar .date-jump button{border-radius:11px!important;transition:.18s ease!important}
.admin-page .admin-app-sidebar .date-jump button:hover{background:#f5ede1!important}
.admin-page .admin-app-sidebar .day-strip{gap:7px!important;padding:10px 0 15px!important}
.admin-page .admin-app-sidebar .day-pill{border:1px solid transparent!important;border-radius:14px!important;background:#f9f6f1!important;min-width:54px!important;transition:.18s ease!important}
.admin-page .admin-app-sidebar .day-pill:hover{background:#fff!important;border-color:#e7ddcf!important}
.admin-page .admin-app-sidebar .day-pill.selected{background:#191817!important;color:#fff!important;box-shadow:0 9px 20px rgba(25,24,23,.13)!important}
.admin-page .admin-app-sidebar .block-option .block-box{border-radius:14px!important;border-color:#e8e0d6!important;background:#fffefa!important;transition:.18s ease!important}
.admin-page .admin-app-sidebar .block-option input:checked+.block-box{background:#f3e8d6!important;border-color:#d3a65f!important;color:#65491f!important}

/* Services / customers / combos */
.admin-page .admin-app-sidebar .service-admin-grid,.admin-page .admin-app-sidebar .customer-list,.admin-page .admin-app-sidebar .combo-admin-grid{gap:12px!important}
.admin-page .admin-app-sidebar .service-admin-card,.admin-page .admin-app-sidebar .combo-admin-card{border-radius:20px!important;background:#fffefa!important;border-color:#e8e0d6!important;box-shadow:0 7px 22px rgba(55,43,29,.025)!important;transition:.2s ease!important}
.admin-page .admin-app-sidebar .service-admin-card:hover,.admin-page .admin-app-sidebar .combo-admin-card:hover{transform:translateY(-2px)!important;box-shadow:0 17px 35px rgba(55,43,29,.065)!important;border-color:#dbc8ad!important}
.admin-page .admin-app-sidebar .service-admin-main h3{font:600 21px/.98 "Host Grotesk",sans-serif!important;letter-spacing:-.045em!important}
.admin-page .admin-app-sidebar .customer-row{padding:13px 12px!important;border:1px solid transparent!important;border-radius:16px!important;transition:.18s ease!important}
.admin-page .admin-app-sidebar .customer-row:hover{background:#fffefa!important;border-color:#e9e1d7!important;box-shadow:0 10px 24px rgba(55,43,29,.04)!important}
.admin-page .admin-app-sidebar .customer-avatar{background:#191817!important;color:#f0c47b!important}

/* Team: keep the approved hero, remove the feeling of old/new mixed together. */
.admin-page .admin-app-sidebar .team-hero{margin-top:0!important;margin-bottom:16px!important;padding:30px 34px!important;border-radius:26px!important;background:linear-gradient(120deg,#fffdf9 0%,#f7ecdc 100%)!important;border-color:#e8dccb!important;box-shadow:0 16px 38px rgba(55,43,29,.045)!important}
.admin-page .admin-app-sidebar .team-hero h2{font:600 38px/.95 "Host Grotesk",sans-serif!important;letter-spacing:-.06em!important;margin:10px 0 8px!important}
.admin-page .admin-app-sidebar .team-hero p{font:400 12px/1.5 "DM Sans",sans-serif!important;color:#8a8278!important}
.admin-page .admin-app-sidebar .team-hero-stat{min-width:118px!important;min-height:90px!important;border-radius:20px!important;background:rgba(255,255,255,.68)!important;border:1px solid rgba(255,255,255,.9)!important;box-shadow:0 12px 30px rgba(55,43,29,.045)!important}
.admin-page .admin-app-sidebar .team-add-card{border-radius:26px!important}
.admin-page .admin-app-sidebar .staff-card{border-radius:20px!important;background:#fffefa!important;border-color:#e8e0d6!important;box-shadow:0 7px 22px rgba(55,43,29,.025)!important}
.admin-page .admin-app-sidebar .staff-card:hover{box-shadow:0 18px 38px rgba(55,43,29,.065)!important;border-color:#dbc8ad!important}
.admin-page .admin-app-sidebar .staff-avatar{border-radius:16px!important;background:#191817!important;color:#f0c47b!important}

/* Fidelity / Marketing are the visual benchmark: preserve their content, refine their surrounding surfaces. */
.admin-page .admin-app-sidebar .loyalty-config-hero,.admin-page .admin-app-sidebar .marketing-hero{border-radius:26px!important;box-shadow:0 16px 42px rgba(55,43,29,.055)!important}
.admin-page .admin-app-sidebar .loyalty-config-hero h2,.admin-page .admin-app-sidebar .marketing-hero h2{font-weight:600!important}
.admin-page .admin-app-sidebar .reward-admin-card,.admin-page .admin-app-sidebar .marketing-rule{border-radius:20px!important;background:#fffefa!important;border-color:#e8e0d6!important;box-shadow:0 7px 22px rgba(55,43,29,.025)!important;transition:.2s ease!important}
.admin-page .admin-app-sidebar .reward-admin-card:hover,.admin-page .admin-app-sidebar .marketing-rule:hover{transform:translateY(-2px)!important;box-shadow:0 17px 35px rgba(55,43,29,.06)!important}

/* Settings: every section should feel like one product, not a legacy settings form. */
.admin-page .admin-app-sidebar .settings-grid,.admin-page .admin-app-sidebar .config-grid{gap:14px!important}
.admin-page .admin-app-sidebar .settings-grid>.panel-card,.admin-page .admin-app-sidebar .config-grid>.panel-card{padding:25px!important}
.admin-page .admin-app-sidebar .setting-big-row{border-radius:18px!important;background:#faf7f1!important;border:1px solid #eee6db!important;padding:15px!important;transition:.18s ease!important}
.admin-page .admin-app-sidebar .setting-big-row:hover{background:#fffefa!important;border-color:#e2d4c1!important}
.admin-page .admin-app-sidebar .setting-big-icon{border-radius:14px!important;background:#191817!important;color:#f0c47b!important}
.admin-page .admin-app-sidebar .branding-live-preview{border-radius:20px!important;box-shadow:inset 0 1px 0 #fff,0 10px 26px rgba(55,43,29,.04)!important}

/* All ordinary modals: one centered, floating product surface. */
.admin-page .modal-overlay{
  position:fixed!important;inset:0!important;z-index:10000!important;
  display:grid!important;place-items:center!important;
  padding:24px!important;background:rgba(28,25,22,.46)!important;
  backdrop-filter:blur(13px)!important;-webkit-backdrop-filter:blur(13px)!important;
}
.admin-page .modal-overlay.hidden{display:none!important}
.admin-page .modal-overlay>.modal-card{
  position:relative!important;width:min(620px,calc(100vw - 48px))!important;
  max-height:min(820px,calc(100vh - 48px))!important;overflow:auto!important;
  margin:auto!important;border:1px solid #e6ddd1!important;border-radius:28px!important;
  background:linear-gradient(180deg,#fffdf9 0%,#faf7f1 100%)!important;
  box-shadow:0 40px 110px rgba(0,0,0,.23)!important;padding:30px!important;
  animation:adminModalIn .22s cubic-bezier(.2,.8,.2,1)!important;
}
.admin-page .modal-overlay>.modal-card .modal-close{
  position:absolute!important;right:16px!important;top:16px!important;width:38px!important;height:38px!important;
  border-radius:13px!important;border:1px solid #e7dfd5!important;background:#fffefa!important;color:#746d64!important;
  transition:.18s ease!important;z-index:4!important;
}
.admin-page .modal-overlay>.modal-card .modal-close:hover{background:#191817!important;color:#fff!important;border-color:#191817!important;transform:rotate(3deg)!important}
.admin-page .modal-overlay>.modal-card h2{font:600 clamp(31px,4vw,45px)/.95 "Host Grotesk",sans-serif!important;letter-spacing:-.065em!important;color:#191817!important}
.admin-page .modal-overlay>.modal-card .eyebrow{font:800 8px/1 "DM Sans",sans-serif!important;letter-spacing:.15em!important;color:#a18e78!important;text-transform:uppercase!important}
.admin-page .modal-overlay>.modal-card .modal-help{font:400 11px/1.5 "DM Sans",sans-serif!important;color:#8a8379!important}
@keyframes adminModalIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}

/* Pricing: compact, complete and readable. Never allow the sidebar to cover it. */
.admin-page .upgrade-overlay{z-index:12000!important;padding:22px!important}
.admin-page .upgrade-modal-card{width:min(1240px,calc(100vw - 44px))!important;max-height:min(900px,calc(100vh - 44px))!important;border-radius:30px!important;padding:34px!important;background:linear-gradient(180deg,#fffdf9 0%,#f8f4ed 100%)!important}
.admin-page .upgrade-modal-head{display:grid!important;grid-template-columns:auto 1fr!important;align-items:start!important;gap:17px!important;margin-bottom:25px!important;padding-right:50px!important}
.admin-page .upgrade-orbit{width:60px!important;height:60px!important;border-radius:19px!important;background:#191817!important;color:#f2c57c!important;box-shadow:0 0 0 9px rgba(199,154,85,.10),0 15px 30px rgba(0,0,0,.10)!important;animation:upgradeSpark 3s ease-in-out infinite!important}
.admin-page .upgrade-modal-card h2{font:600 clamp(34px,4.3vw,54px)/.93 "Host Grotesk",sans-serif!important;letter-spacing:-.068em!important;max-width:850px!important}
.admin-page .upgrade-lead{font:400 12px/1.55 "DM Sans",sans-serif!important;color:#8b847b!important;max-width:720px!important}
.admin-page .pricing-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;align-items:stretch!important}
.admin-page .pricing-card{display:flex!important;flex-direction:column!important;min-height:100%!important;padding:22px!important;border:1px solid #e5ddd2!important;border-radius:22px!important;background:#fffefa!important;box-shadow:0 9px 25px rgba(55,43,29,.035)!important}
.admin-page .pricing-card.recommended{border-color:#cfa86b!important;background:linear-gradient(180deg,#fffdf9 0%,#fff7e9 100%)!important;box-shadow:0 19px 42px rgba(122,82,32,.09)!important}
.admin-page .pricing-card.current{background:#f5f1ea!important}
.admin-page .pricing-top{min-height:31px!important}
.admin-page .pricing-top>span{font:600 24px/.98 "Host Grotesk",sans-serif!important;letter-spacing:-.045em!important}
.admin-page .pricing-price strong{font:600 42px/.95 "Host Grotesk",sans-serif!important;letter-spacing:-.065em!important}
.admin-page .pricing-card>p{min-height:38px!important;font:400 11px/1.5 "DM Sans",sans-serif!important;color:#8b847b!important}
.admin-page .pricing-features{display:grid!important;gap:0!important;margin:7px 0 18px!important;border-top:1px solid #eee7de!important}
.admin-page .pricing-feature{display:grid!important;grid-template-columns:20px 1fr auto!important;gap:8px!important;min-height:39px!important;border-bottom:1px solid #f0ebe4!important;font:500 10px/1.25 "DM Sans",sans-serif!important;color:#514b44!important}
.admin-page .pricing-feature-icon{width:18px!important;height:18px!important;border-radius:7px!important;background:#f2eadf!important;color:#9b6c31!important}
.admin-page .pricing-feature.is-off{color:#aaa39a!important}
.admin-page .pricing-feature.is-off .pricing-feature-icon{background:#f4f2ee!important;color:#bbb5ad!important}
.admin-page .pricing-buy{width:100%!important;margin-top:auto!important;min-height:46px!important;border-radius:14px!important;font:700 10px "DM Sans",sans-serif!important}
.admin-page .pricing-empty{grid-column:1/-1!important;min-height:180px!important;display:grid!important;place-items:center!important;text-align:center!important;border:1px dashed #dfd4c6!important;border-radius:20px!important;background:#fbf8f3!important;color:#8b847b!important;padding:30px!important}
@keyframes upgradeSpark{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(2deg) scale(1.035)}}

@media(max-width:900px){
  .admin-page .admin-app-sidebar .admin-content{padding:28px 18px 60px!important}
  .admin-page .admin-page-intro{align-items:flex-start;flex-direction:column;gap:12px}
  .admin-page .pricing-grid{grid-template-columns:1fr!important}
  .admin-page .pricing-card.recommended{transform:none!important}
}
@media(max-width:620px){
  .admin-page .admin-app-sidebar .admin-content{padding:22px 13px 50px!important}
  .admin-page .admin-page-intro h1{font-size:43px!important}
  .admin-page .admin-app-sidebar .team-hero{padding:24px!important}
  .admin-page .admin-app-sidebar .team-hero h2{font-size:31px!important}
  .admin-page .modal-overlay{padding:10px!important}
  .admin-page .modal-overlay>.modal-card{width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)!important;border-radius:22px!important;padding:22px!important}
  .admin-page .upgrade-modal-card{width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)!important;padding:22px!important;border-radius:23px!important}
  .admin-page .upgrade-modal-head{grid-template-columns:1fr!important;padding-right:32px!important}
  .admin-page .upgrade-modal-card h2{font-size:35px!important}
}


/* =========================================================
   v2.24.4 · ADMIN MASTER VISUAL SYSTEM
   Booking-inspired, owner-first, no legacy visual mixing.
   ========================================================= */
.admin-page .admin-v244{
  --a-bg:#f6f5f1;
  --a-paper:#fbfaf7;
  --a-card:#ffffff;
  --a-ink:#171615;
  --a-muted:#817d75;
  --a-soft:#f2eee7;
  --a-line:#e8e2d9;
  --a-gold:#b9853e;
  --a-gold-soft:#f6ecdc;
  --a-green:#6fa477;
  background:var(--a-bg)!important;
  color:var(--a-ink)!important;
  min-height:100vh;
  display:grid!important;
  grid-template-columns:248px minmax(0,1fr)!important;
}
.admin-page .admin-v244 .admin-sidebar{
  position:sticky!important;top:0!important;height:100vh!important;width:248px!important;
  padding:18px 14px 16px!important;background:rgba(255,255,255,.94)!important;
  border-right:1px solid var(--a-line)!important;box-shadow:8px 0 30px rgba(46,36,25,.025)!important;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);z-index:40!important;
}
.admin-page .admin-v244 .admin-brand{
  display:flex!important;align-items:center!important;gap:12px!important;padding:4px 8px 20px!important;
  margin:0 0 14px!important;border-bottom:1px solid var(--a-line)!important;text-decoration:none!important;color:var(--a-ink)!important;
}
.admin-page .admin-v244 .admin-brand .brand-mark{
  width:42px!important;height:42px!important;border-radius:14px!important;background:#171615!important;color:#fff!important;
  box-shadow:0 10px 24px rgba(23,22,21,.13)!important;font:700 12px "Host Grotesk",sans-serif!important;
}
.admin-page .admin-v244 .admin-brand strong{font:600 14px/1 "Host Grotesk",sans-serif!important;letter-spacing:-.03em!important}
.admin-page .admin-v244 .admin-brand small{font:700 8px/1.2 "DM Sans",sans-serif!important;letter-spacing:.16em!important;color:#aaa49b!important;margin-top:5px!important}
.admin-page .admin-v244 .admin-sidebar-nav{display:grid!important;gap:5px!important}
.admin-page .admin-v244 .admin-sidebar-nav .nav-item{
  display:grid!important;grid-template-columns:38px 1fr auto!important;align-items:center!important;gap:9px!important;
  width:100%!important;height:48px!important;padding:0 9px!important;border:0!important;border-radius:15px!important;
  background:transparent!important;color:#77736c!important;text-align:left!important;font:600 11px "DM Sans",sans-serif!important;
  cursor:pointer!important;transition:background .2s ease,color .2s ease,transform .2s ease!important;
}
.admin-page .admin-v244 .admin-sidebar-nav .nav-item>span{
  width:38px!important;height:38px!important;border-radius:13px!important;display:grid!important;place-items:center!important;
  color:#8c877e!important;background:transparent!important;transition:all .2s ease!important;
}
.admin-page .admin-v244 .admin-sidebar-nav .nav-item .ui-icon{width:18px!important;height:18px!important;stroke-width:1.65!important}
.admin-page .admin-v244 .admin-sidebar-nav .nav-item:hover{background:#f8f5ef!important;color:#302d29!important;transform:translateX(1px)!important}
.admin-page .admin-v244 .admin-sidebar-nav .nav-item:hover>span{background:#f0ebe3!important;color:#9c6d30!important}
.admin-page .admin-v244 .admin-sidebar-nav .nav-item.active{
  background:linear-gradient(100deg,#f8ecdb,#f5e9d8)!important;color:#986626!important;
  box-shadow:0 8px 20px rgba(122,87,45,.07)!important;
}
.admin-page .admin-v244 .admin-sidebar-nav .nav-item.active>span{background:#d9aa61!important;color:#fff!important;box-shadow:0 6px 16px rgba(185,133,62,.18)!important}
.admin-page .admin-v244 .admin-sidebar-nav .nav-item.locked small{margin-left:auto!important;padding:4px 7px!important;border-radius:999px!important;background:#f3f0ea!important;color:#a39d93!important;font:800 7px "DM Sans",sans-serif!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.admin-page .admin-v244 .admin-sidebar-bottom{margin-top:auto!important;border-top:1px solid var(--a-line)!important;padding-top:13px!important;display:grid!important;gap:10px!important}
.admin-page .admin-v244 .admin-public-link{display:flex!important;align-items:center!important;gap:8px!important;color:#77726a!important;text-decoration:none!important;font:700 10px "DM Sans",sans-serif!important;padding:9px!important;border-radius:11px!important}
.admin-page .admin-v244 .admin-public-link:hover{background:#f7f4ee!important;color:#292622!important}
.admin-page .admin-v244 .admin-public-link .ui-icon{width:15px!important;height:15px!important}
.admin-page .admin-v244 .admin-account{display:grid!important;grid-template-columns:34px 1fr 28px!important;align-items:center!important;gap:9px!important;padding:8px!important;border:1px solid var(--a-line)!important;border-radius:15px!important;background:#fbfaf7!important}
.admin-page .admin-v244 .admin-avatar{width:34px!important;height:34px!important;border-radius:11px!important;background:#191817!important;color:#f1c17a!important;display:grid!important;place-items:center!important;font:700 10px "Host Grotesk",sans-serif!important}
.admin-page .admin-v244 .admin-account strong{font:600 10px "DM Sans",sans-serif!important;color:#272522!important;display:block!important}
.admin-page .admin-v244 .admin-account small{font:500 8px "DM Sans",sans-serif!important;color:#aaa49b!important;display:block!important;margin-top:2px!important}
.admin-page .admin-v244 .admin-account button{width:28px!important;height:28px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#888178!important;display:grid!important;place-items:center!important;cursor:pointer!important}
.admin-page .admin-v244 .admin-account button:hover{background:#eee9e1!important;color:#2a2824!important}
.admin-page .admin-v244 .admin-main{margin-left:0!important;width:auto!important;min-width:0!important;background:var(--a-bg)!important}
.admin-page .admin-v244 .admin-topbar{
  position:sticky!important;top:0!important;z-index:25!important;height:72px!important;padding:0 34px!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;background:rgba(251,250,247,.88)!important;
  border-bottom:1px solid var(--a-line)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;
}
.admin-page .admin-v244 .admin-top-context{display:flex!important;align-items:center!important;gap:9px!important}
.admin-page .admin-v244 .admin-top-context>span:not(.status-dot){font:600 12px "Host Grotesk",sans-serif!important;letter-spacing:-.02em!important;color:#282622!important}
.admin-page .admin-v244 .admin-top-context small{font:500 9px "DM Sans",sans-serif!important;color:#aaa49b!important;border-left:1px solid var(--a-line)!important;padding-left:9px!important}
.admin-page .admin-v244 .status-dot{width:8px!important;height:8px!important;background:#7ea784!important;border-radius:50%!important;box-shadow:0 0 0 4px rgba(126,167,132,.11)!important}
.admin-page .admin-v244 .admin-top-actions{display:flex!important;align-items:center!important;gap:10px!important}
.admin-page .admin-v244 .top-public-link{display:inline-flex!important;align-items:center!important;gap:7px!important;color:#625d56!important;text-decoration:none!important;font:700 10px "DM Sans",sans-serif!important;padding:10px 12px!important;border-radius:11px!important}
.admin-page .admin-v244 .top-public-link:hover{background:#f3efe8!important;color:#24211e!important}
.admin-page .admin-v244 .top-public-link .ui-icon{width:14px!important;height:14px!important}
.admin-page .admin-v244 .top-logout{border:1px solid #1c1b19!important;background:#191817!important;color:#fff!important;border-radius:12px!important;padding:12px 15px!important;font:700 9px "DM Sans",sans-serif!important;cursor:pointer!important;box-shadow:0 8px 18px rgba(25,24,23,.11)!important;transition:transform .18s ease,background .18s ease!important}
.admin-page .admin-v244 .top-logout:hover{background:#2a2825!important;transform:translateY(-1px)!important}
.admin-page .admin-v244 .admin-content{max-width:1370px!important;padding:42px clamp(22px,4vw,62px) 90px!important;margin:auto!important}

/* Main dashboard: use the same editorial rhythm as booking. */
.admin-page .admin-v244 .admin-welcome-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:end!important;gap:30px!important;margin:0 0 22px!important}
.admin-page .admin-v244 .admin-welcome-row .eyebrow{margin-bottom:13px!important;color:#9a8061!important;font:800 9px "DM Sans",sans-serif!important;letter-spacing:.18em!important}
.admin-page .admin-v244 .admin-welcome-row h1{font:600 clamp(52px,6vw,78px)/.87 "Host Grotesk",sans-serif!important;letter-spacing:-.075em!important;color:#171615!important;margin:0 0 12px!important}
.admin-page .admin-v244 .admin-welcome-row p{font:400 15px/1.45 "DM Sans",sans-serif!important;color:#858078!important;margin:0!important}
.admin-page .admin-v244 .welcome-actions{display:flex!important;gap:9px!important;align-items:center!important}
.admin-page .admin-v244 .welcome-actions .primary,.admin-page .admin-v244 .welcome-actions .ghost{height:50px!important;border-radius:15px!important;padding:0 17px!important;display:inline-flex!important;align-items:center!important;gap:9px!important;font:700 10px "DM Sans",sans-serif!important}
.admin-page .admin-v244 .welcome-actions .primary{background:#191817!important;color:#fff!important;border:0!important;box-shadow:0 14px 30px rgba(25,24,23,.13)!important}
.admin-page .admin-v244 .welcome-actions .ghost{background:#fff!important;color:#3c3833!important;border:1px solid var(--a-line)!important;box-shadow:0 8px 20px rgba(46,36,25,.03)!important}
.admin-page .admin-v244 .upgrade-strip{min-height:78px!important;margin:0 0 16px!important;padding:12px 14px!important;border-radius:21px!important;border:1px solid #eadcc8!important;background:linear-gradient(100deg,#fffdf8 0%,#f7eee1 100%)!important;box-shadow:0 12px 30px rgba(92,62,29,.045)!important}
.admin-page .admin-v244 .upgrade-strip-glow{width:50px!important;height:50px!important;border-radius:16px!important;background:#191817!important;color:#f0bd6d!important;box-shadow:0 0 0 7px rgba(192,138,66,.09)!important;font-size:19px!important}
.admin-page .admin-v244 .upgrade-strip div:nth-child(2) span{font:800 8px "DM Sans",sans-serif!important;letter-spacing:.16em!important;color:#a17234!important}
.admin-page .admin-v244 .upgrade-strip div:nth-child(2) strong{font:600 13px "Host Grotesk",sans-serif!important;letter-spacing:-.02em!important;color:#302a24!important}
.admin-page .admin-v244 .upgrade-strip button{height:40px!important;padding:0 15px!important;border-radius:12px!important;background:#191817!important;font:700 9px "DM Sans",sans-serif!important;box-shadow:0 9px 20px rgba(25,24,23,.10)!important}
.admin-page .admin-v244 .dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin:0 0 16px!important}
.admin-page .admin-v244 .metric-card{min-height:130px!important;padding:20px!important;border:1px solid var(--a-line)!important;border-radius:23px!important;background:#fff!important;box-shadow:0 10px 30px rgba(46,36,25,.035)!important;transition:transform .2s ease,box-shadow .2s ease!important}
.admin-page .admin-v244 .metric-card:hover{transform:translateY(-2px)!important;box-shadow:0 18px 38px rgba(46,36,25,.06)!important}
.admin-page .admin-v244 .metric-icon{width:46px!important;height:46px!important;border-radius:15px!important;background:#f4eee5!important;color:#a36f2d!important}
.admin-page .admin-v244 .metric-card span{font:800 8px "DM Sans",sans-serif!important;color:#a19b92!important;letter-spacing:.15em!important}
.admin-page .admin-v244 .metric-card strong{font:600 36px/.95 "Host Grotesk",sans-serif!important;letter-spacing:-.06em!important;color:#171615!important;margin:7px 0 5px!important}
.admin-page .admin-v244 .metric-card small{font:400 9px/1.4 "DM Sans",sans-serif!important;color:#aaa49c!important}
.admin-page .admin-v244 .dashboard-main-grid{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr)!important;gap:16px!important}
.admin-page .admin-v244 .panel-card{border:1px solid var(--a-line)!important;border-radius:26px!important;background:#fff!important;box-shadow:0 12px 34px rgba(46,36,25,.035)!important;padding:27px!important}
.admin-page .admin-v244 .panel-head h2,.admin-page .admin-v244 .upcoming-head h2{font:600 29px/.98 "Host Grotesk",sans-serif!important;letter-spacing:-.055em!important;color:#171615!important;margin:7px 0!important}
.admin-page .admin-v244 .panel-head p,.admin-page .admin-v244 .panel-subtitle{font:400 11px/1.55 "DM Sans",sans-serif!important;color:#89837b!important}
.admin-page .admin-v244 .summary-mini-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:9px!important;margin:21px 0!important}
.admin-page .admin-v244 .summary-mini-grid>div{padding:16px!important;border:1px solid #eee8df!important;border-radius:17px!important;background:#fbfaf7!important}
.admin-page .admin-v244 .summary-mini-grid span{font:800 7px "DM Sans",sans-serif!important;letter-spacing:.14em!important;color:#aaa39a!important}
.admin-page .admin-v244 .summary-mini-grid strong{font:600 25px/.95 "Host Grotesk",sans-serif!important;letter-spacing:-.05em!important;color:#201e1b!important;display:block!important;margin:8px 0 4px!important}
.admin-page .admin-v244 .summary-mini-grid small{font:400 9px "DM Sans",sans-serif!important;color:#aaa49c!important}
.admin-page .admin-v244 .dashboard-actions-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:9px!important}
.admin-page .admin-v244 .dashboard-actions-grid button{display:grid!important;grid-template-columns:34px 1fr 14px!important;align-items:center!important;gap:9px!important;min-height:72px!important;padding:11px!important;border:1px solid #eee8df!important;border-radius:16px!important;background:#fff!important;color:#25221e!important;text-align:left!important;cursor:pointer!important;transition:.18s ease!important}
.admin-page .admin-v244 .dashboard-actions-grid button>.ui-icon:first-child{width:30px!important;height:30px!important;padding:7px!important;border-radius:10px!important;background:#f5eee5!important;color:#a06f31!important}
.admin-page .admin-v244 .dashboard-actions-grid button>.ui-icon:last-child{width:14px!important;height:14px!important;color:#9d958a!important}
.admin-page .admin-v244 .dashboard-actions-grid button:hover{transform:translateY(-2px)!important;background:#fffdf9!important;border-color:#e0d4c4!important;box-shadow:0 12px 25px rgba(46,36,25,.05)!important}
.admin-page .admin-v244 .dashboard-actions-grid strong{display:block!important;font:700 10px "DM Sans",sans-serif!important}
.admin-page .admin-v244 .dashboard-actions-grid small{display:block!important;color:#9b958d!important;font:400 8px/1.35 "DM Sans",sans-serif!important;margin-top:3px!important}
.admin-page .admin-v244 .upcoming-card{padding:25px!important}
.admin-page .admin-v244 .upcoming-head{margin-bottom:13px!important}
.admin-page .admin-v244 .text-link{font:700 9px "DM Sans",sans-serif!important;color:#6c655d!important}
.admin-page .admin-v244 .upcoming-item{display:grid!important;grid-template-columns:68px 1fr auto!important;gap:11px!important;align-items:center!important;padding:13px 0!important;border-top:1px solid #eee9e2!important}
.admin-page .admin-v244 .upcoming-time{padding:10px!important;border-radius:13px!important;background:#f5f1eb!important;text-align:center!important}
.admin-page .admin-v244 .upcoming-time strong{font:600 16px "Host Grotesk",sans-serif!important;display:block!important}
.admin-page .admin-v244 .upcoming-time span{font:700 7px "DM Sans",sans-serif!important;color:#9a938a!important;text-transform:uppercase!important}
.admin-page .admin-v244 .upcoming-info strong{font:700 10px "DM Sans",sans-serif!important;display:block!important;color:#292622!important}
.admin-page .admin-v244 .upcoming-info span{font:400 9px "DM Sans",sans-serif!important;color:#9b958d!important;display:block!important;margin-top:3px!important}
.admin-page .admin-v244 .upcoming-price{font:600 11px "Host Grotesk",sans-serif!important;color:#292622!important}

/* Section headers: all pages inherit the same booking-like composition. */
.admin-page .admin-v244 .admin-page-intro{display:flex!important;justify-content:space-between!important;align-items:flex-end!important;gap:24px!important;margin:0 0 25px!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
.admin-page .admin-v244 .admin-page-intro .eyebrow{font:800 9px "DM Sans",sans-serif!important;letter-spacing:.18em!important;color:#9a8061!important;margin-bottom:12px!important}
.admin-page .admin-v244 .admin-page-intro h1{font:600 clamp(50px,5.5vw,74px)/.87 "Host Grotesk",sans-serif!important;letter-spacing:-.075em!important;color:#171615!important;margin:0 0 11px!important}
.admin-page .admin-v244 .admin-page-intro p{font:400 13px/1.5 "DM Sans",sans-serif!important;color:#858078!important;max-width:680px!important;margin:0!important}
.admin-page .admin-v244 .page-intro-badge{border:1px solid #e4dbcf!important;background:#fff!important;color:#9a6d35!important;border-radius:999px!important;padding:9px 12px!important;font:800 8px "DM Sans",sans-serif!important;letter-spacing:.12em!important;text-transform:uppercase!important}
.admin-page .admin-v244 .admin-view-body{display:grid!important;gap:16px!important}

/* Every non-bespoke section card gets the same soft product surface. */
.admin-page .admin-v244 .admin-view-body>.panel-card,
.admin-page .admin-v244 .admin-view-body>.agenda-card,
.admin-page .admin-v244 .admin-view-body>.agenda-settings,
.admin-page .admin-v244 .admin-view-body>.service-panel,
.admin-page .admin-v244 .admin-view-body>.customer-panel,
.admin-page .admin-v244 .admin-view-body>.settings-panel{
  border:1px solid var(--a-line)!important;border-radius:26px!important;background:#fff!important;
  box-shadow:0 12px 34px rgba(46,36,25,.035)!important;
}
.admin-page .admin-v244 input,.admin-page .admin-v244 select,.admin-page .admin-v244 textarea{
  border:1px solid #e5ded4!important;border-radius:14px!important;background:#fcfbf8!important;color:#292622!important;
  box-shadow:none!important;transition:border-color .18s,box-shadow .18s,background .18s!important;
}
.admin-page .admin-v244 input:focus,.admin-page .admin-v244 select:focus,.admin-page .admin-v244 textarea:focus{border-color:#caa56f!important;background:#fff!important;box-shadow:0 0 0 4px rgba(190,145,82,.10)!important;outline:none!important}
.admin-page .admin-v244 label{font:700 10px "DM Sans",sans-serif!important;color:#5e5952!important}
.admin-page .admin-v244 .primary{background:#191817!important;color:#fff!important;border-radius:13px!important;box-shadow:0 11px 25px rgba(25,24,23,.10)!important;font:700 10px "DM Sans",sans-serif!important}
.admin-page .admin-v244 .ghost{background:#fff!important;color:#5c554d!important;border:1px solid var(--a-line)!important;border-radius:13px!important;font:700 10px "DM Sans",sans-serif!important}
.admin-page .admin-v244 .primary:hover,.admin-page .admin-v244 .ghost:hover{transform:translateY(-1px)!important}

/* Team / Fidelity / Marketing stay as the visual benchmark but now sit in the same system. */
.admin-page .admin-v244 .section-hero,.admin-page .admin-v244 .team-hero{border-radius:28px!important;border:1px solid #e7dccb!important;background:linear-gradient(115deg,#fffdf9,#f6ecdd)!important;box-shadow:0 16px 40px rgba(75,52,27,.055)!important}
.admin-page .admin-v244 .team-hero h2{font:600 40px/.95 "Host Grotesk",sans-serif!important;letter-spacing:-.065em!important;color:#171615!important}
.admin-page .admin-v244 .team-hero-stat{border-radius:20px!important;background:rgba(255,255,255,.72)!important;border:1px solid rgba(255,255,255,.92)!important;box-shadow:0 12px 30px rgba(75,52,27,.045)!important}
.admin-page .admin-v244 .loyalty-config-hero,.admin-page .admin-v244 .marketing-hero{border-radius:28px!important;box-shadow:0 16px 42px rgba(45,36,26,.07)!important}
.admin-page .admin-v244 .staff-card,.admin-page .admin-v244 .service-admin-card,.admin-page .admin-v244 .reward-admin-card,.admin-page .admin-v244 .marketing-rule{border-radius:21px!important;background:#fffefa!important;border:1px solid #e8e0d5!important;box-shadow:0 8px 25px rgba(55,43,29,.035)!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important}
.admin-page .admin-v244 .staff-card:hover,.admin-page .admin-v244 .service-admin-card:hover,.admin-page .admin-v244 .reward-admin-card:hover,.admin-page .admin-v244 .marketing-rule:hover{transform:translateY(-2px)!important;border-color:#ddcdb8!important;box-shadow:0 17px 36px rgba(55,43,29,.065)!important}

/* Modals: one system, always above sidebar and topbar. */
.admin-page .admin-v244 .modal-overlay,.admin-page .admin-v244 .upgrade-overlay{
  position:fixed!important;inset:0!important;z-index:50000!important;display:grid!important;place-items:center!important;
  padding:22px!important;background:rgba(28,25,22,.42)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;
}
.admin-page .admin-v244 .modal-overlay>.modal-card,.admin-page .admin-v244 .upgrade-modal-card{
  position:relative!important;z-index:50001!important;margin:0 auto!important;max-height:calc(100vh - 44px)!important;overflow:auto!important;
  border:1px solid #e5ddd2!important;border-radius:30px!important;background:linear-gradient(180deg,#fffdf9,#f9f5ee)!important;
  box-shadow:0 42px 120px rgba(0,0,0,.25)!important;animation:adminV244Modal .24s cubic-bezier(.2,.8,.2,1)!important;
}
.admin-page .admin-v244 .modal-overlay>.modal-card{width:min(620px,calc(100vw - 44px))!important;padding:32px!important}
.admin-page .admin-v244 .upgrade-modal-card{width:min(1160px,calc(100vw - 44px))!important;padding:34px!important}
.admin-page .admin-v244 .modal-close{z-index:10!important;width:40px!important;height:40px!important;border-radius:13px!important;background:#fffefa!important;border:1px solid #e5ddd2!important;color:#777069!important;box-shadow:0 7px 18px rgba(55,43,29,.06)!important}
.admin-page .admin-v244 .modal-close:hover{background:#191817!important;color:#fff!important;border-color:#191817!important}
.admin-page .admin-v244 .upgrade-modal-head{display:grid!important;grid-template-columns:62px 1fr!important;gap:18px!important;align-items:start!important;margin-bottom:25px!important;padding-right:48px!important}
.admin-page .admin-v244 .upgrade-orbit{width:62px!important;height:62px!important;border-radius:19px!important;background:#191817!important;color:#f2c57c!important;box-shadow:0 0 0 9px rgba(192,138,66,.10),0 16px 30px rgba(0,0,0,.10)!important}
.admin-page .admin-v244 .upgrade-modal-card h2{font:600 clamp(34px,4vw,52px)/.92 "Host Grotesk",sans-serif!important;letter-spacing:-.07em!important;color:#171615!important;margin:8px 0!important;max-width:820px!important}
.admin-page .admin-v244 .upgrade-lead{font:400 12px/1.55 "DM Sans",sans-serif!important;color:#858078!important;max-width:700px!important}
.admin-page .admin-v244 .pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
.admin-page .admin-v244 .pricing-card{min-height:520px!important;padding:23px!important;border-radius:23px!important;border:1px solid #e5ddd2!important;background:#fffefa!important;box-shadow:0 10px 28px rgba(55,43,29,.035)!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important}
.admin-page .admin-v244 .pricing-card:hover{transform:translateY(-3px)!important;box-shadow:0 22px 45px rgba(55,43,29,.07)!important}
.admin-page .admin-v244 .pricing-card.recommended{border-color:#cda66c!important;background:linear-gradient(180deg,#fffdf9,#fff6e7)!important;box-shadow:0 22px 48px rgba(122,82,32,.10)!important}
.admin-page .admin-v244 .pricing-top>span{font:600 25px/.95 "Host Grotesk",sans-serif!important;letter-spacing:-.045em!important}
.admin-page .admin-v244 .pricing-price{margin:21px 0 8px!important}
.admin-page .admin-v244 .pricing-price strong{font:600 44px/.9 "Host Grotesk",sans-serif!important;letter-spacing:-.07em!important}
.admin-page .admin-v244 .pricing-feature{min-height:42px!important;font:500 10px/1.3 "DM Sans",sans-serif!important;border-bottom:1px solid #f0ebe4!important}
.admin-page .admin-v244 .pricing-feature-icon{display:grid!important;place-items:center!important;width:19px!important;height:19px!important;border-radius:7px!important;background:#f2eadf!important;color:#a06f31!important;font-size:10px!important}
.admin-page .admin-v244 .pricing-feature b{font:700 8px "DM Sans",sans-serif!important;color:#9c9388!important;text-align:right!important}
.admin-page .admin-v244 .pricing-buy{height:48px!important;border-radius:14px!important;font:700 10px "DM Sans",sans-serif!important}
.admin-page .admin-v244 .pricing-empty{display:none!important}
.admin-page .admin-v244 .pricing-checkout-note{font:400 8px/1.4 "DM Sans",sans-serif!important;color:#a49c92!important;margin-top:8px!important}
@keyframes adminV244Modal{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.admin-page.modal-open{overflow:hidden!important}

@media(max-width:1000px){
 .admin-page .admin-v244{grid-template-columns:220px minmax(0,1fr)!important}
 .admin-page .admin-v244 .admin-sidebar{width:220px!important}
 .admin-page .admin-v244 .dashboard-metrics{grid-template-columns:repeat(2,1fr)!important}
 .admin-page .admin-v244 .dashboard-main-grid{grid-template-columns:1fr!important}
 .admin-page .admin-v244 .pricing-grid{grid-template-columns:1fr!important}
 .admin-page .admin-v244 .pricing-card{min-height:0!important}
}
@media(max-width:760px){
 .admin-page .admin-v244{display:block!important}
 .admin-page .admin-v244 .admin-sidebar{position:fixed!important;left:0!important;transform:translateX(-105%)!important;transition:transform .22s ease!important;box-shadow:25px 0 70px rgba(0,0,0,.12)!important}
 .admin-page .admin-v244 .admin-sidebar.open{transform:translateX(0)!important}
 .admin-page .admin-v244 .admin-main{margin-left:0!important;width:100%!important}
 .admin-page .admin-v244 .admin-topbar{height:64px!important;padding:0 16px!important}
 .admin-page .admin-v244 .mobile-menu{display:grid!important;place-items:center!important;width:36px!important;height:36px!important;border:1px solid var(--a-line)!important;border-radius:11px!important;background:#fff!important;color:#555!important;margin-right:9px!important}
 .admin-page .admin-v244 .admin-top-context small,.admin-page .admin-v244 .top-public-link{display:none!important}
 .admin-page .admin-v244 .admin-content{padding:28px 15px 55px!important}
 .admin-page .admin-v244 .admin-welcome-row{grid-template-columns:1fr!important;align-items:start!important}
 .admin-page .admin-v244 .welcome-actions{width:100%!important}.admin-page .admin-v244 .welcome-actions>*{flex:1!important;justify-content:center!important}
 .admin-page .admin-v244 .admin-page-intro{align-items:flex-start!important;flex-direction:column!important}
 .admin-page .admin-v244 .admin-page-intro h1{font-size:49px!important}
 .admin-page .admin-v244 .dashboard-actions-grid{grid-template-columns:1fr!important}
 .admin-page .admin-v244 .summary-mini-grid{grid-template-columns:1fr!important}
 .admin-page .admin-v244 .upgrade-modal-head{grid-template-columns:1fr!important;padding-right:34px!important}
 .admin-page .admin-v244 .upgrade-modal-card{width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)!important;padding:22px!important;border-radius:23px!important}
}
