@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700&display=swap";:root{font-family:DM Sans,sans-serif;color:#17202a;background:#f6f7f9;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}nav{height:76px;background:#fff;border-bottom:1px solid #e9ecef;display:flex;align-items:center;justify-content:space-between;padding:0 40px}.brand{display:flex;gap:12px;align-items:center}.brand>span{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#0f766e;color:#fff;font-family:Manrope;font-weight:700}.brand div{display:flex;flex-direction:column}.brand small{color:#76808d}.shell{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 76px)}aside{padding:30px 22px;background:#fff;border-right:1px solid #e9ecef;display:flex;flex-direction:column;gap:7px}aside button,.ghost{border:0;background:transparent;text-align:left;padding:12px 16px;border-radius:10px;color:#68727f}aside .active{background:#e7f4f1;color:#0f766e;font-weight:700}section{padding:38px 5vw}section header{display:flex;justify-content:space-between;align-items:center}h1,h2{font-family:Manrope;margin:.25rem 0}.eyebrow{color:#0f766e;text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:700}.live{background:#e8f8ef;color:#16804b;padding:7px 11px;border-radius:99px;font-size:13px}.schedule{margin-top:26px;background:#fff;border:1px solid #e5e9ed;border-radius:18px;overflow:hidden}.schedule article{display:grid;grid-template-columns:150px 1fr auto;gap:24px;align-items:center;padding:20px 24px;border-bottom:1px solid #edf0f2}.schedule article:last-child{border:0}.schedule time{font-weight:700;color:#0f766e}.schedule p{margin:4px 0;color:#606a76}.schedule small{color:#89919b}.status{padding:6px 10px;border-radius:99px;background:#eef1f4;font-size:12px}.status.confirmed{background:#e7f4f1;color:#0f766e}.empty{padding:60px;text-align:center;color:#7d8792}.login{width:min(460px,calc(100% - 32px));margin:8vh auto;background:#fff;border:1px solid #e5e9ed;padding:38px;border-radius:22px;box-shadow:0 20px 60px #17202a12}.login>p{color:#65707d}.login label{display:block;margin-top:18px;font-weight:600}.login input{display:block;width:100%;margin-top:7px;padding:12px 14px;border:1px solid #dce1e5;border-radius:10px}.login button{width:100%;margin-top:24px;border:0;border-radius:11px;background:#0f766e;color:#fff;padding:13px;font-weight:700}.error{color:#b42318!important}@media(max-width:760px){nav{padding:0 18px}.shell{grid-template-columns:1fr}aside{display:none}section{padding:24px 16px}.schedule article{grid-template-columns:1fr}.status{justify-self:start}}.header-actions{display:flex;gap:10px;align-items:center}.toolbar{display:flex;gap:16px;align-items:center;margin-top:18px;flex-wrap:wrap}.toolbar input[type=search]{padding:10px 14px;border:1px solid #dce1e5;border-radius:10px;min-width:240px}.checkbox{display:flex;align-items:center;gap:8px;font-weight:500;color:#606a76}.checkbox input{width:auto;margin:0}.panel-form{background:#fff;border:1px solid #e5e9ed;border-radius:18px;padding:26px;margin-top:20px;display:flex;flex-direction:column;gap:14px;max-width:560px}.panel-form label{display:block;font-weight:600}.panel-form input,.panel-form select,.panel-form textarea{display:block;width:100%;margin-top:7px;padding:11px 13px;border:1px solid #dce1e5;border-radius:10px;font:inherit}.panel-form textarea{min-height:80px;resize:vertical}.panel-form fieldset{border:1px solid #e5e9ed;border-radius:10px;padding:12px 14px}.panel-form legend{font-weight:600;padding:0 6px}.field-error{display:block;color:#b42318;font-size:13px;margin-top:5px;font-weight:500}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.data-table{width:100%;margin-top:22px;background:#fff;border:1px solid #e5e9ed;border-radius:18px;border-collapse:collapse;overflow:hidden}.data-table th,.data-table td{text-align:left;padding:14px 18px;border-bottom:1px solid #edf0f2}.data-table th{color:#7d8792;font-size:13px;text-transform:uppercase;letter-spacing:.04em}.data-table tr:last-child td{border-bottom:0}.row-actions{display:flex;gap:8px}.pagination{display:flex;align-items:center;gap:14px;margin-top:18px;justify-content:flex-end}button.danger{background:#b42318;color:#fff;border:0;border-radius:10px;padding:11px 16px;font-weight:700}.modal-backdrop{position:fixed;inset:0;background:#17202a66;display:grid;place-items:center;z-index:50}.modal{background:#fff;border-radius:18px;padding:28px;width:min(460px,calc(100% - 32px));box-shadow:0 20px 60px #17202a26}.modal label{display:block;margin-top:14px;font-weight:600}.modal textarea{display:block;width:100%;margin-top:7px;padding:11px 13px;border:1px solid #dce1e5;border-radius:10px;min-height:80px;font:inherit}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.pin-display{font-family:monospace;font-size:28px;letter-spacing:.12em;background:#f6f7f9;border-radius:10px;padding:14px;text-align:center;margin:16px 0}.status-row{padding:20px 0;color:#606a76}.status-row--error{display:flex;gap:12px;align-items:center;color:#b42318}.status-row--empty{color:#89919b}.appt-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.appt-actions button{font-size:13px;padding:8px 12px}.inline-form{margin-top:12px;display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.inline-form label{font-weight:600;font-size:13px}.inline-form input{display:block;margin-top:5px;padding:9px 11px;border:1px solid #dce1e5;border-radius:8px}.agenda-shell{max-width:1500px}.agenda-header{align-items:flex-start}.period-label{color:#68727f;margin:.4rem 0 0}.agenda-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:22px 0}.agenda-toolbar select{border:1px solid #dce1e5;border-radius:10px;padding:10px 12px;background:#fff;color:#39434e}.segmented{display:flex;border:1px solid #dce1e5;border-radius:10px;overflow:hidden;background:#fff}.segmented button{border:0;background:transparent;padding:10px 14px;color:#68727f}.segmented button.active{background:#0f766e;color:#fff}.connection{font-size:13px;padding:7px 11px;border-radius:99px}.connection--connected{background:#e8f8ef;color:#16804b}.connection--reconnecting{background:#fff4d6;color:#8a5b00}.connection--disconnected{background:#fcebea;color:#b42318}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#dfe5e7;border:1px solid #dfe5e7;border-radius:16px;overflow:hidden}.calendar-day{background:#fff;min-height:620px;padding:14px}.calendar-day h3{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid #edf0f2;padding-bottom:12px;margin:0 0 10px;font-size:14px}.calendar-day h3 span{font-size:12px;text-transform:uppercase;color:#0f766e}.calendar-empty{color:#a0a8b0;font-size:13px;text-align:center;margin-top:60px}.time-grid{position:relative;height:560px;background:repeating-linear-gradient(to bottom,#fff 0 calc(6.666% - 1px),#edf0f2 6.666%)}.time-marker{position:absolute;left:0;color:#a0a8b0;font-size:10px;transform:translateY(-50%);pointer-events:none}.time-grid .appointment-card{position:absolute;margin:0;overflow:auto;z-index:1}.appointment-card{border:1px solid #dfe5e7;border-left:4px solid #0f766e;border-radius:10px;background:#fff;overflow:hidden}.appointment-card.status-pending_payment{border-left-color:#c68a08}.appointment-card.status-cancelled,.appointment-card.status-no_show,.appointment-card.status-expired{border-left-color:#9aa3ad;opacity:.8}.appointment-card__body{display:flex;flex-direction:column;gap:4px;width:100%;padding:11px 12px;border:0;background:transparent;text-align:left;color:#17202a}.appointment-card__body strong{font-size:14px}.appointment-card__body span{font-size:12px;color:#68727f}.appointment-card__time{font-weight:700;color:#0f766e!important}.appointment-card__meta{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:7px 10px;border-top:1px solid #edf0f2}.appointment-card__meta .ghost{font-size:11px;padding:6px 8px}.danger-text{color:#b42318!important}.hold{display:inline-block!important;color:#8a5b00!important;font-weight:700}.hold--expired{color:#b42318!important}.lock{color:#8a5b00!important}.status.pending_payment{background:#fff4d6;color:#8a5b00}.status.checked_in{background:#eaf1ff;color:#2455a6}.status.in_service{background:#f2eaff;color:#6e3da4}.status.completed{background:#e8f8ef;color:#16804b}.status.cancelled,.status.no_show,.status.expired{background:#eef1f4;color:#68727f}.mobile-agenda{display:none}.appointment-form{max-width:650px}.price-summary{background:#f6f7f9;border-radius:10px;padding:12px;margin:0;color:#39434e}.agenda-error{margin-top:14px}.modal-close{float:right;border:0;background:transparent;font-size:24px;color:#68727f}.appointment-details dl{display:grid;gap:12px;margin:22px 0}.appointment-details dl div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #edf0f2;padding-bottom:9px}.appointment-details dt{color:#68727f}.appointment-details dd{margin:0;text-align:right;font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.mobile-agenda-touch-container{touch-action:pan-y;position:relative;will-change:transform;transition:transform .2s ease-out}.swipe-indicator{display:flex;justify-content:space-between;padding:8px 12px;font-size:12px;color:#68727f;margin-bottom:8px}@media(max-width:900px){nav{padding:0 20px}.shell{grid-template-columns:1fr}aside{display:grid;grid-template-columns:repeat(4,1fr);padding:12px;gap:4px;border-right:0;border-bottom:1px solid #e9ecef}aside button{padding:10px 6px;text-align:center;font-size:12px;min-height:44px}.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-day{min-height:220px}}@media(max-width:600px){section{padding:24px 16px}.agenda-header{gap:18px;flex-direction:column}.agenda-header .header-actions{width:100%;justify-content:space-between}.agenda-toolbar{align-items:stretch}.agenda-toolbar select{flex:1;min-width:145px;min-height:44px}.agenda-toolbar button{min-height:44px;min-width:44px;padding:10px 14px}.segmented button{min-height:44px;min-width:44px}.calendar-grid{display:none}.mobile-agenda{display:block}.appointment-card__meta{padding:8px}.appointment-card__meta .status{margin-right:auto}.appointment-card__meta button{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}.appointment-card__body{min-height:64px}.modal{max-height:90vh;overflow:auto}.modal-actions button{min-height:44px;min-width:44px}.header-actions{flex-wrap:wrap}.header-actions button{min-height:44px;min-width:44px}}.subscription-banner{padding:10px 24px;display:flex;align-items:center;justify-content:space-between;font-size:14px;border-bottom:1px solid #d97706;background:#f59e0b;color:#1c1917;z-index:40;position:relative}.subscription-banner--warning{background:#f59e0b;color:#1c1917;border-bottom-color:#d97706}.subscription-banner--info{background:#dbeafe;color:#1e3a8a;border-bottom-color:#bfdbfe}.subscription-banner--danger{background:#fee2e2;color:#991b1b;border-bottom-color:#fca5a5}.subscription-banner__content{display:flex;align-items:center;gap:12px;line-height:1.4}.subscription-banner__icon{font-size:16px;display:inline-flex;align-items:center}.subscription-banner__link{background:transparent;border:0;padding:0;color:inherit;text-decoration:underline;font-weight:700;cursor:pointer;display:inline;font-size:inherit}.subscription-banner__close{background:transparent;border:0;font-size:18px;color:inherit;cursor:pointer;padding:0 6px;line-height:1}.subscription-modal{width:min(580px,calc(100% - 32px));max-width:580px}.status-box{padding:14px 16px;border-radius:12px;margin:16px 0;font-size:13px;line-height:1.4}.status-box p{margin:4px 0 0}.status-box--warning{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.status-box--danger{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.status-box--success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.frequency-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:10px}.frequency-card{border:2px solid #e5e9ed;border-radius:12px;padding:12px;cursor:pointer;display:flex;gap:8px;align-items:flex-start;background:#fff;transition:border-color .15s,background-color .15s}.frequency-card.selected{border-color:#0f766e;background:#e7f4f1}.frequency-card div{display:flex;flex-direction:column;gap:3px}.frequency-card .price{font-weight:700;color:#0f766e;font-size:14px}.frequency-card small{color:#68727f;font-size:11px}.badge-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.discount-badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:6px;background:#fef3c7;color:#92400e}.discount-badge--best{background:#dcfce7;color:#166534}.gateway-options{display:flex;flex-direction:column;gap:8px;margin-top:10px}.gateway-card{border:1px solid #e5e9ed;border-radius:10px;padding:12px 14px;cursor:pointer;display:flex;gap:10px;align-items:flex-start;background:#fff}.gateway-card.selected{border-color:#0f766e;background:#e7f4f1}.gateway-card div{display:flex;flex-direction:column;gap:2px}.gateway-card small{color:#68727f;font-size:12px}.checkout-ready{text-align:center;padding:16px 0}.checkout-btn{display:inline-block;background:#0f766e;color:#fff;text-decoration:none;padding:14px 24px;border-radius:12px;font-weight:700;font-size:15px;margin-top:12px}.subscription-suspended-screen{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 76px);padding:24px;background:#fef2f2}.suspended-card{background:#fff;border:2px solid #fecaca;border-radius:20px;padding:36px;max-width:540px;width:100%;box-shadow:0 20px 60px #b91c1c14;text-align:center}.suspended-icon{font-size:48px;margin-bottom:12px}.suspended-desc{color:#68727f;margin:12px 0 20px;line-height:1.5}.suspended-details{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px;margin:20px 0;display:flex;flex-direction:column;gap:8px;text-align:left;font-size:13px}.suspended-details div{display:flex;justify-content:space-between;align-items:center}.suspended-actions{display:flex;flex-direction:column;gap:10px;margin-top:24px}.btn-pay-reactivate{background:#0f766e;color:#fff;border:0;border-radius:12px;padding:14px 24px;font-size:15px;font-weight:700;cursor:pointer}
