:root{--ink:#080808;--muted:#555;--paper:#f6f6f1;--white:#fff;--line:#dadad2;--soft:#ecece4;--shadow:0 24px 70px #0808081f;--radius:8px}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);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:#f6f6f1eb;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 #08080814}.app-header nav{flex-wrap:wrap;gap:6px;display:flex}.app-header nav a{color:var(--muted);border-radius:6px;padding:10px 12px;font-weight:800}.app-header nav a:hover,.app-header nav a:focus-visible{background:var(--white);color:var(--ink)}.brand{align-items:center;gap:10px;font-weight:900;display:inline-flex}.brand-mark{background:var(--ink);width:34px;height:34px;color:var(--white);border-radius:6px;place-items:center;font-size:.76rem;display:grid}.shell,.barber-page,.dashboard-shell,.auth-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}.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-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}.button{border:1px solid var(--ink);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{background:var(--ink);color:var(--white)}.button.secondary{background:var(--white)}.button.inverted{border-color:var(--white);background:var(--white);color:var(--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(--white);box-shadow:var(--shadow)}.phone-preview{gap:16px;padding:22px;display:grid;transform:rotate(-2deg)}.phone-top{gap:7px;display:flex}.phone-top span{background:var(--ink);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{background:var(--ink);color:var(--white);padding:24px;font-size:2.3rem}.mini-row{justify-content:space-between;display:flex}.phone-preview button{background:var(--ink);min-height:48px;color:var(--white);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}.barber-hero{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:end;padding:72px 0 56px}.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(--white);border-radius:6px;padding:10px 12px;font-weight:900}.booking-card{background:var(--ink);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(--white);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}.service-actions{align-items:center;gap:10px;display:inline-flex}.service-actions form{display:inline-flex}.icon-remove{border:1px solid var(--line);background:var(--white);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(--ink);background:var(--ink);color:var(--white)}.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 textarea{background:var(--white);width:100%;min-height:48px;color:var(--ink);border:1px solid #cfcfc8;border-radius:6px;padding:0 12px}.field-label{font-weight:900}.date-picker{position:relative}.date-picker-trigger{background:var(--white);width:100%;min-height:48px;color:var(--ink);text-align:left;cursor:pointer;border:1px solid #cfcfc8;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(--ink)}.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(--white);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 button,.calendar-grid button{border:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;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;min-height:46px}.calendar-grid button:not(:disabled):hover,.calendar-grid button:not(:disabled):focus-visible{border-color:var(--ink)}.calendar-grid button.selected{border-color:var(--ink);background:var(--ink);color:var(--white)}.calendar-grid .muted{color:#8a8a80}.booking-form textarea{min-height:110px;padding:12px}.form-stack textarea{resize:vertical;min-height:96px;padding:12px}.payment-toggle{border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px;display:grid}.payment-toggle button{min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:6px;font-weight:900}.payment-toggle button.active{background:var(--ink);color:var(--white)}.form-status{color:var(--muted);margin:0;font-weight:800}.dashboard-shell{padding:64px 0 86px}.setup-panel{gap:12px;margin-bottom:18px;display:grid}.setup-panel p{margin:0}.dashboard-title{justify-content:space-between;align-items:end;gap:22px;margin-bottom:28px;display:flex}.dashboard-title h1{font-size:clamp(3.5rem,9vw,8rem)}.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}.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-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{background:#3ea6ff24;border-color:#3ea6ff}.schedule-grid button span{font-weight:900}.schedule-grid button small{color:#06131d;background:#3ea6ff;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-bookings{gap:10px;display:grid}.schedule-bookings article{background:#171717;border:1px solid #3b3b3b;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:13px;display:flex}.schedule-bookings article div{gap:4px;min-width:0;display:grid}.schedule-bookings span,.schedule-bookings p{color:#ffffffa8}.schedule-bookings p{margin:0;font-weight:800}.schedule-bookings time{color:#3ea6ff;white-space:nowrap;font-weight:900}.availability-editor{background:#171717;border-top:1px solid #313131;gap:18px;padding:24px;display:grid}.availability-editor-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.availability-editor h3{color:var(--white);font-size:1.55rem}.repeat-toggle{color:#ffffffd1;align-items:center;gap:9px;font-weight:900;display:inline-flex}.availability-days{gap:8px;display:grid}.availability-day{border:1px solid #333;border-radius:6px;grid-template-columns:80px repeat(4,minmax(84px,1fr)) 86px;align-items:end;gap:8px;min-width:0;margin:0;padding:10px;display:grid}.availability-day label{color:#ffffffad;text-transform:uppercase;gap:5px;font-size:.72rem;font-weight:900;display:grid}.availability-day input,.availability-day select{width:100%;min-height:40px;color:var(--white);background:#111;border:1px solid #3f3f3f;border-radius:5px;padding:0 8px}.availability-day .day-toggle{min-height:40px;color:var(--white);align-self:center;align-items:center;gap:8px;font-size:.9rem;display:inline-flex}.availability-day .day-toggle input{width:18px;min-height:18px}.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}.line-chart-wrap{background:#252525;padding:26px 24px 24px}.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-point{fill:#3ea6ff;opacity:0}.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:1fr 1fr;align-items:start}.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}.empty-state{color:var(--muted);margin:0;font-weight:800}.auth-shell{place-items:center;min-height:calc(100vh - 100px);display:grid}.auth-panel{width:min(100%,560px);padding:28px}@media (max-width:860px){.app-header,.dashboard-title{flex-direction:column;align-items:flex-start}.hero-grid,.barber-hero,.section-grid,.feature-grid,.stats-grid,.dashboard-columns{grid-template-columns:1fr}.hero-grid{min-height:auto;padding-top:48px}.phone-preview{transform:none}.analytics-toolbar{flex-direction:column}.schedule-header,.availability-editor-header{flex-direction:column;align-items:flex-start}.schedule-layout{grid-template-columns:1fr}.schedule-calendar{border-bottom:1px solid #313131;border-right:0}.availability-day{grid-template-columns:76px repeat(2,minmax(0,1fr))}.period-select{flex-basis:auto;width:min(100%,300px)}}@media (max-width:520px){.shell,.barber-page,.dashboard-shell,.auth-shell{width:min(100% - 24px,1180px)}.app-header nav{width:100%;display:grid}.analytics-toolbar{padding:20px}.metric-tabs,.custom-range-fields{grid-template-columns:1fr}.metric-tabs button{text-align:left;border-bottom:1px solid #3e3e3e;border-right:0;min-height:92px}.metric-tabs button:last-child{border-bottom:0}.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,.availability-day{grid-template-columns:1fr}.chart-y-label{font-size:11px}.payment-toggle{grid-template-columns:1fr}.barber-hero h1{font-size:clamp(3.4rem,18vw,5.2rem)}}
