
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#24213a;background:#f7f7fb;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;background:#f7f7fb;color:#24213a}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px clamp(16px,4vw,54px);background:#fff;border-bottom:1px solid #e4e1f1;box-shadow:0 3px 14px #2520440a;position:sticky;top:0;z-index:5}.brand{font-weight:850;letter-spacing:.06em;color:#44338e;font-family:Georgia,serif;font-size:1.2rem}.brand small{display:block;font:normal .72rem system-ui;color:#77728c;letter-spacing:0;margin-top:4px}.head-actions{display:flex;align-items:center;gap:10px}.head-actions select{max-width:140px}.hero{text-align:center;max-width:1100px;margin:auto;padding:clamp(38px,7vw,86px) 20px 54px;position:relative;isolation:isolate}.hero:before{content:"";position:absolute;z-index:-2;inset:0 0 12%;border-radius:0 0 30px 30px;background:linear-gradient(120deg,rgba(248,247,253,.94),rgba(248,247,253,.82)),url("https://bookedsure.com/assets/hero-trades-CnqIVrKo.jpg") center/cover no-repeat;opacity:.95}.hero-photo-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px auto 24px;max-width:850px}.hero-photo{height:clamp(105px,19vw,190px);border-radius:15px;overflow:hidden;position:relative;box-shadow:0 8px 24px #2c23401a;border:3px solid #ffffffb8}.hero-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.hero-photo:hover img{transform:scale(1.04)}.hero-photo span{position:absolute;bottom:0;left:0;right:0;padding:18px 8px 8px;color:white;font-weight:800;text-shadow:0 1px 5px #000;background:linear-gradient(transparent,#0009);font-size:.9rem}.about-copy{font-size:1.04rem;line-height:1.9;color:#625d75}.about-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}.about-highlights>div{background:#f2effb;border:1px solid #e4def5;border-radius:13px;padding:16px}.about-highlights b{display:block;color:#4d3b9a;margin-bottom:5px}.about-highlights span{color:#68627c;line-height:1.6;font-size:.94rem}.eyebrow{color:#7568a6;font-weight:700;letter-spacing:.025em}.hero h1{font-family:Georgia,serif;font-size:clamp(2rem,5vw,3.8rem);line-height:1.12;margin:16px 0;color:#4d3b9a}.hero h1 span{display:block;color:#6d4dc2}.lead{max-width:720px;margin:20px auto;color:#68647a;font-size:1.08rem;line-height:1.8}.actions{display:flex;gap:14px;flex-wrap:wrap}.center{justify-content:center;margin:28px 0}.btn{border:0;border-radius:10px;padding:12px 19px;font-weight:700;box-shadow:0 2px 4px #1d16300b;transition:transform .18s,box-shadow .18s,filter .18s;display:inline-flex;align-items:center;justify-content:center;min-height:44px}.btn:hover,.role-card:hover,.service-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #25194c18;filter:brightness(1.04)}.btn:active{transform:translateY(0)}.purple{background:#5b42b5;color:#fff}.brown{background:#8a5b3d;color:white}.muted{background:#eeedf3;color:#59566a}.soft{background:#f5f2ff;color:#55439c}.outline{background:white;border:1px solid #d8d2ed;color:#57469d}.ghost{background:#ffffff22;border:1px solid #ffffffaa;color:white}.chips{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:26px 0 38px}.chips span{padding:9px 13px;border-radius:999px;background:#efedf9;color:#5c4c97;font-size:.9rem}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.service-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:9px;border:1px solid #e4e0f2;background:white;border-radius:16px;padding:22px;min-height:135px;transition:.18s;color:#29243d}.service-card span{font-size:1.8rem}.service-card small{color:#7a7688}.narrow{max-width:760px;margin:0 auto}.page{padding:34px 18px 70px}.page h1{font-family:Georgia,serif;color:#4d3b9a;font-size:clamp(1.8rem,4vw,2.5rem)}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}.role-card{border:1px solid #ddd9e9;border-radius:18px;padding:26px;text-align:left;min-height:210px;transition:.18s}.role-card span{font-size:2rem}.role-card h2{margin-bottom:8px}.role-card p{line-height:1.6}.sky{background:#e8f6ff}.pink{background:#fff0f5}.panel{background:white;border:1px solid #e7e3f0;border-radius:16px;padding:clamp(17px,3vw,26px);margin:18px 0;box-shadow:0 5px 18px #25204408}.form{display:flex;flex-direction:column;gap:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:7px;font-size:.93rem;font-weight:650;color:#49445f;margin:4px 0}.field input,.field select,.field textarea,select{width:100%;border:1px solid #d8d4e4;border-radius:9px;padding:11px 12px;background:#fff;color:#28243a;outline:none;min-height:43px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#7662c7;box-shadow:0 0 0 3px #7662c71c}.form-actions{display:flex;justify-content:space-between;gap:14px;margin-top:6px}.form-actions button{min-width:120px}.error{color:#b42336;font-size:.9rem;min-height:1em}.muted-text{color:#777287;font-size:.9rem;line-height:1.6}.text-button{background:transparent;border:0;color:#5b42b5;font-weight:700;padding:8px 0}.check-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.check-grid label{background:#f7f5fc;border-radius:8px;padding:10px;font-weight:500}.check-grid input{width:auto;min-height:auto}.intro{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(135deg,#4b379a,#7a60c5);color:white;text-align:center;padding:24px}.intro h1{font-family:Georgia,serif;letter-spacing:.08em;font-size:clamp(2rem,7vw,4rem)}.intro-tools{font-size:clamp(2rem,7vw,3.5rem);animation:float 1.3s ease-in-out infinite alternate}@keyframes float{to{transform:translateY(-10px)}}.layout{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 80px)}.sidebar{background:#fff;border-right:1px solid #e5e1ef;padding:20px 13px}.sidebar h3{padding:0 12px;color:#4d3b9a}.nav-item{display:block;text-align:left;width:100%;border:0;background:transparent;padding:12px;border-radius:9px;color:#4d4960;margin:3px 0}.nav-item:hover{background:#f0edfb;color:#4d3b9a}.dash{padding:24px clamp(14px,3vw,35px);min-width:0}.dash h1{font-family:Georgia,serif;color:#4d3b9a}.booking-row{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #eeebf4;padding:14px 0;flex-wrap:wrap}.booking-row:last-child{border-bottom:0}.booking-row p{margin:6px 0;color:#767187;font-size:.9rem}.grow{flex:1;min-width:180px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.stats>div{padding:18px;background:#f4f1fc;border-radius:12px;display:flex;flex-direction:column;gap:8px}.stats small{color:#706a83}.stats strong{font-size:1.5rem;color:#4d3b9a}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.tab{padding:10px 15px;border:1px solid #ddd7ed;border-radius:9px;background:#f7f5fc;color:#51458a}.tab:hover{background:#ebe6fc}.table-wrap{overflow:auto;width:100%}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;padding:12px;border-bottom:1px solid #ebe8f2;white-space:nowrap}th{background:#f7f5fc;color:#51458a}.star{border:0;background:none;color:#d99b1b;font-size:1.4rem;padding:2px}.notice{background:#effaf3;border-radius:8px;padding:10px;color:#24663c}.filter-field{max-width:360px}#toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#29243a;color:white;border-radius:10px;padding:12px 18px;max-width:90vw;z-index:20;transition:.2s;box-shadow:0 8px 25px #0002}#toast.show{opacity:1;transform:translate(-50%,0)}body.dark{background:#191823;color:#efedf8}body.dark header,body.dark .panel,body.dark .sidebar,body.dark .service-card{background:#252332;color:#f2efff;border-color:#3a374c}body.dark .field{color:#ddd8f0}body.dark .field input,body.dark .field select,body.dark .field textarea{background:#1c1a27;color:white;border-color:#49445f}body.dark .booking-row{border-color:#454055}body.dark .muted-text{color:#b5afc8}body.dark .dash h1{color:#c3b4ff}
@media(max-width:760px){header{padding:13px 15px;align-items:flex-start}.head-actions{gap:6px;flex-wrap:wrap;justify-content:flex-end}.head-actions .btn{padding:8px 10px}.brand{font-size:1rem}.brand small{max-width:180px;font-size:.65rem}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-card{padding:16px;min-height:120px}.role-grid{grid-template-columns:1fr}.role-card{min-height:0;padding:20px}.layout{grid-template-columns:1fr}.sidebar{display:flex;overflow:auto;gap:5px;padding:9px;border-right:0;border-bottom:1px solid #e5e1ef;position:sticky;top:72px;z-index:4}.sidebar h3{display:none}.nav-item{white-space:nowrap;width:auto;padding:10px}.dash{padding:16px 12px}.form-grid{grid-template-columns:1fr}.check-grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:1fr 1fr}.page{padding-top:24px}.form-actions button{flex:1;min-width:0}.head-actions select{max-width:100px;padding:8px}.booking-row .btn{padding:10px 12px}}@media(max-width:380px){.service-grid{grid-template-columns:1fr}.head-actions .soft{display:none}.stats{grid-template-columns:1fr}.hero{padding-inline:14px}}


.price-warning{display:flex;flex-direction:column;gap:6px;background:#fff4d6;border:2px solid #e8a317;border-left-width:7px;color:#6b4300;border-radius:12px;padding:14px 16px;line-height:1.55;margin:14px 0}.price-warning strong{font-size:1.02rem;font-weight:850}.price-warning span{font-size:.92rem}.service-list .booking-row{padding:17px 0}.service-list .booking-row strong{min-width:140px;color:#4d3b9a}
.time-field{position:relative;align-items:stretch}.time-open{width:100%;justify-content:space-between;min-height:48px;font-weight:750}.time-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;background:#fff;border:1px solid #d8d2ed;border-radius:12px;padding:12px;margin-top:7px;box-shadow:0 8px 24px #25194c18}.time-picker[hidden]{display:none}.time-picker label{display:flex;flex-direction:column;gap:5px;font-size:.8rem}.time-picker select{min-width:0;padding:9px 5px}.time-picker button{grid-column:1/-1;width:100%}body.dark .time-picker{background:#252332;border-color:#49445f}body.dark .time-picker select{background:#1c1a27;color:#fff;border-color:#49445f}

#otherCityWrap[hidden]{display:none!important}

.account-link{margin:4px 0 0}.account-link .text-button{display:inline;padding:0 3px}.terms h2{font-size:1.05rem;color:#4d3b9a;margin:22px 0 6px}.terms p{line-height:1.75;color:#625d75;margin:0 0 14px}.terms h2:first-child{margin-top:0}body.dark .terms p{color:#c6bfd8}

/* Booking workflow additions */
.material-choice{border:1px solid var(--line,#ddd);border-radius:14px;padding:14px 16px;margin:14px 0}
.material-choice legend{font-weight:700;padding:0 6px}
.material-choice label{display:inline-flex;align-items:center;gap:8px;margin:8px 20px 4px 0;font-weight:500}
.professional-card{display:flex;align-items:flex-start;gap:14px;position:relative;border:1px solid var(--line,#e3e3e3);border-radius:16px;padding:18px 62px 18px 18px;margin:12px 0;background:var(--panel,#fff)}
.professional-card h3{margin:0 0 8px}.professional-card p{margin:5px 0;overflow-wrap:anywhere}
.favorite-heart{position:absolute;right:14px;bottom:14px;width:42px;height:42px;border:1px solid #e7b4c4;border-radius:50%;background:#fff;color:#c2185b;font-size:27px;line-height:1;cursor:pointer;box-shadow:0 3px 10px #00000012}
.favorite-heart.is-favorite{background:#ffe8f0;color:#d10b55}.booking-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.booking-actions button:disabled{opacity:.45;cursor:not-allowed}.booking-row p{overflow-wrap:anywhere}

.confirm-backdrop{position:fixed;inset:0;background:#10102599;display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999}.confirm-dialog{width:min(100%,430px);background:var(--panel,#fff);color:var(--text,#222);border-radius:18px;padding:24px;box-shadow:0 18px 70px #0004}.confirm-dialog h2{margin-top:0}.confirm-dialog .form-actions{justify-content:flex-end}.btn.danger{background:#b42318;color:#fff;border:1px solid #b42318}
/* Persistent site-wide theme controls */
.theme-option{display:flex;align-items:center;gap:12px;padding:14px;margin:8px 0;border:1px solid #ddd7ed;border-radius:10px;font-weight:650;cursor:pointer}
.theme-option input{width:20px;height:20px;accent-color:#5b42b5}
.cancel-action{background:#153a72!important;color:#fff!important;border:1px solid #153a72!important}
.cancel-action:disabled,.cancel-action[disabled]{background:#aebbd0!important;color:#eef2f8!important;border-color:#aebbd0!important;opacity:1!important;cursor:not-allowed!important}
.previous-back{margin:0 0 16px}
body.dark{background:#171722;color:#f1eff9}
body.dark #app,body.dark main,body.dark .page,body.dark .narrow,body.dark .dash{color:#f1eff9}
body.dark header{background:#211f2d;color:#f1eff9;border-color:#39364b}
body.dark .brand,body.dark header a{color:#f1eff9}
body.dark .panel,body.dark .sidebar,body.dark .service-card,body.dark .role-card,body.dark .professional-card,body.dark .confirm-dialog{background:#252332;color:#f1eff9;border-color:#403c53}
body.dark .nav-item{color:#e4e0f3}
body.dark .nav-item:hover,body.dark .tab{background:#343047;color:#f1eff9;border-color:#51496b}
body.dark .field,body.dark .booking-row p,body.dark .muted-text,body.dark .eyebrow{color:#c8c2da}
body.dark .field input,body.dark .field select,body.dark .field textarea,body.dark select{background:#191824;color:#f1eff9;border-color:#514b66}
body.dark .stats>div,body.dark th{background:#302c42;color:#f1eff9}
body.dark td,body.dark th,body.dark .booking-row{border-color:#454055}
body.dark .theme-option{border-color:#514b66}
body.dark .favorite-heart{background:#30283b;color:#ff9fca;border-color:#80536a}
body.dark .favorite-heart.is-favorite{background:#55253e;color:#ffd2e4}
body.dark .cancel-action{background:#153a72!important;color:#fff!important}
body.dark .cancel-action:disabled{background:#6e7b91!important;color:#dbe1eb!important}
body.dark .intro{background:linear-gradient(135deg,#14131d,#29243b);color:#f1eff9}

/* Admin panel */
.admin-sidebar .nav-item.active{background:#eee9ff;color:#4d3b9a;font-weight:800}
.admin-sidebar-settings{margin:18px 8px;padding:14px 10px;border-top:1px solid #e5e1ef;border-bottom:1px solid #e5e1ef}
.admin-sidebar-settings>label:first-child{display:block;font-size:.9rem;font-weight:700;color:#4d4960;margin-bottom:12px}
.admin-sidebar-settings select{margin-top:6px;min-height:38px;padding:8px}
.admin-theme-label{font-size:.9rem;font-weight:800;color:#4d4960;margin:10px 0 5px}
.admin-sidebar-settings .theme-option{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:.9rem}
.admin-sidebar-settings .theme-option input{width:auto;min-height:auto}
.admin-total-only{min-height:55vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:30px;max-width:760px}
.admin-total-only h1{margin:4px 0 14px}
.admin-total-only>strong{display:block;font-size:clamp(2.5rem,8vw,5rem);color:#4d3b9a;font-weight:850;letter-spacing:-.04em}
.admin-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:16px 0 28px}
.admin-category{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;border:1px solid #e2dcef;background:#fff;border-radius:14px;color:#2b263d;text-align:left;min-height:130px}
.admin-category span{font-size:1.8rem}.admin-category strong{font-size:1.15rem;color:#4d3b9a}.admin-category.selected{border:2px solid #5b42b5;background:#f1edff}
.admin-user-detail{border-top:1px solid #e8e4f0;margin-top:20px;padding-top:14px}
.admin-block-row{display:flex;justify-content:flex-end;margin-top:24px}
.btn.danger{background:#b42336;color:#fff}
body.dark .admin-total-only>strong{color:#c3b4ff}
body.dark .admin-category,body.dark .admin-category.selected{background:#252332;color:#f1eff9;border-color:#61577f}
body.dark .admin-sidebar-settings{border-color:#454055}
body.dark .admin-sidebar-settings>label:first-child,body.dark .admin-theme-label{color:#ddd8f0}
body.dark .admin-sidebar .nav-item.active{background:#39304f;color:#e0d7ff}
body.dark th{background:#302d40;color:#ded6ff}
body.dark td{border-color:#454055}
@media(max-width:760px){.admin-sidebar-settings{min-width:175px;border-top:0;border-bottom:0;border-left:1px solid #e5e1ef;padding:6px 10px;margin:0 4px}.admin-sidebar-settings>label:first-child{margin-bottom:5px}.admin-sidebar-settings .theme-option{display:inline-flex;margin:5px 8px 0 0}.admin-sidebar-settings select{min-width:130px}.admin-total-only{min-height:42vh;padding:20px 8px}.admin-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
