:root{--primary: #0284c7;--primary-hover: #0369a1;--primary-light: #e0f2fe;--teal: #0d9488;--teal-light: #ccfbf1;--accent-amber: #d97706;--bg-gradient: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 50%, #f0fdf4 100%);--card-bg: #ffffff;--text-main: #0f172a;--text-muted: #64748b;--border-color: #e2e8f0;--shadow-sm: 0 1px 3px rgba(0,0,0,.05);--shadow-md: 0 10px 25px -5px rgba(14, 165, 233, .1), 0 8px 10px -6px rgba(14, 165, 233, .1);--shadow-lg: 0 20px 30px -10px rgba(2, 132, 199, .15);--radius-lg: 16px;--radius-md: 10px}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif;background:var(--bg-gradient);color:var(--text-main);min-height:100vh;line-height:1.6}.patient-query-container{max-width:680px;margin:0 auto;padding:1.25rem 1rem 3rem}.hospital-banner{text-align:center;margin-bottom:1.25rem;padding:1.25rem;background:linear-gradient(135deg,#0284c7,#0369a1 60%,#0f766e);color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.hospital-badge{display:inline-flex;align-items:center;gap:6px;background:#fff3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:4px 12px;border-radius:999px;font-size:.82rem;font-weight:500;margin-bottom:.5rem}.app-title{font-size:1.4rem;font-weight:700;letter-spacing:.5px;margin-bottom:.25rem}.app-subtitle{font-size:.88rem;opacity:.9}.query-card{background:var(--card-bg);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-md);border:1px solid rgba(255,255,255,.9);margin-bottom:1.25rem}.card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.header-icon{width:44px;height:44px;border-radius:12px;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.card-title{font-size:1.15rem;font-weight:700;color:var(--text-main)}.card-desc{font-size:.82rem;color:var(--text-muted)}.query-form .form-group{margin-bottom:1.25rem}.form-label{display:flex;align-items:center;gap:6px;font-size:.92rem;font-weight:600;color:#334155;margin-bottom:.4rem}.required-star{color:#ef4444}.form-input{width:100%;padding:12px 14px;border-radius:var(--radius-md);border:1.5px solid #cbd5e1;font-size:.98rem;color:var(--text-main);background:#fff;transition:all .2s ease;outline:none}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0284c72e}.gender-selector{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.gender-btn{padding:10px;border-radius:var(--radius-md);border:1.5px solid #cbd5e1;background:#fff;font-size:.95rem;font-weight:600;color:#475569;cursor:pointer;transition:all .2s ease}.gender-btn.active.female{border-color:#ec4899;background:#fce7f3;color:#be185d}.gender-btn.active.male{border-color:var(--primary);background:var(--primary-light);color:#0369a1}.quick-demo-tips{margin:1rem 0;padding:.75rem;background:#f8fafc;border-radius:8px;border:1px dashed #cbd5e1;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.demo-tip-title{font-size:.78rem;font-weight:600;color:#64748b}.demo-chip{border:none;background:#e0f2fe;color:#0369a1;padding:4px 10px;border-radius:999px;font-size:.76rem;font-weight:600;cursor:pointer;transition:all .2s}.demo-chip:hover{background:#bae6fd}.demo-chip.unreleased{background:#fef3c7;color:#b45309}.form-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.25rem}.btn-submit-query{width:100%;padding:14px;border-radius:var(--radius-md);border:none;background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff;font-size:1.05rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 14px #0284c759;transition:all .2s ease}.btn-submit-query:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0284c773}.btn-reset{padding:8px;border:none;background:transparent;color:var(--text-muted);font-size:.85rem;cursor:pointer;text-decoration:underline}.result-section{margin-bottom:1.5rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.result-card{background:var(--card-bg);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}.result-status-badge{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius-md);font-size:.95rem;font-weight:700;margin-bottom:1.25rem}.success-badge{background:#dcfce7;color:#15803d;border:1px solid #86efac}.pending-badge{background:#fef3c7;color:#b45309;border:1px solid #fde68a}.patient-meta-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.5rem;background:#f8fafc;padding:.75rem 1rem;border-radius:8px;margin-bottom:1.25rem;font-size:.86rem}.meta-label{color:var(--text-muted)}.meta-val{color:var(--text-main);font-weight:600}.report-image-container{border:1.5px solid #cbd5e1;border-radius:12px;overflow:hidden;margin-bottom:1.25rem;background:#000}.image-header{background:#1e293b;color:#fff;padding:8px 14px;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:6px}.image-tip{font-size:.75rem;opacity:.75;margin-left:auto}.image-wrapper{position:relative;cursor:pointer;text-align:center;max-height:480px;overflow:hidden;background:#0f172a}.report-img{width:100%;height:auto;max-height:480px;object-fit:contain;display:block}.image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0f172a66;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;opacity:0;transition:opacity .2s ease;font-weight:600;font-size:.9rem}.image-wrapper:hover .image-overlay{opacity:1}.image-action-bar{display:flex;gap:.5rem;background:#0f172a;padding:8px;justify-content:flex-end}.btn-image-action{border:none;background:#334155;color:#fff;padding:6px 14px;border-radius:6px;font-size:.82rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-decoration:none}.btn-image-action.download{background:var(--primary)}.doctor-remarks{background:#f1f5f9;padding:.75rem 1rem;border-radius:8px;font-size:.88rem;color:#334155;margin-bottom:1.25rem;display:flex;align-items:flex-start;gap:8px}.doctor-next-step-prompt{background:linear-gradient(135deg,#fff7ed,#ffedd5);border:2px solid #f97316;border-radius:14px;padding:1.25rem;box-shadow:0 4px 12px #f9731626}.prompt-header{display:flex;align-items:center;gap:8px;color:#ea580c;margin-bottom:.5rem}.prompt-title{font-weight:700;font-size:.95rem}.prompt-highlight{font-size:1.25rem;font-weight:800;color:#c2410c;letter-spacing:.5px;margin-bottom:.5rem;border-left:4px solid #f97316;padding-left:10px}.prompt-subtext{font-size:.84rem;color:#9a3412;line-height:1.5}.pending-notice-box{background:#fffbebf5;border:2px solid #f59e0b;border-radius:14px;padding:1.5rem;text-align:center;margin-bottom:1.25rem}.pending-main-text{font-size:1.35rem;font-weight:800;color:#b45309;margin-bottom:.5rem}.pending-sub-text{font-size:.9rem;color:#78350f}.notice-details{background:#f8fafc;border-radius:10px;padding:1rem 1.25rem;margin-bottom:1.25rem}.notice-title{font-size:.88rem;font-weight:700;color:#334155;margin-bottom:.5rem}.notice-details ul{padding-left:1.25rem;font-size:.85rem;color:#475569}.notice-details li{margin-bottom:.35rem}.btn-recheck{width:100%;padding:12px;border-radius:var(--radius-md);border:1px solid #cbd5e1;background:#fff;color:#334155;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}.patient-footer{margin-top:2rem;text-align:center}.security-note{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.8rem;color:var(--text-muted);margin-bottom:1rem}.doctor-portal-switch{font-size:.85rem;color:var(--text-muted)}.btn-switch-doctor{border:none;background:transparent;color:var(--primary);font-weight:700;cursor:pointer;margin-left:6px}.btn-switch-doctor:hover{text-decoration:underline}.image-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172ad9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:999;display:flex;align-items:center;justify-content:center;padding:1rem}.image-modal-content{background:#fff;border-radius:var(--radius-lg);max-width:900px;width:100%;max-height:92vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-lg)}.modal-header{padding:1rem 1.25rem;background:#0f172a;color:#fff;display:flex;justify-content:space-between;align-items:center}.modal-header h3{font-size:1.05rem;font-weight:700}.modal-close-btn{border:none;background:transparent;color:#fff;cursor:pointer}.modal-body{flex:1;background:#000;overflow:auto;display:flex;align-items:center;justify-content:center;padding:1rem}.full-modal-img{max-width:100%;max-height:70vh;object-fit:contain}.modal-footer{padding:1rem;background:#f8fafc;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-color)}.modal-prompt-text{font-size:.95rem;font-weight:800;color:#c2410c}.btn-modal-download{padding:8px 16px;background:var(--primary);color:#fff;border-radius:8px;font-weight:600;font-size:.88rem;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.doctor-portal-container{min-height:100vh;background:#f1f5f9}.doctor-navbar{background:#0f172a;color:#fff;padding:.75rem 1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.brand-zone{display:flex;align-items:center;gap:.75rem}.brand-icon{width:38px;height:38px;border-radius:10px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center}.brand-title{font-size:1.1rem;font-weight:700}.brand-sub{font-size:.78rem;color:#94a3b8}.nav-tab-group{display:flex;gap:.5rem}.tab-btn{border:none;background:#1e293b;color:#cbd5e1;padding:8px 16px;border-radius:8px;font-size:.88rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s}.tab-btn.active{background:var(--primary);color:#fff}.btn-back-patient{border:1px solid #475569;background:transparent;color:#cbd5e1;padding:6px 12px;border-radius:6px;font-size:.82rem;cursor:pointer;display:flex;align-items:center;gap:4px}.doctor-body{max-width:1100px;margin:1.5rem auto;padding:0 1rem}.toast-banner{background:#dcfce7;color:#15803d;border:1px solid #86efac;padding:12px 16px;border-radius:10px;margin-bottom:1.25rem;display:flex;align-items:center;gap:10px;font-weight:600}.panel-card{background:#fff;border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow-md);border:1px solid var(--border-color)}.panel-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.icon-circle{width:48px;height:48px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center}.panel-title{font-size:1.25rem;font-weight:700}.panel-subtitle{font-size:.85rem;color:var(--text-muted)}.ocr-status-box{margin-top:.75rem;background:#f0fdf4;border:1px solid #86efac;color:#15803d;padding:10px 14px;border-radius:8px;font-size:.88rem;font-weight:600;display:flex;align-items:center;gap:8px}.security-notice-bar{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;padding:10px 14px;border-radius:8px;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:8px;margin-bottom:1.25rem}.ocr-recognized-card{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1.5px solid #86efac;border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.25rem}.ocr-card-header{display:flex;align-items:center;gap:8px;font-size:.92rem;font-weight:700;color:#15803d;margin-bottom:.75rem}.ocr-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem;background:#ffffffbf;padding:.75rem 1rem;border-radius:8px}.ocr-meta-item{font-size:.88rem;display:flex;flex-direction:column;gap:4px}.field-input.small{padding:6px 10px;font-size:.9rem;font-weight:700;color:#0f172a;background:#fff;border:1.5px solid #86efac;border-radius:6px}.meta-lbl{color:#475569}.meta-val{color:#0f172a}.form-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1rem}.form-grid-2{display:grid;grid-template-columns:1fr 2fr;gap:1rem;margin-bottom:1rem}@media (max-width: 640px){.form-grid-2{grid-template-columns:1fr}}.field-label{display:block;font-size:.88rem;font-weight:600;color:#334155;margin-bottom:.35rem}.req{color:#ef4444}.field-input{width:100%;padding:10px 12px;border-radius:8px;border:1.5px solid #cbd5e1;font-size:.95rem;outline:none}.field-input:focus{border-color:var(--primary)}.image-upload-section{margin:1.5rem 0}.upload-dropzone{border:2px dashed #94a3b8;border-radius:14px;background:#f8fafc;padding:2.5rem 1.5rem;text-align:center}.dropzone-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.btn-camera{padding:12px 24px;border-radius:10px;border:none;background:var(--teal);color:#fff;font-size:.95rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 12px #0d94884d}.btn-file-select{padding:12px 24px;border-radius:10px;border:1.5px solid #cbd5e1;background:#fff;color:#334155;font-size:.95rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.dropzone-tip{font-size:.82rem;color:var(--text-muted)}.preview-container{text-align:center}.preview-box{display:inline-block;position:relative;max-width:480px;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--border-color)}.preview-img{width:100%;display:block}.btn-remove-preview{position:absolute;top:10px;right:10px;background:#0f172acc;color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:.8rem;cursor:pointer;display:flex;align-items:center;gap:4px}.preview-success-tip{margin-top:.5rem;font-size:.85rem;color:#16a34a;font-weight:600}.form-submit-zone{margin-top:1.5rem}.btn-publish-report{width:100%;padding:14px;border-radius:10px;border:none;background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #0d948859}.library-header-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.search-box{display:flex;align-items:center;gap:8px;background:#f1f5f9;padding:8px 14px;border-radius:8px;width:300px}.search-input{border:none;background:transparent;outline:none;font-size:.9rem;width:100%}.record-count-badge{display:flex;align-items:center;gap:12px;font-size:.88rem;color:#475569}.btn-clear-all-records{padding:6px 12px;border-radius:6px;border:1.5px solid #fca5a5;background:#fef2f2;color:#dc2626;font-size:.8rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:all .2s}.btn-clear-all-records:hover{background:#fee2e2;border-color:#ef4444}.records-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}.record-item-card{border:1px solid var(--border-color);border-radius:12px;overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);transition:all .2s}.record-item-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.item-thumb-wrapper{height:180px;background:#0f172a;position:relative;cursor:pointer;overflow:hidden}.item-thumb{width:100%;height:100%;object-fit:cover}.thumb-hover{position:absolute;top:0;left:0;right:0;bottom:0;background:#0f172a80;color:#fff;display:flex;align-items:center;justify-content:center;gap:6px;font-size:.85rem;font-weight:600;opacity:0;transition:opacity .2s}.item-thumb-wrapper:hover .thumb-hover{opacity:1}.item-details{padding:1rem}.item-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.patient-name{font-size:1.05rem;font-weight:700}.patient-tag{font-size:.78rem;background:var(--primary-light);color:var(--primary);padding:2px 8px;border-radius:999px;font-weight:600}.item-time{font-size:.78rem;color:var(--text-muted);margin-bottom:.4rem}.item-notes{font-size:.82rem;color:#334155;margin-bottom:.75rem}.item-actions{display:flex;gap:.5rem}.btn-item-view{flex:1;padding:6px;border-radius:6px;border:1px solid #cbd5e1;background:#fff;font-size:.8rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px}.btn-item-del{padding:6px 12px;border-radius:6px;border:1px solid #fca5a5;background:#fef2f2;color:#dc2626;font-size:.8rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:4px}.qr-card-center{text-align:center;max-width:520px;margin:0 auto}.qr-title{font-size:1.3rem;font-weight:700;margin-bottom:.4rem}.qr-sub{font-size:.88rem;color:var(--text-muted);margin-bottom:1.5rem}.qr-code-box{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:16px;padding:1.5rem;display:inline-block;margin-bottom:1.25rem}.qr-img{width:220px;height:220px;display:block;margin:0 auto .75rem}.qr-url-text{font-size:.78rem;color:var(--text-muted);word-break:break-all}.qr-notice-box{background:#e0f2fe;border-radius:10px;padding:1rem;font-size:.85rem;color:#0369a1;text-align:left;margin-bottom:1.5rem;line-height:1.6}.qr-action-buttons{display:flex;gap:1rem;justify-content:center}.btn-qr-download{padding:10px 20px;border-radius:8px;background:var(--primary);color:#fff;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.btn-qr-print{padding:10px 20px;border-radius:8px;border:1.5px solid #cbd5e1;background:#fff;color:#334155;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
