:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f4f6f5;--surface:#fff;--sidebar:#1f302b;--ink:#21312c;--muted:#68766f;--accent:#3e735f;--accent-soft:#e4eee9;--border:#dfe5e1}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--ink);background:var(--background);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{color:#fff;background:var(--accent);min-height:2.75rem;font:inherit;border:0;border-radius:.65rem;padding:.7rem 1rem;font-weight:700}.button-link{color:#fff;background:var(--accent);border-radius:.65rem;place-items:center;min-height:2.75rem;padding:.7rem 1rem;font-weight:700;display:inline-grid}button:disabled{cursor:not-allowed;opacity:.7}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #3e735f4d}.admin-shell{min-height:100svh}.sidebar{color:#f5faf7;background:var(--sidebar);flex-direction:column;gap:1.5rem;padding:1rem;display:flex}.brand{align-items:center;gap:.7rem;display:inline-flex}.brand>span:last-child{gap:.1rem;display:grid}.brand strong{font-size:.95rem}.brand small{color:#b8c8c1;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.brand-mark{width:2.25rem;height:2.25rem;color:var(--sidebar);background:#d9e9e1;border-radius:.65rem;flex:none;place-items:center;font-family:Georgia,serif;font-size:1.15rem;display:grid}.sidebar nav{gap:.35rem;display:flex;overflow-x:auto}.register-form{gap:1rem;max-width:48rem;margin-bottom:1.5rem;display:grid}.register-form label{gap:.35rem;font-weight:650;display:grid}.checkout-total{background:#edf5f1;border-radius:.75rem;justify-content:space-between;align-items:center;padding:1rem;font-size:1.1rem;display:flex}.square-card-container{background:#fff;border:1px solid #ccd8d2;border-radius:.65rem;min-height:90px;padding:.75rem}.nav-item{color:#c6d4ce;white-space:nowrap;border-radius:.55rem;padding:.65rem .8rem;font-size:.9rem}.nav-item.active{color:#fff;background:#ffffff1c}.nav-item[aria-disabled=true]{cursor:not-allowed;opacity:.62}.logout-button{color:#f5faf7;background:#ffffff1a;margin-top:auto}.topbar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:1rem;min-height:4.5rem;padding:.8rem 1.25rem;display:flex}.context-label,.topbar-title{margin:0}.context-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem}.topbar-title{margin-top:.15rem;font-weight:700}.status-pill{color:var(--accent);background:var(--accent-soft);border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .65rem;font-size:.75rem;font-weight:700;display:flex}.status-pill span{background:var(--accent);border-radius:50%;width:.45rem;height:.45rem}.content{width:min(100%,76rem);margin:0 auto;padding:2rem 1.25rem 3rem}.page-heading{justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:2rem;display:flex}.eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .5rem;font-size:.72rem;font-weight:700}h1,h2,p{margin-top:0}h1{letter-spacing:-.025em;margin-bottom:.6rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.2rem,7vw,3.4rem);font-weight:500}.page-heading p:last-child{max-width:38rem;color:var(--muted);margin-bottom:0;line-height:1.55}.overview-grid{gap:1rem;display:grid}.overview-card,.empty-panel,.login-card{border:1px solid var(--border);background:var(--surface);border-radius:.9rem;box-shadow:0 .75rem 2rem #21312c0d}.overview-card{padding:1.25rem;display:grid}.overview-card p{color:var(--muted);margin-bottom:1rem;font-size:.85rem}.overview-card strong{margin-bottom:.45rem;font-size:2rem}.overview-card small{color:var(--muted)}.empty-panel{text-align:center;margin-top:1rem;padding:3rem 1.5rem}.empty-icon{width:3rem;height:3rem;color:var(--accent);background:var(--accent-soft);border-radius:50%;place-items:center;margin:0 auto 1rem;font-weight:800;display:grid}.empty-panel h2{margin-bottom:.5rem;font-size:1.15rem}.empty-panel p{max-width:34rem;color:var(--muted);margin:0 auto;line-height:1.55}.login-page{background:radial-gradient(circle at top,#e1ece6,#0000 32rem);place-items:center;min-height:100svh;padding:1.25rem;display:grid}.login-card{width:min(100%,26rem);padding:2rem}.login-brand{margin-bottom:3rem}.login-card h1{margin-bottom:.75rem}.login-card>p:last-of-type{color:var(--muted);margin-bottom:1.5rem;line-height:1.55}.login-card button{width:100%}.login-form{gap:.55rem;display:grid}.login-form label{color:var(--muted);margin-top:.4rem;font-size:.8rem;font-weight:700}.login-form input{border:1px solid var(--border);min-height:2.85rem;color:var(--ink);font:inherit;background:#fff;border-radius:.65rem;padding:.7rem .8rem}.login-form button{margin-top:.8rem}.form-error,.form-notice{border-radius:.6rem;padding:.75rem;font-size:.88rem}.form-error{background:#fff1ef;color:#8f3f37!important}.form-notice{background:#fff8df;color:#66501c!important}.checking-card{text-align:center}.owner-notice{border-left:.3rem solid var(--accent)}.back-link{color:var(--accent);text-align:center;margin-top:1.25rem;font-size:.85rem;font-weight:700;display:block}.gate-page{background:radial-gradient(circle at top,#e1ece6,#0000 32rem);place-items:center;min-height:100svh;padding:1.25rem;display:grid}.gate-card{border:1px solid var(--border);background:var(--surface);border-radius:1rem;width:min(100%,30rem);padding:2rem;box-shadow:0 1rem 3rem #21312c14}.gate-card>p:not(.eyebrow){color:var(--muted);line-height:1.55}.gate-card button{width:100%}.gate-warning{color:#8b4c2f;text-align:center;margin-top:1rem;display:block}.view-grid,.therapist-grid,.schedule-grid{gap:1rem;display:grid}.view-card,.therapist-card,.catalog-row,.schedule-column,.state-panel,.placeholder-notice,.table-wrap,.filter-bar{border:1px solid var(--border);background:var(--surface);border-radius:.9rem;box-shadow:0 .5rem 1.5rem #21312c0a}.email-filter-grid{align-items:end}.delivery-status{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:.35rem .55rem;font-size:.75rem;font-weight:700;display:inline-block}.delivery-status.retry,.delivery-status.dead_letter{color:#8f3f37;background:#fff1ef}.delivery-status.processing,.delivery-status.pending{color:#66501c;background:#fff8df}.compact-button{min-height:2.25rem;padding:.45rem .7rem}.delivery-detail{border:1px solid var(--border);background:var(--surface);border-radius:.9rem;margin-top:1.5rem;padding:1.25rem}.delivery-detail>header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.delivery-error{color:#8f3f37;background:#fff1ef;border-radius:.65rem;margin:1rem 0;padding:.9rem}.delivery-error p{margin:.35rem 0 0}.delivery-timeline{gap:.75rem;padding-left:1.25rem;display:grid}.delivery-timeline li{padding-left:.35rem}.delivery-timeline span,.delivery-timeline small{color:var(--muted);margin-top:.2rem;display:block}.view-card{min-height:10rem;padding:1.25rem;transition:border-color .12s,transform .12s;display:grid}.view-card:hover{border-color:var(--accent);transform:translateY(-2px)}.view-card h2,.catalog-row h2,.therapist-card h2,.schedule-column h2{margin-bottom:.5rem;font-size:1.1rem}.view-card p,.catalog-row p,.therapist-card p{color:var(--muted);line-height:1.5}.view-card span{color:var(--accent);align-self:end;font-size:.85rem;font-weight:700}.placeholder-notice,.state-panel{color:var(--muted);margin-top:1rem;padding:1.25rem;line-height:1.5}.error-panel{color:#8f3f37;background:#fff7f5}.catalog-list{gap:.75rem;display:grid}.catalog-row{gap:1rem;padding:1.25rem;display:grid}.catalog-row p,.therapist-card p{margin-bottom:0}.compact-facts{gap:1.5rem;margin:0;display:flex}.compact-facts div{gap:.25rem;display:grid}.compact-facts dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem}.compact-facts dd{margin:0;font-weight:700}.therapist-card{gap:1rem;padding:1.25rem;display:flex}.avatar{width:2.75rem;height:2.75rem;color:var(--accent);background:var(--accent-soft);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.filter-bar{gap:.8rem;margin-bottom:1rem;padding:1rem;display:grid}.filter-bar label,.date-control{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;gap:.35rem;font-size:.75rem;font-weight:700;display:grid}.filter-bar input,.filter-bar select,.date-control input{border:1px solid var(--border);min-height:2.75rem;color:var(--ink);font:inherit;letter-spacing:normal;text-transform:none;background:#fff;border-radius:.6rem;padding:.6rem .7rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;min-width:52rem}th,td{border-bottom:1px solid var(--border);vertical-align:top;padding:.9rem 1rem}th{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;background:#f8faf9;font-size:.72rem}tr:last-child td{border-bottom:0}td strong,td small{display:block}td small{color:var(--muted);margin-top:.25rem}.appointment-status{color:var(--accent);background:var(--accent-soft);text-transform:capitalize;border-radius:999px;padding:.35rem .55rem;font-size:.72rem;font-weight:700;display:inline-block}.source-badge{color:#52635c;background:#eef2f0;border-radius:.45rem;padding:.3rem .5rem;font-size:.72rem;font-weight:700;display:inline-block}.source-badge.admin{color:#725122;background:#fff1d6}.schedule-heading{align-items:center}.schedule-toolbar{border:1px solid var(--border);background:var(--surface);border-radius:.9rem;flex-wrap:wrap;align-items:end;gap:.75rem;margin-bottom:1rem;padding:.9rem;display:flex}.schedule-view-picker,.schedule-navigation{gap:.35rem;display:flex}.schedule-view-picker{background:#eef2f0;border-radius:.7rem;padding:.25rem}.schedule-view-picker button{min-height:2.35rem;color:var(--muted);background:0 0;padding:.45rem .8rem}.schedule-view-picker button.active{color:#fff;background:var(--accent)}.schedule-toolbar .date-control{margin-left:auto}.date-control{min-width:12rem}.schedule-column{overflow:hidden}.schedule-column>header{border-bottom:1px solid var(--border);background:#f8faf9;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem;display:flex}.schedule-column>header h2{margin:0}.schedule-column>header span{color:var(--muted);font-size:.75rem}.timeline{display:grid}.schedule-item{border-bottom:1px solid var(--border);grid-template-columns:5rem minmax(0,1fr);gap:1rem;padding:1rem 1.15rem;display:grid}.schedule-appointment-button{width:100%;min-height:0;color:var(--ink);box-shadow:none;text-align:left;background:0 0;border:0;border-radius:0}.schedule-appointment-button:hover,.schedule-appointment-button:focus-visible{background:#f3f7f5;transform:none}.schedule-item-details{gap:.25rem;display:grid}.schedule-item:last-child{border-bottom:0}.schedule-item time{color:var(--accent);font-weight:800}.schedule-item div{gap:.25rem;display:grid}.schedule-item span,.schedule-item small{color:var(--muted)}.week-schedule{gap:.8rem;display:grid}.schedule-grid-note{color:var(--muted);margin:0 0 .75rem;font-size:.82rem}.time-grid-wrap{border:1px solid var(--border);background:var(--surface);border-radius:.9rem;max-height:calc(100svh - 15rem);overflow:auto;box-shadow:0 .5rem 1.5rem #21312c0a}.time-grid{align-items:start;min-width:max-content;display:grid}.time-grid-corner,.time-grid-day-heading{z-index:4;border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;background:#eef2f0;min-height:3rem;padding:.75rem .5rem;font-size:.78rem;font-weight:800;position:sticky;top:0}.time-grid-corner{z-index:5;left:0}.time-grid-label-column{z-index:3;border-right:1px solid var(--border);color:var(--muted);background:#f8faf9;position:sticky;left:0}.time-grid-label-column time{text-align:right;width:100%;padding:.25rem .5rem 0 .25rem;font-size:.72rem;font-weight:700;position:absolute;right:0}.time-grid-day-column{border-right:1px solid var(--border);background:#fff;background-image:linear-gradient(to bottom, var(--border) 1px, transparent 1px), linear-gradient(to bottom, #36534614 1px, transparent 1px);background-size:100% 5rem,100% 1.25rem;position:relative}.empty-time-slot{z-index:0;color:#0000;width:100%;min-height:0;box-shadow:none;background:0 0;border-radius:0;padding:0;position:absolute;left:0}.empty-time-slot span{color:#0000}.empty-time-slot:hover,.empty-time-slot:focus-visible{color:var(--accent);background:var(--accent-soft);transform:none}.empty-time-slot:hover span,.empty-time-slot:focus-visible span{color:var(--accent)}.grid-appointment,.grid-block,.grid-buffer{z-index:2;min-width:0;min-height:0;color:var(--ink);box-shadow:inset .2rem 0 var(--accent);text-align:left;background:#dcebe4;border:1px solid #335d4b38;border-radius:.35rem;gap:.12rem;padding:.45rem .5rem;font-size:.68rem;display:grid;position:absolute;overflow:hidden}.grid-appointment:hover,.grid-appointment:focus-visible{background:#cee3d9;transform:none}.grid-appointment.checked-out,.month-appointment.checked-out,.compact-appointment.checked-out{color:#59605d;background:#e2e4e3;border-color:#a8aeab;box-shadow:inset .2rem 0 #858c88}.grid-appointment.checked-out:hover,.grid-appointment.checked-out:focus-visible,.month-appointment.checked-out:hover,.month-appointment.checked-out:focus-visible,.compact-appointment.checked-out:hover,.compact-appointment.checked-out:focus-visible{background:#d7dad8}.checkout-label{text-transform:uppercase;letter-spacing:.04em;font-weight:800;color:#4e5551!important}.grid-appointment span,.grid-appointment small,.grid-block span,.grid-block small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.grid-block{z-index:2;background:#f8eadf;box-shadow:inset .2rem 0 #9a6848}.grid-buffer{z-index:1;color:#526159;min-height:0;box-shadow:none;pointer-events:none;white-space:nowrap;background:#e2e8e4e6;border:1px dashed #69777073;border-radius:.25rem;padding:.08rem .35rem;font-size:.62rem;line-height:1.2;overflow:hidden}.grid-buffer.prep{background:#e4ebe7eb}.grid-buffer.recovery{background:#eee8e0eb}.outside-hours{border:1px solid var(--border);background:var(--surface);border-radius:.9rem;margin-top:1rem;padding:1rem}.outside-hours-list{gap:.5rem;display:grid}.compact-block{background:#fcf3ec;border-left:.2rem solid #9a6848;gap:.18rem;padding:.75rem .8rem;font-size:.8rem;display:grid}.schedule-day{border:1px solid var(--border);background:var(--surface);border-radius:.85rem;min-width:0;overflow:hidden}.schedule-day>header{border-bottom:1px solid var(--border);background:#f8faf9;justify-content:space-between;gap:.5rem;padding:.8rem;display:flex}.schedule-day h2,.schedule-day p{margin:0}.schedule-day h2{font-size:.9rem}.schedule-day>header span,.schedule-day>p{color:var(--muted);font-size:.75rem}.schedule-day>p{padding:1rem .8rem}.compact-appointment{border:0;border-bottom:1px solid var(--border);width:100%;min-height:0;color:var(--ink);box-shadow:none;text-align:left;background:0 0;border-radius:0;gap:.18rem;padding:.75rem .8rem;display:grid}.compact-appointment:last-child{border-bottom:0}.compact-appointment:hover,.compact-appointment:focus-visible{background:#f3f7f5;transform:none}.compact-appointment time{color:var(--accent);font-weight:800}.compact-appointment span,.compact-appointment small{color:var(--muted)}.month-calendar{border:1px solid var(--border);background:var(--surface);border-radius:.9rem;grid-template-columns:repeat(7,minmax(7.5rem,1fr));min-width:56rem;display:grid;overflow:hidden}.month-calendar-wrap{overflow-x:auto}.month-weekday{border-right:1px solid var(--border);color:var(--muted);text-align:center;text-transform:uppercase;background:#eef2f0;padding:.65rem;font-size:.72rem;font-weight:800}.month-day{border-top:1px solid var(--border);border-right:1px solid var(--border);min-height:8rem;padding:.45rem}.month-day.outside{background:#f5f7f6}.month-day>header{justify-content:space-between;margin-bottom:.35rem;display:flex}.month-day>header time{font-size:.8rem;font-weight:800}.month-day>header span{color:var(--muted);font-size:.7rem}.month-day>div{gap:.25rem;display:grid}.month-appointment{min-height:0;color:var(--ink);background:var(--accent-soft);box-shadow:none;text-align:left;border:0;border-radius:.4rem;gap:.1rem;padding:.35rem;font-size:.7rem;display:grid}.month-appointment:hover,.month-appointment:focus-visible{background:#dcebe4;transform:none}.month-appointment time{color:var(--accent);font-weight:800}.schedule-appointment-dialog{width:min(40rem,100% - 2rem);max-height:calc(100svh - 2rem);color:var(--ink);border:0;border-radius:1rem;padding:0;box-shadow:0 1.5rem 4rem #141e1a4d}.empty-slot-dialog{width:min(30rem,100% - 2rem);color:var(--ink);border:0;border-radius:1rem;padding:0;box-shadow:0 1.5rem 4rem #141e1a4d}.empty-slot-dialog::backdrop{background:#111c1894}.empty-slot-dialog-content{gap:1.25rem;padding:1.5rem;display:grid}.empty-slot-dialog-content h2,.empty-slot-dialog-content p{margin-top:0}.empty-slot-dialog-content p:not(.eyebrow){color:var(--muted);line-height:1.5}.empty-slot-actions{gap:.7rem;display:grid}.empty-slot-actions .secondary-button{border:1px solid var(--border);min-height:2.75rem;color:var(--ink);background:#fff;border-radius:.65rem;place-items:center;padding:.7rem 1rem;font-weight:700;display:inline-grid}.text-button{min-height:auto;color:var(--muted);box-shadow:none;background:0 0;padding:.35rem}.schedule-appointment-dialog::backdrop{background:#111c1894}.schedule-dialog-content{gap:1rem;padding:1.5rem;display:grid}.schedule-dialog-content>header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.schedule-dialog-content h2,.schedule-dialog-content p{margin:0}.dialog-close{min-width:2.5rem;min-height:2.5rem;color:var(--muted);background:#eef2f0;padding:0;font-size:1.5rem}.schedule-dialog-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin:0;display:grid}.schedule-dialog-facts div{gap:.2rem;display:grid}.schedule-dialog-facts dt{color:var(--muted);text-transform:uppercase;font-size:.7rem;font-weight:800}.schedule-dialog-facts dd{overflow-wrap:anywhere;margin:0}.blocked-time-form,.blocked-time-list{border:1px solid var(--border);background:var(--surface);border-radius:.9rem;margin-bottom:1rem;padding:1.25rem;box-shadow:0 .5rem 1.5rem #21312c0a}.form-section-heading,.section-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.form-section-heading h2,.section-heading h2{margin-bottom:.3rem;font-size:1.1rem}.form-section-heading p,.section-heading p{color:var(--muted);margin-bottom:0;font-size:.85rem}.blocked-time-fields{gap:.8rem;display:grid}.blocked-time-fields label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;gap:.35rem;font-size:.75rem;font-weight:700;display:grid}.blocked-time-fields input,.blocked-time-fields select{border:1px solid var(--border);min-width:0;min-height:2.75rem;color:var(--ink);font:inherit;letter-spacing:normal;text-transform:none;background:#fff;border-radius:.6rem;padding:.6rem .7rem}.inline-error{color:#8f3f37;background:#fff1ee;border-radius:.6rem;margin-top:1rem;padding:.8rem}.blocked-rows{gap:.65rem;display:grid}.blocked-row{border:1px solid var(--border);border-radius:.7rem;align-items:center;gap:.75rem;padding:.9rem;display:grid}.blocked-row time{color:var(--accent);white-space:nowrap;font-weight:800}.blocked-row>div{gap:.25rem;display:grid}.blocked-row span{color:var(--muted);line-height:1.4}.danger-button{color:#8f3f37;background:#fff1ee}.danger-button:hover:not(:disabled){background:#f8dfda}.manual-booking-form,.admin-confirmation{border:1px solid var(--border);background:var(--surface);border-radius:.9rem;box-shadow:0 .5rem 1.5rem #21312c0a}.manual-booking-form>section{border-bottom:1px solid var(--border);padding:1.25rem}.manual-booking-form h2{margin-bottom:1rem;font-size:1.1rem}.client-search{border:1px solid var(--border);background:#f8faf8;border-radius:.75rem;gap:.75rem;margin-bottom:1.25rem;padding:1rem;display:grid}.client-search-controls{gap:.65rem;display:grid}.client-search-controls label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;gap:.35rem;font-size:.75rem;font-weight:700;display:grid}.client-search-controls input{border:1px solid var(--border);min-width:0;min-height:2.85rem;color:var(--ink);font:inherit;letter-spacing:normal;text-transform:none;background:#fff;border-radius:.6rem;padding:.65rem .75rem}.client-search-controls button{align-self:end}.client-search .form-hint{margin:0}.client-search-empty,.selected-client{color:var(--muted);margin:0;font-size:.88rem}.selected-client{color:var(--ink);margin-top:.7rem}.client-search-results{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.client-search-results button{border:1px solid var(--border);width:100%;color:var(--ink);text-align:left;background:#fff;border-radius:.6rem;gap:.15rem;padding:.7rem .8rem;display:grid}.client-search-results button:hover,.client-search-results button:focus-visible,.client-search-results button.selected{border-color:var(--accent);background:#f0f6f2}.client-search-results span{color:var(--muted);overflow-wrap:anywhere;font-size:.82rem}.manual-form-grid{gap:.9rem;display:grid}.manual-form-grid label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;gap:.35rem;font-size:.75rem;font-weight:700;display:grid}.manual-form-grid input,.manual-form-grid select,.manual-form-grid textarea{border:1px solid var(--border);min-width:0;min-height:2.85rem;color:var(--ink);font:inherit;letter-spacing:normal;text-transform:none;background:#fff;border-radius:.6rem;padding:.65rem .75rem}.manual-form-grid textarea{resize:vertical}.sales-total{border:1px solid var(--border);background:var(--surface);border-radius:.9rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0;padding:1.25rem;display:grid}.sales-total p,.sales-total strong,.sales-total small{margin:0}.sales-total div{gap:.3rem;display:grid}.sales-total p,.sales-total small{color:var(--muted)}.sales-total strong{font-size:clamp(1.6rem,4vw,2.5rem)}.sales-total small{grid-column:1/-1}.sales-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.sales-breakdown-card{min-width:0}.sales-breakdown-card h2{margin-top:0}.sales-client-card{grid-column:1/-1}.sales-breakdown-card td small{display:block}@media (max-width:760px){.sales-total,.sales-breakdown-grid{grid-template-columns:1fr}.sales-client-card{grid-column:auto}}.manual-form-grid input[aria-invalid=true]{border-color:#9b4037}.field-error{color:#9b4037;letter-spacing:normal;text-transform:none;font-size:.75rem}.form-hint{color:var(--muted);margin:.8rem 0 0;font-size:.85rem}.manual-submit{justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;display:flex}.manual-submit p{color:var(--muted);margin:0;font-size:.85rem}.admin-confirmation{text-align:center;max-width:38rem;padding:2rem}.admin-confirmation>p:not(.eyebrow){color:var(--muted);line-height:1.5}.admin-confirmation code{overflow-wrap:anywhere;color:var(--accent);margin:1rem 0;display:block}.confirmation-actions{justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.appointment-heading{align-items:end}.back-link-inline,.table-action-link{color:var(--accent);font-weight:750}.appointment-detail-grid{gap:1rem;margin-bottom:1rem;display:grid}.detail-card,.appointment-actions,.audit-section{border:1px solid var(--border);background:var(--surface);border-radius:.9rem;padding:1.25rem}.detail-card h2,.appointment-actions h2,.audit-section h2{margin:0 0 1rem;font-size:1.05rem}.detail-card dl{gap:.8rem;margin:0;display:grid}.detail-card dl div{gap:.2rem;display:grid}.detail-card dt{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:700}.detail-card dd{overflow-wrap:anywhere;margin:0}.appointment-actions,.audit-section{margin-top:1rem}.action-row,.dialog-actions{flex-wrap:wrap;gap:.7rem;display:flex}.success-panel{color:#245c48;background:#eaf7f0;border-radius:.7rem;margin-bottom:1rem;padding:.9rem 1rem}.appointment-status{white-space:nowrap;background:#e8efec;border-radius:999px;padding:.3rem .55rem;font-size:.75rem;font-weight:800;display:inline-flex}.appointment-status.cancelled{color:#7c3d37;background:#fff0ed}.appointment-status.completed{color:#285a45;background:#e8f5ee}.appointment-status.no_show{color:#685128;background:#fff5dc}.lifecycle-dialog{width:min(34rem,100% - 2rem);max-height:calc(100svh - 2rem);color:var(--ink);border:0;border-radius:1rem;padding:0;box-shadow:0 1.5rem 4rem #141e1a4d}.lifecycle-dialog::backdrop{background:#111c1894}.lifecycle-dialog form{gap:1rem;padding:1.5rem;display:grid}.lifecycle-dialog h2,.lifecycle-dialog p{margin:0}.dialog-fields,.reason-field{gap:.5rem;display:grid}.lifecycle-dialog label{color:var(--muted);gap:.35rem;font-size:.8rem;font-weight:700;display:grid}.lifecycle-dialog input,.lifecycle-dialog select,.lifecycle-dialog textarea{border:1px solid var(--border);min-height:2.75rem;color:var(--ink);font:inherit;background:#fff;border-radius:.6rem;padding:.65rem .7rem}.current-time,.confirmation-summary{background:#f3f6f5;border-radius:.6rem;padding:.8rem;line-height:1.5}.dialog-actions{justify-content:flex-end}.audit-timeline{gap:0;margin:0;padding:0;list-style:none;display:grid}.audit-timeline li{grid-template-columns:1rem 1fr;gap:.8rem;padding-bottom:1.25rem;display:grid;position:relative}.audit-timeline li:not(:last-child):before{content:"";background:var(--border);width:2px;position:absolute;top:.8rem;bottom:0;left:.32rem}.audit-dot{z-index:1;background:var(--accent);border-radius:50%;width:.7rem;height:.7rem;margin-top:.25rem}.audit-timeline header{flex-wrap:wrap;justify-content:space-between;gap:.5rem;display:flex}.audit-timeline p{color:var(--muted);margin:.3rem 0 0;line-height:1.45}.audit-reason{color:var(--ink)!important}.management-list,.configuration-section{gap:1rem;display:grid}.management-card,.configuration-section{border:1px solid var(--border);background:var(--surface);border-radius:.9rem;padding:1.25rem}.management-card.inactive,.assignment-card.inactive{opacity:.68;background:#f4f5f4}.management-card header,.assignment-card,.exception-list article{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.management-card h2,.management-card p,.configuration-section h2{margin-top:0}.management-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.management-facts div{gap:.2rem;display:grid}.management-facts dt{color:var(--muted);text-transform:uppercase;font-size:.72rem}.management-facts dd{margin:0;font-weight:700}.card-person{gap:.8rem;display:flex}.modal-backdrop{z-index:20;background:#0f1b169e;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow:auto}.editor-dialog{background:#fff;border-radius:1rem;width:min(46rem,100%);padding:1.5rem;box-shadow:0 1rem 4rem #00000040}.editor-form,.exception-form{gap:.9rem;display:grid}.editor-form label,.exception-form label,.schedule-editor label{color:var(--muted);gap:.35rem;font-size:.78rem;font-weight:700;display:grid}.editor-form input,.editor-form select,.editor-form textarea,.exception-form input,.exception-form select,.schedule-editor input,.schedule-editor select{border:1px solid var(--border);min-width:0;min-height:2.7rem;font:inherit;border-radius:.55rem;padding:.6rem}.checkbox-field{flex-direction:row;align-items:center;display:flex!important}.checkbox-field input{min-height:auto}.assignment-grid,.weekly-summary,.exception-list{gap:.7rem;display:grid}.assignment-card,.weekly-summary article,.exception-list article,.draft-panel{border:1px solid var(--border);border-radius:.65rem;padding:.85rem}.assignment-card div,.exception-list article div{gap:.2rem;display:grid}.assignment-card small,.exception-list span,.interval-row small{color:var(--muted)}.weekly-summary article{gap:.45rem;display:grid}.interval-row{justify-content:space-between;align-items:center;gap:.7rem;display:flex}.interval-row span,.draft-panel{gap:.2rem;display:grid}.text-danger{color:#8f3f37;background:0 0;min-height:auto;padding:.25rem}.schedule-editor{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.schedule-editor .editor-form{margin-bottom:1rem}.draft-panel{background:#f5f8f6;margin-top:1rem}.exception-form{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:38rem){.page-heading{flex-direction:column;align-items:stretch}.schedule-toolbar .date-control{width:100%;margin-left:0}.schedule-dialog-facts{grid-template-columns:1fr}}@media (min-width:48rem){.admin-shell{grid-template-columns:15rem minmax(0,1fr);display:grid}.sidebar{height:100svh;padding:1.4rem 1rem;position:sticky;top:0}.sidebar nav{flex-direction:column;overflow:visible}.login-link{display:block}.content{padding:3rem 2rem 4rem}.overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.view-grid,.therapist-grid,.schedule-grid,.week-schedule{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.filter-bar{grid-template-columns:repeat(3,minmax(9rem,1fr)) auto;align-items:end}.blocked-time-fields{grid-template-columns:minmax(10rem,1.25fr) repeat(3,minmax(8rem,.75fr));align-items:end}.reason-field{grid-column:1/-2}.blocked-row{grid-template-columns:9rem minmax(0,1fr) auto}.manual-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-search-controls{grid-template-columns:minmax(0,1fr) auto}.appointment-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.management-facts{grid-template-columns:repeat(6,minmax(0,1fr))}.editor-form{grid-template-columns:repeat(3,minmax(0,1fr))}.wide-field{grid-column:1/-1}.assignment-grid,.weekly-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.exception-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}}@media (min-width:75rem){.week-schedule{grid-template-columns:repeat(7,minmax(0,1fr))}}
