:root{--navy:#042159;--cyan:#04b1d9;--yellow:#f2b705;--ink:#13233f;--muted:#627189;--line:#dce5ee;--surface:#fff;--bg:#f5f8fb;--danger:#b42335;--success:#176b48;--radius:16px;--shadow:0 14px 40px rgba(4,33,89,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:var(--navy);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,p{margin-top:0}h1{font-size:clamp(1.8rem,3vw,2.55rem);letter-spacing:-.035em;color:var(--navy);margin-bottom:.35rem}h2{color:var(--navy)}.brand{display:inline-flex;align-items:center;font-weight:900;font-size:1.45rem;letter-spacing:-.06em;color:var(--cyan)}.brand-bee{color:var(--navy)}.brand-large{font-size:2.4rem}.eyebrow{display:block;color:#07839f;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.45rem}.button,.icon-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:10px;min-height:42px;padding:.65rem 1rem;font-weight:700;transition:.18s ease}.button:hover,.icon-button:hover{border-color:var(--cyan);transform:translateY(-1px)}.button-primary{background:var(--navy);border-color:var(--navy);color:#fff}.button-primary:hover{background:#0b3475}.button-danger{color:#fff;background:var(--danger);border-color:var(--danger)}.button-block{width:100%}.icon-button{width:42px;padding:0}.link-button{border:0;background:none;color:var(--cyan);padding:.35rem 0}.alert{padding:.85rem 1rem;border-radius:10px;margin:0 0 1rem;border:1px solid}.alert-success{color:var(--success);background:#eaf8f1;border-color:#a8d9c3}.alert-error{color:#8b1324;background:#fff0f2;border-color:#f1b4be}.alert-warning{color:#765700;background:#fff9dc;border-color:#ead785}.card,.booking-card,.result-card,.status-card,.guest-card,.empty-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.admin-shell{display:grid;grid-template-columns:240px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:1.5rem;display:flex;flex-direction:column;z-index:20}.tenant-name{font-size:.78rem;color:var(--muted);margin:.3rem 0 1.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main-nav{display:grid;gap:.3rem}.main-nav a{padding:.72rem .8rem;border-radius:9px;font-size:.92rem;font-weight:650}.main-nav a:hover{background:#eaf8fc;color:#087f9a}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:1rem;display:grid;font-size:.85rem}.main-content{min-width:0;padding:2.2rem clamp(1rem,3vw,3rem)}.menu-button{display:none}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-heading p{color:var(--muted);margin:0}.heading-actions{display:flex;gap:.55rem;flex-wrap:wrap}.toolbar{display:flex;align-items:center;gap:.65rem;margin-bottom:1rem}.toolbar input,.toolbar select{min-width:240px}.field{display:grid;gap:.4rem;color:var(--ink);font-size:.9rem}.field>span,.toolbar label{font-weight:700}.field input,.field select,.field textarea,.toolbar input,.toolbar select,.schedule-row input,.calendar-toolbar select{width:100%;border:1px solid #cbd8e5;border-radius:9px;background:#fff;color:var(--ink);padding:.7rem .75rem;outline:none}.field input:focus,.field select:focus,.field textarea:focus,.toolbar input:focus,.toolbar select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(4,177,217,.12)}.form-card{padding:1.5rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}.field-wide{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--line)}.check-row{display:flex!important;align-items:center;gap:.5rem;font-weight:500!important}.check-row input{width:auto}.error-text{color:var(--danger)}.danger-zone{margin-top:1rem}.table-card{overflow:hidden}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.9rem 1rem;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#f9fbfd}.actions{text-align:right}.empty{text-align:center;color:var(--muted);padding:2.5rem}.pagination{display:flex;justify-content:space-between;padding:1rem;color:var(--muted);font-size:.85rem}.pagination div{display:flex;gap:1rem}.calendar-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.calendar-toolbar{padding:1rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);gap:1rem}.calendar-toolbar>div{display:flex;gap:.4rem}.calendar-toolbar h2{text-align:center;margin:0;font-size:1.15rem}.calendar-toolbar select{justify-self:end;max-width:210px}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-week span{text-align:center;padding:.65rem;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.calendar-day{min-height:128px;border-top:1px solid var(--line);border-right:1px solid var(--line);padding:.45rem;background:#fff;overflow:hidden}.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside{background:#f8fafc;color:#99a4b3}.calendar-day.today .day-number{background:var(--cyan);color:#fff}.day-number{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-size:.78rem;font-weight:750}.event-chip{width:100%;border:0;border-left:3px solid var(--event-color,var(--cyan));background:#eef7fb;border-radius:5px;padding:.35rem .4rem;margin-top:.3rem;text-align:left;color:var(--navy);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-chip.cancelled{text-decoration:line-through;opacity:.55}.event-dialog{border:0;border-radius:16px;padding:1.5rem;box-shadow:0 20px 70px rgba(4,33,89,.28);max-width:440px;width:calc(100% - 2rem)}.event-dialog::backdrop{background:rgba(4,18,44,.55)}.dialog-close{float:right;border:0;background:none;font-size:1.5rem}.dialog-actions{display:flex;gap:.5rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:1rem;flex-wrap:wrap}.schedule-card{padding:1.2rem}.schedule-row{display:grid;grid-template-columns:minmax(150px,1fr) 1fr 1fr;gap:1rem;align-items:center;padding:.75rem;border-bottom:1px solid var(--line)}.connection-list{padding:0 1.2rem}.connection-row{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 0;border-bottom:1px solid var(--line)}.connection-row:last-child{border:0}.connection-row small{display:block;color:var(--muted);margin-top:.2rem}.guest-shell{display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at top right,rgba(4,177,217,.25),transparent 35%),var(--navy)}.guest-card{width:min(440px,100%);padding:2.2rem}.login-copy{margin:2rem 0}.login-copy p{color:var(--muted)}.login-form{display:grid;gap:1rem}.public-shell{background:linear-gradient(180deg,#f2fbfd 0,#f7f9fc 380px)}.public-header{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 max(1rem,calc((100vw - 1000px)/2));color:var(--muted);font-size:.85rem}.public-main{width:min(960px,calc(100% - 2rem));margin:3rem auto}.public-footer{text-align:center;padding:2rem;color:var(--muted);font-size:.8rem}.booking-hero{text-align:center;max-width:670px;margin:0 auto 2rem}.booking-hero p{color:var(--muted);font-size:1.05rem}.booking-card{overflow:hidden}.steps{list-style:none;margin:0;padding:1rem 1.5rem;display:flex;justify-content:center;gap:2rem;background:#f8fbfd;border-bottom:1px solid var(--line);font-size:.8rem;font-weight:800;color:#8491a4}.steps li.active{color:#087f9a}.booking-step{padding:clamp(1.2rem,4vw,2.5rem)}.booking-step h2{text-align:center}.service-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.service-option{position:relative;display:block}.service-option input{position:absolute;opacity:0}.service-option>span{display:grid;gap:.25rem;height:100%;padding:1rem;border:2px solid var(--line);border-left:5px solid var(--service-color);border-radius:12px;cursor:pointer}.service-option input:checked+span{border-color:var(--cyan);background:#f1fbfd}.service-option small,.service-option em{color:var(--muted);font-size:.8rem}.service-option em{font-style:normal}.step-actions{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem}.step-actions .button:last-child{margin-left:auto}.slots{display:flex;gap:.55rem;flex-wrap:wrap;min-height:75px;margin-top:1.2rem;padding:1rem;background:#f8fafc;border-radius:12px}.slot{position:relative}.slot input{position:absolute;opacity:0}.slot span{display:grid;border:1px solid var(--line);border-radius:9px;padding:.55rem .8rem;background:#fff;cursor:pointer;font-size:.85rem}.slot span small{color:var(--muted)}.slot input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}.slot input:checked+span small{color:#c8e9f2}.muted{color:var(--muted)}.result-card,.status-card{width:min(620px,100%);margin:3rem auto;padding:clamp(1.5rem,5vw,3rem);text-align:center}.result-icon{margin:0 auto 1.2rem;width:62px;height:62px;display:grid;place-items:center;border-radius:50%;background:#dff7eb;color:var(--success);font-size:2rem;font-weight:900}.muted-icon{background:#eef4f8;color:var(--navy)}.appointment-summary{text-align:left;border-top:1px solid var(--line);margin:1.5rem 0}.appointment-summary div{display:grid;grid-template-columns:110px 1fr;padding:.8rem 0;border-bottom:1px solid var(--line)}.appointment-summary dt{color:var(--muted)}.appointment-summary dd{margin:0;font-weight:700}.status-code{display:block;color:var(--cyan);font-size:3rem;font-weight:900}.empty-card{padding:2rem;text-align:center;color:var(--muted)}code{background:#eff4f8;padding:.2rem .4rem;border-radius:5px}
@media(max-width:800px){.admin-shell{display:block}.sidebar{position:fixed;left:-260px;width:240px;transition:left .2s}.sidebar.open{left:0}.main-content{padding:1rem}.menu-button{display:block;border:0;background:#fff;border-radius:8px;padding:.5rem;margin-bottom:1rem}.page-heading{align-items:flex-start;flex-direction:column}.calendar-toolbar{grid-template-columns:1fr auto}.calendar-toolbar h2{grid-row:1;grid-column:1/-1}.calendar-toolbar select{max-width:150px}.calendar-day{min-height:92px}.event-chip{font-size:0;height:8px;padding:0}.event-chip::before{content:""}.form-grid,.service-options{grid-template-columns:1fr}.schedule-row{grid-template-columns:1fr 1fr}.schedule-row>.check-row{grid-column:1/-1}.pagination{flex-direction:column;gap:.5rem}}
@media(max-width:520px){.public-main{margin:1.5rem auto}.steps{gap:.7rem;padding:.8rem;font-size:.68rem}.booking-step{padding:1rem}.calendar-week span{font-size:.6rem}.calendar-day{min-height:70px;padding:.25rem}.day-number{width:22px;height:22px}.heading-actions{width:100%}.heading-actions .button{flex:1}.toolbar{align-items:stretch;flex-direction:column}.toolbar input,.toolbar select{min-width:0}}
.team-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:1rem}.team-form{grid-template-columns:1fr}@media(max-width:1000px){.team-grid{grid-template-columns:1fr}}
.nav-section{margin-top:.8rem;padding:.45rem .8rem .15rem;color:var(--muted);font-size:.68rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.status-pill{display:inline-flex;padding:.28rem .55rem;border-radius:999px;background:#eef4f8;color:var(--navy);font-size:.72rem;font-weight:800}.status-in_progress{background:#e4f8fc;color:#087f9a}.status-completed{background:#eaf8f1;color:var(--success)}
