*{box-sizing:border-box}body{color:#1e293b;background:#f8fafc;min-height:100vh;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}header{color:#fff;background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);padding:24px;box-shadow:0 2px 8px #0003}.header-content{display:flex;align-items: center;gap:16px;max-width:800px;margin:0 auto}.logo{display:flex;background:#0284c7;border-radius:12px;justify-content:center;align-items: center;width:50px;height:50px;font-size:18px;font-weight:700}.clinic-name{flex:1;margin:0;font-size:20px;font-weight:600}.header-badge{background:#ffffff26;border-radius:12px;padding:4px 12px;font-size:13px;font-weight:500}.container{max-width:800px;margin:0 auto;padding:32px 16px}.card{background:#fff;border-radius:16px;padding:40px;box-shadow:0 1px 3px #0000001a}.flow-badge{color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:12px}h1{margin:0 0 8px;font-size:28px}.subtitle{color:#64748b;margin:0 0 32px}.start-button{display:block;color:#fff;cursor:pointer;background:#0284c7;border:none;border-radius:12px;width:100%;padding:20px;transition:background .2s;font-size:18px;font-weight:600}.start-button:hover{background:#0369a1}.qr-panel{display:flex;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;flex-direction:column;align-items: center;margin-bottom:24px;padding:32px}.qr-panel canvas{border-radius:8px}.qr-instruction{color:#64748b;margin:16px 0 12px;font-size:14px}.qr-link-row{display:flex;gap:8px;width:100%;max-width:500px}.qr-link-input{color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:6px;flex:1;padding:8px 12px;font-family:monospace;font-size:12px}.qr-copy-btn{color:#fff;cursor:pointer;background:#0284c7;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600}.qr-copy-btn:hover{background:#0369a1}.waiting-panel{margin:24px 0}.waiting-status{display:flex;color:#64748b;justify-content:center;align-items: center;gap:12px;padding:16px;font-size:15px}.loader{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-top-color:#0284c7;border-radius:50%;width:20px;height:20px}@keyframes spin{to{transform:rotate(360deg)}}.complete-panel{text-align:center}.success-banner{color:#166534;background:#f0fdf4;border-radius:8px;margin-bottom:12px;padding:16px;font-weight:600}.received-summary{color:#64748b;margin:0 0 24px}.error-banner{color:#991b1b;background:#fef2f2;border-radius:8px;margin:16px 0;padding:12px 16px}.login-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:32px}.login-panel h2{margin:0 0 8px;font-size:20px}.login-hint{color:#64748b;margin:0 0 24px;font-size:14px;line-height:1.5}.login-panel form{display:flex;flex-direction:column;gap:16px}.login-panel label{display:flex;color:#475569;flex-direction:column;gap:4px;font-size:14px;font-weight:500}.login-panel input{border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px;font-size:15px}.login-error{color:#dc2626;font-size:14px}.transaction-browser{border-top:1px solid #e2e8f0;margin-top:32px;padding-top:24px}.browser-section{margin-bottom:16px}.browser-header{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;background:#0f172a;border-radius:8px 8px 0 0;padding:10px 15px;font-size:12px;font-weight:600}.credentials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));background:#f8fafc;border:1px solid #e2e8f0;border-top:none;border-radius:0 0 8px 8px;gap:12px;padding:16px}.resource-card{background:#fff;border-left:4px solid #94a3b8;border-radius:8px;padding:16px}.resource-coverage{border-left-color:#0284c7}.resource-patient{border-left-color:#7c3aed}.resource-plan{border-left-color:#f59e0b}.resource-bundle{grid-column:1/-1;border-left-color:#059669}.resource-allergy{border-left-color:#dc2626}.resource-condition{border-left-color:#0f766e}.resource-questionnaire{grid-column:1/-1;border-left-color:#059669}.resource-type{text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:8px;font-size:11px;font-weight:700}.resource-field{display:flex;justify-content:space-between;gap:12px;padding:3px 0;font-size:13px}.resource-field-label{color:#64748b}.resource-field-value{color:#1e293b;text-align:right;font-weight:500}.resource-questionnaire .resource-field{display:block;border-top:1px solid #e2e8f0;padding:8px 0}.resource-questionnaire .resource-field-value{display:block;text-align:left;margin-top:2px}.card-image-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-top:12px}.card-image{margin:0}.card-image img{aspect-ratio:90/57;object-fit:cover;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;width:100%}.card-image figcaption{color:#64748b;margin-top:4px;font-size:11px}.plan-cost-grid,.specific-cost-list{display:grid;border-top:1px solid #e2e8f0;gap:6px;margin-top:10px;padding-top:10px}.plan-cost,.specific-cost{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:12px}.plan-cost span,.specific-cost span{color:#64748b}.plan-cost strong,.specific-cost strong{color:#1e293b;text-align:right;font-weight:700}.resource-group{border-top:1px solid #e2e8f0;padding:8px 0}.resource-group-label{color:#0f766e;font-size:12px;font-weight:700}.resource-note{color:#475569;background:#f8fafc;border-radius:6px;margin:6px 0;padding:8px;font-size:12px;line-height:1.4}.resource-note a{color:#0369a1;font-weight:600}.bundle-entry-list{display:grid;gap:10px;margin-top:12px}.bundle-entry{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px}.bundle-entry-type{color:#0f766e;letter-spacing:.05em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700}.resource-raw{color:#475569;word-break:break-all;padding:4px 0;font-family:monospace;font-size:12px}.resource-json{color:#475569;white-space:pre-wrap;word-break:break-all;overflow:auto;max-height:200px;margin:4px 0 0;font-family:monospace;font-size:11px}.resource-details summary{color:#64748b;cursor:pointer;padding:4px 0;font-size:12px}.collapsible-json{margin-top:8px}.collapsible-header{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;user-select:none;background:#0f172a;border-radius:8px;padding:10px 15px;font-size:.8rem;font-weight:600}.collapsible-header:hover{background:#1e293b}.collapsible-arrow{margin-right:8px;font-size:10px}.collapsible-content{overflow:auto;color:#e2e8f0;white-space:pre-wrap;word-wrap:break-word;background:#1e293b;border-radius:0 0 8px 8px;max-height:400px;margin:0;padding:15px;font-family:monospace;font-size:12px}
