@import url("https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,600;8..60,700&family=JetBrains+Mono:wght@400;500;600&display=swap");:root{--paper:#f7f4ef;--paper-deep:#f0ebe0;--paper-soft:#fbf9f5;--surface:#fff;--surface-warm:#fefcf8;--ink:#1a1a1a;--ink-soft:#2e2c28;--muted:#6b6b6b;--muted-soft:#8c8884;--line:#d8d4cc;--line-soft:#ebe7df;--line-strong:#b8b3a8;--accent:#c14a3a;--accent-deep:#9c3a2d;--accent-soft:#e89a82;--accent-tint:#f8e8e3;--ok:#2d6b4f;--ok-tint:#e6efe9;--warn:#8a5a08;--warn-tint:#f5ecd1;--error:#b91c1c;--error-tint:#fce8e8;--info:#2a4d7a;--info-tint:#e6ecf3;--type-exam-fg:#2d5436;--type-exam-bg:#dde7d8;--type-prescription-fg:#6b3324;--type-prescription-bg:#e8d8d3;--type-appointment-fg:#243d6b;--type-appointment-bg:#d8dee8;--type-report-fg:#5a4416;--type-report-bg:#ede2c5;--type-other-fg:#4f4637;--type-other-bg:#eee8dd;--evt-encounter-fg:#243d6b;--evt-medication-fg:#6b3324;--evt-exam-fg:#2d5436;--evt-vaccination-fg:#5a4416;--evt-referral-fg:#6b4783;--evt-certificate-fg:#5a4416;--fs-display:clamp(40px,3.2vw + 18px,64px);--fs-h1:clamp(28px,1.6vw + 18px,44px);--fs-h2:clamp(20px,0.8vw + 16px,30px);--fs-h3:clamp(17px,0.3vw + 15px,20px);--fs-body:16px;--fs-sm:14px;--fs-xs:12px;--fs-eyebrow:11px;--font-serif:"Iowan Old Style","Source Serif 4","Source Serif Pro",Georgia,"Times New Roman",serif;--font-sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",system-ui,sans-serif;--font-mono:"JetBrains Mono","SF Mono",ui-monospace,"Cascadia Mono",Menlo,monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--shadow-1:0 1px 2px rgba(58,41,25,.04),0 1px 1px rgba(58,41,25,.03);--shadow-2:0 4px 14px rgba(58,41,25,.06),0 1px 3px rgba(58,41,25,.04);--shadow-3:0 14px 36px rgba(58,41,25,.1),0 2px 6px rgba(58,41,25,.05);--ease:cubic-bezier(0.2,0.6,0.2,1);--dur-quick:120ms;--dur-base:200ms;--dur-slow:400ms;--bg:var(--paper);--fg:var(--ink);--border:var(--line)}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern" 1,"liga" 1,"calt" 1}body{background-image:radial-gradient(circle at 18% 4%,rgba(193,74,58,.025) 0,transparent 38%),radial-gradient(circle at 92% 88%,rgba(45,84,54,.018) 0,transparent 42%);background-attachment:fixed;min-height:100vh}a{color:var(--ink);text-decoration:none}a:hover{color:var(--accent)}img,svg{display:block;max-width:100%}::selection{background:var(--accent-tint);color:var(--accent-deep)}.display{font-size:var(--fs-display);line-height:1.04;letter-spacing:-.02em;margin:0}.display,h1{font-family:var(--font-serif);font-weight:500;color:var(--ink)}h1{font-size:var(--fs-h1);line-height:1.1;letter-spacing:-.018em;margin:0 0 16px}h2{font-size:var(--fs-h2);line-height:1.2;font-weight:500;letter-spacing:-.012em;margin:24px 0 12px}h2,h3{font-family:var(--font-serif);color:var(--ink)}h3{font-size:var(--fs-h3);line-height:1.3;font-weight:600;letter-spacing:-.005em;margin:0}.eyebrow{letter-spacing:.14em;color:var(--muted);font-weight:500}.eyebrow,.kicker{font-family:var(--font-mono);font-size:var(--fs-eyebrow);text-transform:uppercase}.kicker{letter-spacing:.18em;color:var(--accent);font-weight:600}.muted{color:var(--muted)}.muted,.muted-soft{font-size:var(--fs-sm)}.muted-soft{color:var(--muted-soft)}.mono{font-family:var(--font-mono)}.ok{color:var(--ok)}.container,.shell{width:100%;max-width:1280px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}.shell--narrow{max-width:960px}.prose-column{max-width:640px}.section{padding-block:var(--space-12)}.section--tight{padding-block:var(--space-8)}.section--loose{padding-block:var(--space-20)}.hairline{border:0;height:1px;background:var(--line-soft);margin:0}label{display:block;font-size:13px;font-weight:600;margin-bottom:4px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}input[type=date],input[type=email],input[type=password],input[type=text],select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font-size:15px;font-family:inherit}.error,.field{margin-bottom:16px}.error{background:#fef2f2;color:var(--error);border:1px solid #fecaca;padding:10px 14px;border-radius:6px;font-size:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topnav{position:-webkit-sticky;position:sticky;top:0;z-index:50;backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);background:hsla(38,33%,95%,.78);border-bottom:1px solid var(--line-soft)}.topnav__inner{gap:var(--space-8);height:64px;padding-inline:clamp(20px,4vw,48px);max-width:1280px;margin:0 auto}.brandmark,.topnav__inner{display:flex;align-items:center}.brandmark{font-family:var(--font-serif);font-size:22px;font-weight:700;letter-spacing:-.015em;color:var(--ink);gap:10px;flex-shrink:0}.brandmark__glyph{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--accent-soft) 0,var(--accent) 70%);box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);flex-shrink:0}.nav-links{display:flex;gap:4px;flex:1 1;margin-left:var(--space-6)}.nav-links a{display:inline-flex;align-items:center;height:36px;padding:0 12px;border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:500;color:var(--muted);transition:color var(--dur-quick) var(--ease),background var(--dur-quick) var(--ease)}.nav-links a:hover{color:var(--ink);background:rgba(0,0,0,.03)}.nav-links a.is-active{color:var(--ink);background:rgba(0,0,0,.05)}.nav-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.nav-user{gap:10px;padding:6px 14px 6px 6px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--fs-sm);min-height:44px;color:var(--ink)}.nav-user,.nav-user__avatar{display:inline-flex;align-items:center}.nav-user__avatar{width:32px;height:32px;border-radius:50%;justify-content:center;font-family:var(--font-serif);font-weight:600;font-size:14px;color:var(--surface);background:linear-gradient(135deg,var(--accent) 0,var(--accent-deep) 100%);flex-shrink:0}.nav-user__name{font-weight:600;color:var(--ink);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-switcher{min-width:132px;max-width:180px;height:36px;padding:0 30px 0 10px;border-radius:var(--radius-md);font-size:var(--fs-xs);font-weight:600;color:var(--ink);background:var(--surface);border:1px solid var(--line)}nav.legacy-nav{display:flex;justify-content:space-between;align-items:center;padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:24px}nav.legacy-nav a{color:var(--muted);text-decoration:none;font-size:14px;margin-left:16px}.nav-inline-form{display:inline;margin-left:16px}.nav-link-button{display:inline;padding:0;background:transparent;color:var(--muted);border:0;border-radius:0;font-size:14px;font-weight:400;cursor:pointer;font-family:inherit}.nav-link-button:hover,nav.legacy-nav a:hover{color:var(--ink);background:transparent}.brand{font-family:var(--font-serif);font-weight:700;font-size:28px;letter-spacing:-.01em}.brand a{color:var(--ink);text-decoration:none}.nav-toggle{display:none;width:40px;height:40px;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--ink);background:transparent;border:0;cursor:pointer}@media (max-width:900px){.topnav__inner{gap:var(--space-2);padding-inline:var(--space-4)}.nav-actions{gap:6px;min-width:0}.nav-user{padding:6px}.nav-user__name{display:none}.profile-switcher{max-width:112px}.nav-links{position:fixed;inset:64px 0 auto 0;flex-direction:column;gap:0;background:var(--surface);border-bottom:1px solid var(--line);padding:var(--space-2);margin-left:0;opacity:0;visibility:hidden;transform:translateY(calc(-100% - 64px));transition:transform var(--dur-base) var(--ease),opacity var(--dur-base) var(--ease),visibility 0s linear var(--dur-base);pointer-events:none}.nav-links.is-open{opacity:1;visibility:visible;transform:translateY(0);transition:transform var(--dur-base) var(--ease),opacity var(--dur-base) var(--ease),visibility 0s linear 0s;pointer-events:auto}.nav-links a{width:100%;height:44px}.nav-toggle{display:inline-flex}}.btn,.button,button.btn,button.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:600;line-height:1;transition:background var(--dur-quick) var(--ease),color var(--dur-quick) var(--ease),border-color var(--dur-quick) var(--ease),transform var(--dur-quick) var(--ease);text-decoration:none;cursor:pointer;background:var(--ink);color:var(--paper-soft);border:1px solid transparent}.btn:hover,.button:hover{background:var(--accent);color:var(--paper-soft)}.btn:disabled,.button:disabled{background:var(--muted);color:var(--paper-soft);cursor:not-allowed}.btn--accent{background:var(--accent);color:var(--paper-soft)}.btn--accent:hover{background:var(--accent-deep)}.btn--ghost,.button-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.btn--ghost:hover,.button-secondary:hover{background:var(--surface);color:var(--ink);border-color:var(--ink)}.btn--quiet{background:transparent;color:var(--muted);padding:0 10px;font-weight:500;min-height:36px}.btn--quiet:hover{color:var(--ink);background:rgba(0,0,0,.04)}.btn--sm{min-height:36px;padding:0 12px;font-size:var(--fs-xs)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-6);transition:border-color var(--dur-quick) var(--ease),box-shadow var(--dur-quick) var(--ease)}.card--warm{background:var(--surface-warm)}.card--inset{background:var(--paper-soft)}.card--inset,.card--quiet{border-color:var(--line-soft)}.card--quiet{background:transparent}.card--accent{background:var(--accent-tint);border-color:rgba(193,74,58,.2)}.card--clickable:hover{border-color:var(--line-strong);box-shadow:var(--shadow-2)}.grid{display:grid;grid-gap:var(--space-6);gap:var(--space-6)}.grid-2up{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3up{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-sidebar{grid-template-columns:280px minmax(0,1fr)}@media (max-width:1024px){.grid-2up,.grid-3up,.grid-sidebar{grid-template-columns:1fr}}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack--lg{gap:var(--space-6)}.stack--xl{gap:var(--space-10)}.stack--sm{gap:var(--space-2)}.row{display:flex;align-items:center;gap:var(--space-3)}.row--between{justify-content:space-between}.row--wrap{flex-wrap:wrap}.row--baseline{align-items:baseline}.spacer{flex:1 1}.badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;background:var(--paper-deep);color:var(--ink-soft);white-space:nowrap}.badge--exam,.badge.exam{background:var(--type-exam-bg);color:var(--type-exam-fg)}.badge--prescription,.badge.prescription{background:var(--type-prescription-bg);color:var(--type-prescription-fg)}.badge--appointment,.badge.appointment_summary{background:var(--type-appointment-bg);color:var(--type-appointment-fg)}.badge--report{background:var(--type-report-bg);color:var(--type-report-fg)}.badge--other{background:var(--type-other-bg);color:var(--type-other-fg)}.badge--ok,.badge.ok{background:var(--ok-tint);color:var(--ok)}.badge--warn{background:var(--warn-tint);color:var(--warn)}.badge--error,.badge.failed{background:var(--error-tint);color:var(--error)}.badge--info{background:var(--info-tint);color:var(--info)}.badge.pending{background:var(--warn-tint);color:var(--warn)}.badge--solid{background:var(--ink);color:var(--paper-soft)}.badge--dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:var(--radius-pill);background:var(--paper-deep);color:var(--ink-soft);font-size:var(--fs-xs);font-weight:500;border:1px solid transparent;transition:all var(--dur-quick) var(--ease);cursor:pointer;font-family:inherit}.chip:hover{background:var(--line-soft)}.chip--active{background:var(--ink);color:var(--paper-soft);border-color:var(--ink)}.chip--ghost{background:transparent;border-color:var(--line)}.chip--ghost:hover{border-color:var(--line-strong)}.doc-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 10px 5px 6px;background:var(--paper-soft);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:var(--fs-xs);color:var(--ink-soft);font-family:var(--font-mono);transition:all var(--dur-quick) var(--ease)}.doc-chip:hover{border-color:var(--accent);color:var(--accent-deep);background:var(--accent-tint)}.doc-chip__icon{width:20px;height:24px;border-radius:3px;background:linear-gradient(180deg,var(--surface) 0,var(--paper-deep) 100%);border:1px solid var(--line);position:relative;flex-shrink:0}.doc-chip__icon:after{content:"";position:absolute;top:0;right:0;width:6px;height:6px;background:var(--paper-deep);border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6);padding-top:var(--space-12);padding-bottom:var(--space-8)}.page-header__title{display:flex;flex-direction:column;gap:10px;max-width:720px}.page-header h1{font-size:clamp(34px,2vw + 22px,52px);margin:0}.page-header__lede{font-family:var(--font-serif);font-size:clamp(17px,.4vw + 15px,20px);line-height:1.5;color:var(--muted);max-width:56ch;font-weight:400;margin:0}.page-header__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:flex-end}@media (max-width:768px){.page-header{flex-direction:column;align-items:flex-start}.page-header__actions{justify-content:flex-start;width:100%}}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6);padding-bottom:var(--space-3);border-bottom:1px solid var(--line-soft)}.section-head__title{display:flex;align-items:baseline;gap:14px}.section-head__count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted);letter-spacing:.05em}.signin-shell{min-height:calc(100vh - 64px);display:grid;place-items:center;padding-block:clamp(32px,6vw,80px)}.signin-card{width:min(100%,480px);background:var(--surface-warm);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);padding:clamp(24px,4vw,40px)}.signin-card__header{text-align:center;margin-bottom:var(--space-8)}.signin-card__mark{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:var(--space-4);border-radius:50%;background:var(--ink);color:var(--surface);font-family:var(--font-serif);font-size:24px;font-weight:700}@media (max-width:560px){.signin-shell{align-items:start;padding-block:var(--space-6)}.signin-card{background:transparent;border:0;box-shadow:none;padding:0}}.upload-page{padding-block:var(--space-12)}.upload-page__header{padding-top:0}.upload-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);grid-gap:var(--space-8);gap:var(--space-8);align-items:start}.upload-workspace__aside,.upload-workspace__main{min-width:0}.upload-form{display:block}.upload-dropzone{width:100%;min-height:260px;display:grid;place-items:center;text-align:center;background:var(--surface);color:var(--fg);padding:clamp(32px,5vw,64px);font-weight:400;outline:none;transition:background var(--dur-quick) var(--ease),border-color var(--dur-quick) var(--ease),box-shadow var(--dur-quick) var(--ease),transform var(--dur-quick) var(--ease)}.upload-dropzone.is-dragging,.upload-dropzone:focus-visible,.upload-dropzone:hover{border-color:var(--accent);background:var(--surface-warm);box-shadow:var(--shadow-2)}.upload-dropzone.is-dragging{transform:translateY(-1px)}.upload-workspace__aside{position:-webkit-sticky;position:sticky;top:88px;border-left:1px solid var(--line-soft);padding-left:var(--space-6)}.upload-aside__section+.upload-aside__section{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--line-soft)}.upload-aside__section p{margin:6px 0 0;color:var(--ink);font-size:var(--fs-sm)}@media (max-width:900px){.upload-page{padding-block:var(--space-8)}.upload-workspace{grid-template-columns:1fr}.upload-workspace__aside{position:static;border-left:0;border-top:1px solid var(--line-soft);padding-left:0;padding-top:var(--space-5);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.upload-aside__section+.upload-aside__section{margin-top:0;padding-top:0;border-top:0}}@media (max-width:640px){.upload-workspace__aside{grid-template-columns:1fr}.upload-dropzone{min-height:220px}}.dropzone{border:2px dashed var(--line);border-radius:10px;padding:36px 24px;text-align:center;background:var(--surface);cursor:pointer;transition:border-color .15s ease}.dropzone.dragging,.dropzone:hover{border-color:var(--accent)}.timeline{list-style:none;padding:0;margin:0}.timeline-item{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.timeline-meta{font-size:13px;color:var(--muted);margin-top:4px}.processing-list{list-style:none;padding:0;margin:24px 0 0}.processing-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:18px;gap:18px;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:12px}.processing-card-main{min-width:0}.processing-card-header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.processing-filename{overflow-wrap:anywhere}.processing-status{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700;background:#eee8dd;color:#4f4637}.processing-status.abandoned,.processing-status.failed{background:#fde2e2;color:var(--error)}.processing-status.queued{background:#f0e3b8;color:#7a5a08}.processing-status.running{background:#d8dee8;color:#243d6b}.processing-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin:0}.processing-meta div{min-width:0}.processing-meta dt{margin:0;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.processing-meta dd{margin:2px 0 0;color:var(--ink);font-size:14px}.processing-error{margin-top:12px;padding:10px 12px;border:1px solid #ead0cb;border-radius:6px;background:#fff8f7}.processing-error span{display:block;margin-bottom:4px;color:var(--error);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.processing-error p{margin:0;color:#59413d;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.processing-action{display:flex;align-items:flex-start;justify-content:flex-end;gap:8px;flex-wrap:wrap}.retry-document-button{min-width:148px;white-space:nowrap}.delete-document-button{min-width:92px;white-space:nowrap}.retry-document-button:disabled{color:var(--surface)}@media (max-width:640px){.processing-card,.processing-meta{grid-template-columns:1fr}.processing-action{justify-content:stretch}.delete-document-button,.processing-action form,.retry-document-button{width:100%}}@keyframes curaga-spin{to{transform:rotate(1turn)}}@keyframes curaga-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes curaga-progress-stripes{0%{background-position:0 0}to{background-position:24px 0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in,.stagger>*{animation:fadeUp var(--dur-slow) var(--ease) both}.stagger>:first-child{animation-delay:0s}.stagger>:nth-child(2){animation-delay:60ms}.stagger>:nth-child(3){animation-delay:.12s}.stagger>:nth-child(4){animation-delay:.18s}.stagger>:nth-child(5){animation-delay:.24s}.stagger>:nth-child(6){animation-delay:.3s}.stagger>:nth-child(7){animation-delay:.36s}.stagger>:nth-child(8){animation-delay:.42s}.stagger>:nth-child(9){animation-delay:.48s}.stagger>:nth-child(10){animation-delay:.54s}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.is-hidden,.is-hidden-by-filter,.is-hidden-by-search{display:none!important}