.layout{--console-accent: #175cd3;--console-accent-dark: #1849a9;--console-accent-soft: #eaf2ff;--console-accent-border: #b2ccff;--console-page-start: #eef5ff;--console-title-color: #111827;--console-content-width: 920px;display:flex;flex-direction:column;min-height:100vh;background:linear-gradient(180deg,var(--console-page-start) 0,#f9fafb 12rem);color:#172033}.admin-console{--console-accent: #175cd3;--console-accent-dark: #1849a9;--console-accent-soft: #eaf2ff;--console-accent-border: #b2ccff;--console-page-start: #eef5ff}.receptionist-console{--console-accent: #475569;--console-accent-dark: #334155;--console-accent-soft: #f1f5f9;--console-accent-border: #cbd5e1;--console-page-start: #f8fafc}.layout-header{position:relative;display:flex;flex-direction:column;gap:.75rem;padding:.75rem 1rem 0;border-bottom:1px solid var(--console-accent-border);background:#ffffffd6;box-shadow:0 2px 12px #1720330f}.layout-logo-row{display:flex;justify-content:center;width:min(var(--console-content-width),100%);margin:0 auto}.layout-logo{width:220px;height:auto}.layout-title-row{display:flex;flex-direction:column;align-items:center;gap:.55rem;width:min(var(--console-content-width),100%);margin:0 auto}.layout-title{position:relative;max-width:min(100%,32rem);border:1px solid var(--console-accent-border);border-radius:999px;background:linear-gradient(90deg,var(--console-accent),var(--console-accent-dark));color:#fff;padding:.42rem .78rem .42rem 1.68rem;font-size:.92rem;font-weight:800;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 3px 10px #1720331a}.layout-title:before{content:"";position:absolute;left:.68rem;top:50%;width:.48rem;height:.48rem;border-radius:999px;background:#ffffffdb;box-shadow:0 0 0 .18rem #fff3;transform:translateY(-50%)}.layout-actions{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;min-width:0;flex-wrap:wrap}.notification-pill{display:inline-flex;align-items:center;gap:.42rem;min-height:2rem;border:1px solid #cbd5e1;border-radius:999px;background:#fff;padding:.24rem .32rem .24rem .58rem;cursor:pointer;font-size:.78rem;font-weight:700;color:#334155;white-space:nowrap;box-shadow:0 2px 6px #17203314}.notification-pill-dot{width:.5rem;height:.5rem;border-radius:999px;background:currentColor;opacity:.85}.notification-pill-label{line-height:1}.notification-pill-state{display:inline-flex;align-items:center;min-height:1.42rem;border-radius:999px;background:#475569;padding:.18rem .52rem;color:#fff;line-height:1;font-weight:800}.notification-pill.idle{border-color:#f2a65a;color:#9a3412}.notification-pill.idle .notification-pill-state{background:#ea580c}.notification-pill.idle:hover:not(:disabled){background:#fff7ed}.notification-pill.enabled{border-color:#22c55e;color:#15803d}.notification-pill.enabled .notification-pill-state{background:#16a34a}.notification-pill.enabled:hover:not(:disabled){background:#f0fdf4}.notification-pill.pending{border-color:#cbd5e1;color:#475569}.notification-pill.pending .notification-pill-state{background:#64748b}.notification-pill.blocked{border-color:#f4b4ae;color:#b42318}.notification-pill.blocked .notification-pill-state{background:#dc2626}.notification-pill:disabled{cursor:not-allowed;opacity:.7}.reminder-download-link{position:absolute;top:.45rem;left:.65rem;display:inline-flex;align-items:center;min-height:1.45rem;border:1px solid transparent;border-radius:999px;padding:.16rem .42rem;color:#64748b;font-size:.68rem;font-weight:700;line-height:1;text-decoration:none;white-space:nowrap;opacity:.72}.reminder-download-link:hover{border-color:#cbd5e1;background:#f8fafc;color:#334155;opacity:1}.tabs{display:flex;justify-content:center;width:min(var(--console-content-width),100%);margin:0 auto}.layout-content{flex:1;width:min(var(--console-content-width),100%);margin:0 auto;padding:1rem;box-sizing:border-box}.sync-button{padding:.38rem .72rem;border:none;border-radius:.5rem;background-color:var(--console-accent);color:#fff;cursor:pointer;font-size:.78rem;font-weight:700;white-space:nowrap}.sync-button:hover:not(:disabled){background-color:var(--console-accent-dark)}.sync-button:disabled{opacity:.6;cursor:not-allowed}.sync-message{position:fixed;top:1rem;right:1rem;z-index:1000;border-radius:.5rem;background:var(--console-accent);color:#fff;padding:.6rem 1rem;box-shadow:0 2px 8px #0003}.logout-button{border:1px solid #f4b4ae;border-radius:.5rem;background-color:#fff4f2;color:#b42318;padding:.38rem .72rem;cursor:pointer;font-size:.78rem;font-weight:700}.logout-button:hover{background-color:#fee4e2}@media(min-width:721px){.layout-actions{justify-content:flex-end}}@media(max-width:720px){.layout-title-row{gap:.6rem}.layout-title{max-width:100%;text-align:center}.layout-actions{width:100%;justify-content:center}.notification-pill{max-width:100%}.reminder-download-link{top:.35rem;left:.45rem;max-width:calc(100% - .9rem);overflow:hidden;text-overflow:ellipsis}}.tabs{display:flex;width:min(var(--console-content-width, 920px),100%);margin:0 auto;gap:.35rem;border-bottom:1px solid var(--console-accent-border)}.tab{position:relative;flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.55rem;border:1px solid var(--console-accent-border);border-bottom:none;border-radius:.55rem .55rem 0 0;background:#ffffffad;color:var(--console-accent-dark);padding:.65rem .6rem;text-decoration:none;font-size:.82rem;font-weight:800;letter-spacing:0;line-height:1.05;text-align:center;text-transform:uppercase;transition:background .16s ease,color .16s ease,transform .16s ease}.tab span:first-child{overflow-wrap:anywhere}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;border:1px solid rgba(255,255,255,.82);border-radius:999px;padding:0 .34rem;background:#b91c1c;color:#fff;font-size:.72rem;font-weight:800;line-height:1;box-shadow:0 2px 5px #1720331f}.tab:not(.active) .tab-badge{border-color:#fecaca;background:#b91c1c;color:#fff}.tab:hover{background:var(--console-accent-soft)}.tab.active{background:var(--console-accent);color:#fff;transform:translateY(1px);z-index:2}.tab.active:after{content:"";position:absolute;left:50%;bottom:.22rem;width:2rem;height:.16rem;border-radius:999px;background:#ffffffc7;transform:translate(-50%)}@media(max-width:560px){.tabs{gap:.2rem}.tab{min-height:2.25rem;padding:.5rem .28rem;font-size:.68rem}.tab-badge{min-width:1rem;height:1rem;padding:0 .25rem;font-size:.62rem}.tab.active:after{width:1.4rem;height:.12rem}}.stylist-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.stylist-card{background-color:#ffffffdb;border:1px solid var(--console-accent-border, #cfd6e3);border-left:.28rem solid var(--console-accent, #175cd3);border-radius:.55rem;padding:.62rem .7rem;box-shadow:0 3px 12px #1720330f}.stylist-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.25rem}.stylist-checkbox{width:.9rem;height:.9rem}.stylist-name{font-weight:600;font-size:.9rem;min-width:70px}.stylist-field{display:flex;align-items:center;gap:.4rem;margin-bottom:.25rem}.stylist-label{width:110px;font-size:.8rem;color:#667085;font-weight:700}.stylist-input{flex:1;padding:.25rem .35rem;border:1px solid #d8dee8;border-radius:.35rem;background:#fff;font-size:.85rem}.category-control{flex:1;display:flex;align-items:stretch;gap:.35rem;min-width:0;flex-wrap:nowrap}.category-input{flex:1 1 auto;min-width:0}.category-select{flex:0 0 2.1rem;width:2.1rem;min-width:2.1rem;padding:0;text-align:center}.header,.footer{display:flex;align-items:center}.header{justify-content:space-between;margin-bottom:.6rem}.footer{justify-content:flex-end;margin-top:.6rem}.save-button{padding:.4rem .8rem;border-radius:.4rem;cursor:pointer;background-color:#ddd;border:none;font-size:.85rem}.save-button:not(:disabled){background-color:var(--console-accent, #175cd3);color:#fff}.save-button:disabled{opacity:.5;cursor:not-allowed}.stylist-card:hover{background-color:#fff;border-color:var(--console-accent, #175cd3)}.mapping-dropdown{display:flex;justify-content:center;margin:1rem 0}.mapping-select{max-width:90%;padding:.6rem .8rem;font-size:1.1rem;font-weight:600;background-color:var(--console-accent-soft, #eaf2ff);border:1px solid var(--console-accent-border, #b2ccff);border-radius:.5rem;transition:all .15s ease}.request-client-name{font-size:1.4rem;font-weight:500;color:#1e293b}.request-datetime-pill{display:flex;align-items:stretch;width:max-content;max-width:100%;margin:.65rem auto .85rem;border:1px solid rgba(15,23,42,.12);border-radius:999px;background:#475569;overflow:hidden;box-shadow:0 2px 8px #1720331a}.request-weekday-part,.request-date-part,.request-time-part{display:flex;align-items:center;min-width:0;padding:.48rem .72rem;line-height:1.12}.request-weekday-part{flex:0 0 auto;background:#475569;color:#fff;font-size:.8rem;font-weight:800;text-transform:uppercase}.request-date-part{flex:0 1 auto;background:#7890a8;color:#fff;font-size:.82rem;font-weight:800;overflow:hidden;white-space:nowrap;gap:0;padding:0;text-transform:uppercase}.request-date-part span{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:1.1rem;padding:0 .42rem;background:transparent}.request-date-part span:nth-child(1),.request-date-part span:nth-child(2){width:2.25rem}.request-date-part span:nth-child(3){width:3.25rem}.request-date-part span+span{border-left:1px solid rgba(255,255,255,.28)}.request-time-part{flex:0 0 auto;justify-content:flex-start;border-left:0;background:#475569;color:#fff;font-size:.93rem;font-weight:800;white-space:nowrap}.request-card{position:relative;margin-bottom:1.2rem;cursor:default;scroll-margin-top:1rem;border-color:#cbd5e1;border-left-color:#64748b;background:linear-gradient(180deg,#fff 0,#f8fafc);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background-color .18s ease}.request-card.new-queue-card{animation:receptionistNewRequestPulse 3.6s ease-out both}.request-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.48rem;margin-top:.7rem}.request-info-item{min-width:0;border:1px solid #d7dee8;border-radius:.7rem;padding:.48rem .58rem;background:#f8fafcf5;box-shadow:inset 0 1px #ffffffb8}.request-service-item{grid-column:1 / -1}.request-info-label{display:block;margin-bottom:.18rem;color:#64748b;font-size:.66rem;font-weight:800;letter-spacing:.02em;line-height:1;text-transform:uppercase}.request-info-value{display:flex;align-items:center;min-width:0;gap:.38rem;color:#1e293b;font-size:.9rem;font-weight:750;line-height:1.2}.request-service{flex-wrap:wrap}.service-code-badge{display:inline-flex;align-items:center;flex:0 0 auto;padding:.22rem .54rem;border:1px solid color-mix(in srgb,var(--service-color) 38%,#cbd5e1);border-radius:999px;color:var(--service-color);background-color:#f8fafc;background-color:color-mix(in srgb,var(--service-color) 9%,#ffffff);font-size:.6rem;font-weight:800;line-height:1}.service-name{min-width:0;color:#1e293b;font-weight:750}.request-phone-item{position:relative;display:flex;min-height:3.9rem;align-items:center;justify-content:center}.request-phone-item .request-info-label{position:absolute;top:.48rem;left:.58rem;margin:0}.request-info-item .request-phone{flex:none;justify-content:center;width:100%;color:#172033;font-size:1.35rem;font-weight:850;letter-spacing:0;line-height:1;white-space:nowrap}.request-stylist-value{display:inline-flex;align-items:center;gap:.42rem;color:#475569}.request-info-item.has-requested-stylist .request-stylist-value{color:#334155;font-weight:850}.request-info-item.has-requested-stylist{border:1px solid var(--stylist-color);border-left-width:5px;background:#f8fafc;background:color-mix(in srgb,var(--stylist-color) 7%,#ffffff);box-shadow:0 2px 8px color-mix(in srgb,var(--stylist-color) 16%,transparent)}.request-info-item.has-requested-stylist .request-info-label{color:var(--stylist-color);font-weight:850}.request-stylist-marker{position:relative;width:1.34rem;height:1.34rem;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid rgba(15,23,42,.12);border-radius:.32rem;box-shadow:0 2px 5px #17203324;overflow:visible}.request-stylist-check{position:absolute;top:-.22rem;left:-.2rem;width:1.78rem;height:1.34rem;z-index:1;overflow:visible;transform:rotate(-5deg);pointer-events:none}.request-stylist-check path{fill:none;stroke-linecap:round;stroke-linejoin:round}.request-stylist-check-outline{stroke:#fff;stroke-width:6}.request-stylist-check-stroke{stroke:#00b844;stroke-width:3.4;filter:drop-shadow(0 1px 1px rgba(22,101,52,.32))}.request-queue-stale{position:absolute;top:-.65rem;left:.9rem;border-radius:999px;padding:.18rem .55rem;background:#475467;color:#fff;font-size:.68rem;font-weight:700;line-height:1;box-shadow:0 2px 6px #17203324}.request-queue-new{position:absolute;top:-.78rem;left:1rem;z-index:4;border-radius:999px;padding:.22rem .68rem;background:#dc2626;color:#fff;font-size:.72rem;font-weight:800;line-height:1;letter-spacing:0;box-shadow:0 5px 14px #dc262647}.request-card.new-queue-card:before{content:"";position:absolute;inset:0 auto 0 -1px;width:.34rem;border-radius:.9rem 0 0 .9rem;background:#dc2626;z-index:1}@keyframes receptionistNewRequestPulse{0%{background:#fee2e2;border-color:#ef4444;box-shadow:0 0 0 4px #ef44442e,0 10px 24px #0f172a14}42%{background:#fff7ed;border-color:#f97316;box-shadow:0 0 0 2px #f973161f,0 8px 20px #0f172a12}to{background:linear-gradient(180deg,#fff 0,#f8fafc);border-color:#cbd5e1;box-shadow:none}}.request-status{position:absolute;top:-.9rem;right:-.6rem;padding:.3rem .7rem;background-color:#01610c;color:#fff;border:1px solid rgba(255,255,255,.72);border-radius:999px;font-size:.75rem;font-weight:600;box-shadow:0 2px 6px #17203324}.request-status.has-timing-badge{padding-right:.62rem}.request-timing-badge{display:inline-flex;align-items:center;margin:-.18rem -.92rem -.18rem .5rem;border:1px solid rgba(255,255,255,.72);border-radius:999px;padding:.24rem .58rem;color:#fff;font-size:.68rem;font-weight:800;line-height:1;box-shadow:0 2px 6px #17203329}.request-timing-badge.is-current{background:#0891b2}.request-timing-badge.is-past{background:#475467}.request-created-time{margin-top:.5rem;font-size:.7rem;color:#98abc3;text-align:right}.expand-indicator{display:flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;margin:.65rem auto 0;padding:0;border:1px solid #64748b;border-radius:50%;background:#64748b;color:#fff;font-size:.75rem;line-height:1;box-shadow:0 2px 6px #17203314;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease;cursor:pointer}.expand-indicator:before{content:"";width:.42rem;height:.42rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-.1rem) rotate(45deg);transition:transform .18s ease}.expand-indicator.open:before{transform:translateY(.12rem) rotate(225deg)}.expand-indicator:hover:not(.open){background:#475569;border-color:#475569}.expand-indicator:focus-visible{outline:3px solid rgba(37,99,235,.32);outline-offset:2px}.request-card.selected-card .expand-indicator.open{background:transparent;border-color:#47556947;color:#47556994;box-shadow:none}.request-card-details{display:grid;grid-template-rows:1fr;overflow:hidden;opacity:1;transition:grid-template-rows .22s ease,opacity .18s ease}.request-card-details.closing{grid-template-rows:0fr;opacity:0;pointer-events:none}.request-card-details-inner{min-height:0;overflow:hidden;animation:requestDetailsReveal .2s ease both}.request-card-details.closing .request-card-details-inner{animation:requestDetailsClose .18s ease both}@keyframes requestDetailsReveal{0%{opacity:0;transform:translateY(-.35rem)}to{opacity:1;transform:translateY(0)}}@keyframes requestDetailsClose{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-.25rem)}}.reception-reply-box{display:grid;gap:.25rem;margin-top:.9rem;padding:.85rem;border:1px solid var(--console-accent-border, #99f6e4);border-radius:.8rem;background:#f0fdfac7}.message-counter-input{position:relative}.reception-reply-box textarea{width:100%;min-height:5.5rem;resize:vertical;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:.7rem;padding:.7rem .8rem 1.45rem;font:inherit;color:#0f172a;background:#fff}.reception-reply-box textarea:focus{outline:none;border-color:var(--console-accent, #0f766e);box-shadow:0 0 0 3px var(--console-accent-soft, #ccfbf1)}.reception-reply-box .message-counter,.proposal-box .message-counter{justify-self:end;color:#64748b;font-size:.72rem;font-weight:700;line-height:1}.message-counter-input .message-counter{position:absolute;right:.75rem;bottom:.55rem;padding:.1rem .25rem;border-radius:.35rem;background:#ffffffdb}.proposal-box{display:grid;gap:.5rem;margin-top:.8rem;padding:.85rem;border:1px solid var(--console-accent-border, #99f6e4);border-radius:.8rem;background:#f0fdfac7}.proposal-box-title{color:var(--console-accent-dark, #115e59);font-size:.82rem;font-weight:800}.proposal-datetime-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(7.5rem,.62fr);gap:.5rem}.proposal-date-picker{position:relative;display:flex;min-width:0}.proposal-date-picker span{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:.7rem;padding:.7rem 2.1rem .7rem .8rem;background:#fff;color:#0f172a;font:inherit;font-weight:700;line-height:1.2;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proposal-date-picker:after{content:"";position:absolute;right:.82rem;top:50%;width:0;height:0;border-left:.28rem solid transparent;border-right:.28rem solid transparent;border-top:.34rem solid #64748b;transform:translateY(-38%);pointer-events:none}.proposal-date-picker input{position:absolute;inset:0;opacity:0;cursor:pointer}.proposal-date-picker:focus-within span{border-color:var(--console-accent, #0f766e);box-shadow:0 0 0 3px var(--console-accent-soft, #ccfbf1)}.proposal-box input,.proposal-box select,.proposal-box textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:.7rem;padding:.7rem .8rem;font:inherit;color:#0f172a;background:#fff}.proposal-box select{text-align:center;font-weight:700}.proposal-box textarea{min-height:4.6rem;padding-bottom:1.45rem;resize:vertical}.proposal-box input:focus,.proposal-box select:focus,.proposal-box textarea:focus{outline:none;border-color:var(--console-accent, #0f766e);box-shadow:0 0 0 3px var(--console-accent-soft, #ccfbf1)}.request-stylist-input{flex:1;color:#667085;font-size:.85rem;font-weight:600}.request-stylist-input.has-requested-stylist{display:inline-flex;flex:0 1 auto;align-items:center;max-width:100%;border:1px solid #fbbf24;border-radius:999px;padding:.28rem .66rem;background:#fffbeb;color:#92400e;font-size:.82rem;font-weight:800;box-shadow:0 2px 6px #92400e1a}.request-actions{display:flex;justify-content:flex-end;gap:.8rem;margin-top:.45rem}.message-actions{margin-top:0}.action-btn{padding:.7rem 1.2rem;font-size:1rem;border-radius:.8rem;border:none;cursor:pointer;background-color:var(--console-accent, #175cd3);color:#fff;font-weight:600}.action-btn.danger{background-color:#e74c3c}.action-btn.action-confirm{background-color:#10b981}.action-btn.action-proposal{background-color:#f59e0b}.action-btn.action-reception-message{background-color:#7c3aed}.action-btn.action-acknowledge{border:1px solid #86a394;background-color:#fff;color:#166534}.action-btn.action-acknowledge span{color:#16a34a;font-weight:800}.action-btn.action-danger{background-color:#b91c1c}.action-btn.action-no-show{background-color:#9a3412}.action-btn.action-undo{border:1px solid #64748b;background-color:#fff;color:#334155}.request-client-history{appearance:none;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center;gap:.34rem;width:max-content;max-width:100%;margin:0;border:1px solid var(--console-accent-border, #99f6e4);border-radius:999px;padding:.34rem .66rem;background:#fffffff5;color:var(--console-accent-dark, #115e59);font:inherit;font-size:.75rem;font-weight:800;line-height:1;cursor:pointer;box-shadow:0 2px 6px #1720331a}.request-client-tools{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.45rem;margin:-.35rem auto .75rem}.request-client-history:active{background:#fffffff5;color:var(--console-accent-dark, #115e59)}.request-client-history svg{width:.95rem;height:.95rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.request-no-show-count{color:#b91c1c;font-weight:800}.appointment-history-client-name{display:inline;color:#172033;font-size:.84rem;font-weight:800;line-height:1.25;overflow-wrap:anywhere}.receptionist-appointment-history .appointment-history-header{text-align:center}.receptionist-history-totals{display:flex;align-items:center;justify-content:center;gap:.5rem;color:#94a3b8;font-weight:500}.receptionist-history-totals strong{color:#b91c1c;font-weight:700}.receptionist-history-totals strong:before{content:"•";margin-right:.5rem;color:#cbd5e1}.milano-client-selection-modal{width:min(100%,29rem)}.milano-client-selection-header{display:flex;align-items:center;gap:.75rem;padding:1rem;border-bottom:1px solid #a892e6;border-radius:.95rem .95rem 0 0;background:#6537c4;text-align:left}.milano-client-selection-header .request-client-avatar{width:2.75rem;height:2.75rem;flex:0 0 2.75rem;border:2px solid rgba(255,255,255,.9);font-size:.86rem;box-shadow:0 2px 8px #0f172a38}.milano-client-selection-booking-client{min-width:0}.milano-client-selection-header .milano-client-selection-booking-client h2{margin:0;color:#fff;font-size:1.4rem;font-weight:500;line-height:1.1;overflow-wrap:anywhere}.milano-client-selection-header .milano-client-selection-booking-client p{margin:.24rem 0 0;color:#ebe2ff;font-size:.9rem;font-weight:700}.milano-client-selection-scroll{min-height:8rem}.milano-client-selection-prompt{margin:0 0 .65rem;padding-bottom:.45rem;border-bottom:1px solid #d8dee8;color:#667085;font-size:.72rem;font-weight:600;line-height:1.3}.milano-client-selection-list{display:grid;gap:.5rem}.milano-client-selection-option{appearance:none;-webkit-tap-highlight-color:transparent;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.65rem;width:100%;border:1px solid #d8dee8;border-radius:.65rem;padding:.68rem .72rem;background:#f8fafc;color:#172033;font:inherit;text-align:left;cursor:default;transition:border-color .15s,background .15s,box-shadow .15s}.milano-client-selection-option.is-selectable{cursor:pointer}.milano-client-selection-option.is-selectable:hover,.milano-client-selection-option.is-selectable:focus-visible{border-color:var(--console-accent-border, #99f6e4);background:var(--console-accent-soft, #f0fdfa);box-shadow:0 2px 8px #17203314;outline:none}.milano-client-selection-option .request-client-avatar{width:2.15rem;height:2.15rem;font-size:.72rem}.milano-client-selection-identity{display:flex;min-width:0;flex-direction:column;gap:.18rem}.milano-client-selection-identity strong{min-width:0;font-size:.8rem;line-height:1.2;overflow-wrap:anywhere}.milano-client-selection-identity small{color:#667085;font-size:.68rem;line-height:1.2}.milano-client-selection-phones{display:flex;flex-wrap:wrap;gap:.18rem .65rem}.milano-client-selection-phones small{white-space:nowrap}.milano-client-selection-status{border-radius:999px;padding:.2rem .42rem;background:#64748b;color:#fff;font-size:.61rem;font-weight:800;line-height:1}.milano-client-selection-status.is-deleted{background:#b91c1c}.milano-client-selection-option>svg{width:1rem;height:1rem;fill:none;stroke:var(--console-accent-dark, #115e59);stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.appointment-history-details{display:flex;align-items:center;flex-wrap:wrap;gap:.48rem;min-width:0}.appointment-history-stylist{display:inline-flex;align-items:center;gap:.32rem;color:#475569;font-size:.76rem;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.appointment-history-stylist i{flex:0 0 auto;width:.58rem;height:.58rem;border:1px solid rgba(255,255,255,.85);border-radius:.2rem;box-shadow:0 0 0 1px #0f172a1f}.action-btn:hover{opacity:.9}.action-btn:disabled{opacity:.55;cursor:not-allowed}.queue-load-more{display:flex;justify-content:center;margin:1.1rem 0 .25rem}.queue-load-more-btn{border:1px solid var(--console-accent-border, #99f6e4);border-radius:999px;padding:.62rem 1.15rem;background:#fff;color:var(--console-accent-dark, #115e59);font:inherit;font-size:.82rem;font-weight:800;cursor:pointer;box-shadow:0 2px 6px #17203314;transition:background .16s ease,border-color .16s ease,transform .16s ease}.queue-load-more-btn:hover{border-color:var(--console-accent, #0f766e);background:var(--console-accent-soft, #ccfbf1);transform:translateY(-1px)}.queue-load-more-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.reception-empty-state{display:flex;align-items:flex-start;gap:.75rem;width:min(34rem,calc(100% - 2rem));margin:2.25rem auto 0;box-sizing:border-box;border:1px solid var(--console-accent-border, #99f6e4);border-radius:.85rem;padding:1rem 1.1rem;background:#ffffffdb;color:#334155;box-shadow:0 4px 14px #17203312}.reception-empty-dot{flex:0 0 auto;width:.62rem;height:.62rem;margin-top:.32rem;border:2px solid var(--console-accent, #0f766e);border-radius:999px;background:#fff;box-shadow:0 0 0 3px var(--console-accent-soft, #ccfbf1)}.reception-empty-title{color:var(--console-accent-dark, #115e59);font-size:.98rem;font-weight:800;line-height:1.2}.reception-empty-description{margin-top:.28rem;color:#64748b;font-size:.86rem;font-weight:500;line-height:1.35}.selected-card{border-color:var(--console-accent, #175cd3);box-shadow:0 0 0 2px var(--console-accent-soft, #eaf2ff),0 6px 18px #1720331a}.admin-console .stylist-card{border-left-color:#175cd3}.admin-cleanup-search{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(10rem,auto);gap:.75rem;align-items:center;margin-bottom:1rem}.admin-cleanup-sort{min-width:10rem}.admin-cleanup-table{display:grid;gap:.42rem}.admin-cleanup-row{display:grid;grid-template-columns:minmax(9.5rem,1.35fr) minmax(5.1rem,.58fr) minmax(5.8rem,.58fr) minmax(4.6rem,.5fr) minmax(4.8rem,.45fr) minmax(5.8rem,.58fr) auto;gap:.38rem;align-items:center;border:1px solid #cfe0ff;border-left:4px solid #175cd3;border-radius:7px;background:#fff;padding:.4rem .48rem;color:#1e293b;font-size:.76rem;box-shadow:0 2px 8px #1720330b}.admin-cleanup-heading{border-left-color:#94a3b8;background:#f8fbff;color:#64748b;font-size:.66rem;font-weight:800;text-transform:uppercase;box-shadow:none}.admin-cleanup-client{min-width:0}.admin-cleanup-client strong,.admin-cleanup-client small{display:block;min-width:0;overflow-wrap:anywhere}.admin-cleanup-client small{color:#64748b;font-size:.68rem}.admin-cleanup-status{justify-self:start;border-radius:999px;color:#fff;padding:.2rem .42rem;font-size:.63rem;font-weight:800;line-height:1;text-transform:uppercase;white-space:nowrap}.admin-cleanup-datetime,.admin-cleanup-latest{display:block;min-width:0;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-cleanup-datetime strong,.admin-cleanup-datetime small,.admin-cleanup-latest small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-cleanup-datetime strong{color:#1e293b;font-size:.76rem}.admin-cleanup-datetime small,.admin-cleanup-latest small{color:#64748b;font-size:.66rem;font-weight:600}.admin-cleanup-heading span:last-child,.admin-cleanup-delete{justify-self:end}.admin-cleanup-delete{border:1px solid #fecaca;border-radius:7px;background:#fff7f7;color:#991b1b;cursor:pointer;padding:.34rem .52rem;font-size:.72rem;font-weight:800}.admin-cleanup-delete:hover{background:#fee2e2}.admin-cleanup-error,.admin-cleanup-empty{border:1px solid #cfe0ff;border-radius:8px;background:#f8fbff;color:#334155;padding:.85rem 1rem;font-weight:600}.admin-cleanup-error{border-color:#fecaca;background:#fff7f7;color:#991b1b;margin-bottom:1rem}.receptionist-console .request-card{border-color:#cbd5e1;border-left-color:#64748b;background:linear-gradient(180deg,#fff 0,#f8fafc)}.receptionist-console .request-card.selected-card{border-color:#94a3b8;border-left-color:#475569;box-shadow:0 0 0 2px #e2e8f0,0 6px 18px #3341551a}.receptionist-console .request-card.stale-card,.receptionist-console .request-card.stale-card:hover{cursor:default;border-color:#d1d5db;border-left-color:#9ca3af;background:#f3f4f6;box-shadow:none;opacity:.72;transform:none}.request-card.stale-card .expand-indicator{display:none}.request-card.stale-card .request-info-item,.request-card.stale-card .request-datetime-pill,.request-card.stale-card .request-created-time,.request-card.stale-card .request-client-name{filter:grayscale(.45)}.receptionist-console .request-client-name{align-items:center;gap:.5rem}.request-client-avatar{width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid rgba(255,255,255,.32);border-radius:50%;color:#fff;font-size:.82rem;font-weight:800;letter-spacing:0;line-height:1;box-shadow:0 2px 6px #1720331f}.request-client-avatar.has-three-initials{font-size:.67rem}.request-client-text{min-width:0;overflow-wrap:anywhere}.receptionist-console .request-actions{padding-top:.7rem}.receptionist-console .reception-reply-box .request-actions{margin-top:0;padding-top:.15rem}.receptionist-console .appointment-activity h3{color:#475569}.receptionist-console .appointment-activity h3:before{background:#64748b;box-shadow:0 0 0 .18rem #e2e8f0}.receptionist-console .appointment-activity h3:after{background:#cbd5e1}.receptionist-console .appointment-event{border-color:#d7dee8;background:#f8fafc}@media(max-width:560px){.message-actions.has-acknowledge{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.message-actions.has-acknowledge .action-btn{min-width:0;padding-right:.55rem;padding-left:.55rem;font-size:.9rem;white-space:nowrap}.admin-cleanup-search{grid-template-columns:1fr}.admin-cleanup-heading{display:none}.admin-cleanup-row{grid-template-columns:1fr;gap:.38rem;padding:.65rem}.request-info-grid{grid-template-columns:1fr}.request-info-value{font-size:.86rem}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0f172a85;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{position:relative;width:90%;max-width:400px;border:2px solid #d32f2f;border-radius:1rem;padding:1.5rem;background:#ffb361;box-shadow:0 10px 30px #0003}.modal-message{margin-bottom:1rem;font-size:1.1rem;font-weight:600}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end}.modal-close-btn{position:absolute;top:-.8rem;right:-.8rem;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:50%;background:#d32f2f;color:#fff;font-size:1.2rem;font-weight:700;cursor:pointer;box-shadow:0 2px 6px #00000040}.modal-close-btn:hover{background:#b71c1c}@keyframes shared-client-details-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.shared-client-details-modal.client-modal-backdrop{position:fixed;z-index:1000;inset:0;display:flex;align-items:center;justify-content:center;background:#0f172a85;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.shared-client-details-modal .client-modal-frame{position:relative}.shared-client-details-modal .client-modal-sheet{position:relative;display:flex;flex-direction:column;width:85vw;max-width:480px;max-height:80vh;overflow:hidden;border:6px solid #a892e6;border-radius:18px;background:#fff;color:#222;box-shadow:0 4px 32px #6d3fd81a}.shared-client-details-modal .client-modal-content{box-sizing:border-box;height:100%;overflow-y:auto;padding:3rem .2rem .2rem;background:#fff;color:#222}.shared-client-details-modal .client-modal-close-btn{position:absolute;right:-2rem;top:-1rem;z-index:110;display:flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;box-sizing:border-box;transform:translate(-50%);border:3px solid #a892e6;border-radius:50%;padding:0;background:#fa314a;color:#fff;font-size:1.3rem;line-height:1;cursor:pointer;opacity:.97;box-shadow:0 3px 14px #bd242e33,0 0 1.5px #fff;transition:background .18s,box-shadow .15s,color .12s}.shared-client-details-modal .client-modal-close-btn:hover,.shared-client-details-modal .client-modal-close-btn:focus,.shared-client-details-modal .client-modal-close-btn:active{outline:none;background:#c00c20;color:#fff;box-shadow:0 5px 16px #a31e2d44,0 0 3px #fff}.shared-client-details-modal .client-details-title{position:absolute;top:-1.5rem;left:50%;z-index:2;min-width:60%;max-width:95%;transform:translate(-50%);border:6px solid #a892e6;border-radius:1.5rem;padding:.5rem 1.8rem;background:#fff6f6;color:#b13939;font-size:1rem;font-weight:700;letter-spacing:.015em;text-align:center;pointer-events:auto;-webkit-user-select:none;user-select:none;box-shadow:0 4px 18px #e1bfc833}.shared-client-details-modal .client-details-title-main{display:inline-flex;align-items:center;justify-content:center;max-width:100%;flex-wrap:wrap;gap:.12em}.shared-client-details-modal .client-note-header{margin-top:.18em;color:#000;font-size:.75em;font-style:italic;font-weight:400;line-height:1.28;opacity:.74;word-break:break-word}.shared-client-details-modal .client-title-pill{position:absolute;bottom:-.78rem;max-width:46%;overflow:hidden;border:2px solid #a892e6;border-radius:999px;padding:.16rem .56rem;background:#ffe8ec;color:#b13939;font-size:.66rem;font-weight:900;line-height:1;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 2px 8px #d4506233}.shared-client-details-modal .client-title-pill-left{left:.75rem}.shared-client-details-modal .client-title-pill-right{right:.75rem}.shared-client-details-modal .client-title-pill-new{background:#e9fbe9;color:#157a27;box-shadow:0 2px 8px #37a64a33}.shared-client-details-modal .client-title-pill-mark{display:inline-flex;align-items:center;justify-content:center;margin-right:.24rem;color:red;font-size:1.05em;font-weight:900}.shared-client-details-modal .service-title-cluster{position:absolute;top:-1.28rem;left:50%;z-index:10020;display:inline-flex;align-items:center;max-width:calc(100% - 1.5rem);transform:translate(-50%)}.shared-client-details-modal .service-code-desc-pill{position:relative;z-index:2;width:max-content;max-width:min(18rem,72vw);box-sizing:border-box;border:3px solid #a892e6;border-radius:999px;padding:.18rem .72rem;background:#ebe2ff;color:#75346b;font-size:.66rem;font-weight:800;line-height:1.1;white-space:nowrap;box-shadow:0 3px 10px #e7caeb55}.shared-client-details-modal .service-code-top-tag{position:absolute;right:-.95rem;top:-.58rem;z-index:3}.shared-client-details-modal .service-code-badge-wrap{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.shared-client-details-modal .service-code-badge{z-index:10010;display:inline-flex;align-items:center;border:1px solid #a892e6;border-radius:.85em;margin:0 .1em 0 .25em;padding:.08em .55em;background:#a892e6;color:#fff;font-size:.77em;font-weight:700;letter-spacing:.01em;vertical-align:middle;white-space:nowrap;box-shadow:0 1px 2px #f2e9ff}.shared-client-details-modal .service-code-top-tag .service-code-badge{margin:0;padding:.12em .64em;font-size:.86em;line-height:1}.shared-client-details-modal .client-details-tabs{display:flex;flex-flow:row nowrap;align-items:center;gap:.25rem;margin-bottom:.5rem}.shared-client-details-modal .accordion-section-header{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;box-sizing:border-box;margin:.2rem 0 .3rem;border:0;border-radius:0 0 1em 1em;padding:.3rem .5rem;outline:none;background:#e5d9fa;color:#672b8d;font-size:.9rem;font-weight:800;line-height:1.2;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;cursor:pointer;box-shadow:none;transition:background .12s,color .12s,font-weight .13s}.shared-client-details-modal .accordion-section-header.active,.shared-client-details-modal .accordion-section-header.active:hover,.shared-client-details-modal .accordion-section-header.active:focus{background:#9e2aeb;color:#fff;font-weight:900}.shared-client-details-modal .accordion-section-icon{display:flex;align-items:center;margin-left:0;color:#a892e6;font-size:1.33em;font-weight:900;transition:color .13s}.shared-client-details-modal .accordion-section-header.active .accordion-section-icon{color:#fff}.shared-client-details-modal .accordion-section-body{padding:.85rem 1.2rem;background:#fff;font-size:1rem}.shared-client-details-modal .client-history-table{width:100%;border-collapse:collapse;table-layout:auto;background:none;word-break:break-word}.shared-client-details-modal .client-history-row{border:0}.shared-client-details-modal .client-history-cell{min-width:0;overflow-wrap:break-word;padding:.4em .2em;background:none;color:#222;font-size:1em;font-weight:400;white-space:normal;vertical-align:top}.shared-client-details-modal .client-history-date{min-width:5.2em;font-weight:600;white-space:nowrap}.shared-client-details-modal .client-history-date--empty{color:transparent;pointer-events:none;-webkit-user-select:none;user-select:none}.shared-client-details-modal .client-history-price{min-width:3.6em;text-align:right}.shared-client-details-spinner-wrap{padding:.6rem;text-align:center}.shared-client-details-spinner{margin:0 auto;border-style:solid;border-color:#ddd;border-radius:50%;animation:shared-client-details-spin 1s linear infinite}@media(max-width:600px){.shared-client-details-modal .client-history-table{font-size:.92em}.shared-client-details-modal .client-history-cell{padding:.2em .1em;font-size:.92em}}.appointment-activity{margin-top:0;padding:.95rem 0 .85rem}.appointment-activity h3{display:flex;align-items:center;gap:.55rem;margin:0 0 .85rem;color:#475467;font-size:.9rem;font-weight:800}.appointment-activity h3:after{content:"";height:1px;flex:1 1 auto;background:#d8dee8}.appointment-activity h3:before{content:"";width:.44rem;height:.44rem;flex:0 0 auto;border-radius:999px;background:#175cd3;box-shadow:0 0 0 .18rem #eaf2ff}.appointment-event{position:relative;border:1px solid #d8dee8;border-radius:.55rem;padding:.9rem .65rem .86rem;background:#f8fafc}.appointment-event.is-new{animation:appointment-event-new 3.2s ease-out}@keyframes appointment-event-new{0%{background:#dcfce7}45%{background:#ecfdf3}70%{background:#f0fdf4}to{background:#f8fafc}}.appointment-event.is-event{opacity:.92}.appointment-event+.appointment-event{margin-top:.78rem}.appointment-event strong,.appointment-event span,.appointment-event svg,.appointment-event time{display:block}.appointment-event strong{min-width:0;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;color:#172033;font-size:.85rem;line-height:1.25}.appointment-event time{position:absolute;right:.65rem;bottom:-.48rem;max-width:calc(100% - 1.3rem);border:1px solid rgba(255,255,255,.8);border-radius:999px;padding:.16rem .45rem;background:#fff;color:#667085;font-size:.7rem;line-height:1.1;text-align:right;box-shadow:0 2px 5px #1720331a}.appointment-sms-delivery{position:absolute;top:-.42rem;right:.62rem;display:inline-flex;align-items:center;justify-content:center;padding:.05rem;border-radius:.2rem;background:#fff;filter:drop-shadow(0 1px 2px rgba(23,32,51,.14))}.appointment-sms-delivery.is-sent{color:#059669}.appointment-sms-delivery.is-failed{color:#b91c1c}.appointment-sms-icon{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.appointment-event-badges{position:absolute;top:-.5rem;left:.65rem;max-width:calc(100% - 1.3rem);display:flex;align-items:center;gap:.25rem}.appointment-event-type{flex:0 0 auto;border-radius:999px;padding:.16rem .42rem;color:#fff;font-size:.66rem;font-weight:600;line-height:1;box-shadow:0 2px 5px #1720331a}.appointment-event-actor{flex:0 1 auto;min-width:0;max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:.16rem .42rem;color:#fff;font-size:.66rem;font-weight:600;line-height:1;box-shadow:0 2px 5px #1720331a}.appointment-message-badge{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:.98rem;border:1px solid currentColor;border-radius:999px;padding:.08rem .26rem;background:#fff;color:#175cd3;box-shadow:0 2px 5px #1720331a}.appointment-message-icon{width:.78rem;height:.78rem;flex:0 0 auto;color:#175cd3;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.appointment-event.client-message,.appointment-event.client-update{background:#f8fafc;border-color:#bfdbfe}.appointment-event.client-message .appointment-event-type{background:#175cd3}.appointment-event.client-update .appointment-event-type{background:#3b82f6}.appointment-event.reception-message,.appointment-event.reception-update{background:#f8fafc;border-color:#ddd6fe}.appointment-event.reception-message .appointment-event-type{background:#7c3aed}.appointment-event.reception-update .appointment-event-type{background:#8b5cf6}.appointment-event.reception-message .appointment-message-icon,.appointment-event.reception-message .appointment-message-badge{color:#7c3aed}.appointment-event.confirmed-update{background:#f8fafc;border-color:#a7f3d0}.appointment-event.confirmed-update .appointment-event-type{background:#10b981}.appointment-event.proposal-update{background:#f8fafc;border-color:#fde68a}.appointment-event.proposal-update .appointment-event-type{background:#f59e0b}.appointment-event.cancellation-requested-update{background:#f8fafc;border-color:#fde68a}.appointment-event.cancellation-requested-update .appointment-event-type{background:#f59e0b}.appointment-event.ended-update{background:#f8fafc;border-color:#fecaca}.appointment-event.ended-update .appointment-event-type{background:#b91c1c}.appointment-event.neutral-update{background:#f8fafc;border-color:#d8dee8}.appointment-event.neutral-update .appointment-event-type{background:#64748b}.appointment-event.reception-message .appointment-event-actor{background:#7c3aed}.appointment-event.reception-update .appointment-event-actor{background:#8b5cf6}.appointment-event.confirmed-update .appointment-event-actor{background:#10b981}.appointment-event.proposal-update .appointment-event-actor,.appointment-event.cancellation-requested-update .appointment-event-actor{background:#f59e0b}.appointment-event.ended-update .appointment-event-actor{background:#b91c1c}.booking-page{--booking-title-accent: #c2410c;--booking-title-dark: #9a3412;--booking-title-border: #f2a65a;min-height:100vh;background:#f9fafb;color:#172033;padding:.75rem}.booking-header{width:min(720px,100%);margin:0 auto .75rem;display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:.5rem 0;text-align:center}.booking-logo{width:210px;height:auto}.booking-eyebrow{color:#667085;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0}.booking-header h1{font-size:1.45rem;line-height:1.1;color:#111827}.booking-header .booking-page-title{position:relative;display:inline-block;max-width:100%;margin-top:.08rem;border:1px solid var(--booking-title-border);border-radius:999px;background:linear-gradient(90deg,var(--booking-title-accent),var(--booking-title-dark));color:#fff;padding:.42rem .78rem .42rem 1.68rem;font-size:.92rem;font-weight:800;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 3px 10px #1720331a}.booking-header .booking-page-title:before{content:"";position:absolute;left:.68rem;top:50%;width:.48rem;height:.48rem;border-radius:999px;background:#ffffffe0;box-shadow:0 0 0 .18rem #ffffff38;transform:translateY(-50%)}.booking-shell,.booking-success{width:min(720px,100%);margin:0 auto}.booking-shell{display:flex;flex-direction:column;gap:.9rem}.booking-unavailable-page{display:flex;flex-direction:column;justify-content:flex-start}.booking-unavailable{width:min(520px,100%);margin:0 auto;padding:1.5rem 1.25rem;border:1px solid #f2a65a;border-left:.35rem solid var(--booking-title-accent);border-radius:.5rem;background:#fff;box-shadow:0 8px 24px #17203314;text-align:center}.booking-unavailable h1{margin:.35rem 0 .65rem;color:#9a3412;font-size:1.45rem;line-height:1.25}.booking-unavailable>p:not(.booking-eyebrow){margin:0;color:#475467;line-height:1.5}.booking-unavailable-phone{display:inline-block;margin-top:1rem;color:#b42318;font-size:1.35rem;font-weight:800;text-decoration:none}.booking-unavailable-phone:hover,.booking-unavailable-phone:focus-visible{color:#7a271a;text-decoration:underline}.booking-section,.booking-success{position:relative;background-color:#fff;border:1px solid #d8dee8;border-radius:.5rem;padding:.65rem}.booking-section.is-required{background:#fff;border-color:#f2a65a}.booking-section.is-complete{background:#f0fdf4;border-color:#22c55e}.booking-section-status{position:absolute;top:-.58rem;right:-.45rem;max-width:min(72%,22rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid rgba(255,255,255,.72);border-radius:999px;padding:.25rem .6rem;font-size:.72rem;font-weight:500;line-height:1;box-shadow:0 2px 6px #17203324}.booking-section.is-required .booking-section-status{background:#c2410c;color:#fff}.booking-section.is-complete .booking-section-status{background:#16a34a;color:#fff}.booking-section.is-pending{background:#f8fbff;border-color:#175cd3}.booking-section.is-pending .booking-section-heading span,.booking-section.is-pending .booking-section-status{background:#175cd3;color:#fff}.booking-success{max-width:680px}.booking-success h2{margin:.2rem 0 .6rem;font-size:1.8rem;line-height:1.15}.booking-success p{color:#475467;margin-bottom:.7rem}.booking-section-heading{display:flex;align-items:center;gap:.45rem;margin-bottom:.45rem}.booking-section-heading span{width:1.35rem;height:1.35rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#6c5ce7;color:#fff;font-size:.75rem;font-weight:800;flex:0 0 auto}.booking-section.is-required .booking-section-heading span{background:#c2410c}.booking-section.is-complete .booking-section-heading span{background:#16a34a}.booking-section-heading h2{font-size:1rem;line-height:1.2}.booking-service-type{display:block;margin-bottom:.55rem}.booking-service-type>span{display:block;margin-bottom:.35rem;color:#475467;font-size:.76rem;font-weight:800;line-height:1}.booking-category-tabs{display:flex;flex-wrap:wrap;gap:.35rem}.booking-category-tab{flex:0 1 auto;min-height:2rem;max-width:100%;padding:.35rem .6rem;border:1px solid #175cd3;border-radius:.5rem;background:#fff;color:#1849a9;font-size:.78rem;font-weight:800;line-height:1.1;text-align:center}.booking-category-tab:hover:not(.selected){background:#eaf2ff}.booking-category-tab.selected{background:#175cd3;color:#fff}.booking-service-list-heading{margin:.05rem 0 .35rem;color:#344054;font-size:.82rem;font-weight:800;line-height:1.2}.booking-service-list{display:flex;flex-direction:column;gap:.4rem}.booking-service-choice{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:3.1rem;padding:.45rem .55rem;border:1px solid #cfd6e3;border-radius:.5rem;background:#fff;color:#172033;text-align:left}.booking-service-choice strong,.booking-service-choice small,.booking-service-choice em{display:block}.booking-service-choice>span{min-width:0}.booking-service-choice strong{color:#072341;font-size:.9rem;line-height:1.15}.booking-service-choice small{margin-top:.15rem;color:#4a5568;font-size:.76rem;line-height:1.2}.booking-service-choice em{flex:0 0 auto;color:#6b46c1;font-size:.76rem;font-style:normal;font-weight:800;white-space:nowrap}.booking-service-choice.selected{border-color:#175cd3;background:#eaf2ff;box-shadow:inset 0 0 0 1px #175cd3}.booking-section.is-required .booking-service-choice:not(.selected),.booking-section.is-required .booking-time:not(.selected){border-color:#f2a65a;background:#fff}.booking-section.is-required .booking-service-choice:not(.selected):hover,.booking-section.is-required .booking-time:not(.selected):hover{border-color:#d97706;background:#fff}.booking-time{border:1px solid #cfd6e3;background:#fff;color:#172033;border-radius:.35rem;text-align:left}.booking-time:hover{border-color:#175cd3;background:#f8fbff}.booking-time.selected{border-color:#175cd3;background:#eaf2ff;box-shadow:inset 0 0 0 1px #175cd3}.booking-field{display:flex;align-items:center;gap:.4rem;margin-bottom:.35rem}.booking-compact-field{margin-bottom:0}.booking-compact-field select{border-color:#175cd3;background:#eaf2ff;box-shadow:inset 0 0 0 1px #175cd3;font-weight:700}.booking-date-field{display:block}.booking-field span{width:110px;color:#555;font-size:.8rem;font-weight:500;flex:0 0 auto}.booking-field input,.booking-field select,.booking-field textarea{flex:1;min-width:0;border:1px solid #cfd6e3;border-radius:.35rem;padding:.45rem .5rem;background:#fff;color:#172033;font:inherit;font-size:.95rem}.booking-field .message-counter-input{position:relative;flex:1;min-width:0}.booking-field textarea{width:100%;min-height:96px;padding-bottom:1.45rem;resize:vertical}.booking-field .message-counter,.appointment-message-box .message-counter{justify-self:end;color:#667085;font-size:.72rem;font-weight:400;line-height:1}.message-counter-input .message-counter{position:absolute;right:.65rem;bottom:.5rem;padding:.1rem .25rem;border-radius:.35rem;background:#ffffffdb}.booking-field input:focus,.booking-field select:focus,.booking-field textarea:focus{outline:2px solid #b2ccff;border-color:#175cd3}.booking-required-field{flex-wrap:wrap}.booking-required-field small{width:8.5rem;flex:0 0 auto;border-radius:999px;padding:.2rem .45rem;font-size:.7rem;font-weight:500;line-height:1;text-align:center}.booking-required-field em{flex:0 0 calc(100% - 110px - .4rem);margin-left:calc(110px + .4rem);color:#667085;font-size:.76rem;font-style:normal;line-height:1.2}.booking-required-field.is-needed input{border-color:#f2a65a;background:#fff}.booking-required-field.is-needed small{background:#fff;color:#9a3412;border:1px solid #f2a65a}.booking-required-field.is-valid input{border-color:#175cd3;background:#eaf2ff;box-shadow:inset 0 0 0 1px #175cd3;font-weight:700}.booking-required-field.is-valid small{background:#dceaff;color:#1849a9}.booking-date-control{flex:1;display:flex;gap:.35rem;min-width:0}.booking-date-button{flex:0 0 5.4rem;border:1px solid #6b46c1;border-radius:.35rem;background:#f7edff;color:#5b21b6;font-size:.78rem;font-weight:800}.booking-date-button:hover:not(:disabled){background:#ede9fe}.booking-date-button:disabled{opacity:.45;cursor:not-allowed}.booking-date-display{flex:1 1 auto;min-width:0;border:1px solid #175cd3;border-radius:.35rem;background:#eaf2ff;color:#172033;padding:.45rem .5rem;font:inherit;font-size:.95rem;font-weight:700;text-align:center;box-shadow:inset 0 0 0 1px #175cd3}.booking-date-display:hover{border-color:#175cd3;background:#dceaff}.booking-native-date{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.booking-time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:.45rem}.booking-time{min-height:44px;padding:.55rem;text-align:center;font-weight:700}.booking-form-grid{display:flex;flex-direction:column;gap:0}.booking-submit-row{position:sticky;bottom:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.7rem;margin-top:.2rem;padding:.55rem;background:#e2e8f0;border:1px solid #cbd5e1;border-top-color:#f2a65a;border-radius:.5rem .5rem 0 0;box-shadow:0 -5px 16px #17203329;z-index:10}.booking-submit-row.is-complete{background:#e2e8f0;border-color:#cbd5e1;border-top-color:#22c55e}.booking-submit-error{flex:1 0 100%;margin:0}.booking-rate-limit-notice{display:grid;flex:1 0 100%;gap:.18rem;border:1px solid #f97316;border-left:.34rem solid #ea580c;border-radius:.55rem;padding:.62rem .72rem;background:#fff7ed;color:#9a3412;box-shadow:0 4px 12px #9a341224}.booking-rate-limit-notice:focus{outline:3px solid rgba(249,115,22,.3);outline-offset:2px}.booking-rate-limit-notice strong{color:#7c2d12;font-size:.9rem}.booking-rate-limit-notice span{font-size:.82rem;line-height:1.25}.booking-rate-limit-time{font-weight:800}.booking-summary{flex:1;min-width:0;display:grid;gap:.28rem}.booking-summary-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.booking-summary-row.single-item{grid-template-columns:1fr}.booking-summary-item{min-width:0;padding:.25rem .38rem;border:1px solid rgba(242,166,90,.65);border-radius:.45rem;background:#fff}.booking-submit-row.is-complete .booking-summary-item{border-color:#22c55e8c}.booking-summary-label{display:block;margin-bottom:.04rem;color:#9a3412;font-size:.68rem;font-weight:800;line-height:1;text-transform:uppercase}.booking-submit-row.is-complete .booking-summary-label{color:#15803d}.booking-summary-value,.booking-summary-missing{display:block;overflow-wrap:anywhere;font-size:.8rem;line-height:1.1}.booking-summary-value{color:#172033}.booking-summary-missing{color:#9ca3af;font-style:italic;font-weight:700}.booking-primary{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.12rem;border:1px solid #f2a65a;border-radius:.6rem;background:#fff;color:#172033;padding:.72rem 1rem;min-width:188px;font-weight:800;line-height:1.1;text-align:center}.booking-primary-spinner{position:absolute;right:.52rem;bottom:.45rem;width:.78rem;height:.78rem;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:booking-spin .8s linear infinite}.booking-primary.is-ready{border-color:#22c55e;background:#16a34a;color:#fff}.booking-primary-main,.booking-primary-sub{display:block;max-width:100%;overflow-wrap:anywhere}.booking-primary-main{font-weight:800}.booking-primary:not(.is-ready) .booking-primary-main{color:#9a3412}.booking-primary-sub{font-size:.72rem;font-weight:400;opacity:1}.booking-primary:not(.is-ready) .booking-primary-sub{color:#172033}.booking-primary:hover:not(:disabled){background:#fff7ed}.booking-primary.is-ready:hover:not(:disabled){background:#15803d}.booking-primary:disabled{opacity:.55;cursor:not-allowed}.booking-secondary{border:1px solid #175cd3;border-radius:.6rem;background:#eaf2ff;color:#1849a9;padding:.72rem 1rem;margin:.2rem 0 .8rem;font-weight:800}.booking-secondary:hover:not(:disabled){background:#d1e0ff}.booking-secondary:disabled{opacity:.55;cursor:not-allowed}.booking-alert,.booking-blocker,.booking-empty,.booking-loading{border-radius:.5rem;padding:.6rem;font-size:.9rem}.booking-alert{border:1px solid #f4b4ae;background:#fff4f2;color:#912018;font-weight:400}.booking-blocker{border:1px solid #f2a65a;background:#fff;color:#9a3412;font-weight:400}.booking-empty,.booking-loading{border:1px dashed #cfd6e3;background:#f8fafc;color:#667085}.booking-loading-inline{display:flex;align-items:center;gap:.45rem}.booking-spinner{width:1rem;height:1rem;flex:0 0 auto;border:2px solid #cfd6e3;border-top-color:#175cd3;border-radius:50%;animation:booking-spin .8s linear infinite}@keyframes booking-spin{to{transform:rotate(360deg)}}.appointment-page{--appointment-accent: #0f766e;--appointment-accent-dark: #134e4a;--appointment-accent-mid: #0e7490;--appointment-accent-soft: #ecfeff;--appointment-accent-border: #99f6e4;--booking-title-accent: var(--appointment-accent);--booking-title-dark: var(--appointment-accent-dark);--booking-title-border: var(--appointment-accent-border);min-height:100vh;background:linear-gradient(180deg,#ecfeff 0,#f6fffd 11rem,#f9fafb 11rem)}.appointment-page-header{margin-bottom:.6rem;padding:.25rem 0 .55rem}.appointment-page-header .booking-logo{width:184px}.appointment-page-body{width:100%}.appointment-card{position:relative;width:min(720px,100%);margin:0 auto;border:1px solid var(--appointment-accent-border);border-top:.35rem solid var(--appointment-accent);border-radius:.65rem;background:#fff;padding:.85rem;box-shadow:0 6px 18px #134e4a14}.appointment-card.is-complete{border-color:#a7f3d0;border-top-color:#10b981}.appointment-card.is-ended{border-color:#fecaca;border-top-color:#b91c1c}.appointment-card.is-waiting{border-color:#bfdbfe;border-top-color:#3b82f6}.appointment-card.is-action-needed{border-color:#fde68a;border-top-color:#f59e0b}.appointment-card.is-pending-cancellation{border-color:#fecaca;border-top-color:#b91c1c}.appointment-status-pill{position:absolute;top:-.72rem;right:.75rem;max-width:calc(100% - 1.5rem);border-radius:999px;padding:.24rem .62rem;background:var(--appointment-accent);color:#fff;font-size:.72rem;font-weight:600;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 2px 6px #134e4a29}.appointment-updated-pill{position:absolute;top:-.72rem;left:.75rem;border-radius:999px;padding:.24rem .62rem;background:var(--appointment-accent-mid);color:#fff;font-size:.72rem;font-weight:600;line-height:1;box-shadow:0 2px 6px #17203324}.appointment-card.is-complete .appointment-status-pill{background:#10b981}.appointment-card.is-ended .appointment-status-pill{background:#b91c1c}.appointment-card.is-action-needed .appointment-status-pill{background:#f59e0b}.appointment-card.is-pending-cancellation .appointment-status-pill{background:#b91c1c}.appointment-card.is-waiting .appointment-status-pill{background:#3b82f6}.appointment-hero{padding:.05rem 0 .78rem}.appointment-history-trigger{appearance:none;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center;gap:.38rem;width:max-content;margin:.42rem auto 0;border:1px solid var(--appointment-accent-border);border-radius:999px;padding:.34rem .66rem;background:#fffc;color:var(--appointment-accent-dark);font:inherit;font-size:.76rem;font-weight:800;line-height:1;cursor:pointer;box-shadow:0 1px 3px #17203314}.appointment-history-trigger:hover,.appointment-history-trigger:focus-visible{border-color:var(--appointment-accent);background:#fff}.appointment-history-trigger:focus-visible{outline:2px solid var(--appointment-accent-border);outline-offset:2px}.appointment-history-trigger svg{width:1rem;height:1rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.appointment-hero h2{margin:.2rem 0 0;color:#111827;font-size:1.5rem;line-height:1.12}.appointment-datetime-pill{display:flex;align-items:stretch;width:max-content;max-width:100%;margin:.45rem auto 0;border:1px solid rgba(15,23,42,.12);border-radius:999px;overflow:hidden;background:var(--appointment-accent);box-shadow:0 2px 8px #134e4a24}.appointment-weekday-part,.appointment-date-part,.appointment-datetime-pill span,.appointment-datetime-pill strong{display:flex;align-items:center;min-width:0;padding:.58rem .82rem;line-height:1.12}.appointment-weekday-part{flex:0 0 auto;background:var(--appointment-accent);color:#fff;font-size:.86rem;font-weight:800;text-transform:uppercase}.appointment-date-part{flex:0 1 auto;background:#3b82a0;color:#fff;font-size:.92rem;font-weight:800;overflow:hidden;white-space:nowrap;gap:0;padding:0;text-transform:uppercase}.appointment-date-part span{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:1.14rem;padding:0 .46rem;background:transparent}.appointment-date-part span:nth-child(1),.appointment-date-part span:nth-child(2){width:2.5rem}.appointment-date-part span:nth-child(3){width:3.55rem}.appointment-date-part span+span{border-left:1px solid rgba(255,255,255,.3)}.appointment-datetime-pill strong{flex:0 0 auto;justify-content:flex-start;border-left:0;background:var(--appointment-accent);color:#fff;font-size:1rem;font-weight:800;white-space:nowrap}.appointment-datetime-pill.is-compact{width:100%;margin:0;border-radius:.65rem;box-shadow:none}.appointment-datetime-pill.is-compact .appointment-weekday-part,.appointment-datetime-pill.is-compact .appointment-date-part,.appointment-datetime-pill.is-compact strong{min-height:2.05rem;font-size:.72rem}.appointment-datetime-pill.is-compact .appointment-weekday-part{padding:.38rem .48rem}.appointment-datetime-pill.is-compact .appointment-date-part{flex:1 1 auto;padding:0}.appointment-datetime-pill.is-compact .appointment-date-part span{min-height:2.05rem;padding:0 .32rem;font-size:.7rem}.appointment-datetime-pill.is-compact .appointment-date-part span:nth-child(1),.appointment-datetime-pill.is-compact .appointment-date-part span:nth-child(2),.appointment-datetime-pill.is-compact .appointment-date-part span:nth-child(3){width:auto;flex:1 1 auto}.appointment-datetime-pill.is-compact strong{flex:0 0 auto;padding:.38rem .5rem}.appointment-details-panel{margin:-.15rem -.15rem 0;padding:.85rem;border:1px solid var(--appointment-accent-border);border-radius:.55rem;background:var(--appointment-accent-soft);box-shadow:inset 0 1px #ffffffb8}.appointment-details-panel .booking-eyebrow{display:inline-flex;align-items:center;border:1px solid rgba(157,23,77,.2);border-radius:999px;padding:.2rem .5rem;background:#ffffffb8;color:var(--appointment-accent-dark);font-size:.7rem}.appointment-detail-grid{display:grid;gap:.45rem}.appointment-detail-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.appointment-details-panel .booking-summary-item{border-color:#9d174d33;background:#ffffffc7;padding:.4rem .5rem}.appointment-details-panel .booking-summary-label{color:var(--appointment-accent-dark);font-size:.66rem}.appointment-details-panel .booking-summary-value{font-size:.86rem;line-height:1.18}.appointment-danger{border-color:#be123c;background:#fff1f2;color:#9f1239}.appointment-danger:hover:not(:disabled){background:#ffe4e6}.appointment-actions{display:grid;gap:.5rem;margin-top:.2rem;padding-top:.8rem;border-top:1px solid #e4e7ec;background:#fff}.appointment-message-box{display:grid;gap:.2rem}.appointment-message-box span{display:flex;align-items:center;gap:.55rem;color:#475467;font-size:.8rem;font-weight:800}.appointment-message-box span:after{content:"";height:1px;flex:1 1 auto;background:#d8dee8}.appointment-message-box textarea{width:100%;min-height:4.2rem;border:1px solid #cfd6e3;border-radius:.5rem;padding:.52rem .6rem 1.45rem;background:#fff;color:#172033;font:inherit;resize:vertical}.appointment-message-box .message-counter-input{position:relative}.appointment-message-box textarea:focus{outline:2px solid var(--appointment-accent-border);border-color:var(--appointment-accent)}.appointment-proposal-box{display:grid;gap:.65rem;margin-top:.7rem;padding:.85rem;border:1px solid var(--appointment-accent-border);border-radius:.8rem;background:#f6fffd}.appointment-proposal-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.62rem;border:1px solid rgba(157,23,77,.16);border-radius:.7rem;background:#ffffffc2}.appointment-proposal-header span,.appointment-proposal-request span{display:block;color:var(--appointment-accent-dark);font-size:.74rem;font-weight:800;text-transform:uppercase}.appointment-proposal-header strong{display:block;margin-top:.14rem;color:#172033;font-size:1.05rem;line-height:1.2}.appointment-proposal-message{margin:0;padding:.55rem .65rem;border:1px solid rgba(157,23,77,.16);border-radius:.65rem;background:#ffffffbd;color:#344054;font-size:.9rem}.appointment-proposal-request{display:grid;gap:.55rem;padding-top:.1rem}.appointment-proposal-request label{display:grid;gap:.3rem}.appointment-availability-box{border-color:#f59e0b6b;background:linear-gradient(180deg,#fffaf0 0,#fff)}.appointment-availability-box span{color:#92400e}.appointment-availability-box textarea{min-height:5.4rem}.appointment-proposal-request textarea:focus{outline:2px solid rgba(245,158,11,.24);border-color:#f59e0b}.appointment-action-buttons{display:flex;align-items:stretch;gap:.5rem;margin-top:.25rem}.appointment-proposal-box .appointment-action-buttons{justify-content:flex-end;flex-wrap:wrap;gap:.5rem}.appointment-proposal-box .appointment-action-buttons .booking-secondary{flex:0 1 auto;min-width:8.5rem}.appointment-card .appointment-action-buttons .booking-primary,.appointment-card .appointment-action-buttons .booking-secondary,.appointment-proposal-header .booking-primary{min-width:0;min-height:2.45rem;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex-direction:row;margin:0;padding:.5rem .74rem;border-radius:.55rem;font-size:.86rem;font-weight:800;line-height:1.12;text-align:center;white-space:normal}.appointment-proposal-header .booking-primary{flex:0 0 auto;min-width:7.75rem}.appointment-card .appointment-action-buttons .booking-primary{border:1px solid var(--appointment-accent);background:var(--appointment-accent)}.appointment-card .appointment-action-buttons .booking-secondary{border:1px solid var(--appointment-accent);background:#f6fffd;color:var(--appointment-accent-dark)}.appointment-card .appointment-action-buttons .booking-primary:hover:not(:disabled){background:var(--appointment-accent-dark)}.appointment-card .appointment-action-buttons .appointment-action-confirm,.appointment-proposal-header .appointment-action-confirm{border-color:#10b981;background:#10b981;color:#fff}.appointment-card .appointment-action-buttons .appointment-action-confirm:hover:not(:disabled),.appointment-proposal-header .appointment-action-confirm:hover:not(:disabled){background:#059669}.appointment-history-trigger:active{background:#fffc;color:var(--appointment-accent-dark)}.booking-success .booking-critical-notice{color:#b91c1c;font-weight:700}.appointment-card .appointment-action-buttons .appointment-action-proposal{border-color:#f59e0b;background:#f59e0b;color:#fff}.appointment-card .appointment-action-buttons .appointment-action-proposal:hover:not(:disabled){background:#d97706}.appointment-card .appointment-action-buttons .appointment-action-client-message{border-color:#175cd3;background:#175cd3;color:#fff}.appointment-card .appointment-action-buttons .appointment-action-client-message:hover:not(:disabled){background:#1849a9}.appointment-card .appointment-action-buttons .appointment-action-danger{border-color:#b91c1c;background:#b91c1c;color:#fff}.appointment-card .appointment-action-buttons .appointment-action-danger:hover:not(:disabled){background:#991b1b}.appointment-send,.appointment-danger{flex:1 1 0;min-width:0;margin:0}.appointment-history-overlay{--appointment-accent: #0f766e;--appointment-accent-dark: #134e4a;--appointment-accent-soft: #ecfeff;--appointment-accent-border: #99f6e4;position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a85;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.appointment-history-modal{position:relative;display:flex;flex-direction:column;width:min(100%,31rem);max-height:min(42rem,calc(100vh - 2rem));border:1px solid var(--appointment-accent-border);border-radius:1rem;background:#fff;box-shadow:0 18px 45px #0f172a3d}.appointment-history-close{position:absolute;right:-2rem;top:-1rem;transform:translate(-50%);z-index:110;display:flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border:3px solid #a892e6;border-radius:50%;padding:0;background:#fa314a;color:#fff;font:inherit;font-size:1.3rem;line-height:1;cursor:pointer;box-sizing:border-box;box-shadow:0 3px 14px #bd242e33,0 0 1.5px #fff;opacity:.97;transition:background .18s,box-shadow .15s,color .12s}.appointment-history-close:hover,.appointment-history-close:focus,.appointment-history-close:active{background:#c00c20;color:#fff;box-shadow:0 5px 16px #a31e2d44,0 0 3px #fff;outline:none}.appointment-history-header{flex:0 0 auto;padding:1rem 1rem .72rem;border-bottom:1px solid #e4e7ec}.appointment-history-header h2{margin:0;color:#172033;font-size:1.05rem;line-height:1.2}.appointment-history-header p{margin:.25rem 0 0;color:#667085;font-size:.72rem;line-height:1.3}.appointment-history-scroll{min-height:7rem;padding:.78rem;overflow-y:auto;overscroll-behavior:contain}.appointment-history-list{display:grid;gap:.62rem}.appointment-history-item{position:relative;display:grid;gap:.45rem;border:1px solid #d8dee8;border-radius:.75rem;padding:.72rem;background:#f8fafc}.appointment-history-item.is-current{border-left:.28rem solid #f97316;background:#fff7ed}.appointment-history-current-marker{position:absolute;top:-.43rem;left:.55rem;z-index:1;border-radius:999px;padding:.17rem .46rem;background:#f97316;color:#fff;font-size:.62rem;font-weight:800;line-height:1;box-shadow:0 2px 5px #7c2d122e;white-space:nowrap}.appointment-history-status{position:absolute;top:-.43rem;right:.55rem;z-index:1;border-radius:999px;padding:.17rem .46rem;background:#64748b;color:#fff;font-size:.64rem;font-weight:800;line-height:1;box-shadow:0 2px 5px #1720331f}.appointment-history-status.is-scheduled,.appointment-history-status.is-now{background:#10b981}.appointment-history-status.is-now{box-shadow:0 0 0 .18rem #d1fae5}.appointment-history-status.is-waiting{background:#3b82f6}.appointment-history-status.is-action-needed{background:#f59e0b}.appointment-history-status.is-pending-cancellation,.appointment-history-status.is-ended{background:#b91c1c}.appointment-history-status.is-no-show{background:#7c2d12}.appointment-history-status.is-past{background:#64748b}.appointment-history-summary{display:flex;align-items:baseline;min-width:0;gap:.35rem;padding:0 .1rem;color:#667085;font-size:.76rem}.appointment-history-summary strong,.appointment-history-summary span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment-history-summary strong{color:#172033}.appointment-history-summary span:before{content:"·";margin-right:.35rem;color:#98a2b3}.appointment-history-state,.appointment-history-loading{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.65rem;min-height:6rem;color:#667085;font-size:.82rem;text-align:center}.appointment-history-state p{margin:0}.appointment-history-state.is-inline{min-height:0;margin-top:.72rem}.appointment-history-load-more{display:block;min-width:7.5rem;margin:.78rem auto 0;border:1px solid var(--appointment-accent);border-radius:999px;padding:.45rem .8rem;background:#fff;color:var(--appointment-accent-dark);font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.appointment-history-load-more:hover:not(:disabled),.appointment-history-load-more:focus-visible{background:var(--appointment-accent-soft)}.appointment-history-load-more:disabled{cursor:wait;opacity:.65}@media(max-width:720px){.booking-page{padding:.6rem}.booking-logo{width:190px}.booking-header h1{font-size:1.25rem}.booking-field{align-items:stretch;flex-direction:column;gap:.25rem}.booking-field span{width:auto}.booking-required-field small{width:100%;text-align:left}.booking-required-field em{flex-basis:100%;margin-left:0}.booking-date-control{width:100%}.booking-date-button{flex-basis:5rem;font-size:.72rem}.booking-service-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;column-gap:.45rem}.booking-service-choice em{align-self:end}.booking-submit-row{align-items:stretch;flex-direction:column}.booking-primary{width:100%}.appointment-proposal-header{align-items:stretch;flex-direction:column}.appointment-card .appointment-action-buttons .booking-primary,.appointment-card .appointment-action-buttons .booking-secondary,.appointment-proposal-header .booking-primary{min-height:2.45rem;padding:.48rem .42rem;font-size:.8rem}.appointment-proposal-header .booking-primary{width:100%;min-width:0}.appointment-proposal-box .appointment-action-buttons{justify-content:flex-end}.appointment-detail-grid,.appointment-detail-row{grid-template-columns:1fr}.appointment-history-overlay{align-items:stretch;padding:1rem}.appointment-history-modal{width:100%;max-height:calc(100vh - 2rem);margin:auto 0;border-radius:.85rem}.appointment-history-header{padding:.85rem 2.15rem .62rem .78rem}.appointment-history-scroll{padding:.68rem}.appointment-history-item{padding:.65rem}}html{font-size:18px}body{font-size:1rem}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-size:17px;line-height:1.5;font-weight:400;color:#1f2937;background-color:#f9fafb}*{box-sizing:border-box;margin:0;padding:0}body{min-width:320px}button{font:inherit;cursor:pointer}input,select{font:inherit}
