*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.auth-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{animation:slideUp .5s ease;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:500px;padding:40px;width:100%}.auth-header{margin-bottom:30px;text-align:center}.auth-header h1{color:#667eea;font-size:2.5rem;margin-bottom:10px}.auth-header h2{color:#333;font-size:1.8rem;margin-bottom:10px}.auth-header p{color:#666;font-size:1rem}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group input{border:2px solid #e0e0e0;border-radius:10px;outline:none;padding:14px 18px}.form-group input::placeholder{color:#999}.btn{padding:14px 20px}.btn-primary{box-shadow:0 4px 15px #667eea66}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #667eea99}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.alert{animation:shake .5s ease}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}.alert-success{background:#efe;border:1px solid #cfc;color:#3c3}.auth-footer{border-top:1px solid #e0e0e0;margin-top:25px;padding-top:25px;text-align:center}.auth-footer p{color:#666;font-size:.95rem}.auth-footer a{color:#667eea;font-weight:600;text-decoration:none;transition:all .3s ease}.auth-footer a:hover{color:#764ba2;text-decoration:underline}@media (max-width:600px){.auth-card{padding:30px 20px}.auth-header h1{font-size:2rem}.auth-header h2{font-size:1.5rem}.auth-header p{font-size:.9rem}.form-group input{font-size:.95rem;padding:12px 15px}.btn{font-size:1rem;padding:12px 18px}}@media (max-width:400px){.auth-container{padding:10px}.auth-card{padding:25px 15px}.auth-header h1{font-size:1.8rem}}.speedometer-gauge{animation:slideUpFade .6s ease backwards;background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000001a;padding:25px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.speedometer-gauge:hover{box-shadow:0 8px 30px #00000026;transform:translateY(-5px)}.speedometer-gauge .gauge-title{color:#1f2937;font-size:1.4rem;font-weight:700;margin-bottom:5px}.speedometer-gauge .gauge-subtitle{color:#6b7280;font-size:.9rem;margin-bottom:20px}.speedometer-gauge .gauge-svg-container{margin:0 auto;max-width:300px;position:relative;width:100%}.speedometer-gauge .progress-arc{animation:drawArc 1s ease forwards}@keyframes drawArc{0%{stroke-dashoffset:1000}to{stroke-dashoffset:0}}.speedometer-gauge .needle{animation:rotateNeedle 1.2s cubic-bezier(.68,-.55,.265,1.55) forwards;transform-origin:center}@keyframes rotateNeedle{0%{transform:rotate(-135deg)}to{transform:rotate(0deg)}}.speedometer-gauge .center-circle{animation:pulse 2s ease infinite}.speedometer-gauge .value-text{animation:fadeIn .5s ease .8s backwards}.speedometer-gauge .gauge-footer{align-items:center;display:flex;justify-content:center;margin-top:15px}.speedometer-gauge .risk-badge{animation:fadeIn .5s ease 1s backwards;border-radius:25px;box-shadow:0 2px 10px #00000026;color:#fff;font-size:.95rem;font-weight:600;padding:8px 20px}.speedometer-gauge .gauge-interpretation{animation:fadeIn .5s ease 1.2s backwards;background:#f9fafb;border-left:3px solid #3b82f6;border-radius:10px;margin-top:15px;padding:12px}.speedometer-gauge .gauge-interpretation p{color:#4b5563;font-size:.9rem;line-height:1.5;margin:0}.speedometer-gauge .gauge-zones{display:flex;justify-content:space-between;margin-top:15px;padding:0 10px}.speedometer-gauge .zone-label{color:#6b7280;font-size:.85rem;font-weight:600}.speedometer-gauge .zone-label span{font-size:1.2rem;margin-right:4px}.speedometer-gauge.unavailable{opacity:.6}.speedometer-gauge .gauge-unavailable{background:#f9fafb;border:2px dashed #d1d5db;border-radius:10px;padding:40px 20px}.speedometer-gauge .gauge-unavailable p{color:#9ca3af;font-size:.95rem;margin:0}@media (max-width:768px){.speedometer-gauge{padding:20px}.speedometer-gauge .gauge-title{font-size:1.2rem}.speedometer-gauge .gauge-subtitle{font-size:.85rem}.speedometer-gauge .gauge-svg-container{max-width:250px}.speedometer-gauge .risk-badge{font-size:.85rem;padding:6px 16px}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.speedometer-gauge:first-child{animation-delay:0s}.speedometer-gauge:nth-child(2){animation-delay:.1s}.speedometer-gauge:nth-child(3){animation-delay:.2s}.speedometer-gauge:nth-child(4){animation-delay:.3s}.dashboard{background:#f5f7fa;min-height:100vh}.dashboard-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 10px #0000001a;color:#fff;padding:20px 30px}.header-content{gap:15px;max-width:1400px}.header-left h1{font-size:1.8rem;margin-bottom:5px}.header-left p{font-size:.95rem;opacity:.9}.header-right{gap:10px}.dashboard-main{margin:0 auto;max-width:1400px;padding:30px}.card{animation:fadeIn .4s ease;background:#fff;border-radius:15px;box-shadow:0 2px 10px #00000014;margin-bottom:25px;padding:25px}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.btn{font-size:.95rem;outline:none;padding:10px 20px;white-space:nowrap}.btn:disabled{opacity:.6}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2)}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-success:hover:not(:disabled){background:#059669;transform:translateY(-2px)}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover:not(:disabled){background:#4b5563}.btn-view{background:#3b82f6;color:#fff;width:100%}.btn-view:hover{background:#2563eb}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.alert{animation:slideDown .4s ease;border-radius:10px;font-size:.95rem;padding:14px 18px}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.alert-error{background:#fee;border:1px solid #fcc;color:#c33}.alert-success{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.upload-section h2{color:#333;margin-bottom:20px}.upload-form{display:flex;flex-direction:column;gap:20px}.form-group label{color:#333;font-size:.9rem}.form-group input,.form-group select{border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;outline:none;padding:12px 15px;transition:all .3s ease}.form-group input:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.file-info{color:#10b981;font-size:.85rem;margin-top:5px}.search-form{display:flex;flex-wrap:wrap;gap:10px}.search-input{border:2px solid #e0e0e0;border-radius:8px;flex:1 1;font-size:.95rem;min-width:250px;outline:none;padding:12px 15px;transition:all .3s ease}.search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.reports-section h2{color:#333;margin-bottom:20px}.loading{color:#667eea;font-size:1.2rem;padding:40px;text-align:center}.empty-state{padding:60px 20px;text-align:center}.empty-state h3{color:#333;font-size:1.5rem;margin-bottom:10px}.empty-state p{color:#666}.reports-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.report-card{padding:20px;transition:transform .3s ease,box-shadow .3s ease}.report-card:hover{box-shadow:0 8px 20px #00000026;transform:translateY(-5px)}.report-header{align-items:flex-start;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.report-header h3{color:#333;font-size:1.2rem}.homa-iq-badge{align-items:center;animation:pulse 2s infinite;border-radius:12px;box-shadow:0 2px 8px #00000026;color:#fff;display:flex;flex-direction:column;justify-content:center;min-width:90px;padding:10px 15px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.homa-iq-score{font-size:2rem;font-weight:700;line-height:1}.homa-iq-label{font-size:.7rem;letter-spacing:1px;margin-top:2px;opacity:.9}.homa-iq-risk{font-size:.75rem;font-weight:600;margin-top:4px;text-align:center}.abnormal-alert{background:#fee2e2;border-left:4px solid #ef4444;border-radius:8px;color:#991b1b;font-weight:600;margin:10px 0;padding:10px 15px}.status-badge{border-radius:20px;font-size:.8rem;font-weight:600;padding:5px 12px;text-transform:uppercase}.status-completed{background:#d1fae5;color:#065f46}.status-pending{background:#fef3c7;color:#92400e}.status-failed{background:#fee2e2;color:#991b1b}.report-info{margin:15px 0}.report-info p{color:#555;font-size:.9rem;margin:8px 0}.report-preview{background:#f9fafb;border-radius:8px;margin:15px 0;max-height:100px;overflow:hidden;padding:12px}.ocr-preview{color:#666;font-size:.85rem;line-height:1.5}.report-actions{margin-top:15px}.pagination{align-items:center;display:flex;gap:15px;justify-content:center;margin-top:30px;padding:20px 0}.page-info{color:#333;font-weight:600}.modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideUp .3s ease;background:#fff;border-radius:15px;max-height:90vh;max-width:900px;overflow-y:auto;width:100%}.modal-content-wide{max-width:1200px}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;padding:25px}.modal-header h2{color:#333;margin-bottom:5px}.modal-subtitle{color:#6b7280;font-size:.9rem;margin:0}.btn-close{background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.2rem;height:35px;transition:all .3s ease;width:35px}.btn-close:hover{background:#dc2626;transform:rotate(90deg)}.modal-body{padding:25px}.report-details{display:flex;flex-direction:column;gap:25px}.detail-section h3{color:#667eea;font-size:1.1rem;margin-bottom:12px}.detail-section p{color:#555;line-height:1.6;margin:8px 0}.ocr-text-full{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#374151;font-size:.9rem;line-height:1.6;max-height:300px;overflow-y:auto;padding:15px;white-space:pre-wrap}.extracted-data{background:#1f2937;border-radius:8px;color:#10b981;font-size:.85rem;line-height:1.5;overflow-x:auto;padding:15px}.report-image{border:1px solid #e5e7eb;border-radius:8px;max-height:500px;object-fit:contain;width:100%}.modal-footer{border-top:2px solid #f0f0f0;display:flex;gap:10px;justify-content:flex-end;padding:20px 25px}@media (max-width:768px){.header-content{align-items:flex-start;flex-direction:column}.header-right{flex-wrap:wrap;width:100%}.header-right .btn{flex:1 1}.dashboard-main{padding:15px}.card{padding:20px}.form-row,.reports-grid{grid-template-columns:1fr}.search-form{flex-direction:column}.search-input{width:100%}.modal-content{max-height:95vh}.modal-body,.modal-footer,.modal-header{padding:15px}.pagination{flex-direction:column;gap:10px}}@media (max-width:480px){.header-left h1{font-size:1.4rem}.dashboard-main{padding:10px}.card{padding:15px}.btn{font-size:.9rem;padding:10px 15px}.report-card{padding:15px}.modal-overlay{padding:0}.modal-content{border-radius:0;max-height:100vh}}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f1f1f1}.modal-content::-webkit-scrollbar-thumb{background:#667eea;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#764ba2}.modal-page-nav{border-bottom:2px solid #e5e7eb;display:flex;gap:10px;padding:0 25px 15px}.page-nav-btn{background:#fff;border:2px solid #e5e7eb;border-radius:10px;color:#6b7280;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:12px 20px;transition:all .3s ease}.page-nav-btn:hover{background:#f0f4ff;border-color:#667eea;color:#667eea}.page-nav-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 4px 12px #667eea4d;color:#fff}.speedometer-page{padding:20px}.speedometer-intro{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #3b82f6;border-radius:15px;margin-bottom:30px;padding:20px;text-align:center}.speedometer-intro h3{color:#1e40af;font-size:1.8rem;margin-bottom:10px}.speedometer-intro p{color:#3b82f6;font-size:1rem;line-height:1.6;margin:0}.speedometers-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:30px}.speedometer-footer{background:#fff7ed;border-left:4px solid #f97316;border-radius:15px;padding:20px}.footer-note{color:#9a3412;font-size:.95rem;line-height:1.6;margin:0}.footer-note strong{color:#c2410c}.no-metrics{align-items:center;display:flex;justify-content:center;min-height:400px;padding:40px}.no-metrics-content{max-width:500px;text-align:center}.no-metrics-content h3{color:#1f2937;font-size:1.6rem;margin-bottom:15px}.no-metrics-content p{color:#6b7280;font-size:1rem;line-height:1.6;margin-bottom:15px}.no-metrics-content .btn{margin-top:20px}.homa-iq-section{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #3b82f6;border-radius:15px;padding:25px}.homa-iq-display{align-items:center;display:flex;gap:30px;margin:20px 0}.homa-iq-score-large{align-items:center;animation:scoreAppear .6s ease;border-radius:50%;box-shadow:0 8px 20px #0003;color:#fff;display:flex;flex-direction:column;height:150px;justify-content:center;width:150px}@keyframes scoreAppear{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.score-value{font-size:3.5rem;line-height:1}.score-label{font-size:1.2rem;margin-top:5px;opacity:.9}.homa-iq-details{flex:1 1}.homa-iq-details h4{font-size:1.8rem;margin-bottom:10px}.homa-iq-details p{color:#555;font-size:1rem;line-height:1.6;margin-bottom:15px}.parameters-summary{display:flex;flex-wrap:wrap;gap:20px}.parameters-summary span{background:#fff;border-radius:20px;box-shadow:0 2px 5px #0000001a;color:#333;font-size:.9rem;font-weight:600;padding:8px 15px}.abnormal-count{background:#fee2e2!important;color:#991b1b!important}.abnormal-parameters{background:#fef2f2;border-left:4px solid #ef4444;border-radius:10px;margin-top:20px;padding:15px}.abnormal-parameters h4{color:#991b1b;margin-bottom:10px}.abnormal-list{display:flex;flex-direction:column;gap:8px}.abnormal-item{background:#fff;border-left:3px solid #ef4444;border-radius:8px;padding:10px 15px}.abnormal-item strong{color:#dc2626}.param-status{color:#ef4444;font-style:italic;margin-left:10px}.homa-ir-display{background:#fff;border:2px solid #e5e7eb;border-radius:10px;margin-top:20px;padding:15px}.homa-ir-display h4{color:#3b82f6;margin-bottom:10px}.abnormal-text{color:#ef4444;font-weight:600}.normal-text{color:#10b981;font-weight:600}.recommendations{background:#f0fdf4;border-left:4px solid #10b981;border-radius:10px;margin-top:20px;padding:15px}.recommendations h4{color:#065f46;margin-bottom:10px}.recommendations ul{list-style-type:disc;margin-left:20px}.recommendations li{color:#374151;line-height:1.6;margin:8px 0}.lab-values-table{display:flex;flex-direction:column;gap:10px;margin-top:15px}.lab-value-row{grid-gap:15px;align-items:center;background:#f9fafb;border-left:3px solid #10b981;border-radius:8px;display:grid;gap:15px;grid-template-columns:1.5fr 1fr 1.5fr 1fr;padding:12px 15px;transition:all .3s ease}.lab-value-row:hover{background:#f3f4f6;transform:translateX(5px)}.lab-value-row.abnormal-row{background:#fef2f2;border-left-color:#ef4444}.lab-param-name{color:#1f2937;font-size:.95rem;font-weight:600}.lab-param-value{color:#3b82f6;font-size:1.1rem;font-weight:700}.lab-param-status{font-size:.9rem;font-weight:600}.lab-param-score{color:#6b7280;font-size:.85rem;font-weight:600;text-align:right}@media (max-width:768px){.homa-iq-display{flex-direction:column;text-align:center}.homa-iq-score-large{height:120px;width:120px}.score-value{font-size:2.5rem}.homa-iq-details h4{font-size:1.4rem}.parameters-summary{justify-content:center}.lab-value-row{gap:10px;grid-template-columns:1fr 1fr}.lab-param-name,.lab-param-status{grid-column:1/-1}.homa-iq-badge{min-width:70px;padding:8px 12px}.homa-iq-score{font-size:1.5rem}.homa-iq-label{font-size:.6rem}.homa-iq-risk{font-size:.65rem}.modal-page-nav{flex-direction:column;padding:0 15px 15px}.page-nav-btn{font-size:.9rem;padding:10px 15px}.speedometer-intro,.speedometer-page{padding:15px}.speedometer-intro h3{font-size:1.4rem}.speedometer-intro p{font-size:.9rem}.speedometers-grid{gap:20px;grid-template-columns:1fr}.speedometer-footer{padding:15px}.footer-note{font-size:.85rem}.no-metrics{min-height:300px;padding:20px}.no-metrics-content h3{font-size:1.3rem}.no-metrics-content p{font-size:.9rem}}@media print{.batch-actions,.btn-close,.btn-print,.card:not(.modal-content),.contact-print,.dashboard-header,.dashboard-main>:not(.modal-overlay),.dashboard>:not(.modal-overlay),.detail-section,.homa-iq-section,.lab-values-table,.modal-body>:not(.speedometer-page),.modal-header,.modal-header button,.modal-overlay,.modal-page-nav,.page-nav-btn,.pagination,.recommendations,.report-actions,.reports-grid,.reports-list,.score-summary-print,.search-bar,.search-section,.speedometer-intro,.speedometer-page>:not(.speedometers-grid),.upload-section,header,nav{display:none!important}.speedometers-grid{grid-gap:30px!important;display:grid!important;gap:30px!important;grid-template-columns:repeat(2,1fr)!important;padding:40px!important;page-break-inside:avoid!important}.modal-content,.report-details,.speedometer-page{background:#fff!important;border:none!important;box-shadow:none!important;margin:0!important;max-width:100%!important;padding:0!important;position:relative!important;width:100%!important}.dashboard-main,.dashboard>:not(.modal-overlay),.reports-grid,.reports-section,body>:not(.modal-overlay):not(script):not(style){display:none!important}.modal-overlay{background:#fff!important;height:auto!important;position:static!important;width:100%!important}.modal-overlay,.patient-info-print,.print-footer,.print-header{display:block!important}.speedometer-gauge{page-break-inside:avoid!important}*,.speedometer-gauge,svg,svg circle,svg line,svg path,svg text{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body{font-size:12pt}h1{font-size:24pt}h2{font-size:20pt}h3{font-size:16pt}h4{font-size:14pt}body{background:#fff!important}@page{size:A4 portrait;margin:1cm}.print-header{border-bottom:2px solid #333;display:block!important;margin-bottom:20px;padding-bottom:10px}.print-footer{border-top:2px solid #333;display:block!important;font-size:10pt;margin-top:30px;padding-top:10px;text-align:center}}.print-footer,.print-header{display:none}@media print{.print-footer,.print-header{display:block}}.btn-print{align-items:center;background:#2196f3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.btn-print:hover{background:#1976d2;box-shadow:0 4px 12px #2196f34d;transform:translateY(-2px)}.btn-print:active{transform:translateY(0)}@media screen and (max-width:768px){.modal-content-wide{border-radius:0!important;height:100vh!important;margin:0!important;max-width:100vw!important;overflow-y:auto;width:100vw!important}.modal-header{background:#fff;border-bottom:1px solid #ddd;padding:15px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.homa-iq-display{align-items:center;flex-direction:column}.homa-iq-score-large{height:200px;margin-bottom:20px;width:200px}.detail-section{margin-bottom:15px;padding:15px}button{min-height:44px;min-width:44px}body,button{font-size:16px}body{line-height:1.6}.health-metric-card{margin-bottom:15px;width:100%!important}table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}}@media screen and (min-width:769px) and (max-width:1024px){.modal-content-wide{max-width:900px;width:90vw}.homa-iq-display{flex-direction:row;flex-wrap:wrap}}.clinical-report-header{border-bottom:3px solid #333;margin-bottom:30px;padding:20px;text-align:center}.clinical-report-header h1{color:#1976d2;font-size:28px;font-weight:700;margin:0}.clinical-report-header .subtitle{color:#666;font-size:16px;margin-top:5px}.clinical-report-header .doctor-info{color:#333;font-size:14px;margin-top:15px}.patient-info-print{grid-gap:15px;background:#f5f5f5;border-radius:8px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px;padding:15px}.patient-info-print .info-item{display:flex;flex-direction:column}.patient-info-print .info-label{color:#666;font-size:12px;font-weight:600;margin-bottom:4px;text-transform:uppercase}.patient-info-print .info-value{color:#333;font-size:16px;font-weight:500}.score-summary-print{background:#fff;border:3px solid #333;border-radius:10px;margin:20px 0;padding:20px;text-align:center}.score-summary-print .score-value{font-size:72px;font-weight:700;line-height:1;margin:10px 0}.score-summary-print .score-label{color:#666;font-size:18px;margin-bottom:10px}.score-summary-print .risk-level{border-radius:5px;display:inline-block;font-size:24px;font-weight:600;margin-top:10px;padding:10px 20px}.contact-print{background:#fff9c4;border:2px solid #fbc02d;border-radius:8px;margin-top:30px;padding:20px;text-align:center}.contact-print h3{color:#f57c00;margin-top:0}.contact-print p{font-size:14px;line-height:1.6;margin:10px 0}.qr-code-print{align-items:center;border:2px dashed #999;color:#999;display:flex;font-size:12px;height:120px;justify-content:center;margin:20px auto;width:120px}.lab-data-review{margin:0 auto;max-width:1400px;padding:20px}.review-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 6px #0000001a;color:#fff;margin-bottom:30px;padding:20px;text-align:center}.review-header h2{font-size:28px;margin:0 0 10px}.review-subtitle{font-size:16px;margin:0;opacity:.95}.batch-info{background:#fff3;border-radius:8px;font-size:14px;margin-top:15px;padding:10px 15px}.review-content{display:flex;gap:20px;min-height:600px}.ocr-text-panel{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex:0 0 400px;flex-direction:column;overflow:hidden}.panel-header{align-items:center;background:#fff;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;padding:15px 20px}.panel-header h3{color:#333;font-size:18px;margin:0}.toggle-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;padding:6px 12px;transition:all .2s}.toggle-btn:hover{background:#5a6268}.ocr-text-display{word-wrap:break-word;color:#333;flex:1 1;font-family:Courier New,monospace;font-size:13px;line-height:1.6;margin:0;overflow-y:auto;padding:20px;white-space:pre-wrap}.form-panel{background:#fff;border:2px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #0000001a;flex:1 1;overflow-y:auto;padding:25px}.form-panel.full-width{margin:0 auto;max-width:900px}.show-ocr-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;margin-bottom:20px;padding:10px 20px;transition:all .2s}.show-ocr-btn:hover{background:#5568d3;transform:translateY(-2px)}.form-section,.form-sections{margin-bottom:30px}.form-section{background:#f8f9fa;border-left:4px solid #667eea;border-radius:10px;padding:20px}.form-section h3{align-items:center;color:#333;display:flex;font-size:18px;gap:8px;margin:0 0 20px}.form-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-field{display:flex;flex-direction:column}.form-field label{color:#555;font-size:13px;font-weight:600;margin-bottom:6px}.form-field.required label:after{color:#dc3545;content:" *"}.form-field input,.form-field select{border:2px solid #ddd;border-radius:6px;font-size:14px;padding:10px 12px;transition:all .2s}.form-field input:focus,.form-field select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-field input:valid{border-color:#28a745}.review-actions{border-top:2px solid #e0e0e0;display:flex;gap:15px;justify-content:center;margin-top:20px;padding:20px 0}.btn{align-items:center;display:flex;font-size:16px;gap:8px;padding:14px 30px;transition:all .2s}.btn-cancel{background:#6c757d}.btn-cancel:hover{background:#5a6268;box-shadow:0 4px 12px #6c757d4d;transform:translateY(-2px)}.btn-confirm{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:18px;padding:14px 40px}.btn-confirm:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.required-note{color:#6c757d;font-size:13px;font-style:italic;margin-top:15px;text-align:center}@media (max-width:1024px){.review-content{flex-direction:column}.ocr-text-panel{flex:0 0 300px}.form-grid{grid-template-columns:1fr}}@media (max-width:768px){.lab-data-review{padding:10px}.review-header h2{font-size:22px}.ocr-text-panel{flex:0 0 250px}.form-panel{padding:15px}.review-actions{flex-direction:column}.btn{justify-content:center;width:100%}}.batch-upload{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:30px}.batch-upload-header{margin-bottom:30px;text-align:center}.batch-upload-header h2{color:#1f2937;font-size:1.8rem;margin-bottom:10px}.batch-upload-header p{color:#6b7280;font-size:1rem}.patient-info-section{background:#f9fafb;border-radius:10px;margin-bottom:30px;padding:20px}.patient-info-section h3{color:#374151;font-size:1.2rem;margin-bottom:20px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#374151;font-size:.95rem;font-weight:600}.form-group input{border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;padding:12px 15px;transition:all .3s ease}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input:disabled{background:#f3f4f6;cursor:not-allowed}.file-upload-section{margin-bottom:30px}.file-upload-section h3{color:#374151;font-size:1.2rem;margin-bottom:20px}.file-input-wrapper{margin-bottom:30px;text-align:center}.file-label{border-radius:10px;font-size:1.1rem;padding:15px 40px}.file-label:hover{box-shadow:0 8px 20px #667eea66}.file-hint{color:#6b7280;font-size:.9rem;margin-top:10px}.files-list{margin-top:30px}.files-list h4{color:#374151;font-size:1.1rem;margin-bottom:20px}.files-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.file-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;padding:15px;position:relative;transition:all .3s ease}.file-card:hover{border-color:#667eea;box-shadow:0 8px 16px #0000001a;transform:translateY(-4px)}.file-preview{align-items:center;background:#e5e7eb;border-radius:8px;display:flex;height:120px;justify-content:center;margin-bottom:12px;overflow:hidden;width:100%}.file-preview img{height:100%;object-fit:cover;width:100%}.pdf-icon{align-items:center;color:#6b7280;display:flex;flex-direction:column;font-size:.9rem;gap:8px}.pdf-icon span:first-child{font-size:3rem}.file-info{text-align:center}.file-name{color:#374151;font-size:.9rem;font-weight:600;margin-bottom:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:#6b7280;font-size:.85rem;margin-bottom:8px}.file-status{background:#dbeafe;border-radius:6px;color:#1e40af;font-size:.85rem;font-weight:600;margin-top:8px;padding:6px 12px}.remove-file-btn{align-items:center;background:#ef4444e6;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:.9rem;height:30px;justify-content:center;position:absolute;right:10px;top:10px;transition:all .2s ease;width:30px}.remove-file-btn:hover{background:#dc2626;transform:scale(1.1)}.action-buttons{justify-content:center;margin-top:30px}.btn{border-radius:10px;font-size:1.1rem;padding:14px 35px}.btn-analyze{background:#10b981;color:#fff;flex:2 1}.btn-analyze:hover:not(:disabled){background:#059669;box-shadow:0 8px 20px #10b98166;transform:translateY(-2px)}.btn-cancel{background:#6b7280;color:#fff;flex:1 1}.btn-cancel:hover:not(:disabled){background:#4b5563;transform:translateY(-2px)}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover{background:#5568d3;transform:translateY(-2px)}.btn-success{background:#10b981;color:#fff}.btn-success:hover{background:#059669;transform:translateY(-2px)}.aggregated-results{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:12px;margin-top:30px;padding:30px;text-align:center}.aggregated-results h3{color:#065f46;font-size:1.8rem;margin-bottom:30px}.results-summary{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:30px}.summary-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:25px 20px;transition:all .3s ease}.summary-card:hover{box-shadow:0 8px 20px #00000026;transform:translateY(-4px)}.summary-label{color:#6b7280;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.summary-value{color:#1f2937;font-size:2.5rem;font-weight:700}.results-actions{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.results-actions .btn{min-width:200px}@media (max-width:768px){.batch-upload{padding:20px 15px}.batch-upload-header h2{font-size:1.4rem}.files-grid{gap:15px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.file-preview{height:100px}.action-buttons{flex-direction:column}.btn{width:100%}.results-summary{grid-template-columns:1fr}.results-actions{flex-direction:column}.results-actions .btn{width:100%}}.pdf-health-scanner{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:30px 20px}.scanner-header{margin-bottom:40px;text-align:center}.scanner-header h2{color:#1f2937;font-size:2rem;margin-bottom:10px}.scanner-header p{color:#6b7280;font-size:1rem}.upload-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:30px}.file-input-wrapper{margin-bottom:20px}.file-input-wrapper input[type=file]{display:none}.file-label{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;max-width:400px;padding:15px 30px;text-align:center;transition:all .3s ease;width:100%}.file-label:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.file-info{align-items:center;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;color:#065f46;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:20px;padding:12px 16px}.action-buttons{display:flex;flex-wrap:wrap;gap:15px}.btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;min-width:150px;padding:12px 30px;transition:all .3s ease}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.btn-process{background:#10b981;color:#fff}.btn-process:hover:not(:disabled){background:#059669;box-shadow:0 4px 12px #10b98166;transform:translateY(-2px)}.btn-reset{background:#6b7280;color:#fff}.btn-reset:hover:not(:disabled){background:#4b5563;transform:translateY(-2px)}.alert{border-radius:8px;font-weight:500;margin-bottom:20px;padding:15px 20px}.alert-error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.health-score-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:30px}.score-card{border:3px solid;border-radius:12px;margin-bottom:20px;padding:30px;text-align:center}.score-header h3{color:#1f2937;font-size:1.5rem;margin-bottom:15px}.score-value{font-size:4rem;font-weight:700;margin:20px 0}.risk-level{border-radius:25px;color:#fff;display:inline-block;font-size:1.2rem;font-weight:600;margin:20px 0;padding:10px 30px}.score-stats{color:#6b7280;display:flex;font-size:1rem;gap:30px;justify-content:center;margin-top:20px}.risk-factors{background:#fef3c7;border:2px solid #fbbf24;border-radius:8px;margin-top:20px;padding:20px}.risk-factors h4{color:#92400e;font-size:1.1rem;margin-bottom:15px}.risk-factors ul{list-style:none;margin:0;padding:0}.risk-factors li{background:#fff;border-radius:6px;color:#78350f;font-weight:500;margin-bottom:8px;padding:10px 15px}.metrics-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:30px}.metrics-section h3{color:#1f2937;font-size:1.5rem;margin-bottom:25px;text-align:center}.metrics-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.metric-card{background:#f9fafb;border-left:4px solid;border-radius:8px;padding:20px;transition:all .3s ease}.metric-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-4px)}.metric-name{color:#6b7280;font-size:.85rem;font-weight:600;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.metric-value{font-size:2rem;font-weight:700;margin:10px 0}.metric-status{font-size:.9rem;font-weight:600;margin-top:8px}.extracted-text-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:20px}.extracted-text-section summary{border-radius:6px;color:#4b5563;cursor:pointer;font-weight:600;padding:10px;transition:background .2s ease}.extracted-text-section summary:hover{background:#f3f4f6}.extracted-text{word-wrap:break-word;background:#1f2937;border-radius:8px;color:#10b981;font-size:.85rem;line-height:1.6;margin-top:15px;max-height:400px;overflow-y:auto;padding:20px;white-space:pre-wrap}@media (max-width:768px){.pdf-health-scanner{padding:20px 15px}.scanner-header h2{font-size:1.5rem}.health-score-section,.metrics-section,.upload-section{padding:20px}.score-value{font-size:3rem}.metrics-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column}.btn{width:100%}.score-stats{flex-direction:column;gap:10px}}.pdf-scanner-page{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding-bottom:40px}.pdf-scanner-header{background:#fff;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:20px 30px}.header-content{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin:0 auto;max-width:1200px}.header-left h1{color:#1f2937;font-size:1.5rem;margin:0 0 5px}.page-title{color:#6b7280;font-size:.9rem;font-weight:500}.header-right{display:flex;flex-wrap:wrap;gap:15px}.btn-nav{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease}.btn-nav:hover{background:#2563eb;transform:translateY(-2px)}.btn-logout{background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease}.btn-logout:hover{background:#dc2626;transform:translateY(-2px)}.info-banner{background:#eff6ff;border:2px solid #3b82f6;border-radius:10px;color:#1e40af;font-size:.95rem;margin:0 auto 30px;max-width:1200px;padding:15px 25px;text-align:center}.info-banner strong{color:#1e3a8a}@media (max-width:768px){.pdf-scanner-header{padding:15px 20px}.header-content{align-items:stretch;flex-direction:column}.header-left h1{font-size:1.2rem}.header-right{justify-content:space-between}.btn-logout,.btn-nav{flex:1 1}.info-banner{font-size:.85rem;margin:0 15px 20px;padding:12px 15px}}.App{display:flex;flex-direction:column;min-height:100vh}@media (max-width:768px){body{font-size:14px}}
/*# sourceMappingURL=main.1983216b.css.map*/