:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#edf0f4;background:#090b10;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.42;cursor:not-allowed}.frame{max-width:1000px;margin:auto;padding:32px 24px 85px}.top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff1a;padding-bottom:24px;margin-bottom:40px}.logo{font-weight:900;letter-spacing:.15em;font-size:15px}.logo span{color:var(--accent)}.eyebrow{letter-spacing:.2em;text-transform:uppercase;font-size:11px;font-weight:800;color:var(--accent);margin:0 0 10px}.hero h1{font-size:clamp(36px,6vw,64px);letter-spacing:-.05em;line-height:1.06;margin:0 0 14px}.hero p{color:#9a9eab;line-height:1.65;max-width:650px;margin:0 0 30px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.service{border:1px solid #2b2e39;background:#11151d;text-align:left;color:#f4f4f6;padding:22px;border-radius:16px;min-height:132px;transition:.2s}.service:hover{border-color:var(--accent);transform:translateY(-2px)}.service.selected{border:2px solid var(--accent);background:var(--accent-faint)}.service .icon{font-size:27px;margin-bottom:18px}.service strong{display:block;font-size:16px;line-height:1.3}.service small{display:block;margin-top:8px;color:#999fac}.section{margin-top:34px}.section h2{font-size:20px;letter-spacing:-.025em;margin:0 0 16px}.panel{border:1px solid #2b2e39;background:#10131a;padding:25px;border-radius:16px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.field.full{grid-column:1/-1}label{font-weight:650;font-size:13px;color:#d7dbe5}input,textarea,select{background:#090c12;color:#f7f8fa;padding:12px 13px;border:1px solid #343946;border-radius:9px;width:100%;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--accent)}textarea{min-height:96px;resize:vertical}input[type=date]{color-scheme:dark}.buttons{display:flex;flex-wrap:wrap;gap:9px}.slot{color:#dfe6ec;border:1px solid #353a45;border-radius:10px;padding:11px 16px;background:#151922}.slot.selected{background:var(--accent);color:white;border-color:var(--accent)}.primary{border:none;border-radius:10px;padding:14px 25px;background:var(--accent);color:white;font-weight:800}.muted{font-size:13px;color:#a2a7b1;line-height:1.5}.notice{background:#19212b;border:1px solid #394351;border-radius:12px;padding:15px;margin-top:15px;font-size:13px;line-height:1.5}.error{color:#ff9b9b}.ok{color:#9aefb5}.hidden{display:none!important}.foot{border-top:1px solid #ffffff1a;margin-top:65px;padding-top:18px;font-size:12px;color:#777d88}.admin-card{padding:18px;border:1px solid #343844;background:#131722;border-radius:12px;margin:12px 0;word-break:break-word}.admin-card pre{white-space:pre-wrap;font:12px/1.55 ui-monospace,SFMono-Regular,monospace;color:#c9cdd4}.mini{background:#252c37;border:1px solid #454a58;color:white;border-radius:8px;padding:8px 11px;margin:3px}.approved{color:#82e6a9}.pending{color:#f5c97c}.declined{color:#f2a2a2}#toast{margin-top:12px;font-size:14px;line-height:1.5}@media(max-width:650px){.frame{padding:24px 16px 55px}.grid,.fields{grid-template-columns:1fr}.top{margin-bottom:29px}.panel{padding:16px}.service{min-height:110px;padding:16px}.service .icon{margin-bottom:10px}}

