:root{--ink:#f5f5f5;--muted:#ffffffa8;--paper:#0f0f0f;--white:#fff;--line:#3e3e3e;--soft:#171717;--panel:#232323;--panel-soft:#252525;--panel-raised:#282828;--accent:#3ea6ff;--accent-ink:#06131d;--shadow:0 24px 70px #00000052;--radius:8px}*{box-sizing:border-box}body{background:var(--paper);min-height:100svh;color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-header{z-index:10;border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#181818eb;justify-content:space-between;align-items:center;gap:18px;width:min(100% - 32px,1180px);margin:12px auto;padding:12px 14px;display:flex;position:sticky;top:12px;box-shadow:0 12px 36px #00000047}.app-header nav{flex-wrap:wrap;gap:6px;display:flex}.app-header nav a,.app-header nav button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:10px 12px;font-weight:800}.app-header nav a:hover,.app-header nav a:focus-visible,.app-header nav button:hover,.app-header nav button:focus-visible{background:var(--panel-raised);color:var(--ink)}.app-header nav form{margin:0;display:inline-flex}.mobile-app-nav{display:none}.brand{align-items:center;gap:10px;font-weight:900;display:inline-flex}.brand-mark{background:var(--accent);width:34px;height:34px;color:var(--accent-ink);border-radius:6px;place-items:center;font-size:.76rem;display:grid}.site-footer{border-top:1px solid var(--line);width:min(100% - 36px,1180px);color:var(--muted);justify-content:space-between;align-items:flex-start;gap:24px;margin:72px auto 28px;padding:22px 0 0;display:flex}.site-footer>div{gap:12px;max-width:420px;display:grid}.site-footer p{margin:0}.site-footer nav{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.site-footer nav a{color:var(--muted);border-radius:6px;padding:9px 10px;font-weight:800}.site-footer nav a:hover,.site-footer nav a:focus-visible{background:var(--panel-raised);color:var(--ink)}.shell,.barber-page,.dashboard-shell,.auth-shell,.legal-shell{width:min(100% - 36px,1180px);margin:0 auto}.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:center;gap:48px;min-height:76vh;padding:82px 0;display:grid}.hero-grid-simple{grid-template-columns:minmax(0,900px);min-height:58vh}.eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:.78rem;font-weight:900}h1,h2,h3,p{text-wrap:pretty}h1,h2,h3{margin:0;line-height:1}h1{max-width:860px;font-size:clamp(3rem,8vw,6.7rem)}h2{font-size:clamp(2rem,4vw,4rem)}.hero-grid .home-hero-title{max-width:780px;font-size:clamp(2.8rem,5.8vw,5.15rem);line-height:.98}.feature-grid h2{font-size:clamp(1.55rem,2.35vw,2.2rem);line-height:1.05}.section-intro .home-section-title{max-width:720px;font-size:clamp(2rem,3.2vw,3.15rem);line-height:1.04}.legal-shell{padding:72px 0 24px}.legal-hero{gap:14px;max-width:860px;padding-bottom:38px;display:grid}.legal-hero h1{color:var(--white)}.legal-hero p:not(.eyebrow){color:var(--muted);margin:0;font-weight:800}.legal-content{gap:14px;max-width:880px;display:grid}.legal-content article{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);gap:12px;padding:24px;display:grid}.legal-content h2{color:var(--white);font-size:clamp(1.55rem,3vw,2.2rem)}.legal-content p,.legal-content li{color:#ffffffbd;margin:0;font-weight:700}.legal-content ul{gap:8px;margin:0;padding-left:20px;display:grid}.legal-content a{color:var(--white);text-underline-offset:4px;font-weight:900;-webkit-text-decoration:underline #3ea6ffbf;text-decoration:underline #3ea6ffbf}.legal-actions{flex-wrap:wrap;gap:10px;padding-top:8px;display:flex}.hero-copy,.dashboard-title p,.barber-hero p,.panel p{color:var(--muted);font-size:1.08rem}.actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.actions.compact-actions{margin-top:0}.button{border:1px solid var(--line);min-height:48px;color:var(--ink);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0 18px;font-weight:900;display:inline-flex}.button.primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.button.secondary{background:var(--panel-raised)}.button.danger{color:#ffb0b0;background:#ff7a7a1f;border-color:#ff7a7a8c}.button.inverted{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.button:disabled{cursor:not-allowed;opacity:.45}.phone-preview,.booking-card,.panel,.stats-grid article,.feature-grid article,.booking-form,.auth-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.phone-preview{gap:16px;padding:22px;display:grid;transform:rotate(-2deg)}.homepage-booking-preview{grid-column:2;width:min(100%,520px);transform:none}.phone-top{gap:7px;display:flex}.phone-top span{background:var(--accent);border-radius:50%;width:9px;height:9px}.phone-preview p,.phone-preview strong,.phone-preview button{border-radius:6px}.phone-preview p,.mini-row{background:var(--soft);color:var(--muted);padding:12px;font-weight:800}.phone-preview strong{color:var(--white);background:#111;padding:24px;font-size:2.3rem}.mini-row{justify-content:space-between;display:flex}.phone-preview button{background:var(--accent);min-height:48px;color:var(--accent-ink);border:0;font-weight:900}.feature-grid,.stats-grid,.dashboard-columns,.section-grid,.barber-hero{gap:16px;display:grid}.feature-grid>*,.stats-grid>*,.dashboard-columns>*,.section-grid>*,.barber-hero>*{min-width:0}.eyebrow,.booking-card strong,.booking-list strong,.service-list h3,.service-list p{overflow-wrap:anywhere}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:86px}.feature-grid article,.stats-grid article,.panel{padding:24px}.feature-grid span,.stats-grid span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:900}.product-preview-section{gap:26px;padding:0 0 96px;display:grid}.section-intro{gap:14px;max-width:820px;display:grid}.section-intro p:not(.eyebrow){color:var(--muted);margin:0;font-size:1.08rem}.dashboard-preview-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:stretch;gap:16px;display:grid}.dashboard-preview-panel{border-radius:var(--radius);min-width:0;box-shadow:var(--shadow);background:#232323;border:1px solid #4a4a4a;align-content:start;gap:18px;padding:22px;display:grid}.preview-panel-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.preview-panel-header span,.preview-stats-row span{color:#ffffffa8;text-transform:uppercase;font-size:.76rem;font-weight:900}.preview-panel-header h3{color:var(--white);margin-top:7px;font-size:clamp(1.7rem,3vw,2.65rem)}.preview-panel-header>strong{color:var(--accent);white-space:nowrap;background:#3ea6ff24;border:1px solid #3ea6ff85;border-radius:999px;padding:9px 11px;font-size:.88rem}.preview-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.preview-calendar span{color:#ffffff94;text-align:center;font-size:.72rem;font-weight:900}.preview-calendar button{aspect-ratio:1;min-height:42px;color:var(--white);background:#171717;border:1px solid #3b3b3b;border-radius:6px;place-items:center;font-weight:900;display:grid}.preview-calendar button.active{background:#3dcf7e29;border-color:#3dcf7e}.preview-calendar button.selected{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.preview-bookings{gap:8px;display:grid}.preview-bookings div{background:#171717;border:1px solid #3b3b3b;border-radius:6px;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:50px;padding:10px 12px;display:grid}.preview-bookings span,.preview-bookings small{color:#ffffffa8;font-weight:900}.preview-bookings strong{color:var(--white);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preview-stats-row{border-radius:var(--radius);background:#171717;border:1px solid #3e3e3e;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.preview-stats-row div{border-right:1px solid #3e3e3e;gap:8px;min-width:0;padding:18px;display:grid}.preview-stats-row div:last-child{border-right:0}.preview-stats-row strong{color:var(--white);font-size:clamp(1.35rem,3vw,2rem);line-height:1}.preview-chart{background:#252525;width:100%;min-height:230px;padding:10px 0 0;display:block}.preview-chart-grid{stroke:#ffffff17;stroke-width:1px}.preview-chart-fill{fill:none;stroke:#3ea6ff33;stroke-width:26px}.preview-chart-line{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.barber-hero{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:end;padding:72px 0 56px}.barber-page{--page-accent:#3ea6ff;--page-accent-ink:#06131d;--page-line:color-mix(in srgb, var(--page-accent) 45%, #3e3e3e);--page-pattern-line:color-mix(in srgb, var(--page-accent) 42%, transparent);--page-pattern-soft:color-mix(in srgb, var(--page-accent) 18%, transparent);--page-glow:color-mix(in srgb, var(--page-accent) 34%, transparent);--page-glow-opacity:0;--page-pattern:none;--page-pattern-position:center top;--page-pattern-repeat:no-repeat;--page-pattern-size:max(1180px, 130vw) max(820px, 128vh);--page-pattern-opacity:.32;isolation:isolate;--accent:var(--page-accent);--accent-ink:var(--page-accent-ink);position:relative}.barber-page:after{z-index:-2;background:radial-gradient(circle at 18% 14%, var(--page-glow), transparent 34%), radial-gradient(circle at 86% 12%, color-mix(in srgb, var(--page-accent) 22%, transparent), transparent 28%), radial-gradient(circle at 50% 108%, color-mix(in srgb, var(--page-accent) 18%, transparent), transparent 38%);content:"";filter:blur(10px);opacity:var(--page-glow-opacity);pointer-events:none;position:fixed;inset:0}.barber-page:before{z-index:-1;background:var(--page-accent);content:"";opacity:var(--page-pattern-opacity);pointer-events:none;-webkit-mask-image:var(--page-pattern);-webkit-mask-image:var(--page-pattern);mask-image:var(--page-pattern);-webkit-mask-position:var(--page-pattern-position);-webkit-mask-position:var(--page-pattern-position);mask-position:var(--page-pattern-position);-webkit-mask-repeat:var(--page-pattern-repeat);-webkit-mask-repeat:var(--page-pattern-repeat);mask-repeat:var(--page-pattern-repeat);-webkit-mask-size:var(--page-pattern-size);-webkit-mask-size:var(--page-pattern-size);mask-size:var(--page-pattern-size);position:fixed;inset:0}.barber-page .booking-card,.barber-page .booking-form,.barber-page .service-list article,.barber-page .location-card,.barber-page .meta-pills span,.barber-page .public-contact-links a,.barber-page .calendar-panel,.barber-page .date-picker-trigger,.barber-page .calendar-header button,.barber-page .calendar-grid button,.barber-page .booking-form input,.barber-page .booking-form select,.barber-page .booking-form textarea{border-color:var(--page-line)}.barber-page .section-grid{border-top-color:var(--page-line)}.barber-accent-blue{--page-accent:#3ea6ff;--page-accent-ink:#06131d}.barber-accent-emerald{--page-accent:#3dcf7e;--page-accent-ink:#04130b}.barber-accent-gold{--page-accent:#f2c14e;--page-accent-ink:#1f1600}.barber-accent-crimson{--page-accent:#ff5f6d;--page-accent-ink:#220407}.barber-accent-violet{--page-accent:#a88cff;--page-accent-ink:#150b31}.barber-accent-mono{--page-accent:#f5f5f5;--page-accent-ink:#101010}.barber-pattern-none{--page-pattern:none;--page-glow-opacity:0;--page-pattern-opacity:0}.barber-pattern-glow{--page-pattern:none;--page-glow-opacity:.76;--page-pattern-opacity:0}.barber-pattern-pinstripe{--page-pattern:repeating-linear-gradient(90deg, #000 0 1px, transparent 1px 52px);--page-pattern-position:left top;--page-pattern-repeat:repeat;--page-pattern-size:52px 100%;--page-pattern-opacity:.34}.barber-pattern-waves{--page-pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 900'%3E%3Cg fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round' opacity='.9'%3E%3Cpath d='M-90 118 C30 38 150 198 270 118 S510 38 630 118 S870 198 990 118 S1230 38 1350 118'/%3E%3Cpath d='M-90 248 C35 168 155 328 280 248 S530 168 655 248 S905 328 1030 248 S1280 168 1405 248'/%3E%3Cpath d='M-90 378 C22 298 142 458 254 378 S478 298 590 378 S814 458 926 378 S1150 298 1262 378'/%3E%3Cpath d='M-90 508 C42 428 162 588 294 508 S558 428 690 508 S954 588 1086 508 S1350 428 1482 508'/%3E%3Cpath d='M-90 638 C28 558 148 718 266 638 S502 558 620 638 S856 718 974 638 S1210 558 1328 638'/%3E%3Cpath d='M-90 768 C50 688 170 848 310 768 S590 688 730 768 S1010 848 1150 768 S1430 688 1570 768'/%3E%3C/g%3E%3C/svg%3E");--page-pattern-position:center top;--page-pattern-repeat:no-repeat;--page-pattern-size:max(1260px, 134vw) max(860px, 124vh);--page-pattern-opacity:.3}.barber-pattern-chevron{--page-pattern:repeating-linear-gradient(135deg, #000 0 2px, transparent 2px 142px), repeating-linear-gradient(225deg, #000000b8 0 2px, transparent 2px 142px);--page-pattern-opacity:.34}.barber-pattern-contour{--page-pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 900'%3E%3Cg fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' opacity='.92'%3E%3Cpath d='M75 190 C170 95 260 92 360 176 C448 250 520 242 604 158 C700 62 806 92 892 190 C980 290 1078 274 1150 196'/%3E%3Cpath d='M45 345 C142 266 238 286 326 384 C404 470 510 452 592 346 C678 235 805 250 884 354 C966 462 1058 472 1168 374'/%3E%3Cpath d='M108 558 C202 468 320 478 402 586 C472 678 590 678 670 570 C760 448 908 476 976 594 C1034 695 1115 702 1182 626'/%3E%3Cpath d='M-20 738 C112 664 210 704 288 804 C364 902 512 884 590 768 C668 652 790 658 888 764 C970 852 1052 840 1234 720'/%3E%3Cpath d='M150 80 C196 122 244 128 292 96 M720 86 C776 132 842 126 912 86 M300 650 C342 692 396 692 440 650 M880 682 C928 726 984 724 1040 680'/%3E%3C/g%3E%3C/svg%3E");--page-pattern-position:center top;--page-pattern-repeat:no-repeat;--page-pattern-size:max(1180px, 132vw) max(840px, 122vh);--page-pattern-opacity:.28}.barber-pattern-slashes{--page-pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 900'%3E%3Cg stroke='%23000' stroke-width='5' stroke-linecap='round' opacity='.9'%3E%3Cpath d='M740 90 l-100 150 M790 82 l-104 156 M842 92 l-94 142 M900 92 l-110 166 M954 104 l-92 138 M1012 112 l-104 156 M1072 124 l-84 126 M1130 138 l-92 138 M190 560 l-96 144 M248 548 l-108 162 M306 566 l-92 138 M366 574 l-104 156 M424 590 l-82 124 M482 606 l-96 144 M878 636 l-78 118 M934 650 l-88 132 M990 666 l-72 108 M1048 684 l-82 124'/%3E%3C/g%3E%3C/svg%3E");--page-pattern-position:center top;--page-pattern-repeat:no-repeat;--page-pattern-size:max(1180px, 132vw) max(840px, 122vh);--page-pattern-opacity:.32}.barber-pattern-speckle{--page-pattern:radial-gradient(circle at 4% 12%, #00000061 0 1px, transparent 2px), radial-gradient(circle at 11% 67%, #000000c7 0 2px, transparent 3px), radial-gradient(circle at 18% 34%, #00000080 0 1.4px, transparent 2.4px), radial-gradient(circle at 24% 86%, #00000042 0 1px, transparent 2px), radial-gradient(circle at 31% 18%, #000000b8 0 1.8px, transparent 3px), radial-gradient(circle at 39% 54%, #0000006b 0 1px, transparent 2.2px), radial-gradient(circle at 45% 8%, #000000e6 0 2.4px, transparent 3.8px), radial-gradient(circle at 51% 76%, #00000057 0 1.2px, transparent 2.4px), radial-gradient(circle at 58% 41%, #0009 0 1.6px, transparent 2.8px), radial-gradient(circle at 64% 93%, #0000007a 0 1px, transparent 2px), radial-gradient(circle at 71% 20%, #000000d6 0 2px, transparent 3.2px), radial-gradient(circle at 78% 62%, #0000004d 0 1px, transparent 2px), radial-gradient(circle at 84% 37%, #000000ad 0 1.5px, transparent 2.7px), radial-gradient(circle at 91% 81%, #0000008a 0 2.2px, transparent 3.5px), radial-gradient(circle at 96% 15%, #0000005c 0 1px, transparent 2px), radial-gradient(circle at 7% 48%, #000000a3 0 1.7px, transparent 3px), radial-gradient(circle at 28% 44%, #00000038 0 1px, transparent 2px), radial-gradient(circle at 49% 32%, #000000c2 0 1.4px, transparent 2.6px), radial-gradient(circle at 69% 73%, #00000070 0 1px, transparent 2px), radial-gradient(circle at 88% 6%, #00000094 0 1.9px, transparent 3.2px), radial-gradient(circle at 15% 91%, #00000075 0 1.3px, transparent 2.5px), radial-gradient(circle at 36% 7%, #00000047 0 1px, transparent 2px), radial-gradient(circle at 55% 94%, #000000bd 0 1.6px, transparent 2.9px), radial-gradient(circle at 75% 5%, #0006 0 1.1px, transparent 2.2px), radial-gradient(circle at 94% 52%, #000000a8 0 1.8px, transparent 3px), radial-gradient(circle at 3% 79%, #0000004f 0 1px, transparent 2px), radial-gradient(circle at 13% 24%, #000000e0 0 2px, transparent 3.4px), radial-gradient(circle at 17% 73%, #00000085 0 1.5px, transparent 2.7px), radial-gradient(circle at 21% 10%, #0000005c 0 1px, transparent 2px), radial-gradient(circle at 26% 61%, #000000d1 0 2.3px, transparent 3.8px), radial-gradient(circle at 33% 97%, #0000006b 0 1.2px, transparent 2.3px), radial-gradient(circle at 37% 29%, #000000a3 0 1.7px, transparent 3px), radial-gradient(circle at 42% 88%, #00000047 0 1px, transparent 2px), radial-gradient(circle at 47% 57%, #000000b8 0 1.9px, transparent 3.2px), radial-gradient(circle at 53% 16%, #0000007a 0 1.3px, transparent 2.5px), radial-gradient(circle at 57% 68%, #000000e6 0 2.5px, transparent 4px), radial-gradient(circle at 62% 3%, #00000057 0 1px, transparent 2px), radial-gradient(circle at 66% 48%, #00000094 0 1.6px, transparent 2.8px), radial-gradient(circle at 72% 87%, #000000c2 0 2.1px, transparent 3.5px), radial-gradient(circle at 79% 31%, #00000042 0 1px, transparent 2px), radial-gradient(circle at 83% 71%, #000000b0 0 1.8px, transparent 3.1px), radial-gradient(circle at 89% 26%, #00000070 0 1.2px, transparent 2.4px), radial-gradient(circle at 97% 88%, #000c 0 2.2px, transparent 3.6px), radial-gradient(circle at 6% 39%, #0000008f 0 1.4px, transparent 2.6px), radial-gradient(circle at 19% 53%, #0000003d 0 1px, transparent 2px), radial-gradient(circle at 30% 33%, #000000b3 0 1.8px, transparent 3px), radial-gradient(circle at 44% 21%, #000000db 0 2.4px, transparent 3.8px), radial-gradient(circle at 60% 82%, #00000061 0 1.1px, transparent 2.3px), radial-gradient(circle at 74% 58%, #0000009e 0 1.5px, transparent 2.7px), radial-gradient(circle at 92% 42%, #00000057 0 1px, transparent 2px);--page-pattern-position:center top;--page-pattern-repeat:no-repeat;--page-pattern-size:max(1180px, 132vw) max(840px, 122vh);--page-pattern-opacity:.36}.barber-page-customizer{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));z-index:30;position:fixed}.customizer-toggle{min-height:42px;box-shadow:0 14px 38px #00000057}.customizer-panel{border:1px solid var(--line);border-radius:var(--radius);width:min(92vw,430px);max-height:min(76vh,660px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#181818f7;gap:16px;padding:18px;display:grid;position:absolute;bottom:calc(100% + 10px);right:0;overflow:auto}.customizer-panel-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.customizer-panel h2{font-size:clamp(1.55rem,4vw,2.1rem);line-height:1.04}.customizer-panel fieldset{border:0;gap:10px;margin:0;padding:0;display:grid}.customizer-panel legend{color:var(--white);font-weight:900}.customizer-options{gap:8px;display:grid}.customizer-colours{grid-template-columns:repeat(3,minmax(0,1fr))}.customizer-patterns{grid-template-columns:repeat(2,minmax(0,1fr))}.customizer-options label{min-width:0;color:var(--muted);cursor:pointer;background:#151515;border:1px solid #3e3e3e;border-radius:6px;gap:8px;padding:10px;font-size:.82rem;font-weight:900;display:grid}.customizer-options label.selected{border-color:var(--page-accent);color:var(--white);box-shadow:inset 0 0 0 1px var(--page-accent)}.customizer-options input{opacity:0;pointer-events:none;position:absolute}.colour-chip,.pattern-chip{border:1px solid #ffffff24;border-radius:5px;width:100%;height:42px;display:block}.colour-chip-blue{background:#3ea6ff}.colour-chip-emerald{background:#3dcf7e}.colour-chip-gold{background:#f2c14e}.colour-chip-crimson{background:#ff5f6d}.colour-chip-violet{background:#a88cff}.colour-chip-mono{background:#f5f5f5}.pattern-chip{background-color:#111;position:relative;overflow:hidden}.pattern-chip:before{background:radial-gradient(circle at 24% 20%, var(--page-glow), transparent 36%), radial-gradient(circle at 82% 22%, color-mix(in srgb, var(--page-accent) 22%, transparent), transparent 34%);content:"";opacity:var(--page-glow-opacity);position:absolute;inset:0}.pattern-chip:after{background:var(--page-accent);content:"";opacity:var(--page-pattern-opacity);-webkit-mask-image:var(--page-pattern);-webkit-mask-image:var(--page-pattern);mask-image:var(--page-pattern);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-repeat:var(--page-pattern-repeat);-webkit-mask-repeat:var(--page-pattern-repeat);mask-repeat:var(--page-pattern-repeat);position:absolute;inset:0;-webkit-mask-size:180px 120px;mask-size:180px 120px}.customizer-preview{border:1px solid var(--page-accent);background-color:#111;border-radius:6px;gap:8px;min-height:100px;padding:16px;display:grid;position:relative;overflow:hidden}.customizer-preview:before{background:var(--page-accent);content:"";opacity:var(--page-pattern-opacity);-webkit-mask-image:var(--page-pattern);-webkit-mask-image:var(--page-pattern);mask-image:var(--page-pattern);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-repeat:var(--page-pattern-repeat);-webkit-mask-repeat:var(--page-pattern-repeat);mask-repeat:var(--page-pattern-repeat);position:absolute;inset:0;-webkit-mask-size:520px 240px;mask-size:520px 240px}.customizer-preview:after{background:radial-gradient(circle at 22% 18%, var(--page-glow), transparent 34%), radial-gradient(circle at 84% 22%, color-mix(in srgb, var(--page-accent) 22%, transparent), transparent 28%), radial-gradient(circle at 50% 110%, color-mix(in srgb, var(--page-accent) 18%, transparent), transparent 42%);content:"";opacity:var(--page-glow-opacity);position:absolute;inset:0}.customizer-preview>*{z-index:1;position:relative}.customizer-preview span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:900}.customizer-preview strong{color:var(--page-accent);align-self:end;font-size:1.6rem;line-height:1}.barber-hero h1{font-size:clamp(4rem,12vw,9rem);line-height:.86}.meta-pills{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.meta-pills span{border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:10px 12px;font-weight:900}.public-contact-links{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.public-contact-links a{border:1px solid var(--line);color:var(--white);background:#111;border-radius:6px;padding:8px 10px;font-size:.86rem;font-weight:900}.public-contact-links a:hover,.public-contact-links a:focus-visible{border-color:var(--accent);color:var(--accent)}.booking-card{background:var(--soft);color:var(--white);gap:14px;padding:24px;display:grid}.booking-card span{color:#ffffffad;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:900}.booking-card strong{font-size:2.4rem;line-height:1}.booking-card p{color:#ffffffbd;margin:0}.section-grid{border-top:1px solid var(--line);grid-template-columns:minmax(240px,.45fr) minmax(0,1fr);padding:58px 0}.service-list{gap:10px;display:grid}.service-list article{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);justify-content:space-between;align-items:center;gap:18px;min-height:96px;padding:18px;display:flex}.service-list article>div{min-width:0}.service-list.compact article{min-height:78px}.service-list h3,.service-list p{margin:0}.service-list p{color:var(--muted)}.service-list strong{white-space:nowrap;font-size:1.25rem}.location-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);gap:8px;padding:22px;display:grid}.location-card span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:900}.location-card strong{overflow-wrap:anywhere;color:var(--white);font-size:clamp(1.4rem,3vw,2.2rem);line-height:1.08}.service-actions{align-items:center;gap:10px;display:inline-flex}.service-actions form{display:inline-flex}.service-done-actions{margin-top:14px}.icon-remove{border:1px solid var(--line);background:var(--soft);width:32px;height:32px;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;font-size:1.15rem;font-weight:900;line-height:1;display:inline-grid}.icon-remove:hover,.icon-remove:focus-visible{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.booking-form,.form-stack{gap:14px;display:grid}.booking-form{padding:24px}.booking-form label,.form-stack label,.date-picker{gap:8px;font-weight:900;display:grid}.booking-form input,.booking-form select,.booking-form textarea,.form-stack input,.form-stack select,.form-stack textarea{width:100%;min-height:48px;color:var(--ink);background:#111;border:1px solid #3f3f3f;border-radius:6px;padding:0 12px}.booking-form input::placeholder,.booking-form textarea::placeholder,.form-stack input::placeholder,.form-stack textarea::placeholder{color:#ffffff6b}.field-label{font-weight:900}.date-picker{position:relative}.date-picker-trigger{width:100%;min-height:48px;color:var(--ink);text-align:left;cursor:pointer;background:#111;border:1px solid #3f3f3f;border-radius:6px;justify-content:space-between;align-items:center;padding:0 12px;display:flex}.date-picker-trigger:focus-visible,.date-picker-trigger:hover{border-color:var(--accent)}.select-caret{border-left:5px solid #0000;border-right:5px solid #0000;border-top:6px solid var(--ink);width:0;height:0}.calendar-panel{z-index:20;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);width:min(520px,100%);box-shadow:var(--shadow);padding:18px;position:absolute;top:calc(100% + 8px);left:0}.calendar-header{grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;gap:10px;margin-bottom:14px;display:grid}.calendar-header strong{text-align:center;font-size:1.08rem}.calendar-header.static{grid-template-columns:1fr}.sample-page .barber-hero,.sample-page .section-grid:first-of-type,.sample-page.dashboard-shell{padding-top:56px}.sample-hero h1{max-width:720px;font-size:clamp(4rem,10vw,8rem);line-height:.94}.sample-hero h1+p{max-width:660px;margin-top:24px}.sample-booking-form{align-self:start}.sample-calendar-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);gap:8px;padding:18px;display:grid}.calendar-header button,.calendar-grid button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#111;border-radius:6px;font-weight:900}.calendar-header button{min-height:46px}.calendar-header button:disabled,.calendar-grid button:disabled{cursor:not-allowed;opacity:.32}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar-weekdays{margin-bottom:8px}.calendar-weekdays span{color:var(--muted);text-align:center;text-transform:uppercase;font-size:.72rem;font-weight:900}.calendar-grid button{aspect-ratio:1;place-items:center;min-height:46px;display:grid;position:relative}.calendar-grid button small{color:#04130b;background:#ffffffe6;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.64rem;font-weight:900;line-height:1;display:inline-grid;position:absolute;bottom:4px;right:4px}.calendar-grid button:not(:disabled):hover,.calendar-grid button:not(:disabled):focus-visible{border-color:var(--accent)}.calendar-grid button.selected{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.calendar-grid button.available:not(.selected){color:var(--white);background:#3dcf7e26;border-color:#3dcf7e}.calendar-grid button.available.heat-1:not(.selected){background:#3dcf7e1a;border-color:#3dcf7e61}.calendar-grid button.available.heat-2:not(.selected){background:#3dcf7e2e;border-color:#3dcf7e85}.calendar-grid button.available.heat-3:not(.selected){background:#3dcf7e4d;border-color:#3dcf7eb8}.calendar-grid button.available.heat-4:not(.selected){background:#3dcf7e73;border-color:#3dcf7ef0}.calendar-grid button.available:after{content:"";background:#3dcf7e;border-radius:999px;width:6px;height:6px;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.calendar-grid button.available.heat-1:after,.calendar-grid button.available.heat-2:after,.calendar-grid button.available.heat-3:after,.calendar-grid button.available.heat-4:after{content:none}.calendar-grid button.selected.available{color:#04130b;background:#3dcf7e;border-color:#3dcf7e}.calendar-grid button.selected small{color:#3dcf7e;background:#04130b}.calendar-grid button.selected.available:after{background:#04130b}.calendar-grid .muted{color:#ffffff57}.booking-form textarea{min-height:110px;padding:12px}.form-stack textarea{resize:vertical;min-height:96px;padding:12px}.form-stack .checkbox-row{color:var(--muted);align-items:center;gap:10px;font-weight:900;display:flex}.form-stack .checkbox-row input{width:18px;min-height:18px;accent-color:var(--accent)}.form-status{color:var(--muted);margin:0;font-weight:800}.form-status.success{color:#3dcf7e}.form-status.error{color:#ff7a7a}.dashboard-shell{padding:64px 0 86px}.setup-panel{gap:12px;margin-bottom:18px;display:grid}.setup-panel p{margin:0}.onboarding-panel{border-radius:var(--radius);color:var(--white);box-shadow:var(--shadow);background:#232323;border:1px solid #4a4a4a;gap:18px;margin-bottom:16px;padding:24px;display:grid}.onboarding-panel.complete{border-color:#3dcf7e94}.onboarding-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.onboarding-header h2{color:var(--white);font-size:clamp(1.9rem,4vw,3.1rem);line-height:1.04}.onboarding-header p:not(.eyebrow){color:#ffffffb8;max-width:720px}.onboarding-progress{background:#171717;border:1px solid #3b3b3b;border-radius:8px;place-items:center;min-width:96px;padding:14px;display:grid}.onboarding-progress strong{color:var(--white);font-size:2rem;line-height:1}.onboarding-progress span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:900}.onboarding-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.onboarding-steps article{background:#171717;border:1px solid #3b3b3b;border-radius:8px;grid-template-columns:auto minmax(0,1fr);gap:12px;min-width:0;padding:16px;display:grid}.onboarding-steps article.complete{background:#3dcf7e14;border-color:#3dcf7e8a}.onboarding-step-number{background:var(--accent);min-width:32px;height:32px;color:var(--accent-ink);border-radius:999px;place-items:center;padding:0 7px;font-size:.78rem;font-weight:950;display:inline-grid}.onboarding-steps article.complete .onboarding-step-number{color:#04130b;background:#3dcf7e}.onboarding-steps article>div{gap:9px;min-width:0;display:grid}.onboarding-steps small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:900}.onboarding-steps h3{color:var(--white);font-size:1.25rem}.onboarding-steps p{color:#ffffffad;margin:0;font-size:.92rem;font-weight:750}.onboarding-steps .button{justify-self:start;min-height:38px;padding:0 13px}.onboarding-copy{background:#111;border:1px solid #3b3b3b;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;display:grid;overflow:hidden}.onboarding-copy span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding:10px 11px;font-size:.86rem;font-weight:900;overflow:hidden}.onboarding-copy .button{border-width:0 0 0 1px;border-radius:0;min-height:40px}.dashboard-title{justify-content:space-between;align-items:end;gap:22px;margin-bottom:28px;display:flex}.dashboard-title h1{font-size:clamp(2.75rem,6.5vw,5.8rem)}.dashboard-shell .panel h2,.dashboard-shell .settings-panel h2{font-size:clamp(1.65rem,3.8vw,3rem);line-height:1.06}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.stats-grid article{gap:10px;display:grid}.stats-grid strong{font-size:clamp(2.4rem,6vw,4.8rem);line-height:1}.stats-grid small{color:var(--muted);font-weight:800}.admin-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.admin-summary-grid article{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);gap:10px;padding:24px;display:grid}.admin-summary-grid span,.admin-summary-grid small{color:var(--muted);font-weight:900}.admin-summary-grid span{letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.admin-summary-grid strong{color:var(--white);font-size:clamp(2.2rem,5vw,4.2rem);line-height:1}.admin-panel{gap:18px;display:grid}.admin-panel-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.admin-panel-header h2{font-size:clamp(1.8rem,3vw,2.8rem)}.admin-panel-header>span{color:var(--muted);font-weight:900}.feedback-list{gap:12px;display:grid}.feedback-list article{border:1px solid var(--line);background:var(--soft);border-radius:6px;gap:10px;padding:16px;display:grid}.feedback-list article>div{justify-content:space-between;gap:12px;display:flex}.feedback-list strong,.feedback-list a{color:var(--white)}.feedback-list span,.feedback-list p{color:var(--muted);margin:0;font-weight:800}.admin-table-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:920px}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:15px 14px}.admin-table th{background:var(--soft);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:900}.admin-table tr:last-child td{border-bottom:0}.admin-table td{color:#ffffffc2;font-weight:800}.admin-table td,.admin-table td>*{line-height:1.35}.admin-table td{min-width:115px}.admin-table td:first-child{min-width:220px}.admin-table td>strong,.admin-table td>span,.admin-table td>small,.admin-table td>a{display:block}.admin-table td>strong{color:var(--white)}.admin-table td>small{color:var(--muted);font-size:.78rem}.admin-table a{color:var(--accent);font-weight:900}.status-pill{width:max-content;color:var(--muted);text-transform:uppercase;background:#ffffff14;border-radius:999px;align-items:center;margin-bottom:6px;padding:5px 8px;font-size:.72rem;font-weight:900;display:inline-flex}.status-pill.good{color:#3dcf7e;background:#3dcf7e24}.status-pill.warn{color:#ff8f8f;background:#ff8f8f1f}.status-pill.quiet{color:#ffffff94;background:#ffffff12}.schedule-panel{border-radius:var(--radius);color:var(--white);box-shadow:var(--shadow);background:#232323;border:1px solid #4a4a4a;gap:0;margin:16px 0;display:grid;overflow:hidden}.schedule-header{border-bottom:1px solid #313131;justify-content:space-between;align-items:flex-start;gap:18px;padding:26px;display:flex}.schedule-header h2{color:var(--white);font-size:clamp(1.9rem,4vw,3.1rem);line-height:1.06}.schedule-header p:not(.eyebrow),.schedule-panel .eyebrow{color:#ffffffb8}.schedule-month-controls{grid-template-columns:42px minmax(150px,1fr) 42px;align-items:center;gap:8px;min-width:260px;display:grid}.schedule-month-controls button{min-height:42px;color:var(--white);cursor:pointer;background:#171717;border:1px solid #3e3e3e;border-radius:6px;font-weight:900}.schedule-month-controls strong{text-align:center}.schedule-layout{background:#252525;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:0;display:grid}.schedule-mobile-summary{display:none}.schedule-calendar{border-right:1px solid #313131;padding:24px}.schedule-weekdays,.schedule-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.schedule-weekdays{margin-bottom:8px}.schedule-weekdays span{color:#ffffff9e;text-align:center;text-transform:uppercase;font-size:.72rem;font-weight:900}.schedule-grid button{min-height:72px;color:var(--white);cursor:pointer;background:#191919;border:1px solid #3b3b3b;border-radius:6px;align-content:space-between;justify-items:start;padding:10px;display:grid}.schedule-grid button.muted{color:#ffffff57}.schedule-grid button.selected,.schedule-grid button:hover,.schedule-grid button:focus-visible{border-color:#3ea6ff}.schedule-grid button:hover,.schedule-grid button:focus-visible{background:#3ea6ff24}.schedule-grid button.selected{box-shadow:inset 0 0 0 1px #3ea6ff}.schedule-grid button.heat-1{background:#3dcf7e1a;border-color:#3dcf7e61}.schedule-grid button.heat-2{background:#3dcf7e2e;border-color:#3dcf7e85}.schedule-grid button.heat-3{background:#3dcf7e4d;border-color:#3dcf7eb8}.schedule-grid button.heat-4{background:#3dcf7e73;border-color:#3dcf7ef0}.schedule-grid button.selected.heat-1,.schedule-grid button.selected.heat-2,.schedule-grid button.selected.heat-3,.schedule-grid button.selected.heat-4{border-color:#3ea6ff}.schedule-grid button span{font-weight:900}.schedule-grid button small{color:#04130b;background:#ffffffe6;border-radius:999px;place-items:center;min-width:24px;height:24px;padding:0 7px;font-size:.76rem;font-weight:900;display:inline-grid}.schedule-day-panel{align-content:start;gap:18px;padding:24px;display:grid}.schedule-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.schedule-stat-grid article{background:#171717;border:1px solid #3b3b3b;border-radius:6px;gap:7px;padding:14px;display:grid}.schedule-stat-grid span{color:#ffffffa3;text-transform:uppercase;font-size:.72rem;font-weight:900}.schedule-stat-grid strong{color:var(--white);font-size:1.35rem}.schedule-selection-copy{color:#ffffffad;margin:0;font-size:.9rem;font-weight:900}.availability-editor{background:#171717;border-top:1px solid #313131;gap:16px;padding:24px;display:grid}.slot-section-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.slot-section-heading span{color:#ffffffc2;white-space:nowrap;background:#111;border:1px solid #3b3b3b;border-radius:999px;align-items:center;min-height:30px;padding:0 10px;font-size:.78rem;font-weight:900;display:inline-flex}.slot-editor{gap:14px;display:grid}.slot-section-title{color:#ffffffdb;text-transform:uppercase;margin:0;font-size:.84rem;font-weight:900}.working-hours-grid,.template-tools{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px;display:grid}.template-tools{grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr) auto}.working-hours-grid label,.template-tools label{color:#ffffffb8;text-transform:uppercase;gap:6px;font-size:.76rem;font-weight:900;display:grid}.working-hours-grid input,.working-hours-grid select,.template-tools input,.template-tools select{width:100%;min-height:42px;color:var(--white);background:#111;border:1px solid #3f3f3f;border-radius:6px;padding:0 10px}.slot-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.slot-toolbar span{color:#ffffff9e;font-size:.84rem;font-weight:900}.slot-toolbar .button,.template-tools .button{min-height:42px}.template-section{border-radius:var(--radius);background:#141414;border:1px solid #313131;gap:12px;padding:16px;display:grid}.template-section>div:first-child{gap:5px;display:grid}.template-section p:not(.slot-section-title){color:#ffffff9e;margin:0;font-size:.92rem;font-weight:800}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;display:grid}.slot-grid button{min-height:64px;color:var(--white);text-align:left;cursor:pointer;background:#111;border:1px solid #3b3b3b;border-radius:6px;gap:5px;padding:10px;display:grid}.slot-grid button:hover,.slot-grid button:focus-visible{border-color:#3ea6ff}.slot-grid button.active{background:#3ea6ff24;border-color:#3ea6ff}.slot-grid button.booked{cursor:pointer;background:#3dcf7e29;border-color:#3dcf7e}.slot-grid button.protected{cursor:not-allowed;background:#3dcf7e1a;border-color:#3dcf7e}.slot-grid button span{font-weight:900}.slot-grid button small{color:#ffffff94;font-weight:900}.slot-grid button.active small{color:#3ea6ff}.slot-grid button.booked small,.slot-grid button.protected small{color:#3dcf7e}.slot-booking-popover{background:#3dcf7e1a;border:1px solid #3dcf7e;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px;display:grid}.slot-booking-popover>div:first-child{gap:4px;min-width:0;display:grid}.slot-booking-popover h4{color:var(--white);font-size:1.2rem;line-height:1.1}.slot-booking-popover p:not(.eyebrow,.form-status){color:#ffffffad;margin:0;font-weight:800}.slot-booking-popover-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:inline-flex}.slot-cancel-note{color:#ffffffb8;text-transform:uppercase;grid-column:1/-1;gap:6px;font-size:.76rem;font-weight:900;display:grid}.slot-cancel-note textarea{min-height:82px;color:var(--white);resize:vertical;text-transform:none;background:#111;border:1px solid #3f3f3f;border-radius:6px;padding:10px}.slot-booking-popover-actions .button{min-height:38px;padding:0 12px}.slot-booking-popover-actions span{color:#ffffffad;align-self:center;font-weight:900}.slot-booking-popover .form-status{grid-column:1/-1}.schedule-save-button.saved{color:#04130b;background:#3dcf7e;border-color:#3dcf7e}.unsaved-dialog-backdrop{z-index:60;background:#000000b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.unsaved-dialog{border-radius:var(--radius);width:min(100%,500px);box-shadow:var(--shadow);background:#232323;border:1px solid #4a4a4a;gap:16px;padding:24px;display:grid}.unsaved-dialog h3{color:var(--white);font-size:clamp(1.8rem,5vw,2.6rem);line-height:1}.unsaved-dialog p:not(.eyebrow){color:#ffffffb8;margin:0;font-weight:800}.unsaved-dialog-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.unsaved-dialog-actions .button:last-child{grid-column:1/-1}.analytics-panel{border-radius:var(--radius);color:var(--white);box-shadow:var(--shadow);background:#232323;border:1px solid #4a4a4a;gap:0;margin:16px 0;display:grid;overflow:visible}.analytics-toolbar{justify-content:space-between;align-items:flex-start;gap:18px;padding:26px 26px 22px;display:flex}.analytics-toolbar h2{max-width:760px;color:var(--white);font-size:clamp(1.9rem,4vw,3.1rem);line-height:1.06}.analytics-panel .eyebrow{color:#ffffffb8}.period-select{z-index:5;flex:0 0 250px;position:relative}.period-select-trigger{width:100%;min-height:74px;color:var(--white);text-align:left;cursor:pointer;background:#282828;border:0;border-bottom:1px solid #3a3a3a;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;padding:14px 16px;display:grid}.period-select-trigger span:first-child{color:#ffffffbd;font-size:.84rem;font-weight:700}.period-select-trigger strong{color:var(--white);grid-column:1;font-size:1rem;line-height:1.2}.period-caret{border-right:2px solid var(--white);border-bottom:2px solid var(--white);grid-area:1/2/span 2;width:11px;height:11px;transform:rotate(45deg)translateY(-3px)}.period-menu{border-radius:0 0 var(--radius) var(--radius);background:#1f1f1f;width:230px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 22px 48px #00000057}.period-menu-group{border-bottom:1px solid #333;display:grid}.period-menu-group:last-child{border-bottom:0}.period-menu button{min-height:41px;color:var(--white);text-align:left;cursor:pointer;background:0 0;border:0;padding:0 22px;font-weight:800}.period-menu button:hover,.period-menu button:focus-visible,.period-menu button.active{background:#121212}.period-menu button.disabled{color:#ffffff75;cursor:not-allowed}.custom-range-fields{background:#1f1f1f;border:1px solid #3a3a3a;border-radius:6px;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;padding:10px;display:grid}.custom-range-fields label{color:#ffffffb8;text-transform:uppercase;gap:5px;font-size:.72rem;font-weight:900;display:grid}.custom-range-fields input{width:100%;min-height:38px;color:var(--white);background:#111;border:1px solid #3f3f3f;border-radius:5px;padding:0 8px}.metric-tabs{background:#171717;border-top:1px solid #4a4a4a;border-bottom:1px solid #313131;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.metric-tabs button{min-height:112px;color:var(--white);text-align:center;cursor:pointer;background:0 0;border:0;border-right:1px solid #3e3e3e;gap:8px;padding:20px 22px;display:grid}.metric-tabs button:last-child{border-right:0}.metric-tabs button.active,.metric-tabs button:hover,.metric-tabs button:focus-visible{background:#202020}.metric-tabs span{color:#ffffffd1;font-size:.84rem;font-weight:900}.metric-tabs strong{font-size:clamp(1.6rem,4vw,2.3rem);line-height:1}.metric-tabs small{color:#ffffffad;font-size:.82rem;font-style:italic;font-weight:700}.metric-tabs small.up{color:#3dcf7e}.metric-tabs small.down{color:#ff8f8f}.analytics-comparison{background:#202020;border-bottom:1px solid #313131;grid-template-columns:minmax(220px,.8fr) auto minmax(280px,1.2fr);align-items:center;gap:18px;padding:22px 24px;display:grid}.analytics-comparison-summary{gap:5px;display:grid}.analytics-comparison-summary span,.analytics-comparison-bars span,.chart-legend span{color:#ffffff9e;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:900}.analytics-comparison-summary strong{color:var(--white);font-size:clamp(1.35rem,3vw,2rem);line-height:1}.analytics-comparison-summary small{color:#ffffffad;font-size:.95rem;font-weight:900}.analytics-comparison-pill{min-width:78px;color:var(--white);text-align:center;background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;justify-self:center;padding:10px 12px;font-size:1rem;font-weight:950}.analytics-comparison.up .analytics-comparison-pill,.analytics-comparison.up .analytics-comparison-summary small{color:#3dcf7e}.analytics-comparison.down .analytics-comparison-pill,.analytics-comparison.down .analytics-comparison-summary small{color:#ff8f8f}.analytics-comparison-bars{gap:12px;display:grid}.analytics-comparison-bars>div{grid-template-columns:72px minmax(60px,auto) minmax(120px,1fr);align-items:center;gap:12px;display:grid}.analytics-comparison-bars strong{color:var(--white);white-space:nowrap;font-size:.95rem}.comparison-track{background:#ffffff14;border-radius:999px;height:10px;overflow:hidden}.comparison-track i{border-radius:inherit;background:#3ea6ff;height:100%;display:block}.comparison-track.previous i{background:#ffffff6b}.line-chart-wrap{background:#252525;gap:12px;padding:26px 24px 24px;display:grid}.chart-legend{flex-wrap:wrap;justify-content:flex-end;gap:14px;display:flex}.chart-legend span{letter-spacing:0;text-transform:none;align-items:center;gap:7px;display:inline-flex}.chart-legend i{background:#3ea6ff;border-radius:999px;width:18px;height:3px}.chart-legend i.previous{background:#ffffff6b}.line-chart{width:100%;min-height:290px;display:block}.chart-grid-line{stroke:#ffffff14;stroke-width:1px}.chart-area{fill:url(#chart-fill)}.chart-line{fill:none;stroke:#3ea6ff;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4px}.chart-line.previous{stroke:#ffffff6b;stroke-dasharray:7 7;stroke-width:2px}.chart-point{fill:#3ea6ff;opacity:0}.chart-point.previous{fill:#ffffffa3}.line-chart-wrap:hover .chart-point{opacity:1}.chart-x-label,.chart-y-label{fill:#ffffff94;font-size:13px;font-weight:800}.chart-x-label{text-anchor:middle}.chart-y-label{text-anchor:start}.dashboard-columns{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.dashboard-columns.dashboard-columns-single{grid-template-columns:1fr}.dashboard-booking-link-panel,.install-app-card-dashboard{margin-bottom:16px}.install-app-card .button{justify-self:start}@media (min-width:861px){.install-app-card{display:none}}.ios-install-steps{gap:10px;margin:0;padding:0;list-style:none;display:grid}.ios-install-steps li{background:var(--soft);border:1px solid #ffffff21;border-radius:7px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;min-height:42px;padding:8px 10px;display:grid}.ios-install-steps strong{width:26px;height:26px;color:var(--accent);background:#3ea6ff29;border-radius:999px;place-items:center;font-size:.76rem;font-weight:900;display:grid}.ios-install-steps span{color:var(--white);font-size:.9rem;font-weight:900}.dashboard-booking-link-actions{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.dashboard-booking-link-actions .copy-link{flex:360px}.dashboard-booking-link-actions>.button{min-height:48px}.dashboard-columns .panel h2{overflow-wrap:anywhere;font-size:clamp(1.8rem,2.35vw,2.55rem);line-height:1.06}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.settings-grid>*{min-width:0}.settings-panel{gap:16px;display:grid}.settings-accordion-panel{gap:0}.settings-accordion-panel summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;list-style:none;display:flex}.settings-accordion-panel summary::-webkit-details-marker{display:none}.settings-accordion-panel summary>span:first-child{gap:8px;display:grid}.settings-accordion-panel summary strong{color:var(--white);font-size:clamp(1.55rem,2.1vw,2.2rem);line-height:1.05}.settings-accordion-icon{border:1px solid var(--line);background:var(--soft);border-radius:999px;flex:none;width:32px;height:32px;position:relative}.settings-accordion-icon:before,.settings-accordion-icon:after{background:var(--muted);content:"";border-radius:999px;width:12px;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.settings-accordion-icon:after{transform:translate(-50%,-50%)rotate(90deg)}.settings-accordion-panel[open] .settings-accordion-icon:after{display:none}.settings-accordion-body{gap:16px;margin-top:18px;display:grid}.settings-panel h2{overflow-wrap:anywhere;font-size:clamp(1.8rem,2.35vw,2.55rem);line-height:1.06}.settings-panel p:not(.eyebrow,.form-status,.field-hint){color:var(--muted);margin:0;font-weight:800}.settings-panel form{margin:0}.subscription-actions{flex-wrap:wrap;gap:12px;display:flex}.subscription-actions form{display:contents}.cancellation-survey-panel{gap:18px;max-width:760px;display:grid}.cancellation-survey-panel h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.04}.cancellation-survey-form{gap:18px}.survey-options{border:0;gap:10px;margin:0;padding:0;display:grid}.survey-option{border:1px solid var(--line);background:var(--soft);color:var(--white);cursor:pointer;border-radius:6px;align-items:center;gap:12px;padding:14px;font-weight:900;display:flex}.survey-option input{width:18px;height:18px;accent-color:var(--accent)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.notification-settings{gap:12px;margin-top:18px;display:grid}.toggle-setting{cursor:pointer;background:#1d1d1d;border:1px solid #3a3a3a;border-radius:6px;align-items:center;gap:12px;padding:14px;display:flex}.toggle-setting input{width:20px;height:20px;accent-color:var(--accent)}.toggle-setting span{gap:3px;display:grid}.toggle-setting small{color:var(--muted);text-transform:uppercase;font-weight:900}.booking-list{gap:10px;display:grid}.booking-list div{background:var(--soft);border-radius:6px;gap:4px;padding:12px;display:grid}.booking-list span{color:var(--muted);font-weight:800}.booking-list small{color:#ffffffb8;font-weight:900}.empty-state{color:var(--muted);margin:0;font-weight:800}.empty-state-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);gap:10px;padding:18px;display:grid}.empty-state-card strong{color:var(--white);font-size:1.2rem}.empty-state-card p{color:var(--muted);margin:0;font-weight:800}.empty-state-actions{flex-wrap:wrap;gap:8px;display:flex}.empty-state-actions .button{min-height:40px}.auth-shell{place-items:center;min-height:calc(100vh - 100px);display:grid}.auth-panel{width:min(100%,560px);padding:28px}.auth-panel h1{font-size:clamp(2.45rem,7vw,4.6rem)}.field-hint,.auth-switch,.trial-note{color:var(--muted);font-weight:800}.field-hint,.trial-note{font-size:.92rem}.trial-note{margin:10px 0 0}.hero-trial-note{max-width:440px}.auth-switch{margin:18px 0 0}.auth-switch a{color:var(--white);text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px}.signup-next-steps{border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);gap:10px;margin-top:18px;padding:16px;display:grid}.signup-next-steps ol{gap:7px;margin:0;padding-left:20px;display:grid}.signup-next-steps li{color:#ffffffb8;font-weight:800}.cancel-booking-summary{gap:10px;margin:20px 0;display:grid}.cancel-booking-summary div{border:1px solid var(--line);background:var(--soft);border-radius:6px;gap:4px;padding:12px;display:grid}.cancel-booking-summary span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:900}.cancel-booking-summary strong{color:var(--white)}.copy-link{border:1px solid var(--line);background:var(--soft);border-radius:6px;grid-template-columns:minmax(180px,1fr) auto;align-items:center;width:min(100%,520px);min-height:48px;display:inline-grid;overflow:hidden}.copy-link span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding:0 14px;font-weight:900;overflow:hidden}.copy-link .button{border-width:0 0 0 1px;border-radius:0;min-height:48px}@media (max-width:860px){.dashboard-title{flex-direction:column;align-items:flex-start}.onboarding-header{flex-direction:column}.onboarding-progress{justify-items:start;width:100%}.onboarding-steps{grid-template-columns:1fr}.admin-panel-header{flex-direction:column}.app-header{flex-direction:column;align-items:flex-start;gap:8px;padding:9px}.app-header nav{flex-wrap:nowrap;gap:4px;width:100%;padding-bottom:0;display:flex;overflow:visible}.app-header nav a,.app-header nav button{text-align:center;white-space:nowrap;justify-content:center;align-items:center;min-height:34px;padding:7px 8px;font-size:.82rem;line-height:1.12;display:inline-flex}.app-header-authenticated{align-items:center}.app-header-authenticated nav{display:none}body.has-mobile-app-nav{padding-bottom:calc(74px + env(safe-area-inset-bottom))}.mobile-app-nav{right:max(12px, env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));z-index:20;border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#181818f0;border-radius:10px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;width:min(100% - 24px,520px);margin:0 auto;padding:6px;display:grid;position:fixed;box-shadow:0 12px 36px #0000005c}.mobile-app-nav a{min-height:40px;color:var(--muted);text-align:center;border-radius:7px;justify-content:center;align-items:center;padding:7px 4px;font-size:.75rem;font-weight:900;line-height:1.05;display:inline-flex}.mobile-app-nav a.active{background:var(--accent);color:var(--accent-ink)}.mobile-app-nav a.pending{color:var(--white);background:#3ea6ff38;box-shadow:inset 0 0 0 1px #3ea6ffa6}.mobile-app-nav a:active,.app-header nav a:active{transform:translateY(1px)}.brand{gap:8px;font-size:.92rem}.brand-mark{width:28px;height:28px;font-size:.68rem}.hero-grid,.barber-hero,.section-grid,.feature-grid,.dashboard-preview-grid,.admin-summary-grid,.dashboard-columns,.settings-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.stats-grid article{grid-template-rows:1.55rem 2.05rem minmax(2.1rem,auto);gap:6px;min-width:0;padding:12px 8px}.stats-grid span{text-overflow:clip;white-space:normal;align-items:flex-start;font-size:.52rem;line-height:1.05;display:flex;overflow:visible}.stats-grid strong{align-items:center;min-height:2.05rem;font-size:clamp(1.45rem,7vw,2rem);line-height:1;display:flex}.stats-grid small{font-size:.62rem;line-height:1.15}.hero-grid{min-height:auto;padding-top:48px}.site-footer{flex-direction:column}.site-footer nav{justify-content:flex-start}.hero-grid h1{font-size:3.1rem}.hero-grid .home-hero-title{font-size:clamp(2.35rem,9.4vw,3.35rem);line-height:1.02}.phone-preview{transform:none}.homepage-booking-preview{grid-column:auto;width:100%}.analytics-toolbar{flex-direction:column}.analytics-comparison{grid-template-columns:1fr;align-items:stretch}.analytics-comparison-pill{justify-self:start}.schedule-header{flex-direction:column;align-items:flex-start}.schedule-layout{grid-template-columns:1fr}.schedule-mobile-summary{background:#252525;border-bottom:1px solid #313131;gap:10px;padding:16px 18px;display:grid}.schedule-mobile-summary .eyebrow{margin:0}.schedule-mobile-summary .schedule-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.schedule-mobile-summary .schedule-stat-grid article{gap:5px;min-width:0;padding:10px 8px}.schedule-mobile-summary .schedule-stat-grid span{text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;line-height:1.05;overflow:hidden}.schedule-mobile-summary .schedule-stat-grid strong{font-size:clamp(1rem,4.6vw,1.2rem);line-height:1}.schedule-day-panel{display:none}.schedule-calendar{border-bottom:1px solid #313131;border-right:0}.template-tools{grid-template-columns:1fr}.working-hours-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.working-hours-grid label{gap:5px;font-size:.6rem;line-height:1.05}.working-hours-grid select{min-height:38px;padding:0 6px;font-size:.82rem}.barber-page-customizer{right:max(14px, env(safe-area-inset-right));bottom:calc(82px + env(safe-area-inset-bottom))}.period-select{flex-basis:auto;width:min(100%,300px)}}@media (max-width:520px){.shell,.barber-page,.dashboard-shell,.auth-shell,.legal-shell{width:min(100% - 24px,1180px)}.legal-shell{padding-top:48px}.legal-content article,.onboarding-panel{padding:18px}.onboarding-steps article{padding:14px}.onboarding-copy{grid-template-columns:1fr}.onboarding-copy .button{border-width:1px 0 0}.analytics-toolbar{padding:20px}.hero-grid h1{font-size:2.55rem;line-height:.98}.hero-grid .home-hero-title{font-size:clamp(2.2rem,11.2vw,2.9rem);line-height:1.03}.metric-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.custom-range-fields{grid-template-columns:1fr}.metric-tabs button{text-align:left;border-bottom:0;border-right:1px solid #3e3e3e;align-content:start;gap:5px;min-height:104px;padding:13px 8px}.metric-tabs button:last-child{border-bottom:0;border-right:0}.metric-tabs span{font-size:.66rem;line-height:1.12}.metric-tabs strong{font-size:clamp(1.18rem,6.2vw,1.52rem)}.metric-tabs small{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.62rem;font-style:normal;line-height:1.18;display:-webkit-box;overflow:hidden}.analytics-comparison{padding:18px 14px}.analytics-comparison-bars>div{grid-template-columns:1fr;gap:6px}.chart-legend{justify-content:flex-start}.line-chart-wrap{padding:18px 12px 16px}.line-chart{min-height:220px}.schedule-month-controls{width:100%;min-width:0}.schedule-calendar,.schedule-day-panel,.availability-editor{padding:18px}.schedule-grid{gap:4px}.schedule-grid button{min-height:56px;padding:8px}.schedule-stat-grid{grid-template-columns:1fr}.schedule-mobile-summary{padding:14px 12px}.schedule-mobile-summary .schedule-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.unsaved-dialog-actions{grid-template-columns:1fr}.unsaved-dialog-actions .button:last-child{grid-column:auto}.chart-y-label{font-size:11px}.preview-stats-row{grid-template-columns:1fr}.preview-stats-row div{border-bottom:1px solid #3e3e3e;border-right:0}.preview-stats-row div:last-child{border-bottom:0}.preview-bookings div,.copy-link{grid-template-columns:1fr}.copy-link .button{border-width:1px 0 0}.barber-hero h1{font-size:clamp(3.4rem,18vw,5.2rem)}}@media (display-mode:standalone){body{overscroll-behavior-y:contain}.app-header{top:max(10px, env(safe-area-inset-top))}}
