/* VidyutMitra customer website — professional responsive layer */
:root{
  --vm-navy:#071f3d;
  --vm-navy-2:#0b315f;
  --vm-navy-3:#102f52;
  --vm-gold:#f4b400;
  --vm-gold-dark:#d99d00;
  --vm-ink:#10213b;
  --vm-muted:#64748b;
  --vm-soft:#f5f7fb;
  --vm-line:#e2e8f0;
  --vm-white:#fff;
  --vm-green:#16845b;
  --vm-red:#c24141;
  --vm-shadow:0 20px 60px rgba(7,31,61,.12);
  --vm-shadow-sm:0 8px 28px rgba(7,31,61,.08);
}
body[data-app="customer"]{font-family:Inter,"Segoe UI",Arial,sans-serif;background:#f6f8fc;color:var(--vm-ink);font-size:15px;line-height:1.6}
body[data-app="customer"] h1,body[data-app="customer"] h2,body[data-app="customer"] h3,body[data-app="customer"] h4{line-height:1.18;letter-spacing:-.025em;color:var(--vm-ink)}
body[data-app="customer"] p{margin-top:0}
body[data-app="customer"] .container{width:min(1220px,calc(100% - 40px))}
body[data-app="customer"] .btn{border-radius:11px;padding:12px 18px;font-size:14px;font-weight:800;box-shadow:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
body[data-app="customer"] .btn:hover{transform:translateY(-1px)}
body[data-app="customer"] .btn-primary{background:var(--vm-gold);color:#172033;border-color:var(--vm-gold)}
body[data-app="customer"] .btn-primary:hover{background:#ffc21a;box-shadow:0 10px 24px rgba(244,180,0,.26)}
body[data-app="customer"] .btn-navy{background:var(--vm-navy);color:#fff;border-color:var(--vm-navy)}
body[data-app="customer"] .btn-outline{background:#fff;border-color:#cbd5e1;color:var(--vm-navy)}
body[data-app="customer"] .btn-large{min-height:50px;padding:14px 22px;font-size:15px}
body[data-app="customer"] .text-button{border:0;background:none;color:var(--vm-navy-2);font-weight:800;padding:4px;cursor:pointer;text-decoration:none}
body[data-app="customer"] .section{padding:86px 0}
body[data-app="customer"] .section-white{background:#fff}
body[data-app="customer"] .section-eyebrow{display:inline-flex;color:#c78700;font-size:12px;letter-spacing:.13em;font-weight:800;margin-bottom:9px}
body[data-app="customer"] .mini-label{font-size:10px;letter-spacing:.14em;font-weight:800;color:#806000}
body[data-app="customer"] .mini-label.light{color:#ffd569}

/* Utility and navigation */
.utility-bar{background:#061b35;color:#d9e7f6;font-size:12px}
.utility-inner{height:34px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.utility-item,.utility-links{display:flex;align-items:center;gap:8px}
.utility-links a{color:#fff;text-decoration:none;font-weight:600}
.utility-dot{width:7px;height:7px;border-radius:50%;background:#33c68c;box-shadow:0 0 0 4px rgba(51,198,140,.13)}
.utility-separator{opacity:.5}
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.97);backdrop-filter:blur(18px);border-bottom:1px solid rgba(226,232,240,.9)}
.site-nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:21px;font-weight:500;letter-spacing:-.03em}
.brand img{width:44px;height:44px;object-fit:contain;background:#fff;border:1px solid var(--vm-line);border-radius:50%;padding:4px}
.brand strong{font-weight:850}
.brand-dark{color:var(--vm-navy)}
.brand-light{color:#fff}
.site-header .navlinks{gap:28px}
.site-header .navlinks a,.site-header .navlink{font-size:14px;color:#334155;font-weight:700;position:relative}
.site-header .navlinks a:not(.partner-nav-link):after,.site-header .navlink:after{content:"";position:absolute;left:0;bottom:2px;width:0;height:2px;background:var(--vm-gold);transition:width .2s}
.site-header .navlinks a:hover:after,.site-header .navlink:hover:after{width:100%}
.partner-nav-link{color:var(--vm-navy)!important;border-left:1px solid var(--vm-line);padding-left:28px!important}
.header-login-link{border:0;background:transparent;color:var(--vm-navy);font-weight:800;font-size:13px;padding:11px 4px;cursor:pointer;white-space:nowrap}.header-login-link:hover{color:#ae7900}.header-book{padding-inline:19px!important}.nav-actions{display:flex;align-items:center;gap:16px}

/* Hero */
.premium-hero{position:relative;min-height:640px;background:var(--vm-navy);overflow:hidden;isolation:isolate}
.hero-image-layer{position:absolute;inset:0;background-image:url('../../../uploads/demo/banners/hero-professional.jpg');background-size:cover;background-position:center;z-index:-2}
.premium-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,24,50,.1),rgba(4,24,50,.15));z-index:-1}
.premium-hero-grid{min-height:640px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.72fr);gap:70px;align-items:center;padding-top:68px;padding-bottom:68px}
.hero-copy{max-width:700px;color:#fff}
.hero-kicker{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.09);backdrop-filter:blur(8px);border-radius:999px;padding:8px 13px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.hero-kicker span{color:#ffd35d}
.hero-copy h1{color:#fff!important;font-size:clamp(42px,5vw,68px);max-width:760px;margin:22px 0 19px;font-weight:800}
.hero-copy h1 em{font-style:normal;color:#ffc51b}
.hero-copy>p{max-width:650px;color:#dce8f5;font-size:18px;line-height:1.72;margin-bottom:32px}
.hero-proof{display:flex;gap:38px;flex-wrap:wrap}
.hero-proof>div{display:grid;gap:0;border-left:1px solid rgba(255,255,255,.24);padding-left:16px}
.hero-proof>div:first-child{border-left:0;padding-left:0}
.hero-proof strong{font-size:23px;color:#fff;line-height:1.2}
.hero-proof span{font-size:11px;color:#b9c9da;text-transform:uppercase;letter-spacing:.07em}
.hero-booking-card{background:rgba(255,255,255,.98);border-radius:22px;padding:27px;box-shadow:0 28px 80px rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.45)}
.booking-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:22px}
.booking-card-heading h2{font-size:24px;margin:5px 0 0}
.availability-pill{font-size:10px;font-weight:800;background:#eafaf3;color:#147552;padding:7px 10px;border-radius:999px;white-space:nowrap}
.availability-pill span{display:inline-block;width:7px;height:7px;background:#25a771;border-radius:50%;margin-right:5px}
.hero-field{display:grid;gap:7px;font-size:12px;font-weight:800;color:#334155}
.hero-field select{height:52px;border:1px solid #d6dfeb;border-radius:11px;background:#f9fbfd;padding:0 14px;color:var(--vm-ink);font-weight:600;outline:none}
.hero-field select:focus{border-color:#9bb4cf;box-shadow:0 0 0 3px rgba(11,49,95,.08)}
.hero-location-row{display:flex;align-items:center;gap:12px;margin:15px 0;background:#f5f8fc;border:1px solid #e6ecf3;border-radius:12px;padding:13px}
.location-icon{width:37px;height:37px;border-radius:10px;background:#e7eef7;color:var(--vm-navy);display:grid;place-items:center;font-size:20px}
.hero-location-row div:last-child{display:grid}
.hero-location-row strong{font-size:13px}
.hero-location-row span{font-size:11px;color:var(--vm-muted)}
.hero-price-preview{display:grid;grid-template-columns:1fr 1fr;border:1px solid #e4eaf2;border-radius:12px;margin-bottom:16px;overflow:hidden}
.hero-price-preview>div{padding:13px 14px;display:grid;gap:2px}
.hero-price-preview>div+div{border-left:1px solid #e4eaf2}
.hero-price-preview span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--vm-muted)}
.hero-price-preview strong{font-size:17px;color:var(--vm-navy)}
.secure-note{text-align:center;font-size:10px!important;color:#718096!important;margin:10px 0 0!important}

/* Trust */
.trust-band{background:#fff;border-bottom:1px solid var(--vm-line)}
.trust-band-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-feature{display:flex;align-items:center;gap:12px;padding:25px 22px;border-right:1px solid var(--vm-line)}
.trust-feature:first-child{padding-left:0}.trust-feature:last-child{border-right:0;padding-right:0}
.trust-feature-icon{flex:0 0 38px;width:38px;height:38px;border-radius:11px;background:#eef3f9;display:grid;place-items:center;font-weight:850;color:var(--vm-navy);font-size:13px}
.trust-feature strong{font-size:13px}.trust-feature p{font-size:11px;color:var(--vm-muted);margin:2px 0 0;line-height:1.4}

/* Services */
.section-heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:28px}
.section-heading-row h2,.center-heading h2,.assurance-copy h2{font-size:clamp(30px,3vw,42px);margin:0 0 10px}
.section-heading-row p,.center-heading p{color:var(--vm-muted);font-size:15px;max-width:700px;margin:0}
.service-filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:24px}
.service-filter{border:1px solid #dbe3ec;background:#fff;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:700;color:#526173;cursor:pointer}
.service-filter.active,.service-filter:hover{background:var(--vm-navy);border-color:var(--vm-navy);color:#fff}
.premium-service-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important}
.premium-service-grid .service-card{border:1px solid #e1e7ef;border-radius:17px;background:#fff;overflow:hidden;box-shadow:0 7px 26px rgba(7,31,61,.05);transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;flex-direction:column;min-width:0}
.premium-service-grid .service-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(7,31,61,.12);border-color:#cad6e3}
.premium-service-grid .service-media{height:170px;position:relative;overflow:hidden;background:#edf2f7}
.premium-service-grid .service-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.premium-service-grid .service-card:hover .service-media img{transform:scale(1.035)}
.service-category-chip{position:absolute;top:12px;left:12px;background:rgba(7,31,61,.86);backdrop-filter:blur(8px);color:#fff;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.service-card-content{padding:17px;display:flex;flex-direction:column;flex:1}
.service-card-content h3{font-size:17px;margin:0 0 6px}
.service-card-content>p{font-size:12px;line-height:1.55;color:var(--vm-muted);margin:0 0 14px;min-height:38px}
.service-price-box{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#f7f9fc;border:1px solid #e8edf3;border-radius:10px;padding:10px;margin-top:auto;margin-bottom:12px}
.service-price-box span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#718096;display:block}
.service-price-box strong{font-size:13px;color:var(--vm-navy)}
.service-card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}
.service-card-actions small{color:#64748b;font-size:10px}
.service-card-actions .btn{padding:9px 13px;font-size:12px}
.service-skeleton{height:330px;border-radius:17px;background:linear-gradient(90deg,#eff3f7 25%,#f8fafc 37%,#eff3f7 63%);background-size:400% 100%;animation:vmShimmer 1.4s infinite}
@keyframes vmShimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
.service-error-notice{margin-top:20px;background:#fff8e7;border:1px solid #f6d783;color:#725300;border-radius:12px;padding:12px 15px;font-size:12px}

/* Assurance */
.assurance-section{background:#f3f6fa}
.assurance-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:80px;align-items:center}
.assurance-visual{position:relative;min-height:510px;padding-right:42px;padding-bottom:42px}
.assurance-visual>img{width:100%;height:510px;object-fit:cover;border-radius:24px;box-shadow:var(--vm-shadow)}
.visual-rating{position:absolute;right:0;top:38px;background:#fff;border-radius:15px;padding:14px 17px;box-shadow:var(--vm-shadow-sm);display:grid;border:1px solid #e9eef5}
.visual-rating strong{color:#d49700;font-size:20px}.visual-rating span{font-size:10px;color:var(--vm-muted)}
.visual-badge{position:absolute;bottom:0;left:34px;background:var(--vm-navy);color:#fff;border-radius:15px;padding:15px 19px;display:flex;align-items:center;gap:12px;box-shadow:var(--vm-shadow)}
.visual-badge>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--vm-gold);color:#172033;font-weight:900}
.visual-badge div{display:grid}.visual-badge strong{color:#fff;font-size:13px}.visual-badge small{color:#b9c8da;font-size:10px}
.assurance-copy>p{font-size:16px;color:var(--vm-muted);line-height:1.75;max-width:650px}
.assurance-list{display:grid;gap:20px;margin-top:31px}
.assurance-list>div{display:grid;grid-template-columns:46px 1fr;gap:14px}
.assurance-list>div>span{width:38px;height:38px;border-radius:11px;background:#e7edf5;color:var(--vm-navy);display:grid;place-items:center;font-size:11px;font-weight:800}
.assurance-list strong{font-size:15px}.assurance-list p{margin:4px 0 0;color:var(--vm-muted);font-size:13px;line-height:1.55}

/* Process */
.center-heading{text-align:center;max-width:760px;margin:0 auto 45px}
.professional-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.professional-steps article{position:relative;text-align:center;padding:0 13px}
.step-icon{width:55px;height:55px;margin:0 auto 20px;border-radius:17px;background:var(--vm-navy);color:#fff;display:grid;place-items:center;font-size:18px;font-weight:850;position:relative;z-index:2;box-shadow:0 8px 20px rgba(7,31,61,.17)}
.step-line{position:absolute;height:2px;background:#dfe6ef;top:27px;left:calc(50% + 37px);width:calc(100% - 46px);z-index:1}
.professional-steps h3{font-size:16px;margin:0 0 8px}.professional-steps p{font-size:12px;color:var(--vm-muted);line-height:1.6;margin:0}
.emergency-section{padding-top:24px!important;background:#fff}
.emergency-card{background:var(--vm-navy);color:#fff;border-radius:22px;padding:30px 34px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;box-shadow:var(--vm-shadow)}
.emergency-card h2{color:#fff!important;font-size:24px;margin:4px 0 0}.emergency-card span{font-size:10px;letter-spacing:.12em;color:#ffd464;font-weight:800}.emergency-icon{width:56px;height:56px;border-radius:16px;background:rgba(255,255,255,.1);display:grid;place-items:center;font-size:25px}

/* Footer */
.premium-footer{background:#051a33;color:#b9c7d8;padding:65px 0 0}
.footer-main{display:grid;grid-template-columns:1.5fr .7fr .7fr .9fr;gap:55px;padding-bottom:50px}
.footer-brand-block p{font-size:13px;max-width:370px;line-height:1.7;margin:18px 0}.footer-trust{font-size:11px;color:#f4c342}
.footer-main h4{color:#fff;font-size:13px;margin:4px 0 17px}.footer-main a,.footer-main button,.footer-main p{display:block;background:none;border:0;padding:0;color:#b9c7d8;text-decoration:none;font:inherit;font-size:12px;margin:0 0 10px;text-align:left;cursor:pointer}.footer-main a:hover,.footer-main button:hover{color:#fff}.premium-footer .footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;display:flex;justify-content:space-between;gap:18px;font-size:10px}

/* Portal */
.customer-portal{min-height:100vh;background:#f4f7fb}
.portal-topbar{height:72px;background:#fff;border-bottom:1px solid var(--vm-line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:40}
.portal-top-actions{display:flex;align-items:center;gap:18px}
.portal-icon-button{position:relative;width:40px;height:40px;border-radius:11px;border:1px solid var(--vm-line);background:#fff;display:grid;place-items:center}
.notification-dot{position:absolute;top:-5px;right:-5px;background:#d83b3b;color:#fff;min-width:18px;height:18px;border-radius:999px;font-size:9px;display:grid;place-items:center;padding:0 4px}
.portal-user{display:flex;align-items:center;gap:10px;border-left:1px solid var(--vm-line);padding-left:17px}
.portal-user>span{width:39px;height:39px;border-radius:12px;background:var(--vm-navy);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}.portal-user div{display:grid}.portal-user strong{font-size:12px}.portal-user small{font-size:10px;color:var(--vm-muted)}
.portal-layout{display:grid;grid-template-columns:255px minmax(0,1fr);min-height:calc(100vh - 72px)}
.portal-sidebar{background:#fff;border-right:1px solid var(--vm-line);padding:27px 17px;display:flex;flex-direction:column;min-height:calc(100vh - 72px);position:sticky;top:72px;height:calc(100vh - 72px);overflow-y:auto}
.portal-welcome{padding:0 12px 20px;border-bottom:1px solid var(--vm-line)}.portal-welcome small{font-size:9px;color:#8a98a9;letter-spacing:.12em;font-weight:800}.portal-welcome h3{margin:4px 0 0;font-size:17px}
.portal-menu{display:grid;gap:5px;padding:18px 0}
.portal-menu-item{width:100%;display:flex;align-items:center;gap:12px;border:0;background:transparent;border-radius:10px;padding:11px 12px;font-size:12px;font-weight:700;color:#536174;text-align:left}
.portal-menu-item>span{width:21px;text-align:center;font-size:15px}.portal-menu-item:hover,.portal-menu-item.active{background:#edf2f8;color:var(--vm-navy)}.portal-menu-item.active{box-shadow:inset 3px 0 0 var(--vm-gold)}
.sidebar-help{margin-top:auto;background:#f4f7fb;border:1px solid #e2e8f0;border-radius:13px;padding:14px}.sidebar-help strong{font-size:12px}.sidebar-help p{font-size:10px;color:var(--vm-muted);line-height:1.5;margin:5px 0 11px}.sidebar-help .btn{font-size:10px;padding:8px}
.portal-logout{border:0;background:none;color:#a33b3b;font-size:12px;font-weight:700;text-align:left;padding:17px 12px 3px}
.portal-content{padding:35px;min-width:0}
.portal-page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px}.portal-page-header.compact{align-items:flex-start}.portal-page-header h1{font-size:31px;margin:1px 0 5px}.portal-page-header p{font-size:13px;color:var(--vm-muted);margin:0}
.premium-metrics{grid-template-columns:repeat(4,1fr)!important;gap:15px!important}.premium-metrics .metric{display:flex!important;align-items:center!important;gap:13px!important;border:1px solid #e2e8f0!important;border-radius:14px!important;padding:17px!important;background:#fff!important;box-shadow:0 5px 18px rgba(7,31,61,.04)!important}.premium-metrics .metric .value{font-size:25px!important}.premium-metrics .metric .label{font-size:10px!important;text-transform:uppercase;letter-spacing:.04em!important}.metric-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:850}.metric-icon.navy{background:#eaf0f7;color:#0b315f}.metric-icon.amber{background:#fff4d8;color:#a66d00}.metric-icon.green{background:#e7f7f0;color:#16845b}.metric-icon.red{background:#ffeded;color:#b43b3b}
.portal-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.65fr);gap:18px;margin-top:19px}
body[data-app="customer"] .panel{background:#fff;border:1px solid #e1e7ef;border-radius:15px;padding:21px;box-shadow:0 5px 22px rgba(7,31,61,.04)}
.panel-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:18px}.panel-title-row h2{font-size:17px;margin:0 0 3px}.panel-title-row p{font-size:10px;color:var(--vm-muted);margin:0}
body[data-app="customer"] .list{display:grid;gap:10px}
body[data-app="customer"] .list-card{border:1px solid #e4e9f0;border-radius:12px;padding:13px;background:#fff;box-shadow:none}
.quick-service-list .booking-card{display:flex!important;align-items:center!important;justify-content:space-between!important}.quick-service-list .thumb{width:42px!important;height:42px!important;border-radius:10px!important}.quick-service-list h3{font-size:12px!important;margin:0!important}.quick-service-list .btn{padding:7px 10px;font-size:10px}
.booking-list .booking-card,.portal-panel-large .booking-card{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important}.booking-card .thumb{width:56px!important;height:56px!important;border-radius:11px!important;object-fit:cover}.booking-title{display:flex;align-items:center;gap:13px;min-width:0}.booking-title h3{font-size:13px;margin:0 0 5px}.booking-meta{display:flex;gap:7px 13px;flex-wrap:wrap;font-size:10px;color:var(--vm-muted)}
.profile-grid,.support-grid{align-items:start}

/* Form and modal refinements */
body[data-app="customer"] .field{display:grid;gap:7px}body[data-app="customer"] .field label{font-size:11px;font-weight:800;color:#334155}body[data-app="customer"] .field input,body[data-app="customer"] .field select,body[data-app="customer"] .field textarea{width:100%;border:1px solid #d6dee8;border-radius:10px;background:#fff;padding:11px 12px;color:var(--vm-ink);outline:none;min-height:45px}body[data-app="customer"] .field textarea{min-height:100px;resize:vertical}body[data-app="customer"] .field input:focus,body[data-app="customer"] .field select:focus,body[data-app="customer"] .field textarea:focus{border-color:#7896b5;box-shadow:0 0 0 3px rgba(7,31,61,.07)}body[data-app="customer"] .field small{font-size:9px;color:var(--vm-muted)}
body[data-app="customer"] .modal-backdrop{background:rgba(3,17,34,.66);backdrop-filter:blur(5px);padding:25px}
body[data-app="customer"] .modal{border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.3);border:0;max-height:calc(100vh - 50px)}
body[data-app="customer"] .modal-head{padding:19px 23px;border-bottom:1px solid var(--vm-line)}body[data-app="customer"] .modal-head h2{margin:2px 0 0;font-size:21px}.modal-close{width:34px;height:34px;border-radius:10px!important;background:#f2f5f8!important;color:#415268!important;font-size:21px!important}
body[data-app="customer"] .modal-body{padding:23px}body[data-app="customer"] .modal-foot{padding:15px 23px;border-top:1px solid var(--vm-line)}
.auth-modal{width:min(940px,100%)!important;max-width:940px!important;display:grid!important;grid-template-columns:.92fr 1.08fr;overflow:hidden;background:#fff}
.auth-visual{min-height:590px;background:url('../../../uploads/demo/services/electrical-panel.jpg') center/cover;position:relative;color:#fff}.auth-overlay{position:absolute;inset:0;background:linear-gradient(155deg,rgba(4,24,50,.92),rgba(4,24,50,.69))}.auth-visual-content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:33px}.auth-visual-content h2{font-size:31px;color:#fff!important;margin:10px 0 17px}.auth-visual-content ul{padding:0;margin:0;list-style:none;display:grid;gap:10px;font-size:12px;color:#dbe8f5}.auth-visual-content li:before{content:"✓";color:#ffd35e;font-weight:900;margin-right:9px}.auth-visual-content>small{font-size:10px;color:#c9d8e7}
.premium-auth-form{padding:38px!important;display:flex;flex-direction:column;justify-content:center}.auth-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:19px}.auth-form-head h2{font-size:28px;margin:1px 0 6px}.auth-form-head p{font-size:12px;color:var(--vm-muted);margin:0}.auth-progress{display:flex;align-items:center;margin:4px 0 27px}.auth-progress span{width:29px;height:29px;border-radius:50%;background:#eef2f7;color:#8492a3;display:grid;place-items:center;font-size:11px;font-weight:800}.auth-progress span.active{background:var(--vm-navy);color:#fff}.auth-progress i{height:2px;width:60px;background:#e2e8f0}
.phone-input-wrap{display:grid;grid-template-columns:54px 1fr;border:1px solid #d6dee8;border-radius:11px;overflow:hidden;background:#fff}.phone-input-wrap>span{display:grid;place-items:center;background:#f3f6f9;border-right:1px solid #d6dee8;font-size:12px;font-weight:800}.phone-input-wrap input{border:0!important;border-radius:0!important;box-shadow:none!important}.auth-terms{font-size:9px;text-align:center;color:#8693a3;margin:13px 0 0}.otp-sent-box{border:1px solid #d9e9df;background:#f0faf5;color:#216a4e;border-radius:10px;padding:10px 12px;font-size:11px}.otp-input{text-align:center;letter-spacing:.55em;font-size:20px!important;font-weight:800}.auth-form .text-button{text-align:center}

/* Booking wizard */
.booking-wizard-modal{width:min(940px,100%)!important;max-width:940px!important;overflow:hidden}
.booking-wizard-head{padding-bottom:15px!important}.wizard-progress{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:start;padding:18px 60px;border-bottom:1px solid var(--vm-line);background:#fafbfd}.wizard-progress>div{display:grid;justify-items:center;gap:5px}.wizard-progress>div span{width:29px;height:29px;border-radius:50%;background:#e8edf3;color:#718096;display:grid;place-items:center;font-size:11px;font-weight:850}.wizard-progress>div small{font-size:9px;font-weight:700;color:#7b8797}.wizard-progress>div.active span,.wizard-progress>div.done span{background:var(--vm-navy);color:#fff}.wizard-progress>div.active small,.wizard-progress>div.done small{color:var(--vm-navy)}.wizard-progress>i{height:2px;background:#dfe6ed;margin-top:14px}.wizard-progress>i.done{background:var(--vm-gold)}
.booking-wizard-body{min-height:390px}.selected-service-card{display:grid;grid-template-columns:260px 1fr;border:1px solid #e0e7ef;border-radius:17px;overflow:hidden;background:#fff}.selected-service-card>img{width:100%;height:245px;object-fit:cover}.selected-service-content{padding:27px}.service-category-label{font-size:9px;letter-spacing:.12em;color:#a16e00;font-weight:800}.selected-service-content h3{font-size:27px;margin:7px 0 8px}.selected-service-content>p{font-size:12px;color:var(--vm-muted);line-height:1.6}.selected-service-prices{display:grid;grid-template-columns:1fr 1fr;background:#f5f8fb;border-radius:11px;padding:13px;margin-top:18px}.selected-service-prices>div{display:grid}.selected-service-prices>div+div{border-left:1px solid #dfe6ed;padding-left:17px}.selected-service-prices span{font-size:9px;text-transform:uppercase;color:#7b8797}.selected-service-prices strong{font-size:15px;color:var(--vm-navy)}
.booking-inclusion{display:flex;gap:13px;margin-top:16px;border:1px solid #d8eadf;background:#f4fbf7;border-radius:12px;padding:13px}.booking-inclusion>span{width:29px;height:29px;border-radius:50%;background:#daf4e7;color:#16764f;display:grid;place-items:center;font-weight:900;flex:0 0 auto}.booking-inclusion strong{font-size:12px}.booking-inclusion p{font-size:10px;color:#5d7568;margin:2px 0 0}
.wizard-section-heading{margin-bottom:20px}.wizard-section-heading h3{font-size:22px;margin:0 0 5px}.wizard-section-heading p{font-size:12px;color:var(--vm-muted);margin:0}.manual-address-box{background:#f7f9fc;border:1px solid #e3e9f0;border-radius:12px;padding:15px}.premium-check-card{border:1px solid #dfe5ec;border-radius:12px;padding:14px;display:flex!important;align-items:center;gap:12px;cursor:pointer;background:#fff}.premium-check-card:hover{border-color:#b7c6d7}.premium-check-card input{accent-color:var(--vm-navy);width:17px;height:17px}.premium-check-card>span:last-child{display:grid}.premium-check-card strong{font-size:12px}.premium-check-card small{font-size:10px;color:var(--vm-muted)}.check-icon{width:34px;height:34px;border-radius:10px;background:#fff3d2;display:grid;place-items:center}.schedule-note{display:flex;gap:10px;margin-top:17px;background:#f2f6fa;border-radius:11px;padding:12px;color:#536174}.schedule-note p{font-size:10px;margin:0}
.wizard-review-grid{display:grid;grid-template-columns:1fr 330px;gap:24px}.review-summary-list{border:1px solid #e1e7ee;border-radius:12px;overflow:hidden}.review-summary-list>div{display:grid;grid-template-columns:130px 1fr;gap:15px;padding:11px 13px;border-bottom:1px solid #edf1f5}.review-summary-list>div:last-child{border-bottom:0}.review-summary-list span{font-size:10px;color:var(--vm-muted)}.review-summary-list strong{font-size:11px;text-align:right}.terms-check{align-items:flex-start!important}.payment-review-card{background:var(--vm-navy);color:#fff;border-radius:15px;padding:20px}.payment-review-card .mini-label{color:#ffd05a}.payment-review-card .payment-line{border-bottom:1px solid rgba(255,255,255,.12);padding:11px 0}.payment-review-card .payment-line span{color:#b9c9da;font-size:10px}.payment-review-card .payment-line strong{color:#fff;font-size:12px}.payment-review-card .payment-line.total{border-bottom:0;margin-top:5px}.payment-review-card .payment-line.total strong{color:#ffd05a;font-size:20px}.payment-review-card>p{font-size:9px;color:#aebdd0;line-height:1.5;margin:11px 0 0}
.booking-wizard-foot{display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center}.wizard-step-text{text-align:center;font-size:10px;color:#718096}.wizard-actions{display:flex;justify-content:flex-end;gap:8px}
.loading-box{display:flex!important;align-items:center;gap:11px!important}.loading-spinner{width:21px;height:21px;border:3px solid #dce4ed;border-top-color:var(--vm-navy);border-radius:50%;animation:vmSpin .8s linear infinite}@keyframes vmSpin{to{transform:rotate(360deg)}}

/* Responsive */
@media(max-width:1100px){
  .site-header .navlinks{gap:17px}.site-header .navlinks a,.site-header .navlink{font-size:12px}.partner-nav-link{padding-left:17px!important}
  .premium-hero-grid{grid-template-columns:1fr 360px;gap:35px}.hero-copy h1{font-size:49px}
  .premium-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.trust-band-grid{grid-template-columns:repeat(2,1fr)}.trust-feature:nth-child(2){border-right:0}.trust-feature:nth-child(-n+2){border-bottom:1px solid var(--vm-line)}
  .assurance-grid{gap:48px}.portal-layout{grid-template-columns:220px 1fr}.portal-content{padding:28px}.premium-metrics{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:900px){
  body[data-app="customer"] .container{width:min(100% - 28px,1220px)}.utility-links span:not(.utility-separator){display:none}
  .site-header .mobile-menu{display:block;order:3}.site-header .navlinks{display:none;position:absolute;left:14px;right:14px;top:76px;background:#fff;border:1px solid var(--vm-line);border-radius:14px;padding:15px;box-shadow:var(--vm-shadow);align-items:stretch}.site-header .navlinks.open{display:grid}.site-header .navlinks a,.site-header .navlink{padding:10px!important;border-left:0!important}.nav-actions{margin-left:auto}.site-nav{gap:12px}
  .premium-hero,.premium-hero-grid{min-height:auto}.premium-hero-grid{grid-template-columns:1fr;padding-top:65px;padding-bottom:65px}.hero-copy{max-width:720px}.hero-copy h1{font-size:47px}.hero-booking-card{max-width:600px;width:100%}
  .premium-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.assurance-grid{grid-template-columns:1fr}.assurance-visual{max-width:650px}.professional-steps{grid-template-columns:repeat(2,1fr);gap:45px 24px}.professional-steps article:nth-child(2) .step-line{display:none}
  .footer-main{grid-template-columns:1.4fr 1fr 1fr;gap:35px}.footer-main>div:last-child{grid-column:1/-1}.emergency-card{grid-template-columns:auto 1fr}.emergency-card .btn{grid-column:2}
  .portal-layout{display:block}.portal-sidebar{position:fixed;left:-280px;top:72px;width:255px;z-index:45;transition:left .22s;box-shadow:var(--vm-shadow)}.portal-sidebar.open{left:0}.portal-content{padding:25px}.portal-dashboard-grid{grid-template-columns:1fr}
  .auth-modal{grid-template-columns:1fr!important;max-width:570px!important}.auth-visual{display:none}.premium-auth-form{min-height:520px}
}
@media(max-width:680px){
  body[data-app="customer"] .container{width:min(100% - 22px,1220px)}.utility-inner{justify-content:center}.utility-links{display:none}.site-nav{height:66px}.brand{font-size:18px}.brand img{width:38px;height:38px}.header-login-link{display:none}.header-book{padding:10px 12px!important;font-size:11px!important}.site-header .navlinks{top:66px}
  .premium-hero-grid{padding:44px 0}.hero-copy h1{font-size:37px}.hero-copy>p{font-size:15px}.hero-proof{gap:21px}.hero-proof strong{font-size:18px}.hero-booking-card{padding:20px}.booking-card-heading{display:block}.availability-pill{display:inline-block;margin-top:8px}.hero-price-preview{grid-template-columns:1fr}.hero-price-preview>div+div{border-left:0;border-top:1px solid #e4eaf2}
  .trust-band-grid{grid-template-columns:1fr}.trust-feature,.trust-feature:first-child,.trust-feature:last-child{padding:18px 0!important;border-right:0!important;border-bottom:1px solid var(--vm-line)}.trust-feature:last-child{border-bottom:0}
  body[data-app="customer"] .section{padding:62px 0}.section-heading-row{display:block}.desktop-only{display:none!important}.premium-service-grid{grid-template-columns:1fr!important}.premium-service-grid .service-media{height:205px}.service-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}.service-filter{white-space:nowrap}
  .assurance-visual{min-height:auto;padding:0 0 45px}.assurance-visual>img{height:390px}.visual-rating{right:8px}.visual-badge{left:12px}.professional-steps{grid-template-columns:1fr}.step-line{display:none!important}.emergency-card{grid-template-columns:1fr;text-align:center}.emergency-icon{margin:auto}.emergency-card .btn{grid-column:auto}.emergency-card h2{font-size:20px}
  .footer-main{grid-template-columns:1fr 1fr}.footer-brand-block{grid-column:1/-1}.footer-main>div:last-child{grid-column:auto}.premium-footer .footer-bottom{display:grid}.footer-bottom span:last-child{display:none}
  .portal-topbar{padding:0 14px}.portal-user div{display:none}.portal-content{padding:20px 14px}.portal-page-header{display:block}.portal-page-header .btn{margin-top:16px}.premium-metrics{grid-template-columns:1fr 1fr!important}.premium-metrics .metric{padding:13px!important}.metric-icon{width:36px;height:36px}.portal-dashboard-grid{margin-top:14px}.booking-list .booking-card,.portal-panel-large .booking-card{align-items:flex-start!important;display:grid!important}.booking-list .text-right,.portal-panel-large .text-right{text-align:left}.profile-grid,.support-grid{grid-template-columns:1fr!important}
  body[data-app="customer"] .modal-backdrop{padding:8px}.premium-auth-form{padding:25px!important}.auth-form-head h2{font-size:23px}.booking-wizard-modal{height:calc(100vh - 16px);max-height:calc(100vh - 16px)!important}.wizard-progress{padding:13px 16px}.wizard-progress>div small{display:none}.booking-wizard-body{min-height:0}.selected-service-card{grid-template-columns:1fr}.selected-service-card>img{height:170px}.selected-service-content{padding:17px}.selected-service-content h3{font-size:21px}.wizard-review-grid{grid-template-columns:1fr}.booking-wizard-foot{grid-template-columns:auto 1fr!important}.wizard-step-text{display:none}.wizard-actions{grid-column:2}.booking-wizard-foot .btn{padding:10px 12px;font-size:11px}.review-summary-list>div{grid-template-columns:90px 1fr}
}
@media(max-width:430px){
  .brand span{font-size:16px}.header-book{font-size:0!important}.header-book:after{content:"Book Now";font-size:11px}.hero-copy h1{font-size:32px}.hero-proof>div{width:calc(50% - 12px)}.hero-proof>div:nth-child(3){display:none}.premium-metrics{grid-template-columns:1fr!important}.footer-main{grid-template-columns:1fr}.footer-main>div:last-child{grid-column:auto}.selected-service-prices{grid-template-columns:1fr}.selected-service-prices>div+div{border-left:0;padding:10px 0 0;border-top:1px solid #dfe6ed;margin-top:10px}.wizard-actions .btn-outline{display:none}.auth-progress i{width:42px}
}

/* Booking flow production fixes - 2026-07-30 */
body.modal-open{overflow:hidden!important}
.booking-wizard-modal{
  display:flex!important;
  flex-direction:column;
  height:min(92vh,860px);
  max-height:92vh!important;
  overflow:hidden!important;
}
.booking-wizard-modal>form{
  display:flex;
  flex-direction:column;
  min-height:0;
  flex:1 1 auto;
}
.booking-wizard-body{
  flex:1 1 auto;
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding-bottom:34px!important;
  scroll-behavior:smooth;
}
.booking-wizard-foot{
  position:relative;
  z-index:8;
  flex:0 0 auto;
  background:#fff;
  box-shadow:0 -10px 28px rgba(7,31,61,.07);
}
.booking-form-error{
  margin:12px 20px 0;
  border:1px solid #f1b7b7;
  background:#fff2f2;
  color:#8d1c1c;
  border-radius:11px;
  padding:11px 13px;
  font-size:12px;
  line-height:1.5;
  flex:0 0 auto;
}
.booking-form-error strong{display:block;margin-bottom:3px}
.service-step-heading{margin-bottom:14px}
.booking-service-select-wrap{margin-bottom:15px}
.booking-service-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:17px;
}
.booking-service-option{
  appearance:none;
  width:100%;
  min-width:0;
  border:1px solid #dfe6ee;
  border-radius:13px;
  background:#fff;
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:9px;
  text-align:left;
  cursor:pointer;
  color:var(--vm-navy);
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.booking-service-option:hover{border-color:#aebed0;background:#fbfcfe}
.booking-service-option.active{border-color:var(--vm-gold);background:#fffaf0;box-shadow:0 0 0 2px rgba(244,180,0,.12)}
.booking-service-option img{width:54px;height:48px;object-fit:cover;border-radius:9px;background:#eef3f8}
.booking-service-option-copy{min-width:0;display:grid;gap:3px}
.booking-service-option-copy strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.booking-service-option-copy small{font-size:9px;color:var(--vm-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.booking-service-option-price{font-size:10px;font-weight:800;color:#8d6500;white-space:nowrap}
#selectedServiceCard{margin-top:4px}
.location-action-row{display:grid;grid-template-columns:minmax(220px,auto) 1fr;align-items:stretch;gap:12px}
.btn-location{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  border:1px solid #b8c8d9;
  background:#fff;
  color:var(--vm-navy);
  border-radius:12px;
  padding:11px 14px;
  cursor:pointer;
}
.btn-location:hover{border-color:var(--vm-navy);background:#f8fafc}
.btn-location:disabled{opacity:.65;cursor:wait}
.btn-location>span:last-child{display:grid;text-align:left;gap:2px}
.btn-location strong{font-size:11px}
.btn-location small{font-size:9px;color:var(--vm-muted)}
.location-button-icon{width:30px;height:30px;border-radius:9px;background:#edf3f9;display:grid;place-items:center;font-size:17px}
.location-status{border:1px solid #e1e8ef;background:#f8fafc;border-radius:12px;padding:10px 12px;display:flex;align-items:center;gap:8px;font-size:10px;color:#5a6878;line-height:1.45}
.location-status-dot{width:8px;height:8px;border-radius:50%;background:#a6b3c0;flex:0 0 auto}
.location-status.loading .location-status-dot{background:#d99b00;box-shadow:0 0 0 4px rgba(217,155,0,.12)}
.location-status.ok .location-status-dot{background:#15803d;box-shadow:0 0 0 4px rgba(21,128,61,.11)}
.location-status.warn .location-status-dot{background:#c2410c;box-shadow:0 0 0 4px rgba(194,65,12,.1)}
.coordinate-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.location-help{font-size:9px;color:#738091;line-height:1.5;margin:11px 0 0}

@media(max-width:760px){
  body[data-app="customer"] .modal-backdrop{padding:0!important;align-items:stretch!important}
  .booking-wizard-modal{
    width:100%!important;
    height:100dvh!important;
    max-height:100dvh!important;
    border-radius:0!important;
  }
  .booking-wizard-head{flex:0 0 auto}
  .wizard-progress{flex:0 0 auto}
  .booking-service-options{grid-template-columns:1fr}
  .location-action-row{grid-template-columns:1fr}
  .booking-wizard-foot{padding-bottom:max(12px,env(safe-area-inset-bottom))!important}
}
@media(max-width:480px){
  .booking-wizard-body{padding:16px!important;padding-bottom:28px!important}
  .booking-service-option{grid-template-columns:48px minmax(0,1fr)}
  .booking-service-option img{width:48px;height:45px}
  .booking-service-option-price{grid-column:2;justify-self:start}
  .coordinate-grid{grid-template-columns:1fr}
  .wizard-actions{width:100%}
  .wizard-actions .btn{flex:1}
}
.booking-wizard-head,.booking-wizard-modal>.wizard-progress{flex:0 0 auto}
.booking-form-error span,.booking-form-error small{display:block}.booking-form-error small{margin-top:4px;color:#a33a3a}
.manual-address-actions{display:flex;justify-content:flex-end;margin-top:10px}
@media(max-width:480px){.manual-address-actions .btn{width:100%}}

/* Customer address management - production UX */
.saved-address-select-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}
.btn-address-add{min-height:45px;white-space:nowrap}
.profile-address-note{display:flex;gap:12px;margin-top:20px;padding:14px;border:1px solid #dde6ef;border-radius:12px;background:#f7f9fc}
.profile-address-note>span{width:34px;height:34px;border-radius:10px;background:#eaf1f8;display:grid;place-items:center;flex:0 0 auto;color:var(--vm-navy)}
.profile-address-note strong{font-size:12px}.profile-address-note p{margin:3px 0 0;font-size:10px;color:var(--vm-muted);line-height:1.5}
.address-card{display:grid;gap:6px}.address-card .ml8{margin-left:8px}.address-card-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.btn-xs{padding:6px 9px!important;font-size:9px!important;min-height:29px!important}
.btn-danger-outline{border:1px solid #efb4b4;background:#fff;color:#a61b1b;border-radius:8px}.btn-danger-outline:hover{background:#fff3f3}
.address-management-modal{width:min(760px,100%)!important}.address-management-modal .modal-body{overflow-y:auto;max-height:calc(100vh - 190px)}
.address-management-modal .btn-location.full{width:100%}
@media(max-width:680px){
  .saved-address-select-row{grid-template-columns:1fr}.btn-address-add{width:100%}
  .address-card .row.between{align-items:flex-start}.address-card-actions{width:100%;justify-content:flex-start;margin-top:8px}
  .address-management-modal{height:100dvh;max-height:100dvh!important;border-radius:0!important;display:flex;flex-direction:column;overflow:hidden!important}
  .address-management-modal form{display:flex;flex-direction:column;min-height:0;flex:1}.address-management-modal .modal-body{max-height:none;flex:1;min-height:0;overflow-y:auto}.address-management-modal .modal-foot{flex:0 0 auto}
}

/* Multi-service booking cart and payment choice */
.service-step-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.selected-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:86px;padding:8px 12px;border-radius:999px;background:#fff4cf;color:#735300;font-size:10px;font-weight:800;white-space:nowrap}
.booking-service-search-wrap{margin-bottom:14px}
.multi-service-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;max-height:none}
.multi-service-option{display:grid;grid-template-columns:58px minmax(0,1fr) auto;grid-template-areas:"image copy price" "image copy action" "qty qty qty";align-items:center;gap:8px 12px;padding:12px;border:1px solid #dfe7ef;border-radius:14px;background:#fff;transition:.18s ease}
.multi-service-option:hover{border-color:#a9bacb;background:#fbfcfe}
.multi-service-option.active{border-color:var(--vm-gold);background:#fffcf2;box-shadow:0 0 0 2px rgba(244,180,0,.1)}
.multi-service-option>img{grid-area:image;width:58px;height:58px;object-fit:cover;border-radius:11px;background:#edf2f7}
.multi-service-option-copy{grid-area:copy;min-width:0;display:grid;gap:3px}
.multi-service-option-copy>small{font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:#8a6a12;font-weight:800}
.multi-service-option-copy>strong{font-size:12px;color:var(--vm-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.multi-service-option-copy>span{font-size:9px;color:var(--vm-muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.multi-service-option-price{grid-area:price;display:grid;text-align:right;gap:2px}.multi-service-option-price small{font-size:8px;color:var(--vm-muted)}.multi-service-option-price strong{font-size:13px;color:var(--vm-navy)}
.multi-service-option>[data-service-add]{grid-area:action;justify-self:end;min-width:76px}
.service-quantity{grid-area:qty;display:flex;align-items:center;gap:8px;border-top:1px solid #ebeef2;padding-top:9px;margin-top:2px}
.service-quantity>button:not(.service-remove){width:30px;height:28px;border:1px solid #cbd7e2;border-radius:8px;background:#fff;color:var(--vm-navy);font-weight:800;cursor:pointer}
.service-quantity>span{min-width:24px;text-align:center;font-size:12px;font-weight:800}
.service-quantity .service-remove{margin-left:auto;border:0;background:transparent;color:#a61b1b;font-size:9px;font-weight:700;cursor:pointer}
.multi-service-cart{margin-top:16px;border:1px solid #dce5ee;border-radius:14px;background:#f8fafc;padding:15px}
.multi-service-cart-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.multi-service-cart-head h3{margin:3px 0 0;font-size:16px}.multi-service-cart-head>strong{font-size:18px;color:var(--vm-navy)}
.selected-services-list{display:grid;gap:7px;margin-bottom:10px}.selected-service-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:10px;background:#fff;border:1px solid #e6ecf2}.selected-service-line>div{display:grid;gap:2px}.selected-service-line strong{font-size:11px}.selected-service-line small{font-size:9px;color:var(--vm-muted)}
.multi-payment-review-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}
.review-services-row{align-items:flex-start!important}.review-services-list{display:grid;gap:5px;width:100%}.review-services-list>div{display:flex;justify-content:space-between;gap:12px;font-size:10px}.review-services-list>div span{color:var(--vm-navy)}.review-services-list>div strong{white-space:nowrap}
.payment-choice-group{display:grid;gap:10px}.payment-choice-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid #dbe4ed;border-radius:14px;padding:14px;background:#fff;cursor:pointer;transition:.18s ease}.payment-choice-card.active{border-color:var(--vm-gold);background:#fffaf0;box-shadow:0 0 0 2px rgba(244,180,0,.1)}.payment-choice-card input{accent-color:#d99b00}.payment-choice-copy{display:grid;gap:3px}.payment-choice-copy strong{font-size:11px;color:var(--vm-navy)}.payment-choice-copy small{font-size:9px;color:var(--vm-muted);line-height:1.45}.payment-choice-amount{font-size:14px;color:var(--vm-navy);white-space:nowrap}
.selected-services-detail{display:grid;gap:2px}
@media(max-width:760px){.service-step-heading{display:grid}.selected-count-badge{justify-self:start}.multi-service-options{grid-template-columns:1fr}.multi-payment-review-grid{grid-template-columns:1fr}.payment-choice-card{grid-template-columns:auto minmax(0,1fr)}.payment-choice-amount{grid-column:2}.multi-service-option{grid-template-columns:52px minmax(0,1fr) auto}.multi-service-option>img{width:52px;height:52px}}
@media(max-width:460px){.multi-service-option{grid-template-columns:48px minmax(0,1fr);grid-template-areas:"image copy" "price action" "qty qty"}.multi-service-option>img{width:48px;height:48px}.multi-service-option-price{text-align:left}.multi-service-option>[data-service-add]{justify-self:end}.payment-choice-card{padding:12px}.booking-wizard-foot{gap:8px}.booking-wizard-foot .wizard-actions{gap:6px}}

/* Customer itemised work update, live due and receipt UI */
.work-update-approval{border:1px solid #e2b84e;background:#fff9e8;border-radius:16px;padding:16px}
.work-update-approval h3{margin:4px 0 0;color:var(--vm-navy)}
.work-update-lines{display:grid;gap:4px;margin-top:12px}
.work-order-customer-line>span{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px 8px;text-align:left}
.work-order-customer-line>span small:last-child{grid-column:1/-1;color:var(--vm-muted)}
.panel .payment-line span small{display:block;margin-top:3px;font-size:9px;color:var(--vm-muted)}
