:root{font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#22305b;background-color:#fafbfc;--color-bg: #fafbfc;--color-bg-secondary: #f7f9fb;--color-surface: #ffffff;--color-surface-soft: #eff1ff;--color-sidebar: #d8dcff;--color-primary: #12a77c;--color-primary-strong: #54c081;--color-primary-deep: #047457;--color-primary-soft: #d9f4e9;--color-secondary: #7ac7ff;--color-secondary-strong: #4e94ff;--color-secondary-soft: #e5f1ff;--color-accent: #f97316;--color-accent-strong: #ea580c;--color-accent-soft: rgba(249, 115, 22, .14);--color-accent-line: rgba(249, 115, 22, .28);--color-accent-surface: #fff4e8;--color-text: #1f2b54;--color-text-strong: #101d3f;--color-text-muted: #5f6c98;--color-border: #d3d8df;--color-shadow: rgba(15, 23, 42, .06);--color-danger: #ef7e7f;--color-danger-soft: #ffeced;--color-warning: #a39cff;--color-warning-soft: #f3f2ff;--color-success: #5bc5b7;--color-success-soft: #e7f9f6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--color-primary-strong);text-decoration:inherit}a:hover{color:var(--color-text-strong)}body{margin:0;min-width:320px;min-height:100vh;font-size:15px;background:radial-gradient(circle at top left,rgba(40,169,121,.025),transparent 28%),radial-gradient(circle at top right,rgba(40,169,121,.02),transparent 30%),linear-gradient(180deg,var(--color-bg),var(--color-bg-secondary));overflow-x:hidden}#root{width:100%;max-width:none;margin:0;min-height:100vh}button{border-radius:8px;border:1px solid var(--color-border);padding:.52em 1em;font-size:.95rem;font-weight:600;font-family:inherit;background-color:var(--color-surface);color:var(--color-text);cursor:pointer;transition:border-color .25s,background-color .25s,transform .2s ease}button:hover{border-color:var(--color-primary)}button:focus,button:focus-visible{outline:3px solid rgba(71,219,169,.25);outline-offset:2px}input,select,textarea{font:inherit;color:var(--color-text)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px #47dba924}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.appointment-slot-card-expand{animation:slideDown .2s ease forwards}.patient-info-editable{position:relative}.patient-info-editable:hover{background:#28a97914;border-radius:6px}.smooth-transition{transition:all .2s ease}.admin-layout{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh;background:radial-gradient(circle at top right,rgba(249,115,22,.025),transparent 28%),linear-gradient(180deg,var(--color-bg),var(--color-bg-secondary))}.admin-layout__sidebar{display:flex;flex-direction:column;min-height:100vh;padding:20px 16px;background:linear-gradient(180deg,#10183c,#1f2a5f);border-right:1px solid rgba(94,110,191,.35)}.admin-layout__brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.admin-layout__logo{width:44px;height:44px;border-radius:50%;object-fit:cover}.admin-layout__title,.admin-layout__subtitle{display:block;line-height:1.2}.admin-layout__title{color:#fff;font-size:18px;font-weight:800}.admin-layout__subtitle{color:#ffffffc2;font-size:12px;font-weight:600}.admin-layout__nav{display:grid;gap:8px}.admin-layout__nav-link{display:block;padding:12px;border-radius:8px;color:#f5fffbe6;font-weight:700;text-decoration:none}.admin-layout__nav-link:hover,.admin-layout__nav-link--active{color:#fff;background:#f973162e}.admin-layout__logout{margin-top:auto;border:1px solid rgba(180,169,255,.28);border-radius:8px;background:#ffffffeb;color:var(--color-text-strong);font-weight:800}.admin-layout__main{min-width:0;padding:24px}@media(min-width:761px){.admin-layout__sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:260px;height:100vh;overflow-y:auto}.admin-layout__main{grid-column:2}}@media(max-width:760px){.admin-layout{grid-template-columns:1fr}.admin-layout__sidebar{position:static;width:auto;height:auto;min-height:auto}}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--color-bg)}body{font-family:inherit;color:var(--color-text)}.layout{display:grid;grid-template-columns:1fr;min-height:100vh;width:100%;background:radial-gradient(circle at top left,rgba(249,115,22,.025),transparent 24%),radial-gradient(circle at top right,rgba(40,169,121,.025),transparent 30%),linear-gradient(180deg,var(--color-bg),var(--color-bg-secondary))}html,body,#root,.layout{min-width:0;max-width:100vw;overflow-x:hidden}.layout__header{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--color-border);background:#fafbfcf5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:fixed;top:0;left:0;right:0;z-index:30}.layout__hamburger{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex:0 0 48px;touch-action:manipulation;font-size:20px;line-height:1;border:none;background:transparent;cursor:pointer;color:var(--color-text);padding:6px 8px;border-radius:10px}.layout__hamburger:hover{background:#28a9791f}.layout__brand{display:flex;align-items:center;gap:10px}.layout__brand--header{min-width:0;flex:1}.layout__info{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:0;background:transparent;border:0;touch-action:manipulation}.layout__help{width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:24px;border:1px solid var(--color-border);border-radius:14px;color:var(--color-text);background:#fff;box-shadow:0 16px 48px #10183c2e}.layout__help::backdrop{background:#10183c61}.layout__help h2{margin:0 0 12px;font-size:18px}.layout__help p{margin:0 0 20px;font-size:14px;line-height:1.6}.layout__help button{width:100%;min-height:44px}@media(max-width:767px){.layout__header{height:72px;gap:6px;padding:12px 8px}.layout__brand--header .layout__title{font-size:15px}.layout__brand--header .layout__subtitle{font-size:10px}}@media(max-width:899px){.layout--appointments,.layout--appointments .layout__main,.layout--appointments .layout__content{height:100dvh;min-height:0;overflow:hidden}.layout--appointments .layout__content{display:flex;flex-direction:column}}.layout__logo{width:38px;height:38px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #ffffff1f,0 8px 18px #050c2333;flex-shrink:0}.layout__title-group{display:flex;flex-direction:column;min-width:0}.layout__title{font-weight:800;font-size:16px;color:var(--color-text-strong);line-height:1.1}.layout__subtitle{font-size:11px;color:var(--color-text-muted);line-height:1.2}.layout__sidebar{display:none;background:linear-gradient(180deg,#10183a,#19244f);border-right:1px solid rgba(255,255,255,.08);padding:18px 14px;min-height:100vh}.layout__sidebar .layout__brand{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.layout__sidebar .layout__title,.layout__drawer-panel .layout__title{color:#fff}.layout__sidebar .layout__subtitle,.layout__drawer-panel .layout__subtitle{color:#ffffffc7}.layout__nav{display:flex;flex-direction:column;gap:4px}.layout__nav-link{position:relative;display:block;overflow:hidden;padding:10px 12px;border-radius:8px;text-decoration:none;color:#f4f7ffc7;font-size:13.5px;font-weight:600;transition:background .2s ease,color .2s ease,transform .2s ease}.layout__nav-link:after{content:"";position:absolute;top:-45%;bottom:-45%;left:-55%;width:42%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(249,115,22,.28),transparent);filter:blur(5px);transform:skew(-18deg);opacity:0}.layout__nav-link:hover{background:#ffffff0f;color:#fff;transform:translate(2px)}.layout__nav-link:hover:after{animation:layout-nav-glow .7s ease-out}.layout__nav-link--active{background:#ffffff1a;color:#fff;box-shadow:0 8px 18px #050c231f}@keyframes layout-nav-glow{0%{left:-55%;opacity:0}18%{opacity:1}to{left:115%;opacity:0}}.layout__logout{margin-top:22px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:#ffffffdb;border-radius:8px;padding:8px 10px;cursor:pointer;font-size:14px;font-weight:600;transition:background .2s ease,border-color .2s ease,color .2s ease}.layout__logout:hover{border-color:#ffffff4d;background:#ffffff1a;color:#fff}.layout__main{background:transparent;min-width:0;min-height:100vh}.layout__content{width:100%;min-height:100vh;padding:88px 12px 16px;background:transparent;overflow-x:hidden}.layout__drawer{position:fixed;inset:0;z-index:50}.layout__drawer-overlay{position:absolute;inset:0;background:#18433947}.layout__drawer-panel{position:absolute;left:0;top:0;width:280px;max-width:85vw;height:100%;overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(180deg,#10183a,#19244f);padding:18px 16px;box-shadow:0 20px 40px #06124d3d;display:flex;flex-direction:column}.layout__drawer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.layout__drawer-close{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;touch-action:manipulation;border:none;background:transparent;font-size:20px;cursor:pointer;color:#f5fffb;padding:6px 8px;border-radius:10px}.layout__drawer-close:hover{background:#ffffff14}@media(min-width:768px){.layout{grid-template-columns:206px 1fr}.layout__header{display:none}.layout__sidebar{position:fixed;inset:0 auto 0 0;z-index:20;display:flex;flex-direction:column;width:206px;height:100vh;overflow-y:auto}.layout__main{grid-column:2}.layout__content{padding:16px}}.admin-detail{color:var(--color-text)}.admin-detail__back{margin-bottom:14px;min-height:38px;border-radius:8px;font-weight:800}.admin-detail__hero,.admin-detail__stats div,.admin-detail__card,.admin-detail__message,.admin-detail__loading{border:1px solid var(--color-border);border-radius:8px;background:#ffffffd6;box-shadow:0 10px 24px var(--color-shadow)}.admin-detail__hero{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:20px}.admin-detail__eyebrow{display:inline-block;margin-bottom:7px;color:var(--color-accent);font-size:12px;font-weight:900;text-transform:uppercase}.admin-detail__hero h1{margin:0;color:var(--color-text-strong);font-size:30px;line-height:1.15}.admin-detail__hero p{margin:6px 0 0;color:var(--color-text-muted);font-size:14px;font-weight:600}.admin-detail__actions{display:flex;align-items:center;gap:10px}.admin-detail__actions button{min-height:40px;border-radius:8px;font-weight:800}.admin-detail__status{display:inline-flex;padding:7px 10px;border:1px solid rgba(100,116,139,.24);border-radius:999px;background:#f8fafce6;color:var(--color-text-muted);font-size:12px;font-weight:900}.admin-detail__status--active{border-color:#10b98142;background:#ecfdf5e6;color:var(--color-primary-deep)}.admin-detail__status--pending{border-color:#f9731647;background:#fff7edeb;color:#c2410c}.admin-detail__message{margin-bottom:14px;padding:12px 14px;color:var(--color-text-strong);font-weight:700}.admin-detail__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.admin-detail__stats div{display:grid;gap:6px;padding:16px}.admin-detail__stats span{color:var(--color-text-strong);font-size:26px;font-weight:800;line-height:1}.admin-detail__stats strong{color:var(--color-text-muted);font-size:13px}.admin-detail__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-detail__card{padding:20px}.admin-detail__card--wide{grid-column:1 / -1}.admin-detail__reset-card{margin-bottom:14px}.admin-detail__card h2{margin:0 0 16px;color:var(--color-text-strong);font-size:18px}.admin-detail__card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.admin-detail__card-head h2{margin:0}.admin-detail__hint{margin:5px 0 0;color:var(--color-text-muted);font-size:13px;font-weight:700}.admin-detail__card-head button{min-height:38px;border-radius:8px;font-weight:800}.admin-detail__edit-actions{display:flex;align-items:center;gap:8px}.admin-detail__form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-detail__form label{display:grid;gap:6px;color:var(--color-text-muted);font-size:12px;font-weight:900;text-transform:uppercase}.admin-detail__form input{width:100%;min-height:42px;padding:0 12px;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:var(--color-text-strong);font-size:14px;font-weight:700;text-transform:none}.admin-detail__card dl{display:grid;gap:12px;margin:0}.admin-detail__card dl div{display:grid;gap:4px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.admin-detail__card dl div:last-child{padding-bottom:0;border-bottom:none}.admin-detail__card dt{color:var(--color-text-muted);font-size:12px;font-weight:900;text-transform:uppercase}.admin-detail__card dd{margin:0;color:var(--color-text-strong);font-size:14px;font-weight:700}.admin-detail__empty{margin:0;color:var(--color-text-muted);font-size:14px;font-weight:700}.admin-detail__audit-list{display:grid;gap:10px}.admin-detail__audit-item{display:grid;gap:4px;padding:12px;border:1px solid var(--color-border);border-radius:8px;background:#ffffffb3}.admin-detail__audit-item strong{color:var(--color-text-strong);font-size:14px}.admin-detail__audit-item span{color:var(--color-text-muted);font-size:13px;font-weight:700}.admin-detail__loading{padding:24px;color:var(--color-text-muted);font-weight:700}@media(max-width:760px){.admin-detail__hero,.admin-detail__actions{align-items:flex-start;flex-direction:column}.admin-detail__stats,.admin-detail__grid,.admin-detail__form{grid-template-columns:1fr}}.admin-psychologists{color:var(--color-text)}.admin-psychologists__hero{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:20px;border:1px solid var(--color-border);border-radius:8px;background:#ffffffd6;box-shadow:0 12px 28px var(--color-shadow)}.admin-psychologists__eyebrow{display:inline-block;margin-bottom:7px;color:var(--color-accent);font-size:12px;font-weight:900;text-transform:uppercase}.admin-psychologists__hero h1{margin:0;color:var(--color-text-strong);font-size:30px;line-height:1.15}.admin-psychologists__hero p{margin:6px 0 0;color:var(--color-text-muted);font-size:14px;font-weight:600}.admin-psychologists__hero button,.admin-psychologists__status-btn{min-height:40px;border-radius:8px;font-weight:800}.admin-psychologists__hero-actions,.admin-psychologists__create-actions{display:flex;align-items:center;gap:8px}.admin-psychologists__create{margin-bottom:14px;padding:18px;border:1px solid var(--color-border);border-radius:8px;background:#ffffffd6;box-shadow:0 10px 24px var(--color-shadow)}.admin-psychologists__create-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.admin-psychologists__create-head h2{margin:0;color:var(--color-text-strong);font-size:18px}.admin-psychologists__create-head label{display:inline-flex;align-items:center;gap:8px;color:var(--color-text-strong);font-size:13px;font-weight:800;text-transform:none}.admin-psychologists__create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-psychologists__create label{display:grid;gap:6px;color:var(--color-text-muted);font-size:12px;font-weight:900;text-transform:uppercase}.admin-psychologists__create input{width:100%;min-height:42px;padding:0 12px;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:var(--color-text-strong);font-size:14px;font-weight:700}.admin-psychologists__create input[type=checkbox]{width:18px;min-height:18px;padding:0}.admin-psychologists__create small{color:var(--color-text-muted);font-size:12px;font-weight:700;line-height:1.35;text-transform:none}.admin-psychologists__create-actions{justify-content:flex-end;margin-top:14px}.admin-psychologists__create-actions button{min-height:40px;border-radius:8px;font-weight:800}.admin-psychologists__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:14px}.admin-psychologists__stats div,.admin-psychologists__toolbar,.admin-psychologists__panel,.admin-psychologists__message{border:1px solid var(--color-border);border-radius:8px;background:#ffffffd6;box-shadow:0 10px 24px var(--color-shadow)}.admin-psychologists__stats div{display:grid;gap:6px;padding:16px}.admin-psychologists__stats span{color:var(--color-text-strong);font-size:30px;font-weight:800;line-height:1}.admin-psychologists__stats strong{color:var(--color-text-muted);font-size:13px}.admin-psychologists__reset-alert{margin-bottom:14px;padding:16px;border:1px solid rgba(249,115,22,.22);border-radius:8px;background:#fffaf5db;box-shadow:0 10px 24px var(--color-shadow)}.admin-psychologists__admins{margin-bottom:14px;padding:16px;border:1px solid rgba(40,169,121,.22);border-radius:8px;background:#f5fffbdb;box-shadow:0 10px 24px var(--color-shadow)}.admin-psychologists__reset-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.admin-psychologists__reset-head h2{margin:0;color:var(--color-text-strong);font-size:18px}.admin-psychologists__reset-head span{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 9px;border-radius:999px;background:#f973161f;color:var(--color-accent-strong);font-size:13px;font-weight:900}.admin-psychologists__reset-list,.admin-psychologists__admin-list{display:grid;gap:8px}.admin-psychologists__reset-item,.admin-psychologists__admin-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid rgba(95,108,152,.14);border-radius:8px;background:#ffffffbd}.admin-psychologists__reset-item strong,.admin-psychologists__reset-item span,.admin-psychologists__reset-item small,.admin-psychologists__admin-item strong,.admin-psychologists__admin-item span{display:block}.admin-psychologists__reset-item strong,.admin-psychologists__admin-item strong{color:var(--color-text-strong);font-size:14px}.admin-psychologists__reset-item span,.admin-psychologists__reset-item small,.admin-psychologists__admin-item span{color:var(--color-text-muted);font-size:13px;font-weight:700}.admin-psychologists__reset-item button,.admin-psychologists__admin-item button{min-height:38px;border-radius:8px;font-weight:800}.admin-psychologists__admin-item button:disabled{cursor:not-allowed;opacity:.55}.admin-psychologists__toolbar{margin-bottom:14px;padding:14px}.admin-psychologists__toolbar input{width:100%;min-height:42px;padding:0 12px;border:1px solid var(--color-border);border-radius:8px;background:#fff}.admin-psychologists__message{margin-bottom:14px;padding:12px 14px;color:var(--color-text-strong);font-weight:700}.admin-psychologists__panel{overflow:hidden}.admin-psychologists__table-wrap{overflow-x:auto}.admin-psychologists__table{width:100%;min-width:820px;border-collapse:collapse}.admin-psychologists__table th,.admin-psychologists__table td{padding:14px;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle}.admin-psychologists__table th{color:var(--color-text-muted);font-size:12px;font-weight:900;text-transform:uppercase}.admin-psychologists__table td strong,.admin-psychologists__table td span,.admin-psychologists__table td small{display:block}.admin-psychologists__table td strong{color:var(--color-text-strong);font-size:14px}.admin-psychologists__table td span,.admin-psychologists__table td small{color:var(--color-text-muted);font-size:13px}.admin-psychologists__status{display:inline-flex;width:max-content;padding:5px 9px;border:1px solid rgba(100,116,139,.24);border-radius:999px;background:#f8fafce6;color:var(--color-text-muted);font-size:12px;font-weight:900}.admin-psychologists__status--active{border-color:#10b98142;background:#ecfdf5e6;color:var(--color-primary-deep)}.admin-psychologists__status--pending{border-color:#f9731647;background:#fff7edeb;color:#c2410c}.admin-psychologists__status-btn{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text-strong)}.admin-psychologists__actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.admin-psychologists__status-btn--secondary{color:var(--color-text-muted)}.admin-psychologists__status-btn--verify{border-color:#10b98138;background:#ecfdf5f0;color:var(--color-primary-deep)}.admin-psychologists__status-btn--danger{border-color:#dc26263d;background:#fef2f2f0;color:#b91c1c}.admin-psychologists__status-btn:disabled{cursor:not-allowed;opacity:.58}.admin-psychologists__empty{padding:24px;color:var(--color-text-muted);font-weight:700;text-align:center}@media(max-width:760px){.admin-psychologists__hero,.admin-psychologists__stats,.admin-psychologists__create-grid{grid-template-columns:1fr}.admin-psychologists__hero{align-items:flex-start;flex-direction:column}.admin-psychologists__hero-actions,.admin-psychologists__create-actions,.admin-psychologists__reset-item,.admin-psychologists__admin-item{width:100%;flex-direction:column;align-items:stretch}.admin-psychologists__hero-actions button,.admin-psychologists__create-actions button,.admin-psychologists__reset-item button,.admin-psychologists__admin-item button{width:100%}}.dashboard{width:100%;min-width:0;--dashboard-accent: #f97316;--dashboard-accent-soft: rgba(249, 115, 22, .11);--dashboard-green-soft: rgba(18, 167, 124, .12);--dashboard-blue-soft: rgba(122, 199, 255, .16);--dashboard-line: rgba(95, 108, 152, .16);--dashboard-card-border: var(--color-border);color:var(--color-text)}.dashboard__hero{position:relative;display:flex;align-items:flex-end;min-height:116px;margin-bottom:12px;padding:20px;overflow:hidden;border:1px solid rgba(207,232,220,.9);border-radius:8px;background:var(--color-accent-surface);box-shadow:0 14px 34px #10183c1f}.dashboard__hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#101d3fd1,#1f2b547a 42%,#101d3f14 78%),linear-gradient(0deg,#101d3f2e,#5f6c9800)}.dashboard__hero-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.dashboard__hero-content{position:relative;z-index:2;max-width:520px}.dashboard__eyebrow{display:inline-block;margin-bottom:5px;color:#f6d28a;font-size:10px;font-weight:700;text-shadow:0 1px 2px rgba(16,29,63,.48);text-transform:uppercase}.dashboard__hero-title{margin:0;color:#fff;font-size:24px;font-weight:700;line-height:1.15;text-shadow:0 2px 5px rgba(16,29,63,.42)}.dashboard__hero-subtitle{margin:4px 0 0;color:#eefbf6;font-size:13px;font-weight:500;line-height:1.45;text-shadow:0 2px 5px rgba(16,29,63,.42)}.dashboard__weekly-phrase{display:flex;align-items:center;gap:8px;margin:9px 0 0;color:#ffffffe6;font-size:11px;font-weight:500;line-height:1.35;text-shadow:0 1px 3px rgba(16,29,63,.45)}.dashboard__weekly-phrase span{padding-right:8px;border-right:1px solid rgba(255,255,255,.42);color:#f6d28a;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.dashboard__hero-mark{display:none}.dashboard__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.dashboard__metric-card,.dashboard__next-card,.dashboard__actions,.dashboard__pending-card,.dashboard__week-card,.dashboard__booking-card,.dashboard__status-card{border:1px solid var(--dashboard-card-border);border-radius:8px;background:#ffffffeb;box-shadow:0 14px 32px var(--color-shadow)}.dashboard__metric-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 14px}.dashboard__metric-top{display:contents}.dashboard__section-head{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--dashboard-line)}.dashboard__icon,.dashboard__action-icon,.dashboard__button-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--dashboard-accent)}.dashboard__icon{width:32px;height:32px;flex:0 0 auto;border:1px solid rgba(249,115,22,.18);border-radius:8px;background:var(--dashboard-accent-soft)}.dashboard__metric-card:nth-child(2) .dashboard__icon{color:var(--color-primary-deep);border-color:#12a77c2e;background:var(--dashboard-green-soft)}.dashboard__metric-card:nth-child(3) .dashboard__icon{color:var(--color-secondary-strong);border-color:#7ac7ff3d;background:var(--dashboard-blue-soft)}.dashboard__icon svg,.dashboard__action-icon svg,.dashboard__button-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.dashboard__button-icon svg{width:18px;height:18px}.dashboard__metric-value{grid-column:3;grid-row:1 / span 2;margin:0;color:var(--color-text-strong);font-size:21px;font-weight:750;line-height:1}.dashboard__metric-value--money{font-size:18px}.dashboard__metric-line{display:none}.dashboard__metric-label{grid-column:2;color:var(--color-text-strong);font-size:13px;font-weight:700}.dashboard__metric-desc{grid-column:2;color:var(--color-text-muted);font-size:12px;line-height:1.35}.dashboard__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:12px}.dashboard__next-card,.dashboard__actions,.dashboard__pending-card,.dashboard__week-card,.dashboard__booking-card,.dashboard__status-card{padding:15px}.dashboard__section-title{margin:0;color:var(--color-text-strong);font-size:16px;font-weight:700;line-height:1.25}.dashboard__next-card{position:relative;overflow:hidden;min-height:0;padding:17px;background:#fffffff0}.dashboard__next-card--empty{min-height:0}.dashboard__next-card--empty .dashboard__section-head{margin-bottom:20px}.dashboard__next-card--empty .dashboard__next-empty{grid-template-columns:78px minmax(0,1fr);gap:18px}.dashboard__next-card--empty .dashboard__next-illustration{width:78px;height:78px}.dashboard__next-card--empty .dashboard__next-illustration svg{width:38px;height:38px}.dashboard__next-card--empty .dashboard__next-patient{margin-top:8px;font-size:14px}.dashboard__next-card--empty .dashboard__primary-btn{min-height:46px;margin-top:20px;font-size:15px}.dashboard__next-card .dashboard__section-head{gap:12px;margin-bottom:15px;padding-bottom:12px}.dashboard__next-card .dashboard__icon{width:40px;height:40px;color:var(--color-primary-deep);border-color:#12a77c2e;background:var(--dashboard-green-soft)}.dashboard__next-card .dashboard__icon svg{width:21px;height:21px}.dashboard__next-card .dashboard__section-title{font-size:17px}.dashboard__next-feature,.dashboard__next-empty{display:grid;grid-template-columns:88px minmax(0,1fr);gap:18px;align-items:center;max-width:780px}.dashboard__next-illustration{display:inline-flex;align-items:center;justify-content:center;width:88px;height:88px;border-radius:50%;background:#12a77c17;color:var(--color-primary-deep);box-shadow:inset 0 0 0 1px #12a77c14}.dashboard__next-illustration svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.dashboard__next-detail{min-width:0}.dashboard__next-date{margin-bottom:5px;color:#6f7898;font-size:15px;font-weight:700;line-height:1.15}.dashboard__next-hour{color:var(--color-text-strong);font-size:32px;font-weight:750;line-height:1.05}.dashboard__next-time{color:var(--color-text-strong);font-size:16px;font-weight:700;line-height:1.25}.dashboard__next-patient{margin-top:5px;color:var(--color-text-muted);font-size:13px;font-weight:600;line-height:1.25}.dashboard__primary-btn,.dashboard__action-btn{min-height:38px;border-radius:8px;font-weight:700;cursor:pointer}.dashboard__primary-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:min(300px,100%);min-height:38px;margin-top:14px;padding:0 20px;border:1px solid var(--color-primary-deep);color:var(--color-primary-deep);background:#ffffffdb;font-size:14px;box-shadow:0 10px 18px #28a97914}.dashboard__primary-btn:hover{background:#12a77c14}.dashboard__actions-grid{display:grid;gap:8px}.dashboard__action-btn{width:100%;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--dashboard-card-border);background:#ffffffeb;color:var(--color-text-strong);text-align:left}.dashboard__action-btn:after{content:"›";margin-left:auto;color:var(--color-text-muted);font-size:18px;line-height:1}.dashboard__action-icon{width:30px;height:30px;flex:0 0 auto;color:var(--color-primary-deep)}.dashboard__action-btn:hover{border-color:#5f6c9842;background:#f8fafcd6}.dashboard__status-card{margin-top:14px}.dashboard__request-list{display:grid;gap:8px}.dashboard__request-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;min-height:40px;padding:7px 9px;border:1px solid var(--dashboard-card-border);border-radius:8px;background:linear-gradient(90deg,#fff,#7ac7ff14);color:var(--color-text-strong)}.dashboard__request-row:hover{border-color:#12a77c47;background:linear-gradient(90deg,#fff,#12a77c14)}.dashboard__request-info{display:grid;gap:3px;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.dashboard__request-info:hover{color:var(--color-primary-deep)}.dashboard__request-row span,.dashboard__request-info{display:grid;gap:3px;min-width:0}.dashboard__request-row strong,.dashboard__request-info strong{overflow:hidden;color:var(--color-text-strong);font-size:12px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.dashboard__request-row small,.dashboard__request-info small{overflow:hidden;color:var(--color-text-muted);font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.dashboard__request-row em{color:var(--color-primary-deep);font-size:12px;font-style:normal;font-weight:900}.dashboard__confirm-btn{min-height:28px;padding:0 8px;border:1px solid rgba(18,167,124,.28);border-radius:8px;background:#12a77c1a;color:var(--color-primary-deep);font-size:11px;font-weight:900;cursor:pointer}.dashboard__confirm-btn:hover{background:#12a77c29}.dashboard__confirm-btn:disabled{cursor:wait;opacity:.6}.dashboard__empty-text,.dashboard__hint{margin:0;color:var(--color-text-muted);font-size:14px;font-weight:500;line-height:1.5}.dashboard__insights{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:12px;margin-top:12px}.dashboard__week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.dashboard__week-day{display:grid;gap:6px;place-items:center;min-height:50px;padding:7px 5px;border:1px solid rgba(219,229,238,.96);border-radius:8px;background:#ffffffb8}.dashboard__week-day span{max-width:100%;overflow:hidden;color:var(--color-text-muted);font-size:11px;font-weight:900;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.dashboard__week-day strong{color:var(--color-text-strong);font-size:19px;font-weight:900;line-height:1}.dashboard__week-day--busy{box-shadow:inset 0 -3px #12a77c29}.dashboard__hint{margin-top:10px}.dashboard__booking-link{overflow:hidden;padding:10px 12px;border:1px solid rgba(95,108,152,.16);border-radius:8px;background:#f6f8ffdb;color:var(--color-secondary-strong);font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.dashboard__button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.dashboard__secondary-btn{min-height:34px;padding:0 14px;border:1px solid rgba(18,167,124,.26);border-radius:8px;background:#12a77c1a;color:var(--color-primary-deep);font-weight:700;cursor:pointer}.dashboard__secondary-btn:hover{border-color:#12a77c66;background:#12a77c26}.dashboard__message{margin:14px 0 0;padding:10px 12px;border:1px solid rgba(18,167,124,.22);border-radius:8px;background:#12a77c17;color:var(--color-primary-deep);font-size:13px;font-weight:800}.dashboard__week-card .dashboard__icon,.dashboard__booking-card .dashboard__icon,.dashboard__status-card .dashboard__icon{color:var(--color-secondary-strong);border-color:#7ac7ff3d;background:var(--dashboard-blue-soft)}.dashboard__booking-card .dashboard__icon{color:var(--color-primary-deep);border-color:#12a77c2e;background:var(--dashboard-green-soft)}.dashboard__status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dashboard__status-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;padding:10px;border:1px solid var(--dashboard-card-border);border-radius:8px;background:#ffffffa8}.dashboard__status-item span{color:var(--color-text-strong);font-size:21px;font-weight:900;line-height:1}.dashboard__status-item strong{grid-column:1;color:var(--color-text-muted);font-size:13px}.dashboard__status-item--attended{border-color:#12a77c2e;background:linear-gradient(90deg,#fff,#12a77c14)}.dashboard__status-item--no-show{border-color:#f973162e;background:linear-gradient(90deg,#fff,#f9731614)}.dashboard__status-item--cancelled{border-color:#ef7e7f38;background:linear-gradient(90deg,#fff,#ef7e7f14)}.dashboard__loading{display:flex;align-items:center;justify-content:center;min-height:220px;color:var(--color-text-muted);font-size:15px;font-weight:700}@media(max-width:860px){.dashboard__metrics,.dashboard__grid,.dashboard__insights,.dashboard__status-grid{grid-template-columns:1fr}.dashboard__hero{min-height:150px}.dashboard__next-card{padding:20px}.dashboard__next-feature,.dashboard__next-empty{grid-template-columns:110px minmax(0,1fr);gap:22px}.dashboard__next-illustration{width:110px;height:110px}.dashboard__next-illustration svg{width:54px;height:54px}.dashboard__next-date{font-size:16px}.dashboard__next-hour{font-size:34px}.dashboard__next-patient{font-size:14px}}@media(max-width:520px){.dashboard__hero,.dashboard__metric-card,.dashboard__next-card,.dashboard__actions,.dashboard__pending-card,.dashboard__week-card,.dashboard__booking-card,.dashboard__status-card{padding:16px}.dashboard__hero-title{font-size:23px}.dashboard__hero{min-height:170px}.dashboard__next-card{min-height:0;padding:22px 18px}.dashboard__next-card .dashboard__section-head{gap:14px;margin-bottom:26px;padding-bottom:18px}.dashboard__next-card .dashboard__icon{width:48px;height:48px}.dashboard__next-card .dashboard__icon svg{width:25px;height:25px}.dashboard__next-card .dashboard__section-title{font-size:18px}.dashboard__next-feature,.dashboard__next-empty{grid-template-columns:1fr;gap:18px;justify-items:start}.dashboard__next-illustration{width:112px;height:112px}.dashboard__next-illustration svg{width:56px;height:56px}.dashboard__next-date{font-size:16px}.dashboard__next-hour{font-size:34px}.dashboard__next-patient{margin-top:8px;font-size:14px}.dashboard__primary-btn{min-height:52px;margin-top:24px;font-size:14px}.dashboard__week-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}.appointments-page{width:100%;min-width:0;color:var(--color-text)}.appointments-page__top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.appointments-page__title{position:relative;margin:0;padding-bottom:8px;color:var(--color-text-strong);font-size:26px;line-height:1.15}.appointments-page__title:after{content:"";position:absolute;left:0;bottom:0;width:48px;height:3px;border-radius:999px;background:var(--color-accent)}.appointments-page__summary{margin:4px 0 0;color:var(--color-text-muted);font-size:14px}.appointments-page__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;flex-wrap:wrap}.appointments-page__button,.appointments-page__icon-button,.appointments-page__primary-button{height:36px;border-radius:8px;border:1px solid var(--color-border);background:#ffffffdb;color:var(--color-primary-strong);font-weight:700;cursor:pointer}.appointments-page__button:hover,.appointments-page__icon-button:hover{border-color:var(--color-accent-line);background:var(--color-accent-surface);color:var(--color-accent-strong)}.appointments-page__button,.appointments-page__primary-button{display:inline-flex;align-items:center;justify-content:center}.appointments-page__button{padding:0 13px}.appointments-page__icon-button{width:38px;display:inline-flex;align-items:center;justify-content:center;padding:0}.appointments-page__chevron{width:10px;height:10px;border-top:3px solid currentColor;border-right:3px solid currentColor;border-radius:1px}.appointments-page__chevron--left{transform:translate(2px) rotate(-135deg)}.appointments-page__chevron--right{transform:translate(-2px) rotate(45deg)}.appointments-page__primary-button{padding:0 13px;color:#fff;border:none;background:linear-gradient(135deg,var(--color-primary-deep),var(--color-primary));box-shadow:0 12px 22px #0474572e}.appointments-page__week-label{position:relative;min-height:38px;display:flex;align-items:center;gap:10px;padding:0 13px 0 12px;border-radius:10px;border:1px solid rgba(40,169,121,.24);background:linear-gradient(135deg,#fffffff5,#eefff9e0);color:var(--color-text-strong);font-weight:800;line-height:1;white-space:nowrap;box-shadow:0 10px 22px #28a9791c,inset 0 1px #ffffffe6}.appointments-page__week-label:before{content:"";width:22px;height:22px;flex:0 0 auto;border-radius:7px;background:linear-gradient(var(--color-primary-deep),var(--color-primary-deep)) 50% 7px / 12px 2px no-repeat,linear-gradient(var(--color-primary-deep),var(--color-primary-deep)) 7px 13px / 3px 3px no-repeat,linear-gradient(var(--color-primary-deep),var(--color-primary-deep)) 13px 13px / 3px 3px no-repeat,linear-gradient(var(--color-primary-deep),var(--color-primary-deep)) 7px 17px / 3px 3px no-repeat,linear-gradient(var(--color-primary-deep),var(--color-primary-deep)) 13px 17px / 3px 3px no-repeat,#d9f4e9eb;border:1px solid rgba(40,169,121,.28);box-shadow:inset 0 3px #12a77c52}.appointments-page__week-label:after{content:"";position:absolute;inset:-1px;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff9e}.appointments-page__mobile-days{display:none}.appointments-calendar-shell{width:100%;max-height:calc(100vh - 126px);min-height:420px;overflow:auto;border:1px solid var(--color-border);border-radius:8px;background:#fff;box-shadow:0 16px 34px var(--color-shadow)}.appointments-calendar{display:grid;grid-template-columns:64px repeat(7,minmax(118px,1fr));grid-template-rows:60px auto;width:100%;min-width:890px;background:#ffffffc7}.appointments-calendar__corner,.appointments-calendar__day-head{position:sticky;top:0;z-index:12;border-bottom:1px solid var(--color-border);background:#ffffffe0}.appointments-calendar__corner{left:0;z-index:14}.appointments-calendar__day-head{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-left:1px solid var(--color-border);color:var(--color-text-strong);text-align:center}.appointments-calendar__day-head strong{font-size:15px;text-transform:capitalize}.appointments-calendar__day-head span{font-size:13px;color:var(--color-text-muted)}.appointments-calendar__times{grid-column:1;position:relative;left:0;z-index:10;background:#ffffffdb}.appointments-calendar__time{height:var(--hour-height);padding:2px 10px 0 0;text-align:right;font-size:13px;line-height:1;color:var(--color-text-muted);border-bottom:1px solid rgba(20,30,70,.08)}.appointments-calendar__day{position:relative;min-height:calc(var(--hour-height) * var(--calendar-hour-count));border-left:1px solid var(--color-border)}.appointments-calendar__hour{display:block;width:100%;height:var(--hour-height);padding:0;border:none;border-bottom:1px solid rgba(20,30,70,.08);background:transparent;cursor:pointer;border-radius:0}.appointments-calendar__hour:hover{background:#64748b09;border-color:#141e4614}.appointment-block{position:absolute;left:6px;right:6px;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;padding:6px 28px 6px 10px;border-radius:8px;border:1px solid var(--appointment-status-color);background:color-mix(in srgb,var(--color-secondary-soft) 45%,white);color:var(--color-text-strong);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;text-align:left;cursor:pointer;overflow:hidden;box-shadow:0 1px 3px #10183c09;transition:border-color .18s ease,box-shadow .18s ease;--appointment-status-color: color-mix(in srgb, var(--color-secondary-strong) 55%, white)}.appointment-block:hover{border-color:var(--appointment-status-color);box-shadow:0 2px 6px #10183c12}.appointment-block--pending{background:color-mix(in srgb,var(--color-accent-surface) 80%,white);--appointment-status-color: color-mix(in srgb, var(--color-accent) 60%, white)}.appointment-block--attended{background:color-mix(in srgb,var(--color-primary-soft) 65%,white);--appointment-status-color: color-mix(in srgb, var(--color-primary) 60%, white)}.appointment-block--no_show{background:color-mix(in srgb,var(--color-danger-soft) 70%,white);--appointment-status-color: var(--color-danger)}.appointment-block--cancelled{background:#f8f9fa;text-decoration:line-through;--appointment-status-color: color-mix(in srgb, var(--color-text-muted) 55%, white)}.appointment-block__time{display:block;color:#526078;font-size:12px;font-weight:500;line-height:1}.appointment-block__name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-strong);font-size:14px;font-weight:600;line-height:1.08}.appointment-block__location{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#667085;font-size:11px;font-weight:400;line-height:1.05}.appointment-block__indicators{position:absolute;top:6px;right:8px;display:flex;flex-direction:column;align-items:center;gap:3px}.appointment-block__payment{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;color:#8a7041;background:transparent}.appointment-block__payment--paid{color:#497967;background:transparent}.appointment-block__payment--waived{color:#667085;background:transparent}.appointment-block__repeat{font-size:16px;font-weight:700;line-height:1;color:#667085}.appointments-mobile-list{display:none}.appointments-page__message{position:sticky;top:74px;z-index:30;display:flex;align-items:center;min-height:44px;margin:0 0 12px;padding:10px 14px;border-radius:8px;color:var(--color-text-strong);font-weight:800;line-height:1.35;box-shadow:0 12px 24px #10183c1f}.appointments-page__message--error{border:1px solid rgba(239,68,68,.36);background:#fef2f2fa;color:#991b1b}.appointments-page__message--success{border:1px solid rgba(16,185,129,.3);background:#ecfdf5fa;color:#065f46}.appointment-panel{position:fixed;inset:0;z-index:80}.appointment-panel__overlay{position:absolute;inset:0;background:#0d143057}.appointment-panel__body{--panel-padding: 24px;position:absolute;top:0;right:0;width:min(420px,100vw);height:100%;display:flex;flex-direction:column;padding:0;overflow:hidden;background:var(--color-bg);box-shadow:-18px 0 44px #0a122d38}.appointment-panel__header{flex-shrink:0;padding:20px var(--panel-padding) 14px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:0}.appointment-panel__content{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px var(--panel-padding) 24px;scrollbar-gutter:stable}.appointment-panel__footer{flex-shrink:0;padding:14px var(--panel-padding) max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:var(--color-bg);box-shadow:0 -5px 18px #0a122d0d}.appointment-panel__footer .appointment-panel__actions{margin:0}.appointment-panel__footer button{min-height:42px}.appointment-panel__header h2{margin:0;color:var(--color-text-strong);font-size:24px;font-weight:600}.appointment-panel__header p{margin:4px 0 0;color:var(--color-text-muted)}.appointment-panel__close{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--color-border);background:#fff;color:var(--color-text-strong);font-size:18px;font-weight:400;line-height:1;cursor:pointer}.appointment-panel__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.appointment-panel__field{display:flex;flex-direction:column;gap:7px;margin-bottom:12px;color:var(--color-text-strong);font-size:13px;font-weight:500}.appointment-panel__field input,.appointment-panel__field select,.appointment-panel__field textarea{width:100%;min-width:0;border:1px solid var(--color-border);border-radius:8px;background:#ffffffeb;color:var(--color-text);font:inherit;font-weight:400}.appointment-panel__field input,.appointment-panel__field select{height:42px;padding:0 12px}.appointment-panel__field textarea{padding:10px 12px;resize:vertical}.appointment-panel__details-card{margin:2px 0 12px;padding:14px;border:1px solid var(--color-border);border-radius:8px;background:#ffffff85}.appointment-panel__details-card>.appointment-panel__field:last-child{margin-bottom:0}.appointment-panel__billing{margin:2px 0 12px;padding:12px;border:1px solid rgba(18,167,124,.18);border-radius:8px;background:#12a77c0f}.appointment-panel__time-picker{position:relative}.appointment-panel__time-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:42px;padding:0 12px;border:1px solid var(--color-border);border-radius:8px;background:#ffffffeb;color:var(--color-text);font:inherit;font-weight:400;text-align:left;cursor:pointer}.appointment-panel__time-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1.5px solid currentColor;border-radius:50%;color:var(--color-text-strong);font-size:0}.appointment-panel__time-icon:before{width:1px;height:5px;background:currentColor;content:"";transform:translate(2px,-1px)}.appointment-panel__time-menu{position:absolute;z-index:20;top:calc(100% + 6px);right:0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;width:196px;max-width:min(196px,calc(100vw - 40px));max-height:248px;padding:4px;overflow:hidden;border:1px solid var(--color-border);border-radius:8px;background:#fff;box-shadow:0 18px 36px #141e4624}.appointment-panel__time-column{display:flex;flex-direction:column;gap:2px;max-height:238px;overflow-y:auto}.appointment-panel__time-column--meridiem{overflow:visible}.appointment-panel__time-option{min-height:34px;border:0;border-radius:6px;background:transparent;color:var(--color-text-strong);font:inherit;font-weight:400;cursor:pointer}.appointment-panel__time-option:hover,.appointment-panel__time-option--active{background:var(--color-accent-surface);color:var(--color-accent-strong)}.appointment-panel__check{display:flex;align-items:center;gap:8px;margin:4px 0 18px;color:var(--color-text-strong);font-size:13px;font-weight:400}.appointment-panel__check--compact{margin:0 0 12px;font-size:12px}.appointment-panel__actions,.appointment-panel__notify-options{display:flex;gap:8px;flex-wrap:wrap}.appointment-panel__actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:14px;margin-inline:15px}.appointment-panel__secondary{display:grid;margin-inline:15px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.appointment-panel__save,.appointment-panel__ghost,.appointment-panel__secondary button,.appointment-panel__notify-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border-radius:8px;padding:0 12px;border:1px solid transparent;font:inherit;font-size:13px;font-weight:500;line-height:1.1;text-align:center;cursor:pointer}.appointment-panel__save{color:#fff;border:none;background:linear-gradient(135deg,var(--color-primary-deep),var(--color-primary));font-weight:600}.appointment-panel__ghost,.appointment-panel__secondary button{border:1px solid var(--color-border);background:#fff;color:var(--color-text-strong)}.appointment-panel__notify,.appointment-panel__status-card{margin-top:20px;padding:14px;border:1px solid var(--color-border);border-radius:8px;background:#ffffff85}.appointment-panel__hint{margin:8px 0 0;color:var(--color-text-muted);font-size:12px;line-height:1.45}.appointment-panel__email-label{display:flex;align-items:center;gap:7px;margin-top:8px;color:var(--color-text-muted);font-size:12px}.appointment-panel__more{margin:20px 15px 0;padding-top:14px;border-top:1px solid var(--color-border)}.appointment-panel__more summary{padding:8px 0;color:var(--color-text-muted);font-size:13px;font-weight:500;cursor:pointer}.appointment-panel__more-content{padding-top:8px}.appointment-panel__more-summary{display:block;margin-top:5px;font-size:12px;font-weight:400}.appointment-panel__text-action{display:block;min-height:36px;padding:6px 0;border:0;background:transparent;color:var(--color-primary-deep);font:inherit;font-size:13px;font-weight:500;text-align:left;cursor:pointer}.appointment-panel__text-action:hover{text-decoration:underline}.appointment-panel__text-action--danger{margin-top:14px;color:#b91c1c}.appointment-panel__text-action:disabled,.appointment-panel__save:disabled{opacity:.55;cursor:wait}.appointment-panel__section-title{margin-bottom:12px;color:var(--color-text-strong);font-size:12px;font-weight:600}.appointment-panel__choice{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 10px;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:var(--color-text-strong);font-size:12px;font-weight:750;cursor:pointer}.appointment-panel__choice-icon{width:14px;height:14px;flex:0 0 auto;object-fit:contain}.appointment-panel__choice:has(input:disabled){cursor:not-allowed;opacity:.58}.appointment-panel__soon{border-radius:999px;padding:2px 7px;background:var(--color-surface-soft);color:var(--color-text-muted);font-size:11px;font-weight:800}.appointment-panel__notify-button{width:100%;margin-top:12px;border:none;color:#fff;background:linear-gradient(135deg,var(--color-primary-deep),var(--color-primary))}.appointment-panel__notify-button:disabled{cursor:not-allowed;opacity:.56}.appointment-panel__notify-message{margin:10px 0 0;color:var(--color-text-strong);font-size:12px;font-weight:400;line-height:1.35}.appointment-panel__secondary{margin-top:20px;padding-top:18px;border-top:1px solid var(--color-border)}.appointment-panel__secondary button{width:100%}.appointment-panel__secondary .appointment-panel__danger{border-color:#ef444447;color:#b91c1c;background:#fee2e2bd}@media(max-width:899px){.appointments-page{display:flex;flex-direction:column;flex:1;min-height:0;padding-bottom:0}.appointments-page__top,.appointments-page__mobile-days,.appointments-page__message{flex-shrink:0}.appointments-page__top{align-items:flex-start;flex-direction:column;gap:12px}.appointments-page__title{font-size:26px}.appointments-page__actions{width:100%;justify-content:flex-start;gap:8px}.appointments-page__week-label{order:-1;width:100%;justify-content:center;min-height:46px;font-size:15px}.appointments-page__primary-button{margin-left:auto}.appointments-page__mobile-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:12px}.appointments-page__day-pill{min-width:0;height:58px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--color-text);cursor:pointer}.appointments-page__day-pill span,.appointments-page__day-pill strong{display:block}.appointments-page__day-pill span{font-size:11px;color:var(--color-primary-strong);text-transform:capitalize}.appointments-page__day-pill strong{margin-top:3px;font-size:17px}.appointments-page__day-pill--selected{color:#fff;border-color:#28a97938;background:linear-gradient(135deg,var(--color-primary-deep),var(--color-primary));box-shadow:0 10px 18px #0474572e}.appointments-page__day-pill--selected span{color:#ffffffe0}.appointments-calendar,.appointments-calendar-shell{display:none}.appointments-mobile-list{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;border-top:1px solid var(--color-border)}.appointments-mobile-list__row{flex-shrink:0;display:grid;grid-template-columns:52px minmax(0,1fr);min-height:58px;border-bottom:1px solid rgba(20,30,70,.08)}.appointments-mobile-list__time{padding-top:14px;color:var(--color-text-muted);font-size:12px}.appointments-mobile-list__items{padding:8px 0}.appointments-mobile-list__empty{width:100%;min-height:42px;border:1px dashed rgba(40,169,121,.18);border-radius:7px;background:#ffffff75;color:var(--color-text-muted);text-align:left;padding:0 12px;cursor:pointer}.appointment-block--mobile{position:relative;left:auto;right:auto;width:100%;min-height:68px}}@media(max-width:520px){.appointments-page__week-label{justify-content:flex-start;padding-right:12px;font-size:13px}.appointments-page__week-label:before{width:20px;height:20px;border-radius:6px}.appointment-panel__body{--panel-padding: 18px}.appointment-panel__grid{grid-template-columns:1fr}}.patient-history{width:100%;max-width:920px;margin:0 auto;color:var(--color-text)}.patient-history__top{position:relative;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.patient-history__top:after{content:"";position:absolute;left:0;bottom:-2px;width:56px;height:3px;border-radius:999px;background:var(--color-accent)}.patient-history__back{width:auto;min-height:36px;margin-bottom:12px;padding:0 12px;border-radius:8px;background:#fff}.patient-history__top h1{margin:0;color:var(--color-text-strong);font-size:30px;line-height:1.15}.patient-history__top p{margin:4px 0 0;color:var(--color-text-muted)}.patient-history__summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.patient-history__summary div{padding:14px;border:1px solid var(--color-border);border-radius:8px;background:#fff}.patient-history__summary strong{display:block;color:var(--color-text-strong);font-size:26px;line-height:1}.patient-history__summary span{display:block;margin-top:5px;color:var(--color-text-muted);font-size:13px}.patient-history__list{margin:0;padding:0;list-style:none;border:1px solid var(--color-border);border-radius:8px;background:#fff}.patient-history__item{display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px;padding:14px 16px;border-bottom:1px solid var(--color-border)}.patient-history__item:last-child{border-bottom:none}.patient-history__item strong{display:block;color:var(--color-text-strong);font-size:15px}.patient-history__item span,.patient-history__item p{color:var(--color-text-muted);font-size:13px}.patient-history__item p{margin:6px 0 0;line-height:1.4}.patient-history__status{display:inline-flex;align-items:center;justify-content:center;align-self:start;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--color-accent-line);background:var(--color-accent-surface);color:var(--color-accent-strong);font-size:12px;font-weight:800}.patient-history__status--attended{border-color:#10b98142;background:#d1fae5b8;color:#047857}.patient-history__status--no_show{border-color:#ef44443d;background:#fee2e2b3;color:#b91c1c}.patient-history__status--cancelled{border-color:#64748b3d;background:#e2e8f0b8;color:#64748b}.patient-history__message,.patient-history__empty{margin:0;padding:12px 14px;border:1px solid var(--color-border);border-radius:8px;background:#ffffffc7;color:var(--color-text-strong)}@media(max-width:720px){.patient-history__summary,.patient-history__item{grid-template-columns:1fr}}.patients-page{width:100%;max-width:980px;margin:0 auto;padding:0;color:var(--color-text)}.patients-page__title{position:relative;margin-top:0;margin-bottom:8px;padding-bottom:8px;font-size:25px;color:var(--color-text-strong)}.patients-page__title:after{content:"";position:absolute;left:0;bottom:0;width:48px;height:3px;border-radius:999px;background:var(--color-accent)}.patients-page__searchbar{margin-bottom:14px}.patients-page__input--search{min-height:42px;border-width:2px}.patients-page__description{margin:0 0 14px;font-size:14px;color:var(--color-text-muted);line-height:1.4}.patients-page__form,.patients-page__grid{display:grid;gap:10px}.patients-page__form{margin-bottom:14px}.patients-page__input{width:100%;border:1px solid var(--color-border);border-radius:8px;padding:9px 11px;font-size:14px;background:var(--color-surface);color:var(--color-text)}.patients-page__input:focus{border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-soft)}.patients-page__textarea{min-height:76px;resize:vertical}.patients-page__btn{width:100%;border:1px solid var(--color-border);border-radius:8px;padding:9px 11px;font-size:14px;font-weight:600;background:#fff;color:var(--color-text-strong);cursor:pointer}.patients-page__btn--primary{background:linear-gradient(135deg,var(--color-primary-deep),var(--color-primary));color:#fff;border-color:var(--color-primary)}.patients-page__btn:hover,.patients-page__item-delete:hover{filter:brightness(.96)}.patients-page__btn:disabled{cursor:not-allowed;opacity:.72}.patients-page__list{margin:0;padding:0;display:grid;gap:12px;list-style:none}.patients-page__card{padding:14px;border:1px solid var(--color-border);border-radius:8px;background:#fff;box-shadow:none}.patients-page__card-header{display:grid;gap:12px}.patients-page__item-info,.patients-page__upcoming{display:flex;flex-direction:column;gap:4px;min-width:0}.patients-page__item-info strong,.patients-page__upcoming strong{font-size:16px;color:var(--color-text);overflow-wrap:anywhere;text-transform:capitalize}.patients-page__item-info span,.patients-page__upcoming span,.patients-page__meta span{font-size:13px;color:var(--color-text-muted);opacity:.92}.patients-page__contact-line{display:inline-flex;align-items:center;gap:6px;min-width:0;overflow-wrap:anywhere}.patients-page__contact-line img{width:15px;height:15px;flex:0 0 auto;object-fit:contain}.patients-page__billing-line{color:var(--color-text-muted);font-size:12px;font-weight:800}.patients-page__billing-line--due{color:var(--color-primary-deep)}.patients-page__upcoming-label{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-accent-strong)}.patients-page__card-actions,.patients-page__section-actions{display:grid;gap:8px}.patients-page__section-actions{margin-top:12px}.patients-page__item-delete{border:1px solid #f1a5a5;background:var(--color-danger-soft);color:#af4444;border-radius:8px;padding:8px 10px;font-size:14px;cursor:pointer}.patients-page__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.patients-page__meta span{padding:6px 10px;border-radius:999px;background:var(--color-accent-surface);border:1px solid var(--color-accent-line)}.patients-page__editor{display:grid;gap:14px;margin-top:16px}.patients-page__section{padding:14px;border-radius:14px;background:var(--color-surface-soft);border:1px solid var(--color-border)}.patients-page__section--agenda{background:linear-gradient(180deg,#ffffffe6,#f3f9faf2)}.patients-page__section-head{margin-bottom:12px}.patients-page__section-head--billing{margin-top:14px}.patients-page__section-head h2{margin:0 0 4px;font-size:18px;color:var(--color-text-strong)}.patients-page__section-head p{margin:0;font-size:14px;color:var(--color-text-muted)}.patients-page__empty,.patients-page__msg{background:var(--color-surface-soft);color:var(--color-text-strong);border-radius:10px;padding:10px 12px;border:1px solid var(--color-border);margin-top:6px}.patients-page__inline-msg{margin:10px 0 0;border:1px solid var(--color-border);border-radius:10px;padding:10px 12px;background:#fff;color:var(--color-text-strong);font-size:14px}@media(min-width:768px){.patients-page__form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.patients-page__form .patients-page__btn--primary,.patients-page__form .patients-page__btn{width:auto}.patients-page__card-header{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:start}.patients-page__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.patients-page__grid .patients-page__textarea{grid-column:1 / -1}.patients-page__grid--appointment{grid-template-columns:repeat(4,minmax(0,1fr))}.patients-page__grid--appointment .patients-page__textarea{grid-column:1 / -1}.patients-page__section-actions,.patients-page__card-actions{display:flex;flex-wrap:wrap}.patients-page__section-actions{justify-content:flex-start}.patients-page__card-actions{justify-content:flex-end}.patients-page__section-actions .patients-page__btn,.patients-page__card-actions .patients-page__btn{width:auto}}.availability-page{width:100%;max-width:980px;margin:0 auto;padding:0;color:var(--color-text)}.availability-page__card{display:grid;gap:16px;margin-bottom:18px;padding:18px;border:1px solid var(--color-border);border-radius:8px;background:#fff;box-shadow:0 12px 30px var(--color-shadow)}.availability-page__card--range{gap:18px}.availability-page__section-head,.availability-page__section-toolbar{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.availability-page__section-head{justify-content:flex-start}.availability-page__section-icon{display:inline-grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary-deep);font-size:12px;font-weight:800}.availability-page__section-title{margin:0 0 2px;color:var(--color-text-strong);font-size:20px;line-height:1.2}.availability-page__section-help{margin:0;color:var(--color-text-muted);font-size:13px;line-height:1.35}.availability-page__range-grid,.availability-page__form{display:grid;gap:12px;align-items:end}.availability-page__field{display:flex;min-width:0;flex-direction:column;gap:7px;color:var(--color-text-strong);font-size:12px;font-weight:800}.availability-page__select{width:100%;min-height:42px;border:1px solid var(--color-border);border-radius:8px;padding:9px 12px;background:var(--color-surface);color:var(--color-text);font-size:14px}.availability-page__select:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px #47dba924}.availability-page__refresh{width:auto;min-width:108px;flex:0 0 auto}.availability-page__days{display:grid;overflow:hidden;border:1px solid rgba(207,232,220,.78);border-radius:8px;background:#fff}.availability-page__day-row{display:grid;grid-template-columns:42px minmax(90px,.7fr) minmax(0,1.4fr) auto;gap:12px;align-items:center;min-height:58px;padding:10px 14px;border-bottom:1px solid rgba(207,232,220,.72)}.availability-page__day-row:last-child{border-bottom:0}.availability-page__day-badge{display:inline-grid;width:34px;height:34px;place-items:center;border-radius:8px;background:#e7f7f0;color:var(--color-text-strong);font-size:11px;font-weight:800}.availability-page__day-name{min-width:0;color:var(--color-text-strong);font-size:14px}.availability-page__day-hours{display:flex;min-width:0;flex-wrap:wrap;gap:7px;align-items:center;color:var(--color-text);font-size:13px;font-weight:700}.availability-page__time-pill,.availability-page__empty-pill{display:inline-flex;align-items:center;min-height:26px;border-radius:8px;padding:4px 9px;overflow-wrap:anywhere}.availability-page__time-pill{background:#f5fbf8;color:var(--color-text)}.availability-page__time-pill--off,.availability-page__empty-pill{background:var(--color-surface-soft);color:var(--color-text-muted)}.availability-page__empty-pill:before{content:"";width:4px;height:4px;margin-right:7px;border-radius:50%;background:currentColor;opacity:.7}.availability-page__day-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end}.availability-page__switch{position:relative;width:34px;height:20px;border:0;border-radius:999px;padding:0;background:#c6ccd9}.availability-page__switch span{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #101d3f29;transition:transform .2s ease}.availability-page__switch--on{background:var(--color-primary-deep)}.availability-page__switch--on span{transform:translate(14px)}.availability-page__icon-btn{min-width:58px;border-color:#cfe8dceb;padding:7px 9px;background:#fff;color:var(--color-text);font-size:12px}.availability-page__icon-btn--danger{border-color:#f1b4b4;color:#d94848}@media(min-width:768px){.availability-page__range-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(180px,.75fr)}.availability-page__form{grid-template-columns:minmax(150px,.9fr) minmax(150px,.9fr) minmax(150px,.9fr) minmax(126px,.7fr) auto}.availability-page__form .patients-page__btn,.availability-page__range-grid .patients-page__btn{width:auto;min-height:42px}}@media(max-width:767px){.availability-page__card{padding:14px}.availability-page__section-toolbar{display:grid}.availability-page__refresh{width:100%}.availability-page__day-row{grid-template-columns:38px minmax(0,1fr);gap:8px 10px}.availability-page__day-hours,.availability-page__day-actions{grid-column:2}.availability-page__day-actions{justify-content:flex-start}}.profile-page{max-width:840px;margin:0 auto;padding:1rem}.profile-page__header{margin-bottom:1.35rem;text-align:center}.profile-page__title{position:relative;display:inline-block;font-size:1.65rem;margin:0 0 .55rem;padding-bottom:.45rem;color:var(--color-text-strong)}.profile-page__title:after{content:"";position:absolute;left:50%;bottom:0;width:48px;height:3px;border-radius:999px;background:var(--color-accent);transform:translate(-50%)}.profile-page__description{font-size:.92rem;color:var(--color-text-muted);margin:0}.profile-page__form{background:#fff;border-radius:8px;padding:1.35rem;border:1px solid var(--color-border);box-shadow:0 12px 30px var(--color-shadow)}.profile-page__photo-section{display:flex;align-items:center;gap:.85rem;margin-bottom:1.1rem;flex-wrap:wrap}.profile-page__photo-frame{width:88px;height:88px;border-radius:8px;overflow:hidden;border:1px solid var(--color-accent-line);background:var(--color-accent-surface);display:flex;align-items:center;justify-content:center}.profile-page__photo{width:100%;height:100%;object-fit:cover}.profile-page__photo-placeholder{font-size:1.55rem;font-weight:800;color:var(--color-text-strong)}.profile-page__photo-actions{display:flex;gap:.75rem;flex-wrap:wrap}.profile-page__input,.profile-page__textarea{width:100%;padding:.62rem;margin-bottom:.8rem;border:1px solid var(--color-border);border-radius:8px;font-size:.92rem;font-family:inherit;background:var(--color-surface);color:var(--color-text)}.profile-page__input:focus,.profile-page__textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-soft)}.profile-page__textarea{resize:vertical}.profile-page__addresses{margin-bottom:.5rem}.profile-page__section{margin-bottom:.85rem}.profile-page__section-label{margin:0 0 .75rem;font-size:.95rem;font-weight:700;color:var(--color-text-strong)}.profile-page__toggle{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;color:var(--color-text-strong);font-weight:500}.profile-page__reminder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.profile-page__reminder-card{margin-top:.25rem;padding:.9rem;border:1px solid var(--color-accent-line);border-radius:12px;background:#fff4e87a}.profile-page__reminder-help{margin:0 0 .75rem;font-size:.92rem;color:var(--color-text-muted);line-height:1.35}.profile-page__booking-section{padding:1rem;border:1px solid var(--color-border);border-radius:8px;background:#ffffff94}.profile-page__booking-grid{display:grid;grid-template-columns:minmax(220px,260px);gap:.75rem}.profile-page__booking-grid label{color:var(--color-text-strong);font-size:.92rem;font-weight:700}.profile-page__booking-grid small{display:block;margin-top:-.35rem;color:var(--color-text-muted);font-size:.82rem;font-weight:600;line-height:1.35}.profile-page__booking-grid .profile-page__input{margin-top:.35rem}.profile-page__booking-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center;margin-top:.45rem;padding:.75rem;border-radius:8px;background:var(--color-primary-soft)}.profile-page__booking-link strong,.profile-page__booking-link p,.profile-page__booking-link span{display:block}.profile-page__booking-link strong{margin-bottom:.25rem;color:var(--color-text-strong);font-size:.86rem}.profile-page__booking-link p{margin:0 0 .45rem;color:var(--color-text-muted);font-size:.84rem;font-weight:600;line-height:1.35}.profile-page__booking-link span{overflow-wrap:anywhere;color:var(--color-primary-deep);font-size:.92rem;font-weight:700}.profile-page__actions{display:flex;gap:1rem;margin-top:1.5rem}.profile-page__btn{padding:.75rem 1.5rem;border:1px solid var(--color-border);background:#fff;color:var(--color-text);border-radius:10px;cursor:pointer;font-size:1rem;transition:all .2s}.profile-page__btn--file{display:inline-flex;align-items:center;justify-content:center}.profile-page__btn:hover{background:var(--color-surface-soft);border-color:var(--color-primary-soft)}.profile-page__btn--primary{background:linear-gradient(135deg,var(--color-primary-deep),var(--color-primary));color:#fff;border-color:var(--color-primary)}.profile-page__btn--primary:hover{background:linear-gradient(135deg,var(--color-primary-deep),var(--color-primary));border-color:var(--color-primary)}.profile-page__msg{margin-top:1rem;padding:.75rem;background:var(--color-success-soft);color:#17654d;border-radius:10px;font-size:.9rem}.profile-page__danger-zone{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.profile-page__danger-help{margin:-.35rem 0 1rem;color:var(--color-text-muted);font-size:.92rem;line-height:1.4}.profile-page__danger-input{margin-bottom:.75rem}.profile-page__btn--danger{color:#7a3d32;border-color:#e5b8ad;background:#fff8f5}.profile-page__btn--danger:hover{color:#653026;border-color:#d79a8d;background:#fff3ee}@media(max-width:768px){.profile-page{padding:1rem}.profile-page__form{padding:1.5rem}.profile-page__actions{flex-direction:column}.profile-page__reminder-grid,.profile-page__booking-grid,.profile-page__booking-link{grid-template-columns:1fr}.profile-page__btn{width:100%}}.login-page{position:relative;height:100vh;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(380px,.94fr);overflow:hidden;background:radial-gradient(circle at 80% 14%,rgba(16,24,60,.1),transparent 28%),linear-gradient(180deg,#eef2ff,#f5f7ff);color:var(--color-text)}.login-page__home-link{position:fixed;top:18px;right:18px;z-index:5;display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.38);border-radius:50%;background:#10183c9e;color:#fff;font-size:25px;font-weight:900;line-height:1;box-shadow:0 12px 28px #10183c2e}.login-page__home-link:hover{background:#10183cd1;color:#fff}.login-page__visual{position:relative;height:100vh;overflow:hidden;background:#17223f}.login-page__image{width:100%;height:100%;object-fit:cover;object-position:46% center;display:block}.login-page__visual-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0912289e,#09122829 58%,#09122808),linear-gradient(0deg,rgba(9,18,40,.42),transparent 48%)}.login-page__visual-copy{position:absolute;left:clamp(26px,5.2vw,64px);bottom:clamp(28px,7vh,72px);width:min(400px,calc(100% - 52px));color:#fff}.login-page__eyebrow{display:inline-flex;margin-bottom:10px;padding:5px 8px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:#10183c94;font-size:10px;font-weight:900;text-transform:uppercase}.login-page__visual-copy h2{max-width:11ch;margin:0;font-size:32px;line-height:1.05;color:#fff}.login-page__visual-copy p{max-width:390px;margin:12px 0 0;color:#ffffffd6;font-size:13px;line-height:1.55}.login-page__panel{display:flex;align-items:center;justify-content:center;min-width:0;height:100vh;overflow-y:auto;padding:24px}.login-card{width:min(100%,455px);padding:22px;border:1px solid rgba(31,42,95,.16);border-radius:8px;background:#ffffffeb;box-shadow:0 24px 54px #10183c29;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.login-card__brand{display:flex;align-items:center;gap:12px;margin-bottom:16px}.login-card__logo{width:48px;height:48px;flex:0 0 auto;border-radius:50%;object-fit:cover;box-shadow:0 0 0 4px #10183c14,0 14px 28px #10183c29}.login-card__brand h1{margin:0;color:#10183c;font-size:27px;line-height:1.05}.login-card__brand p{margin:4px 0 0;color:var(--color-text-muted);font-size:12px}.login-card__form{display:grid;gap:9px}.login-card__actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.login-card__action{min-height:38px;border-radius:8px;font-weight:800}.login-card__action{border-color:transparent;color:#fff}.login-card__action--login{background:linear-gradient(135deg,#10183c,#1f2a5f);box-shadow:0 12px 24px #10183c2e}.login-card__action--register{background:linear-gradient(135deg,var(--color-primary-deep),var(--color-primary));box-shadow:0 12px 24px #0474572e}.login-card__field{width:100%;min-height:36px;padding:0 11px;border:1px solid rgba(31,42,95,.18);border-radius:8px;background:#fffffff0;color:var(--color-text)}.login-card__password-field{position:relative}.login-card__password-field .login-card__field{padding-right:46px}.login-card__password-toggle{position:absolute;top:50%;right:7px;width:32px;height:32px;min-height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;box-shadow:none;transform:translateY(-50%)}.login-card__password-toggle:active,.login-card__password-toggle:focus,.login-card__password-toggle:focus-visible,.login-card__password-toggle:hover,.login-card__password-toggle--active{border-color:transparent;background:transparent;box-shadow:none;outline:none;transform:translateY(-50%)}.login-card__password-toggle img{width:21px;height:21px;object-fit:contain;opacity:.72;pointer-events:none}.login-card__password-toggle:hover img,.login-card__password-toggle--active img{opacity:1}.login-card__textarea{min-height:76px;padding:11px 13px;resize:vertical}.login-card__field:focus{border-color:#1f2a5f;box-shadow:0 0 0 4px #1f2a5f1f}.login-card__forgot{justify-self:start;min-height:auto;padding:0;border:0;border-radius:0;background:transparent;color:var(--color-text-muted);font-size:12px;font-weight:800;box-shadow:none}.login-card__forgot:hover{color:var(--color-text-strong);background:transparent}.login-card__forgot:disabled{cursor:not-allowed;opacity:.6}.login-card__file{display:grid;gap:8px;color:var(--color-text-strong);font-weight:700}.login-card__preview{width:76px;height:76px;border-radius:8px;object-fit:cover}.login-card__action:disabled{cursor:not-allowed;opacity:.64}.login-card__msg{margin:2px 0 0;padding:8px 10px;border:1px solid rgba(95,108,152,.18);border-radius:8px;background:#f8fafcc7;color:var(--color-text-muted);font-size:12px;font-weight:700;line-height:1.4}@media(max-width:940px){.login-page{height:auto;min-height:100vh;grid-template-columns:1fr;overflow:visible}.login-page__visual{height:280px;min-height:0}.login-page__image{min-height:0}.login-page__visual-copy h2{max-width:14ch;font-size:30px}.login-page__panel{align-items:flex-start;height:auto;min-height:0;overflow:visible;padding:20px}}@media(max-width:560px){.login-page__visual,.login-page__image{min-height:230px}.login-page__visual-copy{left:20px;bottom:22px;width:calc(100% - 40px)}.login-page__visual-copy h2{font-size:27px}.login-page__visual-copy p{display:none}.login-page__panel{padding:14px}.login-card{padding:20px}.login-card__brand h1{font-size:25px}.login-card__actions{grid-template-columns:1fr}}.home-page{min-height:100vh;padding:0 0 42px;background:#f7f9ff;color:var(--color-text)}.home-page__header{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:116px;margin:0 auto;gap:18px;border:0;border-radius:0;padding:18px max(26px,calc((100vw - 1060px)/2));overflow:hidden;background:linear-gradient(135deg,#10183c,#172154);box-shadow:0 14px 34px #101d3f2e}.home-page__brand{display:inline-flex;align-items:center;gap:12px;color:#fff;font-size:24px;font-weight:900}.home-page__brand img{width:44px;height:44px;border-radius:50%;object-fit:cover}.home-page__nav{display:flex;align-items:center;gap:10px}.home-page__nav a{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:0 20px;background:#ffffff1a;color:#fff;font:inherit;font-size:15px;font-weight:900;cursor:pointer}.home-page__nav-primary{border-color:var(--color-primary-deep);background:var(--color-primary-deep);color:#fff}.home-page__nav a:hover{border-color:#ffffff57;background:#ffffff24;color:#fff}.home-page__play-icon{width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid currentColor}.home-page__main{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.88fr);gap:46px;align-items:center;width:min(1060px,100%);margin:0 auto;padding:74px 26px 54px}.home-page__hero{min-width:0}.home-page__eyebrow{margin:0 0 14px;color:var(--color-primary-deep);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.home-page__hero h1{margin:0;color:var(--color-text-strong);font-size:clamp(40px,4.4vw,60px);line-height:1.06}.home-page__intro{max-width:480px;margin:18px 0 0;color:var(--color-text);font-size:15px;line-height:1.55}.home-page__actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 0}.home-page__cta{display:inline-flex;min-height:46px;align-items:center;justify-content:center;border:1px solid rgba(15,23,42,.14);border-radius:14px;padding:0 22px;background:#fff;color:var(--color-text-strong);font-size:14px;font-weight:900;box-shadow:0 12px 26px #101d3f14}.home-page__cta--primary{border-color:var(--color-primary-deep);background:var(--color-primary-deep);color:#fff}.home-page__cta:hover{box-shadow:0 16px 34px #101d3f24}.home-page__cta--primary:hover{color:#fff}.home-page__free-note{display:inline-flex;width:fit-content;max-width:100%;margin:14px 0 0;border:1px solid rgba(0,122,92,.18);border-radius:999px;padding:8px 13px;background:#007a5c14;color:var(--color-primary-deep);font-size:12px;font-weight:900;line-height:1.3}.home-page__trust{display:flex;align-items:center;gap:10px;margin:22px 0 0;color:var(--color-text-muted);font-size:12px;font-weight:800}.home-page__trust span{position:relative;display:inline-flex;width:18px;height:18px;flex:0 0 auto;border:2px solid var(--color-primary-deep);border-radius:5px}.home-page__trust span:after{content:"";position:absolute;left:4px;top:2px;width:5px;height:9px;border:solid var(--color-primary-deep);border-width:0 2px 2px 0;transform:rotate(42deg)}.home-page__preview-group{min-width:0;width:min(560px,100%);justify-self:end}.home-page__preview{position:relative;display:block;width:100%;min-height:0;overflow:hidden;aspect-ratio:16 / 10;border:1px solid rgba(207,232,220,.95);border-radius:28px;padding:0;background:#fff;box-shadow:0 28px 70px #101d3f29}.home-page__preview:hover{box-shadow:0 34px 82px #101d3f33}.home-page__preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.home-page__preview-play{position:absolute;left:50%;top:50%;display:inline-flex;width:78px;height:78px;align-items:center;justify-content:center;border-radius:50%;background:#ffffffeb;color:var(--color-primary-deep);box-shadow:0 18px 38px #101d3f3d;transform:translate(-50%,-50%)}.home-page__preview:hover .home-page__preview-play{background:#fff}.home-page__preview-caption{margin:12px 4px 0;color:var(--color-text-muted);font-size:14px;font-weight:500;line-height:1.45;text-align:left}.home-page__info,.home-page__workflow,.home-page__closing{width:min(1060px,100%);margin:0 auto;padding:30px 26px}.home-page__section-heading{max-width:720px}.home-page__section-heading h2,.home-page__workflow h2,.home-page__closing h2{margin:0;color:var(--color-text-strong);font-size:clamp(28px,3vw,40px);line-height:1.12}.home-page__section-heading p:not(.home-page__eyebrow){margin:14px 0 0;color:var(--color-text-muted);font-size:15px;line-height:1.6}.home-page__features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:28px 0 0}.home-page__feature{min-height:230px;border:1px solid rgba(207,232,220,.95);border-radius:8px;padding:22px;background:#fff;box-shadow:0 18px 44px #101d3f14}.home-page__feature span{display:inline-flex;margin:0 0 28px;color:var(--color-primary-deep);font-size:13px;font-weight:900}.home-page__feature h3{margin:0;color:var(--color-text-strong);font-size:19px}.home-page__feature p{margin:12px 0 0;color:var(--color-text-muted);font-size:14px;line-height:1.55}.home-page__workflow{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:34px;align-items:start}.home-page__steps{display:grid;gap:12px;margin:0;padding:0;list-style:none}.home-page__steps li{border-left:3px solid var(--color-primary-deep);padding:4px 0 4px 18px;color:var(--color-text-muted);font-size:14px;line-height:1.55}.home-page__steps strong{display:block;margin:0 0 4px;color:var(--color-text-strong);font-size:15px}.home-page__closing{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:18px;border-top:1px solid rgba(15,23,42,.1)}.home-page__video-modal{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:24px}.home-page__video-backdrop{position:absolute;inset:0;border:0;background:#080f23b3;cursor:pointer}.home-page__video-dialog{position:relative;width:min(960px,100%);aspect-ratio:16 / 9;overflow:hidden;border-radius:24px;background:#0f172a;box-shadow:0 26px 70px #080f2357}.home-page__video-dialog iframe{position:absolute;inset:-3px;display:block;width:calc(100% + 6px);height:calc(100% + 6px);border:0}.home-page__video-close{position:absolute;top:12px;right:12px;z-index:2;display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.58);border-radius:14px;background:#080f2394;color:#fff;font-size:22px;font-weight:900;cursor:pointer}@media(max-width:900px){.home-page__main{grid-template-columns:1fr;gap:34px;min-height:0;padding-top:58px}.home-page__hero h1{font-size:40px}.home-page__preview{aspect-ratio:16 / 9}.home-page__preview-group{width:100%;justify-self:stretch}.home-page__features,.home-page__workflow{grid-template-columns:1fr}.home-page__feature{min-height:0}.home-page__closing{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.home-page{padding:0 0 16px}.home-page__header{align-items:center;width:100%;min-height:104px;margin:0 auto;padding:14px 16px;border-radius:0;background:linear-gradient(135deg,#10183c,#172154)}.home-page__brand{gap:9px;font-size:20px}.home-page__brand img{width:38px;height:38px}.home-page__nav{gap:6px}.home-page__nav a{min-height:36px;padding:0 10px;font-size:11px}.home-page__main{padding:44px 32px 22px}.home-page__eyebrow{font-size:11px}.home-page__hero h1{font-size:34px}.home-page__intro{font-size:14px}.home-page__actions,.home-page__cta{width:100%}.home-page__preview-play{width:64px;height:64px}.home-page__preview{border-radius:20px}.home-page__preview-caption{margin-top:10px;font-size:13px}.home-page__info,.home-page__workflow,.home-page__closing{padding:28px 32px}.home-page__section-heading h2,.home-page__workflow h2,.home-page__closing h2{font-size:27px}.home-page__feature{padding:20px}}.booking-page{min-height:100vh;padding:34px;color:var(--color-text);background:radial-gradient(circle at 12% 8%,rgba(18,167,124,.12),transparent 24rem),radial-gradient(circle at 88% 18%,rgba(122,199,255,.14),transparent 28rem),linear-gradient(180deg,#fbfcff,#f3f7ff)}.booking-page__profile,.booking-page__workspace,.booking-page__notice-card{width:min(1240px,100%);margin:0 auto}.booking-page__profile{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:center;padding:4px 0 34px}.booking-page__avatar{width:92px;height:92px;border:1px solid rgba(16,29,63,.12);border-radius:8px;overflow:hidden;background:linear-gradient(135deg,#eef2ff,#e7f9f6);display:grid;place-items:center;color:var(--color-primary-deep);font-size:2.2rem;font-weight:900;box-shadow:0 16px 36px #10183c14}.booking-page__avatar img{width:100%;height:100%;object-fit:cover}.booking-page__eyebrow{margin:0 0 6px;color:var(--color-primary-deep);font-size:.8rem;font-weight:900;text-transform:uppercase}.booking-page h1{margin:0;color:var(--color-text-strong);font-size:clamp(2.15rem,4vw,3.25rem);line-height:1.02}.booking-page__title,.booking-page__description{margin:7px 0 0;color:var(--color-text-muted)}.booking-page__workspace{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:28px;align-items:start}.booking-page__calendar,.booking-page__form,.booking-page__notice-card{border:1px solid #dbe5ee;border-radius:8px;background:#fffffff5;box-shadow:0 18px 44px #10183c14}.booking-page__calendar{border-top:4px solid var(--color-text-strong);padding:28px}.booking-page__form{border-top:4px solid var(--color-text-strong)}.booking-page__section-heading{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;margin-bottom:22px}.booking-page__section-heading h2{margin:0;color:var(--color-text-strong);font-size:1.45rem;line-height:1.15}.booking-page__section-heading p{margin:7px 0 0;color:var(--color-text-muted)}.booking-page__section-heading--compact{margin-bottom:18px}.booking-page__step{width:38px;height:38px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,var(--color-text-strong),#17265f);color:#fff;font-weight:900;box-shadow:0 10px 22px #101d3f2e}.booking-page__toolbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:16px;margin:8px 0 24px}.booking-page__toolbar button{width:44px;height:44px;padding:0;border-radius:8px;background:#fff;color:var(--color-text-strong);font-size:1.25rem}.booking-page__toolbar button:hover{border-color:var(--color-text-strong);background:var(--color-secondary-soft)}.booking-page__toolbar button:disabled,.booking-page__form button:disabled,.booking-page__day:disabled{cursor:not-allowed;opacity:.48}.booking-page__week{min-width:0;text-align:center}.booking-page__week span{display:block;margin-bottom:2px;color:var(--color-text-strong);font-size:.76rem;font-weight:900;text-transform:uppercase}.booking-page__week strong{display:block;color:var(--color-text-strong);font-size:1.18rem}.booking-page__picker{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px;align-items:start}.booking-page__month{min-width:0}.booking-page__weekday-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:10px}.booking-page__weekday-row span{color:var(--color-text-muted);font-size:.78rem;font-weight:900;text-align:center}.booking-page__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.booking-page__day{min-width:0;aspect-ratio:1;min-height:48px;border:1px solid transparent;border-radius:999px;background:#fbfcff;color:var(--color-text-strong);display:grid;place-items:center;position:relative;padding:0}.booking-page__day strong{font-size:1rem;line-height:1}.booking-page__day--available{border-color:#dbe5ee;background:#fff}.booking-page__day--available:hover{border-color:var(--color-primary);color:var(--color-primary-deep)}.booking-page__day--selected,.booking-page__day--selected:hover{border-color:var(--color-text-strong);background:linear-gradient(135deg,var(--color-text-strong),#17265f);color:#fff;box-shadow:0 12px 24px #101d3f38}.booking-page__day--outside{color:#a6b0c4;background:transparent}.booking-page__day-dot{position:absolute;bottom:8px;width:4px;height:4px;border-radius:999px;background:currentColor}.booking-page__time-panel{min-height:100%;max-height:520px;padding-left:24px;border-left:1px solid #e4ebf2;overflow:hidden}.booking-page__time-panel h3{margin:0 0 16px;color:var(--color-text-strong);font-size:1rem;line-height:1.35;text-transform:capitalize}.booking-page__slots{display:grid;gap:10px;max-height:440px;overflow-y:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:rgba(18,167,124,.55) #eef7f5}.booking-page__slots::-webkit-scrollbar{width:8px}.booking-page__slots::-webkit-scrollbar-track{border-radius:999px;background:#eef7f5}.booking-page__slots::-webkit-scrollbar-thumb{border-radius:999px;background:#12a77c8c}.booking-page__slot{width:100%;min-height:48px;border-radius:8px;background:#fff;color:var(--color-text);font-size:1rem;font-weight:800}.booking-page__slot:hover{border-color:var(--color-primary);color:var(--color-primary-deep)}.booking-page__slot--selected,.booking-page__slot--selected:hover{border-color:var(--color-text-strong);background:var(--color-secondary-soft);color:var(--color-text-strong);box-shadow:inset 0 0 0 1px #101d3f38}.booking-page__no-slots,.booking-page__empty{color:var(--color-text-muted);font-size:.95rem}.booking-page__empty{margin:0;padding:30px;border-radius:8px;background:#fbfcff;text-align:center}.booking-page__timezone{margin:26px 0 0;padding:15px 18px;border-radius:8px;background:linear-gradient(90deg,#101d3f14,#7ac7ff29);color:var(--color-text-strong);font-weight:700}.booking-page__form{position:sticky;top:22px;display:grid;gap:14px;padding:28px}.booking-page__selected{min-height:46px;margin:0;padding:12px 14px;border-radius:8px;background:var(--color-primary-soft);color:var(--color-primary-deep);font-weight:900;text-transform:capitalize}.booking-page__form input,.booking-page__form textarea{width:100%;border:1px solid #dbe5ee;border-radius:8px;padding:15px 16px;background:#fff;color:var(--color-text-strong);font:inherit}.booking-page__form input:focus,.booking-page__form textarea:focus{outline:3px solid rgba(18,167,124,.14);border-color:var(--color-primary)}.booking-page__form textarea{min-height:156px;resize:vertical}.booking-page__form button{min-height:54px;border-color:var(--color-primary-deep);border-radius:8px;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-deep));color:#fff;font-weight:900}.booking-page__success{position:sticky;top:22px;display:grid;justify-items:center;gap:14px;padding:34px 28px;border:1px solid rgba(18,167,124,.24);border-top:4px solid var(--color-primary-deep);border-radius:8px;background:radial-gradient(circle at 50% 10%,rgba(18,167,124,.16),transparent 14rem),linear-gradient(180deg,#fff,#f4fffb);box-shadow:0 20px 48px #10183c1f;text-align:center;animation:booking-success-enter .42s ease-out both}.booking-page__success-mark{position:relative;width:92px;height:92px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-deep));color:#fff;box-shadow:0 18px 42px #12a77c3d}.booking-page__success-mark:before{content:"";position:absolute;inset:-10px;border:1px solid rgba(18,167,124,.24);border-radius:inherit;animation:booking-success-pulse 1.6s ease-out infinite}.booking-page__success-mark span{width:34px;height:18px;border-left:6px solid currentColor;border-bottom:6px solid currentColor;transform:translateY(-3px) rotate(-45deg);animation:booking-success-check .52s ease-out .18s both}.booking-page__success-kicker{margin:4px 0 0;color:var(--color-primary-deep);font-size:.82rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.booking-page__success h2{margin:0;color:var(--color-text-strong);font-size:clamp(1.7rem,4vw,2.25rem);line-height:1.08}.booking-page__success-copy{max-width:340px;margin:0;color:var(--color-text-muted);font-size:1rem;line-height:1.55}.booking-page__success-summary{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);gap:0;margin-top:6px;border:1px solid #dbe5ee;border-radius:8px;overflow:hidden;background:#ffffffc7;text-align:left}.booking-page__success-summary span,.booking-page__success-summary strong{padding:13px 14px;border-bottom:1px solid #e4ebf2}.booking-page__success-summary span:nth-last-child(-n+2),.booking-page__success-summary strong:nth-last-child(-n+2){border-bottom:0}.booking-page__success-summary span{color:var(--color-text-muted);font-size:.75rem;font-weight:900;text-transform:uppercase}.booking-page__success-summary strong{min-width:0;color:var(--color-text-strong);font-size:.96rem;text-transform:capitalize}.booking-page__success-button{width:100%;min-height:50px;margin-top:4px;border:1px solid var(--color-primary-deep);border-radius:8px;background:#fff;color:var(--color-primary-deep);font-weight:900}.booking-page__success-button:hover{background:#12a77c14}.booking-page__privacy{margin:2px 0 0;color:var(--color-text-muted);font-size:.9rem;line-height:1.45;text-align:center}.booking-page__msg{margin:0;padding:12px;border-radius:8px;background:var(--color-success-soft);color:#17654d;font-size:.92rem}.booking-page__notice-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center;margin-top:28px;padding:22px 26px}.booking-page__notice-card span{width:48px;height:48px;border-radius:999px;display:grid;place-items:center;background:var(--color-secondary-soft);color:var(--color-text-strong);font-size:1.4rem;font-weight:900}.booking-page__notice-card p{margin:0;color:var(--color-text-muted);line-height:1.55}.booking-page__brand-credit{width:min(1240px,100%);margin:16px auto 0;color:var(--color-text-muted);font-size:.82rem;text-align:center}.booking-page__brand-credit strong{color:var(--color-text-strong)}.booking-page__brand-credit span{color:var(--color-primary)}@keyframes booking-success-enter{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes booking-success-check{0%{opacity:0;transform:translateY(-3px) rotate(-45deg) scale(.72)}to{opacity:1;transform:translateY(-3px) rotate(-45deg) scale(1)}}@keyframes booking-success-pulse{0%{opacity:.8;transform:scale(.92)}to{opacity:0;transform:scale(1.18)}}@media(max-width:1080px){.booking-page__workspace,.booking-page__picker{grid-template-columns:1fr}.booking-page__form,.booking-page__success{position:static}.booking-page__time-panel{max-height:none;padding:22px 0 0;border-left:0;border-top:1px solid #e4ebf2}.booking-page__slots{grid-template-columns:repeat(3,minmax(0,1fr));max-height:240px}}@media(max-width:760px){.booking-page{padding:14px}.booking-page__profile{grid-template-columns:auto minmax(0,1fr);gap:16px;padding:12px 4px 24px}.booking-page__avatar{width:78px;height:78px}.booking-page h1{font-size:2rem}.booking-page__calendar,.booking-page__form,.booking-page__notice-card{padding:18px}.booking-page__days{gap:8px}.booking-page__day{min-height:44px}.booking-page__slots{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.booking-page__profile{grid-template-columns:1fr}.booking-page__toolbar{grid-template-columns:40px minmax(0,1fr) 40px;gap:10px}.booking-page__toolbar button{width:40px;height:40px}.booking-page__slots{grid-template-columns:1fr}.booking-page__day{min-height:40px}.booking-page__day strong{font-size:.95rem}.booking-page__notice-card{grid-template-columns:1fr}.booking-page__success{padding:28px 18px}.booking-page__success-mark{width:78px;height:78px}}.confirm-email-page{min-height:100vh;padding:32px;display:grid;place-items:center;background:linear-gradient(135deg,#ddf6efeb,#f1f6fff2),url(/portada.png) center / cover;color:#061744}.confirm-email-card{width:min(1040px,100%);min-height:560px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);overflow:hidden;border:1px solid rgba(11,119,99,.16);border-radius:8px;background:#fffffff0;box-shadow:0 24px 80px #09235529}.confirm-email-card__copy{padding:clamp(28px,5vw,64px);display:flex;flex-direction:column;justify-content:center}.confirm-email-card__brand{width:fit-content;display:inline-flex;align-items:center;gap:10px;margin-bottom:42px;color:#061744;font-weight:900;font-size:20px;text-decoration:none}.confirm-email-card__brand img{width:42px;height:42px;object-fit:contain}.confirm-email-card__eyebrow{margin:0 0 10px;color:#0a8f78;font-size:13px;font-weight:900;letter-spacing:0;text-transform:uppercase}.confirm-email-card h1{max-width:620px;margin:0;color:#061744;font-size:clamp(36px,5vw,58px);line-height:1;letter-spacing:0}.confirm-email-card__text{max-width:560px;margin:22px 0 0;color:#5e6da0;font-size:19px;line-height:1.6}.confirm-email-card__text strong{color:#061744;overflow-wrap:anywhere}.confirm-email-card__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.confirm-email-card__actions button{min-height:52px;padding:0 24px;border:1px solid #0a8f78;border-radius:8px;background:#0a8f78;color:#fff;font:inherit;font-weight:900;cursor:pointer}.confirm-email-card__actions button:disabled{cursor:wait;opacity:.7}.confirm-email-card__actions .confirm-email-card__secondary{background:#fff;color:#061744;border-color:#06174429}.confirm-email-card__actions .confirm-email-card__danger{background:#fff;color:#b42318;border-color:#b423183d}.confirm-email-card__actions .confirm-email-card__danger:hover{background:#fff4f2;border-color:#b4231861}.confirm-email-card__msg{width:fit-content;max-width:100%;margin:22px 0 0;padding:12px 14px;border-radius:8px;background:#e7f8f2;color:#087461;font-weight:800}.confirm-email-card__hint{margin:18px 0 0;color:#7a86ad;font-size:15px}.confirm-email-card__visual{min-height:560px;background:linear-gradient(180deg,#09255b14,#0a8f781f),#eef8f5}.confirm-email-card__visual img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}@media(max-width:760px){.confirm-email-page{padding:16px}.confirm-email-card{min-height:auto;grid-template-columns:1fr}.confirm-email-card__copy{padding:28px 22px 32px}.confirm-email-card__brand{margin-bottom:28px}.confirm-email-card h1{font-size:36px}.confirm-email-card__text{font-size:17px}.confirm-email-card__actions button{width:100%}.confirm-email-card__visual{min-height:240px;order:-1}.confirm-email-card__visual img{max-height:240px}}.email-confirmed-page{min-height:100vh;padding:32px;display:grid;place-items:center;background:linear-gradient(135deg,#ecf8f5f0,#f7fafff5),url(/portada.png) center / cover;color:#061744}.email-confirmed-card{width:min(980px,100%);display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);overflow:hidden;border:1px solid rgba(11,119,99,.16);border-radius:8px;background:#fffffff2;box-shadow:0 24px 80px #09235529}.email-confirmed-card__visual{min-height:520px;position:relative;overflow:hidden;background:linear-gradient(180deg,#09255b14,#0a8f781f),#eef8f5}.email-confirmed-card__visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0617442e,#0a8f780a);pointer-events:none}.email-confirmed-card__visual img{width:100%;height:100%;min-height:520px;object-fit:cover;object-position:center;display:block}.email-confirmed-card__copy{padding:clamp(28px,5vw,64px);display:flex;flex-direction:column;justify-content:center}.email-confirmed-card__brand{width:fit-content;display:inline-flex;align-items:center;gap:10px;margin-bottom:42px;color:#061744;font-weight:900;font-size:20px;text-decoration:none}.email-confirmed-card__brand img{width:42px;height:42px;object-fit:contain}.email-confirmed-card__eyebrow{margin:0 0 10px;color:#0a8f78;font-size:13px;font-weight:900;letter-spacing:0;text-transform:uppercase}.email-confirmed-card h1{max-width:620px;margin:0;color:#061744;font-size:clamp(34px,5vw,56px);line-height:1;letter-spacing:0}.email-confirmed-card__text{max-width:560px;margin:22px 0 0;color:#5e6da0;font-size:19px;line-height:1.6}.email-confirmed-card__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.email-confirmed-card__actions a{min-height:52px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #0a8f78;border-radius:8px;background:#0a8f78;color:#fff;font-weight:900;text-decoration:none}.email-confirmed-card__actions .email-confirmed-card__secondary{background:#fff;color:#061744;border-color:#06174429}@media(max-width:760px){.email-confirmed-page{padding:16px}.email-confirmed-card{grid-template-columns:1fr}.email-confirmed-card__visual{min-height:220px}.email-confirmed-card__visual img{min-height:220px;object-position:center 42%}.email-confirmed-card__copy{padding:28px 22px 32px}.email-confirmed-card__brand{margin-bottom:28px}.email-confirmed-card h1{font-size:34px}.email-confirmed-card__text{font-size:17px}.email-confirmed-card__actions a{width:100%}}
