:root{--ink:#0a0f0d;--green:#0f6e56;--green-light:#e8f5f1;--green-mid:#1a9b7a;--amber:#d97b2a;--amber-light:#fef3e2;--red:#c93a3a;--red-light:#fdeaea;--blue:#4a5be8;--blue-light:#eef0fe;--surface:#f7f9f8;--card:#fff;--border:#e0ebe8;--muted:#6b8580;--white:#fff;--brand:var(--green);--brand-light:var(--green-light)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--surface);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:DM Sans,sans-serif}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}.app-shell{background:var(--surface);flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;display:flex;transform:translateZ(0)}.top-bar{background:var(--brand);color:#fff;padding:14px 16px 18px}.top-bar .back{color:#ffffffbf;align-items:center;gap:4px;margin-bottom:6px;font-size:12px;display:inline-flex}.top-bar .back:hover{color:#fff}.top-bar h2{letter-spacing:-.3px;font-size:19px;font-weight:700}.top-bar p{color:#ffffffc7;margin-top:2px;font-size:12px}.screen-content{flex-direction:column;flex:1;gap:12px;padding:16px 16px 24px;display:flex}.footer-disclaimer{color:var(--muted);text-align:center;border-top:1px solid var(--border);background:var(--surface);padding:8px 16px;font-size:9.5px;line-height:1.5}.search-bar{border:1.5px solid var(--border);background:#fff;border-radius:12px;align-items:center;gap:8px;padding:10px 14px;display:flex}.search-bar .icon{color:var(--muted);font-size:14px}.search-bar input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:13px}.search-bar input::placeholder{color:var(--muted)}.face-btn{background:var(--brand-light);color:var(--brand);border-radius:8px;flex-shrink:0;padding:4px 8px;font-size:11px;font-weight:600}.patient-row{border:1px solid var(--border);cursor:pointer;text-align:left;background:#fff;border-radius:14px;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.patient-row:hover{border-color:var(--brand)}.avatar{background:var(--brand-light);width:40px;height:40px;color:var(--brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.avatar.lg{background:var(--brand);color:#fff;width:44px;height:44px;font-size:16px}.patient-info{flex:1;min-width:0}.patient-info .name{color:var(--ink);font-size:13px;font-weight:600}.patient-info .meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}.badges{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.badge{white-space:nowrap;border-radius:6px;padding:2px 6px;font-size:9px;font-weight:700}.badge-red{background:var(--red-light);color:var(--red)}.badge-amber{background:var(--amber-light);color:var(--amber)}.badge-green{background:var(--green-light);color:var(--green)}.badge-blue{background:var(--blue-light);color:var(--blue)}.badge-muted{background:var(--surface);color:var(--muted);border:1px solid var(--border)}.fab-new-encounter{bottom:calc(env(safe-area-inset-bottom,0px) + 64px);background:var(--brand);color:#fff;z-index:100;border-radius:32px;justify-content:center;align-items:center;gap:8px;padding:16px 24px;font-size:14px;font-weight:700;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;right:24px;box-shadow:0 4px 16px #00000026}.fab-new-encounter:hover{transform:translateY(-2px);box-shadow:0 6px 24px #0003}.section-header{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;padding:0 2px;font-size:10px;font-weight:700}.card{border:1px solid var(--border);background:#fff;border-radius:14px;padding:14px}.card-title{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:11px;font-weight:700}.step-progress{background:var(--brand);align-items:center;gap:6px;padding:12px 16px;display:flex}.step-dot{background:#ffffff4d;border-radius:50%;flex-shrink:0;width:8px;height:8px}.step-dot.active{background:#fff;border-radius:4px;width:20px}.step-dot.done{background:#ffffffb3}.step-label{color:#ffffffd9;white-space:nowrap;margin-left:4px;font-size:11px}.step-label strong{color:#fff}.field{background:var(--surface);border:1.5px solid var(--border);color:var(--ink);border-radius:10px;outline:none;width:100%;padding:10px 12px;font-size:13px}.field::placeholder{color:var(--muted)}.field:focus{border-color:var(--brand);background:#fff}.field-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:10px;font-weight:600;display:block}.field-group{margin-bottom:4px}textarea.field{resize:vertical;min-height:70px;font-family:inherit}.face-capture{background:var(--ink);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:140px;display:flex;position:relative;overflow:hidden}.face-capture:before{content:"";border:2px solid #0f6e5699;border-radius:8px;position:absolute;inset:12px}.face-capture .scan-icon{opacity:.4;font-size:32px}.face-capture .scan-text{color:#ffffff80;font-size:11px}.face-scanning{background:linear-gradient(90deg, transparent, var(--green-mid), transparent);height:2px;animation:2s ease-in-out infinite scan;position:absolute;top:12px;left:12px;right:12px}@keyframes scan{0%{transform:translateY(0)}to{transform:translateY(116px)}}.match-found{background:var(--green-light);border:1.5px solid var(--green);border-radius:12px;align-items:center;gap:10px;padding:12px;display:flex}.match-found .match-avatar{background:var(--green);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:16px;font-weight:700;display:flex}.match-found .match-info .name{color:var(--green);font-size:14px;font-weight:700}.match-found .match-info .sub{color:var(--muted);margin-top:2px;font-size:11px}.match-confirm{color:var(--green);border:1px solid var(--green);white-space:nowrap;background:#fff;border-radius:8px;flex-shrink:0;margin-left:auto;padding:6px 10px;font-size:10px;font-weight:700}.alert-banner{background:var(--red-light);border:1.5px solid var(--red);border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.alert-banner .alert-icon{margin-top:1px;font-size:14px}.alert-banner .alert-text{color:var(--red);font-size:11px;line-height:1.5}.alert-banner .alert-text strong{font-weight:700;display:block}.alert-banner.amber{background:var(--amber-light);border-color:var(--amber)}.alert-banner.amber .alert-text{color:var(--amber)}.complaint-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.complaint-btn{background:var(--surface);border:1.5px solid var(--border);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;display:flex}.complaint-btn.active{background:var(--green-light);border-color:var(--green)}.complaint-btn .cb-icon{font-size:22px}.complaint-btn .cb-label{color:var(--muted);font-size:10px;font-weight:600}.complaint-btn.active .cb-label{color:var(--green)}.ai-processing{background:var(--green-light);border-radius:10px;align-items:center;gap:8px;padding:10px 12px;display:flex}.ai-processing .ai-dot{background:var(--green);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.ai-processing .ai-text{color:var(--green);font-size:11px;font-weight:500}.hpc-question{border:1px solid var(--border);background:#fff;border-radius:12px;padding:12px}.hpc-q-text{color:var(--ink);margin-bottom:8px;font-size:12px;font-weight:600}.hpc-options{flex-wrap:wrap;gap:6px;display:flex}.hpc-option{background:var(--surface);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:8px;padding:5px 10px;font-size:11px}.hpc-option.selected{background:var(--green-light);border-color:var(--green);color:var(--green);font-weight:600}.hpc-segment-label{color:var(--green);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:6px;margin-bottom:2px;font-size:10px;font-weight:700;display:flex}.hpc-segment-label:after{content:"";background:var(--green-light);flex:1;height:1px}.ros-row{border:1px solid var(--border);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.ros-row .ros-q{color:var(--ink);flex:1;font-size:12px;font-weight:600}.ros-choices{flex-shrink:0;gap:4px;display:flex}.ros-choice{background:var(--surface);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:7px;padding:5px 9px;font-size:10px;font-weight:700}.ros-choice.selected-yes{background:var(--red-light);border-color:var(--red);color:var(--red)}.ros-choice.selected-no{background:var(--green-light);border-color:var(--green);color:var(--green)}.ros-choice.selected-unsure{background:var(--amber-light);border-color:var(--amber);color:var(--amber)}.gemma-suggestion{border:1px solid var(--green);background:linear-gradient(135deg,#e8f5f1,#f0faf7);border-radius:10px;padding:10px 12px}.gemma-label{color:var(--green);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-size:9px;font-weight:700}.gemma-text{color:var(--ink);font-size:11px;line-height:1.5}.gemma-actions{gap:6px;margin-top:8px;display:flex}.gemma-btn{cursor:pointer;border-radius:6px;padding:4px 10px;font-size:10px;font-weight:600}.gemma-accept{background:var(--green);color:#fff}.gemma-ignore{background:var(--surface);color:var(--muted);border:1px solid var(--border)}.exit-card{border:1.5px solid var(--border);cursor:pointer;text-align:left;background:#fff;border-radius:14px;align-items:center;gap:12px;width:100%;padding:14px;transition:border-color .15s;display:flex}.exit-card:hover{border-color:var(--green)}.exit-card.selected{border-color:var(--green);background:var(--green-light)}.exit-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.exit-diag{background:var(--amber-light)}.exit-refer{background:var(--blue-light)}.exit-treat{background:var(--green-light)}.exit-info .exit-title{color:var(--ink);font-size:13px;font-weight:700}.exit-info .exit-sub{color:var(--muted);margin-top:2px;font-size:11px}.locked-header{border:1px solid var(--border);background:#fff;border-radius:14px;padding:14px}.locked-header .lh-top{align-items:center;gap:10px;margin-bottom:10px;display:flex}.locked-header .lh-name{color:var(--ink);font-size:15px;font-weight:700}.locked-header .lh-sub{color:var(--muted);margin-top:2px;font-size:11px}.locked-pill{background:var(--surface);color:var(--muted);border:1px solid var(--border);cursor:pointer;border-radius:6px;flex-shrink:0;margin-left:auto;padding:4px 8px;font-size:9px;font-weight:700}.locked-pill:hover{border-color:var(--brand);color:var(--brand)}.condition-tags{flex-wrap:wrap;gap:4px;display:flex}.condition-tag{border-radius:6px;padding:3px 8px;font-size:10px;font-weight:500}.tag-condition{background:var(--amber-light);color:var(--amber)}.tag-allergy{background:var(--red-light);color:var(--red)}.tag-med{background:var(--green-light);color:var(--green)}.timeline{flex-direction:column;gap:8px;display:flex}.encounter-card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:12px 14px}.encounter-card.pending{border-color:var(--amber)}.encounter-card .ec-top{cursor:pointer;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.encounter-card .ec-date{color:var(--muted);font-family:DM Mono,monospace;font-size:10px}.encounter-card .ec-complaint{color:var(--ink);margin-top:3px;font-size:12px;font-weight:600}.encounter-card .ec-status{white-space:nowrap;border-radius:6px;flex-shrink:0;padding:3px 7px;font-size:9px;font-weight:700}.status-treated{background:var(--green-light);color:var(--green)}.status-referred{background:var(--blue-light);color:var(--blue)}.status-pending{background:var(--amber-light);color:var(--amber)}.continue-btn{background:var(--amber);color:#fff;cursor:pointer;border-radius:8px;margin-top:10px;padding:7px 12px;font-size:11px;font-weight:700;display:inline-block}.encounter-detail{border-top:1px dashed var(--border);flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;display:flex}.detail-row{color:var(--ink);font-size:11px;line-height:1.6}.detail-row .dr-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-size:9px;font-weight:700;display:block}.audit-row{color:var(--muted);border-bottom:1px solid var(--surface);padding:6px 0;font-size:10.5px;line-height:1.5}.audit-row:last-child{border-bottom:none}.audit-row strong{color:var(--ink)}.cta-btn{background:var(--brand);color:#fff;text-align:center;cursor:pointer;letter-spacing:-.2px;border-radius:14px;width:100%;margin-top:auto;padding:14px;font-size:14px;font-weight:700;display:block}.cta-btn:disabled,.cta-btn.disabled{background:var(--border);color:var(--muted);cursor:not-allowed}.cta-btn.secondary{color:var(--ink);border:1.5px solid var(--border);background:#fff}.cta-btn.outline{color:var(--brand);border:1.5px solid var(--brand);background:#fff}.cta-row{gap:8px;display:flex}.cta-row .cta-btn{margin-top:0}.med-row{border-bottom:1px solid var(--surface);align-items:center;gap:10px;padding:8px 0;display:flex}.med-row:last-child{border-bottom:none}.med-name{color:var(--ink);flex:1;font-size:12px;font-weight:600}.med-dose{color:var(--muted);margin-top:1px;font-size:10px}.med-qty{color:var(--green);background:var(--green-light);border-radius:6px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:700}.med-interim{color:var(--amber);background:var(--amber-light)}.divider{background:var(--border);height:1px;margin:4px 0}.link-action{color:var(--brand);cursor:pointer;background:0 0;border:none;font-size:11px;font-weight:600}.empty-state{text-align:center;color:var(--muted);padding:40px 16px;font-size:12px}@media (min-width:768px){.app-shell{background:#fff;border-radius:0;flex-flow:wrap;align-content:flex-start;align-items:stretch;max-width:100%;min-height:100vh;margin:0}body{background:#fff}.top-bar{border-bottom:1px solid #ffffff1a;order:1;width:100%;padding:24px 32px}.top-bar h2{font-size:24px}.top-bar p{font-size:14px}.step-progress{order:2;width:100%}.screen-content{background:#fff;flex:1;order:4;min-width:0;padding:40px 48px}.footer-disclaimer{background:var(--surface);order:5;width:100%}.complaint-grid{grid-template-columns:repeat(4,1fr)}.patient-row{padding:16px 20px;transition:transform .15s,border-color .15s,box-shadow .15s}.patient-row:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:0 6px 16px #0000000f}}
