@import url('fonts.css');
:root{--portal-primary:#635bff;--portal-primary-dark:#5048e5;--portal-ink:#182035;--portal-muted:#70798e;--portal-soft:#f7f7fb;--portal-line:#e9eaf1;--portal-success:#18a879;--portal-shadow:0 18px 50px rgba(28,35,60,.08)}*{box-sizing:border-box}body{color:var(--portal-ink);font-family:"DM Sans",sans-serif;background:#fff}.btn{border-radius:10px;font-weight:700;padding:.7rem 1.1rem}.btn-primary{background:var(--portal-primary);border-color:var(--portal-primary)}.btn-primary:hover{background:var(--portal-primary-dark);border-color:var(--portal-primary-dark)}.form-control,.form-select{border-color:var(--portal-line);border-radius:10px;padding:.72rem .9rem}.navbar-brand{align-items:center;display:flex;font-family:Manrope,sans-serif;font-size:1.15rem;font-weight:800;gap:.55rem}.navbar-brand>span{align-items:center;background:var(--portal-primary);border-radius:9px;color:#fff;display:flex;height:34px;justify-content:center;width:34px}.portal-nav{background:rgba(255,255,255,.92);border-bottom:1px solid rgba(232,234,241,.8);backdrop-filter:blur(16px);padding:.85rem 0}.portal-nav .nav-link{color:#5b6478;font-size:.9rem;font-weight:600;margin:0 .35rem}.portal-hero{background:radial-gradient(circle at 80% 10%,#eae8ff 0,transparent 30%),linear-gradient(145deg,#fbfbff,#f5f5fb);min-height:680px;padding:7rem 0}.eyebrow,.section-heading>span,.page-hero span,.customer-heading>div>span{color:var(--portal-primary);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.portal-hero h1{font-family:Manrope,sans-serif;font-size:clamp(2.8rem,5vw,4.8rem);font-weight:800;letter-spacing:-.055em;line-height:1.03;margin:1rem 0 1.3rem}.portal-hero h1 em{color:var(--portal-primary);font-style:normal}.portal-hero>div p{color:var(--portal-muted);font-size:1.08rem;line-height:1.75;max-width:590px}.hero-actions{display:flex;gap:.7rem;margin:2rem 0}.trust-row{display:flex;flex-wrap:wrap;gap:1.4rem}.trust-row span{color:#687186;font-size:.78rem}.trust-row i{color:var(--portal-success);margin-right:.3rem}.hero-visual{background:linear-gradient(145deg,#dedbff,#f2f0ff);border-radius:36px;padding:3.5rem;transform:rotate(2deg)}.visual-calendar{background:#fff;border-radius:22px;box-shadow:0 35px 80px rgba(54,45,148,.17);padding:1.5rem;transform:rotate(-2deg)}.visual-calendar header{align-items:center;border-bottom:1px solid var(--portal-line);display:flex;justify-content:space-between;padding-bottom:1rem}.visual-calendar header span{font-size:.8rem;font-weight:700}.visual-calendar header strong{color:var(--portal-primary)}.visual-service,.visual-confirm{align-items:center;display:flex;gap:.8rem;padding:1.3rem 0}.visual-service>i,.visual-confirm>i{align-items:center;background:#efeeff;border-radius:12px;color:var(--portal-primary);display:flex;font-size:1.2rem;height:46px;justify-content:center;width:46px}.visual-service strong,.visual-service small,.visual-confirm strong,.visual-confirm small{display:block}.visual-service small,.visual-confirm small{color:var(--portal-muted);font-size:.72rem}.slot-preview{display:grid;gap:.55rem;grid-template-columns:repeat(3,1fr)}.slot-preview span{background:#f6f6fa;border-radius:9px;font-size:.78rem;font-weight:700;padding:.65rem;text-align:center}.slot-preview span:nth-child(2){background:var(--portal-primary);color:#fff}.visual-confirm{border-top:1px solid var(--portal-line);margin-top:1rem}.visual-confirm>i{background:#e7f8f1;color:var(--portal-success)}.portal-section,.content-page{padding:6rem 0}.section-heading{text-align:center;margin:0 auto 3rem;max-width:620px}.section-heading h1,.section-heading h2,.page-hero h1{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.035em;margin:.7rem 0}.section-heading p,.page-hero p{color:var(--portal-muted)}.service-grid{display:grid;gap:1.4rem;grid-template-columns:repeat(3,1fr)}.service-card{background:#fff;border:1px solid var(--portal-line);border-radius:18px;overflow:hidden;transition:.2s}.service-card:hover{box-shadow:var(--portal-shadow);transform:translateY(-4px)}.service-image{height:190px;position:relative}.service-image img,.service-image>span{height:100%;object-fit:cover;width:100%}.service-image>span{align-items:center;background:linear-gradient(145deg,#eeeefe,#dcd9ff);color:var(--portal-primary);display:flex;font-size:2rem;justify-content:center}.service-image em{background:#fff;border-radius:20px;font-size:.65rem;font-style:normal;font-weight:800;left:1rem;padding:.38rem .65rem;position:absolute;top:1rem}.service-card-body{padding:1.25rem}.service-card-body>small{color:var(--portal-primary);font-size:.68rem;font-weight:800;text-transform:uppercase}.service-card h3{font-family:Manrope,sans-serif;font-size:1.05rem;margin:.45rem 0}.service-card p{color:var(--portal-muted);font-size:.8rem;line-height:1.6;min-height:42px}.service-card-body>div{align-items:center;border-top:1px solid var(--portal-line);display:flex;justify-content:space-between;padding-top:.9rem}.service-card-body>div span{color:var(--portal-muted);font-size:.74rem}.service-card-body>a{color:var(--portal-primary);display:block;font-size:.78rem;font-weight:800;margin-top:1rem;text-decoration:none}.how-section{background:#171a2c;color:#fff;padding:6rem 0}.how-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.how-grid article{background:#202439;border:1px solid #30354d;border-radius:18px;padding:2rem;position:relative}.how-grid b{color:#4d536e;position:absolute;right:1.4rem}.how-grid i{color:#918cff;font-size:1.7rem}.how-grid h3{font-size:1rem;margin:1.2rem 0 .5rem}.how-grid p{color:#9ca3b8;font-size:.8rem}.portal-footer{background:#111421;color:#fff;padding:4rem 0 1.5rem}.portal-footer p{color:#8e96aa;font-size:.8rem;line-height:1.7;margin-top:1.2rem;max-width:430px}.portal-footer h6{font-size:.75rem;text-transform:uppercase}.portal-footer a:not(.navbar-brand){color:#929aad;display:block;font-size:.78rem;margin:.7rem 0;text-decoration:none}.footer-bottom{border-top:1px solid #272b3a;color:#777f93;font-size:.72rem;margin-top:3rem;padding-top:1.5rem}.page-hero{background:#f7f7fb;padding:5.5rem 0;text-align:center}.page-hero h1{font-size:2.7rem}.page-hero p{margin:auto;max-width:600px}.service-filters{background:#fff;border:1px solid var(--portal-line);border-radius:15px;display:grid;gap:.7rem;grid-template-columns:1fr 220px 160px auto;margin-bottom:2rem;padding:1rem}.filter-search{position:relative}.filter-search i{color:#9ca2b0;left:.9rem;position:absolute;top:.8rem}.filter-search input{padding-left:2.4rem}.service-detail{padding:4rem 0 6rem}.back-link{color:var(--portal-muted);display:inline-block;font-size:.78rem;margin-bottom:1.5rem;text-decoration:none}.service-detail-grid{align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr}.service-detail-media{align-items:center;background:#efeeff;border-radius:28px;color:var(--portal-primary);display:flex;font-size:4rem;height:500px;justify-content:center;overflow:hidden}.service-detail-media img{height:100%;object-fit:cover;width:100%}.service-detail h1{font-family:Manrope,sans-serif;font-size:3rem;font-weight:800;letter-spacing:-.04em;margin:.8rem 0}.service-detail .lead{color:var(--portal-muted);line-height:1.7}.detail-facts{border-bottom:1px solid var(--portal-line);border-top:1px solid var(--portal-line);display:grid;grid-template-columns:repeat(3,1fr);margin:1.5rem 0;padding:1rem 0}.detail-facts span{color:var(--portal-muted);font-size:.68rem}.detail-facts i,.detail-facts b{color:var(--portal-ink);display:block}.detail-facts i{color:var(--portal-primary);margin-bottom:.35rem}.service-copy{color:var(--portal-muted);font-size:.88rem;line-height:1.8;margin-bottom:1.5rem}.portal-empty{grid-column:1/-1;padding:4rem;text-align:center}.portal-empty i{color:var(--portal-primary);font-size:2rem}.portal-empty h3{font-size:1rem;margin:1rem 0 .4rem}.portal-empty p{color:var(--portal-muted);font-size:.8rem}.portal-empty.compact{padding:2rem}.narrow{max-width:900px}.content-page h2{font-family:Manrope,sans-serif;font-size:1.4rem;margin:2rem 0 .7rem}.content-page p{color:var(--portal-muted);line-height:1.8}.value-grid,.contact-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-top:3rem}.value-grid article,.contact-grid article{border:1px solid var(--portal-line);border-radius:16px;padding:1.5rem}.value-grid i,.contact-grid i{color:var(--portal-primary);font-size:1.3rem}.value-grid h3,.contact-grid h3{font-size:.9rem;margin:1rem 0 .3rem}.portal-accordion .accordion-item{border:1px solid var(--portal-line);border-radius:12px!important;margin-bottom:.8rem;overflow:hidden}.portal-accordion .accordion-button{box-shadow:none;font-weight:700}.booking-page{background:#f7f7fb;min-height:800px;padding:4.5rem 0 7rem}.booking-wizard{margin:auto;max-width:1000px}.booking-progress{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:1.2rem}.booking-progress button{background:transparent;border:0;color:#969cad;font-size:.65rem;position:relative}.booking-progress button:after{background:#dddfe8;content:"";height:2px;left:60%;position:absolute;top:16px;width:80%}.booking-progress button:last-child:after{display:none}.booking-progress b{align-items:center;background:#e4e5ec;border-radius:50%;color:#7d8496;display:flex;height:32px;justify-content:center;margin:0 auto .45rem;width:32px}.booking-progress button.active b,.booking-progress button.complete b{background:var(--portal-primary);color:#fff}.booking-progress button.complete:after{background:var(--portal-primary)}.booking-panel{background:#fff;border:1px solid var(--portal-line);border-radius:20px;box-shadow:var(--portal-shadow);padding:2rem}.booking-panel section>header{margin-bottom:1.5rem}.booking-panel section>header span{color:var(--portal-primary);font-size:.68rem;font-weight:800;text-transform:uppercase}.booking-panel section>header h2{font-family:Manrope,sans-serif;font-size:1.45rem;margin:.4rem 0}.booking-panel section>header p{color:var(--portal-muted);font-size:.8rem}.booking-panel footer{border-top:1px solid var(--portal-line);display:flex;margin-top:2rem;padding-top:1.2rem}.booking-service-list,.staff-options{display:grid;gap:.7rem;grid-template-columns:1fr 1fr}.booking-service-list label,.staff-options label{cursor:pointer}.booking-service-list input,.staff-options input{position:absolute;opacity:0}.booking-service-list label>span,.staff-options label>span{align-items:center;border:1px solid var(--portal-line);border-radius:12px;display:flex;gap:.8rem;padding:1rem}.booking-service-list input:checked+span,.staff-options input:checked+span{background:#f6f5ff;border-color:var(--portal-primary);box-shadow:0 0 0 1px var(--portal-primary)}.booking-service-list label>span>i,.staff-options label>span>i{align-items:center;background:#efeeff;border-radius:10px;color:var(--portal-primary);display:flex;height:40px;justify-content:center;width:40px}.booking-service-list label>span>span,.staff-options label>span>span{flex:1}.booking-service-list strong,.booking-service-list small,.staff-options strong,.staff-options small{display:block}.booking-service-list small,.staff-options small{color:var(--portal-muted);font-size:.68rem}.booking-service-list b{font-size:.76rem}.date-field{align-items:center;background:#f8f8fb;border:1px solid var(--portal-line);border-radius:14px;display:flex;gap:1rem;margin:auto;max-width:480px;padding:1rem}.date-field i{color:var(--portal-primary);font-size:1.5rem}.slot-grid{display:grid;gap:.65rem;grid-template-columns:repeat(4,1fr)}.slot-grid button{background:#fff;border:1px solid var(--portal-line);border-radius:10px;font-weight:700;padding:.8rem}.slot-grid button:hover,.slot-grid button.active{background:var(--portal-primary);border-color:var(--portal-primary);color:#fff}.slot-skeleton{display:grid;gap:.65rem;grid-template-columns:repeat(4,1fr)}.slot-skeleton span{animation:pulse 1.1s infinite;background:#eeeef3;border-radius:10px;height:46px}@keyframes pulse{50%{opacity:.45}}.form-grid{display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-grid label{font-size:.72rem;font-weight:700}.form-grid .span-2{grid-column:span 2}.form-grid .form-control{margin-top:.4rem}.account-hint,.signed-in-note{background:#f7f7fb;border-radius:10px;color:var(--portal-muted);font-size:.78rem;margin-top:1rem;padding:.8rem}.booking-summary{background:#f8f8fb;border-radius:14px;padding:1.2rem}.summary-row{align-items:center;border-bottom:1px solid var(--portal-line);display:flex;justify-content:space-between;padding:.75rem}.summary-row:last-child{border:0}.summary-row span{color:var(--portal-muted);font-size:.78rem}.confirm-box{align-items:center;background:#eefaf5;border:1px solid #caeee0;border-radius:14px;display:flex;gap:1rem;padding:1.2rem}.confirm-box>i{color:var(--portal-success);font-size:2rem}.confirm-box h3{font-size:.9rem}.confirm-box p{color:#668477;font-size:.75rem;margin:0}.terms-check{display:block;font-size:.76rem;margin-top:1rem}.confirmation-page{background:#f7f7fb;padding:7rem 0}.confirmation-card{background:#fff;border:1px solid var(--portal-line);border-radius:24px;box-shadow:var(--portal-shadow);margin:auto;max-width:620px;padding:3rem;text-align:center}.success-icon{align-items:center;background:#e5f8f0;border-radius:50%;color:var(--portal-success);display:flex;font-size:2rem;height:76px;justify-content:center;margin:0 auto 1.2rem;width:76px}.confirmation-card>small{color:var(--portal-success);font-weight:800;text-transform:uppercase}.confirmation-card h1{font-family:Manrope,sans-serif;font-weight:800}.confirmation-card>p{color:var(--portal-muted)}.booking-reference{background:#f6f5ff;border-radius:12px;margin:1.5rem 0;padding:1rem}.booking-reference span,.booking-reference strong{display:block}.booking-reference span{color:var(--portal-muted);font-size:.68rem}.booking-reference strong{color:var(--portal-primary);font-size:1.2rem;letter-spacing:.06em}.confirmation-card dl{text-align:left}.confirmation-card dl div{display:flex;justify-content:space-between;border-bottom:1px solid var(--portal-line);padding:.75rem 0}.confirmation-card dt{color:var(--portal-muted);font-weight:500}.customer-shell{background:#f7f7fb;min-height:750px;padding:3rem 0 6rem}.customer-grid{align-items:start;display:grid;gap:1.5rem;grid-template-columns:240px 1fr}.customer-sidebar{background:#fff;border:1px solid var(--portal-line);border-radius:16px;padding:1rem;position:sticky;top:95px}.customer-user{align-items:center;border-bottom:1px solid var(--portal-line);display:flex;gap:.7rem;padding:.5rem .3rem 1.2rem}.customer-user>span{align-items:center;background:#efeeff;border-radius:10px;color:var(--portal-primary);display:flex;font-weight:800;height:42px;justify-content:center;width:42px}.customer-user strong,.customer-user small{display:block}.customer-user small{color:var(--portal-muted);font-size:.62rem}.customer-sidebar nav{padding-top:.8rem}.customer-sidebar nav a{align-items:center;border-radius:9px;color:#626b7e;display:flex;font-size:.76rem;font-weight:700;gap:.7rem;padding:.72rem;text-decoration:none}.customer-sidebar nav a:hover{background:#f3f2ff;color:var(--portal-primary)}.customer-heading{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.customer-heading h1{font-family:Manrope,sans-serif;font-size:1.7rem;font-weight:800;margin:.25rem 0}.customer-heading p{color:var(--portal-muted);font-size:.8rem;margin:0}.customer-stats{display:grid;gap:1rem;grid-template-columns:repeat(4,1fr);margin-bottom:1.2rem}.customer-stats article{align-items:center;background:#fff;border:1px solid var(--portal-line);border-radius:14px;display:flex;gap:.8rem;padding:1rem}.customer-stats i{align-items:center;background:#efeeff;border-radius:10px;color:var(--portal-primary);display:flex;font-size:1.1rem;height:42px;justify-content:center;width:42px}.customer-stats small,.customer-stats strong{display:block}.customer-stats small{color:var(--portal-muted);font-size:.62rem}.customer-stats strong{font-size:1.1rem}.customer-card{background:#fff;border:1px solid var(--portal-line);border-radius:16px;padding:1.2rem}.customer-card>header{align-items:center;border-bottom:1px solid var(--portal-line);display:flex;justify-content:space-between;padding-bottom:1rem}.customer-card h2{font-family:Manrope,sans-serif;font-size:.95rem;margin:0}.customer-card header p{color:var(--portal-muted);font-size:.65rem;margin:0}.customer-card header a{font-size:.7rem;font-weight:700}.appointment-row{align-items:center;border-bottom:1px solid var(--portal-line);color:inherit;display:flex;gap:1rem;padding:1rem .2rem;text-decoration:none}.appointment-row:last-child{border:0}.date-tile{background:#f2f1ff;border-radius:10px;color:var(--portal-primary);font-size:.62rem;padding:.4rem;text-align:center;width:48px}.date-tile b{display:block;font-size:1rem}.appointment-row>div{flex:1}.appointment-row strong,.appointment-row small{display:block}.appointment-row strong{font-size:.78rem}.appointment-row small{color:var(--portal-muted);font-size:.65rem;margin-top:.2rem}.status{border-radius:20px;font-size:.6rem;font-style:normal;font-weight:800;padding:.35rem .55rem}.status-pending{background:#fff5dc;color:#a16d00}.status-confirmed,.status-completed{background:#e7f8f1;color:#15785a}.status-cancelled,.status-rejected{background:#ffeaed;color:#b43a4a}.status-no_show{background:#f0f1f4;color:#6f7685}.customer-tabs{display:flex;gap:.3rem;margin-bottom:1rem}.customer-tabs a{background:#fff;border:1px solid var(--portal-line);border-radius:9px;color:var(--portal-muted);font-size:.7rem;font-weight:700;padding:.55rem .8rem;text-decoration:none}.detail-columns{display:grid;gap:1.2rem;grid-template-columns:1fr 320px}.detail-card dl{margin:1rem 0 0}.detail-card dl div{border-bottom:1px solid var(--portal-line);display:flex;justify-content:space-between;padding:.8rem 0}.detail-card dt{color:var(--portal-muted);font-weight:500}.detail-card dd{font-weight:700;margin:0}.action-card>p{color:var(--portal-muted);font-size:.72rem;line-height:1.6;margin:.7rem 0 1rem}.action-card form,.action-card>a{display:block;margin-top:.7rem}.action-card label{display:block;font-size:.68rem;font-weight:700;margin-bottom:.6rem}.action-card label .form-control{margin-top:.25rem}.portal-table{margin:0}.portal-table th{color:var(--portal-muted);font-size:.62rem;text-transform:uppercase}.portal-table td{font-size:.72rem;padding:.85rem;vertical-align:middle}.profile-form h2{border-bottom:1px solid var(--portal-line);padding-bottom:1rem;margin-bottom:1rem}.profile-form>.btn{margin-top:1rem}.notification-row{border-bottom:1px solid var(--portal-line)}.notification-row button{align-items:center;background:transparent;border:0;display:flex;gap:.8rem;padding:1rem;text-align:left;width:100%}.notification-row button>i{align-items:center;background:#f3f3f8;border-radius:9px;color:#8b92a3;display:flex;height:38px;justify-content:center;width:38px}.notification-row strong,.notification-row small{display:block}.notification-row small{color:var(--portal-muted);font-size:.65rem}.notification-row.unread{background:#f8f7ff}.notification-row.unread button>i{background:#e9e7ff;color:var(--portal-primary)}
@media(max-width:991.98px){.portal-hero{padding:5rem 0}.hero-visual{margin-top:2rem}.service-grid{grid-template-columns:repeat(2,1fr)}.service-detail-grid{gap:2rem}.customer-grid{grid-template-columns:1fr}.customer-sidebar{position:static}.customer-sidebar nav{display:flex;overflow:auto}.customer-sidebar nav a{white-space:nowrap}.customer-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767.98px){.portal-hero{min-height:auto}.portal-hero h1{font-size:2.7rem}.hero-visual{padding:1.2rem}.service-grid,.how-grid,.value-grid,.contact-grid,.booking-service-list,.staff-options,.form-grid,.service-detail-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.service-detail-media{height:320px}.service-filters{grid-template-columns:1fr}.booking-progress span{display:none}.booking-panel{padding:1.2rem}.slot-grid,.slot-skeleton{grid-template-columns:repeat(2,1fr)}.customer-heading{align-items:flex-start;gap:1rem}.customer-stats{grid-template-columns:1fr 1fr}.detail-columns{grid-template-columns:1fr}.appointment-row .status{display:none}}
@media(max-width:479.98px){.hero-actions{flex-direction:column}.trust-row{gap:.6rem}.service-grid,.customer-stats{grid-template-columns:1fr}.portal-section,.content-page{padding:4rem 0}.customer-heading{flex-direction:column}.booking-page{padding:3rem 0}.booking-progress button:after{width:70%}}

/* Readability and premium UI refinement */
body{font-size:1rem;line-height:1.6}.portal-nav{padding:1rem 0}.portal-nav .nav-link{font-size:.96rem;padding:.65rem .7rem}.navbar-brand{font-size:1.25rem}.btn{font-size:.94rem;min-height:44px;padding:.72rem 1.15rem}.form-control,.form-select{font-size:.95rem;min-height:48px}.portal-hero>div p{font-size:1.14rem}.eyebrow,.section-heading>span,.page-hero span,.customer-heading>div>span{font-size:.82rem}.section-heading p,.page-hero p,.content-page p{font-size:1rem}.service-card{border-radius:20px;box-shadow:0 8px 28px rgba(28,35,60,.045)}.service-card-body{padding:1.4rem}.service-card-body>small{font-size:.78rem}.service-card h3{font-size:1.18rem}.service-card p{font-size:.92rem}.service-card-body>div span,.service-card-body>a{font-size:.86rem}.how-grid h3,.value-grid h3,.contact-grid h3{font-size:1.08rem}.how-grid p,.portal-footer p,.portal-footer a:not(.navbar-brand){font-size:.9rem}.portal-footer h6{font-size:.82rem}.footer-bottom{font-size:.82rem}.booking-progress button{font-size:.76rem}.booking-panel{padding:2.25rem}.booking-panel section>header span{font-size:.78rem}.booking-panel section>header h2{font-size:1.65rem}.booking-panel section>header p{font-size:.92rem}.booking-service-list strong,.staff-options strong{font-size:.96rem}.booking-service-list small,.staff-options small{font-size:.82rem}.booking-service-list b{font-size:.9rem}.form-grid label{font-size:.88rem}.account-hint,.signed-in-note,.summary-row span,.terms-check{font-size:.86rem}.confirm-box h3{font-size:1.05rem}.confirm-box p{font-size:.86rem}.customer-sidebar nav a{font-size:.9rem;min-height:44px}.customer-user small,.customer-stats small{font-size:.76rem}.customer-heading p{font-size:.92rem}.customer-card h2{font-size:1.08rem}.customer-card header p,.customer-card header a{font-size:.8rem}.appointment-row strong{font-size:.9rem}.appointment-row small{font-size:.78rem}.status{font-size:.72rem}.customer-tabs a{font-size:.82rem}.action-card>p,.action-card label{font-size:.84rem}.portal-table th{font-size:.74rem;padding:.9rem}.portal-table td{font-size:.86rem;padding:1rem}.notification-row small{font-size:.78rem}.portal-empty h3{font-size:1.15rem}.portal-empty p{font-size:.9rem}
.booking-service-option{min-height:92px}.booking-service-option>.service-option-media{align-items:center;background:#efeeff;border-radius:12px;color:var(--portal-primary);display:flex;flex:0 0 76px;height:64px;justify-content:center;overflow:hidden;width:76px}.service-option-media img{height:100%;object-fit:cover;width:100%}.service-option-media i{font-size:1.25rem}.booking-service-list input:checked+.booking-service-option .service-option-media{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--portal-primary)}
.staff-option-media{align-items:center;background:#efeeff;border-radius:12px;color:var(--portal-primary);display:flex;flex:0 0 58px;font-size:.9rem;font-weight:800;height:58px;justify-content:center;overflow:hidden;width:58px}.staff-option-media img{height:100%;object-fit:cover;width:100%}.staff-options input:checked+span .staff-option-media{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--portal-primary)}
@media(max-width:767.98px){.portal-hero{padding:4.5rem 0}.portal-hero h1{font-size:clamp(2.35rem,11vw,3rem)}.portal-section,.content-page{padding:4.5rem 0}.booking-panel{padding:1.25rem}.portal-nav .navbar-collapse{padding:1rem 0}.portal-nav .d-flex{display:grid!important;grid-template-columns:1fr 1fr}.portal-nav .btn{width:100%}.customer-shell{padding:2rem 0 4rem}}

/* Booking media cards */
.booking-service-list,.staff-options{gap:1rem}.booking-service-list label,.staff-options label{display:block}.booking-service-list label>span.booking-service-option,.staff-options label>span.staff-option-card{background:#fff;border:1px solid #e4e6ef;border-radius:18px;box-shadow:0 7px 22px rgba(28,35,60,.045);min-height:116px;padding:.75rem;position:relative;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.booking-service-list label:hover>span.booking-service-option,.staff-options label:hover>span.staff-option-card{border-color:#c9c5ff;box-shadow:0 14px 32px rgba(64,55,164,.11);transform:translateY(-2px)}.booking-service-option>.service-option-media{border-radius:14px;flex:0 0 104px;height:92px;width:104px}.service-option-media img,.staff-option-media img{display:block;image-rendering:auto;max-width:none}.service-option-media img{object-position:center}.booking-service-option>span:nth-child(2){min-width:0}.booking-service-option strong{color:#252c3d;font-size:1rem;line-height:1.35}.booking-service-option small{font-size:.8rem;line-height:1.5;margin-top:.32rem}.booking-service-option>b{background:#f3f2ff;border-radius:10px;color:var(--portal-primary);font-size:.86rem;padding:.45rem .6rem;white-space:nowrap}.booking-service-list input:checked+.booking-service-option,.staff-options input:checked+.staff-option-card{background:linear-gradient(135deg,#fbfaff,#f5f4ff);border-color:var(--portal-primary);box-shadow:0 0 0 1px var(--portal-primary),0 14px 32px rgba(64,55,164,.13)}.booking-service-list input:checked+.booking-service-option .service-option-media{box-shadow:none}.staff-option-card{gap:1rem!important}.staff-option-media{border-radius:16px;flex:0 0 88px;height:88px;width:88px}.staff-option-media img{object-position:center 22%}.staff-option-copy{display:block;min-width:0}.staff-option-copy strong{color:#252c3d;font-size:1rem}.staff-option-copy small{font-size:.82rem;margin-top:.18rem}.staff-option-copy em{color:#17845f;display:inline-flex;font-size:.72rem;font-style:normal;font-weight:700;margin-top:.45rem}.staff-option-copy em:before{background:#18a879;border-radius:50%;content:"";height:6px;margin:.42rem .38rem 0 0;width:6px}.option-selected{align-items:center;background:var(--portal-primary);border-radius:50%;color:#fff;display:flex;height:25px;justify-content:center;opacity:0;position:absolute;right:12px;top:12px;transform:scale(.75);transition:.2s;width:25px}.staff-options input:checked+.staff-option-card .option-selected{opacity:1;transform:scale(1)}.staff-options input:checked+.staff-option-card .staff-option-media{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--portal-primary)}
@media(max-width:767.98px){.booking-service-option>.service-option-media{flex-basis:86px;height:78px;width:86px}.booking-service-list label>span.booking-service-option{min-height:102px}.staff-option-media{flex-basis:76px;height:76px;width:76px}}
@media(max-width:479.98px){.booking-service-option{align-items:flex-start!important;display:grid!important;grid-template-columns:76px 1fr}.booking-service-option>.service-option-media{grid-row:span 2;height:72px;width:76px}.booking-service-option>b{grid-column:2;justify-self:start}.staff-option-card{padding:.7rem!important}.staff-option-media{flex-basis:68px;height:68px;width:68px}.staff-option-copy em{display:none}}
/* Release accessibility baseline for customer-facing screens. */
body {
    font-size: 16px;
}

body small,
body .small,
body .form-text,
body .service-card-meta,
body .portal-footer,
body .booking-step-label {
    font-size: max(.8125rem, 1em);
    line-height: 1.5;
}

body .btn,
body .form-control,
body .form-select,
body .dropdown-item {
    font-size: .9375rem;
}

body i.bi {
    font-size: max(1em, .875rem);
    line-height: 1;
}

body .btn,
body .portal-icon-button,
body .booking-slot {
    min-height: 2.75rem;
}

body :focus-visible {
    outline: 3px solid rgba(102, 87, 217, .32);
    outline-offset: 2px;
}