/* Admin appointment filters */
.booking-filters{margin:2px 0 18px;gap:8px}
.filter-tab{border-radius:999px;padding:9px 14px}
.filter-tab.selected{background:#4568e8;border-color:#7390ff;color:#fff;font-weight:700}

/* v0.3.2 — readable admin booking cards (no raw JSON) */
.booking-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.booking-kind{font-size:11px;font-weight:800;letter-spacing:.12em;color:#a5b4fc;margin-bottom:6px}
.booking-title{font-size:20px;line-height:1.3;font-weight:800;color:#f7f8fc}
.booking-service{font-size:14px;color:#bcc5d5;margin-top:5px}
.booking-date{margin:13px 0;padding:11px 13px;border-radius:9px;background:#1d2635;color:#e3ecff;font-size:13px;font-weight:700}
.booking-status{font-size:11px;font-weight:800;letter-spacing:.045em;padding:7px 10px;border-radius:30px;background:#2c3341;flex-shrink:0}
.booking-status.confirmed{color:#94ecc1;background:#133a2c}
.booking-status.pending{color:#f5d28b;background:#443616}
.booking-status.cancelled,.booking-status.declined{color:#ffc5bd;background:#462824}
.booking-contact{display:flex;gap:7px 15px;align-items:center;flex-wrap:wrap;color:#e9edf5;font-size:13px;margin:14px 0}
.booking-contact a{color:#a7c9ff;overflow-wrap:anywhere}
.booking-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;border-top:1px solid #343d4b;border-bottom:1px solid #343d4b;padding:10px 0;margin-top:10px}
.detail-row{display:flex;flex-direction:column;gap:5px;padding:10px 0;min-width:0}
.detail-label{font-size:11px;text-transform:uppercase;letter-spacing:.055em;color:#95a1b6;font-weight:700}
.detail-value{color:#f1f3f8;font-size:14px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.booking-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.booking-actions:empty{display:none}
.booking-actions .field{flex-basis:100%}
@media(max-width:600px){.booking-head{flex-direction:column;gap:10px}.booking-details{grid-template-columns:1fr}.booking-title{font-size:18px}}

/* v0.5: responsive brand header + live Central time */
.top .logo{display:flex;align-items:center;gap:6px;letter-spacing:.1em}.brand-mark{display:inline-grid;place-items:center;border:1px solid var(--accent);border-radius:50%;width:35px;height:35px;margin-right:5px;color:var(--accent);font-size:10px;letter-spacing:0;flex:none}.fpv-mark{font-size:9px;border-radius:7px}.live-clock{text-align:right;display:flex;flex-direction:column;gap:2px;flex-shrink:0}.live-clock strong{font-size:13px;font-variant-numeric:tabular-nums;color:var(--accent)}.live-clock small{font-size:11px;color:#9fa4b0}.top{gap:10px}.primary{color:#111!important}body[data-business="auto"] .service .tag{background:#745222}body[data-business="auto"]{--accent:#e3a039;--accent-faint:#31271b}
@media(max-width:380px){.logo{font-size:12px}.live-clock strong{font-size:11px}.live-clock small{font-size:10px}}

.real-brand-logo{width:38px;height:38px;object-fit:contain;flex-shrink:0;margin-right:6px}
/* v0.5.1: branded monthly availability calendar */
.availability-calendar{border:1px solid #363b46;border-radius:15px;background:#11161f;padding:15px;margin:12px 0 18px;max-width:510px}.calendar-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.calendar-top strong{font-size:17px}.calendar-nav{width:38px;height:38px;border-radius:9px;border:1px solid #454a57;background:#202633;color:#fff;font-size:26px;cursor:pointer}.calendar-nav:disabled{opacity:.3;cursor:default}.calendar-hint{min-height:20px;margin:12px 0;font-size:12px;color:#acb4c4}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekday{text-align:center;color:#a1aab9;font-size:11px;padding:7px 0}.calendar-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:48px;border:1px solid transparent;border-radius:8px;background:transparent;color:#f6f7f9;font:inherit;cursor:pointer;gap:1px}.calendar-date small{font-size:12px;color:#5bce94}.calendar-date.available{background:#163126;border-color:#315d45}.calendar-date.available:hover,.calendar-date.selected{border-color:var(--accent);background:#35402b}.calendar-date.unavailable{color:#727987;cursor:default}.calendar-date.unavailable small{color:#a06060}.calendar-legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:12px;color:#abb4c2;font-size:11px}.calendar-legend span:first-child{color:#6bdda0}.calendar-legend span:last-child{color:#ba8888}
.service .tag,.service .badge-orange{background:#ad7630!important;color:#fff}.service .badge-red{background:#a92e3e!important}.service .badge-green{background:#287c55!important}.service .badge-blue{background:#3568aa!important}.service .badge-gray{background:#576170!important}

.date-picker{position:relative}
.date-trigger,.calendar-close{border:1px solid #505866;border-radius:8px;background:#202633;color:#fff;padding:10px 14px;font:inherit;cursor:pointer}
.date-picker dialog{position:absolute;inset:auto auto auto 0;margin:6px 0 0;width:min(360px,calc(100vw - 48px));max-width:none;padding:12px;border:1px solid #505866;border-radius:14px;background:#11161f;color:#fff;z-index:5;box-sizing:border-box}
.date-picker .availability-calendar{margin:0;padding:0;border:0}
.calendar-close{display:block;margin:0 0 8px auto}
.calendar-date.unavailable small{color:#ff6969;font-size:21px;font-weight:800;line-height:1}
.calendar-date.selected{background:var(--accent);color:#111;border-color:var(--accent)}
.calendar-date.selected small{color:#111}
@media(max-width:600px){
 .date-picker dialog{position:fixed;inset:0;margin:auto;width:min(400px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto}
 .date-picker dialog::backdrop{background:#000b}
}

.booking-language{display:inline-flex;flex:none;gap:2px;padding:2px;border:1px solid #ffffff26;border-radius:999px;background:#101218}
.top:has(.booking-language){gap:12px;flex-wrap:wrap}
.top:has(.booking-language) .live-clock{margin-inline-start:auto}
.booking-language button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:transparent;color:#c4c8d1;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.booking-language button[aria-pressed="true"]{background:var(--accent);color:#111}
.booking-language button[aria-pressed="false"]:hover{background:#ffffff14;color:#fff}
.booking-language button:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media (max-width:540px){
 .top:has(.booking-language){display:grid;grid-template-columns:minmax(0,1fr) auto;row-gap:8px}
 .top:has(.booking-language) .live-clock{grid-row:2;grid-column:1/-1}
 .booking-language{grid-row:1;grid-column:2}
}
