:root{font-family:Segoe UI,system-ui,sans-serif;color:#0f2747;background:#f7f9fc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--brand-navy: #0F2747;--brand-blue: #2563EB;--citas-accent: #22C7B8;--surface-light: #F7F9FC;--ink: #0f2747;--muted: #52647a;--green: #2563eb;--border: #dce4ef}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation;transition:background-color .14s ease,border-color .14s ease}button,input{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #2563eb;outline-offset:3px}h1,h2,h3,p{margin:0}.icon{width:20px;height:20px;flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:16px;z-index:10;padding:12px 18px;color:#fff;background:var(--green);transform:translateY(-150%);border-radius:8px}.skip-link:focus{transform:translateY(0)}.site-header{background:#fff;border-bottom:1px solid var(--border)}.header-inner{max-width:1440px;margin:auto;padding:19px 44px;display:flex;align-items:center;gap:36px}.brand{display:flex;align-items:center;gap:11px}.header-context{display:flex;align-items:center;gap:9px;padding-left:30px;border-left:1px solid var(--border);color:var(--muted);font-size:13px}.header-context .icon{width:17px}.demo-badge{display:inline-flex;align-items:center;gap:7px;background:#f5f1e7;color:#756039;padding:8px 12px;border-radius:20px;font-size:11px;font-weight:600;margin-left:auto}.demo-badge>span{width:6px;height:6px;background:#aa8950;border-radius:50%}.app-shell{max-width:1440px;margin:0 auto;padding:34px 44px 20px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{letter-spacing:.17em;font-size:10px;font-weight:700;color:var(--green);margin-bottom:8px}h1{font-size:clamp(30px,4vw,40px);font-weight:650;letter-spacing:-1.5px;line-height:1.1}h1>span{color:var(--green)}.page-heading p:not(.eyebrow){color:var(--muted);font-size:13px;margin-top:10px}.heading-detail{display:flex;align-items:center;gap:10px;color:#738781;font-size:12px}.heading-detail .icon{color:#809b84;width:25px;height:25px}.demo-notice{display:flex;align-items:center;gap:10px;background:#edf3ef;border:1px solid #dfe8e0;border-radius:9px;padding:11px 14px;margin-bottom:25px;color:#566d61;font-size:11px;line-height:1.6}.demo-notice strong{font-weight:600}.notice-symbol{border:1px solid #8ba696;border-radius:50%;width:15px;height:15px;display:grid;place-items:center;font-size:10px;font-weight:700;flex-shrink:0}.agenda-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:19px}.date-navigation,.view-controls,.step-buttons{display:flex;align-items:center}.date-navigation{gap:12px;flex-wrap:wrap}.step-buttons{gap:2px}.button{background:#fff;border:1px solid #d7e1db;border-radius:7px;padding:9px 15px;font-size:12px;font-weight:600;min-height:38px}.button:hover{background:#edf3ff;border-color:#86b1a5}.icon-button{display:inline-flex;justify-content:center;align-items:center;width:36px;height:38px;background:transparent;border:1px solid transparent;border-radius:7px}.icon-button:hover{background:#edf3ff}.icon-button .icon{width:16px}.range-label{font-size:17px;font-weight:600;letter-spacing:-.4px;text-transform:capitalize}.view-controls{gap:12px}.date-picker{display:flex;align-items:center;gap:7px;background:#fff;padding:0 10px;border:1px solid #dce5df;border-radius:7px;min-height:39px}.date-picker .icon{width:16px;color:#628475}.date-picker input{width:122px;color:var(--ink);border:0;background:transparent;font-size:12px;padding:8px 0;min-height:36px}.view-switch{display:flex;background:#e8ede9;border:1px solid #e0e6e0;border-radius:8px;padding:3px}.view-switch button{min-width:55px;min-height:32px;padding:6px 12px;border:1px solid transparent;border-radius:5px;background:transparent;font-size:12px;color:#667870}.view-switch button[aria-pressed=true]{color:var(--green);background:#fff;border-color:#dbe4dc;box-shadow:0 1px 3px #0f274709;font-weight:650}.view-switch button:hover{color:var(--green);background:#f7faf7}.agenda-layout{display:grid;grid-template-columns:268px minmax(0,1fr);gap:24px;align-items:start}.agenda-sidebar{display:grid;gap:20px}.mini-calendar{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px}.mini-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:4px}.mini-heading h2{text-transform:capitalize;font-size:12px;font-weight:650}.mini-heading .icon-button{width:25px;height:30px}.mini-heading .icon{width:14px}.mini-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;text-align:center}.weekday{display:grid;place-items:center;font-size:10px;height:26px;color:#7c8c84}.mini-day{position:relative;background:transparent;border:1px solid transparent;border-radius:7px;padding:6px 0 9px;min-height:33px;font-size:11px}.mini-day:hover{background:#edf4ef}.outside-month{color:#9faea7}.calendar-today:not(.selected){border-color:#81ab97;font-weight:700}.mini-day.selected{color:#fff;background:var(--green);font-weight:700}.calendar-dot{position:absolute;width:3px;height:3px;border-radius:50%;left:calc(50% - 1.5px);bottom:4px}.calendar-dot.has-examples{background:#789b87}.selected .calendar-dot.has-examples{background:#bce3c2}.calendar-note{display:flex;align-items:center;gap:6px;color:#71847a;font-size:10px;border-top:1px solid #eef1ee;padding-top:13px;margin-top:12px}.legend-dot{width:5px;height:5px;border-radius:50%;background:#789b87}.day-summary{padding:24px;background:#edf3ff;border:1px solid #dfe9df;border-radius:12px}.section-kicker{font-size:9px;font-weight:700;letter-spacing:.13em;color:#6c8376}.summary-date{font-size:13px;margin-top:9px;color:#526e5c}.summary-count{display:flex;align-items:baseline;gap:10px;margin-top:15px}.summary-count strong{color:var(--green);font-size:40px;font-weight:500;line-height:1}.summary-count span{font-size:12px;color:#617866}.summary-divider{height:1px;background:#d3e0d1;margin:21px 0 15px}.summary-description{font-size:13px;line-height:1.8;color:#55715d}.visual-legend{padding:1px 7px;display:flex;flex-direction:column;gap:11px;font-size:11px;color:#6c8074}.visual-legend p{color:#62796c;font-size:10px;margin-bottom:3px}.visual-legend>span{display:flex;gap:8px;align-items:center}.visual-legend i{width:7px;height:7px;border-radius:50%}.legend-previous{background:#a8b7af}.legend-featured{background:var(--green)}.legend-upcoming{background:#b7cdbd}.agenda-panel{min-width:0;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 3px 12px #0f274703}.day-agenda{padding:27px 29px 20px}.day-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.day-intro h3{font-size:19px;font-weight:500;letter-spacing:-.5px;margin-top:6px}.appointment-count{font-size:10px;color:#738479;border:1px solid #e5ebe5;background:#f8faf7;padding:6px 9px;border-radius:20px;white-space:nowrap}.appointment-list{list-style:none;padding:0;margin:0}.timeline-section{font-size:10px;font-weight:600;color:#74867c;margin:17px 0 10px 76px}.appointment-row{display:grid;grid-template-columns:61px minmax(0,1fr);gap:15px;margin-bottom:10px;align-items:start}.appointment-time{display:flex;flex-direction:column;align-items:flex-start;padding-top:18px;font-variant-numeric:tabular-nums;gap:4px}.appointment-time strong{font-size:12px;font-weight:650}.appointment-time>span{font-size:10px;color:#839188}.appointment-card{min-width:0;padding:16px 19px;border:1px solid #e3eae5;border-radius:9px;background:#fff;border-left:3px solid #bbd0bd}.appointment-content{display:flex;align-items:center;justify-content:space-between;gap:14px}.patient-detail{min-width:0}.patient-detail h3{font-size:17px;font-weight:600;letter-spacing:-.3px;overflow-wrap:anywhere;line-height:1.35}.patient-detail p{font-size:11px;color:#6d8175;margin-top:5px;line-height:1.5}.modality{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:#6b8074;white-space:nowrap}.modality .icon{width:13px;height:13px}.previous .appointment-card{background:#f9faf8;border-color:#e9eeea;border-left-color:#cbd5ce}.previous .patient-detail h3{color:#5b7164}.previous .appointment-time strong{color:#718477}.featured{margin-top:18px;margin-bottom:22px}.featured .appointment-time{padding-top:58px}.featured .appointment-time strong{color:var(--green);font-size:14px}.featured-card{padding:18px 23px 0;border:1px solid #b2cdbb;border-left:4px solid var(--green);background:#edf3ff;box-shadow:0 3px 8px #2563eb08}.featured-heading{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:16px}.turn-badge{display:inline-flex;align-items:center;gap:6px;background:#dff7f4;color:#0f2747;font-size:9px;font-weight:700;border-radius:20px;padding:5px 9px}.turn-badge>span{width:5px;height:5px;background:var(--green);border-radius:50%}.featured-caption{color:#688473;font-size:9px}.featured-card h3{color:#0f2747;font-size:clamp(24px,2.7vw,31px);font-weight:550;letter-spacing:-.9px}.featured-card .patient-detail p{font-size:12px;color:#5f7c68;margin-top:7px}.featured-card .modality{color:#3e6c50;font-size:11px}.featured-footer{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:14px 0;margin-top:20px;border-top:1px solid #dbe9db;font-size:10px;color:#5c7966}.featured-footer .icon{width:13px;height:13px}.footer-separator{color:#99ae9d}.agenda-footnote{font-size:10px;line-height:1.7;text-align:center;color:#7b8c80;margin:23px 0 0}.empty-state{display:flex;flex-direction:column;align-items:center;padding:65px 20px;text-align:center}.empty-icon{display:grid;place-items:center;background:#eef5ed;width:60px;height:60px;border-radius:20px;margin-bottom:20px;color:#709573}.empty-icon .icon{width:30px;height:30px}.empty-state h3{font-size:20px;font-weight:500}.empty-state p{color:var(--muted);font-size:13px;line-height:1.8;max-width:330px;margin:12px 0 22px}.app-footer{display:flex;justify-content:space-between;gap:12px;padding:23px 1px 0;font-size:10px;color:#809084}.app-footer>span:first-child{font-weight:600}.overview-intro{padding:24px 22px 20px}.overview-intro p{font-size:11px;line-height:1.6;margin-top:6px;color:var(--muted)}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:0 12px 20px}.week-day{min-width:0;border-left:1px solid #edf0eb;padding:0 6px}.week-day:first-child{border-left:0}.week-day-heading{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;background:transparent;border:1px solid transparent;border-radius:9px;padding:12px 2px;margin-bottom:10px}.week-day-heading>span{text-transform:capitalize;font-size:10px;color:var(--muted)}.week-day-heading>strong{font-weight:500;font-size:22px}.week-day-heading>small{font-size:9px;color:#728575}.week-day-heading:hover{background:#eaf3ea}.selected-week-day .week-day-heading{background:#edf3ff;color:var(--green)}.week-day ul{list-style:none;padding:0;margin:0}.week-appointment{background:#f7f9fc;border-left:2px solid #a5c2a8;padding:10px 7px;margin-bottom:9px;border-radius:4px;overflow-wrap:anywhere}.week-appointment time{display:block;font-size:9px;color:#65856d;margin-bottom:6px}.week-appointment h3{font-size:12px;line-height:1.5;font-weight:600}.week-appointment p{font-size:9px;color:#6d8174;margin-top:7px}.week-featured{background:#dff7f4;border-left-color:var(--green)}.week-empty{font-size:10px;color:#7a8b7d;text-align:center;padding-top:12px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #e4ebe3}.month-weekday{text-align:center;font-size:10px;color:#718575;padding:11px 2px;background:#fafbf9}.month-day{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-width:0;min-height:112px;border:0;border-top:1px solid #edf0eb;border-right:1px solid #edf0eb;background:#fff;padding:9px 6px}.month-day:nth-child(7n){border-right:0}.month-day:hover{background:#edf3ff}.month-number{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:11px}.selected-month-day{background:#edf3ff}.selected-month-day .month-number{background:var(--green);color:#fff}.month-patients{display:flex;flex-direction:column;gap:4px;padding-top:6px;width:100%}.month-patients>span{background:#edf3ff;color:#426d48;font-size:9px;padding:3px 4px;border-radius:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.month-patients small{color:#6b8170;font-size:9px;padding:3px}.month-mobile-count{display:none}.month-day.outside-month{background:#fafbf8}@media(max-width:1150px){.header-inner,.app-shell{padding-inline:28px}.agenda-layout{grid-template-columns:240px minmax(0,1fr);gap:18px}.range-label{font-size:15px}.date-navigation{gap:8px}.day-agenda{padding:24px 20px}.heading-detail{display:none}.week-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 4px}.week-day:nth-child(3n+1){border-left:0}.week-appointment{padding:12px}.month-day{min-height:96px}}@media(max-width:760px){.header-inner{padding:15px 20px;gap:14px}.header-context{display:none}.demo-badge{font-size:10px;padding:7px 10px}.app-shell{padding:25px 18px 20px}.page-heading{margin-bottom:20px}.page-heading p:not(.eyebrow){font-size:12px}.demo-notice{align-items:flex-start;font-size:10px;margin-bottom:20px}.notice-symbol{margin-top:2px}.agenda-toolbar{gap:13px}.date-navigation{width:100%;gap:7px}.range-label{font-size:14px;flex:1;min-width:130px}.today-button{padding-inline:12px}.icon-button{width:32px;height:38px}.view-controls{width:100%;justify-content:space-between;gap:8px}.view-switch button{min-width:46px;padding:6px 9px}.agenda-layout{grid-template-columns:minmax(0,1fr);gap:24px}.agenda-panel{order:0}.agenda-sidebar{order:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.visual-legend{grid-column:1 / -1;flex-flow:row wrap;gap:13px}.visual-legend p{width:100%;margin-bottom:0}.day-summary{padding:20px}.day-agenda{padding:22px 14px 18px}.day-intro{gap:8px}.day-intro h3{font-size:17px}.appointment-count{font-size:9px;padding:5px 7px}.appointment-row{grid-template-columns:43px minmax(0,1fr);gap:9px}.appointment-time strong{font-size:11px}.appointment-time>span{font-size:9px}.appointment-card{padding:14px 12px}.appointment-content{align-items:flex-start;flex-direction:column;gap:9px}.patient-detail h3{font-size:17px}.patient-detail p{font-size:10px}.modality{font-size:9px}.featured-card{padding:14px 14px 0}.featured-card h3{font-size:27px}.featured-caption{display:none}.featured .appointment-time{padding-top:48px}.featured-heading{margin-bottom:13px}.featured-footer{margin-top:14px;gap:5px;font-size:9px}.timeline-section{margin-left:52px}.agenda-footnote{font-size:9px}.app-footer{flex-direction:column;align-items:center;text-align:center;line-height:1.6}.month-day{align-items:center;min-height:74px;padding:6px 3px;text-align:center}.month-patients{display:none}.month-mobile-count{display:block;margin:7px auto 0;width:fit-content;min-width:18px;font-size:9px;color:#476e4e;background:#e8effc;border-radius:4px;padding:2px 5px}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 8px}.week-day:nth-child(3n+1){border-left:1px solid #edf0eb}.week-day:nth-child(odd){border-left:0}}@media(max-width:430px){.app-shell{padding-inline:12px}.header-inner{padding-inline:16px}.agenda-sidebar{grid-template-columns:minmax(0,1fr)}.mini-calendar{padding:18px 22px}.mini-day{min-height:39px;font-size:12px}.day-summary{display:flex;flex-direction:column;gap:7px}.summary-divider,.summary-description{display:none}.summary-date,.summary-count{margin-top:0}.summary-count{margin-top:5px}.date-picker{padding-inline:7px}.date-picker input{width:116px;font-size:11px}.view-switch button{min-width:40px;font-size:11px;padding-inline:7px}.day-intro{align-items:flex-start}.day-intro h3{font-size:15px}.appointment-count{font-size:8px}.featured-card h3{font-size:25px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}.appointment-status{display:block;margin-top:8px;font-size:12px;color:var(--muted, #536d72)}.month-patients small{display:block;font-size:10px;overflow:hidden;text-overflow:ellipsis}.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:24px}.auth-card{width:100%;max-width:420px;padding:36px;background:#fff;border:1px solid #e1e8e2;border-radius:20px;box-shadow:0 12px 36px #0f274708}.auth-card h1{font-size:28px;margin:20px 0 8px}.auth-card>p{line-height:1.6}.auth-card form{display:grid;gap:12px;margin-top:28px}.auth-card label{font-size:14px;font-weight:600}.auth-card input{width:100%;min-width:0;padding:12px;border:1px solid #b7c9c2;border-radius:8px;font:inherit;background:#fff;color:inherit}.auth-card input:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.auth-submit{margin-top:10px;background:#2563eb;color:#fff;min-height:44px}.auth-error{color:#943d32;line-height:1.5}button:disabled{opacity:.65;cursor:wait}@media(max-width:430px){.auth-shell{padding:16px}.auth-card{padding:24px}}.setup-shell{max-width:1100px}.setup-header,.setup-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.setup-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.setup-title-row h1{min-width:0;margin:0}.setup-title-row>button{flex-shrink:0;margin-left:auto}.setup-shell progress{display:block;width:100%;height:12px;margin:12px 0 28px;accent-color:#2563eb}.setup-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px}.setup-layout nav ol{padding:0;margin:0;list-style:none}.setup-step{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:10px;text-align:left}.setup-step[aria-current=step]{background:#e8effc;border-color:#2563eb}.setup-step small{font-weight:400}.setup-content{min-width:0;padding:28px;border:1px solid #e1e8e2;border-radius:16px;background:#fff;line-height:1.7}.setup-actions{justify-content:flex-start;margin-top:28px}@media(max-width:760px){.setup-layout{grid-template-columns:minmax(0,1fr)}.setup-content{padding:20px}}.profile-form{display:grid;gap:12px;margin-top:24px}.profile-form label{font-size:14px;font-weight:600}.profile-form input{width:100%;min-width:0;padding:12px;border:1px solid #b7c9c2;border-radius:8px;font:inherit;background:#fff;color:inherit}.profile-form input:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.profile-form input:disabled{background:#f7f9fc}.service-list{list-style:none;padding:0;display:grid;gap:12px}.service-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border:1px solid #e1e8e2;border-radius:10px}.service-list li>div{min-width:0;overflow-wrap:anywhere}.service-list p{margin:6px 0}.service-list small{display:block}.profile-form select{padding:12px;min-width:0;width:100%;border:1px solid #b7c9c2;border-radius:8px;font:inherit;background:#fff;color:inherit}.service-check{display:flex;align-items:center;gap:10px}.profile-form .service-check input{width:18px;height:18px}.service-refresh{margin-top:20px}@media(max-width:430px){.service-list li{align-items:flex-start;flex-direction:column}}.weekly-day{min-width:0;margin:18px 0;padding:16px;border:1px solid #dce5df;border-radius:10px}.weekly-day legend{font-weight:600;padding:0 6px}.weekly-nonworking{color:#536d72;font-size:14px}.weekly-interval{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end;margin:14px 0}.weekly-interval label{min-width:0;display:grid;gap:6px;font-size:13px}.weekly-interval input{width:100%;min-width:0;padding:10px;border:1px solid #b7c9c2;border-radius:8px;font:inherit}.weekly-interval input:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.weekly-warning{margin-top:24px;padding:20px;border:1px solid #bd944b;border-radius:12px;background:#fff9ed;overflow-wrap:anywhere}.weekly-warning .setup-actions{flex-wrap:wrap}@media(max-width:760px){.weekly-interval{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.weekly-interval>button{grid-column:1 / -1}}.booking-buffers{margin-top:28px}.buffer-form{display:flex;align-items:end;gap:14px;margin:16px 0;padding:16px;border:1px solid #dce5df;border-radius:10px}.buffer-form label{display:grid;gap:8px;flex:1;min-width:0;overflow-wrap:anywhere}.buffer-form select{padding:10px;width:100%;min-width:0;border:1px solid #b7c9c2;border-radius:8px;font:inherit;background:#fff}@media(max-width:760px){.buffer-form{align-items:stretch;flex-direction:column}}.setup-review section{margin:24px 0;padding-bottom:16px;border-bottom:1px solid #e1e8e2;overflow-wrap:anywhere}.setup-review dd{margin:0 0 10px}.setup-review dt{font-weight:600}.review-checks{list-style:none;padding:0}.review-checks li{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.setup-review .service-check input{flex-shrink:0}@media(max-width:760px){.review-checks li{align-items:stretch;flex-direction:column}}.agenda-account-actions{display:flex;gap:10px;margin-left:auto;flex-wrap:wrap}@media(max-width:760px){.header-inner{flex-wrap:wrap}}.setup-navigation{border-top:1px solid #e1e8e2;padding-top:24px;justify-content:space-between}.setup-next{background:#2563eb;color:#fff;min-height:44px}.setup-recheck{background:transparent;border-color:transparent;color:#536d72;font-size:13px;text-decoration:underline;text-underline-offset:3px}.service-local-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.service-local-actions .service-refresh{margin:0;order:1}.setup-save-notice{position:fixed;bottom:16px;right:16px;z-index:10;max-width:min(420px,calc(100vw - 32px));margin:0;padding:10px 16px;color:#0f2747;background:#e8effc;border:1px solid #b7c9c2;border-radius:8px;box-shadow:0 3px 12px #0f274712;pointer-events:none}.profile-form input[readonly]{background:#f7f9fc;color:#536d72}.review-checks li>span{flex:1}.review-checks .button{flex:0 0 220px;width:220px;height:60px;display:flex;align-items:center;justify-content:center;text-align:center}@media(max-width:760px){.review-checks .button{flex:none;width:100%;height:60px;align-self:flex-end}.service-local-actions>button{width:100%}}.new-appointment{max-width:760px;margin:24px auto;padding:24px;border:1px solid #b7c9c2;border-radius:16px;background:#fff}.new-appointment fieldset{min-width:0;border:1px solid #e1e8e2;border-radius:10px;padding:16px}.new-appointment fieldset>label{display:block;margin-bottom:8px}.new-appointment input{width:100%;min-width:0;padding:12px;border:1px solid #b7c9c2;border-radius:8px;font:inherit}.appointment-patients{list-style:none;padding:0;display:grid;gap:8px}.appointment-patients button{width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere}.appointment-patients [aria-pressed=true]{background:#e8effc;border-color:#2563eb}.appointment-recipient{font-size:22px;overflow-wrap:anywhere;color:#0f2747}.appointment-review dd{margin:4px 0 16px}@media(max-width:760px){.new-appointment{padding:16px}.new-appointment .setup-header{align-items:flex-start;flex-wrap:wrap}.new-appointment .service-local-actions{flex-wrap:wrap}.new-appointment .service-local-actions>button{width:100%}}.agenda-practice-name{margin-bottom:14px;color:#455d52;font-size:13px}.agenda-workspace{grid-template-columns:minmax(0,1fr) 220px}.agenda-summary-panel{min-width:0}.agenda-date-picker{position:relative;min-width:0}.date-heading-button{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:1px solid transparent;border-radius:7px;padding:8px;color:#0f2747;font:inherit;text-align:left;text-transform:inherit}.date-heading-button:hover{background:#edf3ff}.agenda-calendar-popup{position:absolute;left:0;top:calc(100% + 8px);width:300px;padding:12px;background:#fff;border:1px solid #b7c9c2;border-radius:12px;box-shadow:0 8px 24px #0f274724;z-index:20}.agenda-calendar-popup .date-picker{justify-content:space-between;margin-bottom:10px;color:#0f2747}.agenda-calendar-popup .mini-calendar{padding:0;border:0}.agenda-calendar-popup .outside-month{color:#52675f}.professional-agenda-shell .view-switch button{color:#455d52}.professional-agenda-shell .view-switch button[aria-pressed=true],.professional-agenda-shell .view-switch button:hover,.new-appointment .button,.professional-agenda-shell .button{color:#0f2747}.new-appointment .button:hover,.professional-agenda-shell .button:hover{color:#0f2747;background:#edf3ff}.new-appointment .auth-submit,.professional-agenda-shell .agenda-new-button{color:#fff;background:#2563eb;border-color:#2563eb}.new-appointment .auth-submit:hover,.new-appointment .auth-submit:focus-visible,.professional-agenda-shell .agenda-new-button:hover,.professional-agenda-shell .agenda-new-button:focus-visible{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.new-appointment button:focus-visible,.professional-agenda-shell button:focus-visible{outline:3px solid #0f2747;outline-offset:3px}.new-appointment button:disabled,.new-appointment button:disabled:hover,.professional-agenda-shell button:disabled,.professional-agenda-shell button:disabled:hover{color:#42594f;background:#e3e9e4;border-color:#b7c9c2;opacity:1;cursor:not-allowed}@media(max-width:1000px){.agenda-workspace{grid-template-columns:minmax(0,1fr) 190px;gap:18px}}@media(max-width:760px){.agenda-workspace{grid-template-columns:minmax(0,1fr)}.agenda-summary-panel{order:1;grid-template-columns:minmax(0,1fr)}.professional-agenda-shell .date-navigation{flex-wrap:nowrap;position:relative}.agenda-date-picker{position:static;flex:1}.agenda-date-picker .range-label{min-width:0}.agenda-calendar-popup{top:calc(100% + 8px);width:min(300px,calc(100vw - 24px))}.date-heading-button{padding:8px 0;font-size:13px}.professional-agenda-shell .view-controls{flex-wrap:wrap}}.appointment-slots{min-width:0;display:grid;gap:16px}.appointment-slots h3{font-size:15px}.appointment-slot-block{margin:0}.appointment-slot-block legend{padding:0 6px;font-weight:600}.appointment-slot-block legend span{display:inline-block;margin-left:8px;color:#455d52;font-weight:400;font-size:13px}.appointment-slot-buttons{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:10px}.new-appointment .appointment-slot,.appointment-detail .appointment-slot{min-height:44px;padding:10px 8px;text-align:center;font-variant-numeric:tabular-nums}.new-appointment .appointment-slot[aria-pressed=true],.appointment-detail .appointment-slot[aria-pressed=true]{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb}.new-appointment .appointment-slot[aria-pressed=true]:hover,.new-appointment .appointment-slot[aria-pressed=true]:focus-visible,.appointment-detail .appointment-slot[aria-pressed=true]:hover,.appointment-detail .appointment-slot[aria-pressed=true]:focus-visible{background:#1d4ed8;border-color:#1d4ed8}@media(max-width:430px){.appointment-slot-block legend span{display:block;margin-left:0}.appointment-slot-buttons{grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:8px}}.appointment-card,.week-appointment{position:relative}.appointment-select{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:inherit;background:transparent}.appointment-select:hover{background:#2563eb09}.appointment-card:has(.appointment-select[aria-pressed=true]),.week-appointment:has(.appointment-select[aria-pressed=true]){outline:2px solid #2563eb;outline-offset:2px}.month-day-open{width:100%;display:flex;align-items:center;justify-content:space-between;gap:4px;background:transparent;color:#0f2747;border:0;padding:2px;min-height:32px;text-align:left}.month-patients>button{width:100%;min-width:0;min-height:40px;border:1px solid transparent;border-radius:4px;background:#edf3ff;color:#0f2747;padding:4px;text-align:left}.month-patients>button>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.month-patients>button>small{display:block;color:#455d52}.month-patients>button:hover{background:#e0ecdd}.month-patients>button[aria-pressed=true]{border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb}.month-patients>.month-more{min-height:32px;background:transparent;text-align:center;text-decoration:underline;font-size:11px}.appointment-detail{position:fixed;inset:0;margin:auto;width:min(800px,calc(100vw - 32px));max-width:none;height:min(740px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);min-width:0;padding:0;border:1px solid #b7c9c2;border-radius:16px;background:#fff;color:#0f2747;font:inherit;line-height:1.5;overflow:hidden;box-shadow:0 20px 70px #102d3a40}.appointment-detail[open]{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto}.appointment-detail::backdrop{background:#102d3a80}.appointment-detail-header{grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-bottom:1px solid #e1e8e2}.appointment-detail-header h2{font-size:18px}.appointment-detail .button{min-height:44px}.appointment-detail #appointment-detail-heading:focus{outline:none}.appointment-detail-x{width:44px;flex:0 0 44px;padding:0;font-size:26px;line-height:1}.appointment-detail-identity{grid-row:2;padding:16px 20px 12px;display:flex;align-items:center;justify-content:space-between;gap:16px}.detail-patient{min-width:0;font-size:25px;line-height:1.3;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.detail-status{flex-shrink:0;padding:4px 8px;border-radius:6px;background:#e8effc;color:#0f2747;font-size:13px}.appointment-detail-actions{grid-row:3;padding:0 20px 16px;border-bottom:1px solid #e1e8e2}.appointment-detail-actions>p{font-size:12px;color:#455d52;margin-bottom:10px}.appointment-action-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.appointment-action-list li{min-width:0;display:grid;align-content:start;gap:6px}.appointment-action-list .button{width:100%;padding:8px;text-align:center}.appointment-detail-scroll{grid-row:4;min-height:0;min-width:0;padding:16px 20px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;overflow-wrap:anywhere}.appointment-detail-scroll:focus-visible{outline:2px solid #0f2747;outline-offset:-4px}.appointment-detail dl{margin:0}.appointment-detail dt{font-weight:600;font-size:12px;color:#455d52}.appointment-detail dd{margin:0 0 12px}.appointment-detail-scroll section{border-top:1px solid #e1e8e2;margin-top:18px;padding-top:16px}.appointment-detail-scroll h3{margin-bottom:10px;font-size:15px}.appointment-detail-scroll p{font-size:13px;margin-bottom:10px}.appointment-detail-footer{grid-row:5;padding:12px 20px;display:flex;justify-content:flex-end;border-top:1px solid #e1e8e2}@media(max-width:430px){.appointment-detail{width:calc(100vw - 16px);height:min(740px,calc(100dvh - 16px));max-height:calc(100dvh - 16px);border-radius:12px}.appointment-detail-header,.appointment-detail-footer{padding:8px 12px}.appointment-detail-identity{padding:12px;gap:8px;align-items:flex-start}.detail-patient{font-size:21px}.detail-status{font-size:11px;padding:4px}.appointment-detail-actions{padding:0 12px 12px}.appointment-action-list{gap:6px}.appointment-action-list .button{padding:6px 3px;font-size:11px}.appointment-detail-scroll{padding:12px}}@media(max-width:760px){.professional-agenda-shell .month-patients{display:flex}.month-patients>button{min-height:44px;padding:3px 1px}.month-patients>button>small{display:none}.month-day-open{flex-direction:column;justify-content:flex-start}}.appointment-detail .appointment-cancel-button:not(:disabled){color:#873a31;background:#fff7f5;border-color:#dec0ba}.appointment-detail .appointment-cancel-button:not(:disabled):hover,.appointment-detail .appointment-cancel-button:not(:disabled):focus-visible{color:#752c24;background:#fcebe7;border-color:#c8a198}.appointment-detail-actions .cancellation-restriction{margin-top:10px;margin-bottom:0}.appointment-detail-scroll>.cancellation-confirmation{margin:0;border:0;padding:0}.cancellation-confirmation h3{font-size:18px}.cancellation-confirmation-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.cancellation-success{padding:12px;background:#e8effc;color:#0f2747;border:1px solid #b7c9c2;border-radius:8px}.appointment-detail :is(h2,h3,p,[role=alert]):focus{outline:none}@media(max-width:430px){.cancellation-confirmation-actions .button{width:100%}}.appointment-detail .appointment-cancel-confirm:not(:disabled){color:#fff;background:#963e34;border-color:#963e34}.appointment-detail .appointment-cancel-confirm:not(:disabled):hover,.appointment-detail .appointment-cancel-confirm:not(:disabled):focus-visible{color:#fff;background:#752c24;border-color:#752c24}.appointment-detail .appointment-reschedule-primary:not(:disabled){color:#fff;background:#2563eb;border-color:#2563eb}.appointment-detail .appointment-reschedule-primary:not(:disabled):hover{background:#1d4ed8}.appointment-detail .appointment-slot-block{min-width:0;border:1px solid #e1e8e2;border-radius:10px;padding:12px}.reschedule-screen>h3{margin-bottom:12px;font-size:19px}.reschedule-recipient{margin-bottom:16px}.reschedule-screen form{display:grid;gap:16px}.reschedule-screen input[type=date]{width:100%;padding:10px;border:1px solid #b7c9c2;border-radius:8px;color:#0f2747;background:#fff;font:inherit}.reschedule-controls{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.reschedule-back{margin-top:20px}.reschedule-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}.reschedule-comparison section{min-height:148px;box-sizing:border-box;margin:0;padding:12px;border:1px solid #e1e8e2;border-radius:8px}.reschedule-comparison h4{margin:0 0 10px}#reschedule-heading:focus{outline:none}@media(max-width:430px){.reschedule-comparison{grid-template-columns:minmax(0,1fr)}.reschedule-controls .button{width:100%}}.reschedule-comparison .reschedule-original{background:#f7f9fc;color:#52645c}.reschedule-comparison .reschedule-new{background:#edf3ff;border-color:#2563eb;color:#0f2747}.reschedule-new-time{font-size:1.25rem;font-weight:700}.attendance-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.attendance-actions button{min-height:36px;padding:6px 9px;border:1px solid #729d8e;border-radius:6px;background:#edf3ff;color:#0f2747;font:inherit;font-size:12px;font-weight:600}.attendance-actions button:hover{background:#dff7f4}.month-patients .attendance-actions{margin:0 0 6px}.month-patients .attendance-actions button{flex:1 1 65px;padding:5px 3px;font-size:10px}@media(max-width:450px){.attendance-actions button{min-height:44px}}.attendance-actions [role=alert]{flex-basis:100%;color:#752c24;font-size:12px}.attendance-actions [role=status]{flex-basis:100%;font-size:12px}.attendance-correction p{margin-top:12px}.attendance-correction h3:focus,.attendance-correction p:focus{outline:none}.professional-navigation{position:relative}.professional-navigation summary{display:flex;align-items:center;gap:6px;box-sizing:border-box;cursor:pointer;list-style:none}.professional-menu-chevron{flex:0 0 14px}.professional-navigation summary::-webkit-details-marker{display:none}.professional-navigation summary:focus-visible{outline:3px solid #0f2747;outline-offset:3px}.professional-navigation nav{position:absolute;z-index:20;right:0;top:calc(100% + 8px);display:grid;min-width:168px;max-width:calc(100vw - 28px);padding:6px;border:1px solid #b7c9c2;border-radius:8px;background:#fff;box-shadow:0 8px 24px #0f27471a}.professional-navigation nav button{padding:10px 14px;min-height:44px;border:0;border-radius:5px;background:#fff;color:#0f2747;text-align:left;font:inherit}.professional-navigation nav button:hover{background:#edf3ff}.professional-navigation nav button[aria-current=page]{background:#edf3ff;color:#0f2747;font-weight:700}.professional-navigation nav button:focus-visible{outline:3px solid #0f2747;outline-offset:-3px}.professional-navigation nav button:disabled{color:#6b8170;background:#f7f9fc;cursor:not-allowed}.appointment-history{min-width:0;background:#fff;border:1px solid #e1e8e2;border-radius:12px;padding:24px}.history-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.history-heading h2{min-width:0}.appointment-history h2:focus,.history-detail h3:focus{outline:none}.appointment-history>p,.history-detail p{margin:12px 0}.history-filters{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0;align-items:end}.history-filters label{display:grid;gap:6px;flex:1 1 150px;min-width:0}.history-filters input,.history-filters select{min-width:0;width:100%;box-sizing:border-box;border:1px solid #b7c9c2;border-radius:6px;padding:10px;color:#0f2747;background:#fff;font:inherit}.history-list,.history-movements{padding:0;list-style:none}.history-list li{margin:10px 0}.history-list button{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.5fr) 8rem;gap:12px;align-items:center;width:100%;padding:14px;text-align:left;border:1px solid #b7c9c2;background:#f7f9fc;border-radius:8px;color:#0f2747;font:inherit;overflow-wrap:anywhere}.history-list button>*{min-width:0}.history-record-status{text-align:right}.history-list button[aria-expanded=true]{border-color:#2563eb;background:#edf3ff}.history-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0}.history-detail{border-top:1px solid #b7c9c2;padding-top:20px;margin-top:24px;overflow-wrap:anywhere}.history-detail h3{font-size:1.4rem;margin:18px 0}.history-detail dl{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;margin:18px 0}.history-detail dd{margin:0}.history-movements li{border-left:3px solid #729d8e;background:#f7f9fc;padding:14px;margin:12px 0}.appointment-history button:disabled{color:#42594f;background:#e3e9e4;cursor:not-allowed}@media(max-width:760px){.professional-navigation nav{left:auto;right:0}.history-list button{grid-template-columns:minmax(0,1fr);gap:6px}.appointment-history{padding:16px}.history-detail dl{grid-template-columns:minmax(0,1fr);gap:5px}.history-detail dd{margin-bottom:10px}}.public-booking-shell{max-width:920px;margin:0 auto;padding:28px 24px 48px}.public-booking-panel,.patient-appointments{max-width:760px;margin:24px auto}.public-booking-brand{margin-bottom:24px}.public-booking-state{background:#fff;padding:28px;border:1px solid #d7e1db;border-radius:12px}.public-booking-state p,.public-booking-panel header p{margin-top:12px}.public-booking-panel h1{font-size:28px;overflow-wrap:anywhere}.public-specialty{color:#455d52;font-size:18px}.public-services{border:0;padding:0;margin:24px 0;min-width:0}.public-services legend{font-weight:600;margin-bottom:12px}.public-services>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.public-services .public-service{display:grid;gap:8px;text-align:left;overflow-wrap:anywhere;min-width:0}.public-services .public-service[aria-pressed=true]{border-color:#2563eb;background:#edf3ff;box-shadow:inset 0 0 0 1px #2563eb}.public-booking-date{display:grid;gap:8px;margin:20px 0;max-width:300px}.public-booking-date input{width:100%;min-width:0;border:1px solid #b7c9c2;border-radius:6px;padding:10px;color:#0f2747;background:#fff}.public-booking-panel .appointment-slot-block{margin:14px 0}.public-booking-panel .appointment-slot-block:last-child{margin-bottom:0}.public-booking-continue{margin:20px 0 12px}.public-selection-note{display:flex;align-items:flex-start;gap:7px;color:#455d52;font-size:13px;line-height:1.5;margin-top:7px}.public-selection-note svg{flex-shrink:0;margin-top:2px}@media(max-width:600px){.public-booking-shell{padding:20px 12px}.public-services>div{grid-template-columns:minmax(0,1fr)}.public-booking-panel h1{font-size:24px}.public-booking-continue{width:100%}}.patient-identification{margin-top:24px;min-width:0}.patient-identification h2:focus{outline:none}.patient-identification h3{margin:18px 0 10px}.patient-identification p{margin:12px 0;overflow-wrap:anywhere}.patient-identification form{display:grid;gap:14px;margin:18px 0}.patient-identification label{display:grid;gap:7px;margin:12px 0}.patient-identification input:not([type=checkbox]):not([type=radio]),.patient-identification select{width:100%;min-width:0;padding:10px;border:1px solid #b7c9c2;border-radius:6px;color:#0f2747;background:#fff;font:inherit}.patient-identification .patient-checkbox,.patient-identification .patient-person-choice label{display:flex;gap:10px;align-items:flex-start;line-height:1.5}.patient-checkbox input,.patient-person-choice input{margin-top:4px;flex-shrink:0}.patient-identification input[type=checkbox],.patient-identification input[type=radio]{width:18px;height:18px;min-width:18px;padding:0}.patient-person-choice{margin:18px 0;border:1px solid #b7c9c2;border-radius:8px;padding:14px}.patient-identification .button{margin:6px 8px 6px 0}@media(max-width:600px){.patient-identification .auth-submit{width:100%;margin-right:0}}.patient-selection-summary{margin:18px 0;padding:16px;border:1px solid #b7c9c2;border-radius:10px;background:#f7f9fc}.patient-selection-summary header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.patient-identification .patient-selection-summary h3{margin:0}.selection-pending{display:inline-block;padding:4px 9px;border-radius:12px;background:#eef3ed;color:#455d52;font-size:12px;font-weight:600}.patient-selection-summary dl{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px 12px;margin:0;font-size:14px}.patient-selection-summary dt{color:#455d52}.patient-selection-summary dd{margin:0;overflow-wrap:anywhere}.patient-identification .patient-access-explanation{margin:0}@media(max-width:600px){.patient-selection-summary dl{grid-template-columns:minmax(0,1fr);gap:4px}.patient-selection-summary dd{margin-bottom:8px}}.public-booking-review h2:focus{outline:none}.public-review-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.booking-reference{overflow-wrap:anywhere}@media(max-width:600px){.public-review-actions{display:grid;grid-template-columns:minmax(0,1fr)}.public-review-actions .button{width:100%;margin-right:0}}.patient-identification:not(.public-booking-review)>.patient-selection-summary{padding:12px;margin:12px 0}.patient-identification:not(.public-booking-review)>.patient-selection-summary header{margin-bottom:8px}.patient-identification:not(.public-booking-review)>.patient-selection-summary h3{font-size:15px}.patient-identification:not(.public-booking-review)>.patient-selection-summary dl{gap:4px 12px;font-size:13.5px;line-height:1.45}.public-reservation-success-title{display:flex;align-items:center;gap:12px;color:#2563eb;font-size:28px;line-height:1.2}.public-reservation-success-title svg{flex-shrink:0}@media(max-width:600px){.patient-identification:not(.public-booking-review)>.patient-selection-summary dl{font-size:14px;gap:3px}.patient-identification:not(.public-booking-review)>.patient-selection-summary dd{margin-bottom:4px}.public-reservation-success-title{font-size:24px;gap:10px}}html:has(.public-booking-shell){scrollbar-gutter:stable}body:has(.public-booking-shell){min-width:0}.public-booking-topbar{display:flex;min-height:38px;align-items:center;justify-content:space-between;gap:16px;max-width:760px;margin:0 auto 24px}.public-booking-topbar .public-booking-brand{margin-bottom:0}.public-patient-navigation{display:flex;justify-content:flex-end}.patient-appointments{background:#fff;border:1px solid var(--border);border-radius:12px;padding:24px}.patient-appointments-header,.patient-appointments-tabs,.patient-appointments-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px}.patient-appointments-header{justify-content:space-between;align-items:flex-start}.patient-appointments-header h1{font-size:28px;overflow-wrap:anywhere}.patient-appointments h1:focus,.patient-appointments h2:focus{outline:none}.patient-appointments-tabs .button[aria-pressed=true]{color:#fff;background:var(--green)}.patient-appointments-list{list-style:none;padding:0;display:grid;gap:12px;margin:20px 0}.patient-appointment-row{width:100%;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) 100px;gap:16px;text-align:left}.patient-appointment-row>span{display:grid;gap:6px;overflow-wrap:anywhere}.patient-appointment-row strong{font-size:17px}.patient-appointment-status{justify-self:end;text-align:right}.patient-appointments-pagination{justify-content:center;margin-top:18px}.patient-appointment-dialog[open]{display:flex;flex-direction:column;height:fit-content;width:min(600px,calc(100vw - 32px))}.patient-appointment-dialog .appointment-detail-header,.patient-appointment-dialog .appointment-detail-footer{flex-shrink:0}.patient-appointment-dialog .appointment-detail-scroll{flex:0 1 auto}.patient-appointment-dialog #patient-appointment-detail:focus{outline:none}@media(max-width:600px){.patient-appointment-row{grid-template-columns:minmax(0,1fr) 90px;gap:12px}.patient-appointment-row>span:nth-child(2){grid-column:1}.patient-appointment-status{grid-column:2;grid-row:1 / 3}}.patient-appointments-empty{display:flex;align-items:center;gap:12px;margin:20px 0;padding:22px;border:1px solid var(--border);border-radius:10px;background:#f7f9fc;color:#455d52}.patient-appointments-empty svg{flex-shrink:0}.patient-appointments-empty p{font-size:15px;line-height:1.5}.patient-appointment-identity{display:flex;justify-content:space-between;align-items:center;gap:12px}.patient-appointment-identity>div{min-width:0}.patient-appointment-identity p{font-size:12px;color:#455d52;margin:0 0 3px}.patient-appointment-identity h3{font-size:24px;line-height:1.3;margin:0;overflow-wrap:anywhere}.patient-appointment-identity .detail-status{font-size:12px}.patient-appointment-dialog .patient-appointment-when{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;background:#f7f9fc;border-radius:8px;padding:12px;margin:14px 0}.patient-appointment-dialog .patient-appointment-when dd{font-size:17px;font-weight:600;margin:3px 0 0}.patient-appointment-dialog .patient-appointment-when>div:last-child dd{font-size:22px;color:var(--green)}.patient-appointment-metadata{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.patient-appointment-metadata>div{min-width:0}.patient-appointment-dialog .patient-appointment-metadata dd{font-size:14px;margin:3px 0 0}@media(max-width:600px){.patient-appointment-identity{align-items:flex-start}.patient-appointment-identity h3{font-size:22px}.patient-appointment-identity .detail-status{white-space:normal;flex-shrink:1}.patient-appointment-dialog .patient-appointment-when,.patient-appointment-metadata{grid-template-columns:minmax(0,1fr)}.patient-appointments-empty{padding:18px}}@media(max-width:760px){.patient-appointments{padding:16px}}@media(max-width:600px){.patient-appointments-header h1{font-size:24px}}.patient-management-actions{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.patient-management-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.patient-management-options .button{width:100%}.patient-management-options p{font-size:12px;margin-top:6px}.patient-management-title:focus{outline:none}.patient-management-actions .reschedule-controls{margin-top:14px}@media(max-width:600px){.patient-management-options{grid-template-columns:minmax(0,1fr)}}.patient-management-success{padding:8px 0}.patient-management-success h3{font-size:24px;line-height:1.3;color:var(--green);margin:0 0 20px}.patient-management-success>.button{margin-top:20px}@media(max-width:600px){.patient-management-success>.button{width:100%}}.booking-visibility{margin:0 0 12px;padding:16px;border:1px solid var(--border);border-radius:8px}.booking-visibility legend{font-weight:600}.booking-visibility label{display:flex;align-items:flex-start;gap:10px;margin:12px 0}.booking-visibility input[type=checkbox]{width:18px;height:18px;flex-shrink:0;margin-top:2px;padding:0}.public-booking-direct{padding:18px;margin-top:20px;border:1px solid var(--border);border-radius:8px;background:#f7f9fc}.public-home-header,.public-home-navigation{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.public-home-header{margin-bottom:24px}.public-home-navigation{justify-content:flex-end}.public-home-navigation a{color:var(--ink);text-decoration:none;text-align:center}.public-home-search{max-width:760px;margin:24px auto;padding:24px;border:1px solid var(--border);border-radius:12px;background:#fff}.public-home-search h1{font-size:28px}.public-home-search form{margin:20px 0}.public-home-search form>div{display:flex;gap:10px;margin-top:8px}.public-home-search input{min-width:0;flex:1;padding:10px;font:inherit;border:1px solid #b7c9c2;border-radius:6px}.public-home-search .auth-submit{margin-top:0}.public-search-results{padding:0;list-style:none;display:grid;gap:12px}.public-search-results a{display:grid;gap:6px;padding:16px;border:1px solid var(--border);border-radius:8px;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}@media(max-width:600px){.public-home-search{padding:16px}.public-home-header{align-items:flex-start}.public-home-navigation{flex:1;min-width:0}.public-home-search form>div{flex-wrap:wrap}.public-home-search input{width:100%}}.unsaved-rules-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;padding:24px;border:1px solid #b7c9c2;border-radius:14px;color:var(--ink);background:#fff}.unsaved-rules-dialog::backdrop{background:#102d3a80}.unsaved-rules-dialog h2:focus{outline:none}.unsaved-rules-dialog p{margin:14px 0}.unsaved-rules-dialog>div{display:flex;flex-wrap:wrap;gap:10px}.unsaved-rules-dialog .auth-submit{margin-top:0}.public-home-navigation>button{display:inline-flex;align-items:center;gap:7px}.public-home-navigation>button svg{flex-shrink:0}@media(max-width:600px){.unsaved-rules-dialog>div{display:grid}.unsaved-rules-dialog .button{width:100%}}.assistants-settings form{display:grid;gap:1rem;max-width:36rem}.assistants-settings label,.assistant-invitation label{display:grid;gap:.4rem}.assistant-records{list-style:none;padding:0;display:grid;gap:.8rem}.assistant-records li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--line, #d6e2de);border-radius:12px}.assistant-records p{margin:.25rem 0;overflow-wrap:anywhere}.assistant-actions{display:flex;flex-wrap:wrap;gap:.5rem}.assistant-records strong{overflow-wrap:anywhere}@media(max-width:600px){.assistant-records li{align-items:flex-start;flex-direction:column}.assistant-actions{width:100%}}.agenda-selector{display:grid;gap:4px;min-width:0;max-width:340px;font-size:12px;color:var(--muted)}.agenda-selector select{min-width:0;min-height:38px;width:100%;max-width:100%;padding:8px 12px;border:1px solid #d7e1db;border-radius:7px;background:#fff;color:var(--ink);font:inherit}.agenda-selector select:focus-visible{outline:3px solid #2563eb;outline-offset:3px}.agenda-access-error{padding:12px 24px;color:#943d32}@media(max-width:760px){.header-inner:has(.agenda-selector),.setup-header:has(.agenda-selector){flex-wrap:wrap}.agenda-selector{order:3;flex-basis:100%;max-width:100%}.setup-header>.professional-user-menu{margin-left:auto}}.professional-user-menu{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}.connected-user{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:240px;font-size:13px;color:var(--ink)}.connected-user svg,.professional-user-menu>.professional-navigation{flex-shrink:0}.connected-user>span{min-width:0;overflow-wrap:anywhere}@media(max-width:760px){.connected-user{max-width:130px}.professional-user-menu{gap:8px}}.agenda-block-list{list-style:none;padding:0;margin:12px 0;display:grid;gap:8px}.agenda-block-card{display:grid;gap:4px;width:100%;min-width:0;padding:12px 14px;text-align:left;border:1px dashed #9b8668;border-left:4px solid #9b8668;border-radius:8px;background:repeating-linear-gradient(135deg,#faf6ed,#faf6ed 8px,#f3eee2 8px 16px);color:#50452f;font:inherit;overflow-wrap:anywhere}.agenda-block-card strong{font-size:13px}.agenda-block-card time,.agenda-block-card>span{font-size:12px}.week-grid .agenda-block-card,.month-grid .agenda-block-card{padding:8px}.agenda-block-editor{padding:24px;margin:20px 0;border:1px solid #bda67c;border-radius:14px;background:#fff}.agenda-block-editor h2:focus{outline:none}.agenda-block-editor .setup-header{flex-wrap:wrap}.agenda-block-editor fieldset{border:0;padding:0;min-width:0;display:grid;gap:12px}.agenda-block-editor label{display:grid;gap:6px}.agenda-block-editor label.service-check{display:flex}.agenda-block-editor textarea{padding:12px;border:1px solid #b7c9c2;border-radius:8px;resize:vertical;width:100%;min-height:80px;font:inherit}.block-date-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.block-delete{color:#8d332e;background:#fff8f5}.block-delete-confirm{background:#9d3c35;color:#fff}.block-delete-confirm:hover{background:#7c2c27;color:#fff}@media(max-width:760px){.agenda-block-editor{padding:16px}.block-date-fields{grid-template-columns:minmax(0,1fr)}.agenda-block-editor .service-local-actions{flex-wrap:wrap}.month-grid .agenda-block-card{padding:5px;gap:3px}.month-grid .agenda-block-card strong,.month-grid .agenda-block-card time,.month-grid .agenda-block-card>span{font-size:10px}}.agenda-block-group{border:1px dashed #9b8668;border-left:4px solid #9b8668;border-radius:10px;background:#faf6ed;min-width:0;overflow:hidden}.agenda-block-group>.agenda-block-card{border:0;border-radius:0}.block-affected-appointments{padding:8px 12px 12px;margin:0}.block-affected-appointments .appointment-card{border-color:#b6934f;box-shadow:0 0 0 1px #dfcda5}.block-affected-count,.block-conflict-badge{font-weight:600;color:#6b4a15}.block-conflict-badge{display:block;font-size:11px;overflow-wrap:anywhere}.block-period{line-height:1.5}.block-shared-note{padding:8px 12px;font-size:12px;color:#6b4a15}.agenda-block-editor [tabindex="-1"]:focus{outline:none}.block-success{max-width:760px;margin-inline:auto}.block-success p{margin:12px 0;overflow-wrap:anywhere}@media(max-width:760px){.block-affected-appointments{padding:8px}.block-affected-appointments .appointment-row{min-width:0}.month-grid .block-period{font-size:9px}}.professional-time-field{position:relative;display:grid;gap:6px;min-width:0}.professional-time-entry{display:flex;gap:6px;align-items:stretch;min-width:0}.professional-time-entry input{flex:1;min-width:0;width:100%}.professional-clock-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:44px;min-height:44px;padding:8px}.professional-clock-picker{position:absolute;top:100%;left:0;z-index:15;padding:14px;width:min(300px,100%);min-width:230px;max-width:calc(100vw - 48px);border:1px solid #b7c9c2;border-radius:10px;background:#fff;box-shadow:0 6px 24px #173f3326}.professional-clock-picker p{margin:0 0 10px;font-size:13px}.professional-clock-picker>div{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.professional-clock-picker>div+div{margin-top:12px}.professional-clock-picker label{display:grid;gap:4px;flex:1}.professional-clock-picker select{width:100%;min-height:42px;padding:8px;font:inherit;background:#fff;color:var(--ink);border:1px solid #b7c9c2;border-radius:6px}.professional-clock-picker .auth-submit{margin-top:0}.professional-time-field [aria-invalid=true]{border-color:#9d3c35}.account-fieldset{display:grid;gap:10px;border:0;padding:0;min-width:0}.account-fieldset input:not([type=checkbox]),.account-fieldset select{width:100%;min-width:0;padding:10px 12px;border:1px solid #b7c9c2;border-radius:7px;font:inherit;color:var(--ink);background:#fff}.account-access-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.account-back{margin-top:20px}.account-shell{max-width:920px}.account-section{margin:24px 0;padding:20px;border:1px solid var(--border,#d7e1db);background:#fff;border-radius:12px}.account-section h2{margin-top:0}.account-section form{max-width:560px}.account-section dd,.account-section p{overflow-wrap:anywhere}.account-sessions{list-style:none;padding:0;display:grid;gap:10px}.account-sessions li{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid #d7e1db;padding-top:12px}.account-sessions p{margin:6px 0;font-size:13px}.account-shell [tabindex="-1"]:focus,.auth-card h1[tabindex="-1"]:focus{outline:none}@media(max-width:600px){.account-section{padding:16px}.account-sessions li{align-items:flex-start;flex-direction:column}.account-access-links{flex-direction:column}}.password-field{display:flex;align-items:stretch;gap:6px;min-width:0}.password-field>input{flex:1;min-width:0;width:100%}.password-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:44px;min-height:44px;padding:8px}.success-toast{position:fixed;top:20px;right:20px;z-index:200;width:min(420px,calc(100vw - 32px));display:flex;align-items:flex-start;gap:10px;padding:14px;background:#eefbf9;color:#0f2747;border:1px solid #72aa90;border-radius:12px;box-shadow:0 6px 24px #123a3026}.success-toast>svg{flex-shrink:0}.success-toast p{margin:0;flex:1;overflow-wrap:anywhere}.success-toast .toast-close{min-width:36px;min-height:36px;padding:4px;margin-top:-4px;font-size:22px;line-height:1}@media(max-width:600px){.success-toast{top:12px;right:16px}}.admin-shell{max-width:1120px;margin:0 auto;padding:24px}.admin-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.admin-header strong{margin-right:auto}.admin-filters{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:24px 0}.admin-filters label{display:grid;gap:6px}.admin-filters input,.admin-filters select{padding:10px;max-width:100%}.admin-list{padding:0;list-style:none}.admin-row{width:100%;display:grid;grid-template-columns:2fr 2fr 1fr;gap:12px;text-align:left;margin-bottom:8px;white-space:normal}.admin-row span:last-child{text-align:right}.admin-detail{margin-top:24px;padding:24px;border:1px solid #cbd8d0;border-radius:16px;background:#fff;overflow-wrap:anywhere}.admin-detail dl{display:grid;grid-template-columns:minmax(100px,1fr) 2fr;gap:10px}.admin-detail dd{margin:0}.admin-actions{display:flex;gap:12px;flex-wrap:wrap}.admin-detail [role=group] .button{margin:6px}@media(max-width:600px){.admin-shell{padding:16px}.admin-row{grid-template-columns:1fr;gap:4px}.admin-row span:last-child{text-align:left}.admin-detail{padding:16px}.admin-detail dl{grid-template-columns:1fr;gap:4px}.admin-detail dd{margin-bottom:10px}}.auth-card .auth-remember{display:flex;align-items:center;justify-content:flex-start;gap:8px}.auth-card .auth-remember input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;padding:0;margin:0}.admin-subscription{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.admin-subscription form,.admin-activation-period{display:grid;gap:12px;margin-top:12px;max-width:520px}.admin-subscription label,.admin-activation-period label{display:grid;gap:6px}.admin-subscription input,.admin-subscription select,.admin-activation-period input,.admin-activation-period select{padding:10px;width:100%;min-width:0;font:inherit}.admin-subscription p{margin:10px 0}.subscription-banner{max-width:1120px;margin:16px auto;padding:16px 20px;border:1px solid #dcc88c;border-radius:12px;color:#57471b;background:#fffaeb;line-height:1.5}@media(max-width:600px){.subscription-banner{margin:12px 16px}}.plan-tariffs,.plan-assignment,.trial-adjustment{margin:18px 0;padding:18px;border:1px solid var(--border);border-radius:12px;background:#fff}.plan-tariffs form,.plan-assignment form{display:grid;gap:12px;max-width:560px;margin-top:12px}.plan-tariffs label,.plan-assignment label:not(.service-check){display:grid;gap:6px}.plan-tariffs input,.plan-assignment input:not([type=checkbox]),.plan-assignment select{width:100%;min-width:0;padding:10px;font:inherit}.plan-assignment .service-check{margin:12px 0;align-items:flex-start}.plan-assignment input[type=checkbox]{width:18px;height:18px;flex:0 0 18px}.plan-periods{display:grid;gap:12px;margin:16px 0}.plan-periods article{border:1px solid var(--border);border-radius:10px;padding:14px}.plan-periods article>div{display:flex;justify-content:space-between;align-items:start;gap:12px}.plan-situation{font-size:12px;padding:4px 8px;background:#edf4ef;border-radius:20px;white-space:nowrap}.plan-bridge{background:#edf6f0;border:1px solid #b9d5c7;border-radius:10px;padding:12px;margin-top:12px}@media(max-width:600px){.plan-tariffs,.plan-assignment,.trial-adjustment{padding:12px}.plan-periods article>div{flex-wrap:wrap}}.admin-page-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin:24px 0 16px}.admin-page-heading>.button{margin-left:auto;flex-shrink:0}.admin-page-heading [tabindex="-1"]:focus{outline:none}.admin-secondary-view{margin-top:20px}.admin-detail>.admin-page-heading{margin-top:0}@media(max-width:600px){.admin-page-heading{align-items:flex-start}.admin-page-heading h1{font-size:30px;overflow-wrap:anywhere;max-width:100%}}.admin-billing-entry{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:14px 0;border-bottom:1px solid var(--border);margin-bottom:20px}.admin-billing h1,.admin-billing h2,.admin-billing h3,.admin-billing-entry h2{margin:0}.admin-billing .admin-page-heading{margin-top:0}.admin-billing-professional{color:var(--muted);margin:12px 0 20px;overflow-wrap:anywhere}.admin-billing-credit{background:#edf3ff;border:1px solid #cbded4;border-radius:12px;padding:20px}.admin-billing-credit h2{font-size:16px}.admin-billing-amount{color:#0f2747;font-size:clamp(24px,5vw,34px);font-weight:700;margin:10px 0 0;overflow-wrap:anywhere}.admin-billing-section{margin-top:28px;min-width:0}.admin-billing-section>h2{font-size:20px;margin-bottom:14px}.admin-billing-list{list-style:none;padding:0;display:grid;gap:12px}.admin-billing-list article{padding:16px;border:1px solid var(--border);border-radius:12px}.admin-billing-list header{display:flex;justify-content:space-between;align-items:start;gap:12px}.admin-billing-list h3{font-size:16px;overflow-wrap:anywhere}.admin-billing-status{font-size:12px;font-weight:600;border-radius:20px;padding:4px 10px;white-space:nowrap;background:#f5f0df;color:#695219}.admin-billing-status.paid,.admin-billing-status.recorded{background:#dff7f4;color:#0f2747}.admin-billing-status.annulled{background:#f8eded;color:#843c3c}.admin-billing .admin-billing-fields{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr));gap:16px;margin:16px 0 0}.admin-billing-fields>div{min-width:0}.admin-billing-fields dt{color:var(--muted);font-size:12px;margin-bottom:6px}.admin-billing .admin-billing-fields dd{margin:0;font-weight:600;overflow-wrap:anywhere}.admin-billing-fields small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:5px}.admin-billing-annulment{margin:12px 0 0;color:#843c3c;font-size:13px;overflow-wrap:anywhere}.admin-billing-empty{border:1px dashed #cbd8d0;background:#fafcfb;border-radius:10px;padding:20px;color:var(--muted)}.admin-billing-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:16px}.admin-billing-pagination span{font-size:13px}@media(max-width:600px){.admin-billing .admin-billing-fields{grid-template-columns:1fr;gap:12px}.admin-billing-list article,.admin-billing-credit{padding:14px}.admin-billing-list header{flex-wrap:wrap}.admin-billing .admin-page-heading>.button{margin-left:0}}.admin-payment-form{margin:20px 0;padding:20px;border:1px solid var(--border);border-radius:12px;background:#fafcfb}.admin-payment-form h2{margin-bottom:16px;font-size:22px}.admin-payment-form :is(h2,[role=alert]):focus{outline:none}.admin-payment-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-payment-fields>label:last-child{grid-column:1 / -1}.admin-payment-form label{display:grid;gap:7px;margin-bottom:16px;min-width:0}.admin-payment-form input,.admin-payment-form select{width:100%;min-width:0;box-sizing:border-box}.admin-payment-form select{text-overflow:ellipsis}.admin-payment-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.admin-payment-progress{border-left:4px solid #997327;padding:12px;background:#fff7e7;color:#64491b;margin-bottom:16px;line-height:1.6}.admin-billing .admin-payment-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-payment-summary dt{color:var(--muted);font-size:12px;margin-bottom:6px}.admin-payment-summary dd{margin:0;overflow-wrap:anywhere}.admin-payment-error{color:#843c3c;margin-top:16px;line-height:1.6}.admin-billing-credit{margin-top:20px}@media(max-width:600px){.admin-payment-form{padding:14px}.admin-payment-fields,.admin-billing .admin-payment-summary{grid-template-columns:1fr}.admin-payment-actions>.button{flex:1 1 100%}}.account-access-links .login-access-link{border:0;background:transparent;padding:5px 0;color:var(--muted, #52665e);font:inherit;font-size:.875rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-align:left}.account-access-links .login-access-link:hover{color:#0f2747}.account-access-links .login-access-link:focus-visible{outline:2px solid #2563eb;outline-offset:3px;border-radius:3px}.account-access-links .login-access-link:disabled{opacity:.6;cursor:wait}.divaru-logo{display:block;width:184px;height:auto;max-width:100%;object-fit:contain;flex-shrink:0}.brand,.admin-brand{min-width:0}.auth-card>.divaru-logo{width:220px;margin-bottom:20px}.admin-brand{display:flex;align-items:center;gap:16px}.admin-brand>strong{color:var(--brand-navy)}.auth-submit{background:var(--brand-blue);color:#fff}.auth-submit:hover:not(:disabled){background:#1d4ed8;color:#fff}.auth-submit:disabled{background:#dce4ef;color:#52647a}.turn-badge{background:#dff7f4;color:var(--brand-navy)}.featured-card{border-left-color:var(--citas-accent)}@media(max-width:600px){.divaru-logo{width:148px}.auth-card>.divaru-logo{width:200px}.admin-brand{flex-direction:column;align-items:flex-start;gap:6px}}
