@font-face{font-stretch:75% 100%;font-family:displayFont;src:url(../media/bricolage_grotesque_latin_wdth-s.p.1wb8qz68xbxwc.woff2)format("woff2");font-display:swap;font-weight:200 800}@font-face{font-family:displayFont Fallback;src:local(Arial);ascent-override:82.39%;descent-override:23.92%;line-gap-override:0.0%;size-adjust:112.88%}.yuIkyW_className{font-family:displayFont,displayFont Fallback}.yuIkyW_variable{--font-display:"displayFont", "displayFont Fallback"}
@font-face{font-family:textFont;src:url(../media/atkinson_hyperlegible_next_latin_wght-s.p.1o9o6__l__p-w.woff2)format("woff2");font-display:swap;font-weight:200 800}@font-face{font-family:textFont Fallback;src:local(Arial);ascent-override:99.04%;descent-override:31.8%;line-gap-override:0.0%;size-adjust:99.36%}.HVfP9q_className{font-family:textFont,textFont Fallback}.HVfP9q_variable{--font-text:"textFont", "textFont Fallback"}
:root{--bg:#f4f7f8;--surface:#fff;--border:#dbe3e7;--border-strong:#8c9da6;--text:#172c36;--muted:#4b626e;--accent:#17645d;--accent-text:#fff;--accent-soft:#e5f2ef;--danger:#a8361e;--ok-bg:#e0f1e6;--ok-text:#1f5e3a;--error-bg:#f9e4e0;--error-text:#8f2e20;--mango:#f2a12e;--coral:#e45d3a;--indigo:#4a3dbf;--waiting-bg:#efe9dd;--waiting-text:#4f4a42;--confirmed-bg:#e3eefb;--confirmed-text:#1f4f8a;--money-bg:#fdf1d6;--money-text:#74500a;--arrived-bg:#efe6fb;--arrived-text:#5a3590;--attention-bg:#fde8d8;--attention-text:#9a430b;--done-bg:#e2f3e7;--done-text:#1f5e3a;--closed-bg:#f9e4e0;--closed-text:#8f2e20;--highlight-bg:#dcefe7;--changed-bg:#fbeccb;--cancelled-bg:#f9e0da;--radius:1rem;--shadow:0 1px 0 #1b19300d, 0 10px 22px -16px #1b193059;--ease-out:cubic-bezier(.22, .8, .24, 1);--spring-soft:linear(0, .007 1.3%, .027 2.5%, .065 4%, .114 5.5%, .237 8.5%, .503 14.2%, .623 17%, .731 19.8%, .815 22.3%, .886 24.8%, .948 27.5%, .996 30.3%, 1.029 33%, 1.06 37.5%, 1.068 42.8%, 1.059 48%, 1.016 62.7%, 1.002 70.8%, .995 82.8%, 1);--spring-calm:linear(0, .005 1.8%, .018 3.5%, .073 7.5%, .171 12.5%, .461 25.5%, .584 31.8%, .653 35.8%, .717 40%, .772 44.3%, .818 48.5%, .861 53.3%, .897 58.3%, .95 69.3%, .982 82%, 1);--font-ui:var(--font-text), "Atkinson Hyperlegible Next", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-head:var(--font-text), "Bricolage Grotesque", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--wall-top:#f7f1e6;--wall-bottom:#edf3ee;--glow-sage:#5cb29247;--glow-mango:#f5ac524d;--glow-indigo:#7e72ea29;--glass:#fffdf9b8;--glass-line:#fffc;--shadow-glass:0 1px 0 #ffffffb3 inset, 0 16px 36px -20px #1b193073;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);margin:0;font-size:1.125rem;line-height:1.5}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1.5px}.app{max-width:40rem;margin:0 auto;padding:1rem 1rem 3rem}body:has(>.tabbar) .app{padding-bottom:calc(7rem + env(safe-area-inset-bottom))}.wallpaper{z-index:-1;pointer-events:none;background:linear-gradient(175deg, var(--wall-top), var(--wall-bottom));position:fixed;inset:0;overflow:hidden}.wp-glow{width:var(--size);aspect-ratio:1;background:radial-gradient(closest-side, var(--color), transparent);animation:var(--drift) var(--time) ease-in-out calc(var(--wp-t,0) * -1s) infinite alternate;will-change:transform;border-radius:50%;position:absolute}.wp-glow-sage{--color:var(--glow-sage);--size:120vmax;--drift:calm-drift-a;--time:90s;top:-60vmax;left:-45vmax}.wp-glow-mango{--color:var(--glow-mango);--size:95vmax;--drift:calm-drift-b;--time:120s;top:10vh;right:-55vmax}.wp-glow-indigo{--color:var(--glow-indigo);--size:110vmax;--drift:calm-drift-a;--time:100s;bottom:-70vmax;left:-30vmax}:root:has(.app-auth) .wp-glow{animation:none}.tabbar{z-index:20;left:50%;bottom:calc(.6rem + env(safe-area-inset-bottom));border:1px solid var(--glass-line);background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(1.5);backdrop-filter:blur(18px)saturate(1.5);width:min(26rem,100vw - 1.25rem);box-shadow:var(--shadow-glass);view-transition-name:tabbar;border-radius:1.6rem;padding:.35rem;position:fixed;translate:-50%}.tabbar ul{isolation:isolate;grid-template-columns:repeat(3,1fr);gap:.25rem;margin:0;padding:0;list-style:none;display:grid;position:relative}.tab{isolation:isolate;min-height:3.65rem;color:var(--muted);text-align:center;-webkit-tap-highlight-color:transparent;transition:color .3s var(--ease-out) 60ms;border-radius:1.25rem;align-content:center;justify-items:center;gap:.15rem;padding:.4rem .25rem;font-size:.85rem;font-weight:700;line-height:1.15;text-decoration:none;display:grid;position:relative}.tab[data-active]{color:var(--accent-text)}.tab-pill{z-index:-1;background:var(--accent);width:calc(33.3333% - .166667rem);box-shadow:0 8px 18px -12px var(--accent);translate:calc(var(--i,0) * (100% + .25rem)) 0;transition:translate .46s var(--spring-calm);border-radius:1.25rem;position:absolute;inset:0 auto 0 0}.tab-icon{transition:scale .34s var(--spring-calm)}.tab:active .tab-icon{transition-duration:90ms;scale:.86}.topbar{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.topbar a,.link-button{min-height:2.75rem;color:var(--accent);align-items:center;padding:.5rem 0;font-size:1rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-line{align-items:center;gap:.6rem;margin:0 0 .5rem;display:inline-flex}.brand-mark{flex:none}.eyebrow{color:var(--muted);margin:0;font-size:.95rem;font-weight:600}h1{font-family:var(--font-head);letter-spacing:-.015em;margin:.25rem 0 .6rem;font-size:2rem;font-weight:780;font-stretch:86%;line-height:1.1}h2{font-family:var(--font-head);margin:0 0 .75rem;font-size:1.3rem;font-weight:720;font-stretch:90%;line-height:1.2}.lead{color:var(--muted);margin:0 0 1rem}.muted{color:var(--muted)}.stack{flex-direction:column;gap:1rem;display:flex}.stack>*{margin-top:0;margin-bottom:0}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:1.25rem;padding:1.25rem}.button,button{border:2px solid var(--accent);background:var(--accent);width:100%;min-height:3.5rem;color:var(--accent-text);font:inherit;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .56s var(--spring-soft), box-shadow .16s var(--ease-out), background-color .16s;border-radius:1rem;justify-content:center;align-items:center;gap:.6rem;padding:.75rem 1.25rem;font-size:1.2rem;font-weight:700;text-decoration:none;display:inline-flex}.button:active,button:active{box-shadow:none;transition-duration:80ms;transition-timing-function:var(--ease-out);transform:translateY(1px)scale(.97)}.button-secondary:active,.button-quiet:active{background-color:var(--accent-soft)}@media (hover:hover){.button:hover,button:hover{box-shadow:0 8px 18px -12px #1b1930b3}}.button-secondary{color:var(--accent);background:0 0}.button-danger{border-color:var(--danger);color:var(--danger);background:0 0}.button-quiet{border-color:var(--border);background:var(--surface);min-height:3rem;color:var(--text);font-size:1.05rem;font-weight:700}button[aria-busy=true]{cursor:progress}button[aria-busy=true]:after{content:"";border:2.5px solid;border-right-color:#0000;border-radius:50%;width:1.05em;height:1.05em;animation:.7s linear infinite spin}button:focus-visible,.button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.actions{flex-direction:column;gap:.75rem;display:flex}.actions form{margin:0}.chip{white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .7rem;font-size:.95rem;font-weight:700;display:inline-flex}.chip.tone-closed:before,.mark-new:before,.mark-changed:before{content:"";width:1em;height:1em;-webkit-mask:var(--chip-icon) center / contain no-repeat;-webkit-mask:var(--chip-icon) center / contain no-repeat;mask:var(--chip-icon) center / contain no-repeat;background:currentColor;flex:none}.chip.tone-closed{--chip-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8.5 8.5 7 7m0-7-7 7'/%3E%3C/svg%3E")}.tone-waiting{background:var(--waiting-bg);color:var(--waiting-text)}.tone-confirmed{background:var(--confirmed-bg);color:var(--confirmed-text)}.tone-money{background:var(--money-bg);color:var(--money-text)}.tone-arrived{background:var(--arrived-bg);color:var(--arrived-text)}.tone-attention{background:var(--attention-bg);color:var(--attention-text)}.tone-done{background:var(--done-bg);color:var(--done-text)}.tone-closed{background:var(--closed-bg);color:var(--closed-text)}.mark-new{background:var(--surface);color:var(--accent);border:2px solid var(--accent);--chip-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 2.5c.7 5.2 4.3 8.8 9.5 9.5-5.2.7-8.8 4.3-9.5 9.5-.7-5.2-4.3-8.8-9.5-9.5 5.2-.7 8.8-4.3 9.5-9.5Z'/%3E%3C/svg%3E")}.mark-changed{background:var(--surface);color:var(--money-text);border:2px dashed var(--money-text);--chip-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11a8 8 0 0 0-14.5-4.5M4 13a8 8 0 0 0 14.5 4.5'/%3E%3Cpath d='M5 3v4h4M19 21v-4h-4'/%3E%3C/svg%3E")}.focus{border-width:2px;border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.focus-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-items:center;gap:.5rem;margin:0 0 .35rem;font-size:.9rem;font-weight:700;display:inline-flex}.focus .focus-label:before{content:"";background:var(--accent);border-radius:50%;width:.6rem;height:.6rem}.focus-name{font-family:var(--font-head);margin:0;font-size:1.85rem;font-weight:800;font-stretch:86%;line-height:1.1}.focus-meta{color:var(--muted);margin:.4rem 0 1rem}.time-inline{font-family:var(--font-head);font-variant-numeric:tabular-nums;color:var(--text);font-size:1.2em;font-weight:800;font-stretch:86%}.appointments{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}:where(.appointments a,.upcoming-detail){--stripe:var(--waiting-text)}.appointments a{background:linear-gradient(var(--stripe), var(--stripe)) left / .4rem 100% no-repeat, var(--surface);border:1px solid var(--border);min-height:4.5rem;color:var(--text);box-shadow:var(--shadow);-webkit-tap-highlight-color:transparent;transition:transform .56s var(--spring-soft), border-color .16s;border-radius:1rem;grid-template-columns:4.6rem 1fr;align-items:center;gap:.2rem .85rem;padding:.85rem 1rem .85rem 1.25rem;text-decoration:none;display:grid}.appointments a:active{transition-duration:80ms;transition-timing-function:var(--ease-out);transform:scale(.98)}[data-tone=tone-confirmed]{--stripe:var(--confirmed-text)}[data-tone=tone-money]{--stripe:var(--money-text)}[data-tone=tone-arrived]{--stripe:var(--arrived-text)}[data-tone=tone-attention]{--stripe:var(--attention-text)}[data-tone=tone-done]{--stripe:var(--done-text)}.appointments .time{font-family:var(--font-head);font-variant-numeric:tabular-nums;grid-row:span 2;font-size:1.45rem;font-weight:800;font-stretch:86%}.appointments .who{font-size:1.2rem;font-weight:700;line-height:1.25}.appointments .what{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.35rem .6rem;font-size:1rem;display:flex}.appointments a[data-tone=tone-closed],.upcoming-detail.is-cancelled{--stripe:var(--closed-text);background:repeating-linear-gradient(135deg, var(--closed-text) 0 .28rem, transparent .28rem .56rem) left / .4rem 100% no-repeat, var(--surface);border:2px dashed var(--closed-text);box-shadow:none}.appointments .is-cancelled .who-text,.upcoming-detail.is-cancelled .who-text{text-decoration:line-through;text-decoration-thickness:2px}.appointments .is-cancelled .time{color:var(--muted)}.appointments .is-current a,.appointments .is-next a{border-color:var(--accent);border-width:2px}.upcoming-day h2{margin-bottom:.25rem}.upcoming-day h2 a{color:var(--text)}.upcoming-day>.muted{margin:0 0 .6rem}.upcoming-detail{background:linear-gradient(var(--stripe), var(--stripe)) left / .4rem 100% no-repeat, var(--surface);padding-left:1.5rem}.changes{border-left:4px solid var(--accent);background:var(--surface);box-shadow:var(--shadow);border-radius:.75rem;padding:1rem 1.1rem}.changes h2{margin-bottom:.35rem;font-size:1.1rem}.changes p{margin:0 0 .5rem}.change-days{margin:0;padding-left:1.2rem}.change-days li+li{margin-top:.35rem}.date-jump{margin-top:.5rem}.empty{text-align:center;padding:2rem 1rem}.focus-label.time-range{text-transform:none;letter-spacing:0;font-size:1.05rem}.appointments li[data-flash=new]{animation:row-arrive .65s var(--spring-soft)}.appointments li[data-flash]>a,.upcoming-detail[data-flash]{--glow:var(--highlight-bg);--ring:var(--accent);animation:row-glow 2.4s var(--ease-out), row-ring 1.1s var(--ease-out)}.appointments li[data-flash=changed]>a,.upcoming-detail[data-flash=changed]{--glow:var(--changed-bg);--ring:var(--money-text)}.appointments li[data-flash=cancelled]>a,.upcoming-detail[data-flash=cancelled]{--glow:var(--cancelled-bg);--ring:var(--closed-text);animation:row-glow 2.4s var(--ease-out), row-ring 1.1s var(--ease-out), row-sink .52s var(--spring-soft)}.appointments li[data-flash=changed] .time,.upcoming-detail[data-flash=changed] .time-range{animation:time-settle .65s var(--spring-soft)}.appointments li[data-flash=cancelled] .who-text,.upcoming-detail[data-flash=cancelled] .who-text{-webkit-box-decoration-break:clone;box-decoration-break:clone;background:linear-gradient(currentColor,currentColor) 0 56%/100% 2px no-repeat;text-decoration:none;animation:.72s cubic-bezier(.5,0,.25,1) .18s both strike-draw}.appointments li[data-flash=cancelled] .chip.tone-closed,.upcoming-detail[data-flash=cancelled] .chip.tone-closed{animation:chip-beat .62s var(--spring-soft) .2s both}.appointments li[data-flash=new] .mark-new:before,.upcoming-detail[data-flash=new] .mark-new:before{animation:spark-turn .9s var(--spring-soft) .15s both}.form-slow{z-index:20;background:var(--text);width:min(36rem,100% - 2rem);color:var(--bg);box-shadow:var(--shadow);border-radius:.875rem;margin:0;padding:.85rem 1rem;font-size:1rem;font-weight:700;position:fixed;bottom:1rem;left:50%;translate:-50%}.form-slow[hidden]{display:none}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}::view-transition{pointer-events:none}::view-transition-group(root){animation-duration:.22s}::view-transition-old(.nav-forward){animation:.15s ease-in both vt-fade-out, .36s var(--ease-out) both vt-slide-to-left}::view-transition-new(.nav-forward){animation:.22s ease-out 90ms both vt-fade-in, .48s var(--spring-calm) both vt-slide-from-right}::view-transition-old(.nav-back){animation:.15s ease-in both vt-fade-out, .36s var(--ease-out) both vt-slide-to-right}::view-transition-new(.nav-back){animation:.22s ease-out 90ms both vt-fade-in, .48s var(--spring-calm) both vt-slide-from-left}::view-transition-group(.morph){z-index:5;animation-duration:.44s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}::view-transition-old(.morph){animation:.14s ease-in both vt-fade-out}::view-transition-new(.morph){animation:.2s ease-out 60ms both vt-fade-in}::view-transition-group(tabbar){z-index:10;animation:none}::view-transition-old(tabbar){display:none}::view-transition-new(tabbar){animation:none}:root:has(.app-auth)::view-transition-group(*){animation:none}:root:has(.app-auth)::view-transition-old(*){animation:none}:root:has(.app-auth)::view-transition-new(*){animation:none}.facts{grid-template-columns:max-content 1fr;gap:.5rem 1rem;margin:0;display:grid}.facts dt{color:var(--muted)}.facts dd{overflow-wrap:anywhere;margin:0;font-weight:700}.upcoming{color:var(--muted);margin:0;padding-left:1.2rem}.upcoming li+li{margin-top:.35rem}.notice{border-radius:.875rem;margin-bottom:1rem;padding:.9rem 1rem;font-weight:600}.notice-ok{background:var(--ok-bg);color:var(--ok-text)}.notice-error{background:var(--error-bg);color:var(--error-text)}.notice-warning{background:var(--money-bg);color:var(--money-text);border:2px solid}.live-ok{color:var(--ok-text);align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.95rem;font-weight:700;display:inline-flex}.live-ok:before{content:"";background:currentColor;border-radius:50%;width:.55rem;height:.55rem;animation:2.6s ease-in-out infinite breathe}.live-status:empty{display:none}.live-offline .button,.live-offline button:not(.button-danger){opacity:.5}.field{flex-direction:column;gap:.35rem;display:flex}.field label{font-weight:700}.field input{border:2px solid var(--border-strong);background:var(--surface);width:100%;min-height:3.25rem;color:var(--text);font:inherit;border-radius:.875rem;padding:.6rem .85rem;font-size:1.25rem}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.field input.code{letter-spacing:.3em;font-variant-numeric:tabular-nums}.hint{color:var(--muted);margin:0;font-size:.98rem}.steps{margin:0;padding-left:1.4rem}.steps li+li{margin-top:.5rem}.secret{letter-spacing:.08em;overflow-wrap:anywhere;background:var(--waiting-bg);border-radius:.75rem;padding:.75rem;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:1.2rem;font-weight:700}.jornada .focus-name{font-size:2.2rem}.jornada .button{min-height:4.25rem;font-size:1.35rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (min-width:48rem){.app{padding-top:2rem}.actions.inline{flex-direction:row}.actions.inline>*{flex:1}}@keyframes calm-drift-a{0%{transform:translate(0)scale(1)}to{transform:translate(10vmax,8vmax)scale(1.08)}}@keyframes calm-drift-b{0%{transform:translate(0)scale(1.05)}to{transform:translate(-9vmax,12vmax)scale(.96)}}@keyframes row-arrive{0%{transform:translateY(-.9rem)scale(.97)}to{transform:none}}@keyframes row-glow{0%{background-color:var(--glow)}to{background-color:var(--surface)}}@keyframes row-ring{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--ring) 55%, transparent)}to{box-shadow:0 0 0 .7rem color-mix(in srgb, var(--ring) 0%, transparent)}}@keyframes row-sink{40%{transform:scale(.975)}}@keyframes time-settle{0%{transform:translateY(-.45em)}to{transform:none}}@keyframes strike-draw{0%{background-size:0% 2px}}@keyframes chip-beat{40%{transform:scale(1.14)}}@keyframes spark-turn{0%{transform:rotate(-120deg)scale(.4)}}@keyframes vt-fade-in{0%{opacity:0}}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-slide-from-right{0%{translate:2.5rem}}@keyframes vt-slide-from-left{0%{translate:-2.5rem}}@keyframes vt-slide-to-left{to{translate:-1.75rem}}@keyframes vt-slide-to-right{to{translate:1.75rem}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{0%,to{box-shadow:0 0 0 .15rem color-mix(in srgb, currentColor 22%, transparent)}50%{box-shadow:0 0 0 .35rem color-mix(in srgb, currentColor 6%, transparent)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}.appointments li[data-flash]>a,.upcoming-detail[data-flash]{background-color:var(--glow);outline:3px solid var(--ring);outline-offset:2px}}.skip-link{z-index:100;background:var(--surface);padding:.75rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-180%)}.skip-link:focus{transform:none}h1{letter-spacing:-.025em;font-size:clamp(1.8rem,4vw,2.25rem);line-height:1.2}h2{line-height:1.3}.card{box-shadow:none;border-color:var(--border)}.tabbar{border:1px solid var(--border);-webkit-backdrop-filter:none;background:#fff;border-radius:1rem;width:min(40rem,100vw - 1rem);box-shadow:0 4px 24px #172c3614}.tabbar ul{grid-template-columns:repeat(4,1fr)}.tab{border-radius:.65rem;min-height:3.7rem;font-size:1rem;transition:color .1s}.tab-pill{width:calc(25% - .1875rem);box-shadow:none;border-radius:.65rem;transition:translate .16s ease-out}.tab-icon{width:22px;height:22px}.calendar-app,.today-app{max-width:72rem}.welcome-name{color:var(--muted);margin:.5rem 0}.calendar-entry{align-items:center;min-height:48px;margin:.25rem 0 1rem;font-weight:700;display:inline-flex}.clinic-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.4rem;display:flex}.clinic-heading h1{margin:.3rem 0}.clinic-heading p{margin:.4rem 0}.clinic-heading>.button{flex-shrink:0;width:auto}.clinic-calendar{background:var(--surface);border:1px solid var(--border);border-radius:1rem;overflow:hidden}.month-toolbar{justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;display:flex}.month-toolbar h2{margin:0;font-size:1.6rem}.month-toolbar h2:first-letter{text-transform:uppercase}.month-toolbar nav{gap:.4rem;display:flex}.calendar-control{border:1px solid var(--border-strong);border-radius:.55rem;justify-content:center;align-items:center;min-width:48px;min-height:48px;padding:.5rem .8rem;font-weight:700;text-decoration:none;display:inline-flex}.calendar-control:hover{background:var(--accent-soft)}.month-weekdays,.month-dates{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-weekdays{border-block:1px solid var(--border);color:var(--muted);text-align:center;background:#eef3f5;font-size:1rem;font-weight:700}.month-weekdays span{padding:.7rem 0}.month-date{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:104px;color:var(--text);flex-direction:column;gap:.4rem;padding:.9rem;text-decoration:none;display:flex;position:relative}.month-date:nth-child(7n){border-right:0}.month-date:hover{background:#f1f8f6}.day-number{border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.15rem;font-weight:700;line-height:1;display:inline-flex}.month-date.today .day-number{background:var(--accent);color:#fff}.month-date.selected{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.day-count{color:var(--muted);font-size:.95rem}.cancelled-count{color:var(--closed-text);font-size:.8rem}.other-month{color:#637783;background:#f7f9fa}.calendar-help{color:var(--muted);margin:0;padding:1rem 1.25rem;font-size:1rem}.calendar-selection-hint{margin:1.5rem 0}.calendar-day{margin-top:1.75rem;scroll-margin-top:1rem}.day-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.day-heading h2{margin:.35rem 0;font-size:1.5rem}.day-heading>span{white-space:nowrap;color:var(--muted)}.calendar-appointments{background:var(--surface);border:1px solid var(--border);border-radius:.8rem;margin:0;padding:0;list-style:none;overflow:hidden}.calendar-appointments li+li{border-top:1px solid var(--border)}.calendar-appointments li>a{min-height:100px;color:var(--text);grid-template-columns:90px 1fr auto;align-items:center;gap:1.2rem;padding:1rem 1.25rem;text-decoration:none;display:grid}.calendar-appointments li>a:hover{background:#f1f8f6}.calendar-time{font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700}.calendar-time small{color:var(--muted);font-size:1rem;font-weight:400;display:block}.calendar-patient{gap:.35rem;display:grid}.calendar-patient strong{font-size:1.2rem}.calendar-patient>span{color:var(--muted);font-size:1rem}.calendar-status{justify-items:end;gap:.6rem;display:grid}.open-caption{color:var(--accent);font-size:1rem;font-weight:700}.calendar-appointments .is-cancelled{background:#fcf4f1}.calendar-appointments .is-cancelled strong{text-decoration:line-through}.today-workspace{gap:1.25rem;display:grid}.today-overview{justify-content:space-between;align-items:center;gap:1rem;display:flex}.today-overview p{margin:0}.today-overview .lead{white-space:nowrap}.today-overview .button{width:auto;min-width:15rem}.time,.time-inline,.calendar-time{font-family:var(--font-ui)}.attention-overview{gap:1rem;display:grid}.focus{border:1px solid var(--border);background:#fff}.today-list h2{margin:0 0 1rem;font-size:1.3rem}.appointment-reason{color:var(--muted);margin-top:.35rem;font-size:1rem;font-weight:400;display:block}.facts{overflow-wrap:anywhere}.clinical-fact{display:contents}.clinical-record{margin-top:1rem}.clinical-record h3{font-family:var(--font-ui);margin:.4rem 0;font-size:1.2rem}.clinical-meta,.clinical-draft{color:var(--muted);margin:.5rem 0;font-size:1rem}.clinical-fields{gap:1rem;margin:0;display:grid}.clinical-fields dt{font-size:1rem;font-weight:700}.clinical-fields dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:.25rem 0 0}.clinical-alerts{border-left:4px solid var(--accent)}.doctor-shortcuts{flex-wrap:wrap;gap:.65rem;margin:0 0 1.4rem;display:flex}.doctor-shortcuts a{border:1px solid var(--border-strong);border-radius:.65rem;align-items:center;min-height:48px;padding:.55rem .85rem;font-weight:700;text-decoration:none;display:inline-flex}.patient-search{flex-wrap:wrap;align-items:end;gap:.75rem;margin:1.4rem 0;display:flex}.patient-search label{flex:16rem}.patient-search button{width:auto;min-width:7rem}.patient-alphabet{flex-wrap:wrap;gap:.3rem;margin:1rem 0;display:flex}.patient-alphabet a{border:1px solid var(--border);border-radius:.4rem;justify-content:center;align-items:center;min-width:44px;min-height:44px;text-decoration:none;display:inline-flex}.patient-alphabet a[aria-current]{background:var(--accent);color:#fff}.patient-directory,.patient-visits{margin:1rem 0;padding:0;list-style:none}.patient-directory li+li,.patient-visits li+li{border-top:1px solid var(--border)}.patient-directory a{background:var(--surface);color:var(--text);grid-template-columns:minmax(0,1fr) auto;gap:.3rem;min-height:88px;padding:1rem;text-decoration:none;display:grid}.patient-directory strong{font-size:1.2rem}.patient-directory a>span:not(.open-caption){color:var(--muted);grid-column:1}.patient-directory .open-caption{grid-area:1/2/3;align-self:center}.patient-app{max-width:72rem}.patient-heading{margin:1.2rem 0 1.75rem}.patient-chief{font-size:1.2rem;font-weight:700}.patient-workspace{gap:1.5rem;display:grid}.patient-visits a{align-items:center;gap:.4rem;padding:1rem 0;text-decoration:none;display:grid}.doctor-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}:is(.stack>label:not(.doctor-checkbox),.patient-search>label,.doctor-form-grid>label){gap:.45rem;font-weight:700;display:grid}:is(.stack>label:not(.doctor-checkbox),.patient-search>label,.doctor-form-grid>label)>:is(input,select,textarea){border:1px solid var(--border-strong);background:var(--surface);width:100%;min-width:0;min-height:48px;color:var(--text);font:inherit;box-sizing:border-box;border-radius:.5rem;padding:.7rem .8rem;font-weight:400}:is(.stack>label:not(.doctor-checkbox),.patient-search>label,.doctor-form-grid>label)>textarea{resize:vertical}.doctor-slots{flex-wrap:wrap;gap:.5rem;display:flex}.doctor-slots span{background:var(--accent-soft);font-variant-numeric:tabular-nums;border-radius:.4rem;padding:.5rem .7rem}.study-list{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.study-list li{border-top:1px solid var(--border);gap:.4rem;padding:1rem 0;display:grid}.study-list li:first-child{border-top:0;padding-top:0}.study-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.study-upload{border-top:1px solid var(--border);padding-top:1.25rem}.dictation-app{max-width:46rem}.dictation-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:1.1rem;line-height:1.6}.dictation-recorder audio{width:100%}.dictation-file{gap:.45rem;font-weight:700;display:grid}.dictation-file input{max-width:100%;font-weight:400}:is(.stack>label:not(.doctor-checkbox):not(.dictation-file)) textarea{line-height:1.5}.doctor-checkbox{align-items:start;gap:.75rem;font-size:1rem;display:flex}.doctor-checkbox input{flex-shrink:0;width:24px;height:24px;margin-top:.2rem}.day-heading>span{white-space:normal;text-align:right}@media (min-width:1000px){.patient-workspace{grid-template-columns:22rem minmax(0,1fr);align-items:start}}@media (max-width:600px){.doctor-form-grid{grid-template-columns:1fr}.patient-directory a{grid-template-columns:minmax(0,1fr)}.patient-directory .open-caption{grid-area:auto/1}.today-overview .lead{white-space:normal}}@media (min-width:900px){.today-workspace{grid-template-columns:minmax(0,1fr) 21rem;align-items:start}.today-overview{grid-column:1/-1}.attention-overview{grid-area:2/2;position:sticky;top:1rem}.today-list{grid-area:2/1}}@media (max-width:600px){.app{padding-inline:.85rem}.clinic-heading{align-items:start}.clinic-heading .button{min-height:48px;padding:.6rem .7rem;font-size:1rem}.clinic-heading{flex-wrap:wrap}.clinic-heading>div{flex:220px}.facts{grid-template-columns:minmax(0,1fr);gap:.35rem}.facts dt:not(:first-child){margin-top:.8rem}.facts dd{margin:0}.month-toolbar{flex-wrap:wrap;gap:.5rem;padding:1rem .65rem}.month-toolbar h2{font-size:1.35rem}.month-date{align-items:center;gap:.35rem;min-height:82px;padding:.6rem .15rem}.day-count{font-size:.85rem}.cancelled-count{font-size:.75rem}.month-weekdays{font-size:.85rem}.calendar-control{min-width:44px;min-height:44px;padding:.4rem .55rem}.calendar-appointments li>a{grid-template-columns:62px minmax(0,1fr);gap:.8rem;padding:1rem .8rem}.calendar-time,.calendar-patient strong{font-size:1.1rem}.calendar-status{flex-wrap:wrap;grid-column:2;place-items:center start;display:flex}.day-heading{align-items:start}.today-overview{flex-direction:column;align-items:start}.tab{font-size:.9rem}}.app .desktop-week-link,.week-view{display:none}.week-mobile{display:block}@media (min-width:1100px){.app .desktop-week-link{display:inline-flex}.week-mobile{display:none}.week-view{display:block}.week-app{max-width:94rem}.week-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.week-toolbar h2{margin:0;font-size:1.3rem}.week-toolbar p{margin:.4rem 0 0}.week-toolbar nav{flex-wrap:wrap;gap:1rem;display:flex}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));align-items:stretch;gap:.5rem;display:grid}.week-day{border:1px solid var(--border,var(--line,#d9dedb));background:var(--surface,#fff);border-radius:.6rem;min-width:0;padding:.55rem}.week-day h3{border-bottom:1px solid var(--border,var(--line,#d9dedb));margin:0;padding-bottom:.4rem;font-size:1rem}.week-today{outline:2px solid var(--accent);outline-offset:1px}.week-count,.week-empty,.week-service,.week-hint{font-size:.85rem}.week-day ul{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.week-card{color:inherit;border-top:1px solid var(--border,var(--line,#d9dedb));overflow-wrap:anywhere;flex-direction:column;gap:.4rem;padding:.6rem .3rem;text-decoration:none;display:flex}.week-card:hover{outline:1px solid var(--accent);outline-offset:1px;border-radius:.3rem}.week-time{font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:700}.week-patient{font-size:1rem;line-height:1.35}.week-item[data-status=cancelled] .week-patient{text-decoration:line-through}.week-card .chip,.week-card .status-badge{white-space:normal;align-self:flex-start;max-width:100%;font-size:.8rem}}.live-place{z-index:1000;inset:auto 12px calc(84px + env(safe-area-inset-bottom)) 12px;gap:12px;max-width:520px;margin:0 auto;display:grid;position:fixed}.live-place-card,.live-place-message{color:#2b2100;background:#fff8e6;border:2px solid #d99a00;border-radius:14px;padding:16px;box-shadow:0 10px 30px #00000040}.live-place-card h2{margin:0 0 8px;font-size:1.15rem}.live-place-buttons{gap:12px;margin-top:12px;display:flex}.live-place-buttons .button{flex:1;min-height:52px;font-size:1.1rem}.live-place-left{font-size:.9rem}.live-place-sound{margin-top:8px}.urgent-alerts{z-index:1001;inset:calc(12px + env(safe-area-inset-top)) 12px auto 12px;gap:12px;max-width:520px;margin:0 auto;display:grid;position:fixed}.urgent-card,.urgent-message{color:#3b0000;background:#fff0f0;border:3px solid #c40000;border-radius:14px;padding:16px;box-shadow:0 10px 30px #0000004d}.urgent-card h2{color:#a00000;margin:0 0 8px;font-size:1.2rem}.urgent-hint{font-size:.95rem}.urgent-buttons{margin-top:12px;display:flex}.urgent-buttons .button{flex:1;min-height:52px;font-size:1.1rem}.urgent-sound{margin-top:8px}.urgent-alerts .button-quiet{color:inherit;cursor:pointer;background:0 0;border:0;padding:4px 0;text-decoration:underline}.number-reviews{z-index:1000;inset:auto 12px calc(96px + env(safe-area-inset-bottom)) 12px;gap:10px;max-width:520px;max-height:45vh;margin:0 auto;display:grid;position:fixed;overflow-y:auto}.review-card,.review-message{color:#3a2600;background:#fff8e8;border:2px solid #b86e00;border-radius:14px;padding:14px;box-shadow:0 8px 24px #00000040}.review-card.review-threat{color:#3b0000;background:#fff0f0;border-color:#c40000}.review-card h2{margin:0 0 6px;font-size:1.05rem}.review-hint{font-size:.92rem}.review-buttons{align-items:center;gap:12px;margin-top:10px;display:flex}.review-buttons .button{flex:1;min-height:48px}.number-reviews .button-quiet{color:inherit;cursor:pointer;background:0 0;border:0;padding:4px 0;text-decoration:underline}.push-banner{color:#12352c;background:#eef7f3;border:2px solid #2f6f5e;border-radius:12px;gap:8px;margin:12px 0;padding:12px 14px;display:grid}.push-buttons{flex-wrap:wrap;gap:12px;display:flex}.appointment-attendee{color:var(--muted);font-size:1rem;font-weight:600;display:block}.qr-deposit{background:var(--money-bg);color:var(--money-text);border-radius:999px;padding:1px 9px;font-size:.85rem;font-weight:600;display:inline-block}.qr-deposit-received{background:var(--ok-bg);color:var(--ok-text)}
