:root{--font-sans: "Inter", "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Cascadia Mono", Consolas, monospace;--fs-2xs: 10px;--fs-xs: 11px;--fs-sm: 12px;--fs-base:13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 28px;--lh-tight: 1.25;--lh-normal: 1.45;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--h-header: 44px;--h-context-bar: 40px;--h-status-bar: 24px;--h-row: 30px;--h-row-compact: 26px;--h-control: 28px;--h-control-sm: 24px;--w-col-left: 260px;--w-col-right: 320px;--radius-sm: 3px;--radius-md: 5px;--radius-lg: 8px;--bg-app: #f1f5f7;--bg-surface: #ffffff;--bg-subtle: #f7f9fa;--bg-hover: #eef2f4;--bg-selected: #e0f2f1;--bg-inverse: #16232b;--bg-scrim: rgba(16, 35, 43, .42);--border: #dde5e9;--border-strong: #c3ced4;--text-primary: #16232b;--text-secondary: #5a6b75;--text-muted: #8b9aa3;--text-inverse: #ffffff;--primary: #0f766e;--primary-hover: #0d635c;--primary-active: #0a504a;--primary-subtle: #d7efec;--primary-border: #96d3cd;--success: #16794c;--success-subtle: #d9f2e4;--success-border: #9bd9bb;--warning: #a15c07;--warning-subtle: #fdf0d5;--warning-border: #e8c47a;--danger: #b42318;--danger-subtle: #fde7e5;--danger-border: #f0a9a3;--info: #175cd3;--info-subtle: #dbeafe;--info-border: #a4c6f7;--critical:#8b1a10;--shadow-sm: 0 1px 2px rgba(16,35,43,.06);--shadow-md: 0 4px 12px rgba(16,35,43,.1);--shadow-modal: 0 24px 64px rgba(16,35,43,.24);--z-header: 100;--z-modal: 400;--transition-fast: .12s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--text-primary);background:var(--bg-app);-webkit-font-smoothing:antialiased;overflow:hidden}.ticket-num{font-size:var(--fs-lg);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.queue-actions{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-3)}:focus-visible{outline:2px solid var(--primary);outline-offset:1px;border-radius:var(--radius-sm)}.icon{width:17px;height:17px;flex:none;stroke:currentColor;fill:none;stroke-width:1.75}.app{display:grid;grid-template-rows:var(--h-header) var(--h-context-bar) 1fr var(--h-status-bar);height:100%}.header{display:flex;align-items:stretch;gap:var(--sp-2);padding:0 var(--sp-3);background:var(--bg-surface);border-bottom:1px solid var(--border);border-top:2px solid var(--primary);z-index:var(--z-header)}.brand{display:flex;align-items:center;gap:var(--sp-2);padding-right:var(--sp-3);margin-right:var(--sp-1);border-right:1px solid var(--border);font-weight:var(--fw-semibold);font-size:var(--fs-sm);letter-spacing:.01em;white-space:nowrap}.brand-mark{width:22px;height:22px;border-radius:var(--radius-md);display:grid;place-items:center;background:var(--primary);color:var(--text-inverse);font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.nav{display:flex;align-items:stretch;gap:2px}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:56px;padding:0 var(--sp-2);border:0;border-radius:var(--radius-md);margin:var(--sp-1) 0;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:var(--fs-2xs);line-height:1;cursor:pointer}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.is-current,.nav-item[aria-current=page]{background:var(--primary-subtle);color:var(--primary);font-weight:var(--fw-medium)}.nav-item.is-disabled{opacity:.4;cursor:default}.illustration-badge{align-self:center;margin-right:var(--sp-2);padding:2px 10px;border-radius:var(--radius-md);border:1px solid #d97706;background:#fef3c7;color:#92400e;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.02em;white-space:nowrap}.header-spacer{flex:1}.header-right{display:flex;align-items:center;gap:var(--sp-2);color:var(--text-secondary);font-size:var(--fs-sm)}.context-bar{display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-3);background:var(--bg-surface);border-bottom:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-secondary)}.workspace{display:grid;grid-template-columns:var(--w-col-left) minmax(0,1fr) var(--w-col-right);gap:1px;background:var(--border);min-height:0}.col{background:var(--bg-app);min-width:0;min-height:0;display:flex;flex-direction:column}.col-left,.col-right{background:var(--bg-surface);overflow:auto}.col-center{overflow:hidden;background:var(--bg-app)}.col-header{display:flex;align-items:center;height:30px;padding:0 var(--sp-3);border-bottom:1px solid var(--border);background:var(--bg-subtle);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);flex:none}.col-body{padding:var(--sp-3);overflow:auto;flex:1;min-height:0}.col-center h1{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin:0 0 var(--sp-3)}.status-bar{display:flex;align-items:center;gap:var(--sp-4);padding:0 var(--sp-3);background:var(--bg-surface);border-top:1px solid var(--border);color:var(--text-secondary);font-size:var(--fs-xs)}.status-bar .spacer{flex:1}.status-item{display:inline-flex;align-items:center;gap:5px}.dot{width:6px;height:6px;border-radius:50%;background:var(--success);flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--h-control);padding:0 var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);font-family:inherit;font-size:var(--fs-base);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer}.btn:hover{background:var(--bg-hover)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--text-inverse)}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.error{color:var(--danger)}.muted{color:var(--text-muted);font-size:var(--fs-sm)}code{padding:1px 4px;border-radius:var(--radius-sm);background:var(--bg-hover);font-family:var(--font-mono);font-size:.92em}a{color:var(--primary)}.reception-search{display:flex;gap:var(--sp-2);margin:0 0 var(--sp-3)}.reception-search input{flex:1;height:var(--h-control);padding:0 var(--sp-2);font:inherit;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface)}.visit-panel{margin:var(--sp-4) 0;padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:var(--shadow-sm)}.visit-panel p{margin:0 0 var(--sp-2)}.section-title{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:var(--sp-5) 0 var(--sp-2)}.exam-form{margin:var(--sp-4) 0;display:grid;gap:var(--sp-3);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-3);box-shadow:var(--shadow-sm)}.exam-form h2{margin:0;font-size:var(--fs-md)}.exam-form h3{margin:0;font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.exam-form label{display:grid;gap:3px;font-size:var(--fs-xs);color:var(--text-secondary)}.schema-form{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2)}.schema-note{grid-column:1 / -1}.schema-fieldset{margin:0;padding:var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-md);min-width:0}.schema-fieldset legend{padding:0 var(--sp-1);font-size:var(--fs-xs);color:var(--text-secondary)}.schema-checks{display:flex;flex-wrap:wrap;gap:6px}.exam-form .schema-check{display:inline-flex;align-items:center;gap:6px;width:auto;padding:3px 8px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);font-size:var(--fs-sm);color:var(--text-primary)}.exam-form .schema-check:has(input:checked){background:var(--bg-selected);border-color:var(--primary)}.schema-check input{margin:0}.exam-form textarea{min-height:52px;padding:var(--sp-2);font:inherit;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);resize:vertical}.exam-form textarea:read-only{background:var(--bg-subtle)}.exam-form input[type=text]{height:var(--h-control);padding:0 var(--sp-2);font:inherit;font-variant-numeric:tabular-nums;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface)}.exam-form input[type=text]:read-only{background:var(--bg-subtle)}.exam-form fieldset:disabled input{background:var(--bg-subtle)}.vitals{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--sp-2)}.vital{min-width:0;padding:var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);display:grid;gap:4px}.vital-label{font-size:var(--fs-2xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.vital-value{display:flex;align-items:center;gap:4px;min-width:0}.vital-value .unit{font-size:var(--fs-xs);color:var(--text-muted);flex:none}.vital-input{width:100%;min-width:0;height:var(--h-control);padding:0 6px;font:inherit;font-variant-numeric:tabular-nums;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface)}.vital-bp .vital-input{width:2.6rem;flex:none}.vital.is-invalid{border-color:var(--danger)}.field-error{margin:0;font-size:var(--fs-2xs);color:var(--danger)}@media(max-width:1100px){.vitals{grid-template-columns:repeat(3,minmax(0,1fr))}.schema-form{grid-template-columns:1fr}}.dx-search{position:relative}.dx-input{width:100%;height:var(--h-control);padding:0 var(--sp-2);font:inherit;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface)}.dx-suggest{position:absolute;z-index:5;left:0;right:0;margin:2px 0 0;padding:0;list-style:none;max-height:220px;overflow:auto;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.dx-suggest button{display:block;width:100%;text-align:left;padding:6px var(--sp-2);border:0;background:transparent;font:inherit;color:var(--text-primary);cursor:pointer}.dx-suggest button:hover{background:var(--bg-hover)}.dx-list{margin:var(--sp-2) 0 0;padding:0;list-style:none;display:grid;gap:6px}.dx-item{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:var(--fs-sm)}.dx-role{font-size:var(--fs-2xs);padding:1px 6px;border-radius:var(--radius-sm);background:var(--bg-hover);color:var(--text-secondary)}.dx-role.is-primary{background:var(--bg-selected);color:var(--primary)}.rx-list{margin:var(--sp-2) 0 0;padding:0;list-style:none;display:grid;gap:8px}.rx-item{display:grid;gap:6px;padding:8px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle)}.rx-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:var(--fs-sm)}.rx-head .btn{margin-left:auto}.rx-dose{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.rx-dose label,.rx-item>label{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-2xs);color:var(--text-secondary)}.rx-preview{margin:0;font-size:var(--fs-sm);color:var(--text-secondary)}.bill-panel{margin-top:var(--sp-4);display:grid;gap:var(--sp-3)}.bill-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle)}.bill-summary p{margin:0;font-size:var(--fs-sm);color:var(--text-secondary)}.bill-pay{display:flex;flex-wrap:wrap;align-items:end;gap:var(--sp-3)}.bill-pay label{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-2xs);color:var(--text-secondary)}.bill-p2{margin:0;padding:var(--sp-3);border-radius:var(--radius-md);background:var(--bg-selected);color:var(--text-primary)}.bill-session{margin-bottom:var(--sp-4);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);display:grid;gap:var(--sp-2)}.bill-session p{margin:0;font-size:var(--fs-sm)}.pkg-block{display:grid;gap:var(--sp-2);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle)}.pkg-block h3{margin:0;font-size:var(--fs-sm)}.pkg-block p{margin:0;font-size:var(--fs-sm);color:var(--text-secondary)}.pkg-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-2)}@media(max-width:1100px){.rx-dose{grid-template-columns:repeat(3,minmax(0,1fr))}}table.data{width:100%;border-collapse:separate;border-spacing:0;background:var(--bg-surface)}table.data th,table.data td{text-align:left;height:var(--h-row);padding:0 var(--sp-2);border-bottom:1px solid var(--border);vertical-align:middle}table.data th{height:28px;background:var(--bg-subtle);font-weight:var(--fw-semibold);font-size:var(--fs-xs);color:var(--text-secondary)}table.data tbody tr{cursor:pointer}table.data tbody tr:nth-child(2n){background:var(--bg-subtle)}table.data tbody tr:hover{background:var(--bg-hover)}table.data tr[aria-selected=true]{background:var(--bg-selected)}table.data tr[aria-selected=true] td:first-child{box-shadow:inset 2px 0 0 var(--primary)}.td-strong{font-weight:var(--fw-medium)}.dialog-root{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center}.scrim{position:absolute;inset:0;border:0;background:var(--bg-scrim);cursor:pointer}.dialog{position:relative;width:min(420px,calc(100vw - 24px));background:var(--bg-surface);padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);display:grid;gap:var(--sp-3)}.dialog h2{margin:0;font-size:var(--fs-md)}.dialog label{display:grid;gap:3px;font-size:var(--fs-xs);color:var(--text-secondary)}.dialog input,.dialog select{height:var(--h-control);padding:0 var(--sp-2);font:inherit;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface)}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--sp-2)}.dialog-wide{width:min(480px,calc(100vw - 24px))}.capture-code{margin:0;padding:var(--sp-3);text-align:center;font-family:var(--font-mono);font-size:2rem;font-weight:var(--fw-semibold);letter-spacing:.28em;background:var(--bg-subtle);border:1px dashed var(--border-strong);border-radius:var(--radius-md)}.notice-root{z-index:var(--z-modal)}.notice-dialog{width:min(440px,calc(100vw - 24px));border-color:var(--danger-border);box-shadow:var(--shadow-modal)}.notice-dialog h2{padding:var(--sp-2) var(--sp-3);margin:calc(var(--sp-4) * -1) calc(var(--sp-4) * -1) 0;background:var(--danger-subtle);border-bottom:1px solid var(--danger-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;color:var(--danger)}.notice-body{margin:0;font-size:var(--fs-md);line-height:var(--lh-normal);color:var(--text-primary)}.link-dialog{width:min(460px,calc(100vw - 24px))}.link-dialog h2{padding:var(--sp-2) var(--sp-3);margin:calc(var(--sp-4) * -1) calc(var(--sp-4) * -1) 0;background:var(--primary-subtle);border-bottom:1px solid var(--primary-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.link-code{margin:0;padding:var(--sp-3);text-align:center;font-family:var(--font-mono);font-size:var(--fs-xl);letter-spacing:.06em;background:var(--bg-subtle);border:1px dashed var(--border-strong);border-radius:var(--radius-md)}.wizard{margin:0;padding-left:1.25rem;display:grid;gap:var(--sp-4)}.wizard-sub{margin:var(--sp-2) 0 0;padding-left:1.1rem;color:var(--text-secondary)}.notify-form{display:grid;gap:var(--sp-3);margin-top:var(--sp-2);max-width:420px}.notify-form label{display:grid;gap:3px;font-size:var(--fs-xs);color:var(--text-secondary)}.notify-form input{height:var(--h-control);padding:0 var(--sp-2);font:inherit;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface)}.notify-ok{color:var(--success)}a.btn{text-decoration:none}.report-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:var(--sp-2);margin:var(--sp-3) 0}.report-card{display:grid;gap:4px;padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);text-align:left;min-width:0}.report-card.is-unknown{border-style:dashed}.report-card-label{font-size:var(--fs-2xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.report-card-value{font-size:var(--fs-md);color:var(--text-primary);font-variant-numeric:tabular-nums;word-break:break-word}button.home-nav-card{cursor:pointer;font:inherit}button.home-nav-card:hover{border-color:var(--primary);background:var(--bg-selected)}button.home-nav-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
