:root{--navy:#17283d;--copper:#a75931;--line:#e2e4e7}html{scroll-behavior:smooth}body{color:var(--navy)}.hero h1{font-size:clamp(46px,5.3vw,74px);letter-spacing:-3px}.hero{padding-top:42px}.search select{border:0;background:transparent;width:100%;padding:7px 0;color:var(--navy);font-size:14px}.trustline{display:flex;gap:24px;flex-wrap:wrap;margin-top:24px;font-size:12px;color:#66717c}.eyebrow{line-height:1.6}.info p,.muted,.step p{color:#67717c}.profilebtn{background:none;border:0;color:var(--copper);font-weight:600;padding:0;text-align:left}.favorite{border:1px solid var(--line);background:white;padding:8px 12px;border-radius:20px;color:var(--navy)}.favorite.saved{color:var(--copper);background:#f4e9e1}.portal{width:min(850px,94vw);max-height:90vh;overflow:auto;padding:32px}.portal h2{font-size:32px}.portal p{line-height:1.65}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.portfolio{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.portfolio img{width:100%;height:145px;object-fit:cover;border-radius:10px}.panel{border:1px solid var(--line);padding:22px;border-radius:12px;background:#fff;margin:16px 0}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.tabs button{padding:10px 15px;border-radius:22px;background:#eceff2;color:var(--navy)}.tabs button.active{background:var(--navy);color:white}.portal input,.portal select,.portal textarea{width:100%;padding:12px;border:1px solid #ccd1d7;border-radius:7px;background:white;font:inherit}.portal textarea{min-height:90px}.portal label{display:block;margin:16px 0 7px;font-size:12px}.portal .dark{width:auto}.status{display:inline-block;padding:6px 10px;border-radius:20px;background:#efe5dc;color:#85451e;font-size:11px}.services-row{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);align-items:center}.notice{background:#eaf0f5;border-radius:9px;padding:14px;font-size:12px;line-height:1.7}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;font-size:17px;font-weight:600}.faq p{max-width:720px;line-height:1.7;color:#67717c}.prep{background:#f0ede8;border-radius:15px;padding:32px}.inline-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.inline-actions button{width:auto!important;margin-top:0!important}.empty{padding:30px;background:#eef1f4;border-radius:12px;text-align:center}.metric{font-size:28px;font-weight:bold}.profile-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.navmenu{display:none}.search label{min-width:110px}.customer-link{white-space:nowrap}dialog{max-height:90vh;overflow:auto}nav{gap:18px}header .brand{margin-right:20px}.footer a{text-decoration:underline} @media(max-width:750px){.portal{padding:22px}.portal-grid{grid-template-columns:1fr}.portfolio img{height:110px}.hero h1{letter-spacing:-2px}.search label{flex:1 1 40%}.trustline{gap:12px}.portal h2{font-size:27px}nav{gap:5px}nav button{padding:9px 6px}.customer-link{font-size:10px}header .brand{margin-right:3px}.section h2{font-size:32px}.profile-head{align-items:flex-start}.services-row{gap:10px}.prep{padding:22px}}
.portfolio-manager{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:25px}.portfolio-manager .inline-actions button{font-size:11px;padding:9px}button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:600px){.portfolio-manager{grid-template-columns:1fr}}
.booking-progress{display:flex;justify-content:space-between;gap:10px;padding:0;list-style:none;margin:12px 0 30px;color:#78818b;font-size:12px}.booking-progress li{display:flex;align-items:center;gap:7px}.booking-progress span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;border:1px solid #d0d6db}.booking-progress .current{color:#17283d;font-weight:bold}.booking-progress .current span{background:#17283d;color:white}.booking-progress .done span{background:#efe3d8;color:#99542f;border:0}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:30px}.booking-summary{background:#f0ede8;border-radius:12px;padding:22px;align-self:start;font-size:13px;line-height:1.7}.booking-summary .row{align-items:flex-start;flex-wrap:wrap}.booking-summary h3{font-size:20px;margin:9px 0}.booking-summary hr{border:0;border-top:1px solid #d9d6d1;margin:18px 0}.service-choice{display:flex;justify-content:space-between;align-items:center;border:2px solid #a75931;border-radius:12px;padding:20px;margin:20px 0}.service-choice p{margin-bottom:0}.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.time-slot{padding:13px;border:1px solid #cdd4da;border-radius:8px;background:white;color:#17283d}.time-slot.selected{background:#17283d;color:white;border-color:#17283d}.date-shortcuts{display:flex;gap:8px;overflow:auto;margin-top:15px;padding-bottom:8px}.date-shortcuts button{font-size:11px;white-space:nowrap;padding:9px}.checkline{display:flex!important;align-items:start;gap:10px;line-height:1.6}.checkline input{width:auto;flex-shrink:0;margin-top:4px}.booking-success{text-align:center;padding:25px 10px}.success-mark{display:inline-grid;place-items:center;width:60px;height:60px;background:#ede4dc;color:#a75931;border-radius:50%;font-size:32px;margin-bottom:20px}.appointment-card{padding:24px;border:1px solid #dfe3e7;border-radius:14px;background:white;margin:16px 0}.appointment-card h3{font-size:23px;margin:19px 0 8px}.appointment-card small{color:#78818b}.status-accepted{background:#e5eee9;color:#315c45}.status-cancelled,.status-declined{background:#eee;color:#64686d}.booking-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.booking-stats>div{background:#f0ede8;padding:20px;border-radius:12px}.booking-stats strong{display:block;font-size:30px}.booking-stats span{font-size:12px}.directory-search{display:flex;gap:8px;margin-bottom:22px}.directory-search button{white-space:nowrap;margin-top:0}.directory-search input{min-width:0}.portal .inline-actions{margin-top:22px}@media(max-width:650px){.booking-layout{grid-template-columns:1fr}.booking-summary{order:-1;padding:16px}.booking-summary .eyebrow,.booking-summary hr,.booking-summary .demo-note{display:none}.booking-summary h3{margin:0}.booking-summary p{margin:6px 0;font-size:11px}.booking-progress{gap:5px;font-size:10px}.booking-progress li{gap:4px}.booking-progress span{width:21px;height:21px}.directory-search{flex-wrap:wrap}.directory-search input{width:100%}}
.apply-barber-link{display:inline-block;background:#f0d3bf;color:#17283d;padding:16px 24px;border-radius:7px;white-space:nowrap;font-size:14px}.apply-barber-link:hover{background:#f6dfcf}
.owner-portal{width:min(1000px,95vw)}.owner-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.owner-stats>div{background:#f0ede8;border-radius:12px;padding:20px}.owner-stats strong{font-size:30px;display:block}.owner-stats span{display:block;font-size:11px;color:#67717c;margin-top:8px}.owner-toolbar{display:flex;align-items:end;gap:12px;margin:10px 0 24px}.owner-toolbar label{flex:1;margin:0}.owner-toolbar button{margin:0}.owner-record{border:1px solid #dce1e6;background:#fff;padding:24px;margin:15px 0;border-radius:12px}.owner-record h3{font-size:20px;margin:0}.owner-record p{font-size:13px}.owner-record .dark{margin-top:8px}.owner-record .row{align-items:start}.owner-record .status{white-space:nowrap}header nav{gap:10px}#ownerDashboardButton{font-size:11px;padding:12px}@media(max-width:750px){.owner-stats{grid-template-columns:1fr 1fr}.owner-toolbar{flex-wrap:wrap}.owner-toolbar label{flex:1 1 40%}.owner-record{padding:18px}#ownerDashboardButton{font-size:9px;padding:8px 5px}header .brand{width:88px}nav button{font-size:9px!important;padding:8px 5px!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.directory-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.listed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.listed-barber{border:1px solid #e0e3e7;border-radius:16px;background:#fff;overflow:hidden}.listed-barber h3{font-size:23px;margin:0}.listed-barber .info p{line-height:1.6}.barber-cover{display:block;height:240px;position:relative;background:#e9e5df;overflow:hidden}.barber-cover img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.barber-cover:hover img{transform:scale(1.025)}.barber-monogram{display:grid;place-items:center;height:100%;font-size:68px;font-family:Georgia,serif;color:#a75931;background:#eae4dc}.profile-link{display:block;text-align:center;margin-top:20px;font-size:13px}.professional-content{padding-top:30px}.back-profile{padding:15px 0}.professional-heading{display:flex;justify-content:space-between;align-items:center;margin:30px 0 35px;gap:25px}.professional-heading h1{font-size:clamp(36px,5vw,58px);font-weight:500;letter-spacing:-2px;margin:12px 0}.professional-heading p{color:#67717c;line-height:1.6}.professional-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:start}.profile-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.profile-gallery figure{margin:0}.profile-gallery figure:first-child{grid-column:1/-1}.profile-gallery img{width:100%;max-height:470px;object-fit:cover;border-radius:14px;display:block}.profile-gallery figcaption{font-size:12px;color:#67717c;padding:8px 0}.profile-photo-empty{grid-column:1/-1;text-align:center;background:#eae4dc;border-radius:14px;padding:40px}.profile-photo-empty .barber-monogram{height:160px}.profile-photo-empty p{font-size:13px;color:#67717c}.profile-detail{padding:30px 0;border-bottom:1px solid #dfe3e7}.profile-detail h2{font-size:28px;letter-spacing:-.5px}.profile-detail p{font-size:15px;line-height:1.8;color:#596570}.professional-booking{position:sticky;top:20px;background:#fff;border:1px solid #dfe3e7;border-radius:16px;padding:28px;box-shadow:0 15px 45px #17283d08}.professional-booking h2{font-size:29px;letter-spacing:-.7px}.professional-booking p{font-size:13px;line-height:1.8}.professional-booking>.dark{width:100%;margin:22px 0}.service-amount{font-size:27px}.profile-booking-steps{font-size:13px;color:#67717c;padding-left:18px;line-height:2}.appbody .listed-barber{margin:15px 0}.appbody .barber-cover{height:190px}.appbody .listed-barber .info{padding:16px}.appbody .listed-barber h3{font-size:21px}@media(max-width:950px){.listed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.professional-layout{grid-template-columns:minmax(0,1fr) 290px;gap:25px}.professional-booking{padding:20px}}@media(max-width:650px){.listed-grid,.professional-layout{grid-template-columns:1fr}.professional-heading{align-items:start;flex-direction:column;gap:10px;margin:20px 0}.professional-booking{position:static;order:-1}.professional-booking .profile-booking-steps{display:none}.directory-heading{flex-direction:column;align-items:start}.professional-content{padding-top:20px}.barber-cover{height:250px}.professional-booking>.dark{margin:12px 0}.professional-booking .notice{font-size:11px}.profile-gallery{gap:10px}.professional-heading h1{letter-spacing:-1px}}
