:root{--navy:#10243d;--ink:#172333;--muted:#687789;--blue:#315df5;--teal:#16877d;--line:#dfe5e3;--canvas:#f7f8f6}*{box-sizing:border-box}body{font-family:'DM Sans',sans-serif}.text-ink{color:var(--ink)}.text-muted{color:var(--muted)}.bg-navy{background:var(--navy)}.brand-mark{display:grid;height:34px;width:34px;place-items:center;border-radius:11px;background:var(--blue);color:#fff;font-family:Fraunces,serif;font-size:20px;font-weight:600}.brand-mark-light{background:#fff;color:var(--navy)}.brand-logo{height:38px;width:38px;border-radius:10px;object-fit:cover}.tenant-mark{background:var(--tenant-accent,var(--blue))}.display{font-family:Fraunces,serif;font-size:clamp(2.1rem,5vw,4.2rem);font-weight:500;line-height:1.04}.display em{color:#9eb4ff;font-style:italic}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em}.booking-hero{position:relative;margin-bottom:34px;overflow:hidden;border-radius:24px;background:linear-gradient(135deg,var(--navy),#1f3b57);padding:clamp(28px,5vw,54px);color:#fff;box-shadow:0 18px 45px rgba(16,36,61,.12)}.booking-hero:after{content:"";position:absolute;right:0;bottom:0;width:42%;height:8px;background:var(--tenant-accent,var(--blue))}.booking-hero-editorial{background:#172333}.booking-hero-compact{padding:30px}.hero-line{position:absolute;bottom:30px;right:10%;height:1px;width:220px;background:rgba(255,255,255,.28);transform:rotate(-28deg)}.booking-panel,.dashboard-card,.stat-card{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 30px rgba(16,36,61,.035)}.booking-panel{padding:clamp(22px,4vw,42px)}.section-title{margin-top:8px;color:var(--ink);font-size:clamp(1.45rem,3vw,2rem);font-weight:700}.field-label{display:block;margin-bottom:8px;color:var(--ink);font-size:12px;font-weight:700}.field-input,.select-compact,.link-copy{width:100%;border:1px solid var(--line);border-radius:10px;background:#fbfcfa;padding:13px 14px;color:var(--ink);outline:0;transition:.2s}.link-copy{padding:10px 12px;font-size:12px}.field-input:focus,.select-compact:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(49,93,245,.1)}.choice-card,.branch-card,.slot-button{position:relative;border:1px solid var(--line);border-radius:14px;background:#fff;padding:18px;transition:.2s}.choice-card:hover,.branch-card:hover,.slot-button:hover{border-color:#aabcf8;transform:translateY(-1px)}.choice-selected,.branch-selected,.slot-selected{border-color:var(--tenant-accent,var(--blue));background:#f4f6ff;box-shadow:0 0 0 3px rgba(49,93,245,.08)}.choice-icon{display:grid;height:34px;width:34px;place-items:center;border-radius:10px;background:#edf1ff;color:var(--blue);margin-bottom:16px}.choice-check{position:absolute;right:16px;top:16px;color:var(--blue);font-size:18px}.branch-card{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;color:var(--ink);font-size:14px;font-weight:700}.branch-card small{color:var(--muted);font-size:11px;font-weight:500}.button-primary,.button-secondary{align-items:center;justify-content:center;gap:12px;border-radius:10px;padding:13px 18px;font-size:14px;font-weight:700;transition:.2s}.button-primary{background:var(--tenant-accent,var(--blue));color:#fff;box-shadow:0 7px 16px rgba(49,93,245,.2)}.button-primary:hover{filter:brightness(.93);transform:translateY(-1px)}.button-secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}.button-secondary:hover{background:#f5f7f5}.mini-button{display:inline-flex;margin-left:6px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:7px 9px;color:var(--ink);font-size:11px;font-weight:700}.mini-button.danger{color:#b42318}.step-pill{display:flex;align-items:center;gap:7px;color:#9aa6b4;font-size:12px;font-weight:700}.step-pill span{display:grid;height:27px;width:27px;place-items:center;border:1px solid #cbd3d2;border-radius:50%;font-size:11px}.step-active{color:var(--ink)}.step-active span{border-color:var(--tenant-accent,var(--blue));background:var(--tenant-accent,var(--blue));color:#fff}.step-line{height:1px;width:28px;background:#d4dbd9}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.slot-button{padding:13px 8px;color:var(--ink);font-size:13px;font-weight:700}.slot-button:disabled{cursor:not-allowed;opacity:.35;text-decoration:line-through}.empty-state{border:1px dashed #cbd3d2;border-radius:14px;padding:24px;text-align:center;color:var(--muted);font-size:13px}.success-icon{display:grid;height:60px;width:60px;margin:0 auto 20px;place-items:center;border-radius:50%;background:#dcf4eb;color:var(--teal);font-size:26px;font-weight:700}.side-link{display:flex;width:100%;align-items:center;gap:12px;border-radius:12px;padding:12px;color:#aab7c8;font-size:13px;font-weight:600;text-align:left}.side-link:hover,.side-link-active{background:#fff;color:var(--navy)}.avatar{display:grid;height:36px;width:36px;place-items:center;border-radius:50%;background:#dce5ff;color:var(--blue);font-size:12px;font-weight:700}.stat-card{padding:21px}.dashboard-card{padding:24px}.calendar-board{display:grid;gap:10px}.calendar-hour{display:grid;grid-template-columns:64px 1fr;align-items:center;color:var(--muted);font-size:12px}.calendar-hour div{height:1px;background:#e6ebe9}.calendar-event{display:flex;align-items:center;justify-content:space-between;gap:16px;border-left:4px solid var(--blue);border-radius:14px;background:#f4f7ff;padding:15px}.list-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:14px;background:#fbfcfa;padding:15px}.list-card span{color:var(--muted);font-size:12px}.branch-dot{height:10px;width:10px;border-radius:50%;background:#54b9aa}.status-live,.status-badge{border-radius:999px;background:#e2f5ee;padding:4px 8px;color:#16877d;font-size:10px;font-weight:700}.status-badge{background:#edf1ff;color:var(--blue)}@media(max-width:640px){.slot-grid{grid-template-columns:repeat(2,1fr)}.calendar-event{display:block}.mini-button{margin-top:10px;margin-left:0;margin-right:6px}}
.search-input,.toolbar-input{border:1px solid var(--line);border-radius:10px;background:#fbfcfa;padding:10px 12px;color:var(--ink);font-size:13px;outline:0}.search-input{width:min(340px,70vw)}.bell-button,.icon-button{display:grid;height:36px;min-width:36px;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:13px;font-weight:800}.kpi-card{display:flex;gap:12px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:16px;box-shadow:0 8px 26px rgba(16,36,61,.035)}.kpi-card>span{display:grid;height:32px;width:32px;place-items:center;border-radius:9px;background:#edf1ff;color:var(--blue);font-weight:800}.kpi-card p{color:var(--muted);font-size:12px}.kpi-card strong{display:block;margin-top:3px;color:var(--ink);font-size:22px}.kpi-card small{color:var(--muted);font-size:11px}.calendar-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}.segmented{display:flex;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#f8faf9}.segmented button{padding:9px 12px;color:var(--muted);font-size:12px;font-weight:800}.segmented .is-active{background:#fff;color:var(--blue);box-shadow:0 1px 8px rgba(16,36,61,.08)}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));overflow:auto;border:1px solid var(--line);border-radius:14px}.month-head{background:#f4f6f4;padding:10px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.month-cell{min-height:138px;border-top:1px solid var(--line);border-right:1px solid var(--line);background:#fff;padding:10px;text-align:left}.month-cell.is-today{background:#f8fbff}.month-cell.is-selected{box-shadow:inset 0 0 0 2px var(--blue)}.month-cell small{color:var(--muted);font-size:10px}.month-chip,.more-chip{display:block;overflow:hidden;border-radius:8px;padding:5px 7px;color:#172333;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.more-chip{background:#f0f2f1;color:var(--muted)}.week-grid{display:grid;grid-template-columns:70px repeat(7,minmax(132px,1fr));overflow:auto;border:1px solid var(--line);border-radius:14px}.week-grid.is-day-view{grid-template-columns:70px minmax(320px,1fr)}.week-head-spacer,.week-day-head{position:sticky;top:0;z-index:1;background:#f4f6f4;border-bottom:1px solid var(--line);padding:10px}.week-day-head{border-left:1px solid var(--line);text-align:center}.week-day-head span{display:block;color:var(--muted);font-size:11px;font-weight:800}.week-day-head strong{color:var(--ink)}.time-label{background:#fbfcfa;border-top:1px solid var(--line);padding:10px;color:var(--muted);font-size:11px;font-weight:800}.week-slot,.staff-slot{min-height:78px;border-top:1px solid var(--line);border-left:1px solid var(--line);background:#fff;padding:6px;text-align:left}.week-slot:hover,.staff-slot:hover{background:#f8fbff}.week-booking,.staff-booking{display:block;border-left:4px solid var(--blue);border-radius:10px;background:#edf1ff;padding:8px;color:var(--ink);font-size:12px;box-shadow:0 6px 12px rgba(16,36,61,.08)}.week-booking small{display:block;color:var(--muted);font-size:10px}.is-pending{border-color:#d69324!important;background:#fff7e6!important}.is-confirmed{border-color:#315df5!important;background:#edf1ff!important}.is-completed{border-color:#16877d!important;background:#e7f6f3!important}.is-danger{border-color:#b42318!important;background:#fff1f1!important}.agenda-list{display:grid;gap:10px}.agenda-card{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px;text-align:left}.agenda-card p{color:var(--muted);font-size:12px}.status-dot{height:10px;width:10px;border-radius:50%;background:var(--blue)}.staff-timeline{display:grid;grid-template-columns:80px repeat(var(--staff-count),minmax(180px,1fr));overflow:auto;border:1px solid var(--line);border-radius:14px}.timeline-corner,.staff-head{position:sticky;top:0;z-index:1;background:#f4f6f4;border-bottom:1px solid var(--line);padding:10px}.staff-head{display:flex;align-items:center;gap:8px;border-left:1px solid var(--line)}.avatar.small{height:28px;width:28px}.summary-row,.action-row{display:flex;width:100%;align-items:center;justify-content:space-between;border-radius:12px;background:#f6f8f7;padding:11px;color:var(--ink);font-size:13px}.drawer{position:fixed;inset:0;z-index:50;display:flex;justify-content:flex-end;background:rgba(16,36,61,.28);backdrop-filter:blur(2px)}.drawer-panel{height:100%;width:min(480px,100%);overflow:auto;background:#fff;padding:24px;box-shadow:-18px 0 40px rgba(16,36,61,.18)}.detail-grid{display:grid;grid-template-columns:130px 1fr;gap:11px;font-size:14px}.detail-grid dt{color:var(--muted)}.detail-grid dd{font-weight:700;color:var(--ink)}@media(max-width:900px){.week-grid{grid-template-columns:58px repeat(7,minmax(118px,1fr))}.calendar-toolbar{align-items:stretch}.segmented{overflow:auto}.kpi-card{padding:13px}}@media(max-width:640px){.month-grid{grid-template-columns:repeat(7,112px)}.search-input{width:100%}.drawer-panel{width:100%}}
.metric-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.metric-strip .kpi-card{min-width:132px;align-items:center;gap:8px;border-radius:10px;padding:8px 10px;box-shadow:none}.metric-strip .kpi-card>span{height:22px;width:22px;border-radius:7px;font-size:11px}.metric-strip .kpi-card p{font-size:10px;line-height:1.1;white-space:nowrap}.metric-strip .kpi-card strong{display:inline;margin-top:0;font-size:15px;line-height:1.1}.metric-strip .kpi-card small{display:block;font-size:9px;line-height:1.1;white-space:nowrap}.calendar-card{padding:14px}.calendar-card .mb-4{margin-bottom:8px}.calendar-card .mt-6{margin-top:12px}.calendar-toolbar{gap:8px}.toolbar-input{padding:8px 10px;font-size:12px}.segmented button{padding:7px 10px;font-size:11px}.week-grid{grid-template-columns:56px repeat(7,minmax(120px,1fr))}.week-head-spacer,.week-day-head{padding:7px}.time-label{padding:7px;font-size:10px}.week-slot,.staff-slot{min-height:58px;padding:4px}.week-booking,.staff-booking{border-left-width:3px;border-radius:8px;padding:6px;font-size:11px}.week-booking small{font-size:9px}.month-cell{min-height:112px;padding:8px}.dashboard-card{padding:16px}@media(max-width:900px){.metric-strip .kpi-card{min-width:118px}.calendar-card{padding:10px}.week-grid{grid-template-columns:48px repeat(7,minmax(108px,1fr))}}@media(max-width:640px){.metric-strip{margin-inline:-4px;padding-inline:4px}.metric-strip .kpi-card{min-width:112px}.calendar-card{margin-inline:-4px;border-radius:12px}}
.app-sidebar{display:none;width:220px;flex-shrink:0;flex-direction:column;background:var(--navy);padding:18px 12px;color:#fff;transition:width .18s ease,padding .18s ease}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:0 6px;min-width:0}.sidebar-toggle{display:grid;height:30px;width:30px;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:rgba(255,255,255,.08);color:#dce5f4;font-size:18px;font-weight:800}.sidebar-workspace{padding:0 8px;min-height:78px}.sidebar-collapsed-badge{display:none;height:32px;width:32px;place-items:center;border-radius:10px;background:rgba(255,255,255,.1);color:#fff;font-size:12px;font-weight:800}.side-link b,.sidebar-public-link b,.sidebar-text,.sidebar-section{transition:opacity .12s ease}.side-link span{display:grid;height:24px;width:24px;flex:0 0 24px;place-items:center;border-radius:8px;background:rgba(255,255,255,.06)}.side-link b{font-size:12px;font-weight:700}.sidebar-public-link{display:flex;align-items:center;gap:10px;border-radius:12px!important;padding:12px!important}.sidebar-public-link span{display:grid;height:24px;width:24px;place-items:center;border-radius:8px;background:rgba(255,255,255,.08)}.app-sidebar.is-collapsed{width:68px;padding:18px 9px;align-items:center}.app-sidebar.is-collapsed .brand-mark{height:34px;width:34px}.app-sidebar.is-collapsed .sidebar-logo{justify-content:center;padding:0}.app-sidebar.is-collapsed .sidebar-toggle{height:28px;width:28px}.app-sidebar.is-collapsed .sidebar-text,.app-sidebar.is-collapsed .sidebar-section,.app-sidebar.is-collapsed .side-link b,.app-sidebar.is-collapsed .sidebar-public-link b{display:none}.app-sidebar.is-collapsed .sidebar-workspace{display:grid;min-height:44px;place-items:center;padding:0}.app-sidebar.is-collapsed .sidebar-collapsed-badge{display:grid}.app-sidebar.is-collapsed nav{width:100%}.app-sidebar.is-collapsed .side-link{justify-content:center;padding:10px 0}.app-sidebar.is-collapsed .side-link span{margin:0}.app-sidebar.is-collapsed .sidebar-public-link{justify-content:center;width:42px;padding:10px!important}.app-sidebar.is-collapsed .sidebar-public-link span{height:22px;width:22px}@media(min-width:1024px){.app-sidebar{display:flex}}
.week-slot.is-closed{background:repeating-linear-gradient(135deg,#f3f4f4 0,#f3f4f4 8px,#eef0f0 8px,#eef0f0 16px);cursor:not-allowed;opacity:.72}.week-slot.is-working{background:#fff}.working-hours-panel{border:1px solid var(--line);border-radius:14px;background:#fbfcfa;padding:16px}.working-hours-row{display:grid;grid-template-columns:minmax(150px,1fr) auto;align-items:center;gap:12px;border-top:1px solid #edf0ef;padding-top:10px}.working-hours-row:first-child{border-top:0;padding-top:0}@media(max-width:640px){.working-hours-row{grid-template-columns:1fr}.working-hours-row .toolbar-input{width:100%}}
.staff-tabs{display:inline-flex;gap:4px;border:1px solid var(--line);border-radius:12px;background:#f8faf9;padding:4px}.staff-tabs button{border-radius:9px;padding:9px 14px;color:var(--muted);font-size:12px;font-weight:800}.staff-tabs button.is-active{background:#fff;color:var(--blue);box-shadow:0 1px 8px rgba(16,36,61,.08)}
.min-w-0.flex-1>header .eyebrow{font-size:9px;letter-spacing:.13em}.min-w-0.flex-1>header .search-input{height:32px;width:min(280px,48vw);padding:7px 10px;font-size:12px}.min-w-0.flex-1>header .bell-button,.min-w-0.flex-1>header .icon-button{height:32px;min-width:32px}.min-w-0.flex-1>header .avatar{height:32px;width:32px}.min-w-0.flex-1>header .button-primary{height:32px;padding:7px 12px!important;font-size:12px}.min-w-0.flex-1>header .mini-button{height:32px;margin-left:0;padding:7px 10px}
.language-switcher{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:#fff;padding:3px}.language-switcher select{appearance:none;border:0;background:transparent;color:var(--ink);font-size:11px;font-weight:800;padding:6px 24px 6px 10px;border-radius:999px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 13px) 50%,calc(100% - 8px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.language-switcher select:focus{outline:2px solid var(--blue);outline-offset:2px}
.calendar-shell{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 30px rgba(16,36,61,.035)}.calendar-titlebar{border-bottom:1px solid var(--line);padding:14px 16px 12px}.calendar-titlebar h2{margin-top:4px;color:var(--ink);font-size:18px;font-weight:800}.calendar-shell .calendar-toolbar{border-bottom:1px solid var(--line);padding:14px 16px}.calendar-legends{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding:11px 16px;color:#718095;font-size:11px;flex-wrap:wrap}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.is-confirmed-dot{background:#315df5}.is-completed-dot{background:#16877d}.is-pending-dot{background:#d69324}.is-danger-dot{background:#b42318}.calendar-range-note{margin-left:auto}.calendar-scroll{overflow:auto}.calendar-board-timeline{min-width:1040px}.calendar-days{display:grid;grid-template-columns:72px repeat(var(--day-count,7),minmax(132px,1fr));border-bottom:1px solid var(--line)}.staff-board .calendar-days{grid-template-columns:72px repeat(var(--staff-count,1),minmax(180px,1fr))}.calendar-board-timeline.is-day-view{min-width:430px}.calendar-board-timeline.is-day-view .calendar-days,.calendar-board-timeline.is-day-view .calendar-timeline{grid-template-columns:72px minmax(320px,1fr)}.dayhead{min-height:38px;border-right:1px solid #f0f1f4;padding:6px 5px;text-align:center}.dayhead small{color:#97a3b1;font-size:10px;font-weight:800;text-transform:uppercase}.dayhead strong{display:block;margin-top:1px;color:var(--ink);font-size:14px}.dayhead.today strong{display:grid;width:24px;height:24px;margin:1px auto -1px;place-items:center;border-radius:50%;background:#eaf0ff;color:var(--blue)}.staff-dayhead{display:flex;align-items:center;justify-content:center;gap:9px;text-align:left}.calendar-timeline{display:grid;grid-template-columns:72px repeat(var(--day-count,7),minmax(132px,1fr));position:relative}.staff-board .calendar-timeline{grid-template-columns:72px repeat(var(--staff-count,1),minmax(180px,1fr))}.timecol{position:relative;height:calc(var(--slot-count,14)*62px);border-right:1px solid var(--line);background:#fbfcfa}.timelabel{position:absolute;right:12px;transform:translateY(-7px);color:#9ca6b4;font-size:10px;font-weight:800}.daycol{position:relative;height:calc(var(--slot-count,14)*62px);border-right:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 30px,#f5f6f9 30px,#f5f6f9 31px,transparent 31px,transparent 61px,#e7eaf0 61px,#e7eaf0 62px)}.daycol.today{background-color:#fcfdff}.slot-hit{position:absolute;left:0;right:0;height:62px;width:100%;border:0;background:transparent;text-align:left}.slot-hit:hover{background:rgba(49,93,245,.045)}.slot-hit.is-closed{background:repeating-linear-gradient(135deg,rgba(243,244,244,.78) 0,rgba(243,244,244,.78) 8px,rgba(238,240,240,.78) 8px,rgba(238,240,240,.78) 16px)}.calendar-event-card{position:absolute;left:5px;right:5px;z-index:2;overflow:hidden;border:1px solid;border-left-width:4px;border-radius:9px;padding:7px 8px 8px;text-align:left;box-shadow:0 2px 4px rgba(23,52,80,.06)}.calendar-event-card .evtime{display:block;font-size:10px;font-weight:800;opacity:.82}.calendar-event-card strong{display:block;margin:4px 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.calendar-event-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;opacity:.82}.calendar-event-card em{display:block;margin-top:5px;font-size:9px;font-style:normal;font-weight:800;text-transform:uppercase}.calendar-event-card.is-confirmed{border-color:#cbdaff;background:#eaf0ff;color:#294ca4}.calendar-event-card.is-completed{border-color:#c5ebdb;background:#e7f7f1;color:#157b61}.calendar-event-card.is-pending{border-color:#f7dfb4;background:#fff5e5;color:#a57018}.calendar-event-card.is-danger{border-color:#f5d4da;background:#fff0f2;color:#ad5362}.calendar-agenda{padding:14px}.calendar-hint{border-top:1px solid var(--line);background:#fcfcfe;padding:12px 16px;color:#8190a2;font-size:11px}.calendar-hint strong{color:#52637b}@media(max-width:750px){.calendar-shell .calendar-toolbar{padding:12px}.calendar-legends{gap:11px;padding:10px 12px}.calendar-range-note{margin-left:0}.calendar-board-timeline{min-width:900px}.calendar-board-timeline.is-day-view{min-width:390px}.calendar-event-card{padding:6px}.calendar-event-card em{display:none}}
