:root{--bg:#f5f6fa;--card:#fff;--text:#1e2230;--muted:#73798a;--line:#e4e7ef;--purple:#6c4df6;--purple2:#5536e8;--danger:#c83f4d;--success:#23723e;--shadow:0 12px 35px rgba(28,31,48,.07)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);font-size:14px}a{color:inherit;text-decoration:none}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:#17152a;color:#fff;padding:22px 16px;display:flex;flex-direction:column;gap:24px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:16px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--purple);color:#fff}.sidebar nav{display:grid;gap:5px}.sidebar nav a,.link-button{padding:10px 12px;border-radius:9px;color:#dcd9ef;background:transparent;border:0;text-align:left;font:inherit;cursor:pointer}.sidebar nav a:hover,.link-button:hover{background:#25213d;color:#fff}.sidebar form{margin-top:auto}.main{margin-left:238px;padding:30px;max-width:1500px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.topbar h1{font-size:25px;margin:0 0 3px}.topbar p{margin:0;color:var(--muted)}.card{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:var(--shadow);margin-bottom:18px}.card h2{margin:0 0 14px;font-size:17px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.card-head h2{margin:0}.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.kpi{background:#fff;border:1px solid var(--line);border-radius:15px;padding:19px}.kpi span,.kpi small{display:block;color:var(--muted)}.kpi strong{font-size:30px;display:block;margin:4px 0}.grid-main-side{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.8fr);gap:18px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stack{display:grid;gap:13px}.narrow{max-width:760px}.subtle,small{color:var(--muted)}label{display:grid;gap:6px;font-weight:650;font-size:13px}input,select,textarea{width:100%;border:1px solid #d9dce6;border-radius:9px;padding:10px 11px;background:#fff;color:var(--text);font:inherit}textarea{resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #d9dce6;background:#fff;border-radius:9px;padding:9px 13px;font-weight:700;font:inherit;cursor:pointer}.btn.primary{background:var(--purple);border-color:var(--purple);color:#fff}.btn.primary:hover{background:var(--purple2)}.btn.danger{color:var(--danger)}.btn.small{padding:6px 9px;font-size:12px}.btn.large{padding:12px 16px}.btn.full{width:100%}.actions{display:flex;gap:6px}.flash{padding:11px 13px;border-radius:10px;margin-bottom:14px;background:#eef0f5}.flash.success{background:#eaf7ef;color:#23723e}.flash.error{background:#fff0f1;color:#9d2e39}.badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#f0edff;color:#5b46c3;font-size:11px;font-weight:800;text-transform:capitalize}.empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid var(--line);padding:11px 9px;vertical-align:top}th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.inline-edit{display:flex;flex-direction:column;gap:8px;min-width:190px}.inline-edit select,.inline-edit input{width:100%;min-width:0}.inline-edit .inline-save-btn{width:100%;justify-content:center}.day-row{display:grid;grid-template-columns:1.2fr 1fr auto 1fr;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.list-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.list-row small{display:block;margin-top:3px}.center-page{min-height:100vh;display:grid;place-items:center;padding:30px;background:linear-gradient(145deg,#f4f1ff,#f7f8fb)}.auth-card,.install-card{width:min(100%,480px);background:#fff;border:1px solid var(--line);border-radius:18px;padding:27px;box-shadow:var(--shadow)}.install-card{width:min(100%,650px)}.auth-brand{color:var(--text);margin-bottom:24px}.requirements{border:1px solid var(--line);border-radius:11px;overflow:hidden;margin-bottom:18px}.requirement-row{display:flex;justify-content:space-between;padding:9px 11px;border-bottom:1px solid var(--line)}.requirement-row:last-child{border:0}.public-body{min-height:100vh;background:linear-gradient(145deg,#f3f0ff,#f8f9fb);padding:38px 18px}.public-shell{max-width:650px;margin:0 auto}.public-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow)}.public-head{text-align:center;margin-bottom:25px}.public-head h1,.public-card h1{font-size:28px;margin:7px 0}.public-head p{color:var(--muted);margin:0}.eyebrow{color:var(--purple);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.divider{height:1px;background:var(--line);margin:4px 0}.success-icon{width:55px;height:55px;border-radius:50%;display:grid;place-items:center;margin:0 auto 15px;background:#eaf7ef;color:var(--success);font-size:26px;font-weight:900}.public-card>h1,.public-card>.subtle{text-align:center}.confirmation-box{display:grid;gap:7px;margin:22px 0;padding:17px;border-radius:13px;background:#f7f7fb;text-align:center}.confirmation-box strong{font-size:17px}.text-link{display:block;text-align:center;margin-top:16px;color:var(--purple);font-weight:700}@media(max-width:900px){.sidebar{position:static;width:auto}.main{margin-left:0;padding:18px}.grid-main-side,.kpi-grid{grid-template-columns:1fr}.sidebar nav{grid-template-columns:repeat(3,1fr)}.inline-edit{grid-template-columns:1fr}.day-row{grid-template-columns:1fr 1fr 1fr}.day-row .check{grid-column:1/-1}}@media(max-width:600px){.sidebar nav{grid-template-columns:1fr 1fr}.public-body{padding:18px 10px}.public-card{padding:20px}.grid-2{grid-template-columns:1fr}table{display:block;overflow:auto}}
.kpi-grid.five{grid-template-columns:repeat(5,1fr)}.settings-grid{display:grid;grid-template-columns:minmax(0,820px) 300px;gap:18px}.section-title{margin-top:14px!important;padding-top:20px;border-top:1px solid var(--line)}.email-test{align-self:start}.manage-actions{display:grid;gap:10px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-head>div{padding:8px;text-align:center;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.calendar-day{min-height:125px;border-top:1px solid var(--line);border-left:1px solid var(--line);padding:8px;background:#fff}.calendar-day:nth-child(7n){border-right:1px solid var(--line)}.calendar-day.today{background:#f7f5ff}.muted-day{background:#fafafa}.day-number{display:block;margin-bottom:7px}.calendar-event{display:block;padding:6px 7px;border-radius:7px;background:#f0edff;margin-bottom:5px;font-size:11px}.calendar-event span,.calendar-event small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event small{margin-top:2px}@media(max-width:1100px){.kpi-grid.five{grid-template-columns:repeat(3,1fr)}.settings-grid{grid-template-columns:1fr}}@media(max-width:700px){.kpi-grid.five{grid-template-columns:1fr 1fr}.calendar-grid{min-width:760px}.card:has(.calendar-grid){overflow:auto}}
.settings-logo-preview{display:block;max-width:180px;max-height:70px;object-fit:contain;margin-top:8px;padding:8px;border:1px solid var(--line);border-radius:9px;background:#fff}.settings-favicon-preview{display:block;width:42px;height:42px;object-fit:contain;margin-top:8px;border:1px solid var(--line);border-radius:9px}.public-logo-wrap{text-align:center;margin-bottom:12px}.public-logo{max-width:220px;max-height:86px;object-fit:contain}.booking-step{display:flex;align-items:center;gap:9px;margin:4px 0 0}.booking-step span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--purple);color:#fff;font-size:12px;font-weight:800}.booking-step strong{font-size:14px}.public-business-info{display:grid;gap:4px;text-align:center;color:var(--muted);font-size:12px;border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.public-credit{text-align:center;color:#9296a5;font-size:11px;padding:14px}.public-card input:focus,.public-card select:focus,.public-card textarea:focus{outline:0;border-color:var(--purple);box-shadow:0 0 0 3px color-mix(in srgb,var(--purple) 14%,transparent)}input[type=color]{height:42px;padding:4px}

/* DoorFall Booking 0.4 visual refresh */
:root{--nav:#141223;--nav2:#1d1933;--surface:#ffffff;--soft:#f8f7fc;--purple:#6c4df6;--purple2:#5737ec;--text:#1d2030;--muted:#74798a;--line:#e7e8ef;--shadow:0 12px 32px rgba(26,23,45,.07);--shadow-lg:0 20px 55px rgba(26,23,45,.11)}
.admin-body{background:linear-gradient(180deg,#f7f7fb 0,#f3f4f8 100%)}
.sidebar{width:260px;background:linear-gradient(180deg,var(--nav),var(--nav2));padding:24px 18px;border-right:1px solid rgba(255,255,255,.05)}
.brand{font-size:17px;padding:0 6px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{width:40px;height:40px;border-radius:12px;box-shadow:0 8px 20px rgba(108,77,246,.35)}.brand div{display:grid}.brand small{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#aaa4c8;margin-top:1px}
.sidebar nav{gap:7px}.sidebar nav a{position:relative;padding:11px 13px;border:1px solid transparent}.sidebar nav a:hover{background:rgba(255,255,255,.06)}.sidebar nav a.active{background:linear-gradient(135deg,rgba(108,77,246,.30),rgba(108,77,246,.14));border-color:rgba(148,126,255,.24);color:#fff;box-shadow:inset 3px 0 0 #8d75ff}.sidebar-bottom{margin-top:auto;display:grid;gap:8px}.view-public{display:block;padding:11px 12px;border-radius:10px;background:#fff;color:#201b37;font-weight:800;text-align:center}.link-button{width:100%;text-align:center;color:#bbb6d1}
.main{margin-left:260px;padding:34px 38px 28px;max-width:1600px}.topbar{padding:4px 2px 8px;margin-bottom:24px}.page-kicker{display:block;color:var(--purple);text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:900;margin-bottom:5px}.topbar h1{font-size:30px;letter-spacing:-.03em}.topbar p{font-size:13px}.top-action{padding:11px 16px;box-shadow:0 8px 22px rgba(108,77,246,.20)}
.card{border-radius:18px;padding:22px;border:1px solid rgba(224,225,234,.9);box-shadow:var(--shadow)}.card:hover{border-color:#deddea}.card-head h2{font-size:18px;letter-spacing:-.015em}.accent-card{background:linear-gradient(180deg,#fff 0,#faf9ff 100%);border-top:3px solid var(--purple)}
.kpi{border-radius:17px;box-shadow:var(--shadow);position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--purple)}.kpi strong{letter-spacing:-.04em}
input,select,textarea{border-color:#dfe1e9;border-radius:10px;padding:11px 12px;transition:.15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:#8d75ff;box-shadow:0 0 0 3px rgba(108,77,246,.10)}label{gap:7px}.btn{border-radius:10px;padding:9px 14px;transition:.15s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(30,28,50,.08)}.btn.primary{box-shadow:0 7px 18px rgba(108,77,246,.16)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px}table{background:#fff}th{background:#fafafe;padding:12px 11px}td{padding:13px 11px}.table-wrap table th:first-child,.table-wrap table td:first-child{padding-left:15px}.table-wrap table th:last-child,.table-wrap table td:last-child{padding-right:15px}.capacity-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef7ff;color:#2f648c;font-size:11px;font-weight:800}.badge.active{background:#eaf7ef;color:#23723e}.badge.inactive{background:#f0f1f4;color:#727687}
.flash{border:1px solid transparent;box-shadow:0 6px 18px rgba(20,18,36,.04)}.flash.success{border-color:#cfe9d7}.flash.error{border-color:#f2cfd3}
.calendar-card{padding:0;overflow:hidden}.calendar-toolbar{padding:20px 22px;margin:0;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfaff)}.calendar-title{text-align:center}.calendar-title h2{margin:2px 0 0;font-size:21px}.calendar-scroll{overflow:auto}.calendar-grid{min-width:900px}.calendar-head{background:#f8f7fc;border-bottom:1px solid var(--line)}.calendar-head>div{padding:11px 8px}.calendar-body{background:#e9e9f1;gap:1px}.calendar-day{min-height:142px;border:0!important;padding:10px;background:#fff}.calendar-day.today{background:#f7f4ff;box-shadow:inset 0 0 0 2px rgba(108,77,246,.35)}.muted-day{background:#fafafa}.day-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.day-number{margin:0;width:27px;height:27px;display:grid;place-items:center;border-radius:50%;font-size:12px}.today .day-number{background:var(--purple);color:#fff}.day-count{font-size:10px;font-weight:900;color:#665e85;background:#f1eff9;border-radius:999px;padding:3px 6px}.calendar-event{padding:7px 8px;border-radius:8px;background:#f0edff;border-left:3px solid var(--purple);margin-bottom:6px;color:#352c68}.calendar-event strong,.calendar-event small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event strong{font-size:11px}.calendar-event small{font-size:10px;margin-top:2px}
.admin-footer{text-align:center;color:#9a9cab;font-size:11px;padding:18px 0 4px}
.public-body{background:radial-gradient(circle at 20% 0%,rgba(108,77,246,.13),transparent 33%),linear-gradient(160deg,#f7f5ff,#f5f6fa 60%,#f1f2f7);padding:52px 18px}.public-shell{max-width:720px}.public-card{border-radius:24px;padding:34px;border:1px solid rgba(224,222,235,.95);box-shadow:var(--shadow-lg)}.public-head h1,.public-card h1{font-size:32px;letter-spacing:-.035em}.booking-step{background:#faf9ff;border:1px solid #ece9fb;border-radius:12px;padding:10px 12px;margin-top:5px}.booking-step span{box-shadow:0 5px 13px rgba(108,77,246,.23)}.divider{margin:8px 0}.public-business-info{background:#fafafa;border:1px solid var(--line);border-radius:12px;padding:15px;margin-top:24px}.public-credit{padding-top:18px}
@media(max-width:900px){.sidebar{width:auto}.main{margin-left:0;padding:20px}.sidebar-bottom{margin-top:8px}.top-action{display:none}.topbar h1{font-size:26px}}@media(max-width:600px){.public-body{padding:22px 10px}.public-card{padding:22px 18px;border-radius:19px}.public-head h1,.public-card h1{font-size:27px}.calendar-toolbar{padding:15px 12px}.calendar-toolbar .btn{padding:8px 9px;font-size:12px}}

.capacity-edit{display:flex;align-items:center;gap:6px}.capacity-edit input{width:68px;padding:6px 8px}.capacity-edit .btn{white-space:nowrap}

/* Booking 0.4.1 */
.capacity-card{margin-bottom:22px}.capacity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.capacity-card-item{display:grid;grid-template-columns:minmax(0,1fr) 100px auto;align-items:end;gap:12px;padding:15px;border:1px solid var(--border,#e5e7eb);border-radius:14px;background:var(--surface,#fff)}.capacity-card-item>div strong,.capacity-card-item>div small{display:block}.capacity-card-item label{margin:0}.capacity-card-item label span{display:block;font-size:12px;margin-bottom:5px}.capacity-card-item input{width:100%}.page-actions{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--border,#e5e7eb)}.detail-list>div{padding:17px 0;border-bottom:1px solid var(--border,#e5e7eb)}.detail-list>div:nth-child(odd){padding-right:24px}.detail-list span,.detail-list strong{display:block}.detail-list span{font-size:12px;color:var(--muted,#6b7280);margin-bottom:5px}.detail-notes{margin-top:22px;padding:18px;border-radius:14px;background:var(--soft,#f7f8fb)}.detail-notes p{margin:8px 0 0}.booking-detail-grid a{color:inherit}@media(max-width:720px){.capacity-card-item{grid-template-columns:1fr 90px}.capacity-card-item button{grid-column:1/-1}.detail-list{grid-template-columns:1fr}.detail-list>div:nth-child(odd){padding-right:0}}
/* DoorFall Booking 0.5 planning */
.planning-example{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.planning-example>*{padding:8px 11px;border-radius:999px;background:#f2efff;color:#4d3b9b;font-size:12px}.planning-example strong{background:var(--purple);color:#fff}.planning-form-card{align-self:start;position:sticky;top:24px}.planning-grid .table-wrap td{vertical-align:middle}.planning-grid [hidden]{display:none!important}@media(max-width:900px){.planning-form-card{position:static}.planning-example{display:grid}.planning-example>*{border-radius:10px}}
/* Booking 0.5.1: appointment details + planning pagination */
.appointment-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;margin-bottom:18px;border:1px solid var(--border,#e5e7eb);border-radius:18px;background:linear-gradient(135deg,var(--surface,#fff),var(--soft,#f7f8fb));box-shadow:0 8px 24px rgba(15,23,42,.05)}
.appointment-hero h1{margin:5px 0 4px;font-size:30px;letter-spacing:-.03em}.appointment-hero p{margin:0;color:var(--muted,#6b7280)}
.booking-status{display:inline-flex;align-items:center;padding:8px 13px;border-radius:999px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:#ecfdf5;color:#047857}.status-pending{background:#fff7ed;color:#c2410c}.status-cancelled{background:#fef2f2;color:#b91c1c}.status-completed{background:#eff6ff;color:#1d4ed8}.status-no_show{background:#f3f4f6;color:#4b5563}
.appointment-card .card-head{align-items:flex-start}.appointment-date-badge{min-width:64px;text-align:center;border:1px solid var(--border,#e5e7eb);border-radius:14px;padding:9px 12px;background:var(--soft,#f7f8fb)}.appointment-date-badge strong,.appointment-date-badge span{display:block}.appointment-date-badge strong{font-size:24px;line-height:1}.appointment-date-badge span{font-size:11px;margin-top:5px;letter-spacing:.08em;color:var(--muted,#6b7280)}
.appointment-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.appointment-info{padding:15px 16px;border:1px solid var(--border,#e5e7eb);border-radius:14px;background:var(--surface,#fff)}.appointment-info span,.appointment-info strong{display:block}.appointment-info span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#6b7280);margin-bottom:5px}.appointment-info strong{font-size:14px;overflow-wrap:anywhere}.appointment-info a{color:inherit;text-decoration:none}.appointment-info a:hover{text-decoration:underline}
.appointment-section{margin-top:24px;padding-top:22px;border-top:1px solid var(--border,#e5e7eb)}.section-title h3{margin:4px 0 14px;font-size:17px}.customer-grid{grid-template-columns:1fr 1.35fr 1fr}.note-box{padding:16px 17px;border-radius:14px;background:var(--soft,#f7f8fb);line-height:1.6}.empty-note{color:var(--muted,#6b7280);font-style:italic}.booking-manage-card{align-self:start;position:sticky;top:18px}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border,#e5e7eb)}.pagination-pages{display:flex;align-items:center;gap:6px}.pagination-pages a,.pagination-pages span{min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;text-decoration:none;color:inherit;font-size:13px}.pagination-pages a{border:1px solid var(--border,#e5e7eb);background:var(--surface,#fff)}.pagination-pages a.active{background:var(--text,#111827);color:#fff;border-color:var(--text,#111827);font-weight:700}.pagination-summary{margin:9px 0 0;text-align:center;color:var(--muted,#6b7280);font-size:12px}
@media(max-width:800px){.appointment-hero{align-items:flex-start}.customer-grid,.appointment-info-grid{grid-template-columns:1fr}.booking-manage-card{position:static}.pagination{flex-wrap:wrap;justify-content:center}.pagination-pages{order:3;width:100%;justify-content:center}}

/* Booking 0.5.2: cleaner planning selectors + branding preview */
.scope-help{padding:10px 12px;border-radius:10px;background:#f7f5ff;border:1px solid #ebe6ff;color:#5b5186;font-size:12px;line-height:1.45}.planning-grid [hidden]{display:none!important}
.settings-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:18px;align-items:start}.settings-side{position:sticky;top:18px}.settings-main-card{padding:26px}.settings-section-head h2{margin:4px 0 5px;font-size:21px}.settings-section-head p{margin:0}.settings-divider{height:1px;background:var(--line);margin:10px 0 4px}.brand-color-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.brand-color-grid input[type=color]{height:48px;padding:4px;cursor:pointer}.upload-grid{align-items:start}
.preview-card{overflow:hidden}.booking-mini-preview{border:1px solid var(--line);border-radius:15px;overflow:hidden;margin-bottom:14px}.preview-page{padding:22px 14px;background:var(--preview-bg);transition:.15s}.preview-window{background:#fff;border-radius:16px;padding:19px;box-shadow:0 10px 28px rgba(20,20,40,.10);text-align:center}.preview-window>span{display:block;color:var(--preview-primary);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;margin:6px 0}.preview-window>strong{display:block;font-size:18px;letter-spacing:-.02em}.preview-window>small{display:block;margin:4px 0 14px;color:#7a7e8a}.preview-logo{max-width:120px;max-height:42px;object-fit:contain}.preview-logo-placeholder{display:inline-flex;padding:7px 12px;border-radius:8px;background:#f2f2f6;color:#9295a1;font-size:10px}.preview-field{height:30px;border:1px solid #e0e2e9;border-radius:8px;margin:8px 0;background:#fff}.preview-field.short{width:65%}.preview-button{margin-top:11px;padding:9px;border-radius:8px;background:var(--preview-primary);color:#fff;font-size:10px;font-weight:800;transition:.15s}.preview-button:hover{background:var(--preview-secondary)}
.public-body{background:radial-gradient(circle at 20% 0%,color-mix(in srgb,var(--purple) 13%,transparent),transparent 33%),var(--booking-page-bg,#f5f6fa)}
@media(max-width:980px){.settings-layout{grid-template-columns:1fr}.settings-side{position:static}.brand-color-grid{grid-template-columns:1fr 1fr 1fr}}@media(max-width:650px){.brand-color-grid{grid-template-columns:1fr}.settings-main-card{padding:20px}}

/* Booking 0.6: dedicated email management */
.email-page-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.72fr);gap:18px;align-items:start}.email-main-card{padding:26px}.email-side{position:sticky;top:18px}.email-target{padding:12px 14px;margin:14px 0;border:1px solid var(--line);border-radius:11px;background:#fafafa}.email-target span,.email-target strong{display:block}.email-target span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px}.email-target strong{overflow-wrap:anywhere}.placeholder-panel{padding:14px 15px;border-radius:13px;background:#f7f5ff;border:1px solid #e8e2ff}.placeholder-panel>strong{display:block;margin-bottom:9px}.placeholder-list{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:8px}.placeholder-chip{border:1px solid #ddd6ff;background:#fff;color:#5745a7;border-radius:999px;padding:6px 9px;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.placeholder-chip:hover{border-color:var(--purple);color:var(--purple)}.template-editor-card{padding:18px;border:1px solid var(--line);border-radius:15px;background:#fcfcfd;display:grid;gap:13px}.template-editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.template-editor-head h3{margin:6px 0 3px;font-size:17px}.template-editor-head p{margin:0;color:var(--muted);font-size:12px}.template-type{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.template-type.customer{background:#eaf7ef;color:#23723e}.template-type.admin{background:#f0edff;color:#5b46c3}.template-editor-card textarea{min-height:150px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.55}.email-preview-frame{margin:14px 0;padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 8px 20px rgba(28,31,48,.06)}.email-preview-brand{border-top:4px solid var(--purple);padding:18px 18px 10px;font-size:18px;font-weight:850}.email-preview-body{padding:4px 18px 20px;font-size:13px;line-height:1.6}.email-preview-body p:first-child{margin-top:0}.email-preview-body a{color:var(--purple);font-weight:700}.email-preview-footer{padding:12px 18px;background:#fafafa;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.email-preview-card>h2{margin-top:5px}.email-preview-card>.subtle{overflow-wrap:anywhere}.email-status-card form{margin:0}@media(max-width:980px){.email-page-grid{grid-template-columns:1fr}.email-side{position:static}}@media(max-width:600px){.email-main-card{padding:20px}.template-editor-head{display:grid}.placeholder-list{gap:5px}}

/* Booking 0.6.1: clearer email placeholders + modal preview */
.placeholder-panel{background:linear-gradient(135deg,#f7f5ff 0%,#fbfbff 100%);padding:17px 18px}
.placeholder-list{gap:9px;margin:11px 0 10px}
.placeholder-chip{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;border:1px solid #d9d1ff;background:#fff;box-shadow:0 2px 7px rgba(50,39,105,.06);font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:-.01em;color:#4e3ca3;transition:.15s}
.placeholder-chip:hover{transform:translateY(-1px);background:#f2eeff;border-color:var(--purple);box-shadow:0 5px 12px rgba(76,58,160,.11)}
.template-editor-head .preview-template{white-space:nowrap;padding:8px 12px}
.email-target{display:grid;gap:5px;padding:14px 15px}
.email-target span{margin:0;line-height:1.25}
.email-target strong{display:block;line-height:1.45;font-size:14px;word-break:break-word;overflow-wrap:anywhere}
.email-help-card strong{color:var(--text)}
.email-preview-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:24px}
.email-preview-modal.open{display:flex}
.email-preview-backdrop{position:absolute;inset:0;background:rgba(18,16,32,.62);backdrop-filter:blur(3px)}
.email-preview-dialog{position:relative;z-index:1;width:min(720px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:18px;border:1px solid var(--line);box-shadow:0 28px 80px rgba(18,16,32,.28);padding:22px}
.email-preview-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}
.email-preview-modal-head h2{font-size:22px;margin:4px 0 4px}
.email-preview-modal-head p{margin:0;overflow-wrap:anywhere}
.email-preview-close{flex:0 0 auto;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);font-size:24px;line-height:1;cursor:pointer}
.email-preview-close:hover{background:#f5f5f8}
.email-preview-modal .email-preview-frame{margin:12px 0 16px}
.email-preview-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}
body.modal-open{overflow:hidden}
@media(max-width:600px){.email-preview-modal{padding:12px}.email-preview-dialog{padding:17px}.email-preview-modal-actions{align-items:stretch;flex-direction:column}.email-preview-modal-actions .btn{width:100%}}

/* Email template pairing */
.template-group{display:grid;gap:12px;margin-top:8px}.template-group+.template-group{margin-top:22px}.template-group-head{padding:0 2px}.template-group-head h3{margin:0 0 3px;font-size:18px}.template-group-head p{margin:0;color:var(--muted);font-size:12px}.template-pair-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}.template-editor-card.template-customer{background:linear-gradient(180deg,#f7fffb 0%,#fbfffd 100%);border-color:#cfe9da;box-shadow:0 5px 16px rgba(37,116,68,.05)}.template-editor-card.template-admin{background:linear-gradient(180deg,#faf8ff 0%,#fcfbff 100%);border-color:#ddd5ff;box-shadow:0 5px 16px rgba(87,68,169,.05)}.template-editor-card.template-customer .template-editor-head{border-top:3px solid #39a867;padding-top:12px}.template-editor-card.template-admin .template-editor-head{border-top:3px solid var(--purple);padding-top:12px}.booking-reminder-box{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);display:grid;gap:10px}.booking-reminder-box p{margin:4px 0 0;overflow-wrap:anywhere}@media(max-width:900px){.template-pair-grid{grid-template-columns:1fr}}

/* Booking 0.6.4: pagination, sorting and professional calendar */
.table-intro{margin:4px 0 0}.table-wrap{overflow:auto}.data-table tbody tr{transition:background .14s ease}.data-table tbody tr:hover{background:#fafaff}.sort-link{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-weight:850}.sort-link:hover,.sort-link.active{color:var(--text)}.click-row{cursor:pointer}.booking-table-link:hover strong{color:var(--purple)}.btn.disabled{pointer-events:none;opacity:.45}.count-pill{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;background:#f4f2ff;color:#5a48bb;font-size:11px;font-weight:800}.pagination.compact{margin-top:14px}.badge.status-confirmed{background:#eef5ff;color:#315d9c}.badge.status-pending{background:#fff5d9;color:#8b6500}.badge.status-completed{background:#e9f7ef;color:#23723e}.badge.status-cancelled,.badge.status-no_show{background:#fff0f1;color:#9d2e39}
.calendar-page-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.page-section-title{margin:4px 0 0;font-size:24px}.professional-calendar{padding:0;overflow:hidden}.calendar-toolbar-pro{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line);background:#fff}.calendar-title{text-align:center}.calendar-title h2{margin:0;font-size:21px;letter-spacing:-.02em}.today-link{display:inline-block;margin-top:4px;color:var(--purple);font-size:12px;font-weight:800}.calendar-nav-btn{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:18px;font-weight:800;transition:.15s}.calendar-nav-btn:hover{border-color:#cbc5f0;background:#f8f6ff;color:var(--purple)}.calendar-head-pro{background:#fafafd;border-bottom:1px solid var(--line)}.calendar-head-pro>div{padding:10px 8px;text-align:center;font-size:11px;font-weight:850;color:var(--muted);text-transform:uppercase;letter-spacing:.045em}.mobile-day{display:none}.calendar-body-pro{background:var(--line);gap:1px}.calendar-day-pro{min-height:142px;padding:9px;background:#fff;min-width:0}.calendar-day-pro.muted-day{background:#fbfbfc}.calendar-day-pro.today{background:#fbfaff;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--purple) 28%,transparent)}.day-top-pro{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.day-number-pro{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;font-weight:800;font-size:12px}.calendar-day-pro.today .day-number-pro{background:var(--purple);color:#fff}.day-count-pro{font-size:9px;color:var(--muted);white-space:nowrap}.calendar-events-pro{display:grid;gap:5px}.calendar-event-pro{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;align-items:start;padding:7px 8px;border-radius:8px;border-left:3px solid #6b8cc5;background:#f4f7fc;transition:.14s}.calendar-event-pro:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(28,31,48,.07)}.calendar-event-pro.status-pending{border-left-color:#d3a312;background:#fff9e8}.calendar-event-pro.status-completed{border-left-color:#3b9b60;background:#f1faf5}.calendar-event-pro.status-no_show{border-left-color:#cc5963;background:#fff4f5}.event-time{font-size:10px;font-weight:900;line-height:1.35}.event-main{min-width:0}.event-main strong,.event-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-main strong{font-size:11px;line-height:1.35}.event-main small{font-size:9px;margin-top:1px}.calendar-legend{display:flex;flex-wrap:wrap;gap:16px;padding:12px 20px;border-top:1px solid var(--line);background:#fafafd;color:var(--muted);font-size:11px}.calendar-legend span{display:inline-flex;align-items:center;gap:6px}.legend-dot{width:8px;height:8px;border-radius:50%;background:#6b8cc5}.legend-dot.pending{background:#d3a312}.legend-dot.completed{background:#3b9b60}.legend-dot.no_show{background:#cc5963}
@media(max-width:1050px){.calendar-day-pro{min-height:125px}.day-count-pro{display:none}.calendar-page-actions{align-items:flex-start;flex-direction:column}.calendar-page-actions .actions{flex-wrap:wrap}}@media(max-width:760px){.calendar-grid{min-width:820px}.desktop-day{display:none}.mobile-day{display:inline}.professional-calendar .calendar-scroll{overflow:auto}.calendar-toolbar-pro{padding:14px}.calendar-legend{padding:10px 14px}.calendar-day-pro{min-height:112px}}

/* Booking 0.6.5: compact month calendar + day schedule */
.compact-month-calendar .calendar-day-pro{height:164px;min-height:164px;overflow:hidden}.compact-month-calendar .calendar-events-pro{min-height:0}.day-link{text-decoration:none;color:inherit}.calendar-day-pro.today .day-link{color:#fff}.calendar-more-link{display:block;padding:5px 7px;border-radius:7px;background:#f3f1fb;color:var(--purple);font-size:10px;font-weight:850;text-align:center}.calendar-more-link:hover{background:#ebe7fb}.calendar-legend-note{margin-left:auto}.day-schedule-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.day-schedule-actions p{margin:6px 0 0}.day-schedule-card{padding:0;overflow:hidden}.day-schedule-list{display:grid}.day-schedule-item{display:grid;grid-template-columns:90px minmax(180px,1.25fr) minmax(180px,1fr) 140px;gap:18px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line);border-left:4px solid #6b8cc5;background:#fff;transition:.14s}.day-schedule-item:last-child{border-bottom:0}.day-schedule-item:hover{background:#fafafd}.day-schedule-item.status-pending{border-left-color:#d3a312}.day-schedule-item.status-completed{border-left-color:#3b9b60}.day-schedule-item.status-no_show{border-left-color:#cc5963}.day-schedule-time strong,.day-schedule-time span,.day-schedule-main strong,.day-schedule-main span,.day-schedule-contact span,.day-schedule-contact small,.day-schedule-status small{display:block}.day-schedule-time strong{font-size:16px}.day-schedule-time span,.day-schedule-main span,.day-schedule-contact span,.day-schedule-contact small,.day-schedule-status small{margin-top:3px;color:var(--muted);font-size:11px}.day-schedule-main strong{font-size:14px}.day-schedule-status{text-align:right}.day-schedule-status small{margin-top:6px}.empty-state{padding:40px;text-align:center}.empty-state h3{margin:0 0 6px}
@media(max-width:1050px){.compact-month-calendar .calendar-day-pro{height:150px;min-height:150px}.calendar-legend-note{width:100%;margin-left:0}.day-schedule-item{grid-template-columns:75px minmax(150px,1fr) minmax(150px,1fr) 120px;gap:12px}}@media(max-width:760px){.compact-month-calendar .calendar-day-pro{height:138px;min-height:138px}.day-schedule-actions{align-items:flex-start;flex-direction:column}.day-schedule-item{grid-template-columns:62px minmax(0,1fr) auto;padding:13px 14px}.day-schedule-contact{display:none}.day-schedule-status small{display:none}}


/* Booking 0.6.8: unified booking status styling + professional day schedule */
.booking-row{position:relative}.booking-row.status-confirmed td:first-child{box-shadow:inset 4px 0 0 #6b8cc5}.booking-row.status-pending td:first-child{box-shadow:inset 4px 0 0 #d3a312}.booking-row.status-completed td:first-child{box-shadow:inset 4px 0 0 #3b9b60}.booking-row.status-cancelled td:first-child,.booking-row.status-no_show td:first-child{box-shadow:inset 4px 0 0 #cc5963}
.booking-row.status-confirmed{background:#fbfdff}.booking-row.status-pending{background:#fffdf7}.booking-row.status-completed{background:#fbfefc}.booking-row.status-cancelled,.booking-row.status-no_show{background:#fffafa}
.booking-status-editor{display:grid;gap:8px}.booking-status-editor>.badge{justify-self:start}
.day-schedule-card{background:transparent;border:0;box-shadow:none}.day-schedule-list{gap:10px}.day-schedule-item{border:1px solid var(--line);border-left-width:5px;border-radius:14px;box-shadow:0 5px 16px rgba(24,22,38,.045);background:#fff}.day-schedule-item:last-child{border-bottom:1px solid var(--line)}.day-schedule-item:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(24,22,38,.07)}
.day-schedule-item.status-confirmed{border-left-color:#6b8cc5;background:#fbfdff}.day-schedule-item.status-pending{border-left-color:#d3a312;background:#fffdf7}.day-schedule-item.status-completed{border-left-color:#3b9b60;background:#fbfefc}.day-schedule-item.status-no_show{border-left-color:#cc5963;background:#fffafa}
.day-time-label,.day-item-label{display:block;margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.day-schedule-contact strong{display:block;font-size:12px;overflow-wrap:anywhere}
.day-schedule-status .badge{display:inline-flex}.day-schedule-time strong{font-size:18px;letter-spacing:-.02em}
@media(max-width:760px){.day-schedule-list{gap:8px}.day-schedule-item{border-radius:12px}.day-schedule-contact{display:none}.day-item-label{margin-bottom:3px}}

/* Booking 0.6.9: overview quick booking views */
.overview-quick-links{margin:18px 0}.quick-links-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px}.quick-links-head h2{margin:3px 0 0;font-size:20px}.quick-links-head p{margin:0}.quick-booking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.quick-booking-card{display:grid;gap:5px;padding:16px 17px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(24,22,38,.04);transition:.15s}.quick-booking-card:hover{transform:translateY(-2px);border-color:#d3cdf4;box-shadow:0 9px 22px rgba(24,22,38,.07)}.quick-booking-card strong{font-size:14px;color:var(--text)}.quick-booking-card small{color:var(--muted);line-height:1.45}.quick-icon{justify-self:start;padding:5px 8px;border-radius:8px;background:#f2efff;color:var(--purple);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}@media(max-width:760px){.quick-links-head{align-items:flex-start;flex-direction:column}.quick-booking-grid{grid-template-columns:1fr}}

/* Booking 0.6.10: planning priority is informational, not clickable */
.planning-priority{margin-top:16px;padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:#fbfbfd}.planning-priority-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px}.planning-priority-head strong{font-size:12px;color:var(--text)}.planning-priority-head span{font-size:11px;color:var(--muted)}.planning-priority-flow{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.planning-priority-flow span{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #e5e3ef;border-radius:7px;background:#fff;color:var(--muted);font-size:11px;font-weight:700;cursor:default}.planning-priority-flow span b{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#eeecf7;color:#62579a;font-size:9px}.planning-priority-flow i{color:#aaa5bc;font-size:11px;font-style:normal}@media(max-width:760px){.planning-priority-flow i{display:none}.planning-priority-flow{align-items:stretch}.planning-priority-flow span{flex:1 1 145px}}

/* Booking 0.6.11: planning priority spacing */
.planning-priority-head{display:grid;grid-template-columns:1fr;gap:4px;align-items:start;margin-bottom:13px}.planning-priority-head strong{display:block;font-size:13px;line-height:1.35}.planning-priority-head span{display:block;font-size:11px;line-height:1.5}.planning-priority-flow{gap:9px}.planning-priority-flow span{line-height:1.3}.planning-priority-flow i{margin:0 1px;line-height:1}

/* Booking 0.6.12: licensing */
.license-page{display:grid;gap:16px;max-width:980px}.license-status-card{padding:22px}.license-status-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.license-status-head h2{margin:4px 0 5px}.license-state{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;font-size:11px;font-weight:850;white-space:nowrap}.license-state.active{background:#e9f8ef;color:#20713c}.license-state.pending{background:#fff5d8;color:#876211}.license-state.inactive{background:#f2f3f6;color:#656c79}.license-state.blocked{background:#fff0f1;color:#9d2e39}.license-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.license-details>div{display:grid;gap:3px;padding:12px 13px;background:#fafbfe;border:1px solid var(--line);border-radius:10px}.license-details span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.license-details strong{font-size:13px;overflow-wrap:anywhere}.license-note{margin-top:14px;padding:11px 13px;border-radius:10px;background:#f7f5ff;color:#625a7e;font-size:11px;line-height:1.5}.license-activate-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:18px}.license-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.license-action-card{padding:18px;display:grid;gap:11px}.license-action-card h3{margin:0}.license-help{padding:15px 17px;display:flex;gap:13px;align-items:flex-start}.license-help strong{white-space:nowrap}.license-help span{font-size:11px;color:var(--muted);line-height:1.5}.license-admin-alert a{font-weight:850;text-decoration:underline}.license-unavailable-card{text-align:center;padding:34px}.license-unavailable-card .public-head{margin-bottom:12px}@media(max-width:720px){.license-status-head{flex-direction:column}.license-details,.license-actions-grid,.license-activate-form{grid-template-columns:1fr}.license-help{flex-direction:column}}

/* Booking 0.6.13: calendar month jump + blocked periods */
.calendar-jump-form{margin:0}.calendar-jump-form select{min-width:180px;padding:8px 34px 8px 12px;font-weight:800;text-align:center;background:#fff}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.calendar-block-pro{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;align-items:start;padding:7px 8px;border-radius:8px;border-left:3px solid #8b8f99;background:#f3f4f6;color:#4b5563}.calendar-block-pro:hover{background:#eceef1}.calendar-block-pro .event-time{font-size:10px;font-weight:850}.calendar-block-pro .event-main strong,.calendar-block-pro .event-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-block-pro .event-main strong{font-size:10px}.calendar-block-pro .event-main small{margin-top:2px;font-size:9px;color:#767b85}.legend-dot.blocked{background:#8b8f99}
.blocked-day-card{margin-bottom:14px;border-left:4px solid #8b8f99}.blocked-day-card h3{margin:3px 0}.blocked-day-list{display:grid;gap:8px}.blocked-day-item{display:flex;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f7f7f8}.blocked-day-item span{color:var(--muted);font-size:12px;font-weight:700}
@media(max-width:760px){.calendar-jump-form select{min-width:150px}.blocked-day-item{align-items:flex-start;flex-direction:column;gap:3px}}
