.patient-page{background:var(--ground);min-height:100dvh;color:var(--fg);font-family:var(--font-sans), "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;font-size:15px;line-height:1.55}.patient-header{border-bottom:1px solid var(--divider);background:var(--card);justify-content:space-between;align-items:center;gap:12px;min-height:76px;padding:16px 24px;display:flex}.patient-brand{color:var(--fg);font-family:var(--font-mono), monospace;letter-spacing:.06em;align-items:center;gap:10px;font-size:11px;font-weight:600;text-decoration:none;display:flex}.patient-brand-mark{background:var(--accent);color:var(--on-accent);border-radius:6px;place-items:center;width:36px;height:36px;display:grid}.patient-brand-sub{color:var(--dim);margin-top:3px;font-size:9px;font-weight:400;display:block}.patient-private{color:var(--dim);font:10px var(--font-mono), monospace;letter-spacing:.08em;align-items:center;gap:5px;display:flex}.patient-main{max-width:524px;margin:0 auto;padding:32px 20px 48px}.patient-panel{background:var(--card);border:1px solid var(--divider);border-radius:6px;padding:24px}.patient-panel h1{letter-spacing:-.025em;margin:8px 0 12px;font-size:26px;font-weight:600;line-height:1.25}.patient-panel p{margin:0 0 20px}.patient-eyebrow{font:10px var(--font-mono), monospace;color:var(--dim);letter-spacing:.08em;text-transform:uppercase}.patient-panel p.patient-eyebrow{margin:0 0 12px}.patient-label{margin:20px 0 8px;font-size:13px;font-weight:600;display:block}.patient-label span{color:var(--dim);font-weight:400}.patient-panel input:not([type=file]),.patient-panel textarea{border:1px solid var(--control);background:var(--card);width:100%;color:var(--fg);font:inherit;border-radius:6px;padding:12px;display:block}.patient-panel .patient-code{font-family:var(--font-mono), monospace;letter-spacing:.03em;font-size:15px}.patient-panel input:focus-visible,.patient-panel textarea:focus-visible,.patient-page button:focus-visible,.patient-page a:focus-visible,.patient-file-input:focus-visible+.patient-camera{outline:2px solid var(--accent);outline-offset:3px}.patient-panel textarea{resize:vertical}.patient-panel .patient-small{color:var(--dim);margin:8px 0 18px;font-size:12px}.patient-primary,.patient-secondary{border:1px solid var(--accent);background:var(--accent);width:100%;min-height:48px;color:var(--on-accent);font:inherit;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;display:inline-flex}.patient-secondary{background:var(--card);color:var(--fg);border-color:var(--control)}.patient-page button:disabled{opacity:.55;cursor:not-allowed}.patient-progress{margin-bottom:20px}.patient-progress .patient-eyebrow{margin-bottom:8px}.patient-progress-bars{gap:6px;display:flex}.patient-progress-bars>span{background:var(--divider);border-radius:2px;flex:1;height:4px}.patient-progress-bars .is-current{background:var(--accent)}.patient-progress-bars .is-done{background:var(--success)}.patient-wound-heading{justify-content:space-between;align-items:center;display:flex}.patient-step-number{font:26px var(--font-mono), monospace;color:var(--faint)}.patient-panel .patient-location{color:var(--dim);margin-top:-4px;margin-bottom:16px;font-size:13px}.patient-file-input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.patient-camera{background:var(--raised);min-height:184px;color:var(--accent-strong);border:1px dashed var(--control);text-align:center;cursor:pointer;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px 16px;display:flex}.patient-camera span{color:var(--dim);max-width:240px;font-size:11px}.patient-camera.is-disabled{pointer-events:none;opacity:.55}.patient-preview{border:1px solid var(--divider);border-radius:6px;overflow:hidden}.patient-preview img{object-fit:contain;background:var(--raised);width:100%;max-height:360px;display:block}.patient-preview button{border:0;border-top:1px solid var(--divider);border-radius:0}.patient-panel .patient-counter{font:10px var(--font-mono), monospace;color:var(--dim);text-align:right;margin:6px 0 16px}.patient-refresh,.patient-exit{color:var(--dim);font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;margin:16px auto 0;padding:6px;font-size:12px;text-decoration:underline;display:flex}.patient-checklist{margin-top:16px}.patient-checklist>div{border-bottom:1px solid var(--divider);align-items:center;gap:8px;padding:8px 0;font-size:12px;display:flex}.patient-checklist>div>span:last-child{color:var(--dim);font:10px var(--font-mono), monospace;margin-left:auto}.patient-check{border:1px solid var(--divider);width:21px;height:21px;color:var(--dim);border-radius:50%;place-items:center;font-size:10px;display:grid}.patient-check.done{background:var(--success-tint);color:var(--success);border-color:#0000}.patient-footer{color:var(--dim);align-items:flex-start;gap:8px;margin-top:24px;font-size:11px;display:flex}.patient-footer svg{flex-shrink:0;margin-top:2px}.patient-footer p{margin:0}.patient-help{color:var(--dim);border-top:1px solid var(--divider);margin-top:20px;padding-top:16px;font-size:11px}.patient-error,.patient-notice,.patient-demo{border:1px solid var(--divider);border-radius:6px;margin-bottom:16px;padding:12px;font-size:13px;display:block}.patient-error{color:var(--destructive);background:var(--destructive-tint)}.patient-notice,.patient-demo{color:var(--warning);background:var(--warning-tint)}.patient-demo p{margin:4px 0 0;font-size:12px}.patient-status{color:var(--success);background:var(--success-tint);border-radius:6px;margin-bottom:16px;padding:10px 12px;font-size:12px;display:block}.patient-complete{text-align:center}.patient-complete>svg{color:var(--success);margin:8px auto 20px}@media (max-width:420px){.patient-header{padding:14px 16px}.patient-main{padding:24px 16px 32px}.patient-panel{padding:20px 16px}.patient-panel h1{font-size:24px}.patient-private{font-size:9px}}
