:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f8f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font-family:inherit}.app-shell{width:min(1120px,100% - 32px);margin:0 auto;padding:32px 0 64px}.app-header{align-items:center;gap:16px;margin-bottom:36px;display:flex}.brand-logo{object-fit:contain;object-position:left center;width:180px;height:48px}.eyebrow,.step-label{color:#1677c8;letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:700}.header-title{color:#172033;margin-top:1px;font-weight:700}.secure-badge{color:#1266b0;background:#eaf4ff;border-radius:999px;margin-left:auto;padding:7px 10px;font-size:.8rem;font-weight:600}.card{background:#fff;border:1px solid #d6e3f0;border-radius:18px;max-width:680px;margin:0 auto;padding:clamp(24px,5vw,48px);box-shadow:0 16px 42px #14569117}.scanner-card{text-align:center}h1{color:#172033;letter-spacing:-.04em;margin:9px 0 12px;font-size:clamp(1.7rem,4vw,2.35rem);line-height:1.16}.muted{color:#607078;line-height:1.6}.scanner-frame{background:#f1f7fc;border:1px solid #c8d9e8;border-radius:14px;width:min(100%,420px);min-height:280px;margin:30px auto 18px;overflow:hidden}.scanner-frame video{display:block;width:100%!important}.scanner-status{color:#607078;font-size:.92rem}.scanner-error,.form-error{color:#b42318;margin-top:14px;font-size:.9rem}.pin-card{max-width:520px}label{color:#34434a;margin-top:28px;font-size:.9rem;font-weight:700;display:block}input{color:#172033;letter-spacing:.35em;border:1px solid #aebfc2;border-radius:10px;outline-color:#1677c8;width:100%;margin-top:8px;padding:14px 16px;font-size:1.35rem}.button-row,.dashboard-actions{justify-content:flex-end;gap:12px;margin-top:28px;display:flex}button{font:inherit;cursor:pointer;border:0;border-radius:9px;padding:12px 16px;font-weight:700}.primary-button{color:#fff;background:#1677c8}.primary-button:hover{background:#0d5ea6}.secondary-button{color:#0b4f91;background:#eaf4ff}.status-card{text-align:center;justify-items:center;padding:70px 30px;display:grid}.spinner{border:4px solid #cfe4f7;border-top-color:#1677c8;border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-top{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.dashboard-top h1{margin-bottom:0}.dashboard-actions{flex-wrap:wrap;margin:0}.narrative-card,.data-section{background:#fff;border:1px solid #d6e3f0;border-radius:14px}.narrative-card{padding:26px}.narrative-card h2,.data-section h2{color:#172033;margin:0 0 10px;font-size:1.12rem}.narrative-card p{color:#405158;white-space:pre-line;line-height:1.7}.data-grid{gap:18px;margin-top:18px;display:grid}.data-section{overflow:hidden}.data-section h2{padding:20px 22px 0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;color:#33464e;text-align:left;width:100%;font-size:.93rem}th,td{border-bottom:1px solid #e2ebf3;padding:13px 22px}th{color:#587078;letter-spacing:.08em;text-transform:uppercase;background:#f5f9fd;font-size:.74rem}tbody tr:last-child td{border-bottom:0}.empty-state{color:#718188;padding:0 22px 20px;font-size:.92rem}.landing-card{text-align:center;max-width:760px;margin:0 auto;padding:clamp(28px,6vw,58px)}.portal-choice{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:32px;display:grid}.portal-button{color:#173f6d;text-align:left;background:#fff;border:1px solid #cbdfee;gap:9px;min-height:190px;padding:26px;transition:transform .15s,box-shadow .15s;display:grid}.portal-button:hover{transform:translateY(-2px);box-shadow:0 12px 28px #1456911f}.portal-button span{color:#1677c8;font-size:2.2rem;line-height:1}.portal-button strong{font-size:1.16rem}.portal-button small{color:#607078;font-weight:500;line-height:1.45}.doctor-choice{background:#f3f8fe}.patient-form input{letter-spacing:normal;font-size:1rem}.patient-form input[type=password]{letter-spacing:.25em}.patient-form input[type=file]{cursor:pointer;padding:10px 12px}.qr-card{text-align:center;justify-items:center;display:grid}.shl-qr-code{width:min(100%,330px);image-rendering:pixelated;background:#fff;border:1px solid #d6e3f0;border-radius:14px;margin:28px 0;padding:14px}.back-link{color:#0b4f91;background:0 0;margin:-18px auto 18px 0;padding:5px 0;display:block}.patient-dashboard{max-width:880px}.patient-dashboard input[type=file]{color:#172033;letter-spacing:normal;cursor:pointer;padding:10px 12px;font-family:inherit;font-size:1rem}.patient-dashboard select,.patient-dashboard textarea{color:#172033;width:100%;font:inherit;border:1px solid #aebfc2;border-radius:10px;outline-color:#1677c8;margin-top:8px;padding:14px 16px}.patient-dashboard textarea{resize:vertical;min-height:92px}.structured-section{margin-top:30px}.record-form{margin-top:30px;padding-top:6px}.record-form h2{margin-bottom:0}.clinical-list{color:#33464e;margin:12px 22px 20px;padding-left:20px}.clinical-list li{margin:10px 0}.report-link{color:#1677c8;text-align:left;background:0 0;padding:0}@media (width<=700px){.dashboard-top{flex-direction:column;align-items:flex-start}.dashboard-actions{width:100%}.dashboard-actions button{flex:1}th,td{padding:11px 14px}}@media (width<=560px){.app-shell{width:min(100% - 24px,1120px);padding-top:18px}.secure-badge{display:none}.app-header{gap:10px}.brand-logo{width:145px}.button-row{flex-direction:column-reverse}.button-row button{width:100%}.portal-choice{grid-template-columns:1fr}.portal-button{min-height:145px}}
