:root{--primary: #0d9488;--primary-hover: #0f766e;--primary-light: #f0fdfa;--primary-border: #99f6e4;--text-main: #0f172a;--text-muted: #64748b;--text-light: #94a3b8;--bg-page: #f8fafc;--bg-card: #ffffff;--bg-subtle: #f1f5f9;--border-subtle: #e2e8f0;--border-strong: #cbd5e1;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--status-normal-bg: #ecfdf5;--status-normal-text: #065f46;--status-normal-border: #a7f3d0;--status-high-bg: #fef2f2;--status-high-text: #991b1b;--status-high-border: #fecaca;--status-low-bg: #eff6ff;--status-low-text: #1e40af;--status-low-border: #bfdbfe;--status-unknown-bg: #f1f5f9;--status-unknown-text: #475569;--status-unknown-border: #cbd5e1}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--bg-page);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}.app-container{max-width:860px;margin:0 auto;padding:24px 16px 64px}@media (max-width: 480px){.app-container{padding:16px 12px 48px}}.header-wrapper{margin-bottom:24px}.header-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;flex-wrap:wrap}.brand-section{display:flex;align-items:center;gap:12px}.brand-icon{width:44px;height:44px;background:linear-gradient(135deg,#0d9488,#14b8a6);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-md);flex-shrink:0}.brand-icon svg{width:26px;height:26px}.brand-title{font-size:1.6rem;font-weight:800;color:var(--text-main);letter-spacing:-.02em;line-height:1.1}.brand-title span{color:var(--primary)}.brand-tagline{font-size:.95rem;color:var(--text-muted);margin-top:2px}.lang-selector{display:inline-flex;background-color:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:4px;gap:2px}.lang-btn{border:none;background:transparent;padding:6px 14px;border-radius:var(--radius-full);font-size:.85rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .2s ease;min-height:36px}.lang-btn:hover{color:var(--text-main)}.lang-btn.active{background-color:#fff;color:var(--primary);box-shadow:var(--shadow-sm)}.disclaimer-banner{background-color:#fffbeb;border:1px solid #fde68a;border-left:4px solid #f59e0b;border-radius:var(--radius-md);padding:12px 16px;margin-bottom:24px;display:flex;align-items:flex-start;gap:12px}.disclaimer-icon{color:#b45309;flex-shrink:0;margin-top:2px}.disclaimer-text{font-size:.85rem;color:#92400e;line-height:1.45}.disclaimer-text strong{font-weight:700;color:#78350f}.card{background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px;margin-bottom:24px}@media (max-width: 480px){.card{padding:18px 14px}}.tab-nav{display:grid;grid-template-columns:1fr 1fr;background-color:var(--bg-subtle);border-radius:var(--radius-md);padding:4px;gap:6px;margin-bottom:20px}.tab-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:none;background:transparent;border-radius:var(--radius-sm);font-size:.95rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .2s ease;min-height:44px}.tab-btn:hover{color:var(--text-main)}.tab-btn.active{background-color:#fff;color:var(--primary);box-shadow:var(--shadow-sm)}.dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius-md);padding:32px 20px;text-align:center;background-color:#fafbfc;cursor:pointer;transition:all .2s ease}.dropzone:hover,.dropzone.drag-active{border-color:var(--primary);background-color:var(--primary-light)}.dropzone-icon{width:52px;height:52px;margin:0 auto 12px;color:var(--primary);opacity:.9}.dropzone-title{font-size:1rem;font-weight:700;color:var(--text-main);margin-bottom:4px}.dropzone-subtitle{font-size:.85rem;color:var(--text-muted);margin-bottom:12px}.dropzone-badge{display:inline-block;background-color:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:4px 12px;font-size:.75rem;font-weight:600;color:var(--text-muted)}.hidden-input{display:none}.file-preview-card{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--primary-border);background-color:var(--primary-light);border-radius:var(--radius-md);padding:14px 16px;gap:12px}.file-preview-left{display:flex;align-items:center;gap:12px;overflow:hidden}.file-thumbnail{width:54px;height:54px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:#fff;flex-shrink:0}.file-icon-box{width:54px;height:54px;background:#fff;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--primary);border:1px solid var(--border-subtle);flex-shrink:0}.file-info{overflow:hidden}.file-name{font-size:.9rem;font-weight:700;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}@media (max-width: 480px){.file-name{max-width:170px}}.file-size{font-size:.75rem;color:var(--text-muted);margin-top:2px}.remove-btn{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:#ef4444;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .2s ease}.remove-btn:hover{background:#fee2e2;border-color:#fca5a5}.textarea-container{display:flex;flex-direction:column;gap:8px}.report-textarea{width:100%;min-height:180px;padding:14px;border:1px solid var(--border-strong);border-radius:var(--radius-md);font-family:inherit;font-size:.95rem;line-height:1.5;color:var(--text-main);background-color:#fff;resize:vertical;transition:border-color .2s ease}.report-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0d948826}.textarea-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.sample-btn{background:transparent;border:1px solid var(--primary-border);color:var(--primary);font-size:.82rem;font-weight:600;border-radius:var(--radius-full);padding:6px 12px;cursor:pointer;transition:all .2s ease}.sample-btn:hover{background:var(--primary-light)}.char-count{font-size:.8rem;color:var(--text-muted)}.action-section{margin-top:20px}.submit-btn{width:100%;background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;border:none;border-radius:var(--radius-md);padding:14px 24px;font-size:1.05rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;transition:all .2s ease}.submit-btn:hover:not(:disabled){opacity:.95;box-shadow:var(--shadow-lg);transform:translateY(-1px)}.submit-btn:disabled{background:#cbd5e1;color:#64748b;cursor:not-allowed;box-shadow:none;transform:none}.loading-box{padding:40px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.spinner{width:44px;height:44px;border:4px solid var(--primary-light);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:1rem;font-weight:700;color:var(--text-main)}.loading-subtext{font-size:.85rem;color:var(--text-muted)}.error-alert{background-color:#fef2f2;border:1px solid #fecaca;border-left:4px solid #ef4444;border-radius:var(--radius-md);padding:14px 16px;margin-bottom:24px;display:flex;align-items:flex-start;gap:12px}.error-icon{color:#dc2626;flex-shrink:0;margin-top:2px}.error-title{font-size:.9rem;font-weight:700;color:#991b1b;margin-bottom:2px}.error-message{font-size:.85rem;color:#b91c1c}.results-container{display:flex;flex-direction:column;gap:20px}.no-lab-results-notice{background:linear-gradient(180deg,#fffbeb,#fef3c7);border:1.5px solid #f59e0b;border-radius:var(--radius-lg);padding:24px 22px;box-shadow:var(--shadow-sm)}.notice-icon-row{display:flex;align-items:center;gap:12px;margin-bottom:14px}.notice-icon{color:#d97706;flex-shrink:0}.notice-title{font-size:1.15rem;font-weight:700;color:#92400e;margin:0}.notice-body{font-size:.97rem;line-height:1.65;color:#78350f;margin:0 0 12px}.notice-hint{font-size:.88rem;color:#a16207;background:#ffffff8c;border-radius:var(--radius-sm);padding:10px 14px;margin:0;line-height:1.5}@media (max-width: 480px){.no-lab-results-notice{padding:18px 14px}.notice-title{font-size:1.05rem}}.summary-card{background:linear-gradient(180deg,#fff,#f0fdfa);border:1px solid var(--primary-border);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-sm)}.card-header-with-icon{display:flex;align-items:center;gap:10px;margin-bottom:12px}.card-header-icon{width:32px;height:32px;background:var(--primary-light);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--primary);flex-shrink:0}.section-title{font-size:1.15rem;font-weight:700;color:var(--text-main)}.summary-text{font-size:.95rem;color:#1e293b;line-height:1.6}.tests-grid{display:flex;flex-direction:column;gap:12px}.test-item-card{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-sm);transition:border-color .2s ease}.test-item-card:hover{border-color:var(--border-strong)}.test-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;flex-wrap:wrap}.test-name{font-size:1.05rem;font-weight:700;color:var(--text-main)}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border:1px solid}.status-badge.normal{background-color:var(--status-normal-bg);color:var(--status-normal-text);border-color:var(--status-normal-border)}.status-badge.high{background-color:var(--status-high-bg);color:var(--status-high-text);border-color:var(--status-high-border)}.status-badge.low{background-color:var(--status-low-bg);color:var(--status-low-text);border-color:var(--status-low-border)}.status-badge.unknown{background-color:var(--status-unknown-bg);color:var(--status-unknown-text);border-color:var(--status-unknown-border)}.status-dot{width:7px;height:7px;border-radius:50%;background-color:currentColor}.test-metrics-row{display:flex;flex-wrap:wrap;gap:16px;background-color:var(--bg-subtle);border-radius:var(--radius-sm);padding:8px 12px;margin-bottom:10px}.metric-item{display:flex;align-items:baseline;gap:6px;font-size:.85rem}.metric-label{color:var(--text-muted)}.metric-val{font-weight:700;color:var(--text-main)}.test-meaning{font-size:.9rem;color:#334155;line-height:1.5}.questions-card{background-color:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm)}.questions-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin-top:12px}.question-item{display:flex;align-items:flex-start;gap:10px;font-size:.92rem;color:#1e293b;line-height:1.45}.question-bullet{color:var(--primary);flex-shrink:0;margin-top:2px}.ocr-accordion{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#fff;overflow:hidden}.ocr-accordion-header{width:100%;background:transparent;border:none;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;font-size:.85rem;font-weight:600;color:var(--text-muted);cursor:pointer}.ocr-accordion-header:hover{background:var(--bg-subtle)}.ocr-raw-text{padding:14px 16px;font-family:monospace;font-size:.8rem;background-color:#f8fafc;border-top:1px solid var(--border-subtle);white-space:pre-wrap;color:#475569;max-height:200px;overflow-y:auto}.reset-btn{background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-muted);font-size:.9rem;font-weight:600;padding:10px 18px;cursor:pointer;margin-top:8px;display:inline-flex;align-items:center;gap:6px;align-self:center;transition:all .2s ease}.reset-btn:hover{background:#f1f5f9;color:var(--text-main)}
