@font-face{font-family:system-local;src:local("Arial")}
:root{--blue:#2566c7;--blue-dark:#1b4f9e;--ink:#172e4b;--muted:#60738b;--surface:#fff;--pale:#eff5ff;--lavender:#f0eefa;--line:#e2e9f2;--green:#227e67;--orange:#9c611a;--red:#ad3d51;--radius:20px;--shadow:0 8px 28px #233c6010;font-family:system-local,Arial,sans-serif;color:var(--ink);background:#f6f8fc;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:15px;line-height:1.6}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--blue)}button{transition:background .15s,box-shadow .15s,transform .15s}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:3px solid #9b84d7;outline-offset:3px}button svg, .icon svg{width:20px;height:20px;flex:none}svg{vertical-align:middle}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.demo-ribbon{text-align:center;padding:7px 12px;background:#eaf0f8;color:#506883;font-size:12px;border-bottom:1px solid var(--line)}.topbar{min-height:86px;background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 32px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--blue);font-size:20px;letter-spacing:1.1px;white-space:nowrap}.brand-symbol{font-size:45px;line-height:1;letter-spacing:0}.brand small{font-size:11px;display:block;text-align:start;letter-spacing:1px;color:var(--muted);margin-top:1px}.top-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.top-controls select{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:8px 10px;font-size:13px;max-width:210px}.mode-switch{display:flex;padding:4px;background:#f2f5fa;border-radius:12px}.mode-switch button{border:0;border-radius:8px;color:var(--muted);background:transparent;padding:7px 14px;font-size:13px}.mode-switch button.active{background:var(--surface);color:var(--blue);box-shadow:0 2px 7px #23456814}.icon-button{background:var(--surface);border:1px solid var(--line);border-radius:12px;height:40px;width:42px;display:grid;place-items:center;position:relative}.badge-count{position:absolute;top:-7px;inset-inline-end:-6px;border:2px solid white;border-radius:50%;font-size:10px;background:var(--blue);color:white;min-width:20px;padding:0 3px}
.app-layout{display:grid;grid-template-columns:216px minmax(0,1fr);max-width:1600px;margin:auto;min-height:calc(100vh - 121px)}.sidebar{background:white;border-inline-end:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column;gap:5px}.nav-label{font-size:11px;color:#8b99ad;padding:0 16px;margin-bottom:8px;letter-spacing:.6px}.nav-button{display:flex;align-items:center;gap:12px;border:0;color:var(--muted);background:transparent;border-radius:12px;text-align:start;padding:12px 14px;width:100%}.nav-button.active{background:var(--pale);color:var(--blue);font-weight:bold}.nav-button:hover{background:#f5f8fc}.nav-button.active:hover{background:var(--pale)}.nav-count{margin-inline-start:auto;background:#e6edfa;border-radius:7px;font-size:11px;padding:0 7px}.sidebar-footer{margin-top:auto;padding-top:40px}.profile{display:flex;align-items:center;gap:11px;padding:16px 8px;border-top:1px solid var(--line)}.avatar{background:#e8edf8;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;font-size:12px;color:var(--blue);flex:none}.profile strong{display:block;font-size:13px}.profile small{font-size:11px;color:var(--muted)}.help-note{font-size:11px;color:var(--muted);padding:0 8px}.main{padding:32px 38px 50px;min-width:0}.main:focus{outline:0}.page-heading{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-bottom:26px;flex-wrap:wrap}.eyebrow{font-size:12px;color:var(--muted);margin-bottom:4px}h1{font-size:28px;line-height:1.3;letter-spacing:-.4px;margin:0 0 6px}h2{font-size:18px;margin:0 0 6px;line-height:1.4}h3{font-size:15px;margin:0 0 4px}p{margin:4px 0 14px}.subtitle{color:var(--muted);margin:0;font-size:13px}.button{border:1px solid var(--line);background:white;color:var(--ink);padding:10px 16px;border-radius:11px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.button.primary{background:var(--blue);border-color:var(--blue);color:white;box-shadow:0 3px 7px #2566c718}.button.primary:hover{background:var(--blue-dark)}.button.soft{background:var(--pale);border-color:transparent;color:var(--blue)}.button.danger{color:var(--red);background:#fff4f5;border-color:#f3dce0}.button.small{min-height:34px;padding:6px 10px;font-size:12px}.button.ghost{background:transparent;border-color:transparent;color:var(--blue)}.button.full{width:100%}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.between{justify-content:space-between}.muted{color:var(--muted)}.small{font-size:12px}.tiny{font-size:11px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat{display:flex;align-items:center;gap:15px;padding:19px 22px}.stat-icon{height:43px;width:43px;border-radius:12px;background:var(--pale);color:var(--blue);display:grid;place-items:center}.stat-icon.lavender{background:var(--lavender);color:#7863af}.stat strong{display:block;font-size:26px;line-height:1.2;font-weight:600}.stat .muted{font-size:12px}.workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);gap:22px}.date-control{display:flex;align-items:center;gap:8px}.date-control input{border:1px solid var(--line);border-radius:9px;background:#fafcff;padding:7px;font-size:12px;color:var(--ink);max-width:150px}.date-control button{border:1px solid var(--line);background:white;width:30px;height:32px;border-radius:8px}.agenda{display:grid;gap:12px}.appointment{border:1px solid var(--line);border-radius:13px;display:grid;grid-template-columns:60px minmax(0,1fr);overflow:hidden}.appt-time{padding:16px 9px;border-inline-end:1px solid var(--line);text-align:center;background:#fafcff;color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600;font-size:13px}.appt-time small{display:block;font-weight:400;font-size:11px;color:var(--muted)}.appt-content{padding:15px}.appt-content .row{gap:7px}.pill{font-size:11px;padding:3px 9px;border-radius:20px;background:var(--pale);color:var(--blue);display:inline-block;white-space:nowrap}.pill.pending{background:#fff4df;color:var(--orange)}.pill.completed{background:#e8f5ef;color:var(--green)}.pill.cancelled,.pill.rejected,.pill.expired{background:#f5f0f3;color:#846275}.treatments-line{color:var(--muted);font-size:12px;margin-top:4px}.appt-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.summary-line{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.summary-line:last-child{border:0}.summary-line strong{font-variant-numeric:tabular-nums}.stack{display:grid;gap:18px;align-content:start}.request-item{padding:14px 0;border-bottom:1px solid var(--line)}.request-item:first-of-type{padding-top:0}.request-item:last-child{border:0;padding-bottom:0}.empty{text-align:center;padding:36px 16px;color:var(--muted);font-size:13px}.empty .icon{display:block;margin-bottom:10px;color:#9db2ce}.notice{padding:12px 16px;background:var(--pale);color:#506888;border-radius:12px;font-size:12px;margin:16px 0}.customer-select{padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:white;max-width:230px}.client-main{max-width:1040px;margin:auto}.welcome{background:linear-gradient(110deg,#f0eefb,#ebf3ff 75%);border:1px solid #e0e8f6;border-radius:23px;padding:28px 30px;margin-bottom:24px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px}.welcome:after{content:"◇";position:absolute;inset-inline-end:24px;top:-55px;font-size:240px;color:#8faad90d;pointer-events:none}.welcome h1{font-size:28px}.welcome p{font-size:13px;color:var(--muted);margin:8px 0 20px}.next-card{border:1px solid #dce5f2;background:#ffffffb8;padding:20px;min-width:255px;border-radius:16px;position:relative;z-index:1}.next-card .date-large{font-size:17px;font-weight:bold;margin:8px 0}.area-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:18px 0 24px}.area-card{padding:22px;position:relative}.area-icon{width:40px;height:40px;border-radius:12px;background:var(--pale);color:var(--blue);display:grid;place-items:center;margin-bottom:13px}.balance-number{font-size:30px;line-height:1.3;font-weight:600}.balance-number small{font-size:12px;color:var(--muted);font-weight:400}.progress{height:6px;background:#edf1f7;border-radius:9px;margin:14px 0 10px;overflow:hidden}.progress span{height:100%;background:var(--blue);display:block;border-radius:9px}.balance-footer{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:6px}.offer-card{background:linear-gradient(110deg,#f5f0fc,#edf4ff);border:1px solid #e6e0f0;border-radius:20px;padding:23px;margin-bottom:20px}.offer-item{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#ffffffab;border-radius:12px;padding:14px 16px;margin-top:12px}.offer-item strong{display:block}.offer-item p{margin:3px 0 0;font-size:12px;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:start;font-size:11px;font-weight:400;color:var(--muted);padding:11px 10px;border-bottom:1px solid var(--line);background:#fafcff;white-space:nowrap}td{padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:middle}tr:last-child td{border:0}.client-name-button{border:0;background:transparent;padding:0;color:var(--ink);font-weight:bold;text-align:start}.client-name-button:hover{color:var(--blue)}.catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.catalog-card .row{justify-content:space-between}.timing-tags{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field{display:block;font-size:12px;color:var(--muted)}.form-field input,.form-field select,.form-field textarea{width:100%;display:block;padding:10px 11px;border:1px solid #ced9e7;border-radius:9px;background:white;color:var(--ink);margin-top:6px;min-width:0}.form-field textarea{resize:vertical;min-height:95px}.span-2{grid-column:1/-1}.form-actions{margin-top:22px;display:flex;justify-content:flex-end;gap:10px}.checkbox-row{display:flex;align-items:center;gap:9px;min-height:34px;font-size:13px}.checkbox-row input{accent-color:var(--blue);width:17px;height:17px}.day-pills{display:flex;gap:7px;flex-wrap:wrap}.day-pills label{display:flex;gap:7px;align-items:center;font-size:12px;border:1px solid var(--line);padding:8px 10px;border-radius:8px}.day-pills input{accent-color:var(--blue)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-error{color:var(--red);background:#fff0f3;padding:10px 14px;border-radius:10px;font-size:13px;margin:12px 0}.form-error:empty{display:none}.client-profile-top{display:flex;align-items:center;gap:16px;margin-bottom:20px}.client-profile-top .avatar{width:58px;height:58px;font-size:17px}.note-box{font-size:12px;color:var(--muted);white-space:pre-wrap}.history-item{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.history-item:last-child{border:0}.history-item .muted{font-size:12px}.loading{padding:80px;text-align:center;color:var(--muted)}
dialog{border:1px solid var(--line);border-radius:23px;max-width:880px;width:calc(100% - 40px);padding:0;color:var(--ink);box-shadow:0 30px 120px #172e4b33;max-height:90vh;overflow:auto}dialog::backdrop{background:#172e4b55;backdrop-filter:blur(4px)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:25px 28px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:21px}.modal-close{border:0;background:#f3f6fa;border-radius:50%;height:32px;width:32px;display:grid;place-items:center;font-size:20px;color:var(--muted)}.modal-body{padding:24px 28px}.modal-footer{padding:18px 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;background:#fafcff;align-items:center}.steps{display:flex;gap:18px;font-size:12px;color:var(--muted);margin-bottom:22px;flex-wrap:wrap}.steps span{display:flex;align-items:center;gap:7px}.steps b{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#eef1f6;font-size:11px;font-weight:400}.steps .active{color:var(--blue)}.steps .active b{background:var(--blue);color:white}.body-selector{display:grid;grid-template-columns:minmax(230px,.9fr) minmax(260px,1.1fr);gap:28px}.anatomy-panel{background:radial-gradient(ellipse at center,#f5f8fd,#ecf1f9);border:1px solid var(--line);border-radius:17px;padding:15px;text-align:center}.body-tabs{display:flex;gap:8px;justify-content:center}.body-tabs button{padding:6px 18px;border:1px solid var(--line);border-radius:20px;background:white;font-size:12px;color:var(--muted)}.body-tabs button.active{color:var(--blue);border-color:#a9c3ec;background:var(--pale)}.anatomy{height:330px;max-width:100%;margin-top:15px}.body-shape{fill:#e0e8f4;stroke:#bdcde2;stroke-width:1.4}.body-region{fill:#cedbef;stroke:#a2b9db;stroke-width:1;cursor:pointer;transition:fill .15s}.body-region:hover{fill:#aec7ec}.body-region.selected{fill:#5f8ed8;stroke:#2566c7}.area-option{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:11px 13px;margin-bottom:9px;background:white}.area-option.selected{background:var(--pale);border-color:#acc6ed}.area-option input{accent-color:var(--blue);width:17px;height:17px}.area-option strong{font-size:13px;display:block}.area-option small{color:var(--muted);font-size:11px}.area-option .time{margin-inline-start:auto;font-size:12px;white-space:nowrap;color:var(--blue)}.duration-box{background:#f6f8fc;border-radius:12px;padding:14px 16px;margin-top:14px}.slot-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:18px}.slot-button{border:1px solid var(--line);border-radius:9px;padding:10px 8px;background:white;color:var(--ink);font-variant-numeric:tabular-nums}.slot-button.selected{background:var(--blue);color:white;border-color:var(--blue)}.confirmation{background:var(--pale);border-radius:16px;padding:22px}.complete-row{border:1px solid var(--line);border-radius:12px;padding:13px;margin-bottom:9px;display:flex;justify-content:space-between;align-items:center;gap:12px}.complete-row select{border:1px solid var(--line);border-radius:8px;padding:6px;font-size:12px;max-width:170px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;background:var(--ink);color:white;border-radius:13px;padding:13px 22px;box-shadow:0 8px 30px #172e4b30;max-width:calc(100% - 40px);font-size:13px}.success-circle{height:64px;width:64px;border-radius:50%;display:grid;place-items:center;background:#e8f5ef;color:var(--green);margin:0 auto 20px}.success-circle svg{width:28px;height:28px}.success-screen{text-align:center;padding:30px 10px}.success-screen h2{font-size:24px}.success-screen p{max-width:480px;margin:14px auto}.event-row{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.event-row:last-child{border:0}.event-dot{width:7px;height:7px;border-radius:50%;background:var(--blue);margin-top:7px;flex:none}.event-row small{color:var(--muted)}.lead-note{padding:7px 0}.discount-badge{background:#ebe2f9;color:#755198;border-radius:8px;padding:5px 9px;display:inline-block;font-size:11px;margin-top:8px}.block-row{padding:11px 0;border-bottom:1px solid var(--line)}
@media(min-width:1500px){.main{padding:38px 50px}}@media(max-width:1150px){.main{padding:26px}.app-layout{grid-template-columns:185px 1fr}.catalog{grid-template-columns:repeat(2,1fr)}.workspace{grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr)}.topbar{padding:16px 22px}.top-controls{gap:8px}.welcome{padding:24px}.next-card{min-width:230px}.area-cards{gap:10px}.area-card{padding:18px}}
@media(max-width:900px){.topbar{flex-wrap:wrap}.top-controls{width:100%;justify-content:space-between}.app-layout{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap;padding:12px 18px;border-inline-end:0;border-bottom:1px solid var(--line);gap:6px}.nav-button{width:auto;font-size:12px;padding:9px 13px}.sidebar-footer,.nav-label{display:none}.workspace{grid-template-columns:1fr}.stack{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:1fr}.main{padding:24px}.welcome{gap:16px}.body-selector{gap:20px}.body-region{stroke-width:2}}
@media(max-width:620px){body{font-size:14px}.demo-ribbon{font-size:10px;padding:6px}.topbar{padding:14px 16px;gap:12px}.brand{font-size:18px}.brand-symbol{font-size:36px}.top-controls{justify-content:flex-start;gap:8px}.top-controls select{max-width:170px}.top-controls .icon-button{margin-inline-start:auto}.mode-switch{width:100%}.mode-switch button{flex:1}.sidebar{padding:10px 12px;gap:4px}.nav-button{gap:6px;padding:8px 10px;font-size:11px}.nav-button svg{width:16px;height:16px}.main{padding:22px 16px 45px}.page-heading{margin-bottom:19px;gap:12px}h1{font-size:25px}.stats{gap:8px;margin-bottom:18px}.stat{padding:13px 10px;display:block}.stat-icon{display:none}.stat strong{font-size:22px}.stat .muted{font-size:10px}.card{padding:18px;border-radius:16px}.stack{grid-template-columns:1fr}.welcome{display:block;padding:23px}.welcome h1{font-size:25px}.welcome .next-card{margin-top:22px;min-width:0}.area-cards{grid-template-columns:1fr;gap:11px}.area-card{display:grid;grid-template-columns:42px 1fr;gap:0 14px;align-items:start;padding:18px}.area-card .area-icon{grid-row:1/5;margin:0}.area-card .progress,.area-card .balance-footer{grid-column:2}.area-card .balance-number{font-size:26px}.offer-item{display:block;padding:15px}.offer-item .button{margin-top:12px;width:100%}.catalog{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.form-field input,.form-field select,.form-field textarea{font-size:16px}.appointment{grid-template-columns:54px 1fr}.appt-content{padding:13px}.section-header{align-items:flex-start}.date-control{width:100%}.date-control input{flex:1;max-width:none}.body-selector{grid-template-columns:1fr}.anatomy{height:260px}.slot-grid{grid-template-columns:repeat(3,1fr)}dialog{width:calc(100% - 20px);max-height:94vh;border-radius:18px}.modal-head,.modal-body{padding:20px}.modal-footer{padding:16px 20px;align-items:flex-start}.modal-footer .button{font-size:13px}.complete-row{flex-wrap:wrap}.steps{gap:10px}.steps span{font-size:11px}.customer-select{font-size:14px}.table-wrap{margin-inline:-4px}.lead-table th,.lead-table td{min-width:100px}}
dialog{overflow:hidden}#dialog-content{display:flex;flex-direction:column;max-height:90vh;min-height:0}.modal-head,.modal-footer{flex-shrink:0}.modal-body{overflow:auto;min-height:0}.pill.rescheduled{background:#f1f0f8;color:#736388}
@media(max-width:620px){#dialog-content{max-height:94vh}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.next-card{min-width:310px;max-width:400px}.next-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px}.next-actions .primary{flex:1}.policy-panel{background:#edf5ff;border:1px solid #d6e5fb;border-radius:12px;padding:12px 14px;margin:15px 0 8px;font-size:11px;line-height:1.8}.policy-panel strong{display:block;color:var(--blue);font-size:12px;margin-bottom:4px}.policy-panel.late{background:#fff8e9;border-color:#f2e4c6}.policy-panel.late strong{color:#916524}.booking-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--pale);padding:13px 16px;border-radius:13px;margin-bottom:20px}.booking-summary strong{display:block;font-size:14px}.quick-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:14px 0}.quick-day{padding:10px 5px;border:1px solid var(--line);border-radius:12px;color:var(--muted);background:white;font-size:11px;line-height:1.6}.quick-day strong{display:block;white-space:nowrap;font-size:11px;color:var(--ink)}.quick-day.selected{background:var(--blue);color:white;border-color:var(--blue)}.quick-day.selected strong{color:white}.compact-date{max-width:230px;margin-bottom:18px}.time-group{margin:14px 0}.time-group .slot-grid{margin-top:6px;grid-template-columns:repeat(3,minmax(0,1fr))}.slot-button{padding:12px;font-size:15px;border-radius:12px}.slot-button.selected{box-shadow:0 3px 10px #2566c722}.save-appointment{text-align:center;background:linear-gradient(110deg,#f1effb,#edf5ff);border:1px solid #dce7f8;padding:22px;border-radius:18px}.save-appointment .icon{display:block;color:var(--blue);margin-bottom:8px}.save-appointment .icon svg{width:32px;height:32px}.save-appointment p{font-size:13px;color:var(--muted);margin:6px 0 16px}.save-appointment .button{min-width:200px}.save-appointment .tiny{font-size:11px;margin:10px 0 0}.cancel-details{margin-top:20px}.cancel-details p{font-size:13px;color:var(--muted)}.fee-total{display:flex;justify-content:space-between;align-items:center;border:1px solid #e7dce5;border-radius:12px;background:#fff9fb;padding:14px 16px;gap:16px;font-size:13px}.fee-total strong{font-size:20px;color:var(--ink)}.fee-card{margin:20px 0}.pill.noShow{background:#fff0f3;color:var(--red)}.request-item>strong{display:block;margin-top:6px}
@media(max-width:620px){.next-card{min-width:0;max-width:none}.quick-days{grid-template-columns:repeat(4,minmax(0,1fr))}.quick-day{padding:8px 3px}.booking-summary{align-items:flex-start;padding:12px;gap:7px}.booking-summary strong{font-size:12px}.booking-summary .button{font-size:11px;padding:7px}.compact-date{max-width:none}.next-actions{display:block}.next-actions .primary{width:100%}.next-actions .ghost{display:block;margin:10px auto 0}.modal-footer{align-items:center}.policy-panel{font-size:11px}.time-group .slot-grid{gap:7px}}
.calendar-card{padding:0;overflow:hidden}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px 14px;flex-wrap:wrap}.calendar-date-navigation{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.calendar-date-navigation input{border:1px solid var(--line);background:#fafcff;color:var(--ink);border-radius:9px;padding:7px 9px;font-size:13px;max-width:165px}.calendar-view-switch{display:flex;gap:3px;background:#f3f6fb;border-radius:11px;padding:3px}.calendar-view-switch .button{border:0}.calendar-week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;padding:0 22px 16px}.calendar-day-chip{border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--muted);padding:9px 4px;font-size:11px;line-height:1.5;display:flex;flex-direction:column;align-items:center;gap:2px}.calendar-day-chip strong{font-size:12px;color:var(--ink)}.calendar-day-chip.selected{background:var(--pale);border-color:#97b8eb;box-shadow:0 0 0 1px #97b8eb}.calendar-chip-counts{height:18px;display:flex;align-items:center;justify-content:center;gap:4px;font-size:10px}.calendar-chip-counts>span{min-width:17px;height:17px;border-radius:5px;display:grid;place-items:center}.chip-approved{background:#e4eefc;color:#245da9}.chip-pending{background:#fff0c7;color:#8c5b16}.calendar-summary{padding:12px 22px;background:#f7faff;display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;border-block:1px solid var(--line);color:var(--muted);font-size:12px}.calendar-summary b{color:var(--ink)}.calendar-summary .button{margin-inline-start:auto;white-space:normal;text-align:start;font-size:11px}.calendar-filters{padding:12px 22px 4px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.calendar-filter-buttons{display:flex;gap:3px}.calendar-filters .checkbox-row{color:var(--muted);font-size:11px}.calendar-filters input{width:14px;height:14px}.calendar-legend{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;padding:6px 22px 14px;color:var(--muted);font-size:11px}.calendar-legend>span{display:flex;align-items:center;gap:6px}.legend-dot{height:9px;width:9px;display:inline-block;border-radius:3px;background:#c4d2e8;border:1px solid #9cafd0}.legend-dot.approved{background:#dbe9fd;border-color:#5a8cdc}.legend-dot.pending{background:#fff0c7;border:1px dashed #b07a1d}.legend-dot.cancelPending{background:#fce0e6;border-color:#c86179}.legend-dot.completed{background:#d9f0e7;border-color:#5c9f87}.legend-dot.buffer{background:repeating-linear-gradient(135deg,#e9edf5 0,#e9edf5 3px,#d3ddeb 3px,#d3ddeb 4px);border-color:#b7c5d8}.calendar-scroll{max-height:650px;overflow:auto;border-top:1px solid var(--line);scrollbar-gutter:stable;overscroll-behavior:contain;background:white}.calendar-grid{min-width:calc(52px + var(--calendar-columns)*160px)}.calendar-grid.week-grid{min-width:900px}.calendar-grid-header,.calendar-grid-body{display:grid;grid-template-columns:52px repeat(var(--calendar-columns),minmax(0,1fr))}.calendar-grid-header{position:sticky;top:0;z-index:8;background:#fff;border-bottom:1px solid var(--line);min-height:51px;box-shadow:0 2px 5px #172e4b07}.calendar-hours-header{display:grid;place-items:center;color:#8a9bb2;border-inline-end:1px solid var(--line)}.calendar-hours-header svg{width:16px;height:16px}.calendar-column-heading{display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;border:0;border-inline-end:1px solid var(--line);background:#fafcff;color:var(--muted);font-size:11px;padding:8px 4px;text-align:center}.calendar-column-heading strong{font-size:12px;color:var(--ink)}button.calendar-column-heading:hover,.calendar-column-heading.selected{background:var(--pale)}.calendar-grid-body{height:calc(var(--calendar-height) + 18px)}.calendar-hours{position:relative;border-inline-end:1px solid var(--line);background:#fafcff;color:#7f91a9;font-size:10px;font-variant-numeric:tabular-nums;min-width:0}.calendar-hours>span{position:absolute;inset-inline:0;text-align:center;transform:translateY(-50%);padding:0 2px}.calendar-hours>span:first-child{transform:none;top:5px!important}.calendar-column{position:relative;min-width:0;border-inline-end:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--calendar-hour)/2 - 1px),#edf1f7 calc(var(--calendar-hour)/2 - 1px),#edf1f7 calc(var(--calendar-hour)/2),transparent calc(var(--calendar-hour)/2),transparent calc(var(--calendar-hour) - 1px),#dfe7f1 calc(var(--calendar-hour) - 1px),#dfe7f1 var(--calendar-hour))}.calendar-column.closed-day{background-color:#f8f9fb}.calendar-closed-label{position:absolute;top:18px;inset-inline:5px;color:#8b96a6;text-align:center;font-size:11px}.calendar-event{position:absolute;z-index:3;border:1px solid #acc9f1;border-inline-start:4px solid #4d83d5;border-radius:8px;background:#edf4ff;color:#244b7e;text-align:start;display:flex;flex-direction:column;gap:2px;padding:5px 8px;overflow:hidden;line-height:1.25;min-width:0;box-shadow:0 2px 5px #294e7b07}.calendar-event:hover{filter:brightness(.98);box-shadow:0 3px 9px #294e7b18;z-index:4}.calendar-event:focus-visible{z-index:9}.calendar-event.pending{background:#fff7e4;border-color:#e4c885;border-inline-start-color:#bd8b2f;border-style:dashed;color:#79551c}.calendar-event.cancelPending{background:#fff0f3;border-color:#e7b3bf;border-inline-start-color:#bc5d73;color:#88465b}.calendar-event.completed{background:#eaf7f1;border-color:#b4dacb;border-inline-start-color:#438c75;color:#286754}.calendar-event.cancelled,.calendar-event.rejected,.calendar-event.expired,.calendar-event.rescheduled{background:#f2f3f7;color:#7d8796;border-color:#d6dbe3;border-inline-start-color:#a1adbf;opacity:.85}.calendar-event.noShow{background:#fff0f3;color:#9b4055;border-color:#ecc5cd;border-inline-start-color:#b94c63}.calendar-event-name{display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;font-size:12px;flex-shrink:0}.calendar-event-dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}.calendar-event-status{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.calendar-event-time{font-size:11px;text-align:start;align-self:flex-start;margin-top:3px;flex-shrink:0}.calendar-event-areas{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px;flex-shrink:0}.calendar-event.compact{padding:0 5px;border-radius:4px;justify-content:center}.calendar-event.compact .calendar-event-name{font-size:10px}.calendar-buffer{position:absolute;z-index:1;overflow:hidden;border-radius:0 0 7px 7px;background:repeating-linear-gradient(135deg,#f0f3f8 0,#f0f3f8 5px,#e1e8f3 5px,#e1e8f3 6px);border:1px solid #d5dfed;color:#8495ae;font-size:10px;line-height:1.3;padding:3px 6px;display:flex;align-items:center}.calendar-block{position:absolute;inset-inline:3px;z-index:2;background:repeating-linear-gradient(135deg,#edf0f4d9 0,#edf0f4d9 7px,#dfe5eccc 7px,#dfe5eccc 8px);border:1px solid #c5cfdb;border-radius:7px;color:#77879c;font-size:11px;padding:8px;overflow:hidden}.calendar-block span{display:inline-block;background:#ffffffc9;border-radius:5px;padding:2px 6px}.calendar-empty-note{padding:8px 22px 14px;color:var(--muted);font-size:12px}.calendar-footer{display:flex;justify-content:space-between;gap:8px;padding:12px 22px;color:var(--muted);font-size:11px;background:#fafcff;border-top:1px solid var(--line)}.calendar-detail-date{font-size:13px;color:var(--muted);margin-bottom:14px}
@media(max-width:620px){.calendar-toolbar{padding:15px 14px 12px;gap:10px}.calendar-date-navigation{gap:5px}.calendar-date-navigation input{font-size:13px;max-width:145px;padding:7px}.calendar-date-navigation .button{padding:6px 8px}.calendar-week-strip{padding:0 14px 12px;gap:4px}.calendar-day-chip{padding:7px 1px;font-size:9px;border-radius:8px}.calendar-day-chip strong{font-size:9px;white-space:nowrap}.calendar-chip-counts{font-size:9px}.calendar-summary{padding:10px 14px;gap:7px 14px;font-size:11px}.calendar-summary .button{margin:4px 0 0;width:100%;justify-content:flex-start}.calendar-filters{padding:10px 14px 4px}.calendar-filters .button{font-size:11px;padding:5px 8px}.calendar-legend{padding:6px 14px 11px;gap:7px 12px;font-size:10px}.calendar-scroll{max-height:560px}.calendar-grid-header,.calendar-grid-body{grid-template-columns:42px repeat(var(--calendar-columns),minmax(0,1fr))}.calendar-grid{min-width:calc(42px + var(--calendar-columns)*150px)}.calendar-event-name{font-size:11px}.calendar-footer{padding:10px 14px;font-size:10px;flex-wrap:wrap}.calendar-view-switch{padding:2px}.calendar-view-switch .button{font-size:11px;min-height:30px}}

@media(min-width:621px){.calendar-toolbar{padding:14px 20px 12px}.calendar-week-strip{padding:0 20px 12px}.calendar-day-chip{padding:5px 3px}.calendar-summary{padding:9px 20px}.calendar-filters{padding:8px 20px 3px}.calendar-legend{padding:5px 20px 10px}}
.button svg{width:20px;height:20px;flex:none}.client-search{max-width:380px;margin-bottom:22px}.client-contact-card{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.client-contact-info{display:flex;gap:36px;flex-wrap:wrap}.client-contact-info>div{display:flex;flex-direction:column;gap:6px}.client-contact-info strong{font-size:15px}.welcome-checkbox{margin-top:22px}.welcome-message-meta{display:flex;align-items:center;gap:16px;margin-bottom:18px}.whatsapp-button{background:#227b59;border-color:#227b59;color:#fff;text-decoration:none}.whatsapp-button:hover{background:#196246;color:#fff}.welcome-template-card{margin-top:24px}.welcome-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:22px 0}.welcome-template-grid textarea{line-height:1.8}.client-contact-card .row{flex-wrap:wrap}
@media(max-width:900px){.client-contact-card{flex-wrap:wrap}.welcome-template-grid{grid-template-columns:1fr}}
@media(max-width:620px){.client-contact-info{gap:24px}.client-contact-card{gap:18px}.client-contact-card .row{width:100%}.client-contact-card .row .button{flex:1}.welcome-message-meta{justify-content:space-between}.modal-footer .whatsapp-button{white-space:normal;text-align:center}#client-form .form-field .small{font-size:11px;line-height:1.7}}
.calendar-toolbar{flex-wrap:wrap}.calendar-free-cell{position:absolute;inset-inline:0;width:100%;border:0;background:transparent;z-index:0;text-align:start;color:var(--blue);cursor:pointer;padding:6px;font-size:11px}.calendar-free-cell span{opacity:0;background:#edf4ffd9;border:1px dashed #a5bee3;border-radius:6px;padding:5px 8px;display:inline-block}.calendar-free-cell:hover,.calendar-free-cell:focus-visible{background:#eaf2fc80}.calendar-free-cell:hover span,.calendar-free-cell:focus-visible span{opacity:1}.calendar-block{text-align:start;cursor:pointer}.calendar-block:hover{filter:brightness(.96)}.calendar-buffer{pointer-events:none}.calendar-closed-label{pointer-events:none;z-index:1}.calendar-action-choices{display:grid;grid-template-columns:1fr;gap:12px;margin:20px 0}.calendar-action-choices .button{justify-content:flex-start;padding:16px 20px}.block-repeat-options{display:flex;gap:10px;margin-bottom:22px;flex-wrap:wrap}.block-repeat-options label{flex:1;background:var(--pale);border:1px solid var(--line);border-radius:12px;padding:13px;display:flex;gap:8px;align-items:center}.block-conflict{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.quick-treatment-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0}.quick-treatment-list label{position:relative;display:flex;flex-direction:column;gap:8px;background:#fafcff;border:1px solid var(--line);border-radius:12px;padding:13px 12px;cursor:pointer}.quick-treatment-list input{position:absolute;inset-inline-end:10px;top:10px}.quick-treatment-list label:has(input:checked){border-color:var(--blue);background:var(--pale);box-shadow:0 0 0 1px var(--blue)}.quick-treatment-list span{display:flex;align-items:center;gap:6px;padding-inline-end:12px}.quick-treatment-list svg{width:18px;height:18px;color:var(--blue);flex:none}.quick-treatment-list small{color:var(--muted)}
.month-heading{padding:16px 22px 12px}.month-heading h2{font-size:23px;margin:0 0 6px}.month-heading p{font-size:12px;color:var(--muted);margin:0}.month-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-weekdays{background:#fafcff;border-block:1px solid var(--line);text-align:center;color:var(--muted);font-size:12px;padding:12px 0}.month-day{min-height:140px;border:0;border-inline-end:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;padding:12px 10px;display:flex;flex-direction:column;align-items:stretch;text-align:start;color:var(--ink);gap:5px;cursor:pointer;min-width:0}.month-day:hover{background:#f4f8ff}.month-day.selected{box-shadow:inset 0 0 0 2px #94b6eb}.month-day.is-today .month-day-top strong{border-radius:50%;background:var(--blue);color:white;padding:3px 7px}.month-day.other-month{opacity:.45;background:#fafbfe}.month-day-top{display:flex;justify-content:space-between;align-items:center;min-height:22px}.month-day-top strong{font-size:15px}.month-state-dot{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:#b6c7d4}.partial .month-state-dot{background:#61a58c}.full .month-state-dot{background:#3573cd}.closed .month-state-dot{background:#a8acb6}.month-day.full{background:#f0f5fe}.month-day.closed{background:repeating-linear-gradient(135deg,#f7f8fb 0,#f7f8fb 9px,#f2f3f7 9px,#f2f3f7 10px);color:#8b94a4}.month-count{font-size:12px;margin-top:2px}.month-count b{font-size:18px}.month-status{font-size:11px;color:var(--muted)}.month-meter{height:4px;background:#e9eef5;border-radius:5px;overflow:hidden}.month-meter i{height:100%;display:block;background:#61a58c;border-radius:5px}.full .month-meter i{background:#3573cd}.month-percent{font-size:10px;color:var(--muted)}.month-gap{display:flex;gap:4px;align-items:center;color:#9b6422;font-size:10px;background:#fff3dc;border-radius:6px;padding:4px;margin-top:auto;min-width:0}.month-gap svg{width:13px;height:13px;flex:none}.month-gap b{display:block;font-size:10px;white-space:nowrap}.month-legend{display:flex;flex-wrap:wrap;gap:12px 20px;padding:15px 22px 8px;font-size:12px;color:var(--muted)}.month-legend>span{display:flex;align-items:center;gap:6px}.month-explanation{margin:0;padding:6px 22px 20px;color:var(--muted);font-size:11px;line-height:1.8}.month-blocked{font-size:9px;color:#8692a5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-gap-note{padding:10px 20px;background:#fff8e8;display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:#976927}
@media(max-width:620px){.calendar-toolbar>.button{font-size:11px;padding:7px 10px}.quick-treatment-list{grid-template-columns:repeat(2,minmax(0,1fr))}.month-heading{padding:16px 14px}.month-heading h2{font-size:21px}.month-heading p{font-size:11px}.month-weekdays{font-size:10px}.month-day{padding:8px 4px;min-height:106px;gap:4px}.month-day-top strong{font-size:12px}.month-state-dot{width:5px;height:5px}.month-count{font-size:9px}.month-count b{font-size:15px}.month-count-word,.month-status,.month-percent-word,.month-gap span,.month-blocked{display:none}.month-percent{font-size:9px}.month-gap{justify-content:center;padding:3px}.month-legend{padding:12px 14px 6px;gap:8px 12px;font-size:10px}.month-legend .month-gap{padding:4px;font-size:10px}.month-explanation{padding:6px 14px 18px;font-size:10px}.block-conflict{flex-wrap:wrap}.day-gap-note{padding:10px 14px;font-size:11px}}
.month-day.partial{background:#f2faf6}.month-day.partial:hover{background:#e8f5ef}
.calendar-personal-actions{display:flex;gap:8px;flex-wrap:wrap}.calendar-reminders{padding:16px 22px;background:#fff9e9;border-block:1px solid #f2e6c3}.calendar-reminders>strong{font-size:12px;color:#826321;display:block;margin-bottom:10px}.calendar-reminders>div{display:flex;gap:8px;flex-wrap:wrap}.calendar-reminders .button{background:white;border-color:#ead9a7;text-align:start}.calendar-block.personal{background:#f2e9ff;border-color:#b99bd7;color:#684a86}.month-reminders{display:flex;gap:5px;align-items:center;font-size:11px;color:#946c18;margin-top:5px}.month-reminders svg{width:13px;height:13px}@media(max-width:600px){.calendar-personal-actions{width:100%}.calendar-personal-actions .button{flex:1;font-size:11px;padding:9px}.calendar-reminders{padding:12px}.calendar-reminders .button{max-width:100%;white-space:normal}.month-reminders{font-size:9px}}
