:root{--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--fs-meta:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:28px;--fs-3xl:34px;--fw-regular:450;--fw-medium:550;--fw-semibold:650;--fw-bold:750;--c-bg:#f7f6f3;--c-bg-2:#f1efea;--c-bg-3:#ebe8e1;--c-surface:#fff;--c-surface-2:#faf9f6;--c-line:#e6e2db;--c-line-strong:#d3cec5;--c-ink:#1c2733;--c-ink-2:#3f4c59;--c-muted:#5d6975;--c-primary:#2459c9;--c-primary-hover:#1c4aae;--c-primary-pressed:#173f94;--c-primary-soft:#eaf0fc;--c-primary-ink:#173f94;--c-focus:#2459c9;--c-success:#1a7a5a;--c-success-soft:#e6f4ee;--c-warning:#8a5a00;--c-warning-soft:#fff4de;--c-danger:#b7283a;--c-danger-soft:#fdecee;--c-destructive:#c62f3e;--c-destructive-hover:#a8242f;--c-disabled-bg:#eeebe5;--c-disabled-ink:#8c8a84;--c-disabled-line:#dcd8d0;--c-teal:#147d73;--c-open:#166534;--c-close:#b91c1c;--c-now:#1d4ed8;--c-off-hours:#eceae5;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--r-sm:8px;--r-md:12px;--r-card:16px;--r-modal:22px;--r-pill:999px;--sh-1:0 1px 2px #1c27330d, 0 1px 1px #1c273308;--sh-2:0 4px 14px #1c273314;--sh-3:0 18px 50px #1c273333;--h-control:48px;--h-control-compact:40px;--motion-press:.1s;--motion-quick:.15s;--motion-base:.18s;--motion-slow:.22s;--motion-ease:cubic-bezier(.2, .7, .3, 1);--motion-rise:8px;--motion-press-scale:.97;--motion-toast:4s}.calendar-panel{border:1px solid var(--line);background:var(--c-surface);border-radius:18px;min-width:0;overflow:hidden}.calendar-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;display:flex}.calendar-period{align-items:center;gap:13px;min-width:0;display:flex}.calendar-period h2{text-transform:capitalize;font-size:21px}.calendar-month-icon{background:var(--c-primary-soft);color:var(--blue);border-radius:11px;place-items:center;width:42px;height:42px;display:grid}.calendar-controls{align-items:center;gap:18px;display:flex}.period-navigation{align-items:center;gap:4px;display:flex}.period-navigation .btn{min-height:39px;padding:7px 12px;font-size:13px}.calendar-controls .segmented button{padding-inline:12px;font-size:13px}.timegrid-head,.timegrid{grid-template-columns:64px repeat(var(--days), minmax(0, 1fr));display:grid}.timegrid-head{border-bottom:1px solid var(--line);background:var(--c-surface-2);padding-right:8px}.timegrid-head>span{text-align:center;color:var(--c-muted);align-self:center;font-size:12px}.timegrid-head button{border-left:1px solid var(--c-line);color:var(--c-muted);background:0 0;justify-content:center;align-items:center;gap:9px;min-height:69px;padding:14px 4px;display:flex}.timegrid-head button>span{text-transform:capitalize;font-size:13px}.timegrid-head button strong{width:34px;height:34px;color:var(--c-ink);place-items:center;font-size:19px;display:grid}.timegrid-head button.today strong{background:var(--blue);color:#fff;border-radius:50%}.timegrid-scroll{scrollbar-width:thin;overscroll-behavior:contain;height:calc(100dvh - 365px);min-height:370px;max-height:780px;overflow-y:auto}.timegrid{position:relative}.time-labels{background:var(--c-surface-2);position:relative}.time-labels>span{text-align:center;color:var(--c-muted);padding-top:6px;font-size:12px;position:absolute;left:0;right:0}.time-column{border-left:1px solid var(--c-line);min-width:0;position:relative}.time-slot{background:var(--c-surface);border-top:1px solid var(--c-line);color:#0000;justify-content:center;align-items:flex-start;width:100%;padding-top:9px;display:flex;position:absolute;left:0}.time-slot:hover{background:var(--c-primary-soft);color:var(--c-primary)}.time-slot:nth-child(2n){border-top-style:dashed}.time-event{background:var(--c-primary-soft);text-align:left;z-index:1;color:var(--c-ink-2);border-left:3px solid #6697e0;border-radius:7px;padding:8px 9px;line-height:1.35;position:absolute;left:4px;right:4px;overflow:hidden}.time-event:hover{filter:brightness(.965);box-shadow:0 2px 8px #385c8d20}.time-event strong{overflow-wrap:anywhere;font-size:13px;display:block}.time-event span{margin-top:5px;font-size:12px;display:block}.time-event small{color:var(--c-muted);overflow-wrap:anywhere;margin-top:6px;font-size:12px;display:block}.time-event.waiting{color:#896525;background:#fff6e4;border-color:#ddaf52}.time-event.completed{background:var(--c-bg-2);color:var(--c-muted);border-color:#96a5c4}.time-event.event-mini{padding:0 5px;font-size:12px}.time-event.event-mini strong{font-size:12px}.calendar-footer{border-top:1px solid var(--line);color:var(--c-muted);background:var(--c-surface);justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;font-size:12px;display:flex}.calendar-legend{flex-wrap:wrap;gap:17px;display:flex}.calendar-legend span{align-items:center;gap:6px;font-size:12px;display:flex}.dot{border-radius:50%;width:7px;height:7px;display:inline-block}.dot.confirmed{background:#6697e0}.dot.waiting{background:#d8ab50}.dot.completed{background:#96a5c4}.month-week-labels,.month-cells{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-week-labels{background:var(--c-surface-2);color:var(--c-muted);text-align:center;padding:16px 0;font-size:13px}.month-cell{border-top:1px solid var(--c-line);border-right:1px solid var(--c-line);min-width:0;min-height:132px;padding:5px}.month-cell:nth-child(7n){border-right:0}.month-cell.outside{background:var(--c-primary-soft)}.month-cell-date{width:36px;height:36px;color:var(--c-ink-2);background:0 0;border-radius:50%;font-size:14px}.month-cell.outside .month-cell-date{color:var(--c-muted)}.month-cell.today .month-cell-date{background:var(--blue);color:#fff}.month-event{background:var(--c-primary-soft);width:100%;color:var(--c-muted);text-align:left;overflow-wrap:anywhere;border-radius:5px;margin:3px 0;padding:5px 7px;font-size:12px;line-height:1.35;display:block}.month-event.waiting{color:#997729;background:#fff6e4}.month-event.completed{background:var(--c-bg-2);color:var(--c-muted)}.calendar-utilities{grid-template-columns:1fr 1fr;gap:22px;margin-top:23px;display:grid}.calendar-log{padding:20px 22px}.calendar-log summary{cursor:pointer;min-height:25px;font-size:14px;font-weight:600}.calendar-log summary svg{vertical-align:middle;margin-right:6px}.calendar-log>p{margin-top:15px;font-size:13px}.calendar-log .checkbox{margin-top:18px;font-size:13px}.log-appointment{text-align:left;border-bottom:1px solid var(--line);background:0 0;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:12px 0;font-size:13px;display:flex}.waiting-match{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:16px 0;display:flex}.waiting-match strong{font-size:14px}.waiting-match .btn{font-size:13px}.detail-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px;display:flex}.planned-work{background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:12px;margin:10px 0 24px;padding:21px}.planned-work>p:not(.eyebrow){color:var(--muted);white-space:pre-wrap;margin-top:10px;font-size:15px}.detail-actions{flex-wrap:wrap;gap:12px;margin-bottom:14px;display:flex}.sub-actions{flex-wrap:wrap;gap:12px;width:100%;display:flex}.saved-session{background:#f0f9f5;border-radius:12px;gap:15px;margin-bottom:20px;padding:21px;display:flex}.saved-session>svg{color:#31947d}.saved-session p{white-space:pre-wrap;margin-top:7px;font-size:15px}.week-strip{border-bottom:1px solid var(--line);background:var(--c-surface-2);grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;padding:13px 15px;display:grid}.week-strip button{color:var(--c-muted);background:0 0;border-radius:10px;flex-direction:column;align-items:center;gap:4px;min-height:79px;padding:8px 3px;display:flex}.week-strip button>span{text-transform:capitalize;font-size:12px}.week-strip button strong{color:var(--c-ink-2);font-size:20px}.week-strip button[aria-pressed=true]{background:var(--blue);color:#fff}.week-strip button[aria-pressed=true] strong{color:#fff}.week-strip i{background:0 0;border-radius:50%;width:4px;height:4px;display:block}.week-strip i.has-events{background:#85a5ce}.week-strip button[aria-pressed=true] i.has-events{background:var(--c-surface)}.mobile-agenda{padding:18px 20px 25px}.mobile-agenda-date{justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px;display:flex}.mobile-agenda-date strong{text-transform:capitalize;font-size:15px}.mobile-agenda-date>span{color:var(--c-muted);font-size:12px}.mobile-time-row{grid-template-columns:47px minmax(0,1fr);gap:13px;margin:0 0 14px;display:grid}.mobile-hour{color:var(--c-muted);padding-top:13px;font-size:13px;font-weight:550}.mobile-event{text-align:left;background:var(--c-primary-soft);border:1px solid #dde9fc;border-left:3px solid #76a0df;border-radius:11px;min-width:0;padding:16px 15px 19px;position:relative;overflow:hidden}.mobile-event>div{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.mobile-event strong{color:var(--c-ink-2);overflow-wrap:anywhere;font-size:16px}.mobile-event p{color:var(--c-muted);margin-top:7px;font-size:14px}.mobile-event>span{color:var(--c-muted);margin-top:7px;font-size:13px;display:block}.mobile-event.waiting{background:#fff7e8;border-color:#f1e3c5 #f1e3c5 #f1e3c5 #dbb363}.mobile-event.waiting strong{color:#806631}.mobile-event.completed{background:var(--c-bg-2);border-color:var(--c-line);border-left-color:#9aaac7}.duration-meter{background:#84a7d7;height:3px;position:absolute;bottom:0;left:0}.mobile-event.waiting .duration-meter{background:#d9b15d}.free-interval{border:1px dashed var(--c-line-strong);background:var(--c-surface-2);text-align:left;min-height:69px;color:var(--c-muted);border-radius:10px;align-items:center;gap:10px;padding:13px 16px;display:flex}.free-interval>span{font-size:14px}.free-interval small{color:var(--c-muted);font-size:12px;display:block}.free-interval:hover{background:var(--c-primary-soft)}@media (width<=1200px){.calendar-toolbar{flex-wrap:wrap;padding:17px}.calendar-period h2{font-size:20px}.time-event strong{font-size:12px}.time-event{padding:7px}.timegrid-head,.timegrid{grid-template-columns:56px repeat(var(--days), minmax(0, 1fr))}.calendar-controls{gap:10px}.calendar-utilities{gap:18px}.timegrid-scroll{height:520px}}@media (width<=1000px){.calendar-toolbar{flex-wrap:wrap}.calendar-controls{flex:1;justify-content:flex-end}.calendar-footer>span{display:none}.calendar-utilities{grid-template-columns:1fr}.mobile-event>div{flex-wrap:nowrap}.mobile-agenda{padding-inline:24px}.mobile-time-row{grid-template-columns:57px minmax(0,1fr)}.mobile-event p{font-size:15px}.calendar-log{padding:20px}}@media (width<=1000px),(width<=1200px) and (hover:none) and (pointer:coarse){.calendar-toolbar{gap:15px;padding:17px 14px}.calendar-period{gap:10px}.calendar-period h2{font-size:19px}.calendar-month-icon{border-radius:9px;width:34px;height:34px}.calendar-month-icon svg{width:19px;height:19px}.calendar-controls{flex-wrap:wrap;justify-content:space-between;gap:12px;width:100%;display:flex}.calendar-controls .segmented{order:2;justify-content:center;width:100%}.calendar-controls .segmented button{flex:1;min-height:40px;font-size:14px}.period-navigation{margin-top:-53px;margin-left:auto}.period-navigation .icon-btn{flex-basis:32px;width:32px;padding:2px}.period-navigation .btn{min-height:36px;padding-inline:8px;font-size:12px}.calendar-period{max-width:calc(100% - 136px)}.calendar-period h2{font-size:16px;line-height:1.4}.calendar-period .calendar-month-icon{display:none}.week-strip{gap:3px;padding:12px 9px}.week-strip button{min-height:76px}.week-strip button strong{font-size:19px}.week-strip button>span{font-size:12px}.mobile-agenda{padding:20px 12px}.mobile-agenda-date{flex-wrap:wrap;align-items:flex-start;gap:8px;margin-bottom:20px;padding-inline:4px}.mobile-agenda-date strong{font-size:14px}.mobile-agenda-date>span{font-size:12px}.mobile-time-row{grid-template-columns:39px minmax(0,1fr);gap:9px;margin-bottom:13px}.mobile-hour{padding-top:14px;font-size:12px}.mobile-event{padding:13px 12px 17px}.mobile-event>div{flex-wrap:wrap;gap:7px}.mobile-event strong{font-size:15px}.mobile-event p{font-size:13px}.mobile-event .badge{padding:3px 6px;font-size:12px}.mobile-event>span{font-size:12px}.free-interval{gap:7px;padding:13px 11px}.free-interval>span{font-size:13px}.free-interval small{font-size:12px}.calendar-footer{padding:13px 15px}.calendar-legend{gap:12px}.calendar-legend span{font-size:12px}.month-week-labels{padding:10px 0;font-size:12px}.month-cell{text-align:center;min-height:61px;padding:2px}.month-cell-date{border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:100%;height:55px;font-size:15px;display:flex}.month-count{background:var(--c-primary-soft);color:var(--c-muted);border-radius:10px;min-width:15px;padding:0 6px;font-size:12px;line-height:15px}.today .month-count{color:#fff;background:#ffffff30}.calendar-log{padding:19px 16px}.calendar-log summary{font-size:14px}.log-appointment{align-items:flex-start;font-size:13px}.log-appointment .badge{flex-shrink:0;font-size:12px}.detail-top{flex-wrap:wrap}.detail-actions>.btn-primary{width:100%}.detail-actions>.btn-secondary{flex:1}.planned-work{padding:18px}.planned-work p:not(.eyebrow){font-size:14px}.sub-actions{justify-content:space-between}.saved-session{padding:17px}.saved-session p{font-size:14px}}.calendar-resource-bar .dc-switch-desktop{margin-left:auto}.calendar-resource-bar .dc-switch-desktop button{padding-inline:12px;font-size:13px}.timegrid-scroll.timegrid-day{height:auto;min-height:0;max-height:none}.timegrid-day .time-slot{padding-top:3px;overflow:hidden}.time-event.day-block{flex-direction:column;justify-content:center;align-items:stretch;gap:1px;padding:2px 8px;font-size:12px;line-height:1.3;display:flex}.time-event.day-block .ev-line,.time-event.day-block .ev-desc,.time-event.day-block .ev-loc,.time-event.day-block .ev-text,.time-event.day-block .ev-name,.time-event.day-block .ev-desc-inline,.time-event.day-block .ev-status,.time-event.day-block .ev-outside{margin-top:0}.time-event.day-block .ev-line{white-space:nowrap;align-items:center;gap:5px;min-width:0;font-size:13px;display:flex;overflow:hidden}.time-event.day-block .ev-text{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.time-event.day-block .ev-name{text-overflow:ellipsis;min-width:0;font-weight:650;overflow:hidden}.time-event.day-block .ev-text .ev-name{overflow:visible}.time-event.day-block .ev-desc-inline,.time-event.day-block .ev-status,.time-event.day-block .ev-outside{font-size:12px;font-weight:400;display:inline}.time-event.day-block .ev-desc,.time-event.day-block .ev-loc{text-overflow:ellipsis;min-width:0;font-size:12px;display:block;overflow:hidden}.time-event.day-block .ev-desc{-webkit-line-clamp:1;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box}.time-event.day-block .ev-loc{white-space:nowrap;color:var(--c-muted)}.time-event.day-block.short-event{padding-block:0}.dc-now{left:var(--now-left,34px);border-top:2px solid var(--c-now);z-index:0;pointer-events:none;height:0;position:absolute;right:0}.dc-now span{z-index:2;background:var(--c-now);border-radius:50%;width:10px;height:10px;position:absolute;top:-6px;left:-1px}.timegrid{--now-left:58px;--marks-left:64px}@media (width<=1200px){.timegrid{--now-left:50px;--marks-left:56px}}.sched-off{background:var(--c-off-hours);position:absolute;left:0;right:0}.sched-line{left:var(--marks-left,40px);border-top:2px solid var(--c-open);z-index:0;pointer-events:none;height:0;position:absolute;right:0}.sched-line.sched-close{border-top-color:var(--c-close)}.sched-tag{left:calc(var(--marks-left,40px) + 6px);z-index:2;white-space:nowrap;color:#fff;background:var(--c-open);pointer-events:none;border-radius:8px;padding:0 7px;font-size:12px;font-weight:650;line-height:16px;position:absolute}.sched-tag.sched-close{background:var(--c-close)}.sched-tag.above{transform:translateY(calc(-100% - 1px))}.sched-tag.below{transform:translateY(3px)}.time-lines{top:0;bottom:0;left:var(--marks-left,64px);pointer-events:none;position:absolute;right:0}.time-lines i{border-top:1px solid var(--c-line);position:absolute;left:0;right:0}.time-lines i.out,.dc-lines i.out,.dc-lines i.half.out{border-top-color:var(--c-line-strong)}.outside-hours{outline:2px dashed var(--c-warning);outline-offset:-3px}.ev-outside,.mobile-day-event .ev-outside.ev-outside,.time-event.day-block .ev-outside.ev-outside{font-weight:650}.ev-outside-mark{font-weight:650;display:block}.patient-overview{align-items:center;gap:13px;margin-bottom:21px;font-size:14px;display:flex}.patient-overview>span:last-child{color:var(--muted);border-left:1px solid var(--c-line-strong);margin-left:2px;padding-left:16px}.patients-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:22px;padding:21px 24px;display:flex}.patients-toolbar .searchbox{width:min(470px,60%)}.patient-table-head,.patient-row{grid-template-columns:minmax(0,1.6fr) minmax(160px,1fr) 100px 25px;align-items:center;gap:25px;display:grid}.patient-table-head{background:var(--c-surface-2);border-bottom:1px solid var(--line);color:var(--c-muted);padding:14px 26px;font-size:12px}.patient-row{border-bottom:1px solid var(--c-line);padding:24px 26px}.patient-row:hover{background:var(--c-surface-2)}.patient-cell{align-items:center;gap:15px;min-width:0;display:flex}.patient-cell>div{min-width:0}.patient-cell strong{overflow-wrap:anywhere;font-size:16px;display:block}.patient-cell>div>span{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:13px;display:block}.patient-phone{color:var(--muted);font-size:14px}.patient-row>svg{color:var(--c-muted)}.table-footer{color:var(--c-muted);padding:17px 25px;font-size:13px}.back-link{color:var(--c-muted);align-items:center;gap:7px;min-height:40px;margin-bottom:17px;font-size:13px;display:inline-flex}.patient-hero{justify-content:space-between;align-items:center;gap:24px;margin:2px 0 27px;display:flex}.patient-identity{align-items:center;gap:19px;min-width:0;display:flex}.patient-identity>div{min-width:0}.avatar.patient-avatar{background:var(--c-primary-soft);width:76px;height:76px;color:var(--c-muted);border:4px solid #fff;flex-basis:76px;font-size:23px;box-shadow:0 1px 5px #3e648414}.patient-title-line{align-items:center;gap:11px;margin-bottom:8px;display:flex}.patient-title-line .eyebrow{margin:0;font-size:12px}.patient-title-line .badge{padding-block:3px;font-size:12px}.patient-identity h1{overflow-wrap:anywhere;font-size:30px}.patient-identity p:not(.eyebrow){color:var(--muted);margin-top:8px;font-size:14px}.profile-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.profile-actions .btn{font-size:14px}.profile-tabs{border-bottom:1px solid var(--c-line);flex-wrap:wrap;gap:10px;margin-bottom:25px;display:flex}.profile-tabs button{color:var(--c-muted);background:0 0;border-bottom:2px solid #0000;min-height:49px;padding:14px 13px 17px;font-size:14px;font-weight:550}.profile-tabs button[aria-current=page]{color:var(--blue);border-bottom-color:var(--blue)}.profile-tabs button:hover{color:var(--blue)}.mobile-profile-select{display:none}.profile-stats{border:1px solid var(--line);background:var(--c-surface);border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:25px;padding:21px 0;display:grid}.profile-stats>div{border-right:1px solid var(--c-line);min-width:0;padding:0 24px}.profile-stats>div:last-child{border:0}.profile-stats span{color:var(--muted);font-size:12px;display:block}.profile-stats strong{letter-spacing:-.6px;overflow-wrap:anywhere;margin-top:7px;font-size:24px;display:block}.profile-columns,.care-layout{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:23px;display:grid}.latest-note{border-top:1px solid var(--c-line);margin-top:22px;padding-top:22px}.latest-note p{color:var(--c-muted);margin-top:10px;font-size:15px}.contact-details{padding:22px 24px}.contact-details>a{color:var(--c-muted);overflow-wrap:anywhere;align-items:center;gap:12px;margin-bottom:18px;font-size:15px;display:flex}.contact-details p{color:var(--muted);margin-bottom:13px;font-size:14px}.contact-details strong{font-size:16px;display:block}.recent-document{text-align:left;min-height:66px;color:var(--c-muted);background:0 0;align-items:center;gap:13px;width:100%;margin-bottom:10px;display:flex}.recent-document>span{overflow-wrap:anywhere;min-width:0;font-size:14px}.recent-document small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.allergy-alert{color:#a6603f;background:#fff3ec;border:1px solid #f6dfce;border-radius:11px;align-items:flex-start;gap:10px;margin:-7px 0 20px;padding:13px 16px;font-size:14px;display:flex}.allergy-alert svg{margin-top:1px}.history-entry{border-bottom:1px solid var(--line);grid-template-columns:85px minmax(0,1fr);gap:23px;padding:25px;display:grid}.history-date{color:var(--c-muted);flex-direction:column;gap:5px;font-size:13px;display:flex}.history-date strong{color:var(--c-ink-2);font-size:14px}.history-entry p{color:var(--c-muted);margin-top:10px;font-size:15px}.section-label{padding:23px 24px 7px;font-size:16px}.timeline-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.timeline-meta>span{color:var(--c-muted);font-size:13px}.evaluation-summary{justify-content:space-between;align-items:center;gap:22px;padding:24px;display:flex}.evaluation-summary h3{font-size:19px}.evaluation-summary p:not(.eyebrow){color:var(--c-muted);margin-top:5px;font-size:14px}.evaluation-summary .eyebrow{font-size:12px}.evaluation-values{gap:29px;display:flex}.evaluation-values>div{min-width:65px}.evaluation-values span{color:var(--muted);font-size:12px;display:block}.evaluation-values strong{letter-spacing:-.5px;color:var(--c-ink-2);margin:5px 0;font-size:29px;display:block}.evaluation-values strong small{color:var(--c-muted);margin-left:3px;font-size:13px;font-weight:400}.evolution-strip{color:#4d8479;background:#f0f7f6;border-radius:10px;align-items:center;gap:12px;margin:0 24px 24px;padding:13px 16px;font-size:13px;display:flex}.evaluation-list article{border-top:1px solid var(--line);padding:23px 24px}.evaluation-list article>div:first-child{flex-wrap:wrap;align-items:center;gap:17px;display:flex}.evaluation-list strong{font-size:15px}.evaluation-list span{color:var(--muted);font-size:14px}.measure-chips{flex-wrap:wrap;gap:12px;margin:15px 0;display:flex}.measure-chips span{background:var(--c-bg-2);color:var(--c-muted);border-radius:7px;padding:5px 10px;font-size:13px}.evaluation-list p{color:var(--c-muted);white-space:pre-wrap;margin-top:7px;font-size:14px}.feature-icon{color:#9a82c1;margin-bottom:15px;display:block}.validated-summary{border-top:1px solid var(--line);margin-top:25px;padding-top:20px}.validated-summary strong{font-size:14px}.validated-summary p{white-space:pre-wrap;color:var(--muted);margin-top:12px;font-size:13px}.plan-item{border-bottom:1px solid var(--line);margin-bottom:15px;padding:10px 0 18px}.plan-item strong{font-size:15px;display:block}.plan-item>span{color:var(--c-muted);margin-top:5px;font-size:13px;display:block}.plan-item p{margin-top:9px;font-size:14px}.availability-row{grid-template-columns:minmax(140px,1.4fr) 1fr 1fr 44px;align-items:end;gap:13px;margin:20px 0;display:grid}.availability-row .field{margin:0}.availability-row .icon-btn{margin-bottom:2px}.dental-layout{grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);align-items:start;gap:23px;display:grid}.odontogram{padding:25px 20px}.arch-label{color:var(--c-muted);justify-content:space-between;align-items:center;gap:14px;font-size:12px;display:flex}.arch-label strong{color:var(--c-muted);font-size:12px;font-weight:550}.arch-label.lower{justify-content:center;margin:-7px 0 22px}.tooth-map{width:100%;height:auto;margin-top:15px;display:block}.tooth{cursor:pointer;outline:none}.tooth:hover .tooth-crown,.tooth:focus-visible .tooth-crown{stroke:var(--c-primary);stroke-width:3px}.tooth-number{fill:var(--c-muted);font:600 21px ui-sans-serif,system-ui}.tooth-selected .tooth-number{fill:var(--c-primary);font-weight:800}.tooth-legend{border-top:1px solid var(--c-line);flex-wrap:wrap;gap:10px 15px;margin:5px 5px 22px;padding-top:18px;display:flex}.tooth-legend>span{color:var(--c-muted);align-items:center;gap:6px;font-size:12px;display:flex}.tooth-legend i{border:1px solid #67839c20;border-radius:3px;width:10px;height:10px;display:block}.tooth-legend .planned-dot{background:#d2962e;border-radius:50%;width:7px;height:7px}.tooth-select{margin:0}.tooth-select>span{font-size:12px}.tooth-history{padding:0 20px}.timeline-item{border-bottom:1px solid var(--line);padding:24px 0}.timeline-item:last-child{border:0}.timeline-item h3{margin:13px 0 7px;font-size:17px}.timeline-item p{color:var(--c-muted);white-space:pre-wrap;font-size:14px}.timeline-item>small{color:var(--c-muted);margin:9px 0 4px;font-size:12px;display:block}.timeline-item>.btn{width:100%;margin-top:15px;font-size:13px}.document-row{border-bottom:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:15px;padding:23px 24px;display:grid}.document-row:last-child{border:0}.file-icon{background:var(--c-primary-soft);width:44px;height:48px;color:var(--c-muted);border-radius:10px;place-items:center;display:grid}.document-copy{min-width:0}.document-copy>button{text-align:left;overflow-wrap:anywhere;max-width:100%;min-height:26px;color:var(--c-ink-2);background:0 0;padding:0;font-size:15px;font-weight:600;display:block}.document-copy>span{color:var(--c-muted);margin-top:5px;font-size:13px;display:block}.document-copy small{color:#ac874e;margin-top:5px;font-size:12px;display:block}.document-actions{align-items:center;gap:7px;display:flex}.document-actions .btn{font-size:13px}.document-confirm{background:#fff5f4;border:1px solid #f4dedb;border-radius:10px;flex-wrap:wrap;grid-column:1/-1;gap:10px;padding:16px;display:flex}.document-confirm p{width:100%;font-size:14px}.document-preview{object-fit:contain;max-width:100%;max-height:70dvh;margin:auto;display:block}.billing-summary{background:var(--c-surface);border:1px solid var(--line);border-radius:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px;padding:23px 0;display:grid}.billing-summary>div{border-right:1px solid var(--line);min-width:0;padding:0 24px}.billing-summary>div:last-child{border:0}.billing-summary span{color:var(--muted);font-size:13px;display:block}.billing-summary strong{letter-spacing:-.7px;overflow-wrap:anywhere;margin-top:5px;font-size:29px;display:block}.billing-summary>div:first-child strong{color:#387c70}.billing-summary>div:nth-child(2) strong{color:#b18b42}.billing-filter{margin:19px 24px 5px}.payment-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 120px 90px auto;align-items:center;gap:20px;padding:21px 24px;display:grid}.payment-row>div:first-child{min-width:0}.payment-row>div:first-child strong{overflow-wrap:anywhere;font-size:15px;display:block}.payment-row>div:first-child span{color:var(--c-muted);margin-top:4px;font-size:13px;display:block}.payment-row>div:first-child small{color:var(--c-muted);margin-top:4px;font-size:12px;display:block}.payment-amount{overflow-wrap:anywhere;font-size:17px}.payment-actions{align-items:center;gap:7px;display:flex}.payment-actions .btn{font-size:13px}.packages-panel{margin-top:25px}.package-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:24px;display:grid}.package-list>.empty{grid-column:1/-1}.package-card{background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:12px;min-width:0;padding:20px}.package-card>strong{overflow-wrap:anywhere;font-size:16px;display:block}.package-card>span{color:var(--c-muted);margin:6px 0;font-size:13px;display:block}.package-card .progress-track{margin:18px 0 10px}@media (width<=1250px){.profile-actions{flex-direction:column;align-items:stretch}.dental-layout{grid-template-columns:1fr}.dental-layout .tooth-map{max-width:850px;margin-inline:auto}.dental-layout .tooth-history{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;display:grid}.patient-table-head,.patient-row{grid-template-columns:minmax(0,1.5fr) minmax(130px,1fr) 78px 20px;gap:16px}.evaluation-summary{flex-wrap:wrap;align-items:flex-start}.payment-row{grid-template-columns:minmax(0,1fr) 100px 85px;gap:17px}.payment-actions{grid-column:1/-1;justify-content:flex-end}.care-layout{grid-template-columns:minmax(0,1.4fr) minmax(270px,1fr)}}@media (width<=1000px){.patient-row,.patient-table-head{grid-template-columns:minmax(0,1fr) 80px 20px;gap:16px}.patient-phone,.patient-table-head>span:nth-child(2){display:none}.profile-columns,.care-layout{grid-template-columns:1fr}.patient-hero{align-items:flex-start}.patient-identity h1{font-size:26px}.avatar.patient-avatar{flex-basis:66px;width:66px;height:66px;font-size:20px}.profile-actions .btn{font-size:13px}.profile-stats>div{padding-inline:17px}.profile-stats strong{font-size:23px}.profile-tabs{gap:3px}.profile-tabs button{padding-inline:10px;font-size:13px}.package-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1000px),(width<=1200px) and (hover:none) and (pointer:coarse){.patient-phone,.patient-table-head>span:nth-child(2){display:none}.patient-overview{gap:9px;font-size:13px}.patient-overview>span:last-child{padding-left:10px}.patients-toolbar{flex-direction:column;align-items:stretch;gap:13px;padding:16px}.patients-toolbar .searchbox{width:100%}.patients-toolbar .segmented{width:100%;display:flex}.patients-toolbar .segmented button{flex:1;min-height:40px;font-size:14px}.patient-table-head{display:none}.patient-row{grid-template-columns:minmax(0,1fr) 52px 16px;gap:8px;padding:22px 16px}.patient-cell{gap:11px}.patient-cell .avatar{flex-basis:41px;width:41px;height:41px;font-size:13px}.patient-cell strong{font-size:15px}.patient-cell>div>span{margin-top:5px;font-size:12px}.patient-row .badge{padding:4px 6px;font-size:12px}.patient-row>svg{width:16px}.table-footer{padding:16px;font-size:12px}.back-link{margin-bottom:12px;font-size:12px}.patient-hero{flex-direction:column;gap:20px;margin-bottom:24px}.patient-identity{align-items:center;gap:13px;width:100%}.patient-identity h1{font-size:25px}.patient-identity p:not(.eyebrow){margin-top:7px;font-size:13px}.avatar.patient-avatar{border-width:3px;flex-basis:62px;width:62px;height:62px;font-size:18px}.patient-title-line .eyebrow{letter-spacing:.4px;font-size:12px}.patient-title-line{gap:10px;margin-bottom:7px}.profile-actions{grid-template-columns:auto 1fr;gap:10px;width:100%;display:grid}.profile-actions .btn{min-height:45px;padding-inline:12px;font-size:13px}.profile-actions svg{width:17px}.profile-tabs{display:none}.mobile-profile-select{flex-direction:column;gap:7px;margin-bottom:22px;display:flex}.mobile-profile-select>span{color:var(--muted);font-size:12px;font-weight:600}.mobile-profile-select select{color:var(--blue);background:var(--c-surface);min-height:48px;font-size:16px;font-weight:550}.profile-stats{grid-template-columns:1fr 1fr;margin-bottom:21px;padding:0}.profile-stats>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 17px}.profile-stats>div:nth-child(2n){border-right:0}.profile-stats>div:nth-last-child(-n+2){border-bottom:0}.profile-stats span{font-size:12px}.profile-stats strong{margin-top:5px;font-size:24px}.profile-columns,.care-layout,.profile-columns>.side-stack{gap:20px}.contact-details{padding:20px 17px}.contact-details>a{font-size:14px}.history-entry{grid-template-columns:1fr;gap:10px;padding:21px 17px}.history-date{flex-direction:row;align-items:center;gap:12px}.history-date strong{font-size:13px}.history-entry p{font-size:14px}.history-entry h3{font-size:17px}.history-entry .timeline-meta{gap:9px}.history-entry .badge{font-size:12px}.section-label{padding:20px 17px 5px}.evaluation-summary{gap:23px;padding:21px 17px}.evaluation-summary h3{font-size:18px}.evaluation-summary p:not(.eyebrow){font-size:13px}.evaluation-values{justify-content:space-between;gap:12px;width:100%}.evaluation-values>div{flex:1;min-width:0}.evaluation-values strong{font-size:28px}.evaluation-values span,.evaluation-values strong small{font-size:12px}.evolution-strip{margin:0 17px 20px;padding:12px;font-size:12px}.evaluation-list article{padding:21px 17px}.evaluation-list article>div:first-child{flex-direction:column;align-items:flex-start;gap:7px}.evaluation-list span{font-size:13px}.measure-chips{gap:7px}.measure-chips span{padding:5px 8px;font-size:12px}.availability-row{background:var(--c-primary-soft);border-radius:12px;grid-template-columns:1fr 1fr 44px;gap:10px;padding:15px}.availability-row>.field:first-child{grid-column:1/span 3}.availability-row input{padding-inline:8px;font-size:15px}.availability-row .field>span{font-size:12px}.dental-layout{gap:20px}.odontogram{padding:20px 12px}.arch-label{flex-wrap:wrap;gap:7px;font-size:12px}.arch-label strong{font-size:12px}.arch-label span{max-width:25%}.tooth-number{font-size:17px}.tooth-map{margin-top:20px}.arch-label.lower{margin-top:2px;margin-bottom:13px}.tooth-legend{gap:10px 12px;margin-bottom:20px;padding-top:15px}.tooth-legend>span,.tooth-select>span{font-size:12px}.dental-layout .tooth-history{padding:0 17px;display:block}.timeline-item h3{font-size:17px}.timeline-meta>span{font-size:12px}.document-row{grid-template-columns:39px minmax(0,1fr);gap:12px;padding:21px 17px}.file-icon{width:39px;height:44px}.document-copy>button{font-size:14px}.document-copy>span{font-size:12px}.document-actions{grid-column:2;justify-content:space-between}.document-actions .btn{min-height:40px;padding:6px 0;font-size:13px}.document-confirm .btn{font-size:13px}.billing-summary{grid-template-columns:1fr 1fr;padding:0}.billing-summary>div{border-bottom:1px solid var(--line);padding:18px 17px}.billing-summary>div:nth-child(2){border-right:0}.billing-summary>div:last-child{border:0;grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.billing-summary strong{letter-spacing:-.5px;font-size:25px}.billing-summary span{font-size:12px}.billing-summary>div:last-child strong{margin:0;font-size:21px}.billing-filter{margin:17px 17px 5px;display:flex}.billing-filter button{flex:1;padding-inline:10px;font-size:13px}.payment-row{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:19px 17px}.payment-row>div:first-child strong{font-size:15px}.payment-row>div:first-child span{font-size:12px}.payment-amount{text-align:right;max-width:115px;font-size:16px}.payment-row>.badge{grid-column:1;align-self:center}.payment-row .payment-actions{grid-area:2/2;justify-content:flex-end;gap:3px}.payment-actions .btn{padding-inline:10px;font-size:12px}.package-list{grid-template-columns:1fr;gap:13px;padding:17px}.package-card{padding:18px}.packages-panel .panel-heading,.profile-content>.panel>.panel-heading{flex-wrap:wrap}.allergy-alert{font-size:13px}}.mobile-arches{flex-direction:column;gap:20px;margin-bottom:22px;display:flex}.mobile-arches section{border-bottom:1px solid var(--c-line);padding:0 0 10px}.mobile-arches h3{color:var(--c-muted);font-size:13px;font-weight:600}.mobile-arches .tooth-map{max-width:420px;margin:8px auto 0}.mobile-arches .tooth-number{font-size:17px}.mobile-arches .tooth:hover .tooth-crown{stroke-width:3px}.billing-period-toolbar{border:1px solid var(--line);background:var(--c-surface);border-radius:16px;justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px;padding:17px 18px;display:flex}.billing-period-copy{text-align:right;flex-direction:column;align-items:flex-end;min-width:0;display:flex}.billing-period-copy span{color:var(--c-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.billing-period-copy strong{color:var(--c-ink);margin-top:3px;font-size:14px}.billing-summary strong,.payment-amount{white-space:nowrap;overflow-wrap:normal;word-break:normal;font-variant-numeric:tabular-nums}.payment-amount{max-width:none}.odontogram-reference{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.odontogram-reference>div:first-child{flex-direction:column;min-width:0;display:flex}.odontogram-reference>div:first-child span{color:var(--c-muted);letter-spacing:.07em;font-size:12px;font-weight:750}.odontogram-reference>div:first-child strong{color:var(--c-ink);margin-top:3px;font-size:13px}.quadrant-key{color:var(--c-muted);text-align:right;grid-template-columns:repeat(2,auto);gap:4px 12px;font-size:12px;display:grid}.quadrant-label{fill:var(--c-muted);font-size:13px;font-weight:750}.tooth-hit:focus,.tooth:focus-visible .tooth-hit{fill:#edf4ff}.tooth-selected .tooth-crown{filter:drop-shadow(0 3px 4px #2368dd2e)}.tooth-selection-card{border:1px solid var(--c-line);background:linear-gradient(#fbfdff 0%,#f5f9ff 100%);border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin:0 5px 17px;padding:13px 14px;display:flex}.tooth-selection-card>div{flex-direction:column;min-width:0;display:flex}.tooth-selection-card>div>span{color:var(--c-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.tooth-selection-card strong{color:var(--c-ink);overflow-wrap:anywhere;margin-top:2px;font-size:13px}.tooth-selection-card small{color:var(--c-muted);margin-top:2px;font-size:12px}.tooth-plan-count{color:#936515;white-space:nowrap;background:#fff3dc;border-radius:999px;flex:none;padding:6px 8px;font-size:12px;font-weight:700}.odontogram-compact{padding-bottom:16px}.odontogram-compact .tooth-select{margin-inline:5px}.dental-plan-map{margin-bottom:23px}.dental-plan-map .odontogram{padding-bottom:16px}.dental-plan-selected{border-top:1px solid var(--c-line);justify-content:space-between;align-items:center;gap:14px;padding:14px 20px 18px;display:flex}.dental-plan-selected>div{flex-direction:column;min-width:0;display:flex}.dental-plan-selected>div span{color:var(--c-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.dental-plan-selected strong{color:var(--c-ink);overflow-wrap:anywhere;margin-top:3px;font-size:13px}.dental-plan-selected>span{color:var(--c-muted);flex:none;font-size:12px}.dentition-family-guide{color:var(--c-muted);text-align:center;text-transform:uppercase;letter-spacing:.035em;grid-template-columns:2fr 2fr 1.25fr 2.5fr 1.25fr 2fr 2fr;align-items:center;gap:5px;padding:9px 16px 2px;font-size:12px;font-weight:750;display:grid}.dentition-family-guide span{border-bottom:2px solid var(--c-line-strong);min-width:0;padding-bottom:5px}.dentition-family-guide span:first-child,.dentition-family-guide span:nth-child(7){border-color:#d6aab2}.dentition-family-guide span:nth-child(2),.dentition-family-guide span:nth-child(6){border-color:#b8c98b}.dentition-family-guide span:nth-child(3),.dentition-family-guide span:nth-child(5){border-color:#d8b58f}.dentition-family-guide span:nth-child(4){border-color:#9cced8}.finish-service{gap:4px;margin-bottom:14px;display:grid}.finish-service p{color:var(--c-ink-2);overflow-wrap:anywhere;margin:0;font-size:16px;font-weight:650}.history-label{color:var(--c-muted);font-weight:600}.patient-row{content-visibility:auto;contain-intrinsic-size:auto 44px}@media (width<=1000px){.patient-row{contain-intrinsic-size:auto 74px}}.history-entry.history-absent{background:#ece9e3;box-shadow:inset 4px 0 #3a3f45}.history-entry.history-absent h3,.history-entry.history-absent p{color:#3a3f45}.history-absent-tag{color:#fff;background:#3a3f45;border-radius:6px;align-items:center;padding:2px 8px;font-size:12px;font-weight:700;line-height:1.5;display:inline-flex}:root{font-family:var(--font);color:var(--c-ink);background:var(--c-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:var(--c-ink);--muted:var(--c-muted);--blue:var(--c-primary);--blue-soft:var(--c-primary-soft);--line:var(--c-line);--teal:var(--c-teal);--surface:var(--c-surface);--sidebar:244px;--radius:var(--r-card)}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{min-width:320px;margin:0;font-size:16px;line-height:1.55}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit;text-decoration:none}button{border:0}button,select{touch-action:manipulation}svg{flex-shrink:0}h1,h2,h3,p{margin:0}h1{letter-spacing:-1.15px;font-size:34px;font-weight:700;line-height:1.16}h2{letter-spacing:-.35px;font-size:20px;font-weight:650;line-height:1.35}h3{letter-spacing:-.2px;font-size:18px;line-height:1.4}small{font-size:13px;line-height:1.5}p{overflow-wrap:anywhere}input,textarea,select{background:var(--c-surface);border:1px solid var(--c-line-strong);border-radius:10px;outline:none;width:100%;min-width:0;min-height:46px;padding:11px 13px;font-size:16px}textarea{resize:vertical;min-height:92px;line-height:1.6}select{padding-right:32px}input[type=checkbox]{width:19px;height:19px;min-height:19px;accent-color:var(--blue);flex-shrink:0}input[type=file]{max-width:100%;padding:10px}input::file-selector-button{color:var(--blue);background:var(--blue-soft);font:inherit;border:0;border-radius:6px;margin-right:10px;padding:7px 10px}:focus-visible{outline-offset:3px;outline:3px solid #6195ec}hr{border:0;border-top:1px solid var(--line);margin:20px 0}.muted{color:var(--muted)}.preline{white-space:pre-wrap}.eyebrow{color:var(--muted);letter-spacing:.5px;margin-bottom:10px;font-size:13px;font-weight:600}.btn{border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;max-width:100%;min-height:46px;padding:10px 18px;font-size:15px;font-weight:600;line-height:1.4;transition:background .15s,box-shadow .15s;display:inline-flex}.btn span{min-width:0}.btn-primary:hover{background:var(--c-primary)}.btn-secondary:hover{background:var(--c-primary-soft)}.btn-ghost{color:var(--blue);background:0 0;padding-inline:10px}.btn-ghost:hover{background:var(--blue-soft)}.btn-danger{color:#b63242;background:#fff1f3;border-color:#f6d6db}.icon-btn{width:44px;height:44px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:10px;flex:0 0 44px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--c-primary-soft);border-color:var(--c-line)}.text-link{color:var(--blue);align-items:center;gap:7px;min-height:44px;font-size:14px;font-weight:600;display:inline-flex}.skip-link{background:var(--blue);color:#fff;z-index:999;padding:12px;position:fixed;top:-100px;left:260px}.skip-link:focus{top:12px}.brand{letter-spacing:-.8px;align-items:center;gap:12px;font-size:23px;font-weight:720;display:flex}.brand-mark{background:var(--c-primary);color:#fff;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 3px 6px #2466dc13}.brand small{color:var(--muted);letter-spacing:0;margin-top:2px;font-size:12px;font-weight:400;display:block}.sidebar{width:var(--sidebar);background:var(--c-surface);border-right:1px solid var(--line);z-index:30;flex-direction:column;padding:27px 17px 18px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar .brand{padding:0 8px}.nav-caption{letter-spacing:1.3px;color:var(--c-muted);margin:40px 16px 14px;font-size:12px;font-weight:700}.sidebar nav{flex-direction:column;gap:7px;display:flex}.sidebar nav a,.settings-link{min-height:50px;color:var(--c-muted);border-radius:11px;align-items:center;gap:13px;padding:14px 17px;font-size:15px;font-weight:550;display:flex}.sidebar nav a:hover,.settings-link:hover{background:var(--c-primary-soft)}.sidebar nav a.active{background:var(--blue-soft);color:var(--blue);font-weight:650}.sidebar-bottom{margin-top:auto}.sidebar{overscroll-behavior:contain;overflow-y:auto}@media (height<=760px){.nav-caption{margin:22px 16px 10px}.sidebar nav{gap:4px}.sidebar nav a,.settings-link{min-height:46px;padding-block:11px}}.local-note{border:1px solid var(--line);background:var(--c-surface-2);border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:12px;padding:16px 12px;display:flex}.local-note strong{font-size:13px;display:block}.local-note small{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.4;display:block}@media (height<=760px){.local-note{margin-bottom:8px;padding:12px}}.live-dot{background:#299984;border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:7px}.professional{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:15px;padding:18px 5px 0;display:flex}.professional div{min-width:0}.professional strong{overflow-wrap:anywhere;font-size:14px;display:block}.professional div>span{color:var(--muted);font-size:12px;display:block}.avatar{background:var(--c-bg-2);color:var(--c-muted);border-radius:50%;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;font-size:14px;font-weight:650;display:inline-flex}.workspace{margin-left:var(--sidebar);min-width:0}.app-topbar{border-bottom:1px solid var(--line);z-index:20;background:#fffffff5;justify-content:space-between;align-items:center;gap:16px;height:76px;padding:0 34px;display:flex;position:sticky;top:0}.breadcrumb{color:var(--muted);align-items:center;gap:12px;font-size:14px;display:flex}.breadcrumb strong{color:var(--ink)}.topbar-actions{align-items:center;gap:12px;display:flex}.specialty-switch{background:var(--c-bg-2);border:1px solid var(--c-line);min-height:40px;color:var(--c-ink-2);border-radius:9px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.mobile-brand,.mobile-settings,.bottom-nav{display:none}.main-content{min-width:0}.page{min-width:0;max-width:1710px;margin:0 auto;padding:30px 34px 50px}.page-header{justify-content:space-between;align-items:center;gap:22px;margin-bottom:27px;display:flex}.page-header>div{min-width:0}.page-description{color:var(--muted);margin-top:10px;font-size:15px}.page-header>.btn{flex-shrink:0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;box-shadow:0 2px 4px #213b5702}.panel-heading{border-bottom:1px solid var(--c-line);justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:22px 24px;display:flex}.panel-heading>div{min-width:0}.panel-heading p{color:var(--muted);margin-top:5px;font-size:13px}.panel-heading>.btn{flex-shrink:0}.panel-body{padding:24px}.panel-body p{margin-bottom:18px}.side-stack{flex-direction:column;gap:22px;min-width:0;display:flex}.empty{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:160px;padding:35px 24px;display:flex}.empty strong{color:var(--c-ink-2);font-size:15px}.empty p{max-width:420px;margin:0;font-size:14px;line-height:1.7}.empty-symbol{background:var(--c-bg-2);width:44px;height:44px;color:var(--c-muted);border-radius:13px;place-items:center;margin-bottom:3px;display:grid}.badge{background:var(--c-bg-2);width:fit-content;max-width:100%;color:var(--c-muted);border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:5px 8px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.badge-confirmed,.badge-active,.badge-paid,.badge-done{color:#227b60;background:#eaf7f2}.badge-waiting,.badge-planned,.badge-unpaid{color:#996811;background:#fff4df}.badge-cancelled,.badge-no_show{color:#b04a58;background:#fceef0}.welcome{justify-content:space-between;align-items:center;gap:28px;padding:6px 0 28px;display:flex;position:relative}.welcome h1{letter-spacing:-1.4px;font-size:38px}.greeting-dot{color:var(--blue)}.welcome p:not(.eyebrow){color:var(--muted);margin-top:12px;font-size:15px}.welcome .btn{flex-shrink:0}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:26px;display:grid}.stat-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--c-surface);min-width:0;padding:21px 22px 18px}.stat-top{color:var(--muted);justify-content:space-between;align-items:center;gap:9px;font-size:13px;line-height:1.5;display:flex}.stat-icon{border-radius:11px;flex:0 0 38px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.blue{background:var(--c-primary-soft);color:var(--c-primary)}.teal{color:#24877a;background:#eaf7f4}.violet{color:#8064bc;background:#f2effc}.amber{color:#ad7a2d;background:#fff6e7}.rose{color:#b85c72;background:#fff0f3}.stat-value{letter-spacing:-1px;overflow-wrap:anywhere;margin:7px 0 5px;font-size:31px;line-height:1.4;display:block}.stat-card>small{color:var(--c-muted);font-size:12px}.dashboard-columns{grid-template-columns:minmax(0,1.7fr) minmax(310px,1fr);align-items:start;gap:24px;display:grid}.appointment-row{text-align:left;background:var(--c-surface);border-bottom:1px solid var(--c-line);align-items:center;gap:15px;width:100%;min-height:91px;padding:22px 24px;display:flex}.appointment-row:hover{background:var(--c-surface-2)}.appointment-time{flex-direction:column;flex:0 0 50px;gap:4px;display:flex}.appointment-time strong{font-size:15px}.appointment-time small{color:var(--c-muted);font-size:12px}.appointment-copy{flex:1;min-width:0}.appointment-copy strong{overflow-wrap:anywhere;font-size:15px;display:block}.appointment-copy>span{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:13px;display:block}.row-arrow{color:var(--c-muted)}.appointment-row .badge{flex-shrink:0}.tint-waiting{color:#a4874b;background:#f9f0de}.tint-confirmed{background:var(--c-primary-soft);color:var(--c-muted)}.agenda-footer{color:var(--c-muted);align-items:center;gap:8px;padding:18px 24px;font-size:13px;display:flex}.agenda-footer svg{color:var(--teal)}.progress-track{background:var(--c-bg-2);border-radius:8px;height:6px;overflow:hidden}.progress-track i{border-radius:inherit;background:#6e9dde;height:100%;display:block}.agenda-footer .progress-track{flex:1;max-width:180px;margin-left:12px}.attention-list{flex-direction:column;gap:8px;padding:12px;display:flex}.attention-item{border-radius:11px;align-items:center;gap:13px;padding:17px 14px;display:flex}.attention-item div{flex:1;min-width:0}.attention-item strong{color:var(--c-ink-2);font-size:14px;line-height:1.4;display:block}.attention-item span{color:var(--c-muted);margin-top:5px;font-size:12px;display:block}.attention-item:hover{filter:brightness(.985)}.opportunity{border:1px solid var(--c-line);background:var(--c-primary-soft);border-radius:var(--radius);padding:23px 24px;position:relative}.opportunity-icon{color:var(--c-muted);position:absolute;top:22px;right:21px}.opportunity .eyebrow{letter-spacing:1px;max-width:80%;color:var(--c-muted);font-size:12px}.opportunity h2{margin-top:16px;font-size:22px}.opportunity>p:not(.eyebrow){color:var(--c-muted);max-width:350px;margin:10px 0 18px;font-size:14px}.opportunity .btn{border-color:var(--c-line-strong);background:#fff9;font-size:14px}.dashboard-bottom{grid-template-columns:1fr 1fr;gap:24px;margin-top:25px;display:grid}.dashboard-bottom>a{background:var(--c-surface);border:1px solid var(--line);border-radius:15px;align-items:center;gap:15px;padding:22px;display:flex}.dashboard-bottom>a>div{flex:1}.dashboard-bottom strong{font-size:15px;display:block}.dashboard-bottom div>span{color:var(--muted);margin-top:4px;font-size:13px;display:block}.dashboard-bottom>a>svg{color:var(--c-muted)}.demo-caption{text-align:right;color:var(--c-muted);margin-top:18px;font-size:12px}.searchbox{background:var(--c-primary-soft);border:1px solid var(--c-line-strong);min-width:0;color:var(--c-muted);border-radius:10px;align-items:center;gap:11px;padding:0 12px;display:flex}.searchbox:focus-within{border-color:var(--blue)}.searchbox input{box-shadow:none;background:0 0;border:0;min-height:47px;padding:10px 0}.searchbox button{background:0 0;place-items:center;min-width:30px;min-height:40px;display:grid}.segmented{background:var(--c-bg-2);border:1px solid var(--c-line);border-radius:11px;align-items:center;gap:3px;max-width:100%;padding:4px;display:inline-flex}.segmented button{color:var(--c-muted);background:0 0;border-radius:8px;min-height:38px;padding:9px 13px;font-size:14px;font-weight:550}.field{flex-direction:column;gap:7px;min-width:0;margin-bottom:20px;display:flex}.field>span:first-child{color:var(--c-ink-2);font-size:14px;font-weight:600}.field small{color:var(--c-muted);font-size:12px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;margin-top:22px;padding-top:20px;display:flex}.form-summary{background:var(--c-primary-soft);border:1px solid #e3ebf9;border-radius:12px;align-items:center;gap:15px;margin-bottom:23px;padding:17px;display:flex}.form-summary strong{font-size:20px;display:block}.form-summary span:not(.stat-icon){color:var(--muted);align-items:center;gap:5px;margin-top:3px;font-size:13px;display:flex}.notice{background:var(--c-primary-soft);color:var(--c-ink-2);border:1px solid #d9e6fa;border-radius:10px;margin:16px 0;padding:17px 18px;font-size:14px}.notice-error{color:#a7374b;background:#fff1f3;border-color:#f5d5dc}.notice p{margin-top:6px}.inline-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.checkbox{align-items:center;gap:10px;margin:10px 0 19px;font-size:15px;display:flex}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);overscroll-behavior:contain;background:#15283c66;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--c-surface);border-radius:21px;flex-direction:column;width:600px;min-width:0;max-width:100%;max-height:calc(100dvh - 48px);display:flex;overflow:hidden;box-shadow:0 25px 90px #0d203a40}.modal-wide{width:810px}.modal-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 26px 20px;display:flex}.modal-header h2{overflow-wrap:anywhere;font-size:22px}.modal-header p{color:var(--muted);margin-top:5px;font-size:13px}.modal-header .icon-btn{margin-top:-5px}.modal-content{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;padding:24px 26px;overflow-y:auto}.select-trigger{border:1px solid var(--c-line-strong);background:var(--c-surface);text-align:left;border-radius:10px;align-items:center;gap:10px;min-width:0;min-height:47px;padding:11px 13px;display:flex}.select-trigger>span{overflow-wrap:anywhere;flex:1;min-width:0}.picker-menu{border:1px solid var(--line);background:var(--c-surface);border-radius:12px;padding:10px;box-shadow:0 7px 20px #192c4210}.picker-options{max-height:230px;margin-top:8px;overflow:auto}.picker-options>button{background:var(--c-surface);text-align:left;border-radius:8px;flex-direction:column;width:100%;min-height:52px;padding:10px;font-size:15px;display:flex}.picker-options>button:hover,.picker-options>button[aria-pressed=true]{background:var(--blue-soft);color:var(--blue)}.picker-options small{color:var(--muted);font-size:12px}.date-picker{border:1px solid var(--c-line);background:var(--c-surface-2);border-radius:12px;max-width:380px;margin-top:1px;padding:10px}.date-picker-head{text-transform:capitalize;justify-content:space-between;align-items:center;font-size:15px;display:flex}.date-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.date-grid>span{color:var(--muted);padding:6px;font-size:13px}.date-grid button{background:0 0;border-radius:8px;min-height:43px;font-size:15px}.date-grid button:hover{background:var(--c-primary-soft)}.date-grid button.selected{background:var(--blue);color:#fff}.date-grid .outside{color:var(--c-muted)}.toast{z-index:200;color:#fff;pointer-events:none;background:#223c50;border-radius:12px;max-width:min(560px,100% - 32px);padding:14px 23px;font-size:14px;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #1a2b4340}.specialty-options{flex-direction:column;gap:14px;display:flex}.specialty-options button{text-align:left;background:var(--c-surface);border:1px solid var(--c-line-strong);border-radius:13px;align-items:center;gap:17px;min-height:87px;padding:20px;display:flex}.specialty-options button.selected{border-color:var(--blue);background:var(--c-primary-soft);color:var(--blue);box-shadow:0 0 0 1px #2466dc}.specialty-options button>span{flex:1;min-width:0}.specialty-options strong{font-size:17px;display:block}.specialty-options small{color:var(--muted);margin-top:5px;font-size:13px;display:block}.search-results>a{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:17px 0;display:flex}.search-results>a>div{flex:1}.search-results strong{font-size:15px;display:block}.search-results small{color:var(--muted);font-size:13px}.onboarding{background:radial-gradient(at 100% 0,#e7f1ff,#0000 60%),#f7f9fc;justify-content:center;align-items:center;min-height:100dvh;padding:32px;display:flex}.onboarding>section{background:var(--c-surface);border:1px solid var(--line);border-radius:24px;width:580px;max-width:100%;padding:44px;box-shadow:0 20px 70px #335c8810}.onboarding .brand{margin-bottom:45px}.onboarding h1{max-width:370px;font-size:36px}.onboarding h1+p{color:var(--muted);margin:17px 0 26px;font-size:15px}.onboarding .btn{width:100%;margin-top:28px}.onboarding-note{color:var(--muted);margin-top:20px;font-size:12px}.loading-screen{z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.loading-content{color:var(--muted);padding:40px}.settings-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.backup-symbol{color:#3f9580;background:#edf6f3;border-radius:15px;place-items:center;width:55px;height:55px;margin-bottom:17px;display:grid}.panel-body>h3{margin-bottom:10px}.stacked-actions{flex-direction:column;gap:12px;margin:20px 0;display:flex}.upload-control{cursor:pointer;position:relative}.upload-control input{opacity:0;cursor:pointer;position:absolute;inset:0}.connection-status{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:15px;display:flex}.integration-list{margin:20px 0 0}.integration-list>div{border-top:1px solid var(--line);justify-content:space-between;gap:15px;padding:13px 0;font-size:14px;display:flex}.integration-list dd{color:var(--muted);text-align:right;margin:0}.audit-panel,.migration-panel{margin-top:24px;padding:22px 24px}.audit-panel summary{cursor:pointer;font-weight:600}.audit-panel>p{margin:15px 0}.audit-row{border-top:1px solid var(--line);overflow-wrap:anywhere;grid-template-columns:1fr 1fr 1fr;gap:12px;padding:12px 0;font-size:13px;display:grid}.mobile-extra-links{display:none}.month-filter{max-width:240px}.report-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:25px;display:grid}.report-metrics article{background:var(--c-surface);border:1px solid var(--line);border-radius:16px;padding:22px}.report-metrics span{color:var(--muted);font-size:14px;display:block}.report-metrics strong{overflow-wrap:anywhere;margin-top:8px;font-size:30px;display:block}.report-bar-row{margin:12px 0 23px}.report-bar-row>div:first-child{justify-content:space-between;margin-bottom:9px;font-size:14px;display:flex}.week-chart{justify-content:space-between;gap:10px;padding:27px 24px;display:flex}.week-chart>div{flex-direction:column;flex:1;align-items:center;min-width:0;display:flex}.week-chart strong{font-size:15px}.chart-track{background:var(--c-bg-2);border-radius:6px;align-items:flex-end;width:25px;height:150px;margin:10px 0;display:flex}.chart-track i{background:#8aade7;border-radius:6px;width:100%;min-height:2px}.week-chart span{font-size:14px}.week-chart small{color:var(--muted);text-align:center;font-size:12px}@media (width>=1650px){.page{padding:39px 48px 55px}.app-topbar{padding-inline:48px}.dashboard-columns{grid-template-columns:minmax(0,1.8fr) minmax(365px,1fr)}.appointment-row{padding-block:25px}.stat-card{padding:24px 26px}.stat-value{font-size:34px}}@media (width<=1200px){:root{--sidebar:208px}.sidebar{padding-inline:12px}.brand{gap:8px;font-size:21px}.brand small{font-size:12px}.sidebar nav a{padding-inline:12px}.page{padding:25px}.app-topbar{padding-inline:25px}.stats-grid{gap:13px}.stat-card{padding:17px 16px}.stat-value{font-size:28px}.dashboard-columns{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:18px}.appointment-row{gap:11px;padding-inline:18px}.appointment-row>.avatar{display:none}.panel-heading{padding:19px 20px}.panel-body{padding:20px}.row-arrow{display:none}.stat-top{align-items:flex-start}.stat-icon{flex-basis:34px;width:34px;height:34px}.dashboard-bottom{gap:18px}.dashboard-bottom>a{padding:18px}}@media (width<=1000px){:root{--sidebar:80px}.sidebar{padding:25px 12px}.sidebar .brand{justify-content:center;padding:0}.sidebar .brand>span:last-child,.sidebar nav a span,.nav-caption,.local-note,.professional>div,.settings-link{display:none}.sidebar nav{margin-top:35px}.sidebar nav a{justify-content:center;padding:15px}.professional{justify-content:center;padding:18px 0 0}.sidebar-bottom{margin-top:auto}.breadcrumb>span:first-child{overflow-wrap:anywhere;max-width:160px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-top{align-items:center}.stat-value{font-size:32px}.welcome h1{font-size:34px}.dashboard-columns{grid-template-columns:1fr}.dashboard-columns>.side-stack{grid-template-columns:1fr 1fr;display:grid}.settings-grid{gap:18px}.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-row>.avatar{display:inline-flex}.page-header .page-description{max-width:430px}}@media (width<=1000px),(width<=1200px) and (hover:none) and (pointer:coarse){html{scrollbar-gutter:auto}.sidebar{display:none}.workspace{margin-left:0}.app-topbar{height:64px;padding:0 16px;padding-top:env(safe-area-inset-top);height:calc(64px + env(safe-area-inset-top));gap:10px}.breadcrumb{display:none}.mobile-brand{letter-spacing:-.5px;align-items:center;gap:9px;font-size:17px;display:flex}.mobile-brand .brand-mark{border-radius:10px;width:34px;height:34px}.mobile-settings{display:inline-flex}.topbar-actions{gap:1px}.specialty-switch{background:0 0;border-color:#0000;gap:3px;min-height:44px;padding:9px}.specialty-switch>span,.topbar-actions>button.icon-btn{display:none}.page{padding:23px 16px calc(100px + env(safe-area-inset-bottom))}.bottom-nav{z-index:40;min-height:72px;padding:7px 12px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--c-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -3px 15px #2c466205}.bottom-nav a{color:var(--c-muted);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:57px;font-size:12px;font-weight:600;display:flex}.bottom-nav a.active{color:var(--blue);background:var(--c-primary-soft)}.page-header{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:23px}.page-header h1{letter-spacing:-.8px;font-size:29px}.page-description{margin-top:8px;font-size:14px}.page-header>.btn{min-height:45px}.eyebrow{margin-bottom:8px;font-size:12px}.welcome{flex-direction:column;align-items:flex-start;gap:20px;padding:3px 0 24px}.welcome h1{font-size:34px}.welcome p:not(.eyebrow){max-width:290px;margin-top:10px;font-size:14px;line-height:1.65}.welcome .btn{width:100%;min-height:48px}.stats-grid{gap:11px;margin-bottom:22px}.stat-card{border-radius:15px;padding:15px 15px 14px}.stat-top{align-items:flex-start;gap:7px;min-height:36px;font-size:12px}.stat-top .stat-icon{border-radius:8px;flex-basis:28px;width:28px;height:28px}.stat-top svg{width:17px;height:17px}.stat-value{letter-spacing:-.7px;margin:7px 0 4px;font-size:27px}.stat-card>small{font-size:12px;line-height:1.6;display:block}.dashboard-columns{gap:20px}.dashboard-columns>.side-stack{gap:20px;display:flex}.panel{border-radius:16px}.panel-heading{align-items:center;gap:10px;padding:19px 17px}.panel-heading h2{font-size:18px}.panel-heading p{font-size:12px}.panel-heading .text-link{font-size:13px}.appointment-row{grid-template-columns:48px minmax(0,1fr) auto;gap:12px;padding:19px 16px;display:grid}.appointment-row>.avatar{display:none}.appointment-time{grid-row:1/span 2;gap:3px}.appointment-time strong{font-size:14px}.appointment-copy{grid-column:2/span 2}.appointment-copy strong{font-size:15px}.appointment-copy>span{font-size:13px}.appointment-row .badge{grid-column:2;justify-self:start;margin-top:-4px;font-size:12px}.appointment-time small{font-size:12px}.agenda-footer{flex-wrap:wrap;padding:15px 17px;font-size:12px}.agenda-footer .progress-track{min-width:70px;margin-left:0}.dashboard-bottom{grid-template-columns:1fr;gap:12px;margin-top:20px}.dashboard-bottom>a{padding:19px 17px}.dashboard-bottom strong{font-size:15px}.dashboard-bottom div>span{font-size:13px}.demo-caption{text-align:left;font-size:12px}.btn{min-height:46px;padding:11px 15px;font-size:14px}.badge{font-size:12px}.panel-body{padding:19px 17px}.modal-overlay{background:#15283c77;align-items:flex-end;padding:0}.modal{width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - 12px);border-radius:22px 22px 0 0;box-shadow:0 -10px 60px #192c4240}.modal-header{padding:21px 18px 17px}.modal-header h2{font-size:21px}.modal-header p{font-size:13px}.modal-content{padding:21px 18px calc(24px + env(safe-area-inset-bottom));scrollbar-gutter:auto}.form-grid{gap:13px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.field>span:first-child{font-size:13px}.field{margin-bottom:18px}.form-actions{justify-content:space-between;gap:9px}.form-actions .btn-primary{flex:1}.toast{bottom:calc(88px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 28px);font-size:13px}.specialty-options button{gap:12px;padding:18px 15px}.specialty-options strong{font-size:16px}.specialty-options small{font-size:13px}.onboarding{padding:16px}.onboarding>section{border-radius:20px;padding:28px 23px}.onboarding .brand{margin-bottom:30px}.onboarding h1{font-size:31px}.onboarding-note{font-size:12px}.settings-grid{grid-template-columns:1fr;gap:20px}.audit-panel,.migration-panel{padding:20px 17px}.audit-row{grid-template-columns:1.2fr 1fr;gap:5px;font-size:12px}.audit-row span:last-child{display:none}.integration-list>div{font-size:13px}.mobile-extra-links{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px;display:grid}.mobile-extra-links a{background:var(--c-surface);border:1px solid var(--line);color:var(--blue);border-radius:12px;align-items:center;gap:10px;padding:14px;font-size:14px;font-weight:600;display:flex}.report-metrics{gap:12px}.report-metrics article{padding:17px}.report-metrics strong{font-size:27px}.report-metrics span{font-size:12px}.week-chart{gap:6px;padding:23px 15px}.week-chart small{font-size:12px}.chart-track{width:22px}.empty{padding:30px 18px}.date-grid button{min-height:43px}.opportunity>p:not(.eyebrow){max-width:none}}@media (width<=370px){.page{padding-inline:13px}.stat-card{padding:13px}.stat-value{font-size:24px}.stat-top{font-size:12px}.panel-heading{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-actions .btn{padding-inline:10px}.btn{font-size:14px}.mobile-brand{font-size:16px}.app-topbar{padding-inline:13px}}@media (height<=500px) and (orientation:landscape){.app-topbar{position:relative}.modal-overlay{align-items:center;padding:8px}.modal{border-radius:15px;max-height:calc(100dvh - 16px)}.modal-header{padding:14px 20px}.modal-content{padding:17px 20px}.bottom-nav{min-height:58px;padding-block:3px}.bottom-nav a{flex-direction:row;gap:8px;min-height:48px}.page{padding-bottom:82px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.sidebar,.app-topbar,.bottom-nav,.btn,.profile-tabs,.mobile-profile-select,.back-link,.toast{display:none!important}.workspace{margin:0}.page{padding:0}.panel{box-shadow:none;break-inside:avoid}.profile-columns{grid-template-columns:1fr}}.stat-tools{flex:none;align-items:center;gap:8px;display:flex}.stat-privacy{border:1px solid var(--c-line);background:var(--c-surface);width:34px;height:34px;color:var(--c-muted);border-radius:10px;place-items:center;transition:background .16s,color .16s,border-color .16s;display:grid}.stat-privacy:hover,.stat-privacy:focus-visible{background:var(--c-bg-2);color:var(--blue);border-color:var(--c-line-strong)}.stat-value,.report-metrics strong{white-space:nowrap;overflow-wrap:normal;word-break:normal;font-variant-numeric:tabular-nums}.stat-money{letter-spacing:-.7px}.period-picker{gap:7px;width:min(100%,360px);display:grid}.period-picker>span{color:var(--c-muted);font-size:12px;font-weight:650}.period-trigger{border:1px solid var(--c-line-strong);width:100%;min-height:52px;color:var(--c-ink);text-align:left;background:linear-gradient(#fff 0%,#fbfcfe 100%);border-radius:13px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 14px;display:grid;box-shadow:0 5px 16px #2339520b}.period-trigger:hover,.period-trigger:focus-visible{border-color:var(--c-line-strong);box-shadow:0 7px 20px #23395213}.period-trigger>svg{color:var(--blue)}.period-trigger strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.period-trigger>span{color:var(--blue);font-size:12px;font-weight:700}.period-modal{gap:18px;display:grid}.period-mode{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}.period-mode button{min-width:0}.period-year-nav{grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:10px;padding:2px 0;display:grid}.period-year-nav strong{text-align:center;letter-spacing:-.4px;font-size:22px}.period-month-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.period-month-grid button,.period-year-grid button{border:1px solid var(--c-line);background:var(--c-surface);min-height:52px;color:var(--c-ink-2);border-radius:12px;justify-content:center;align-items:center;gap:7px;font-weight:650;display:flex}.period-month-grid button:hover,.period-year-grid button:hover,.period-quarter-grid button:hover{border-color:var(--c-line-strong);background:var(--c-surface-2)}.period-month-grid button.selected,.period-year-grid button.selected,.period-quarter-grid button.selected{background:var(--c-primary-soft);color:var(--c-primary);border-color:#95b4e6;box-shadow:inset 0 0 0 1px #c8daf6}.period-quarter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.period-quarter-grid button{border:1px solid var(--c-line);background:var(--c-surface);min-height:74px;color:var(--c-ink-2);text-align:left;border-radius:13px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 10px;padding:13px 15px;display:grid}.period-quarter-grid button strong{font-size:14px}.period-quarter-grid button span{color:var(--c-muted);grid-column:1;font-size:12px}.period-quarter-grid button svg{grid-area:1/2/span 2}.period-year-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.period-custom-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.period-custom-grid .field{margin:0}.period-error{color:#ae4858;grid-column:1/-1;margin:0;font-size:12px}.period-preview{background:var(--c-primary-soft);color:var(--c-primary);border:1px solid #dce7f5;border-radius:12px;align-items:center;gap:11px;padding:13px 14px;display:flex}.period-preview>div{flex-direction:column;min-width:0;display:flex}.period-preview span{color:var(--c-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:650}.period-preview strong{color:var(--c-ink);margin-top:2px;font-size:13px}.report-period-toolbar{border:1px solid var(--line);background:var(--c-surface);border-radius:16px;justify-content:space-between;align-items:end;gap:18px;margin-bottom:22px;padding:17px 18px;display:flex}.report-period-toolbar p{max-width:500px;color:var(--c-muted);text-align:right;margin:0 0 4px;font-size:12px}.report-period-toolbar p strong{color:var(--c-ink-2)}.picker-menu-floating{z-index:1400;margin:0;position:fixed;overflow:hidden;box-shadow:0 18px 42px #17293f29}.picker-menu-floating .picker-options{max-height:min(240px,100vh - 190px)}.period-mode{grid-template-columns:repeat(2,minmax(0,1fr))}.period-year-select{border:1px solid var(--c-line-strong);background:var(--c-surface);width:100%;min-height:44px;color:var(--c-ink);font:inherit;text-align:center;text-align-last:center;border-radius:11px;font-size:16px;font-weight:750}.date-picker-title{min-height:36px;color:var(--c-ink);text-transform:capitalize;background:0 0;border-radius:9px;justify-content:center;align-items:center;gap:5px;padding:0 9px;font-size:15px;font-weight:750;display:inline-flex}.date-picker-title:hover,.date-picker-title:focus-visible{background:var(--c-primary-soft)}.date-jump-panel{border:1px solid var(--c-line);background:var(--c-primary-soft);border-radius:11px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:7px 0 8px;padding:10px;display:grid}.date-jump-panel>div{gap:5px;min-width:0;display:grid}.date-jump-panel>div>span{color:var(--c-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.date-jump-panel select{border:1px solid var(--c-line-strong);background:var(--c-surface);width:100%;min-width:0;min-height:42px;color:var(--c-ink);font:inherit;text-align:center;text-align-last:center;border-radius:9px;font-size:14px;font-weight:650}.date-jump-apply{grid-column:1/-1;width:100%;min-height:40px}.date-grid button:disabled{opacity:.28;cursor:not-allowed}.practice-settings{gap:16px;display:grid}.practice-mode-options{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.practice-mode-copy{border:1px solid var(--c-line);background:var(--c-primary-soft);color:var(--c-ink-2);border-radius:12px;align-items:flex-start;gap:11px;padding:14px;display:flex}.practice-mode-copy>div{gap:3px;min-width:0;display:grid}.practice-mode-copy strong{font-size:14px}.practice-mode-copy span{color:var(--c-muted);font-size:12px;line-height:1.45}.team-editor{gap:12px;display:grid}.team-editor-head strong,.team-editor-head span{display:block}.team-editor-head span{color:var(--muted);margin-top:3px;font-size:12px}.team-member-list{gap:7px;display:grid}.team-member-row{border:1px solid var(--c-line);background:var(--c-surface);border-radius:10px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;min-height:54px;padding:8px 10px;display:grid}.team-member-row.primary{background:var(--c-primary-soft);border-color:#d8e5f7}.team-avatar{background:var(--c-primary-soft);width:32px;height:32px;color:var(--blue);border-radius:9px;place-items:center;font-size:12px;font-weight:800;display:grid}.team-member-row>div{gap:2px;min-width:0;display:grid}.team-member-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.team-member-row span:not(.team-avatar){color:var(--muted);font-size:12px}.team-add-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.team-add-row input{border:1px solid var(--c-line-strong);min-width:0;min-height:44px;font:inherit;border-radius:10px;padding:0 12px}.onboarding-practice{margin-top:18px}.onboarding-section-label{color:var(--c-muted);letter-spacing:.06em;margin-bottom:8px;font-size:12px;font-weight:800;display:block}.practice-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.practice-options button{border:1px solid var(--c-line);background:var(--c-surface);min-width:0;min-height:82px;color:var(--c-ink-2);text-align:left;border-radius:13px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;padding:13px;display:grid}.practice-options button[aria-pressed=true]{background:var(--c-primary-soft);color:var(--c-primary);border-color:#9bbcec;box-shadow:inset 0 0 0 1px #d0e0f8}.practice-options button>span{gap:3px;min-width:0;display:grid}.practice-options strong{font-size:14px}.practice-options small{color:var(--c-muted);font-size:12px;line-height:1.35}.calendar-resource-bar{border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);background:var(--c-surface-2);justify-content:flex-end;align-items:center;gap:9px;padding:10px 18px;display:flex}.calendar-resource-bar span{color:var(--c-muted);font-size:12px;font-weight:650}.calendar-resource-bar select{border:1px solid var(--c-line-strong);background:var(--c-surface);min-width:180px;min-height:38px;color:var(--c-ink);font:inherit;border-radius:9px;padding:0 10px;font-size:13px;font-weight:650}.appointment-type{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.group-patients-field{border:1px solid var(--c-line);background:var(--c-surface-2);border-radius:12px;gap:10px;margin-bottom:16px;padding:13px;display:grid}.group-patients-head{grid-template-columns:minmax(0,1fr) 120px;align-items:end;gap:12px;display:grid}.group-patients-head>div:first-child{gap:3px;min-width:0;display:grid}.group-patients-head>div:first-child>span{color:var(--c-muted);font-size:12px;font-weight:700}.group-patients-head>div:first-child>strong{font-size:15px}.group-patients-head .field{margin:0}.group-patient-list{gap:5px;max-height:250px;padding-right:3px;display:grid;overflow-y:auto}.group-patient-list label{border:1px solid var(--c-line);background:var(--c-surface);border-radius:9px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:9px;min-height:50px;padding:8px 10px;display:grid}.group-patient-list label.selected{background:var(--c-primary-soft);border-color:#b5ccef}.group-patient-list label>span{gap:2px;min-width:0;display:grid}.group-patient-list strong{font-size:13px}.group-patient-list small{color:var(--muted);font-size:12px}.group-capacity-badge{color:var(--c-ink-2);margin-left:auto;font-size:12px;font-weight:700}.group-detail-participants{border:1px solid var(--c-line);background:var(--c-surface-2);border-radius:11px;gap:8px;margin-bottom:14px;padding:13px 14px;display:grid}.group-detail-participants>strong{font-size:12px}.group-detail-participants>div{flex-wrap:wrap;gap:6px;display:flex}.group-detail-participants a{background:var(--c-primary-soft);min-height:44px;color:var(--c-primary);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:650;display:inline-flex}.group-detail-participants a.is-absent{color:#3a3f45;background:#d9d5cd}.group-detail-participants a.is-absent .participant-name{text-decoration:line-through;text-decoration-thickness:1.5px}.participant-absent-tag{color:#fff;background:#3a3f45;border-radius:6px;padding:1px 6px;font-size:12px;font-weight:700}.group-attendance{gap:8px;margin-bottom:14px;display:grid}.field-label{color:var(--c-muted);font-size:12px;font-weight:700}.group-attendance-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.group-attendance-list label{border:1px solid var(--c-line);background:var(--c-surface);border-radius:9px;align-items:center;gap:8px;min-width:0;min-height:44px;padding:8px 10px;font-size:12px;display:flex}.modal-footer{border-top:1px solid var(--line);background:var(--c-surface);flex:none;justify-content:flex-end;gap:10px;padding:14px 18px 18px;display:flex}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.period-year-button,.period-year-static{border:1px solid var(--c-line-strong);background:var(--c-surface);width:100%;min-height:44px;color:var(--c-ink);border-radius:11px;justify-content:center;align-items:center;gap:6px;display:inline-flex}.period-year-button{cursor:pointer}.period-year-button:hover,.period-year-button:focus-visible{background:var(--c-primary-soft);border-color:#aac2e6}.period-year-button strong,.period-year-static strong{font-size:17px;font-weight:800}.period-year-popover{border:1px solid var(--c-line);background:var(--c-surface-2);border-radius:12px;max-height:210px;padding:8px;overflow-y:auto}.period-year-popover button{min-height:44px}.group-professionals-field{border:1px solid var(--c-line);background:var(--c-surface-2);border-radius:12px;gap:10px;margin-bottom:16px;padding:13px;display:grid}.group-professionals-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.group-professionals-head>div{gap:3px;min-width:0;display:grid}.group-professionals-head span{color:var(--c-muted);font-size:12px;font-weight:700}.group-professionals-head strong{font-size:15px}.group-professionals-head>small{max-width:250px;color:var(--c-muted);text-align:right;font-size:12px;line-height:1.4}.group-professional-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.group-professional-list label{border:1px solid var(--c-line);background:var(--c-surface);cursor:pointer;border-radius:10px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:9px;min-width:0;min-height:54px;padding:9px 10px;display:grid}.group-professional-list label.selected{background:var(--c-primary-soft);border-color:#a9c5ee;box-shadow:inset 0 0 0 1px #d8e6fa}.group-professional-list label>span{gap:2px;min-width:0;display:grid}.group-professional-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.group-professional-list small{color:var(--muted);font-size:12px}.onboarding-specialty-note{border:1px solid var(--c-line);background:var(--c-surface-2);border-radius:11px;margin-top:16px;padding:12px 13px}.unsaved-settings-warning{background:#fff9ec;border:1px solid #f0d9a8;border-radius:14px;align-items:flex-start;gap:14px;padding:16px;display:flex}.unsaved-settings-icon{color:#9a6813;background:#fff1c7;border-radius:12px;flex:0 0 46px;place-items:center;width:46px;height:46px;display:grid}.unsaved-settings-warning strong{color:var(--c-ink);font-size:16px;display:block}.unsaved-settings-warning p{color:var(--c-muted);margin:6px 0 0;line-height:1.5}.unsaved-settings-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:16px;display:grid}.unsaved-settings-actions .btn{white-space:nowrap;width:100%;min-width:0}.auth-screen{background:radial-gradient(at 100% 0,#e7f1ff,#0000 60%),#f7f9fc;place-items:center;min-height:100dvh;padding:28px;display:grid}.auth-card{border:1px solid var(--line);background:var(--c-surface);border-radius:24px;width:min(520px,100%);padding:42px;box-shadow:0 20px 70px #335c8810}.auth-brand{margin-bottom:38px}.auth-card h1{margin:8px 0 12px;font-size:34px;line-height:1.12}.auth-intro{color:var(--muted);margin:0 0 24px;line-height:1.55}.auth-switch{border:1px solid var(--line);background:var(--c-surface-2);border-radius:13px;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:24px;padding:5px;display:grid}.auth-switch button{min-height:43px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;font-weight:650}.auth-switch button.active{background:var(--c-surface);color:var(--text);box-shadow:0 2px 8px #335c8812}.auth-form{gap:17px;display:grid}.auth-form>label,.onboarding-identity label{color:var(--c-ink);gap:8px;font-size:13px;font-weight:650;display:grid}.auth-form input,.onboarding-identity input{border:1px solid var(--c-line-strong);background:var(--c-surface);width:100%;min-height:48px;color:var(--text);font:inherit;border-radius:11px;outline:none;padding:0 14px}.auth-form input:focus,.onboarding-identity input:focus{border-color:#a9c5ee;box-shadow:0 0 0 3px #eaf2ff}.auth-input-wrap{align-items:center;display:flex;position:relative}.auth-input-wrap>svg:first-child{color:var(--muted);pointer-events:none;position:absolute;left:14px}.auth-input-wrap input{padding-left:43px;padding-right:44px}.auth-password-toggle{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;right:7px}.auth-form .btn{width:100%;margin-top:4px}.auth-notice{background:var(--c-primary-soft);color:var(--c-ink-2);border:1px solid #cfe2f5;border-radius:11px;padding:12px 14px;font-size:13px;line-height:1.5}.auth-link{min-height:44px;color:var(--c-primary);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0 4px;font-size:14px;font-weight:600;text-decoration:underline}.auth-link:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px;border-radius:6px}.account-list,.account-steps{gap:6px;margin:6px 0 14px;padding-left:20px;line-height:1.5;display:grid}.danger-panel .panel-body p{margin-top:0}.app-version{margin-top:8px}.auth-security-note{color:var(--muted);margin:20px 0 0;font-size:12px;line-height:1.5}.onboarding-identity{grid-template-columns:1fr 1fr;gap:14px;margin:0 0 20px;display:grid}.cloud-note>svg{color:var(--c-primary);flex:none;margin-top:2px}.professional-account{position:relative}.professional-copy{flex:1}.professional-copy small{max-width:145px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;display:block;overflow:hidden}.account-logout{border:1px solid var(--line);background:var(--c-surface);width:34px;height:34px;color:var(--c-muted);cursor:pointer;border-radius:9px;flex:0 0 34px;place-items:center;display:grid}.account-logout:hover{background:var(--c-primary-soft);color:var(--c-ink)}@media (width<=680px){.auth-screen{align-items:start;padding:14px}.auth-card{border-radius:20px;margin-top:18px;padding:28px 22px}.auth-brand{margin-bottom:28px}.auth-card h1{font-size:30px}.onboarding-identity{grid-template-columns:1fr}}.team-add-btn{background:var(--blue);color:#fff;border-color:var(--blue)}.team-add-btn:hover:not(:disabled){background:var(--c-primary)}.team-add-btn:disabled{cursor:not-allowed}.btn-danger-solid{color:#fff;background:#d32f3f;border-color:#d32f3f;box-shadow:0 4px 8px #d32f3f2b}.page-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.page-header-actions .btn{flex-shrink:0}@media (width<=820px){.page-header-actions{flex:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr);justify-content:stretch;align-items:stretch;gap:12px;width:100%;display:grid}.page-header-actions .btn{text-align:center;gap:6px;width:100%;min-width:0;padding-inline:10px;font-size:14px;line-height:1.2}}.logout-confirm-text{color:var(--c-muted);margin:0;line-height:1.5}.logout-confirm-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:18px;display:grid}.logout-confirm-actions .btn{width:100%;min-width:0}@media (width<=420px){.logout-confirm-actions{grid-template-columns:minmax(0,1fr)}}input[type=time],input[type=date]{appearance:none;text-align:left;width:100%;min-width:0;max-width:100%;min-height:46px;margin:0;line-height:normal;display:block}input[type=time]::-webkit-date-and-time-value{text-align:left;min-width:0}input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}input[type=time]::-webkit-datetime-edit{min-width:0;padding:0}input[type=date]::-webkit-datetime-edit{min-width:0;padding:0}.field,.field>input,.field>select,.form-grid>*{min-width:0;max-width:100%}.modal-content{overflow-x:clip}.data-security-panel{grid-column:1/-1}.data-security-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px;display:grid}.data-card{border:1px solid var(--line);background:var(--c-surface-2);border-radius:14px;flex-direction:column;align-items:flex-start;gap:12px;min-width:0;padding:18px;display:flex}.data-card h3{margin:0;font-size:17px}.data-card p{margin:0}.data-card .btn{max-width:100%;margin-top:auto}@media (width<=1000px){.data-card .btn{width:100%}}.picker-options>button.is-busy:disabled{background:var(--c-bg-2);color:var(--c-muted);cursor:not-allowed;opacity:1}.picker-options>button.is-busy:disabled:hover{background:var(--c-bg-2);color:var(--c-muted)}.option-name{font-weight:600}.busy-hint{color:#8a6a1f;font-weight:600}.group-patient-list label.is-busy,.group-professional-list label.is-busy{background:var(--c-bg-2);color:var(--c-muted);cursor:not-allowed}.group-patient-list label.is-busy strong,.group-professional-list label.is-busy strong{color:var(--c-muted)}.notice-warn{color:#7a5a14;background:#fff9ec;border-color:#f0d9a8;line-height:1.5}.notice-error{white-space:pre-line;overflow-wrap:anywhere}.auth-captcha{gap:10px;min-width:0;display:grid}.auth-captcha-widget{min-width:0;max-width:none;margin-inline:min(0px,50% - 150px)}.auth-captcha-widget:empty{display:none}.auth-captcha-note{border-radius:var(--r-sm);background:var(--c-bg-2);color:var(--c-ink-2);gap:8px;padding:10px 12px;font-size:14px;line-height:1.4;display:grid}.auth-captcha-note.is-error{background:var(--c-danger-soft);color:var(--c-danger)}.auth-captcha-note .btn{justify-self:start;min-height:44px}.navigate-btn{justify-content:center;align-items:center;gap:8px;min-width:44px;min-height:44px;margin-top:8px;text-decoration:none;display:inline-flex}.map-app-options{flex-wrap:wrap}.map-app-settings .muted{align-items:flex-start;gap:8px;display:flex}.time-field-controls{align-items:center;gap:6px;min-width:0;display:flex}.time-field-controls select{text-align:center;text-align-last:center;font-variant-numeric:tabular-nums;appearance:none;background:var(--c-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23737b8c' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 6px center / 10px 6px;flex:1 1 0;min-width:0;min-height:46px;padding:11px 18px 11px 8px}.time-sep{color:var(--c-ink-2);font-weight:700}@media (width<=1000px),(width<=1200px) and (hover:none) and (pointer:coarse){:root{--mobile-gutter:16px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--bottom-bar-height:calc(72px + var(--safe-bottom))}body{min-width:0}.skip-link{max-width:calc(100% - 32px);left:16px}.app-shell,.workspace,.main-content{min-width:0}.page{padding-inline:max(var(--mobile-gutter), var(--safe-left)) max(var(--mobile-gutter), var(--safe-right));padding-bottom:calc(var(--bottom-bar-height) + 28px)}.app-topbar{padding-inline:max(16px, var(--safe-left)) max(16px, var(--safe-right));padding-top:var(--safe-top);height:calc(64px + var(--safe-top))}.bottom-nav{height:var(--bottom-bar-height);min-height:var(--bottom-bar-height);padding:7px max(12px, var(--safe-right)) calc(7px + var(--safe-bottom)) max(12px, var(--safe-left));grid-template-columns:repeat(3,minmax(0,1fr))}.bottom-nav a{flex-direction:column;gap:4px;min-width:0;min-height:57px;padding:0;font-size:13px}.bottom-nav a span{overflow-wrap:anywhere}.toast{bottom:calc(var(--bottom-bar-height) + 16px)}.panel-heading{flex-wrap:wrap}.btn{min-height:48px;font-size:15px}.btn>span{overflow-wrap:anywhere}.page-header>div,.welcome>div{min-width:0}.stat-value{overflow-wrap:anywhere;font-size:30px}.stat-amount{display:block}.stat-currency{letter-spacing:0;color:var(--muted);margin-top:4px;font-size:13px;display:block}.stat-card>small{font-size:12px}.appointment-time strong{font-size:16px}.appointment-row{grid-template-columns:51px minmax(0,1fr) auto}.appointment-copy strong,.patient-cell strong{font-size:16px}.patient-cell>div>span{font-size:14px}.profile-actions .btn{min-height:48px;font-size:14px}.profile-actions{grid-template-columns:minmax(0,auto) minmax(0,1fr)}.profile-stats,.settings-grid,.care-layout,.dashboard-bottom{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid,.care-layout,.dashboard-bottom{grid-template-columns:minmax(0,1fr)}.patients-toolbar .segmented button{min-height:44px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field input,.field select,.field textarea{max-width:100%;font-size:16px}.field>span:first-child{font-size:14px}input[type=time],input[type=date]{width:100%;min-width:0}.availability-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px}.availability-row input{font-size:16px}.searchbox button{min-width:44px;min-height:44px}.date-picker{min-width:0}.date-picker-head>strong{overflow-wrap:anywhere;text-align:center;min-width:0}.date-grid{gap:2px}.date-grid button{min-width:0;min-height:44px;padding-inline:0}.picker-options{overscroll-behavior-y:contain}.picker-options>button{overflow-wrap:anywhere;min-height:48px}.mobile-fullscreen-overlay{align-items:stretch;height:auto;padding:0;inset:0}.modal.mobile-fullscreen{width:100%;height:100%;max-height:100%;box-shadow:none;border-radius:0}.mobile-fullscreen .modal-header{padding:calc(14px + var(--safe-top)) max(16px, var(--safe-right)) 14px max(16px, var(--safe-left));align-items:center;gap:12px}.mobile-fullscreen .modal-header h2{font-size:22px}.mobile-fullscreen .modal-header .icon-btn{margin-top:0}.mobile-fullscreen .modal-content{min-width:0;min-height:0;padding:20px max(16px, var(--safe-right)) 24px max(16px, var(--safe-left));overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;flex:1 1 0;scroll-padding-block:16px;overflow-y:auto}.mobile-fullscreen .modal-footer{padding:12px max(16px, var(--safe-right)) calc(12px + var(--safe-bottom)) max(16px, var(--safe-left));background:var(--c-surface);border-top:1px solid var(--line);flex:none;box-shadow:0 -4px 16px #192c4208}.modal-footer .btn{min-height:50px;padding-inline:12px}.modal-footer .notice{overflow-wrap:anywhere;max-height:none;margin:0 0 10px;padding:9px 12px;overflow:visible}.appointment-form{min-width:0}.appointment-form .form-grid{grid-template-columns:minmax(0,1fr);gap:0}.appointment-form .field{margin-bottom:22px}.appointment-form textarea{min-height:112px}.appointment-form .form-summary{margin-bottom:24px}.calendar-page>.page-header{flex-wrap:nowrap;align-items:center;gap:12px;margin-bottom:18px}.calendar-page>.page-header .eyebrow,.calendar-page>.page-header .page-description{display:none}.calendar-page>.page-header h1{font-size:29px}.calendar-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:14px 8px;padding:16px 12px;display:grid}.calendar-period{grid-area:1/1;max-width:none}.calendar-period h2{font-size:18px}.calendar-controls{display:contents}.period-navigation{grid-area:1/2;gap:0;margin:0}.period-navigation .icon-btn{flex-basis:44px;width:44px;height:44px}.period-navigation .btn{min-height:44px;padding-inline:8px;font-size:14px}.calendar-controls .segmented{grid-area:2/1/auto/-1;width:100%}.calendar-controls .segmented button{min-width:0;min-height:44px;font-size:15px}.calendar-legend span{font-size:12px}.calendar-log summary{min-height:44px}.calendar-log .log-appointment{flex-wrap:wrap}.mobile-month-labels,.mobile-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.mobile-month-labels{color:var(--muted);text-align:center;padding:12px 8px 6px;font-size:13px}.mobile-month-grid{border-bottom:1px solid var(--line);gap:3px;padding:4px 8px 16px}.mobile-month-grid button{background:var(--c-surface);min-width:0;min-height:62px;color:var(--c-ink-2);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:7px 0;display:flex}.mobile-month-grid strong{font-size:17px}.mobile-month-grid .outside{color:#858c95;background:var(--c-surface-2)}.mobile-month-grid button[aria-current=date]{box-shadow:inset 0 0 0 2px #c4d6f5}.mobile-month-grid button[aria-pressed=true]{background:var(--blue);color:#fff}.mobile-month-indicator{border-radius:8px;min-width:17px;height:17px;font-size:12px;line-height:17px}.mobile-month-indicator:not(:empty){background:var(--c-primary-soft);color:var(--c-muted)}.mobile-month-grid button[aria-pressed=true] .mobile-month-indicator:not(:empty){color:#fff;background:#ffffff30}.mobile-week-context{background:var(--c-surface-2);padding:18px 16px 0}.mobile-week-context strong{font-size:16px;display:block}.mobile-week-context>span{color:var(--muted);margin-top:4px;font-size:13px;display:block}.week-strip{gap:3px;padding:12px 8px 16px}.week-strip button{min-width:0;min-height:86px;padding:9px 0}.week-strip button>span{font-size:13px}.week-strip button strong{font-size:21px}.week-strip .week-day-count{font-size:12px}.week-strip button[aria-current=date]:not([aria-pressed=true]){box-shadow:inset 0 0 0 1px #c4d6f5}.mobile-week-agenda{padding:20px 14px}.mobile-selection-heading{flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0 2px 18px;display:flex}.mobile-selection-heading h3{text-transform:capitalize;font-size:17px}.mobile-selection-heading>span{color:var(--muted);font-size:13px}.week-appointment{background:var(--c-primary-soft);text-align:left;border:1px solid #e0e9f5;border-radius:13px;grid-template-columns:51px minmax(0,1fr) 19px;align-items:center;gap:10px;width:100%;margin-bottom:12px;padding:17px 12px;display:grid}.week-appointment.waiting{background:#fffbf3;border-color:#eee2ca}.week-appointment.completed{background:var(--c-bg-2);border-color:var(--c-line)}.week-appointment-time{flex-direction:column;align-self:start;gap:4px;display:flex}.week-appointment-time strong{font-size:16px}.week-appointment-time>span{color:var(--muted);font-size:13px}.week-appointment-copy{min-width:0}.week-appointment-copy>strong{overflow-wrap:anywhere;font-size:16px;display:block}.week-appointment-copy>span:not(.week-appointment-meta){color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:14px;display:block}.week-appointment-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:9px;font-size:12px;display:flex}.week-appointment>svg{color:var(--c-muted)}.mobile-week-agenda>.btn{width:100%;margin-top:8px}.day-compact{position:relative}.dc-heading{border-bottom:1px solid var(--c-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;display:flex}.dc-heading h3{text-transform:capitalize;font-size:16px;line-height:1.25}.dc-heading p{color:var(--c-muted);margin:2px 0 0;font-size:12px}.dc-switch{padding:3px}.dc-switch button{min-height:32px;padding:5px 10px;font-size:12px}.dc-scroll{overscroll-behavior-x:contain;overflow:auto visible}.dc-inner{min-width:0}.dc-colhead{border-bottom:1px solid var(--c-line);background:var(--c-surface);gap:0;padding:6px 0 4px;display:grid}.dc-colhead strong{text-align:center;min-width:0;color:var(--c-ink-2);text-overflow:ellipsis;white-space:nowrap;padding:0 4px;font-size:12px;font-weight:650;overflow:hidden}.dc-timeline{display:grid;position:relative}.dc-gutter{position:relative}.dc-gutter span{width:36px;color:var(--c-muted);font-variant-numeric:tabular-nums;opacity:.85;padding-left:6px;font-size:12px;line-height:1;position:absolute;left:0;transform:translateY(-50%)}.dc-lines{pointer-events:none;position:absolute;inset:0 0 0 40px}.dc-lines i{border-top:1px solid var(--c-line);position:absolute;left:0;right:0}.dc-lines i.half{border-top:1px dashed var(--c-line);opacity:.7}.dc-col{border-left:1px solid var(--c-line);min-width:0;position:relative}.dc-slot{color:#0000;background:0 0;border-radius:0;justify-content:flex-end;align-items:flex-start;padding:3px 6px;display:flex;position:absolute;left:0;right:0}.dc-slot:hover,.dc-slot:focus-visible,.dc-slot:active{background:var(--c-primary-soft);color:var(--c-primary)}.mobile-day-event{z-index:1;border:0;border-left:3px solid var(--c-primary);background:var(--c-primary-soft);min-height:24px;color:var(--c-ink);text-align:left;border-radius:8px;flex-direction:column;justify-content:center;align-items:stretch;gap:1px;padding:2px 6px;font-size:12px;line-height:1.25;display:flex;position:absolute;overflow:hidden}.mobile-day-event.waiting{background:var(--c-warning-soft);border-left-color:#d1a14c}.mobile-day-event.completed{background:var(--c-bg-2);color:var(--c-muted);border-left-color:#93a3c3}.mobile-day-event .ev-line{white-space:nowrap;align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}.mobile-day-event .ev-text{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.mobile-day-event .ev-name{text-overflow:ellipsis;min-width:0;font-weight:650;overflow:hidden}.mobile-day-event .ev-text .ev-name{overflow:visible}.mobile-day-event .ev-desc-inline,.mobile-day-event .ev-status,.mobile-day-event .ev-outside{color:var(--c-ink-2);font-weight:400}.mobile-day-event .ev-desc,.mobile-day-event .ev-loc{text-overflow:ellipsis;min-width:0;color:var(--c-ink-2);opacity:.95;font-size:12px;display:block;overflow:hidden}.mobile-day-event .ev-desc{-webkit-line-clamp:1;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box}.mobile-day-event .ev-loc{white-space:nowrap}.mobile-day-event .location-badge{flex-shrink:0}.dc-empty{text-align:center;border:1px dashed var(--c-line);border-radius:var(--r-md);background:var(--c-surface-2);margin:8px 14px 6px;padding:8px 12px}.dc-empty strong{color:var(--c-ink-2);font-size:15px;display:block}.dc-empty p{color:var(--c-muted);margin:2px 0 0;font-size:13px}.calendar-page{padding-top:12px;padding-bottom:calc(var(--bottom-bar-height) + 100px)}.calendar-page>.page-header{margin-bottom:10px}.calendar-page .calendar-toolbar{gap:8px;padding:10px 12px}.calendar-page .calendar-controls .segmented{margin-top:2px}.calendar-page .calendar-controls .segmented button{min-height:36px}.day-compact[data-columns] .mobile-day-event.short-event .location-badge{display:none}.dc-fab{right:max(16px, var(--safe-right));bottom:calc(var(--bottom-bar-height) + 16px);z-index:45;background:var(--c-primary);color:#fff;width:56px;height:56px;box-shadow:var(--sh-2);border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:fixed}.dc-fab:active{background:var(--c-primary-pressed)}.day-compact{padding-bottom:0}}@media (horizontal-viewport-segments:2) and (hover:none) and (pointer:coarse){.stats-grid,.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-columns,.profile-columns,.dental-layout,.calendar-utilities{grid-template-columns:minmax(0,1fr)}.app-shell{width:env(viewport-segment-width 0 0);margin-left:env(viewport-segment-left 0 0)}.bottom-nav,.modal-overlay{width:env(viewport-segment-width 0 0);left:env(viewport-segment-left 0 0);right:auto}.toast{left:calc(env(viewport-segment-left 0 0) + env(viewport-segment-width 0 0) / 2);max-width:calc(env(viewport-segment-width 0 0) - 32px)}}@media (width<=370px){:root{--mobile-gutter:12px}.form-grid{grid-template-columns:minmax(0,1fr)}.stat-value{font-size:30px}.modal-footer .btn{padding-inline:10px;font-size:14px}.mobile-fullscreen .modal-header p{display:none}}@media (width<=1000px) and (height<=500px),(width<=1200px) and (height<=500px) and (hover:none) and (pointer:coarse){.mobile-fullscreen .modal-header{padding-block:calc(8px + var(--safe-top)) 8px}.mobile-fullscreen .modal-header p{display:none}.mobile-fullscreen .modal-footer{padding-block:8px calc(8px + var(--safe-bottom))}}@media (width<=1000px),(width<=1200px) and (hover:none) and (pointer:coarse){.stat-tools{gap:5px}.stat-privacy{width:32px;height:32px}.stat-value,.stat-money,.billing-summary strong,.payment-amount,.report-metrics strong{white-space:nowrap;overflow-wrap:normal;word-break:normal}.stat-currency{color:inherit;font-size:inherit;margin:0;display:inline}.billing-period-toolbar,.report-period-toolbar{flex-direction:column;align-items:stretch;padding:14px}.billing-period-copy{text-align:left;align-items:flex-start}.report-period-toolbar p{text-align:left;margin:0}.period-picker{width:100%}.period-trigger{min-height:50px}.period-mode{background:0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.period-mode button{background:var(--c-bg-2);border-radius:10px}.period-month-grid,.period-year-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.period-quarter-grid,.period-custom-grid{grid-template-columns:minmax(0,1fr)}.period-error{grid-column:1}.quadrant-key{display:none}.odontogram-reference{margin:0 3px 12px}.odontogram-reference>div:first-child strong{font-size:12px}.tooth-selection-card,.dental-plan-selected{flex-direction:column;align-items:flex-start}.tooth-plan-count,.dental-plan-selected>span{white-space:normal}}@media (width<=420px){.period-month-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.period-month-grid button,.period-year-grid button{min-height:48px}.period-trigger{grid-template-columns:20px minmax(0,1fr)}.period-trigger>span{display:none}}@media (width<=600px){.stat-money{letter-spacing:-.55px;font-size:clamp(20px,6.2vw,27px)}.billing-summary strong,.report-metrics strong{letter-spacing:-.45px;font-size:clamp(20px,5.8vw,25px)}.payment-amount{font-size:clamp(14px,4.2vw,16px)}}@media (width<=1000px),(width<=1200px) and (hover:none) and (pointer:coarse){.picker-menu-floating{max-width:calc(100vw - 24px)}.period-mode{grid-template-columns:repeat(2,minmax(0,1fr))}.date-jump-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.date-jump-panel select{min-height:46px;font-size:16px}}@media (width<=370px){.date-jump-panel{gap:5px;padding:8px}.date-jump-panel select{padding-inline:3px}}@media (width<=1000px),(width<=1200px) and (hover:none) and (pointer:coarse){.calendar-resource-bar{padding:10px var(--mobile-gutter);flex-direction:column;align-items:stretch;gap:5px}.calendar-resource-bar select{width:100%;min-width:0;min-height:44px;font-size:16px}.group-patients-head{grid-template-columns:minmax(0,1fr) 104px}.group-patient-list{max-height:220px}.group-attendance-list,.team-add-row{grid-template-columns:minmax(0,1fr)}.team-add-row .btn{width:100%}}@media (width<=420px){.practice-options,.group-patients-head{grid-template-columns:minmax(0,1fr)}}@media (width<=1000px),(width<=1200px) and (hover:none) and (pointer:coarse){.dentition-family-guide{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding-inline:10px;font-size:8px}.dentition-family-guide span:nth-child(5),.dentition-family-guide span:nth-child(6),.dentition-family-guide span:nth-child(7){display:none}.period-modal{gap:14px}.period-month-grid{gap:7px}.period-month-grid button{min-height:46px}.period-year-popover{max-height:165px}.modal-footer{padding:11px max(14px, var(--safe-right)) calc(11px + var(--safe-bottom)) max(14px, var(--safe-left))}.modal-footer .btn{min-height:46px}.group-professionals-head{flex-direction:column;gap:5px}.group-professionals-head>small{text-align:left;max-width:none}.group-professional-list{grid-template-columns:minmax(0,1fr)}.modal-footer{min-width:0;display:block}.modal-footer>.notice{width:100%;min-width:0;max-width:100%;margin:0 0 10px}.modal-footer>.form-actions,.modal-footer>.ex-footer,.modal-footer>.aipt-actions,.modal-footer>.modal-actions{background:0 0;border:0;flex-wrap:wrap;justify-content:flex-start;align-items:stretch;gap:10px;width:100%;min-width:0;margin:0;padding:0;display:flex;position:static}.modal-footer>.form-actions>.btn,.modal-footer>.ex-footer>.btn,.modal-footer>.aipt-actions>.btn,.modal-footer>.modal-actions>.btn{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;max-width:100%;overflow:hidden}.modal-footer>.form-actions>.btn:last-child,.modal-footer>.ex-footer>.btn:last-child,.modal-footer>.aipt-actions>.btn:last-child,.modal-footer>.modal-actions>.btn:last-child{flex:auto}.unsaved-settings-actions{grid-template-columns:minmax(0,1fr)}.unsaved-settings-actions .btn{min-height:48px}}@media (width<=1000px){.form-grid.hours-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hours-grid .field{min-width:0}.hours-grid input[type=time]{box-sizing:border-box;appearance:none;width:100%;min-width:0;max-width:100%;padding-inline:10px}.hours-grid input[type=time]::-webkit-date-and-time-value{text-align:left;min-width:0}.form-grid.vas-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;margin-bottom:20px}.vas-grid .field{justify-content:flex-end;margin-bottom:0}.vas-grid .field>span:first-child{line-height:1.25}.vas-grid .field input{box-sizing:border-box;height:48px;min-height:48px}}@media (width<=1000px),(width<=1200px) and (hover:none) and (pointer:coarse){html{scroll-padding-top:calc(64px + var(--safe-top) + 12px);scroll-padding-bottom:calc(var(--bottom-bar-height) + 16px)}.page input,.page select,.page textarea,.page .btn{scroll-margin-bottom:calc(var(--bottom-bar-height) + 24px)}.team-add-row input{scroll-margin-bottom:calc(var(--bottom-bar-height) + 96px)}.modal-overlay:not(.mobile-fullscreen-overlay){padding:calc(var(--safe-top) + 16px) max(16px, var(--safe-right)) calc(var(--safe-bottom) + 16px) max(16px, var(--safe-left));justify-content:center;align-items:center}.modal-overlay:not(.mobile-fullscreen-overlay) .modal{width:100%;max-width:560px;max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 32px);border-radius:20px;box-shadow:0 20px 60px #192c4244}.modal-overlay:not(.mobile-fullscreen-overlay) .modal-content{padding:20px 18px}.modal-overlay:not(.mobile-fullscreen-overlay) .modal-footer{padding-bottom:14px}}@media (height<=500px) and (orientation:landscape){.modal-overlay:not(.mobile-fullscreen-overlay){padding:8px max(12px, var(--safe-right)) 8px max(12px, var(--safe-left))}.modal-overlay:not(.mobile-fullscreen-overlay) .modal{max-height:calc(100dvh - 16px)}}.modal-viewer{height:min(86dvh,860px)}.modal-viewer .modal-content{background:var(--c-bg-2);flex:1 1 0;place-items:center;min-height:0;padding:16px;display:grid}.modal-viewer .document-preview{object-fit:contain;background:var(--c-surface);border-radius:6px;width:auto;max-width:100%;height:auto;max-height:100%;margin:auto;display:block;box-shadow:0 2px 12px #192c421a}@media (width<=1000px),(width<=1200px) and (hover:none) and (pointer:coarse){.modal-overlay.viewer-overlay .modal.modal-viewer{max-width:none;height:min(calc(100dvh - var(--safe-top) - var(--safe-bottom) - 32px), 860px)}.modal-viewer .modal-content{padding:12px}}@media (hover:none) and (pointer:coarse),(width<=1000px){html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:none;overscroll-behavior-x:none}body{overflow-x:clip}#root,.modal-overlay,.toast,.picker-menu-floating{touch-action:pan-y}html,body{touch-action:manipulation}}.modal-viewer .modal-content{grid-template:minmax(0,1fr)/minmax(0,1fr)}.modal-viewer .document-preview{min-width:0;min-height:0}.modal-viewer .modal-content{scrollbar-gutter:auto}.auth-form input,.onboarding-identity input{font-size:16px}@media (hover:none) and (pointer:coarse),(width<=1000px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),select,textarea{font-size:16px!important}}:root{--location-clinic:#187368;--location-clinic-bg:#eaf5f2;--location-home:#6542a3;--location-home-bg:#f2ecfa}.panel,.stat-card,.patient-card{border-radius:18px;box-shadow:0 3px 16px #12333105}.btn{border-radius:12px;transition:background .12s,box-shadow .12s,transform .12s}input:not([type=checkbox]):not([type=radio]),textarea,select{border-radius:11px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #387eac}.settings-fields{border:0;min-width:0;margin:0;padding:0}.account-panel,.account-copy{min-width:0}.account-panel{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;padding:22px;display:flex}.account-copy p{overflow-wrap:anywhere;color:var(--muted);margin:5px 0}.account-logout{align-items:center;gap:8px;min-height:44px;display:flex}.professional-account{flex-wrap:wrap}.professional-account .account-logout{flex-basis:100%;justify-content:center}.privacy-grid,.import-source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.privacy-page .panel,.import-page .panel{margin-bottom:20px}.privacy-page .panel-body,.import-page .panel-body{min-width:0}.member-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:16px 0;display:flex}.member-row>div{overflow-wrap:anywhere;flex:1;min-width:0}.member-row small{display:block}.audit-list{max-height:380px;padding:0 20px 20px;overflow-y:auto}.audit-row{border-bottom:1px solid var(--line);overflow-wrap:anywhere;justify-content:space-between;gap:12px;padding:12px 0;display:flex}.import-preview{border:1px solid var(--line);border-radius:12px;max-height:380px;overflow-y:auto}.import-row{border-bottom:1px solid var(--line);overflow-wrap:anywhere;gap:5px;padding:13px 15px;display:grid}.import-row span{color:var(--muted);font-size:14px}.import-row.error{border-left:4px solid #ad3c37}.import-row.duplicate,.import-row.ignored{border-left:4px solid #b1802d}.import-row.ready{border-left:4px solid #187368}.import-confirm{align-items:flex-start;gap:12px;margin:22px 0;line-height:1.5;display:flex}.import-confirm input{flex-shrink:0;width:22px;height:22px}.intake-notice{background:var(--c-bg-2);border-radius:12px;margin-bottom:18px;padding:16px}.location-badge{color:var(--location-clinic);white-space:nowrap;align-items:center;gap:5px;font-size:12px;font-weight:650;line-height:1.4;display:inline-flex}.location-badge.home{color:var(--location-home)}.location-badge svg{flex-shrink:0}.location-badge.compact{vertical-align:middle;margin-right:4px}.location-badge.compact span{display:none}.appointment-location{margin:16px 0}.appointment-location p{overflow-wrap:anywhere}.week-appointment.location-clinic,.mobile-day-event.location-clinic,.time-event.location-clinic,.month-event.location-clinic{background:var(--location-clinic-bg);border-left:4px solid var(--location-clinic)}.week-appointment.location-home,.mobile-day-event.location-home,.time-event.location-home,.month-event.location-home{background:var(--location-home-bg);border-left:4px solid var(--location-home)}.appointment-row.location-home{border-left:4px solid var(--location-home)}.appointment-row.location-clinic{border-left:4px solid var(--location-clinic)}.week-appointment.cancelled,.mobile-day-event.cancelled,.time-event.cancelled,.month-event.cancelled{opacity:.6}.week-appointment-meta{flex-wrap:wrap}.location-choice button{flex:1;min-height:44px}.location-choice button[aria-pressed=true]:last-child{background:var(--location-home-bg);color:var(--location-home)}.document-row{flex-wrap:wrap}.document-actions{flex-wrap:wrap;max-width:100%}.app-splash{z-index:1;background:var(--c-bg-2);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.app-splash.compact{z-index:auto;min-height:40vh;position:static;inset:auto}.splash-brand{letter-spacing:-1px;align-items:center;gap:12px;font-size:30px;font-weight:750;display:flex}.splash-mark{color:#fff;background:#187368;border-radius:19px;place-items:center;width:60px;height:60px;display:grid}.splash-progress{background:#dce8e4;border-radius:10px;width:100px;height:3px;position:relative;overflow:clip}.splash-progress:after{content:"";background:#187368;animation:1s ease-in-out infinite alternate splash-progress;position:absolute;inset:0 50% 0 0}@keyframes splash-progress{to{transform:translate(100%)}}@media (width<=1000px),(width<=1200px) and (hover:none) and (pointer:coarse){.privacy-grid,.import-source-grid{grid-template-columns:minmax(0,1fr)}.account-panel{flex-direction:column;align-items:flex-start;padding:18px}.account-panel .btn{width:100%}.import-page .form-actions{flex-wrap:wrap}.import-page .form-actions .btn{flex:180px}.audit-row{flex-direction:column}.document-actions{width:100%}.appointment-row>.location-badge{display:none}.appointment-copy .location-badge{display:inline-flex}.location-choice{max-width:100%;display:flex}.billing-filter{grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.2fr);min-width:0;display:grid}.billing-filter button{white-space:normal;min-width:0;min-height:44px;padding-inline:4px}}@media (prefers-reduced-motion:reduce){.splash-progress:after{animation:none}.btn{transition:none}}.appointment-copy>.location-badge{color:var(--location-clinic);display:inline-flex}.appointment-copy>.location-badge.home{color:var(--location-home)}.member-access{border-top:1px solid var(--line);gap:10px;min-width:0;padding:18px 0;display:grid}.member-access strong small{color:var(--muted);overflow-wrap:anywhere;font-size:12px;font-weight:400;display:block}.time-event .location-badge{align-items:center;display:inline-flex}.time-event .location-badge.compact{margin-top:0}.time-event .location-badge span{font-size:inherit;margin:0;display:inline}.time-event .location-badge.compact span{display:none}.settings-shortcuts{flex-wrap:wrap;gap:12px 22px;margin:0 0 22px;display:flex}.import-row.has-warning{border-left-color:#b1802d}.import-row .import-warning{color:#7a5513;font-size:14px;font-style:normal}body{color:var(--c-ink);font-weight:var(--fw-regular)}h1{font-weight:var(--fw-bold);letter-spacing:-.9px;color:var(--c-ink)}h2,h3{font-weight:var(--fw-semibold);color:var(--c-ink)}strong{font-weight:var(--fw-semibold)}.eyebrow{font-size:var(--fs-meta);letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted);font-weight:var(--fw-semibold)}::placeholder{color:#7d8791;opacity:1}:focus-visible{outline:3px solid var(--c-focus);outline-offset:2px;border-radius:var(--r-sm)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--c-focus);outline-offset:1px}.btn{min-height:var(--h-control);border-radius:var(--r-md);font-weight:var(--fw-semibold);letter-spacing:0;border:1px solid #0000;padding:10px 20px;transition:background-color .15s,border-color .15s,box-shadow .15s,transform 80ms}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--c-primary);color:#fff;box-shadow:var(--sh-1)}.btn-primary:hover:not(:disabled){background:var(--c-primary-hover)}.btn-primary:active:not(:disabled){background:var(--c-primary-pressed)}.btn-secondary{background:var(--c-surface);border-color:var(--c-line-strong);color:var(--c-ink-2)}.btn-secondary:hover:not(:disabled){background:var(--c-bg-2);border-color:var(--c-muted)}.btn-secondary:active:not(:disabled){background:var(--c-bg-3)}.btn-ghost{color:var(--c-primary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--c-primary-soft)}.btn-danger{background:var(--c-danger-soft);color:var(--c-danger);border-color:#f0c2c8}.btn-danger:hover:not(:disabled){background:#fadde1}.btn-danger-solid{background:var(--c-destructive);color:#fff;border-color:var(--c-destructive);box-shadow:var(--sh-1)}.btn-danger-solid:hover:not(:disabled){background:var(--c-destructive-hover);border-color:var(--c-destructive-hover)}.team-add-btn{background:var(--c-primary);border-color:var(--c-primary)}.btn:disabled,.btn[aria-disabled=true]{background:var(--c-disabled-bg);color:var(--c-disabled-ink);border-color:var(--c-disabled-line);box-shadow:none;opacity:1;cursor:not-allowed}.icon-btn{border-radius:var(--r-md)}.icon-btn:hover:not(:disabled){background:var(--c-bg-2)}input,select,textarea{min-height:var(--h-control);border:1px solid var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-ink);transition:border-color .15s,box-shadow .15s}input:hover:not(:disabled):not(:focus),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border-color:var(--c-muted)}input:focus,select:focus,textarea:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-soft)}input:disabled,select:disabled,textarea:disabled{background:var(--c-disabled-bg);color:var(--c-disabled-ink);border-color:var(--c-disabled-line);cursor:not-allowed}input[type=checkbox],input[type=radio]{min-height:0;accent-color:var(--c-primary)}.select-trigger{min-height:var(--h-control);border:1px solid var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-ink)}.select-trigger:hover{border-color:var(--c-muted)}.field>span:first-child,.field>label{color:var(--c-ink-2);font-weight:var(--fw-semibold)}.field small{color:var(--c-muted)}.panel,.stat-card,.patient-card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-card);box-shadow:var(--sh-1)}.panel-heading{border-bottom-color:var(--c-line)}.data-card{background:var(--c-surface-2);border-color:var(--c-line);border-radius:var(--r-md)}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1c273380}.modal{background:var(--c-surface);border-radius:var(--r-modal);box-shadow:var(--sh-3)}.modal-header,.modal-footer{border-color:var(--c-line)}.badge{border-radius:var(--r-pill);font-size:var(--fs-meta);font-weight:var(--fw-semibold);background:var(--c-bg-2);color:var(--c-ink-2);padding:3px 10px}.badge-confirmed,.badge-active,.badge-paid,.badge-done{background:var(--c-success-soft);color:var(--c-success)}.badge-waiting,.badge-planned,.badge-unpaid{background:var(--c-warning-soft);color:var(--c-warning)}.badge-completed{background:var(--c-primary-soft);color:var(--c-primary-ink)}.badge-cancelled,.badge-no_show{background:var(--c-danger-soft);color:var(--c-danger)}.badge-inactive{background:var(--c-bg-3);color:var(--c-ink-2)}.notice{border-radius:var(--r-md);background:var(--c-primary-soft);color:var(--c-primary-ink);border:1px solid #cddcf6}.notice-error{background:var(--c-danger-soft);color:var(--c-danger);border-color:#f0c2c8}.notice-warn{background:var(--c-warning-soft);color:var(--c-warning);border-color:#f0d9a8}.segmented{background:var(--c-bg-2);border-radius:var(--r-md)}.segmented button{color:var(--c-ink-2);border-radius:var(--r-sm);font-weight:var(--fw-semibold)}.segmented button[aria-pressed=true]{background:var(--c-surface);color:var(--c-primary-ink);box-shadow:var(--sh-1)}.app-topbar{background:var(--c-surface);border-bottom:1px solid var(--c-line)}.sidebar{background:var(--c-surface);border-right:1px solid var(--c-line)}.sidebar nav a,.settings-link{border-radius:var(--r-md);min-height:48px;color:var(--c-ink-2);font-weight:var(--fw-medium)}.sidebar nav a:hover,.settings-link:hover{background:var(--c-bg-2);color:var(--c-ink)}.sidebar nav a.active,.settings-link.active{background:var(--c-primary-soft);color:var(--c-primary-ink);font-weight:var(--fw-semibold);box-shadow:inset 3px 0 0 var(--c-primary)}.brand-mark{background:var(--c-primary);border-radius:var(--r-md)}.bottom-nav{border-top:1px solid var(--c-line)}.bottom-nav a{color:var(--c-muted);font-weight:var(--fw-semibold)}.bottom-nav a.active{background:var(--c-primary-soft);color:var(--c-primary-ink)}.searchbox{background:var(--c-surface);border:1px solid var(--c-line-strong);border-radius:var(--r-md)}.searchbox:focus-within{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-soft)}.searchbox input{box-shadow:none;background:0 0;border:0}.app-splash{background:var(--c-bg);color:var(--c-ink)}.app-splash strong{font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:-.6px}.app-splash p{color:var(--c-muted);font-size:var(--fs-md)}.splash-mark{background:var(--c-primary);border-radius:var(--r-card);box-shadow:var(--sh-2)}.splash-progress{background:var(--c-primary-soft)}.splash-progress:after{background:var(--c-primary)}.empty strong{color:var(--c-ink);font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.empty p{color:var(--c-muted);font-size:var(--fs-sm);line-height:1.6}.empty-symbol{background:var(--c-primary-soft);color:var(--c-primary);border-radius:var(--r-md)}.stat-card .stat-value{color:var(--c-ink);font-weight:var(--fw-bold)}.stat-card>small,.stat-card small{color:var(--c-muted)}.page-description,.panel-heading p{color:var(--c-muted);font-size:var(--fs-sm)}.back-link{color:var(--c-ink-2);font-weight:var(--fw-medium)}.back-link:hover{color:var(--c-primary)}.document-row,.appointment-row,.patient-row{border-color:var(--c-line)}.form-grid.vas-grid{align-items:end;margin-bottom:20px}.vas-grid .field{justify-content:flex-end;margin-bottom:0}.vas-grid .field input{height:var(--h-control);min-height:var(--h-control)}.auth-screen{background:var(--c-bg)}.auth-card{border-radius:var(--r-modal);border:1px solid var(--c-line);box-shadow:var(--sh-2)}.notice-error[tabindex="-1"]:focus{outline:none}.ex-panel{gap:var(--sp-3);padding:var(--sp-4);display:grid}.ex-notice{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--c-warning-soft);color:var(--c-warning);font-size:var(--fs-md);margin:0}.ex-list,.ex-run-list,.ex-done-list{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.ex-row{gap:var(--sp-2);padding:var(--sp-3);border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface);min-width:0;display:grid}.ex-row-list{grid-template-columns:minmax(0,1fr)}.ex-main{align-items:baseline;gap:var(--sp-2);flex-wrap:wrap;min-width:0;display:flex}.ex-name{overflow-wrap:anywhere;font-size:var(--fs-md)}.ex-counts-text{color:var(--c-muted);font-size:var(--fs-md);white-space:nowrap}.ex-row-actions{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.ex-icon{border:1px solid var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface);min-width:44px;min-height:44px;color:var(--c-ink);cursor:pointer;place-items:center;display:inline-grid}.ex-icon:disabled{background:var(--c-disabled-bg);color:var(--c-disabled-ink);border-color:var(--c-disabled-line);cursor:not-allowed}.ex-editor{gap:var(--sp-3);padding:var(--sp-3);border:1px dashed var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface-2);display:grid}.ex-editor input[type=text],.ex-editor input:not([type]),.ex-editor input[type=number]{min-height:44px;font-size:16px}.ex-editor-counts{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.ex-keep{align-items:center;gap:var(--sp-3);min-height:44px;font-size:var(--fs-md);display:flex}.ex-keep input{flex:none;width:24px;height:24px}.ex-actions{gap:var(--sp-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.ex-actions .btn,.ex-row-actions .btn,.ex-toolbar .btn,.ex-footer .btn{min-height:44px}.ex-toolbar{gap:var(--sp-2);flex-wrap:wrap;display:flex}.ex-screen{gap:var(--sp-3);display:grid}.ex-screen-intro{color:var(--c-muted);font-size:var(--fs-md);margin:0}.ex-footer{gap:var(--sp-2);padding:var(--sp-3) 0 var(--sp-1);background:var(--c-surface);flex-wrap:wrap;justify-content:flex-end;display:flex;position:sticky;bottom:0}.ex-picker{gap:var(--sp-2);padding:var(--sp-3);border:1px dashed var(--c-line-strong);border-radius:var(--r-md);display:grid}.ex-pick{align-items:center;gap:var(--sp-3);min-height:48px;font-size:var(--fs-md);display:flex}.ex-pick input{flex:none;width:24px;height:24px}.ex-pick.is-used{color:var(--c-disabled-ink)}.ex-prep-row{gap:var(--sp-2);grid-template-columns:minmax(0,1fr);display:grid}.ex-prep-counts{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.ex-prep-counts input{box-sizing:border-box;width:100%;min-height:44px;font-size:16px}.ex-run-row{gap:var(--sp-2);padding:var(--sp-3);border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface);display:grid}.ex-run-row.is-done{border-color:var(--c-success);background:var(--c-success-soft)}.ex-check{align-items:center;gap:var(--sp-3);cursor:pointer;min-width:0;min-height:56px;display:flex}.ex-check input{flex:none;width:32px;height:32px}.ex-check .ex-name{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.ex-steppers{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.ex-stepper{align-items:center;gap:var(--sp-2);display:inline-flex}.ex-stepper-label{font-size:var(--fs-sm);color:var(--c-muted)}.ex-stepper output{text-align:center;min-width:40px;font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.ex-step{border:1px solid var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface);min-width:44px;min-height:44px;color:var(--c-ink);cursor:pointer;font-size:22px;line-height:1}.ex-step:disabled{background:var(--c-disabled-bg);color:var(--c-disabled-ink);cursor:not-allowed}.ex-times{font-size:var(--fs-lg);color:var(--c-muted)}.ex-planned{font-size:var(--fs-sm);color:var(--c-muted);margin:0}.ex-summary{font-weight:var(--fw-semibold);font-size:var(--fs-md);margin:0}.ex-progress{color:var(--c-muted);font-size:var(--fs-md);margin:0}.ex-done-list{margin:var(--sp-2) 0}.ex-done-list li{font-size:var(--fs-md);overflow-wrap:anywhere}.ex-done-list li.is-undone{color:var(--c-muted)}.ex-prepared-badge{border-radius:var(--r-pill);background:var(--c-primary-soft);color:var(--c-primary-ink);font-size:var(--fs-sm);font-weight:var(--fw-medium);align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.ex-detail-actions{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.ex-detail-actions .btn{min-height:44px}.ex-soon{color:var(--c-muted);font-size:var(--fs-sm)}@media (width<=760px){.ex-row-actions .btn{flex:auto}.ex-editor input,.ex-prep-counts input{font-size:16px}}@media (width<=520px){.ex-times{display:none}.ex-steppers{align-items:flex-start;gap:var(--sp-2);flex-direction:column}}.ex-accordion{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.ex-acc-item{border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface);min-width:0}.ex-acc-item.is-open{border-color:var(--c-line-strong)}.ex-acc-head{align-items:center;gap:var(--sp-2);width:100%;min-height:52px;padding:6px var(--sp-3);text-align:left;font-size:var(--fs-md);color:var(--c-ink);cursor:pointer;background:0 0;border:0;min-width:0;display:flex}.ex-acc-name{overflow-wrap:anywhere;min-width:0;font-weight:var(--fw-semibold);flex:auto}.ex-acc-summary{font-size:var(--fs-sm);color:var(--c-muted);flex:none;align-items:center;gap:4px;display:inline-flex}.ex-acc-body{padding:0 var(--sp-3) var(--sp-3);min-width:0}.ex-bar{border-radius:var(--r-pill);background:var(--c-surface-2);border:1px solid var(--c-line);height:10px;overflow:hidden}.ex-bar>i{background:var(--c-success);height:100%;display:block}.ex-group-list{gap:var(--sp-2)}.ex-group-row{align-items:center;gap:var(--sp-2);width:100%;min-height:56px;padding:6px var(--sp-3);border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface);text-align:left;font-size:var(--fs-md);color:var(--c-ink);cursor:pointer;min-width:0;display:flex}.ex-group-row.is-done{border-color:var(--c-success);background:var(--c-success-soft)}.ex-group-name{overflow-wrap:anywhere;min-width:0;font-weight:var(--fw-semibold);flex:auto}.ex-group-count{font-size:var(--fs-sm);color:var(--c-muted);flex:none;align-items:center;gap:4px;display:inline-flex}.ex-copy-confirm .ex-actions{justify-content:flex-start}.ex-finish .ex-accordion{margin-top:var(--sp-2)}.ex-copy-loss{color:var(--c-danger);font-weight:var(--fw-semibold);overflow-wrap:anywhere;margin:0}.ex-toolbar .btn{white-space:normal;text-align:left}html[data-keyboard-visible] #root{padding-bottom:var(--kb-pad,0px)}html[data-keyboard-visible] .bottom-nav,html[data-keyboard-visible] .dc-fab{visibility:hidden;pointer-events:none}html[data-keyboard-visible] .modal-overlay{box-shadow:0 0 0 100vmax var(--c-surface)}html[data-keyboard-visible] .modal-overlay,html[data-keyboard-visible] .modal-overlay:not(.mobile-fullscreen-overlay){inset:auto 0;top:var(--vv-top,0px);height:var(--vv-height,100%);justify-content:stretch;align-items:stretch;padding:0}html[data-keyboard-visible] .modal-overlay>.modal,html[data-keyboard-visible] .modal-overlay:not(.mobile-fullscreen-overlay)>.modal{width:100%;max-width:none;height:100%;max-height:100%;box-shadow:none;border-radius:0}html[data-keyboard-visible] .modal-overlay>.modal>.modal-header{padding-top:calc(12px + var(--safe-top,0px));flex:none;padding-bottom:12px}html[data-keyboard-visible] .modal-overlay>.modal>.modal-content{flex:1 1 0;min-height:0;padding-bottom:20px}html[data-keyboard-visible] .modal-overlay>.modal>.modal-footer{z-index:2;background:var(--c-surface);flex:none;padding-top:8px;padding-bottom:8px;position:relative}@media (height<=500px){html[data-keyboard-visible] .modal-overlay>.modal>.modal-header{padding-top:calc(4px + var(--safe-top,0px));align-items:center;padding-bottom:4px}html[data-keyboard-visible] .modal-overlay>.modal>.modal-header p{display:none}html[data-keyboard-visible] .modal-overlay>.modal>.modal-header h2{font-size:18px}html[data-keyboard-visible] .modal-overlay>.modal>.modal-header .icon-btn{margin-top:0}html[data-keyboard-visible] .modal-overlay>.modal>.modal-content{padding-top:10px;padding-bottom:10px}html[data-keyboard-visible] .modal-overlay>.modal>.modal-footer{padding-top:4px;padding-bottom:4px}html[data-keyboard-visible] .modal-overlay>.modal>.modal-footer .btn{min-height:44px}}html[data-keyboard-visible] textarea{max-height:max(96px, calc(var(--vv-height,100vh) - 240px))}.modal-footer .ex-footer{background:0 0;padding:0;position:static}.modal-footer .aipt-actions,.modal-footer>.notice+.ex-footer,.modal-footer>.notice+.aipt-actions{margin-top:0}.modal-content:has(.ex-footer){scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.ex-editor input,.ex-prep-counts input{scroll-margin-block:24px}.modal-overlay,.modal-content{overscroll-behavior:contain}.field-error{color:var(--c-destructive);margin:6px 0 0;font-size:14px;font-weight:600;line-height:1.35}.field [aria-invalid=true]{border-color:var(--c-destructive);outline:2px solid var(--c-destructive);outline-offset:0}.picker-menu-floating{flex-direction:column;display:flex}.picker-menu-floating>.searchbox{flex:none}.picker-menu-floating .picker-options{flex:0 auto;min-height:0}.dashboard-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.8fr);align-items:start;gap:18px;margin-bottom:26px;display:grid}.rem-box{gap:var(--sp-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--c-surface);min-width:0;padding:18px 20px;display:grid}.rem-head{align-items:center;gap:var(--sp-3);display:flex}.rem-head h2{font-size:var(--fs-lg);margin:0}.rem-sub{font-size:var(--fs-sm);color:var(--c-muted);margin:0}.rem-icon{border-radius:var(--r-md);background:var(--c-primary-soft);width:36px;height:36px;color:var(--c-primary);flex:none;place-items:center;display:grid}.rem-local{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--c-warning-soft);color:var(--c-warning);font-size:var(--fs-sm);margin:0}.rem-form{gap:var(--sp-2);display:grid}.rem-label{font-size:var(--fs-sm);color:var(--c-ink-2);font-weight:600}.rem-row{gap:var(--sp-2);align-items:stretch;min-width:0;display:flex}.rem-row input{box-sizing:border-box;flex:auto;min-width:0;min-height:44px;font-size:16px}.rem-row .rem-add{flex:none;min-height:44px}.rem-hint,.rem-count{font-size:var(--fs-meta);color:var(--c-muted);margin:0}.rem-count{text-align:right}.rem-retry{justify-self:start;min-height:44px}.rem-empty{text-align:center;padding:var(--sp-3) var(--sp-2);color:var(--c-muted)}.rem-empty strong{color:var(--c-ink-2);font-size:var(--fs-md);display:block}.rem-empty p{margin:var(--sp-1) 0 0;font-size:var(--fs-sm)}.rem-list{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.rem-item{align-items:center;gap:var(--sp-2);border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface);min-width:0;min-height:52px;padding:4px 6px 4px 10px;display:flex}.rem-check{align-items:center;gap:var(--sp-3);cursor:pointer;flex:auto;min-width:0;min-height:48px;display:flex}.rem-check input{flex:none;width:28px;height:28px;margin:0}.rem-text{overflow-wrap:anywhere;min-width:0;font-size:var(--fs-md);line-height:1.35}.rem-item.is-done{background:var(--c-surface-2)}.rem-item.is-done .rem-text{opacity:.55;text-decoration:line-through}.rem-del{border-radius:var(--r-md);width:44px;height:44px;color:var(--c-muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:inline-grid}.rem-del:hover,.rem-del:focus-visible{background:var(--c-surface-2);color:var(--c-destructive)}.rem-confirm{align-items:center;gap:var(--sp-2);flex-wrap:wrap;width:100%;min-height:48px;display:flex}.rem-confirm>span{font-size:var(--fs-md);flex:auto}.rem-confirm .btn{min-height:44px}@media (width>=1001px){.rem-list{max-height:320px;padding-right:2px;overflow-y:auto}}@media (width<=1000px){.dashboard-top{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-top>.rem-box{grid-column:1/-1}}@media (width<=600px){.dashboard-top{grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:22px}}html[data-swipe-back] body{background:var(--c-bg-3)}.main-content.swipe-back-moving{background:var(--c-bg);min-height:100vh}.swipe-back-moving{box-shadow:-10px 0 28px #15283c29}html[data-swipe-back] .dc-fab{opacity:0;transition:opacity .12s ease-out}html[data-swipe-closing] *,html[data-swipe-closing] :before,html[data-swipe-closing] :after{animation-duration:.01ms!important;animation-delay:0s!important}@media (width<=1000px),(hover:none) and (pointer:coarse){.segmented button,.auth-switch button,.dc-switch button,.period-navigation .btn,.back-link,.mobile-brand,.specialty-switch,.calendar-log summary{min-height:44px!important}.segmented button,.searchbox button{min-width:44px!important}.searchbox button{min-height:44px!important}.back-link,.mobile-brand,.calendar-log summary{align-items:center;display:flex}.contact-details>a,label.checkbox{align-items:center;min-height:44px;display:flex}.auth-password-toggle{width:44px;height:44px;right:0}.auth-input-wrap input{padding-right:48px}}@media (width<=400px){.mobile-month-grid,.week-strip{gap:1px;padding-inline:2px}}@keyframes motion-fade{0%{opacity:0}}@keyframes motion-fade-out{to{opacity:0}}@keyframes motion-rise{0%{opacity:0;translate:0 var(--motion-rise)}}@keyframes motion-sink{to{opacity:0;translate:0 var(--motion-rise)}}@keyframes motion-toast{0%{opacity:0;translate:0 var(--motion-rise);scale:.96}5%{opacity:1;translate:0;scale:1.02}8%{scale:1}96%{opacity:1;translate:0}to{opacity:0;translate:0 calc(var(--motion-rise) / 2)}}.page,.mobile-day-view,.mobile-week-view,.mobile-month-view,.month-view,.timegrid-scroll,.profile-content>*,.rem-empty,.rem-list{animation:motion-fade var(--motion-quick) var(--motion-ease) backwards}.app-splash.compact{animation:motion-fade var(--motion-quick) var(--motion-ease) var(--motion-press) backwards}.rem-placeholder{min-height:84px}.modal-overlay{animation:motion-fade var(--motion-base) var(--motion-ease) backwards}.modal-overlay>.modal{animation:motion-rise var(--motion-base) var(--motion-ease) backwards}html[data-keyboard-visible] .modal-overlay,html[data-keyboard-visible] .modal-overlay>.modal{animation:none}.modal-overlay.modal-ghost{pointer-events:none;animation:motion-fade-out var(--motion-quick) var(--motion-ease) forwards}.modal-overlay.modal-ghost>.modal{animation:motion-sink var(--motion-quick) var(--motion-ease) forwards}.toast{animation:motion-toast var(--motion-toast) var(--motion-ease) both}.btn{transition:background-color var(--motion-quick) ease, border-color var(--motion-quick) ease, box-shadow var(--motion-quick) ease, scale var(--motion-press) var(--motion-ease)}.icon-btn,.ex-step,.ex-icon,.rem-del,.dc-fab,.dc-switch button,.segmented button,.profile-tabs button,.bottom-nav a,.week-strip button,.mobile-month-grid button{transition:scale var(--motion-press) var(--motion-ease)}.btn:active:not(:disabled),.icon-btn:active:not(:disabled),.ex-step:active:not(:disabled),.ex-icon:active:not(:disabled),.rem-del:active:not(:disabled),.dc-fab:active:not(:disabled),.dc-switch button:active:not(:disabled),.segmented button:active:not(:disabled),.profile-tabs button:active:not(:disabled),.bottom-nav a:active,.week-strip button:active:not(:disabled),.mobile-month-grid button:active:not(:disabled){transform:none;scale:var(--motion-press-scale)}.ex-check input[type=checkbox]{appearance:none;border:2px solid var(--c-line-strong);border-radius:var(--r-sm);background:var(--c-surface);transition:background-color var(--motion-quick) var(--motion-ease), border-color var(--motion-quick) var(--motion-ease);place-items:center;margin:0;display:inline-grid;position:relative}.ex-check input[type=checkbox]:after{content:"";box-sizing:border-box;opacity:0;width:11px;height:19px;transition:transform var(--motion-base) var(--motion-ease), opacity var(--motion-press) linear;border:3.5px solid #fff;border-width:0 3.5px 3.5px 0;border-radius:1px;position:absolute;top:50%;left:50%;transform:translate(-50%,calc(-50% - 3px))rotate(45deg)scale(0)}.ex-check input[type=checkbox]:checked{background:var(--c-success);border-color:var(--c-success)}.ex-check input[type=checkbox]:checked:after{opacity:1;transform:translate(-50%,calc(-50% - 3px))rotate(45deg)scale(1)}.ex-check input[type=checkbox]:focus-visible{outline:3px solid var(--c-focus);outline-offset:2px}@keyframes motion-pulse{0%{scale:1}40%{scale:1.04}to{scale:1}}.ex-progress[data-pulse]{animation:motion-pulse var(--motion-base) var(--motion-ease) backwards}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important;translate:none!important;scale:none!important}}
