@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--app-bg:#f1f5f9;--app-surface:#fff;--app-surface-strong:#fff;--app-surface-muted:#f5f8fc;--app-border:#e2e8f0;--app-border-strong:#4a668633;--app-text:#1e293b;--app-text-soft:#64748b;--app-title:#0f172a;--app-primary:#2f4797;--app-primary-dark:#2f4797;--app-primary-soft:#1d4ed814 --app-success: #0f8a5f;--app-success-soft:#0f8a5f1f;--app-danger:#d14343;--app-danger-soft:#d143431f;--app-warning:#b7791f;--app-warning-soft:#b7791f1f;--app-shadow:0 28px 60px #0f172a14, 0 10px 24px #0f172a0d;--app-shadow-soft:0 16px 35px #0f172a0f;--app-radius-xl:30px;--app-radius-lg:24px;--app-radius-md:18px;--app-radius-sm:14px;--app-font:"Inter", system-ui, -apple-system, sans-serif;font-family:var(--app-font);color:var(--app-text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100svh}body{color:var(--app-text);background:#0f1e3a;margin:0}#root{flex-direction:column;width:100%;display:flex}a{color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}p,h1,h2,h3{margin:0}.page{flex:1;width:100%}.container{width:100%;max-width:1180px;margin:0 auto;padding:28px}.page-layout,.page-layout__panel{width:100%}.page-layout__header{flex-direction:column;gap:10px;margin-bottom:26px;display:flex}.page-layout__eyebrow{color:var(--app-primary);letter-spacing:.02em;text-transform:uppercase;background:#ffffffb8;border:1px solid #2563eb2e;border-radius:999px;align-self:flex-start;padding:8px 12px;font-size:.85rem;font-weight:700;display:inline-flex}.page-layout__title{color:var(--app-title);letter-spacing:-.05em;font-size:clamp(2rem,4vw,3.6rem);font-weight:800;line-height:.98}.page-layout__title--compact{letter-spacing:-.03em;font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.08}.page-layout__header-actions{align-items:center;display:flex}@media (width<=900px){.page-layout__header{z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border-bottom:1px solid #0f172a14;margin-top:0;margin-bottom:24px;padding:18px 0;position:sticky;top:0}.page-layout__panel{padding-top:0}.page-layout__header{flex-direction:row;justify-content:space-between;align-items:center}.page-layout__eyebrow{margin-right:12px}.page-layout__header-actions{margin-left:12px}}.page-layout__subtitle{max-width:760px;color:var(--app-text-soft);font-size:1rem}.page-meta{color:var(--app-text-soft);font-size:.95rem}.status-message{border:1px solid var(--app-border);border-radius:var(--app-radius-sm);color:var(--app-text);box-shadow:var(--app-shadow-soft);background:#ffffffd1;padding:14px 16px}.status-message--error{color:#9e2d2d;background:linear-gradient(#fffffffa,#fff3f3f5);border-color:#d1434338}.status-message--success{color:#106846;background:linear-gradient(#fffffffa,#f1fbf6f5);border-color:#0f8a5f38}.status-message--muted{color:var(--app-text-soft)}.surface-card{border:1px solid var(--app-border);border-radius:var(--app-radius-lg);background:var(--app-surface);box-shadow:var(--app-shadow-soft)}.surface-card--soft{background:linear-gradient(#fffffff5,#f5f8fcf2)}.section-title{color:var(--app-title);letter-spacing:-.02em;font-size:1.18rem;font-weight:700}.form-label{color:var(--app-title);flex-direction:column;gap:8px;font-size:.94rem;font-weight:700;display:flex}.text-input{border:1px solid var(--app-border);border-radius:var(--app-radius-sm);width:100%;min-height:48px;color:var(--app-text);background:#f8fafcfa;padding:12px 14px;transition:border-color .2s,box-shadow .2s,background-color .2s}.text-input:hover{border-color:#2563eb38}.text-input:focus{border-color:var(--app-primary);background:var(--app-surface-strong);box-shadow:0 0 0 4px var(--app-primary-soft);outline:none}.button{color:#fff;letter-spacing:-.01em;background:linear-gradient(#3475f6 0%,#2563eb 100%);border:1px solid #0000;border-radius:999px;min-height:46px;padding:0 18px;font-weight:700;transition:transform .18s,box-shadow .18s,opacity .18s,background-color .18s;box-shadow:0 12px 24px #2563eb38}.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 30px #2563eb42}.button:disabled{opacity:.62;cursor:not-allowed;box-shadow:none}.button--secondary{border-color:var(--app-border);color:var(--app-title);box-shadow:none;background:#fffffffa}.button--secondary:hover:not(:disabled){box-shadow:var(--app-shadow-soft)}.button--danger{background:linear-gradient(#de5f5f 0%,#d14343 100%);box-shadow:0 12px 24px #d143432e}.button--ghost{color:var(--app-primary);box-shadow:none;background:#ffffffc7;border-color:#2563eb24}.pill{border:1px solid var(--app-border);min-height:32px;color:var(--app-text-soft);background:#fffc;border-radius:999px;justify-content:center;align-items:center;padding:6px 12px;font-size:.88rem;font-weight:700;display:inline-flex}@media (width<=768px){.container{padding:18px}.page-layout__header{gap:8px;margin-bottom:20px}.page-layout__subtitle{font-size:.96rem}.button{width:100%}}.page-layout__panel:has(.admin-global-shell){background:radial-gradient(circle at 16% 8%,#4dd0e133,#0000 28%),radial-gradient(circle at 84% 5%,#9575cd2e,#0000 30%),linear-gradient(135deg,#0f1e3a 0%,#122846 52%,#0b1729 100%);max-width:none;min-height:100svh;padding:0}.page-layout__panel:has(.admin-global-shell)>.page-layout__header{display:none}.admin-global-shell{color:#1a1f36;grid-template-columns:284px minmax(0,1fr);min-height:100svh;display:grid}.admin-global-sidebar{z-index:30;background:#eef3f8;border-right:1px solid #94a3b83d;flex-direction:column;gap:22px;height:100svh;padding:22px;display:flex;position:sticky;top:0;box-shadow:18px 0 42px #0208171f}.admin-global-brand{border-bottom:1px solid #94a3b83d;align-items:center;gap:12px;padding:8px 6px 16px;display:flex}.admin-global-brand__mark{color:#fff;background:linear-gradient(135deg,#4a90e2 0%,#4dd0e1 100%);border-radius:15px;flex:none;place-items:center;width:42px;height:42px;font-weight:700;display:grid;box-shadow:0 12px 24px #4a90e23d}.admin-global-brand strong,.admin-global-brand span{display:block}.admin-global-brand strong{color:#1a1f36;font-size:1rem;font-weight:700;line-height:1.2}.admin-global-brand span{color:#5f6f89;margin-top:2px;font-size:.82rem;font-weight:500}.admin-global-nav{gap:6px;display:grid}.admin-global-nav a{color:#334155;border:1px solid #0000;border-radius:14px;align-items:center;min-height:42px;padding:0 12px;font-size:.92rem;font-weight:600;text-decoration:none;transition:background-color .18s,border-color .18s,color .18s;display:flex}.admin-global-nav a:hover{color:#1a1f36;background:#ffffffbd;border-color:#4a90e22e}.admin-global-sidebar__session{background:#ffffffa8;border:1px solid #94a3b847;border-radius:18px;gap:8px;margin-top:auto;padding:14px;display:grid}.admin-global-sidebar__session span{color:#66758c;font-size:.78rem;font-weight:600}.admin-global-sidebar__session strong{color:#1a1f36;word-break:break-word;font-size:.88rem;font-weight:600;line-height:1.35}.admin-global-sidebar__logout{width:100%;margin-top:6px}.admin-global-mobile-topbar,.admin-global-menu-backdrop{display:none}.admin-global-page{background:#fafbfc;flex-direction:column;gap:20px;min-width:0;min-height:100svh;padding:24px;display:flex;overflow-x:hidden}.admin-global-hero,.admin-global-section,.admin-global-business-card,.admin-global-log-card{background:#fff;border:1px solid #e2e8f0;box-shadow:0 16px 36px #0f172a0f}.admin-global-hero{border-radius:22px;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:20px;padding:24px;display:grid}.admin-global-hero__copy{align-content:center;gap:10px;display:grid}.admin-global-hero__copy .pill,.admin-global-section__header .pill,.admin-global-usage__header .pill{color:#315f98;text-transform:none;background:#4a90e214;border-color:#4a90e22e;width:fit-content;min-height:28px;padding:5px 10px;font-size:.78rem;font-weight:600}.admin-global-hero__title{color:#1a1f36;letter-spacing:0;font-size:clamp(1.45rem,2.6vw,1.65rem);font-weight:700;line-height:1.18}.admin-global-hero__text,.admin-global-section__text{color:#5f6f89;max-width:660px;font-size:.94rem;font-weight:400;line-height:1.58}.admin-global-hero__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-global-stat{min-width:0;box-shadow:none;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;gap:5px;padding:16px;display:grid}.admin-global-stat strong{color:#1a1f36;font-size:1.5rem;font-weight:700;line-height:1}.admin-global-stat span{color:#5f6f89;font-size:.82rem;font-weight:500;line-height:1.35}.admin-global-grid{grid-template-columns:minmax(280px,.76fr) minmax(0,1.55fr);align-items:start;gap:20px;display:grid}.admin-global-section{border-radius:22px;flex-direction:column;gap:16px;padding:22px;display:flex}.admin-global-section__header{border-bottom:1px solid #edf2f7;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;display:flex}.admin-global-section .section-title{color:#1a1f36;letter-spacing:0;font-size:1.35rem;font-weight:700}.admin-global-form{gap:14px;display:grid}.admin-global-section .form-label{color:#66758c;font-size:.82rem;font-weight:500}.admin-global-section .text-input{color:#1a1f36;min-height:44px;box-shadow:none;background:#fff;border:1px solid #d7e0ea;border-radius:14px;font-size:.92rem}.admin-global-section .text-input:focus{border-color:#4a90e2;box-shadow:0 0 0 4px #4a90e224}.admin-global-section .button,.admin-global-sidebar .button{letter-spacing:0;border-radius:14px;min-height:42px;font-size:.9rem;font-weight:600}.admin-global-section .button:not(.button--secondary):not(.button--ghost){background:linear-gradient(#5aa0ea 0%,#4a90e2 100%);box-shadow:0 12px 24px #4a90e233}.admin-global-section .button--secondary,.admin-global-sidebar .button--secondary{color:#1a1f36;box-shadow:none;background:#fff;border-color:#d7e0ea}.admin-global-section .button--ghost{color:#315f98;box-shadow:none;background:#4a90e214;border-color:#4a90e22e}.admin-global-form__submit{justify-self:flex-start;min-width:180px}.admin-global-businesses{gap:16px;display:grid}.admin-global-business-card{border-radius:18px;gap:14px;padding:18px;display:grid}.admin-global-business-card__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-global-business-card__title{color:#1a1f36;font-size:1rem;font-weight:700;line-height:1.3}.admin-global-business-card__slug{color:#5f6f89;margin-top:2px;font-size:.86rem;font-weight:500}.admin-global-business-card__meta{color:#5f6f89;background:#f8fafc;border:1px solid #edf2f7;border-radius:14px;gap:6px;padding:12px;font-size:.9rem;line-height:1.5;display:grid}.admin-global-business-card__meta strong{color:#1a1f36;font-weight:600}.admin-global-business-card__meta a{color:#4a90e2;word-break:break-all;text-decoration:none}.admin-global-business-card__meta a:hover{text-decoration:underline}.admin-global-features,.admin-global-usage,.admin-global-users{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;gap:12px;padding:14px;display:grid}.admin-global-usage{background:#fff}.admin-global-features__title{color:#1a1f36;font-size:.98rem;font-weight:600;line-height:1.35}.admin-global-features__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.admin-global-feature-toggle{color:#334155;background:#fff;border:1px solid #dfe7f0;border-radius:12px;align-items:center;gap:8px;min-height:38px;padding:8px 10px;font-size:.86rem;font-weight:500;display:flex}.admin-global-feature-toggle input{accent-color:#4a90e2;width:16px;height:16px}.admin-global-usage__header,.admin-global-usage__edit{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.admin-global-usage__bar{background:#e8eef5;border-radius:999px;height:9px;overflow:hidden}.admin-global-usage__bar span{border-radius:inherit;background:linear-gradient(90deg,#4a90e2,#4dd0e1);height:100%;display:block}.admin-global-usage__stats{color:#5f6f89;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;font-size:.88rem;line-height:1.45;display:grid}.admin-global-usage__stats strong{color:#1a1f36;font-weight:600}.admin-global-usage__edit .form-label{flex:180px}.admin-global-users__list{gap:10px;display:grid}.admin-global-user-row{background:#fff;border:1px solid #dfe7f0;border-radius:14px;gap:10px;padding:12px;display:grid}.admin-global-user-row__name{color:#1a1f36;font-size:.94rem;font-weight:600}.admin-global-user-row__meta{color:#5f6f89;margin-top:3px;font-size:.84rem;line-height:1.4}.admin-global-user-row__actions,.admin-global-users__form{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:8px;display:grid}.admin-global-user-row__actions{grid-template-columns:auto minmax(160px,1fr) auto}.admin-global-business-card__actions{flex-wrap:wrap;gap:10px;display:flex}.admin-global-status,.admin-global-log-status{width:fit-content;min-height:28px;padding:5px 10px;font-size:.78rem;font-weight:600}.admin-global-status.is-active,.admin-global-log-status.is-sent{color:#0f8a5f;background:#ecfdf5;border-color:#0f8a5f33}.admin-global-status.is-inactive,.admin-global-log-status.is-failed{color:#d14343;background:#fff1f2;border-color:#d1434338}.admin-global-log-status.is-skipped_limit_reached{color:#9a6300;background:#fff7ed;border-color:#f59e0b3d}.admin-global-log-status.is-skipped_missing_phone{color:#6f4bb7;background:#f5f3ff;border-color:#9575cd3d}.admin-global-log-status.is-skipped_whatsapp_disabled,.admin-global-log-status.is-skipped_module_disabled{color:#5f6f89;background:#f1f5f9;border-color:#5f6f8938}.admin-global-section--logs{margin-top:0}.admin-global-log-filters{grid-template-columns:repeat(5,minmax(0,1fr)) auto;align-items:end;gap:12px;display:grid}.admin-global-log-list{gap:10px;display:grid}.admin-global-log-card{background:#fff;border-radius:16px;grid-template-columns:minmax(180px,1.2fr) minmax(130px,.8fr) minmax(140px,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.admin-global-log-card__title{color:#1a1f36;font-size:.94rem;font-weight:600;line-height:1.35}.admin-global-log-card__meta,.admin-global-log-card__label{color:#5f6f89;font-size:.8rem;font-weight:500;line-height:1.4}.admin-global-log-card p{color:#334155;margin:0;font-size:.9rem}.admin-global-log-card__error{word-break:break-word;border-top:1px solid #d1434324;grid-column:1/-1;padding-top:10px;color:#d14343!important}.admin-global-page .status-message{box-shadow:none;border-radius:14px;padding:12px 14px;font-size:.9rem}@media (width<=1180px){.admin-global-grid{grid-template-columns:1fr}.admin-global-user-row__actions,.admin-global-users__form,.admin-global-log-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-global-log-filters .button{grid-column:1/-1}}@media (width<=900px){.admin-global-shell{grid-template-columns:1fr}.admin-global-mobile-topbar{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f1e3af5;border-bottom:1px solid #e2e8f02e;justify-content:space-between;align-items:center;gap:14px;min-height:68px;padding:12px 16px;display:flex;position:sticky;top:0}.admin-global-brand--mobile{border-bottom:0;padding:0}.admin-global-brand--mobile strong{color:#fff}.admin-global-brand--mobile span{color:#ffffffb8}.admin-global-menu-button{width:44px;height:44px;box-shadow:none;background:#ffffff1f;border:1px solid #ffffff38;border-radius:14px;place-items:center;gap:4px;padding:10px;display:grid}.admin-global-menu-button span{background:#fff;border-radius:999px;width:20px;height:2px}.admin-global-sidebar{border-bottom:1px solid #94a3b83d;border-right:0;height:auto;max-height:calc(100svh - 68px);display:none;position:fixed;inset:68px 0 auto;overflow-y:auto;box-shadow:0 24px 54px #0208173d}.admin-global-sidebar.is-open{display:flex}.admin-global-sidebar>.admin-global-brand{display:none}.admin-global-menu-backdrop{z-index:20;background:#02081752;border:0;display:block;position:fixed;inset:68px 0 0}.admin-global-page{min-height:calc(100svh - 68px);padding:18px}.admin-global-hero{grid-template-columns:1fr}}@media (width<=680px){.admin-global-page{gap:16px;padding:14px}.admin-global-hero,.admin-global-section,.admin-global-business-card{border-radius:18px;padding:16px}.admin-global-hero__stats,.admin-global-features__grid,.admin-global-usage__stats,.admin-global-user-row__actions,.admin-global-users__form,.admin-global-log-filters,.admin-global-log-card{grid-template-columns:1fr}.admin-global-form__submit,.admin-global-business-card__actions,.admin-global-business-card__actions .button,.admin-global-usage__edit .button,.admin-global-section .button{width:100%}}.page-layout__panel:has(.admin-global-login){background:radial-gradient(circle at 18% 18%,#4dd0e138,#0000 30%),radial-gradient(circle at 82% 12%,#9575cd33,#0000 28%),linear-gradient(135deg,#0f1e3a 0%,#122846 52%,#0b1729 100%);place-items:center;max-width:none;min-height:100svh;padding:28px;display:grid}.page-layout__panel:has(.admin-global-login)>.page-layout__header{display:none}.admin-global-login{place-items:center;width:100%;display:grid}.admin-global-login__card{background:#fff;border:1px solid #e2e8f0e6;border-radius:24px;flex-direction:column;gap:16px;width:min(440px,100%);padding:30px;display:flex;box-shadow:0 28px 70px #02081752,inset 0 1px #fffc}.admin-global-login__card .pill{color:#61499c;text-transform:none;background:#9575cd1a;border-color:#9575cd38;width:fit-content;min-height:28px;padding:5px 10px;font-size:.78rem;font-weight:600}.admin-global-login__title{color:#1a1f36;letter-spacing:0;margin:0;font-size:clamp(1.45rem,3vw,1.65rem);font-weight:700;line-height:1.18}.admin-global-login__text{color:#5f6f89;margin:0;font-size:.94rem;font-weight:400;line-height:1.58}.admin-global-login__form{gap:14px;margin-top:2px;display:grid}.admin-global-login__form .form-label{color:#66758c;font-size:.82rem;font-weight:500}.admin-global-login__form .text-input{color:#1a1f36;background:#fff;border:1px solid #d7e0ea;border-radius:14px;min-height:46px}.admin-global-login__form .text-input:focus{border-color:#4a90e2;box-shadow:0 0 0 4px #4a90e224}.admin-global-login__form .button{border-radius:14px;min-height:46px;font-size:.94rem;font-weight:600;text-decoration:none}.admin-global-login__form .button:not(.button--secondary){background:linear-gradient(#5aa0ea 0%,#4a90e2 100%);box-shadow:0 12px 24px #4a90e23d}.admin-global-login__form .button--secondary{color:#1a1f36;box-shadow:none;background:#fff;border-color:#d7e0ea;justify-content:center;align-items:center;display:inline-flex}.admin-global-login__form .status-message{box-shadow:none;border-radius:14px;padding:12px 14px;font-size:.9rem;line-height:1.45}@media (width<=640px){.page-layout__panel:has(.admin-global-login){align-items:start;padding:18px}.admin-global-login{align-items:center;min-height:calc(100svh - 36px)}.admin-global-login__card{border-radius:22px;padding:24px}}.page-layout__panel:has(.admin-login){background:radial-gradient(circle at 18% 18%,#4dd0e138,#0000 30%),radial-gradient(circle at 82% 12%,#9575cd33,#0000 28%),linear-gradient(135deg,#0f1e3a 0%,#122846 52%,#0b1729 100%);place-items:center;max-width:none;min-height:100svh;padding:28px;display:grid}.page-layout__panel:has(.admin-login)>.page-layout__header{display:none}.admin-login{place-items:center;width:100%;display:grid}.admin-login__card{background:#fff;border:1px solid #e2e8f0e6;border-radius:24px;flex-direction:column;gap:16px;width:min(440px,100%);padding:30px;display:flex;box-shadow:0 28px 70px #02081752,inset 0 1px #fffc}.admin-login__card .pill{color:#315f98;text-transform:none;background:#4a90e214;border-color:#4a90e22e;width:fit-content;min-height:28px;padding:5px 10px;font-size:.78rem;font-weight:600}.admin-login__title{color:#1a1f36;letter-spacing:0;margin:0;font-size:clamp(1.45rem,3vw,1.65rem);font-weight:700;line-height:1.18}.admin-login__text{color:#5f6f89;margin:0;font-size:.94rem;font-weight:400;line-height:1.58}.admin-login__form{gap:14px;margin-top:2px;display:grid}.admin-login__form .form-label{color:#66758c;font-size:.82rem;font-weight:500}.admin-login__form .text-input{color:#1a1f36;background:#fff;border:1px solid #d7e0ea;border-radius:14px;min-height:46px}.admin-login__form .text-input:focus{border-color:#4a90e2;box-shadow:0 0 0 4px #4a90e224}.admin-login__form .button{border-radius:14px;min-height:46px;font-size:.94rem;font-weight:600;text-decoration:none}.admin-login__form .button:not(.button--secondary){background:linear-gradient(#5aa0ea 0%,#4a90e2 100%);box-shadow:0 12px 24px #4a90e23d}.admin-login__form .button--secondary{color:#1a1f36;box-shadow:none;background:#fff;border-color:#d7e0ea;justify-content:center;align-items:center;display:inline-flex}.admin-login__form .status-message{box-shadow:none;border-radius:14px;padding:12px 14px;font-size:.9rem;line-height:1.45}@media (width<=640px){.page-layout__panel:has(.admin-login){align-items:start;padding:18px}.admin-login{align-items:center;min-height:calc(100svh - 36px)}.admin-login__card{border-radius:22px;padding:24px}}.booking-page{--booking-bg:#fafbfc;--booking-surface:#fff;--booking-surface-soft:#f5f8fb;--booking-primary:#4a90e2;--booking-primary-dark:#2f74c0;--booking-cyan:#4dd0e1;--booking-violet:#9575cd;--booking-text:#1a1f36;--booking-muted:#6b7b94;--booking-border:#1a1f3633;--booking-border-strong:#1a1f3629;--booking-success:#16a34a;--booking-warning:#f59e0b;--booking-danger:#e5484d;--booking-shadow:0 18px 45px #1a1f3614;--booking-shadow-soft:0 10px 28px #1a1f360f;color:var(--booking-text);flex-direction:column;gap:22px;display:flex;position:relative}.booking-page *,.booking-page :before,.booking-page :after{box-sizing:border-box}.booking-page:before{pointer-events:none;content:"";background:linear-gradient(135deg,#4a90e21a,#4dd0e114),linear-gradient(#ffffffeb,#fafbfc00);border-radius:34px;height:220px;position:absolute;inset:-18px -22px auto}.booking-page>*{z-index:1;position:relative}.booking-page__content{flex-direction:column;gap:18px;display:flex}.booking-mode-banner{color:var(--booking-text);background:#9575cd14;border:1px solid #9575cd38;border-radius:18px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.booking-mode-banner__label{color:#6f4fb0;background:#9575cd29;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:.78rem;font-weight:850;display:inline-flex}.booking-mode-banner__text{color:var(--booking-muted);font-size:.9rem;font-weight:700}.booking-hero{border:1px solid var(--booking-border);background:var(--booking-surface);box-shadow:var(--booking-shadow);border-radius:26px;grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);gap:22px;padding:30px;display:grid;position:relative;overflow:hidden}.booking-hero:after{pointer-events:none;content:"";background:#4dd0e124;border-radius:999px;width:250px;height:250px;position:absolute;top:-80px;right:-90px}.booking-hero__copy{z-index:1;align-content:center;gap:14px;display:grid;position:relative}.booking-page .pill{width:fit-content;min-height:28px;color:var(--booking-primary-dark);background:#4a90e21a;border:1px solid #4a90e22e;border-radius:999px;align-items:center;padding:0 10px;font-size:.78rem;font-weight:850;display:inline-flex}.booking-hero__title{color:var(--booking-text);letter-spacing:0;margin:0;font-size:clamp(2rem,4vw,3.2rem);font-weight:850;line-height:1.02}.booking-hero__text{max-width:620px;color:var(--booking-muted);margin:0;font-size:1rem;line-height:1.7}.booking-summary,.booking-patient-summary,.booking-patient-create,.booking-final-summary{border:1px solid var(--booking-border);box-shadow:var(--booking-shadow-soft);background:linear-gradient(#fff 0%,#f7fbff 100%);border-radius:20px;gap:12px;padding:18px;display:grid}.booking-summary{z-index:1;align-content:start;position:relative}.booking-summary--compact{box-shadow:none}.booking-summary__grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px 14px;display:grid}.booking-summary__title,.booking-patient-summary__title,.booking-success__title{color:var(--booking-text);margin:0;font-size:1rem;font-weight:850}.booking-summary__item{color:var(--booking-muted);margin:0;font-size:.9rem;line-height:1.5}.booking-summary__item strong{color:var(--booking-text);font-weight:850}.booking-stepper{border:1px solid var(--booking-border);background:var(--booking-surface);box-shadow:var(--booking-shadow-soft);border-radius:22px;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;padding:10px;display:grid}.booking-stepper__item{min-height:50px;color:var(--booking-muted);background:0 0;border:1px solid #0000;border-radius:16px;align-items:center;gap:10px;padding:10px;transition:background .18s,border-color .18s,color .18s;display:flex}.booking-stepper__item.is-active{color:var(--booking-primary-dark);background:linear-gradient(135deg,#4a90e224,#4dd0e11a);border-color:#4a90e22e}.booking-stepper__item.is-completed{color:var(--booking-text);background:#16a34a14}.booking-stepper__index{width:30px;height:30px;color:inherit;background:#6b7b941f;border-radius:12px;flex:none;justify-content:center;align-items:center;font-size:.82rem;font-weight:850;display:inline-flex}.booking-stepper__item.is-active .booking-stepper__index{color:#fff;background:var(--booking-primary)}.booking-stepper__item.is-completed .booking-stepper__index{color:#166534;background:#16a34a24}.booking-stepper__label{min-width:0;color:inherit;font-size:.86rem;font-weight:800}.booking-grid{grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);align-items:start;gap:18px;display:grid}.booking-section{border:1px solid var(--booking-border);background:var(--booking-surface);box-shadow:var(--booking-shadow-soft);border-radius:22px;flex-direction:column;gap:18px;padding:22px;display:flex}.booking-section__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.booking-page .section-title{color:var(--booking-text);letter-spacing:0;margin:0;font-size:clamp(1.18rem,2vw,1.55rem);font-weight:850;line-height:1.2}.booking-choice-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.booking-choice-button,.booking-slot-button,.booking-date-button{border:1px solid var(--booking-border);color:var(--booking-text);background:var(--booking-surface);font:inherit;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s}.booking-choice-button{text-align:left;border-radius:18px;flex-direction:column;justify-content:center;align-items:flex-start;gap:7px;min-height:92px;padding:16px;display:flex;box-shadow:0 8px 20px #1a1f360a}.booking-choice-button:hover,.booking-slot-button:hover,.booking-date-button:hover,.booking-calendar__nav:hover,.booking-calendar__day.is-enabled:hover{border-color:#4a90e261;transform:translateY(-1px);box-shadow:0 12px 26px #4a90e21f}.booking-choice-button.is-selected,.booking-slot-button.is-selected,.booking-date-button.is-selected{color:#fff;background:linear-gradient(135deg, var(--booking-primary), var(--booking-cyan));border-color:#0000;box-shadow:0 14px 28px #4a90e23d}.booking-choice-button__title{color:inherit;font-size:1rem;font-weight:850}.booking-choice-button__meta{color:var(--booking-muted);font-size:.84rem;line-height:1.35}.booking-choice-button.is-selected .booking-choice-button__meta{color:#ffffffdb}.booking-date-picker,.booking-calendar{flex-direction:column;gap:12px;display:flex}.booking-date-grid{grid-template-columns:repeat(auto-fit,minmax(142px,1fr));gap:12px;display:grid}.booking-date-button{border-radius:16px;min-height:54px;padding:10px 12px;font-weight:850}.booking-date-button__day{display:block}.booking-calendar{border:1px solid var(--booking-border);background:var(--booking-surface-soft);border-radius:20px;padding:14px}.booking-calendar__header{grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:10px;display:grid}.booking-calendar__title{color:var(--booking-text);text-align:center;text-transform:capitalize;margin:0;font-size:1rem;font-weight:850}.booking-calendar__nav{border:1px solid var(--booking-border);width:42px;height:42px;color:var(--booking-text);cursor:pointer;background:#fff;border-radius:14px;justify-content:center;align-items:center;font-size:0;font-weight:850;transition:transform .18s,border-color .18s,box-shadow .18s;display:inline-flex}.booking-calendar__nav[aria-label=Mes\ anterior]:before{content:"<";font-size:1.1rem}.booking-calendar__nav[aria-label=Mes\ siguiente]:before{content:">";font-size:1.1rem}.booking-calendar__nav:disabled{cursor:not-allowed;opacity:.42;box-shadow:none;transform:none}.booking-calendar__weekdays,.booking-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;display:grid}.booking-calendar__weekdays span{color:var(--booking-muted);text-align:center;text-transform:uppercase;font-size:.72rem;font-weight:850}.booking-calendar__day{aspect-ratio:1;border:1px solid var(--booking-border);min-width:0;color:var(--booking-text);font:inherit;background:#fff;border-radius:14px;justify-content:center;align-items:center;font-size:.9rem;font-weight:850;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;display:inline-flex}.booking-calendar__day.is-enabled{cursor:pointer}.booking-calendar__day.is-disabled{color:#6b7b948c;cursor:not-allowed;background:#6b7b9414}.booking-calendar__day.is-selected{color:#fff;background:var(--booking-primary);border-color:#0000;box-shadow:0 12px 22px #4a90e238}.booking-calendar__day--blank{background:0 0;border-color:#0000}.booking-slots-grid{flex-wrap:wrap;gap:10px;display:flex}.booking-slot-button{border-radius:14px;min-width:86px;min-height:42px;padding:0 14px;font-size:.92rem;font-weight:850}.booking-selection-note{color:var(--booking-muted);margin:0;font-size:.9rem;line-height:1.5}.booking-selection-note strong{color:var(--booking-text)}.booking-form-grid{gap:14px;display:grid}.booking-form-grid--two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-form-grid__full{grid-column:1/-1}.booking-page .form-label{color:var(--booking-muted);gap:7px;font-size:.84rem;font-weight:850;display:grid}.booking-page .text-input{border:1px solid var(--booking-border);width:100%;min-height:44px;color:var(--booking-text);font:inherit;background:#fbfcfe;border-radius:14px;outline:none;padding:0 12px;font-size:.94rem;transition:border-color .18s,box-shadow .18s,background .18s}.booking-page .text-input:focus{background:#fff;border-color:#4a90e2b3;box-shadow:0 0 0 4px #4a90e21f}.booking-patient-actions,.booking-wizard-actions,.booking-modal__actions{flex-wrap:wrap;gap:10px;display:flex}.booking-wizard-actions{justify-content:space-between;padding:4px 0}.booking-submit{min-width:220px}.booking-page .button{border-radius:13px;justify-content:center;align-items:center;min-height:42px;padding:0 16px;font-weight:850;display:inline-flex}.booking-page .button:not(.button--secondary){color:#fff;background:var(--booking-primary);box-shadow:0 10px 24px #4a90e238}.booking-page .button--secondary{color:var(--booking-text);border:1px solid var(--booking-border);background:#fff}.booking-page .button:disabled{cursor:not-allowed;opacity:.58;box-shadow:none}.booking-page .status-message{border-radius:14px;margin:0;padding:12px 14px;font-size:.9rem;font-weight:700;line-height:1.5}.booking-page .status-message--muted{color:var(--booking-muted);border:1px solid var(--booking-border);background:var(--booking-surface-soft)}.booking-page .status-message--error{color:#991b1b;background:#e5484d1a;border:1px solid #e5484d38}.booking-page .status-message--success{color:#166534;background:#16a34a1a;border:1px solid #16a34a33}.booking-step-block{gap:14px;display:grid}.booking-step-block__title{color:var(--booking-text);margin:0;font-size:1rem;font-weight:850}.booking-success{gap:8px;display:grid}.booking-page--embedded{gap:16px}.booking-page--embedded:before{display:none}.booking-page--embedded .booking-section,.booking-page--embedded .booking-stepper,.booking-page--embedded .booking-summary{box-shadow:0 8px 22px #1a1f360d}.booking-modal-overlay{z-index:120;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1a1f366b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.booking-modal{border:1px solid var(--booking-border);background:#fff;border-radius:24px;gap:18px;width:min(100%,560px);padding:24px;display:grid;box-shadow:0 26px 70px #1a1f362e}.booking-modal--success{text-align:center}.booking-modal__body{gap:14px;display:grid}.booking-modal__eyebrow{color:var(--booking-primary-dark);text-transform:uppercase;margin:0;font-size:.78rem;font-weight:850}.booking-modal__title{color:var(--booking-text);margin:0;font-size:1.35rem;font-weight:850;line-height:1.18}.booking-modal__text{color:var(--booking-muted);margin:0;line-height:1.6}.booking-modal__actions{justify-content:flex-end}.page-layout__panel:has(.booking-page){max-width:1180px}.page-layout__panel:has(.booking-page) .page-layout__header{margin-bottom:16px}.page-layout__panel:has(.booking-page) .page-layout__eyebrow{padding:6px 10px;font-size:.72rem}.page-layout__panel:has(.booking-page) .page-layout__title{letter-spacing:0;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.08}.booking-page{gap:18px}.booking-page:before{height:180px}.booking-page__content{gap:14px}.booking-hero{border-radius:22px;gap:18px;padding:24px}.booking-hero__title{font-size:clamp(1.65rem,3vw,2.35rem)}.booking-hero__text{font-size:.95rem}.booking-mode-banner{border-radius:15px;padding:10px 12px}.booking-mode-banner__label{min-height:24px;font-size:.72rem}.booking-mode-banner__text{font-size:.84rem}.booking-summary,.booking-patient-summary,.booking-patient-create,.booking-final-summary{border-radius:16px;gap:10px;padding:15px}.booking-summary--compact{background:#fff;border-radius:15px;padding:12px 14px}.booking-summary--compact .booking-summary__grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.booking-summary__item{font-size:.84rem}.booking-stepper{border-radius:18px;gap:6px;padding:8px}.booking-stepper__item{border-radius:13px;min-height:42px;padding:7px 9px}.booking-stepper__index{border-radius:9px;width:25px;height:25px;font-size:.75rem}.booking-stepper__label{font-size:.8rem}.booking-grid{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:14px}.booking-section{border-radius:18px;gap:14px;padding:18px}.booking-page--embedded .booking-section{padding:16px}.booking-page .section-title{font-size:clamp(1.05rem,1.55vw,1.28rem)}.booking-choice-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.booking-choice-button{border-radius:15px;min-height:78px;padding:13px}.booking-choice-button__title{font-size:.94rem}.booking-choice-button__meta{font-size:.8rem}.booking-calendar{border-radius:16px;padding:12px}.booking-calendar__header{grid-template-columns:38px minmax(0,1fr) 38px}.booking-calendar__nav{border-radius:12px;width:38px;height:38px}.booking-calendar__day{border-radius:12px;font-size:.84rem}.booking-slots-grid{gap:8px}.booking-slot-button{border-radius:12px;min-width:78px;min-height:38px;padding:0 12px;font-size:.86rem}.booking-form-grid{gap:12px}.booking-page .text-input,.booking-page .button{border-radius:12px;min-height:40px}@media (width<=980px){.booking-hero,.booking-grid{grid-template-columns:1fr}}@media (width<=768px){.booking-page{gap:16px}.booking-page:before{height:160px;inset:-8px -10px auto}.booking-hero,.booking-section,.booking-modal{border-radius:20px;padding:18px}.booking-summary,.booking-patient-summary,.booking-patient-create,.booking-final-summary{border-radius:18px;padding:15px}.booking-form-grid--two-columns,.booking-choice-grid,.booking-summary__grid,.booking-stepper{grid-template-columns:1fr}.booking-stepper__item,.booking-patient-actions,.booking-submit,.booking-page .button{width:100%}.booking-wizard-actions,.booking-modal__actions{display:grid}.booking-calendar{padding:10px}.booking-calendar__weekdays,.booking-calendar__grid{gap:5px}.booking-calendar__day{border-radius:11px;font-size:.82rem}}@media (width<=640px){.booking-stepper{padding:8px}.booking-stepper__item{display:none}.booking-stepper__item.is-active{display:flex}}.booking-page{--booking-muted:#5f6f89;--booking-label:#66758c}.booking-page .section-title{font-size:clamp(1.05rem,1.45vw,1.22rem);font-weight:600;line-height:1.3}.booking-summary__title,.booking-patient-summary__title,.booking-choice-button__title,.booking-modal__title{font-weight:600}.booking-summary__item,.booking-selection-note,.booking-page .status-message,.booking-choice-button__meta,.booking-modal__text{color:var(--booking-muted);font-size:.88rem;font-weight:400}.booking-summary__item strong,.booking-page .form-label{color:var(--booking-label);font-weight:500}.booking-page--embedded .booking-stepper{box-shadow:none;border-radius:15px;gap:5px;padding:6px}.booking-page--embedded .booking-stepper__item{border-radius:11px;min-height:34px;padding:5px 8px}.booking-page--embedded .booking-stepper__index{border-radius:8px;width:22px;height:22px;font-size:.72rem}.booking-page--embedded .booking-stepper__label{font-size:.78rem;font-weight:500}.booking-page--embedded .booking-stepper__item.is-active{background:#4a90e21c}.booking-page--embedded .booking-stepper__item.is-completed{background:#16a34a12}.booking-page--embedded .booking-section{border-radius:16px;gap:12px;padding:15px}.booking-page--embedded .booking-summary--compact{margin-top:-2px;display:none}.booking-page--embedded .booking-final-summary{background:#fff;border-color:#1a1f361a;box-shadow:0 10px 24px #1a1f360b}.booking-page .button{font-weight:600}.booking-page .button--secondary{color:var(--booking-primary-dark);background:#fff;border-color:#4a90e247;box-shadow:0 8px 18px #1a1f360b}.booking-page .button--secondary:hover{background:#4a90e20f;border-color:#4a90e273}.booking-page--embedded .booking-wizard-actions{padding-top:2px}.admin-page-shell{--admin-bg:#fafbfc;--admin-surface:#fff;--admin-surface-soft:#f5f8fb;--admin-primary:#4a90e2;--admin-primary-dark:#2f74c0;--admin-cyan:#4dd0e1;--admin-violet:#9575cd;--admin-text:#1a1f36;--admin-muted:#6b7b94;--admin-border:#1a1f361a;--admin-border-strong:#1a1f3629;--admin-success:#16a34a;--admin-warning:#f59e0b;--admin-danger:#e5484d;--admin-info:#0ea5e9;--admin-shadow:0 18px 45px #1a1f3614;--admin-shadow-soft:0 10px 28px #1a1f360f;min-height:0;color:var(--admin-text);overflow-x:clip}.page-layout__panel:has(.admin-page-shell){max-width:1280px;overflow-x:clip}.page-layout__panel:has(.admin-page-shell) .page-layout__header{display:none}.page-layout__panel:has(.admin-page-shell) .page-layout__eyebrow{padding:6px 10px;font-size:.72rem}.page-layout__panel:has(.admin-page-shell) .page-layout__title{letter-spacing:0;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.08}.admin-page-shell *,.admin-page-shell :before,.admin-page-shell :after{box-sizing:border-box}.admin-dashboard{grid-template-columns:248px minmax(0,1fr);align-items:start;gap:20px;width:100%;min-width:0;display:grid}.admin-sidebar{border:1px solid var(--admin-border);background:var(--admin-surface);height:auto;max-height:calc(100vh - 24px);box-shadow:var(--admin-shadow-soft);border-radius:20px;flex-direction:column;padding:12px;display:flex;position:sticky;top:12px;overflow-y:auto}.admin-sidebar__brand{border-bottom:1px solid var(--admin-border);grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:8px 8px 14px;display:grid}.admin-sidebar__logo{color:#fff;letter-spacing:0;background:linear-gradient(135deg, var(--admin-primary), var(--admin-cyan));border-radius:14px;justify-content:center;align-items:center;width:38px;height:38px;font-weight:800;display:inline-flex;box-shadow:0 10px 24px #4a90e242}.admin-sidebar__brand-copy,.admin-sidebar__session-copy{min-width:0}.admin-sidebar__product,.admin-sidebar__business,.admin-sidebar__session-copy p,.admin-sidebar__session-copy span{margin:0}.admin-sidebar__product{color:var(--admin-text);font-size:.94rem;font-weight:800}.admin-sidebar__business{color:var(--admin-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.82rem;font-weight:600;overflow:hidden}.admin-page__business{color:var(--admin-muted);margin:0;font-size:.9rem;font-weight:700}.admin-mobile-nav{margin-bottom:16px;display:none}.admin-mobile-nav__bar{border:1px solid var(--admin-border);background:var(--admin-surface);width:100%;box-shadow:var(--admin-shadow-soft);border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.admin-mobile-nav__brand{border-bottom:0;padding:0}.admin-mobile-nav__toggle{width:auto;min-height:46px;color:var(--admin-primary-dark);cursor:pointer;background:#4a90e21a;border:1px solid #4a90e238;border-radius:16px;justify-content:center;align-items:center;gap:10px;padding:0 13px;display:inline-flex}.admin-mobile-nav__toggle-label{font-size:.88rem;font-weight:850}.admin-mobile-nav__hamburger{border-top:2px solid var(--admin-primary-dark);border-bottom:2px solid var(--admin-primary-dark);width:22px;height:14px;display:inline-block;position:relative}.admin-mobile-nav__hamburger:before{background:var(--admin-primary-dark);content:"";border-radius:999px;width:22px;height:2px;position:absolute;top:4px;left:0}.admin-mobile-nav__menu{border:1px solid var(--admin-border);background:var(--admin-surface);width:100%;box-shadow:var(--admin-shadow-soft);border-radius:18px;gap:8px;margin-top:10px;padding:12px;display:grid}.admin-mobile-nav__menu-brand{padding:4px 4px 12px}.admin-sidebar__nav{gap:6px;padding:16px 0;display:grid}.admin-sidebar__item,.admin-mobile-nav__item{width:100%;min-height:38px;color:var(--admin-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px;align-items:center;gap:10px;padding:8px 10px;font-size:.88rem;font-weight:700;transition:background .18s,color .18s,transform .18s;display:flex}.admin-nav-icon{width:24px;height:24px;color:var(--admin-primary-dark);background:#4a90e21a;border-radius:9px;flex:none;justify-content:center;align-items:center;font-size:.82rem;line-height:1;display:inline-flex}.admin-sidebar__item.is-active .admin-nav-icon,.admin-mobile-nav__item.is-active .admin-nav-icon{color:#fff;background:var(--admin-primary)}.admin-sidebar__item:hover,.admin-mobile-nav__item:hover{color:var(--admin-text);background:#4a90e214}.admin-sidebar__item.is-active,.admin-mobile-nav__item.is-active{color:var(--admin-primary-dark);background:linear-gradient(135deg,#4a90e229,#4dd0e11f)}.admin-sidebar__session{border:1px solid var(--admin-border);background:var(--admin-surface-soft);border-radius:18px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:auto;padding:12px;display:grid}.admin-sidebar__avatar{width:40px;height:40px;color:var(--admin-primary-dark);background:#4a90e224;border-radius:14px;justify-content:center;align-items:center;font-size:.82rem;font-weight:800;display:inline-flex}.admin-sidebar__session-copy p{color:var(--admin-text);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:800;overflow:hidden}.admin-sidebar__session-copy span{color:var(--admin-muted);margin-top:2px;font-size:.74rem;font-weight:700;display:block}.admin-sidebar__logout{border:1px solid var(--admin-border);min-height:34px;color:var(--admin-muted);background:var(--admin-surface);font:inherit;cursor:pointer;border-radius:12px;padding:0 10px;font-size:.78rem;font-weight:800}.admin-content{gap:16px;width:100%;min-width:0;display:grid}.admin-content__header{border:1px solid var(--admin-border);background:var(--admin-surface);box-shadow:var(--admin-shadow-soft);border-radius:18px;justify-content:flex-start;align-items:center;gap:16px;padding:15px 18px;display:flex}.admin-content__eyebrow{color:var(--admin-primary-dark);text-transform:uppercase;margin:0 0 5px;font-size:.78rem;font-weight:800}.admin-content__title{color:var(--admin-text);letter-spacing:0;margin:0;font-size:clamp(1.15rem,1.6vw,1.45rem);font-weight:850}.admin-topbar__meta{color:var(--admin-muted);flex-wrap:wrap;justify-content:flex-end;gap:8px;font-size:.86rem;font-weight:700;display:none}.admin-topbar__meta strong{min-height:28px;color:var(--admin-primary-dark);background:#4a90e21f;border-radius:999px;align-items:center;padding:0 10px;font-size:.78rem;display:inline-flex}.admin-section,.admin-card,.admin-appointment-card,.admin-subpanel,.admin-modal__content,.admin-whatsapp-usage,.admin-whatsapp-logs,.admin-create-card,.admin-resource-card,.admin-config-card{border:1px solid var(--admin-border);background:var(--admin-surface-soft);box-shadow:var(--admin-shadow-soft)}.admin-section{border-radius:18px;gap:16px;padding:18px;display:grid}.admin-section--stacked{gap:22px}.admin-section__header,.admin-card__header,.admin-subpanel__header,.admin-appointments-header,.admin-whatsapp-logs__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.admin-section__title,.admin-card__title,.admin-subpanel__title{color:var(--admin-text);margin:0;font-size:1.05rem;font-weight:600}.admin-section__subtitle,.admin-card__subtitle,.admin-subpanel__subtitle,.admin-helper,.admin-empty,.admin-info-text{color:var(--admin-muted);margin:4px 0 0;font-size:.9rem;line-height:1.5}.admin-stack{gap:14px;display:grid}.admin-card,.admin-subpanel,.admin-create-card,.admin-resource-card,.admin-config-card{border-radius:16px;padding:15px}.admin-card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.admin-overview-grid{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:14px;display:grid}.admin-overview-card{border:1px solid var(--admin-border);min-height:116px;box-shadow:var(--admin-shadow-soft);background:linear-gradient(135deg,#fff 0%,#f7fbff 100%);border-radius:20px;padding:18px;position:relative;overflow:hidden}.admin-overview-card:after{content:"";background:#4dd0e11f;border-radius:999px;width:95px;height:95px;position:absolute;bottom:-38px;right:-26px}.admin-overview-card__label{color:var(--admin-muted);text-transform:uppercase;margin:0;font-size:.8rem;font-weight:800}.admin-overview-card__value{color:var(--admin-text);margin:10px 0 0;font-size:2rem;font-weight:850}.admin-overview-card__hint{color:var(--admin-muted);margin:6px 0 0;font-size:.85rem}.admin-button,.admin-icon-button,.admin-export-button,.admin-appointment-action,.admin-slot-row__action{min-height:40px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:13px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:.88rem;font-weight:800;line-height:1;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s;display:inline-flex}.admin-button:hover,.admin-icon-button:hover,.admin-export-button:hover,.admin-appointment-action:hover,.admin-slot-row__action:hover{transform:translateY(-1px)}.admin-button:disabled,.admin-icon-button:disabled,.admin-export-button:disabled,.admin-appointment-action:disabled,.admin-slot-row__action:disabled{cursor:not-allowed;opacity:.58;transform:none}.admin-button{color:#fff;background:var(--admin-primary);box-shadow:0 10px 24px #4a90e238}.admin-button--secondary,.admin-export-button,.admin-appointment-action{color:var(--admin-text);border-color:var(--admin-border);background:var(--admin-surface);box-shadow:none}.admin-button--ghost{color:var(--admin-primary-dark);box-shadow:none;background:#4a90e214;border-color:#4a90e22e}.admin-button--danger,.admin-appointment-action--danger{color:#fff;background:var(--admin-danger);border-color:#0000;box-shadow:0 10px 22px #e5484d2e}.admin-button--whatsapp{color:#fff;background:#14b86a;box-shadow:0 10px 22px #14b86a2e}.admin-icon-button{width:40px;color:var(--admin-muted);border-color:var(--admin-border);background:var(--admin-surface);padding:0}.admin-section__form,.admin-filters,.admin-whatsapp-logs__filters,.admin-inline-fields{gap:12px;display:grid}.admin-section__form{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:end}.admin-section__form--plain{grid-template-columns:1fr}.admin-filters,.admin-whatsapp-logs__filters{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.admin-field{color:var(--admin-muted);gap:7px;font-size:.82rem;font-weight:800;display:grid}.admin-input,.admin-select,.admin-textarea{border:1px solid var(--admin-border);width:100%;min-height:42px;color:var(--admin-text);font:inherit;background:#fbfcfe;border-radius:13px;outline:none;padding:0 12px;font-size:.92rem;transition:border-color .18s,box-shadow .18s,background .18s}.admin-textarea{resize:vertical;min-height:96px;padding-top:12px}.admin-input:focus,.admin-select:focus,.admin-textarea:focus{background:#fff;border-color:#4a90e2b3;box-shadow:0 0 0 4px #4a90e21f}.admin-checkbox{color:var(--admin-text);align-items:center;gap:8px;font-size:.9rem;font-weight:500;display:inline-flex}.admin-checkbox input{width:16px;height:16px;accent-color:var(--admin-primary)}.admin-segmented-control{border:1px solid var(--admin-border);background:var(--admin-surface-soft);border-radius:15px;flex-wrap:wrap;gap:6px;padding:5px;display:inline-flex}.admin-segmented-control__button{min-height:34px;color:var(--admin-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:11px;padding:0 12px;font-size:.82rem;font-weight:800}.admin-segmented-control__button.is-active{color:var(--admin-primary-dark);background:#fff;box-shadow:0 6px 15px #1a1f3614}.admin-inline-message,.admin-alert,.admin-error,.admin-success{border-radius:14px;padding:12px 14px;font-size:.9rem;font-weight:700}.admin-inline-message,.admin-alert{color:#8a5a00;background:#f59e0b1a;border:1px solid #f59e0b42}.admin-error{color:#991b1b;background:#e5484d1a;border:1px solid #e5484d38}.admin-success{color:#166534;background:#16a34a1a;border:1px solid #16a34a33}.admin-appointments-layout{gap:18px;display:grid}.admin-appointments-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-appointments-list,.admin-appointment-group,.admin-appointment-list{gap:12px;display:grid}.admin-appointment-card{border-radius:18px;gap:14px;padding:16px;display:grid}.admin-appointment-card.is-cancelled{background:#f7f9fb;border-color:#6b7b9438}.admin-appointment-card.is-today{border-color:#4a90e252;box-shadow:0 12px 28px #4a90e21a}.admin-appointment-card__header,.admin-appointment-card__footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-appointment-card__title{color:var(--admin-text);margin:0;font-size:1rem;font-weight:850}.admin-appointment-card__meta,.admin-appointment-card__details{color:var(--admin-muted);flex-wrap:wrap;gap:8px;font-size:.86rem;display:flex}.admin-appointment-card__actions{flex-wrap:wrap;gap:8px;display:flex}.admin-appointment-pill,.admin-status-badge,.admin-whatsapp-usage__status,.admin-log-status,.admin-tag{min-height:28px;color:var(--admin-muted);background:var(--admin-surface-soft);border-radius:999px;align-items:center;padding:0 10px;font-size:.76rem;font-weight:850;display:inline-flex}.admin-appointment-pill--success,.admin-status-badge--success,.admin-whatsapp-usage__status--ok,.admin-log-status.is-sent{color:#166534;background:#16a34a1c}.admin-appointment-pill--danger,.admin-status-badge--danger,.admin-whatsapp-usage__status--danger,.admin-log-status.is-failed{color:#991b1b;background:#e5484d1f}.admin-appointment-pill--warning,.admin-status-badge--warning,.admin-whatsapp-usage__status--warning,.admin-log-status.is-skipped_limit_reached,.admin-log-status.is-skipped_missing_phone{color:#92400e;background:#f59e0b21}.admin-appointment-pill--info,.admin-status-badge--info{color:#075985;background:#0ea5e91f}.admin-export-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-agenda-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.admin-agenda-grid--four-columns{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.admin-slot-row{border:1px solid var(--admin-border);background:var(--admin-surface-soft);border-radius:15px;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.admin-slot-row--dates{align-items:flex-start}.admin-slot-row__title{color:var(--admin-text);margin:0;font-weight:850}.admin-slot-row__meta{color:var(--admin-muted);margin:4px 0 0;font-size:.84rem}.admin-whatsapp-usage{border-radius:20px;gap:16px;padding:18px;display:grid}.admin-whatsapp-usage__meter{background:#6b7b9424;border-radius:999px;height:10px;overflow:hidden}.admin-whatsapp-usage__meter-fill{border-radius:inherit;background:linear-gradient(90deg, var(--admin-primary), var(--admin-cyan));height:100%}.admin-whatsapp-modules{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.admin-whatsapp-module{border:1px solid var(--admin-border);background:var(--admin-surface-soft);border-radius:15px;padding:12px}.admin-whatsapp-module__label,.admin-whatsapp-module__value{margin:0}.admin-whatsapp-module__label{color:var(--admin-muted);font-size:.78rem;font-weight:800}.admin-whatsapp-module__value{color:var(--admin-text);margin-top:6px;font-size:.95rem;font-weight:850}.admin-whatsapp-logs{border-radius:20px;gap:14px;padding:18px;display:grid}.admin-whatsapp-logs__table-wrap,.admin-table-wrap{border:1px solid var(--admin-border);background:var(--admin-surface);border-radius:16px;overflow-x:auto}.admin-table,.admin-whatsapp-logs__table{border-collapse:collapse;width:100%;min-width:720px;color:var(--admin-text);font-size:.88rem}.admin-table th,.admin-table td,.admin-whatsapp-logs__table th,.admin-whatsapp-logs__table td{border-bottom:1px solid var(--admin-border);text-align:left;vertical-align:top;padding:12px 14px}.admin-table th,.admin-whatsapp-logs__table th{color:var(--admin-muted);text-transform:uppercase;background:#f7f9fc;font-size:.76rem;font-weight:850}.admin-table tr:last-child td,.admin-whatsapp-logs__table tr:last-child td{border-bottom:0}.admin-modal{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1a1f3661;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.admin-modal__content{border-radius:22px;width:min(760px,100%);max-height:min(86vh,900px);padding:22px;overflow:auto}.admin-modal__header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.admin-modal__title{color:var(--admin-text);margin:0;font-size:1.25rem;font-weight:850}.admin-modal__footer{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.admin-section__header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.admin-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-button--warning{color:#92400e;background:#f59e0b29;border-color:#f59e0b61;box-shadow:0 8px 18px #f59e0b1a}.admin-button--close{color:var(--admin-primary-dark);box-shadow:none;background:#4a90e21a;border-color:#4a90e247}.admin-section--resources .admin-card-grid{grid-template-columns:1fr;gap:18px}.admin-resource-card{border-color:#4a90e299;gap:14px;display:grid;box-shadow:0 12px 30px #1a1f360f}.admin-resource-card.is-expanded{background:linear-gradient(#fff 0%,#f8fbff 100%);border-color:#4a90e299;box-shadow:0 18px 40px #4a90e21c}.admin-resource-card__main{grid-template-columns:minmax(180px,.7fr) minmax(260px,1fr) auto;align-items:center;gap:14px;display:grid}.admin-resource-card__identity{align-items:center;gap:10px;min-width:0;display:flex}.admin-resource-card__details{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.admin-resource-card__details .admin-card__meta{gap:4px;min-width:0;margin:0;display:grid}.admin-resource-card__details .admin-card__meta span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-resource-card__actions{justify-content:flex-end}.admin-resource-config{border-top:1px solid var(--admin-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:14px;display:grid}.admin-resource-config__block{border:1px solid var(--admin-border);background:var(--admin-surface-soft);border-radius:16px;gap:12px;padding:14px;display:grid}.admin-resource-config__block--agenda{grid-column:1/-1}.admin-resource-config__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-resource-config__header h4,.admin-resource-config__header p{margin:0}.admin-resource-config__header h4{color:var(--admin-text);font-size:.98rem;font-weight:850}.admin-resource-config__header p{color:var(--admin-muted);margin-top:4px;font-size:.84rem;line-height:1.45}.admin-checkbox-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px 12px;display:grid}.admin-modal-overlay{z-index:60;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1a1f3661;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.admin-modal-overlay .admin-modal{border:1px solid var(--admin-border);background:var(--admin-surface);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:22px;flex-direction:column;justify-content:flex-start;width:min(1120px,100%);max-height:calc(100vh - 36px);padding:0;display:flex;position:relative;inset:auto;overflow:hidden;box-shadow:0 28px 80px #1a1f3633}.admin-modal-overlay .admin-modal__header{z-index:2;border-bottom:1px solid var(--admin-border);background:#fffffff5;align-items:center;margin:0;padding:16px 18px;position:sticky;top:0}.admin-modal-overlay .admin-modal__body{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:14px;padding:18px;display:grid;overflow:auto}.admin-modal-overlay .admin-modal__panel{box-shadow:none;align-self:start}.admin-modal--agenda .admin-card__title{margin:0}.admin-agenda-form-panel{gap:14px;display:grid}.admin-agenda-form-panel .admin-subpanel__header{background:#f8fbff;border:1px solid #4a90e21f;border-radius:16px;padding:12px}.admin-agenda-block{border:1px solid var(--admin-border);background:var(--admin-surface-soft);border-radius:16px;gap:12px;padding:14px;display:grid}.admin-agenda-block+.admin-agenda-block{margin-top:2px}.admin-agenda-block__header h4,.admin-agenda-block__header h5,.admin-agenda-block__header p{margin:0}.admin-agenda-block__header h4,.admin-agenda-block__header h5{color:var(--admin-text);font-size:.96rem;font-weight:600}.admin-agenda-block__header p{color:var(--admin-muted);margin-top:4px;font-size:.84rem;line-height:1.45}.admin-modal--agenda .admin-agenda-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-modal--agenda .admin-slot-row{align-items:end}.admin-config-card{box-shadow:none;border-color:#1a1f3617;gap:12px;padding:14px}.admin-config-card.is-expanded{background:#fff;border-color:#4a90e238;box-shadow:0 10px 24px #4a90e214}.admin-config-card__summary{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.admin-config-card__details{border:1px solid var(--admin-border);background:var(--admin-surface-soft);border-radius:14px;gap:7px;padding:12px;display:grid}@media (width<=1040px){.admin-dashboard{grid-template-columns:1fr;gap:16px}.admin-sidebar{display:none}.admin-mobile-nav{width:100%;display:block}.admin-content__header{position:static}.admin-resource-card__main{grid-template-columns:1fr;align-items:stretch}.admin-resource-card__actions{justify-content:flex-start}.admin-modal-overlay .admin-modal__body{grid-template-columns:1fr}}@media (width<=720px){.page-layout__panel:has(.admin-page-shell){padding:16px;overflow-x:clip}.page-layout__panel:has(.admin-page-shell) .page-layout__header{gap:8px}.admin-page-shell{margin:0 -4px;overflow-x:clip}.admin-section,.admin-card,.admin-subpanel,.admin-modal__content{border-radius:16px;padding:14px}.admin-content__header,.admin-section__header,.admin-card__header,.admin-subpanel__header,.admin-appointments-header,.admin-whatsapp-logs__header{flex-direction:column;align-items:stretch}.admin-topbar__meta{justify-content:flex-start}.admin-appointment-card__header,.admin-appointment-card__footer,.admin-appointments-toolbar{align-items:stretch}.admin-button,.admin-export-button,.admin-appointment-action,.admin-export-actions,.admin-appointment-card__actions{width:100%}.admin-section__header-row{align-items:stretch}.admin-section__header-row .admin-segmented-control{width:100%}.admin-segmented-control__button{flex:1}.admin-resource-card__details,.admin-resource-config,.admin-modal--agenda .admin-agenda-grid,.admin-config-card__summary{grid-template-columns:1fr}.admin-resource-card__details .admin-card__meta span{white-space:normal}.admin-resource-config__header{display:grid}.admin-checkbox-grid{grid-template-columns:1fr}.admin-modal-overlay{align-items:stretch;padding:10px}.admin-modal-overlay .admin-modal{border-radius:18px;max-height:calc(100vh - 20px)}.admin-modal-overlay .admin-modal__header{padding:14px;display:grid}.admin-modal-overlay .admin-modal__body{padding:14px}.admin-modal--agenda .admin-slot-row{align-items:stretch;display:grid}}.admin-page-shell{--admin-surface-soft:#f6f8fb;--admin-sidebar-bg:#eef3f8;--admin-workspace-bg:#f8fafc;--admin-panel-bg:#f3f6fa;--admin-border:#1a1f361f;--admin-border-strong:#1a1f362e;--admin-shadow:0 18px 45px #1a1f3617;--admin-shadow-soft:0 10px 28px #1a1f3611}.admin-sidebar{background:var(--admin-sidebar-bg);box-shadow:0 18px 42px #1a1f3614}.admin-sidebar__brand{border-bottom-color:#1a1f361a}.admin-sidebar__item:hover,.admin-mobile-nav__item:hover{background:#ffffffb8}.admin-sidebar__item.is-active,.admin-mobile-nav__item.is-active{background:#fff;box-shadow:0 8px 18px #4a90e21c}.admin-sidebar__session{background:#ffffffbd}.admin-content{background:var(--admin-workspace-bg);border:1px solid #1a1f360f;border-radius:22px;padding:16px}.admin-content__header{background:linear-gradient(#fff 0%,#f9fbfd 100%);box-shadow:0 10px 26px #1a1f360e}.admin-section{background:#fff;box-shadow:0 14px 34px #1a1f3611}.admin-card,.admin-subpanel,.admin-create-card,.admin-resource-card,.admin-config-card,.admin-whatsapp-usage,.admin-whatsapp-logs{background:#fff;box-shadow:0 12px 30px #1a1f360e}.admin-section__header,.admin-section__header-row,.admin-appointments-header,.admin-whatsapp-logs__header{background:var(--admin-panel-bg);border:1px solid #1a1f3614;border-radius:16px;padding:12px}.admin-overview-card{background:linear-gradient(135deg,#fff 0%,#f4f8fc 100%)}.admin-slot-row,.admin-whatsapp-module{background:#f7f9fc}.admin-table th,.admin-whatsapp-logs__table th{background:#f1f5f9}.admin-modal-overlay{background:#1a1f366b}.admin-modal-overlay .admin-modal{background:#f8fafc;box-shadow:0 32px 90px #1a1f363d}.admin-modal-overlay .admin-modal__header{background:#fffffffa}.admin-modal-overlay .admin-modal__panel{background:#fff;box-shadow:0 10px 24px #1a1f360e}.admin-agenda-form-panel .admin-subpanel__header{background:#f2f7fc}.admin-agenda-block{background:#f6f8fb}.admin-modal--agenda .admin-modal__panel:last-child{background:#f4f7fb}.admin-section--specialties{gap:18px}.admin-section--specialties>.admin-section__title{display:none}.admin-section--specialties .admin-card-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.admin-specialty-card{background:#fff;border-color:#4a90e299;align-content:start;gap:14px;display:grid;box-shadow:0 14px 30px #1a1f3611}.admin-specialty-card .admin-card__content{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.admin-specialty-card .admin-card__title{color:var(--admin-text);letter-spacing:0;margin:0;font-size:.98rem;font-weight:600}.admin-specialty-card .admin-actions{justify-content:flex-start}.admin-section--specialties .admin-section__form{background:#f7f9fc;border:1px solid #1a1f361a;border-radius:16px;align-items:end;padding:14px}.admin-section--specialties .admin-field{color:var(--admin-muted);font-size:.84rem;font-weight:850}.admin-section--specialties .admin-input{min-height:44px;color:var(--admin-text);background:#fff;border-color:#1a1f3633;box-shadow:inset 0 1px #ffffffe6}.admin-section--specialties .admin-input::placeholder{color:#6b7b94c7}.admin-section--specialties .admin-input:hover{border-color:#4a90e252}@media (width<=720px){.admin-section--specialties .admin-card-grid{grid-template-columns:1fr}.admin-specialty-card .admin-card__content{display:grid}.admin-specialty-card .admin-actions{width:100%}.admin-section--specialties .admin-section__form{grid-template-columns:1fr}}.admin-page-shell{--admin-muted:#5f6f89;--admin-label:#66758c}.admin-content__title{max-width:100%;font-size:clamp(1.25rem,1.8vw,1.5rem);font-weight:700;line-height:1.2}.admin-section__title{font-size:1.12rem;font-weight:600;line-height:1.3}.admin-card__title,.admin-subpanel__title,.admin-modal__title{font-weight:600;line-height:1.3}.admin-card__meta,.admin-helper,.admin-empty,.admin-info-text{color:var(--admin-muted);font-size:.88rem;font-weight:400;line-height:1.5}.admin-card__meta strong,.admin-field,.admin-field__label{color:var(--admin-label);font-weight:500}.admin-button,.admin-icon-button,.admin-export-button,.admin-appointment-action,.admin-slot-row__action,.admin-sidebar__item,.admin-mobile-nav__item,.admin-segmented-control__button{font-weight:600}.admin-input,.admin-select,.admin-textarea{background:#fff;border-color:#1a1f362e;min-height:42px}.admin-input::placeholder,.admin-textarea::placeholder{color:#5f6f89b8}.admin-section--health-insurances,.admin-section--locations{gap:18px}.admin-section--health-insurances>.admin-section__title,.admin-section--locations>.admin-section__title{display:none}.admin-section--health-insurances .admin-card-grid,.admin-section--locations .admin-card-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.admin-health-insurance-card,.admin-location-card{background:var(--admin-surface-soft);border-color:#4a90e299;align-content:start;gap:14px;display:grid;box-shadow:0 14px 30px #1a1f3611}.admin-health-insurance-card .admin-card__content,.admin-location-card .admin-card__content{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.admin-health-insurance-card .admin-card__title,.admin-location-card .admin-card__title{color:var(--admin-text);letter-spacing:0;margin:0;font-size:.98rem;font-weight:600}.admin-location-card .admin-card__meta{gap:4px;margin:0;display:grid}.admin-location-card .admin-card__meta span{color:var(--admin-muted)}.admin-section--health-insurances .admin-section__form,.admin-section--locations .admin-section__form{background:#f7f9fc;border:1px solid #1a1f361a;border-radius:16px;align-items:end;padding:14px}.admin-section--health-insurances .admin-actions,.admin-section--locations .admin-actions{gap:10px}@media (width<=720px){.admin-section--health-insurances .admin-card-grid,.admin-section--locations .admin-card-grid,.admin-section--health-insurances .admin-section__form,.admin-section--locations .admin-section__form{grid-template-columns:1fr}.admin-health-insurance-card .admin-card__content,.admin-location-card .admin-card__content{display:grid}.admin-health-insurance-card .admin-actions,.admin-location-card .admin-actions{width:100%}}.admin-page-shell{font-size:15px;line-height:1.45}.admin-content__title{font-size:clamp(1.35rem,1.8vw,1.5rem);font-weight:700}.admin-section__title{font-size:1.08rem;font-weight:600}.admin-card__title,.admin-appointment-card__title,.admin-whatsapp-log-card__title,.admin-appointments-group__title{color:var(--admin-text);font-size:.98rem;font-weight:600;line-height:1.35}.admin-card__meta strong,.admin-appointment-card__details strong{color:var(--admin-label);font-weight:500}.admin-section--filters{gap:14px}.admin-filters__summary{color:var(--admin-muted);margin:0;font-size:.9rem}.admin-filters{align-items:end}.admin-export-actions{padding-top:2px}.admin-appointments-overview,.admin-whatsapp-usage-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.admin-appointments-stat{background:#fff;border:1px solid #1a1f3617;border-radius:16px;gap:5px;min-height:78px;padding:14px;display:grid;box-shadow:0 10px 24px #1a1f360b}.admin-appointments-stat__label{color:var(--admin-label);font-size:.78rem;font-weight:500;line-height:1.25}.admin-appointments-stat__value{color:var(--admin-text);font-size:1.35rem;font-weight:700;line-height:1.2}.admin-appointments-group{gap:10px;display:grid}.admin-appointments-group__header{background:#f3f6fa;border:1px solid #1a1f3614;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.admin-appointments-group__title,.admin-appointments-group__count{margin:0}.admin-appointments-group__count{min-height:26px;color:var(--admin-primary-dark);background:#4a90e21a;border-radius:999px;align-items:center;padding:0 9px;font-size:.78rem;font-weight:600;display:inline-flex}.admin-appointment-card{border-color:#4a90e266;gap:12px;box-shadow:0 12px 28px #1a1f360e}.admin-appointment-card__subtitle{color:var(--admin-muted);margin:4px 0 0;font-size:.86rem;font-weight:400}.admin-appointment-card__details{background:#f8fafc;border:1px solid #1a1f3614;border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px 12px;padding:12px;display:grid}.admin-appointment-card__details .admin-card__meta{gap:3px;margin:0;display:grid}.admin-appointment-card__actions{justify-content:flex-end;padding-top:2px}.admin-appointment-pill,.admin-status-badge,.admin-whatsapp-usage__status,.admin-log-status,.admin-tag{font-weight:600}.admin-section--whatsapp-usage,.admin-section--whatsapp-logs{gap:16px}.admin-whatsapp-alert{border-radius:14px;margin:0;padding:12px 14px;font-size:.9rem;line-height:1.45}.admin-whatsapp-alert--warning{color:#92400e;background:#f59e0b1a;border:1px solid #f59e0b3d}.admin-whatsapp-alert--danger{color:#991b1b;background:#e5484d1a;border:1px solid #e5484d38}.admin-whatsapp-usage__bar{background:#5f6f8929;border-radius:999px;height:10px;overflow:hidden}.admin-whatsapp-usage__bar-fill{border-radius:inherit;background:linear-gradient(90deg, var(--admin-primary), var(--admin-cyan));height:100%}.admin-whatsapp-features-grid,.admin-whatsapp-log-list{gap:12px;display:grid}.admin-whatsapp-feature,.admin-whatsapp-log-card{background:#fff;border:1px solid #1a1f3640;border-radius:16px;gap:10px;padding:14px;display:grid;box-shadow:0 10px 24px #1a1f360b}.admin-whatsapp-feature{grid-template-columns:minmax(0,1fr) auto;align-items:center}.admin-whatsapp-log-card__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-whatsapp-log-card__meta{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.admin-whatsapp-log-card__label{color:var(--admin-label);margin:0 0 3px;font-size:.76rem;font-weight:500}.admin-whatsapp-log-card__error{color:#991b1b;background:#e5484d17;border-radius:12px;margin:0;padding:10px 12px;font-size:.86rem}.admin-whatsapp-log-filters{background:#f7f9fc;border:1px solid #1a1f3617;border-radius:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;padding:14px;display:grid}.admin-resource-config__header h4,.admin-agenda-block__header h4,.admin-agenda-block__header h5{font-weight:600}.admin-resource-config__header p,.admin-agenda-block__header p{font-weight:400}.admin-button--secondary{color:var(--admin-primary-dark);background:#fff;border-color:#4a90e23d}.admin-button--secondary:hover{background:#4a90e20f;border-color:#4a90e26b}@media (width<=720px){.admin-appointment-card__header,.admin-whatsapp-log-card__header,.admin-whatsapp-feature{display:grid}.admin-appointment-card__actions{justify-content:stretch}}.landing-page{color:#fff;scroll-behavior:smooth;background:radial-gradient(circle at 12% 8%,#4dd0e138,#0000 30%),radial-gradient(circle at 88% 5%,#9575cd33,#0000 28%),linear-gradient(135deg,#0f1e3a 0%,#122846 48%,#0b1729 100%);min-height:100svh;overflow-x:hidden}.landing-hero,.landing-section,.landing-final-cta{width:min(1160px,100% - 40px);margin:0 auto}.landing-hero{flex-direction:column;min-height:100svh;padding:24px 0 72px;display:flex}.landing-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff14;border:1px solid #ffffff1f;border-radius:22px;justify-content:space-between;align-items:center;gap:18px;min-height:66px;padding:12px 14px;display:flex;position:relative;box-shadow:0 18px 44px #0208172e}.landing-menu-button{width:44px;height:44px;box-shadow:none;background:#ffffff1f;border:1px solid #ffffff38;border-radius:14px;place-items:center;gap:4px;padding:10px;display:none}.landing-menu-button span{background:#fff;border-radius:999px;width:20px;height:2px;display:block}.landing-mobile-menu{display:none}.landing-brand,.landing-nav__links,.landing-nav__cta,.landing-button{text-decoration:none}.landing-brand{color:#fff;align-items:center;gap:11px;font-size:1rem;font-weight:700;display:inline-flex}.landing-brand__mark{color:#fff;background:linear-gradient(135deg,#4a90e2 0%,#4dd0e1 100%);border-radius:15px;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 12px 24px #4a90e242}.landing-nav__links{justify-content:center;align-items:center;gap:8px;display:flex}.landing-nav__links a{color:#ffffffc2;border-radius:999px;padding:9px 12px;font-size:.9rem;font-weight:500;text-decoration:none}.landing-nav__links a:hover{color:#fff;background:#ffffff1a}.landing-nav__cta{color:#fff;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:14px;justify-content:center;align-items:center;min-height:42px;padding:0 16px;font-size:.9rem;font-weight:600;display:inline-flex}.landing-hero__grid{flex:1;grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);align-items:center;gap:44px;padding:72px 0 0;display:grid}.landing-hero__copy{gap:22px;display:grid}.landing-pill{color:#a8f3fb;background:#4dd0e11f;border:1px solid #4dd0e14d;border-radius:999px;justify-content:center;align-items:center;width:fit-content;min-height:30px;padding:5px 11px;font-size:.78rem;font-weight:600;display:inline-flex}.landing-hero h1,.landing-section h2,.landing-final-cta h2{color:#fff;letter-spacing:0;margin:0}.landing-hero h1{max-width:760px;font-size:clamp(2.6rem,5.4vw,4.9rem);font-weight:700;line-height:1.02}.landing-hero__copy p,.landing-section__header p,.landing-final-cta p{color:#ffffffbd;margin:0;font-size:1.04rem;font-weight:400;line-height:1.65}.landing-hero__copy p{max-width:650px;font-size:1.08rem}.landing-hero__actions{flex-wrap:wrap;gap:12px;display:flex}.landing-button{letter-spacing:0;border:1px solid #0000;border-radius:15px;justify-content:center;align-items:center;min-height:48px;padding:0 20px;font-size:.95rem;font-weight:600;transition:transform .18s,box-shadow .18s,background-color .18s;display:inline-flex}.landing-button:hover{transform:translateY(-1px)}.landing-button--primary{color:#fff;background:linear-gradient(#5aa0ea 0%,#4a90e2 100%);box-shadow:0 16px 30px #4a90e247}.landing-button--secondary{color:#fff;background:#ffffff1a;border-color:#ffffff2e}.landing-preview{color:#1a1f36;background:#fff;border:1px solid #e2e8f0e6;border-radius:28px;min-height:430px;overflow:hidden;box-shadow:0 28px 70px #02081757,inset 0 1px #ffffffe6}.landing-preview__topbar{background:#f8fafc;border-bottom:1px solid #e2e8f0;align-items:center;gap:8px;height:54px;padding:0 18px;display:flex}.landing-preview__topbar span{background:#cbd5e1;border-radius:999px;width:11px;height:11px}.landing-preview__content{grid-template-columns:150px minmax(0,1fr);min-height:376px;display:grid}.landing-preview__sidebar{background:#eef3f8;border-right:1px solid #e2e8f0;align-content:start;gap:10px;padding:18px;display:grid}.landing-preview__sidebar span{color:#334155;background:#ffffffbd;border-radius:12px;padding:10px 12px;font-size:.82rem;font-weight:600}.landing-preview__main{background:#fafbfc;align-content:start;gap:14px;padding:20px;display:grid}.landing-preview__stat,.landing-preview__appointment{background:#fff;border:1px solid #e2e8f0;border-radius:17px;gap:6px;padding:16px;display:grid;box-shadow:0 12px 28px #0f172a0f}.landing-preview__stat strong{color:#1a1f36;font-size:2rem;font-weight:700;line-height:1}.landing-preview__stat span,.landing-preview__appointment span{color:#5f6f89;font-size:.86rem;font-weight:500}.landing-preview__appointment strong{color:#1a1f36;font-size:1rem;font-weight:600}.landing-preview__appointment--soft{background:#f8fafc}.landing-preview__badge{background:#4dd0e124;border-radius:999px;width:fit-content;padding:4px 8px;color:#167184!important;font-size:.74rem!important}.landing-section{padding:76px 0}.landing-section__header{gap:14px;max-width:760px;margin-bottom:28px;display:grid}.landing-section h2,.landing-final-cta h2{font-size:clamp(1.9rem,3.6vw,2.9rem);font-weight:700;line-height:1.08}.landing-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.landing-card,.landing-step,.landing-faq__item{color:#1a1f36;background:#fff;border:1px solid #e2e8f0e6;border-radius:22px;padding:22px;transition:transform .2s,box-shadow .2s,border-color .2s;box-shadow:0 18px 44px #02081729}.landing-card:hover,.landing-step:hover,.landing-faq__item:hover,.landing-screenshot-card:hover{border-color:#4dd0e152;transform:translateY(-3px);box-shadow:0 24px 56px #02081738}.landing-card{align-content:start;gap:12px;min-height:210px;display:grid}.landing-card__dot{background:linear-gradient(135deg,#4a90e229,#4dd0e138);border-radius:13px;width:34px;height:34px}.landing-card h3,.landing-step h3,.landing-faq__item h3{color:#1a1f36;margin:0;font-size:1.05rem;font-weight:600;line-height:1.35}.landing-card p,.landing-step p,.landing-faq__item p{color:#5f6f89;margin:0;font-size:.94rem;line-height:1.58}.landing-section--split{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:28px;display:grid}.landing-steps{gap:14px;display:grid}.landing-step{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px 14px;display:grid}.landing-step span{color:#315f98;background:#eef6ff;border-radius:13px;grid-row:span 2;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.landing-modules{flex-wrap:wrap;gap:10px;display:flex}.landing-modules span{color:#ffffffd6;background:#ffffff1a;border:1px solid #ffffff29;border-radius:999px;align-items:center;min-height:42px;padding:0 14px;font-size:.92rem;font-weight:600;transition:transform .2s,background-color .2s,border-color .2s;display:inline-flex}.landing-modules span:hover{background:#ffffff24;border-color:#4dd0e157;transform:translateY(-2px)}.landing-screenshots{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.landing-screenshot-card{color:#5f6f89;cursor:pointer;background:linear-gradient(135deg,#fffffffa,#f8fafcf5);border:1px solid #e2e8f0e6;border-radius:24px;place-items:center;gap:8px;min-height:220px;padding:22px;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s,border-color .2s;display:grid;box-shadow:0 18px 44px #02081729}.landing-screenshot-card span,.landing-screenshot-card small{display:block}.landing-screenshot-card span{color:#1a1f36;font-weight:600}.landing-screenshot-card small{color:#5f6f89;font-size:.82rem;font-weight:500}.landing-faq{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.landing-faq__item{gap:8px;display:grid;box-shadow:0 14px 34px #02081724}.landing-final-cta{background:#ffffff1a;border:1px solid #e2e8f038;border-radius:28px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px;padding:28px;display:flex;box-shadow:0 24px 60px #02081738}.landing-final-cta div{gap:12px;display:grid}.landing-footer{border-top:1px solid #ffffff24;grid-template-columns:minmax(0,1fr) auto;gap:22px;width:min(1160px,100% - 40px);margin:0 auto;padding:30px 0 36px;display:grid}.landing-footer p{color:#ffffffa8;margin:10px 0 0;font-size:.92rem;line-height:1.55}.landing-footer__links{flex-wrap:wrap;justify-content:flex-end;gap:10px 16px;display:flex}.landing-footer__links a{color:#ffffffc7;font-size:.9rem;font-weight:500;text-decoration:none}.landing-footer__links a:hover{color:#fff}.landing-footer__copy{grid-column:1/-1}.landing-modal-overlay{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020817b8;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.landing-screenshot-modal{gap:14px;width:min(920px,100%);display:grid}.landing-modal-close{color:#fff;background:#ffffff1f;border:1px solid #ffffff38;border-radius:13px;justify-self:end;min-height:40px;padding:0 14px;font-size:.9rem;font-weight:600}.landing-screenshot-modal__placeholder{text-align:center;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0eb;border-radius:28px;place-items:center;gap:10px;min-height:min(62svh,560px);padding:28px;display:grid;box-shadow:0 28px 70px #0208175c}.landing-screenshot-modal__placeholder span{color:#1a1f36;font-size:clamp(1.6rem,4vw,2.6rem);font-weight:700}.landing-screenshot-modal__placeholder small{color:#5f6f89;font-size:.95rem}@media (width<=980px){.landing-nav__links{display:none}.landing-menu-button{display:grid}.landing-hero__grid,.landing-section--split,.landing-card-grid,.landing-screenshots,.landing-faq{grid-template-columns:1fr}.landing-preview{min-height:auto}.landing-preview__content{grid-template-columns:1fr}.landing-preview__sidebar{border-bottom:1px solid #e2e8f0;border-right:0;grid-template-columns:repeat(3,minmax(0,1fr))}.landing-mobile-menu{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff1a;border:1px solid #ffffff24;border-radius:18px;gap:6px;margin-top:10px;padding:12px;display:grid;box-shadow:0 18px 44px #02081733}.landing-mobile-menu a{color:#ffffffdb;border-radius:12px;align-items:center;min-height:42px;padding:0 12px;font-size:.95rem;font-weight:600;text-decoration:none;display:flex}.landing-mobile-menu a:hover{color:#fff;background:#ffffff1a}.landing-footer{grid-template-columns:1fr}.landing-footer__links{justify-content:flex-start}}@media (width<=640px){.landing-hero,.landing-section,.landing-final-cta,.landing-footer{width:min(100% - 28px,1160px)}.landing-hero{min-height:auto;padding:14px 0 52px}.landing-nav{border-radius:18px}.landing-nav__cta{display:none}.landing-hero__grid{gap:30px;padding-top:46px}.landing-hero h1{font-size:clamp(2.25rem,13vw,3.25rem)}.landing-hero__actions,.landing-button,.landing-final-cta .landing-button{width:100%}.landing-section{padding:52px 0}.landing-card,.landing-step,.landing-faq__item,.landing-final-cta{border-radius:18px}.landing-preview__sidebar{grid-template-columns:1fr}.landing-final-cta{flex-direction:column;align-items:stretch;padding:22px}}.my-appointments-page{--patient-surface:#fff;--patient-surface-soft:#f6f8fb;--patient-workspace-bg:#f8fafc;--patient-primary:#4a90e2;--patient-primary-dark:#2f74c0;--patient-cyan:#4dd0e1;--patient-text:#1a1f36;--patient-muted:#5f6f89;--patient-label:#66758c;--patient-border:#1a1f361f;--patient-danger:#e5484d;--patient-shadow:0 14px 34px #1a1f3611;color:var(--patient-text);gap:16px;font-size:15px;line-height:1.45;display:grid}.page-layout__panel:has(.my-appointments-page){max-width:1180px}.page-layout__panel:has(.my-appointments-page) .page-layout__header{margin-bottom:16px}.page-layout__panel:has(.my-appointments-page) .page-layout__title{letter-spacing:0;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.08}.my-appointments-hero{border:1px solid var(--patient-border);box-shadow:var(--patient-shadow);background:#fff;border-radius:20px;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:16px;padding:20px;display:grid}.my-appointments-hero__copy,.my-appointments-hero__meta{align-content:start;gap:10px;display:grid}.my-appointments-hero__copy .pill,.my-appointments-card__header .pill{width:fit-content;min-height:28px;color:var(--patient-primary-dark);background:#4a90e21a;border:1px solid #4a90e22e;border-radius:999px;align-items:center;padding:0 10px;font-size:.78rem;font-weight:600;display:inline-flex}.my-appointments-hero__title{color:var(--patient-text);margin:0;font-size:clamp(1.35rem,2.2vw,1.8rem);font-weight:700;line-height:1.2}.my-appointments-hero__text,.my-appointments-hero__meta-item,.my-appointments-card__meta{color:var(--patient-muted);margin:0;font-size:.9rem;font-weight:400;line-height:1.5}.my-appointments-hero__meta-item strong,.my-appointments-card__meta strong{color:var(--patient-label);font-weight:500}.my-appointments-hero__meta{background:var(--patient-surface-soft);border:1px solid #1a1f3617;border-radius:16px;padding:16px}.my-appointments-hero__meta .button{width:fit-content;min-width:150px}.my-appointments-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.my-appointments-card{border:1px solid var(--patient-border);box-shadow:var(--patient-shadow);background:#fff;border-radius:18px;gap:12px;padding:18px;display:grid}.my-appointments-card__header{border-bottom:1px solid #1a1f3614;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:10px;display:flex}.my-appointments-card__title{color:var(--patient-text);margin:0;font-size:1rem;font-weight:600;line-height:1.3}.my-appointments-card__action{justify-self:flex-start;margin-top:2px}.my-appointments-page .button{border-radius:12px;justify-content:center;align-items:center;min-height:40px;padding:0 16px;font-weight:600;display:inline-flex}.my-appointments-page .button:not(.button--secondary):not(.button--danger){color:#fff;background:var(--patient-primary);box-shadow:0 10px 24px #4a90e238}.my-appointments-page .button--secondary{color:var(--patient-primary-dark);background:#fff;border:1px solid #4a90e23d}.my-appointments-page .button--danger{color:#fff;background:var(--patient-danger);box-shadow:0 10px 22px #e5484d2e}@media (width<=820px){.my-appointments-hero{grid-template-columns:1fr}}@media (width<=640px){.my-appointments-hero,.my-appointments-card{border-radius:16px;padding:15px}.my-appointments-hero__meta .button,.my-appointments-card__action{width:100%}}.page-layout__panel:has(.patient-access-page){background:radial-gradient(circle at 16% 16%,#4dd0e138,#0000 30%),radial-gradient(circle at 86% 12%,#9575cd2e,#0000 28%),linear-gradient(135deg,#0f1e3a 0%,#122846 52%,#0b1729 100%);place-items:center;max-width:none;min-height:100svh;padding:28px;display:grid}.page-layout__panel:has(.patient-access-page)>.page-layout__header{display:none}.patient-access-page{place-items:center;width:100%;display:grid}.patient-access-card{background:#fff;border:1px solid #e2e8f0e6;border-radius:24px;gap:16px;width:min(100%,460px);padding:30px;display:grid;box-shadow:0 28px 70px #02081752,inset 0 1px #fffc}.patient-access-card:has(.patient-access-register){width:min(100%,760px)}.patient-access-card__header{gap:10px;display:grid}.auth-brand{color:#1a1f36;align-items:center;gap:10px;display:inline-flex}.auth-brand__mark{color:#fff;background:linear-gradient(135deg,#4a90e2 0%,#4dd0e1 100%);border-radius:14px;place-items:center;width:38px;height:38px;font-weight:700;display:inline-grid;box-shadow:0 10px 22px #4a90e23d}.auth-brand__name{letter-spacing:0;font-size:1rem;font-weight:700}.patient-access-card__brand{margin-bottom:2px}.patient-access-card__header .pill{color:#167184;text-transform:none;background:#4dd0e11a;border-color:#4dd0e142;width:fit-content;min-height:28px;padding:5px 10px;font-size:.78rem;font-weight:600}.patient-access-card__title{color:#1a1f36;letter-spacing:0;font-size:clamp(1.45rem,3vw,1.65rem);font-weight:700;line-height:1.18}.patient-access-card__text{color:#5f6f89;max-width:560px;font-size:.94rem;font-weight:400;line-height:1.58}.patient-access-form{gap:14px;display:grid}.patient-access-form--two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-access-form__full{grid-column:1/-1}.patient-access-card .form-label{color:#66758c;gap:8px;font-size:.82rem;font-weight:500}.patient-access-card .text-input{color:#1a1f36;min-height:46px;box-shadow:none;background:#fff;border:1px solid #d7e0ea;border-radius:14px}.patient-access-card .text-input:focus{border-color:#4a90e2;box-shadow:0 0 0 4px #4a90e224}.patient-access-card__action{border-radius:14px;width:100%}.patient-access-card .button{border-radius:14px;min-height:46px;font-size:.94rem;font-weight:600}.patient-access-card .button:not(.button--secondary){background:linear-gradient(#5aa0ea 0%,#4a90e2 100%);box-shadow:0 12px 24px #4a90e23d}.patient-access-card .status-message{box-shadow:none;border-radius:14px;padding:12px 14px;font-size:.9rem;line-height:1.45}.patient-access-register{background:#f8fafc;border:1px solid #dfe7f0;border-radius:18px;gap:16px;padding:18px;display:grid;box-shadow:inset 0 1px #ffffffdb}.patient-access-register .button{width:fit-content;min-width:190px}@media (width<=768px){.page-layout__panel:has(.patient-access-page){align-items:start;padding:18px}.patient-access-page{align-items:center;min-height:calc(100svh - 36px)}.patient-access-card{border-radius:22px;padding:24px}.patient-access-form--two-columns{grid-template-columns:1fr}.patient-access-card__action,.patient-access-register .button{width:100%}.patient-access-register{border-radius:18px;padding:16px}}.patient-dashboard-shell{--patient-bg:#fafbfc;--patient-surface:#fff;--patient-surface-soft:#f6f8fb;--patient-sidebar-bg:#eef3f8;--patient-workspace-bg:#f8fafc;--patient-panel-bg:#f3f6fa;--patient-primary:#4a90e2;--patient-primary-dark:#2f74c0;--patient-cyan:#4dd0e1;--patient-violet:#9575cd;--patient-text:#1a1f36;--patient-muted:#5f6f89;--patient-label:#66758c;--patient-border:#1a1f361f;--patient-success:#16a34a;--patient-warning:#f59e0b;--patient-danger:#e5484d;--patient-shadow:0 14px 34px #1a1f3611;--patient-shadow-soft:0 10px 28px #1a1f360e;min-height:0;color:var(--patient-text);font-size:15px;line-height:1.45;overflow-x:clip}.page-layout__panel:has(.patient-dashboard-shell){max-width:1280px;overflow-x:clip}.page-layout__panel:has(.patient-dashboard-shell) .page-layout__header{display:none}.patient-dashboard-shell *,.patient-dashboard-shell :before,.patient-dashboard-shell :after{box-sizing:border-box}.patient-dashboard{grid-template-columns:248px minmax(0,1fr);align-items:start;gap:20px;width:100%;min-width:0;display:grid}.patient-sidebar{border:1px solid var(--patient-border);background:var(--patient-sidebar-bg);border-radius:20px;flex-direction:column;height:auto;max-height:calc(100vh - 24px);padding:12px;display:flex;position:sticky;top:12px;overflow-y:auto;box-shadow:0 18px 42px #1a1f3614}.patient-sidebar__brand{border-bottom:1px solid #1a1f361a;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:8px 8px 14px;display:grid}.patient-sidebar__logo{color:#fff;background:linear-gradient(135deg, var(--patient-primary), var(--patient-cyan));border-radius:14px;justify-content:center;align-items:center;width:38px;height:38px;font-weight:700;display:inline-flex;box-shadow:0 10px 24px #4a90e242}.patient-sidebar__brand-copy,.patient-sidebar__session-copy{min-width:0}.patient-sidebar__product,.patient-sidebar__business,.patient-sidebar__session-copy p,.patient-sidebar__session-copy span{margin:0}.patient-sidebar__product{color:var(--patient-text);font-size:.94rem;font-weight:700}.patient-sidebar__business{color:var(--patient-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.82rem;font-weight:500;overflow:hidden}.patient-sidebar__nav{gap:6px;padding:16px 0;display:grid}.patient-sidebar__item,.patient-mobile-nav__item{width:100%;min-height:38px;color:var(--patient-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px;align-items:center;gap:10px;padding:8px 10px;font-size:.88rem;font-weight:600;transition:background .18s,color .18s,box-shadow .18s;display:flex}.patient-sidebar__item:hover,.patient-mobile-nav__item:hover{color:var(--patient-text);background:#ffffffb8}.patient-sidebar__item.is-active,.patient-mobile-nav__item.is-active{color:var(--patient-primary-dark);background:#fff;box-shadow:0 8px 18px #4a90e21c}.patient-nav-icon{width:24px;height:24px;color:var(--patient-primary-dark);background:#4a90e21a;border-radius:9px;flex:none;justify-content:center;align-items:center;font-size:.82rem;line-height:1;display:inline-flex}.patient-sidebar__item.is-active .patient-nav-icon,.patient-mobile-nav__item.is-active .patient-nav-icon{color:#fff;background:var(--patient-primary)}.patient-sidebar__session{border:1px solid var(--patient-border);background:#ffffffbd;border-radius:18px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:auto;padding:12px;display:grid}.patient-sidebar__avatar{width:40px;height:40px;color:var(--patient-primary-dark);background:#4a90e224;border-radius:14px;justify-content:center;align-items:center;font-size:.82rem;font-weight:700;display:inline-flex}.patient-sidebar__session-copy p{color:var(--patient-text);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:600;overflow:hidden}.patient-sidebar__session-copy span{color:var(--patient-muted);margin-top:2px;font-size:.74rem;font-weight:500;display:block}.patient-sidebar__logout{border:1px solid var(--patient-border);min-height:34px;color:var(--patient-muted);font:inherit;cursor:pointer;background:#fff;border-radius:12px;padding:0 10px;font-size:.78rem;font-weight:600}.patient-mobile-nav{margin-bottom:16px;display:none}.patient-mobile-nav__bar{border:1px solid var(--patient-border);background:var(--patient-surface);width:100%;box-shadow:var(--patient-shadow-soft);border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.patient-mobile-nav__brand{border-bottom:0;padding:0}.patient-mobile-nav__toggle{min-height:46px;color:var(--patient-primary-dark);font:inherit;cursor:pointer;background:#4a90e21a;border:1px solid #4a90e238;border-radius:16px;justify-content:center;align-items:center;gap:10px;padding:0 13px;display:inline-flex}.patient-mobile-nav__toggle-label{font-size:.88rem;font-weight:600}.patient-mobile-nav__hamburger{border-top:2px solid var(--patient-primary-dark);border-bottom:2px solid var(--patient-primary-dark);width:22px;height:14px;display:inline-block;position:relative}.patient-mobile-nav__hamburger:before{background:var(--patient-primary-dark);content:"";border-radius:999px;width:22px;height:2px;position:absolute;top:4px;left:0}.patient-mobile-nav__menu{border:1px solid var(--patient-border);background:var(--patient-surface);width:100%;box-shadow:var(--patient-shadow-soft);border-radius:18px;gap:8px;margin-top:10px;padding:12px;display:grid}.patient-panel-page{background:var(--patient-workspace-bg);border:1px solid #1a1f360f;border-radius:22px;gap:16px;width:100%;min-width:0;padding:16px;display:grid}.patient-home-grid,.patient-profile-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);align-items:start;gap:16px;display:grid}.patient-home-card,.patient-profile-card,.patient-panel-card,.patient-panel-empty{border:1px solid var(--patient-border);box-shadow:var(--patient-shadow);background:#fff;border-radius:18px;gap:14px;padding:18px;display:grid}.patient-home-card:first-child{align-content:start;min-height:0}.patient-profile-card--compact{background:var(--patient-panel-bg);box-shadow:none;align-content:start;gap:10px}.patient-home-card__title,.patient-profile-card__title,.patient-panel-card__title{color:var(--patient-text);margin:0;font-size:1.08rem;font-weight:600;line-height:1.3}.patient-home-card__text,.patient-panel-card__meta{color:var(--patient-muted);margin:0;font-size:.9rem;font-weight:400;line-height:1.5}.patient-panel-card__meta strong{color:var(--patient-label);font-weight:500}.patient-home-card__stack{gap:10px;max-height:430px;display:grid;overflow:auto}.patient-home-card__appointment{background:#f8fafc;border:1px solid #1a1f3617;border-radius:15px;gap:7px;padding:13px;display:grid}.patient-home-card__actions,.patient-panel-card__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.patient-home-card__actions .button{flex:none;width:auto;min-width:132px}.patient-home-card__contact{background:#14b86a;width:fit-content;min-width:190px;box-shadow:0 10px 22px #14b86a2e}.patient-panel-page .button,.patient-home-card .button,.patient-panel-card .button,.patient-profile-card .button{border-radius:12px;justify-content:center;align-items:center;min-height:40px;padding:0 16px;font-weight:600;display:inline-flex}.patient-panel-page .button:not(.button--secondary):not(.button--danger){color:#fff;background:var(--patient-primary);box-shadow:0 10px 24px #4a90e238}.patient-panel-page .button--secondary{color:var(--patient-primary-dark);background:#fff;border:1px solid #4a90e23d}.patient-panel-page .button--danger{color:#fff;background:var(--patient-danger);box-shadow:0 10px 22px #e5484d2e}.patient-panel-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.patient-panel-card__header{border-bottom:1px solid #1a1f3614;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:10px;display:flex}.patient-panel-card__header .pill{min-height:28px;color:var(--patient-primary-dark);background:#4a90e21a;border:1px solid #4a90e22e;border-radius:999px;padding:0 10px;font-size:.78rem;font-weight:600}.patient-profile-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.patient-profile-form__full{grid-column:1/-1}.patient-panel-page .form-label{color:var(--patient-label);gap:7px;font-size:.82rem;font-weight:500;display:grid}.patient-panel-page .text-input{width:100%;min-height:42px;color:var(--patient-text);font:inherit;background:#fff;border:1px solid #1a1f362e;border-radius:12px;outline:none;padding:0 12px;font-size:.92rem;transition:border-color .18s,box-shadow .18s}.patient-panel-page .text-input:focus{border-color:#4a90e2b3;box-shadow:0 0 0 4px #4a90e21f}.patient-inline-message,.patient-panel-page .status-message{border-radius:14px;margin:0;padding:12px 14px;font-size:.9rem;font-weight:500;line-height:1.45}.patient-inline-message--success,.patient-panel-page .status-message--success{color:#166534;background:#16a34a1a;border:1px solid #16a34a33}.patient-inline-message--error,.patient-panel-page .status-message--error{color:#991b1b;background:#e5484d1a;border:1px solid #e5484d38}.patient-panel-page .status-message--muted{color:var(--patient-muted);border:1px solid var(--patient-border);background:var(--patient-surface-soft)}.patient-panel-section--booking{box-shadow:none;background:0 0;border:none;padding:0}.patient-panel-section--booking .booking-page{gap:14px}.patient-panel-section--booking .booking-stepper,.patient-panel-section--booking .booking-section,.patient-panel-section--booking .booking-final-summary,.patient-panel-section--booking .booking-patient-create,.patient-panel-section--booking .booking-patient-summary{border-radius:18px}.patient-panel-section--booking .booking-stepper,.patient-panel-section--booking .booking-section{border:1px solid var(--patient-border);box-shadow:var(--patient-shadow);background:#fff}.patient-panel-section--booking .booking-stepper{gap:6px;padding:8px}.patient-panel-section--booking .booking-stepper__item{background:0 0;border-radius:12px;min-height:38px}.patient-panel-section--booking .booking-stepper__item.is-active{color:var(--patient-primary-dark);box-shadow:none;background:#4a90e21c;border-color:#4a90e22e}.patient-panel-section--booking .booking-stepper__item.is-active .booking-stepper__index{color:#fff;background:var(--patient-primary)}.patient-panel-section--booking .booking-stepper__item.is-completed{background:#16a34a12}.patient-panel-section--booking .booking-section{gap:14px;padding:18px}.patient-panel-section--booking .booking-choice-button,.patient-panel-section--booking .booking-slot-button{border-color:var(--patient-border);background:#fff;box-shadow:0 8px 20px #1a1f360a}.patient-panel-section--booking .booking-choice-button.is-selected,.patient-panel-section--booking .booking-slot-button.is-selected{background:linear-gradient(135deg, var(--patient-primary), var(--patient-cyan));color:#fff;border-color:#0000;box-shadow:0 14px 28px #4a90e23d}@media (width<=1040px){.patient-dashboard{grid-template-columns:1fr}.patient-sidebar{display:none}.patient-mobile-nav{width:100%;display:block}.patient-home-grid,.patient-profile-grid{grid-template-columns:1fr}}@media (width<=720px){.page-layout__panel:has(.patient-dashboard-shell){padding:16px}.patient-panel-page{border-radius:18px;padding:14px}.patient-home-card,.patient-profile-card,.patient-panel-card,.patient-panel-empty{border-radius:16px;padding:15px}.patient-profile-form,.patient-panel-section--booking .booking-choice-grid,.patient-panel-section--booking .booking-form-grid--two-columns,.patient-panel-section--booking .booking-grid{grid-template-columns:1fr}.patient-home-card__actions,.patient-panel-card__actions{display:grid}.patient-home-card__actions .button,.patient-panel-card .button,.patient-profile-card .button,.patient-home-card__contact{width:100%}}@media (width<=640px){.legal-page{padding:14px}.legal-card{border-radius:22px;padding:22px}}.legal-page{color:#1a1f36;background:radial-gradient(circle at 16% 8%,#4dd0e138,#0000 30%),radial-gradient(circle at 86% 6%,#9575cd2e,#0000 28%),linear-gradient(135deg,#0f1e3a 0%,#122846 52%,#0b1729 100%);min-height:100svh;padding:28px}.legal-card{background:#fff;border:1px solid #e2e8f0e6;border-radius:26px;gap:24px;width:min(920px,100%);margin:0 auto;padding:30px;display:grid;box-shadow:0 28px 70px #02081752}.legal-brand{color:#1a1f36;align-items:center;gap:10px;width:fit-content;font-weight:700;text-decoration:none;display:inline-flex}.legal-brand__mark{color:#fff;background:linear-gradient(135deg,#4a90e2 0%,#4dd0e1 100%);border-radius:15px;place-items:center;width:40px;height:40px;display:grid}.legal-header{border-bottom:1px solid #e2e8f0;gap:12px;padding-bottom:20px;display:grid}.legal-pill{color:#315f98;background:#4a90e214;border:1px solid #4a90e22e;border-radius:999px;align-items:center;width:fit-content;min-height:30px;padding:5px 11px;font-size:.78rem;font-weight:600;display:inline-flex}.legal-header h1{color:#1a1f36;font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.08}.legal-header p,.legal-content p{color:#5f6f89;font-size:.96rem;line-height:1.65}.legal-content{gap:18px;display:grid}.legal-content section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;gap:8px;padding:18px;display:grid}.legal-content h2{color:#1a1f36;font-size:1.05rem;font-weight:600}@media (width<=640px){.legal-page{padding:14px}.legal-card{border-radius:22px;padding:22px}}.app-not-found{justify-content:center;align-items:center;min-height:calc(100svh - 120px);display:flex}.app-not-found__card{text-align:left;flex-direction:column;gap:14px;width:100%;max-width:560px;padding:28px;display:flex}.app-not-found__title{color:var(--app-title);letter-spacing:-.04em;font-size:clamp(1.9rem,3vw,2.8rem);font-weight:800;line-height:1}.app-not-found__text{color:var(--app-text-soft);line-height:1.6}
