body{-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-color:#0284c7;--primary-hover:#0369a1;--primary-light:#e0f2fe;--primary-focus:#0284c740;--secondary-color:#0f172a;--text-muted:#64748b;--text-body:#334155;--bg-app:#f8fafc;--card-bg:#fff;--border-color:#e2e8f0;--border-dashed:#cbd5e1;--success-bg:#ecfdf5;--success-border:#a7f3d0;--success-text:#065f46;--success-accent:#10b981;--error-bg:#fef2f2;--error-border:#fecaca;--error-text:#991b1b;--error-accent:#ef4444;--warning-bg:#fffbeb;--warning-border:#fde68a;--warning-text:#92400e;--warning-accent:#f59e0b;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000014,0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014,0 4px 6px -4px #0000000a}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background-color:#f8fafc;background-color:var(--bg-app);color:#334155;color:var(--text-body);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}.app-layout{display:flex;flex-direction:column;min-height:100vh}.disclaimer-banner{background-color:#fffbeb;background-color:var(--warning-bg);border-bottom:1px solid #fde68a;border-bottom:1px solid var(--warning-border);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);color:#92400e;color:var(--warning-text);font-size:.88rem;font-weight:500;padding:10px 20px;position:sticky;text-align:center;top:0;z-index:100}.disclaimer-content{align-items:center;display:inline-flex;gap:8px;margin:0 auto;max-width:1000px}.disclaimer-icon{font-size:1.1rem}.app-header{padding:40px 20px 20px;text-align:center}.header-inner{margin:0 auto;max-width:720px}.brand-badge{align-items:center;background-color:#e0f2fe;background-color:var(--primary-light);border-radius:9999px;border-radius:var(--radius-full);color:#0284c7;color:var(--primary-color);display:inline-flex;font-size:.82rem;font-weight:600;gap:8px;margin-bottom:14px;padding:4px 12px}.pulse-dot{animation:pulse-ring 2s infinite;background-color:#0284c7;background-color:var(--primary-color);border-radius:50%;box-shadow:0 0 0 0 #0284c7b3;height:8px;width:8px}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 #0284c7b3}70%{box-shadow:0 0 0 6px #0284c700}to{box-shadow:0 0 0 0 #0284c700}}.app-title{color:#0f172a;color:var(--secondary-color);font-size:2.2rem;font-weight:800;letter-spacing:-.02em;margin-bottom:12px}.app-subtitle{color:#64748b;color:var(--text-muted);font-size:1.05rem;line-height:1.6}.app-main{display:flex;flex:1 1;justify-content:center;padding:20px}.main-card{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #00000014,0 2px 4px -2px #0000000d;box-shadow:var(--shadow-md);max-width:760px;padding:32px;width:100%}.card-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.card-title{color:#0f172a;color:var(--secondary-color);font-size:1.35rem;font-weight:700}.card-subtitle{color:#64748b;color:var(--text-muted);font-size:.9rem;margin-top:4px}.pipeline-pill{align-items:center;background-color:#ecfdf5;background-color:var(--success-bg);border:1px solid #a7f3d0;border:1px solid var(--success-border);border-radius:9999px;border-radius:var(--radius-full);color:#065f46;color:var(--success-text);display:inline-flex;font-size:.75rem;font-weight:600;justify-content:center;line-height:1.2;padding:6px 14px;white-space:nowrap}.file-uploader-container{display:flex;flex-direction:column;gap:20px}.file-hidden-input{display:none}.dropzone-box{background:#fbfcfe;border:2px dashed #cbd5e1;border:2px dashed var(--border-dashed);border-radius:10px;border-radius:var(--radius-md);cursor:pointer;padding:36px 20px;position:relative;text-align:center;transition:all .25s ease-in-out}.dropzone-box:hover{background-color:#f0f9ff}.dropzone-box.dropzone-active,.dropzone-box:hover{border-color:#0284c7;border-color:var(--primary-color)}.dropzone-box.dropzone-active{background-color:#e0f2fe;border-style:solid;transform:scale(1.01)}.dropzone-box.dropzone-has-file{background-color:#fff;border-color:#e2e8f0;border-color:var(--border-color);border-style:solid;cursor:default;padding:24px 20px}.dropzone-idle-content{align-items:center;display:flex;flex-direction:column}.upload-icon-circle{align-items:center;background:#e0f2fe;background:var(--primary-light);border-radius:50%;color:#0284c7;color:var(--primary-color);display:flex;height:68px;justify-content:center;margin-bottom:16px;transition:transform .2s ease;width:68px}.dropzone-box:hover .upload-icon-circle{transform:translateY(-3px)}.dropzone-title{color:#0f172a;color:var(--secondary-color);font-size:1.15rem;font-weight:600;margin-bottom:6px}.dropzone-subtitle{color:#64748b;color:var(--text-muted);font-size:.92rem}.browse-link{color:#0284c7;color:var(--primary-color);cursor:pointer;font-weight:600;text-decoration:underline}.file-requirements-badge{align-items:center;background:#f1f5f9;border-radius:9999px;border-radius:var(--radius-full);color:#64748b;color:var(--text-muted);display:inline-flex;font-size:.78rem;gap:8px;margin-top:16px;padding:5px 12px}.file-selected-card{display:flex;flex-direction:column;gap:16px;text-align:left}.file-card-header{justify-content:space-between}.file-card-header,.file-meta-wrapper{align-items:center;display:flex;gap:16px}.file-meta-wrapper{overflow:hidden}.image-preview-wrapper{background:#000;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:6px;border-radius:var(--radius-sm);flex-shrink:0;height:60px;overflow:hidden;width:60px}.image-thumbnail{display:block;height:100%;object-fit:cover;width:100%}.pdf-icon-badge{align-items:center;background-color:#fee2e2;border-radius:6px;border-radius:var(--radius-sm);color:#dc2626;display:flex;flex-direction:column;flex-shrink:0;font-size:.65rem;font-weight:700;height:60px;justify-content:center;width:60px}.file-details,.file-name{overflow:hidden}.file-name{color:#0f172a;color:var(--secondary-color);font-size:.98rem;font-weight:600;max-width:440px;text-overflow:ellipsis;white-space:nowrap}.file-meta{align-items:center;color:#64748b;color:var(--text-muted);display:flex;font-size:.82rem;gap:8px;margin-top:4px}.file-type-pill{background:#f1f5f9;border-radius:6px;border-radius:var(--radius-sm);font-size:.72rem;font-weight:600;padding:2px 8px;text-transform:uppercase}.remove-file-btn{align-items:center;background:none;border:none;border-radius:50%;color:#94a3b8;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s}.remove-file-btn:hover{background-color:#fee2e2;color:#dc2626}.progress-section{display:flex;flex-direction:column;gap:8px;margin-top:8px}.progress-bar-track{background-color:#e2e8f0;height:7px;overflow:hidden;width:100%}.progress-bar-fill,.progress-bar-track{border-radius:9999px;border-radius:var(--radius-full)}.progress-bar-fill{background:linear-gradient(90deg,#0284c7,#38bdf8);background:linear-gradient(90deg,var(--primary-color),#38bdf8);height:100%;transition:width .3s ease}.progress-status-row{align-items:center;color:#0284c7;color:var(--primary-color);display:flex;font-size:.82rem;font-weight:500;gap:8px}.progress-spinner{animation:spin .8s linear infinite;border:2px solid #e0f2fe;border-top-color:#0284c7;border:2px solid var(--primary-light);border-radius:50%;border-top-color:var(--primary-color);display:inline-block;height:14px;width:14px}@keyframes spin{to{transform:rotate(1turn)}}.alert-box{border-radius:10px;border-radius:var(--radius-md);display:flex;flex-direction:column;font-size:.92rem;gap:12px;padding:16px}.alert-error{align-items:flex-start;background-color:#fef2f2;background-color:var(--error-bg);border:1px solid #fecaca;border:1px solid var(--error-border);color:#991b1b;color:var(--error-text);flex-direction:row;gap:12px}.alert-error .alert-icon{color:#ef4444;color:var(--error-accent);flex-shrink:0;margin-top:2px}.alert-success{background-color:#ecfdf5;background-color:var(--success-bg);border:1px solid #a7f3d0;border:1px solid var(--success-border);color:#065f46;color:var(--success-text)}.success-header-row{align-items:center;display:flex;gap:12px}.success-badge-icon{align-items:center;background-color:#10b981;background-color:var(--success-accent);border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.success-title{color:#064e3b;font-size:1.05rem;font-weight:700}.success-message{color:#065f46;color:var(--success-text);font-size:.86rem}.success-meta-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:4px}.meta-card{background:#ffffffb3;border:1px solid #a7f3d0;border:1px solid var(--success-border);border-radius:6px;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:2px;padding:10px 14px}.meta-label{color:#047857;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.meta-value{color:#064e3b;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.82rem;word-break:break-all}.report-id-tag{font-weight:700}.success-action-row{margin-top:6px}.upload-action-row{display:flex;justify-content:flex-end}.btn{align-items:center;border:none;border-radius:10px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;text-decoration:none;transition:all .2s ease-in-out}.btn-primary{background-color:#0284c7;background-color:var(--primary-color);box-shadow:0 2px 4px #0284c740;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0369a1;background-color:var(--primary-hover);box-shadow:0 4px 8px #0284c759;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{background-color:#94a3b8;box-shadow:none;cursor:not-allowed}.btn-secondary{background-color:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);color:#334155;color:var(--text-body)}.btn-secondary:hover{background-color:#f8fafc;border-color:#cbd5e1}.btn-sm{border-radius:6px;border-radius:var(--radius-sm);font-size:.82rem;padding:6px 14px}.btn-spinner{animation:spin .8s linear infinite;border:2px solid #fff6;border-top-color:#fff;height:16px;width:16px}.active-report-session{align-items:center;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;border-radius:var(--radius-sm);color:#166534;display:flex;font-size:.84rem;font-weight:500;gap:8px;margin-top:14px;padding:8px 14px}.session-indicator{color:#16a34a;font-weight:600}.session-id{font-family:monospace}.workflow-steps{grid-gap:16px;border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:36px;padding-top:24px}.step-card{background-color:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--radius-md);padding:16px;transition:transform .2s ease}.step-card-active{background-color:#f0f9ff;border-color:#bae6fd}.step-number{align-items:center;background:#e2e8f0;border-radius:50%;color:#64748b;color:var(--text-muted);display:flex;font-size:.85rem;font-weight:700;height:28px;justify-content:center;margin-bottom:12px;width:28px}.step-card-active .step-number{background:#0284c7;background:var(--primary-color);color:#fff}.step-title{color:#0f172a;color:var(--secondary-color);font-size:.92rem;font-weight:700;margin-bottom:4px}.step-desc{font-size:.8rem;line-height:1.4}.app-footer,.step-desc{color:#64748b;color:var(--text-muted)}.app-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);font-size:.85rem;margin-top:auto;padding:30px 20px;text-align:center}.footer-subtext{color:#94a3b8;font-size:.78rem;margin-top:4px}.session-status-badge{background:#dcfce7;border-radius:9999px;border-radius:var(--radius-full);color:#15803d;font-size:.74rem;font-weight:700;margin-left:auto;padding:2px 8px;text-transform:uppercase}.report-result-card{animation:fadeIn .3s ease-in-out;display:flex;flex-direction:column;gap:20px}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.result-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.result-title-group{display:flex;flex-direction:column;gap:6px}.status-badges-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.badge{align-items:center;border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;font-size:.78rem;font-weight:700;gap:6px;letter-spacing:.02em;padding:4px 10px}.badge-success{background-color:#ecfdf5;background-color:var(--success-bg);border:1px solid #a7f3d0;border:1px solid var(--success-border);color:#065f46;color:var(--success-text)}.badge-warning{background-color:#fffbeb;background-color:var(--warning-bg);border:1px solid #fde68a;border:1px solid var(--warning-border);color:#92400e;color:var(--warning-text)}.badge-neutral{background-color:#f1f5f9;border:1px solid #cbd5e1;color:#475569}.result-heading{color:#0f172a;color:var(--secondary-color);font-size:1.25rem;font-weight:700}.result-subheading{color:#64748b;color:var(--text-muted);font-size:.88rem}.result-actions{align-items:center;display:flex;gap:10px}.btn-copied{background-color:#ecfdf5!important;background-color:var(--success-bg)!important;border-color:#a7f3d0!important;border-color:var(--success-border)!important;color:#065f46!important;color:var(--success-text)!important}.result-meta-grid{grid-gap:12px;background-color:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--radius-md);display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));padding:14px 16px}.meta-item{display:flex;flex-direction:column;gap:2px;overflow:hidden}.meta-item-label{color:#64748b;color:var(--text-muted);font-size:.72rem;font-weight:600;text-transform:uppercase}.meta-item-value{color:#0f172a;color:var(--secondary-color);font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-font{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.extracted-text-container{background-color:#0f172a;border:1px solid #1e293b;border-radius:10px;border-radius:var(--radius-md);box-shadow:inset 0 2px 4px #0003;max-height:420px;overflow-y:auto;padding:18px 20px}.extracted-text-body{color:#f1f5f9;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.88rem;line-height:1.6;margin:0;white-space:pre-wrap;word-break:break-word}.extracted-text-empty{align-items:center;color:#94a3b8;display:flex;flex-direction:column;padding:30px 10px;text-align:center}.extracted-text-empty .empty-title{color:#e2e8f0;font-size:.95rem;font-weight:600;margin-top:10px}.extracted-text-empty .empty-desc{color:#94a3b8;font-size:.82rem;margin-top:4px;max-width:400px}.pipeline-next-step{align-items:flex-start;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;border-radius:var(--radius-md);color:#166534;display:flex;font-size:.88rem;gap:12px;padding:14px 16px}.next-step-icon{flex-shrink:0;font-size:1.2rem}.next-step-text{line-height:1.5}.step-card-completed{background-color:#f0fdf4;border-color:#bbf7d0}.step-card-completed .step-number{background-color:#10b981;background-color:var(--success-accent);color:#fff}.highlight-patient{color:#0284c7;color:var(--primary-color);font-weight:700}.attention-badge{background-color:#fef2f2!important;border-color:#fca5a5!important;color:#b91c1c!important}.ai-explanation-card{background:linear-gradient(180deg,#f0f9ff,#fff);border:1px solid #bae6fd;border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 4px 12px #0284c70f;display:flex;flex-direction:column;gap:16px;padding:24px}.explanation-header-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.explanation-title-group{display:flex;flex-direction:column;gap:4px}.explanation-tag{align-items:center;color:#0284c7;color:var(--primary-color);display:inline-flex;font-size:.76rem;font-weight:700;gap:6px;letter-spacing:.05em;text-transform:uppercase}.sparkle-icon{font-size:.95rem}.explanation-title{color:#0f172a;color:var(--secondary-color);font-size:1.15rem;font-weight:700}.language-toggle-group{background-color:#e2e8f0;gap:4px;padding:4px}.lang-btn,.language-toggle-group{border-radius:9999px;border-radius:var(--radius-full);display:inline-flex}.lang-btn{align-items:center;background:#0000;border:none;color:#475569;cursor:pointer;font-size:.85rem;font-weight:600;gap:6px;padding:6px 14px;transition:all .2s ease-in-out}.lang-btn:hover{color:#0f172a;color:var(--secondary-color)}.lang-btn-active{background-color:#fff;box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);color:#0284c7;color:var(--primary-color)}.flag-icon{font-size:1rem}.explanation-content-box{background-color:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:16px;justify-content:space-between;min-height:120px;padding:20px}.english-view{color:#334155;color:var(--text-body);font-size:.96rem;line-height:1.7}.urdu-view{color:#0f172a;font-family:Jameel Noori Nastaleeq,Noto Nastaliq Urdu,Urdu Typesetting,Tahoma,-apple-system,sans-serif;font-size:1.12rem;line-height:2.1}.placeholder-text{color:#64748b;color:var(--text-muted);font-style:italic}.explanation-actions-bar{border-top:1px solid #f1f5f9;display:flex;justify-content:flex-end;padding-top:12px}.safety-disclaimer-banner{align-items:flex-start;background-color:#fffbeb;border:1px solid #fde68a;border-radius:10px;border-radius:var(--radius-md);color:#92400e;display:flex;font-size:.85rem;gap:10px;line-height:1.5;padding:12px 16px}.safety-disclaimer-icon{flex-shrink:0;font-size:1.1rem;margin-top:1px}.structured-tests-section{display:flex;flex-direction:column;gap:16px;margin-top:8px}.section-header-row{align-items:flex-end;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);display:flex;gap:16px;justify-content:space-between;padding-bottom:12px}.section-title{color:#0f172a;color:var(--secondary-color);font-size:1.18rem;font-weight:700}.section-desc{color:#64748b;color:var(--text-muted);font-size:.86rem;margin-top:2px}.tests-count-pill{background-color:#f1f5f9;border-radius:9999px;border-radius:var(--radius-full);color:#334155;font-size:.78rem;font-weight:700;padding:4px 10px}.table-wrapper{background-color:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--radius-md);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);overflow-x:auto}.medical-tests-table{border-collapse:collapse;font-size:.9rem;text-align:left;width:100%}.medical-tests-table th{background-color:#f8fafc;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);color:#475569;font-size:.8rem;font-weight:600;letter-spacing:.04em;padding:12px 16px;text-transform:uppercase}.medical-tests-table td{border-bottom:1px solid #f1f5f9;color:#334155;color:var(--text-body);padding:12px 16px}.medical-tests-table tbody tr:last-child td{border-bottom:none}.test-row:hover{background-color:#f8fafc}.row-high{background-color:#fef2f273}.row-low{background-color:#fffbeb73}.test-name-cell{color:#0f172a;color:var(--secondary-color);font-weight:600}.test-value-cell .value-tag{color:#0f172a;color:var(--secondary-color);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-weight:700}.test-range-cell,.test-unit-cell{color:#64748b;font-size:.85rem}.test-status-badge{align-items:center;border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;font-size:.74rem;font-weight:700;gap:4px;letter-spacing:.03em;padding:3px 8px}.test-status-high{background-color:#fef2f2;border:1px solid #fca5a5;color:#b91c1c}.test-status-low{background-color:#fffbeb;border:1px solid #fcd34d;color:#b45309}.test-status-normal{background-color:#f0fdf4;border:1px solid #86efac;color:#15803d}.test-status-unknown{background-color:#f1f5f9;border:1px solid #cbd5e1;color:#64748b}.status-arrow,.status-check{font-size:.75rem}.no-tests-card{background-color:#f8fafc;border:1px dashed #cbd5e1;border:1px dashed var(--border-dashed);border-radius:10px;border-radius:var(--radius-md);color:#64748b;color:var(--text-muted);padding:30px;text-align:center}.no-tests-sub{font-size:.82rem;margin-top:4px}.raw-text-collapsible-card{background-color:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--radius-md);margin-top:8px;overflow:hidden}.collapsible-toggle-btn{align-items:center;background:#f8fafc;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:14px 18px;text-align:left;transition:background .2s ease;width:100%}.collapsible-toggle-btn:hover{background:#f1f5f9}.toggle-label-group{align-items:center;display:flex;gap:10px}.toggle-arrow{color:#64748b;transition:transform .25s ease}.toggle-arrow-open{transform:rotate(90deg)}.toggle-title{color:#0f172a;color:var(--secondary-color);font-size:.92rem;font-weight:600}.toggle-metrics{color:#64748b;color:var(--text-muted);font-size:.78rem}@media (max-width:640px){.app-header{padding:24px 16px 16px}.app-title{font-size:1.7rem}.main-card{padding:20px 16px}.card-header{flex-direction:column;gap:12px}.file-name{max-width:220px}.workflow-steps{grid-template-columns:1fr}.upload-action-row{justify-content:stretch}.upload-action-row .btn{width:100%}}.app-navbar{background-color:#fff;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);box-shadow:0 1px 3px #0000000d;position:sticky;top:0;z-index:100}.navbar-container{align-items:center;display:flex;gap:16px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:12px 24px}.navbar-brand{cursor:pointer;gap:10px;-webkit-user-select:none;user-select:none}.brand-logo-icon,.navbar-brand{align-items:center;display:flex}.brand-logo-icon{background:linear-gradient(135deg,#0284c7,#0369a1);background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border-radius:10px;border-radius:var(--radius-md);box-shadow:0 2px 6px #0d94884d;color:#fff;height:38px;justify-content:center;width:38px}.brand-name{color:#0f172a;color:var(--secondary-color);font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.brand-version-badge{background-color:#f1f5f9;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:9999px;border-radius:var(--radius-full);color:#64748b;color:var(--text-muted);font-size:.65rem;font-weight:700;padding:2px 6px}.navbar-nav-links{align-items:center;display:flex;gap:8px}.nav-link-btn{align-items:center;background:#0000;border:none;border-radius:10px;border-radius:var(--radius-md);color:#64748b;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:.92rem;font-weight:600;gap:8px;padding:8px 16px;transition:all .2s ease}.nav-link-btn:hover{background-color:#f1f5f9;color:#0f172a;color:var(--secondary-color)}.nav-link-btn.nav-link-active{background-color:#f0fdfa;box-shadow:inset 0 0 0 1px #99f6e4;color:#0284c7;color:var(--primary-color)}.navbar-auth-actions{align-items:center;display:flex;gap:12px}.auth-button-group{align-items:center;display:flex;gap:8px}.user-profile-badge{align-items:center;background-color:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:9999px;border-radius:var(--radius-full);display:flex;gap:10px;padding:4px 12px 4px 6px}.user-avatar-circle{align-items:center;background:linear-gradient(135deg,#0284c7,#0f766e);background:linear-gradient(135deg,var(--primary-color),#0f766e);border-radius:50%;color:#fff;display:flex;font-size:.8rem;font-weight:700;height:28px;justify-content:center;width:28px}.user-display-name{color:#0f172a;color:var(--secondary-color);font-size:.88rem;font-weight:600;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-logout{align-items:center;background:#0000;border:none;border-radius:6px;border-radius:var(--radius-sm);color:var(--danger-accent);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:600;gap:4px;padding:4px 8px;transition:background-color .2s ease}.btn-logout:hover{background-color:#fee2e2}.modal-backdrop{align-items:center;animation:modalFadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0f172aa6;bottom:0;display:flex;justify-content:center;left:0;padding:16px;position:fixed;right:0;top:0;z-index:1000}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-container{animation:modalSlideUp .25s cubic-bezier(.16,1,.3,1);background-color:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 20px 25px -5px #0003,0 10px 10px -5px #0000001a;max-width:440px;overflow:hidden;width:100%}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px 24px 16px}.modal-title{color:#0f172a;color:var(--secondary-color);font-size:1.25rem;font-weight:700;margin:0}.modal-subtitle{font-size:.85rem;margin-top:4px}.modal-close-btn,.modal-subtitle{color:#64748b;color:var(--text-muted)}.modal-close-btn{background:#0000;border:none;border-radius:6px;border-radius:var(--radius-sm);cursor:pointer;font-size:1.5rem;line-height:1;padding:4px 8px;transition:all .15s ease}.modal-close-btn:hover{background-color:#f1f5f9;color:#0f172a;color:var(--secondary-color)}.modal-tabs{background-color:#f8fafc;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);display:grid;grid-template-columns:1fr 1fr}.modal-tab-btn{background:#0000;border:none;border-bottom:2px solid #0000;color:#64748b;color:var(--text-muted);cursor:pointer;font-size:.92rem;font-weight:600;padding:12px 16px;transition:all .2s ease}.modal-tab-btn:hover{background-color:#f1f5f9;color:#0f172a;color:var(--secondary-color)}.modal-tab-btn.modal-tab-active{background-color:#fff;border-bottom:2px solid #0284c7;border-bottom:2px solid var(--primary-color);color:#0284c7;color:var(--primary-color)}.modal-body{padding:24px}.modal-alert,.modal-intro{margin-bottom:16px}.auth-form{gap:16px}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:6px}.form-label{color:#0f172a;color:var(--secondary-color);font-size:.84rem;font-weight:600}.form-input{background-color:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--radius-md);font-family:inherit;font-size:.92rem;padding:10px 14px;transition:border-color .2s,box-shadow .2s;width:100%}.form-input:focus{border-color:#0284c7;border-color:var(--primary-color);box-shadow:0 0 0 3px #0d948826;outline:none}.btn-block{font-size:.95rem;justify-content:center;padding:11px 16px;width:100%}.modal-footer-switch{color:#64748b;color:var(--text-muted);font-size:.85rem;margin-top:18px;text-align:center}.text-link-btn{background:none;border:none;color:#0284c7;color:var(--primary-color);cursor:pointer;font-size:inherit;font-weight:600;margin-left:6px;padding:0;text-decoration:underline}.text-link-btn:hover{color:#0369a1;color:var(--primary-hover)}.history-card-wrapper{background-color:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000000d;padding:28px}.history-header-row{align-items:flex-start;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);display:flex;gap:16px;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.history-main-title{color:#0f172a;color:var(--secondary-color);font-size:1.4rem;font-weight:700;margin-bottom:4px}.history-subtitle{color:#64748b;color:var(--text-muted);font-size:.9rem}.auth-prompt-card,.history-empty-card,.history-loading-box{border-radius:10px;border-radius:var(--radius-md);padding:48px 24px;text-align:center}.auth-prompt-card{background-color:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--border-color);margin:20px auto;max-width:500px}.auth-prompt-icon,.empty-icon{font-size:3rem;margin-bottom:16px}.auth-prompt-title,.empty-title{color:#0f172a;color:var(--secondary-color);font-size:1.25rem;font-weight:700;margin-bottom:8px}.auth-prompt-desc,.empty-desc{color:#64748b;color:var(--text-muted);font-size:.9rem;line-height:1.5;margin-bottom:20px}.auth-prompt-actions{display:flex;gap:12px;justify-content:center}.history-table-container{border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--radius-md);overflow-x:auto}.history-table{border-collapse:collapse;font-size:.88rem;text-align:left;width:100%}.history-table th{background-color:#f8fafc;color:#64748b;color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:12px 16px;text-transform:uppercase}.history-table td,.history-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color)}.history-table td{color:#0f172a;color:var(--secondary-color);padding:14px 16px}.history-row{cursor:pointer;transition:background-color .15s ease}.history-row:hover{background-color:#f8fafc}.history-date-cell{color:#64748b;color:var(--text-muted);font-size:.8rem;white-space:nowrap}.file-name-text{color:#0f172a;color:var(--secondary-color);font-weight:600}.history-patient-cell{font-weight:500}.history-action-cell{white-space:nowrap}.history-action-cell.text-right{text-align:right}.btn-delete-report{background:#0000;border:none;border-radius:6px;border-radius:var(--radius-sm);cursor:pointer;font-size:1.1rem;padding:6px;transition:background-color .15s ease}.btn-delete-report:hover{background-color:#fee2e2}.history-detail-container{display:flex;flex-direction:column;gap:20px}.history-detail-nav{align-items:center;background-color:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:12px 16px}.history-viewing-tag{background-color:#f0fdfa;border:1px solid #ccfbf1;border-radius:9999px;border-radius:var(--radius-full);color:#0284c7;color:var(--primary-color);font-size:.8rem;font-weight:600;padding:4px 10px}@media (max-width:768px){.navbar-container{align-items:stretch;flex-direction:column;gap:12px}.navbar-brand{justify-content:space-between}.navbar-auth-actions,.navbar-nav-links{justify-content:center;width:100%}.auth-prompt-actions{flex-direction:column}}.nav-link-admin{position:relative}.nav-link-admin.nav-link-active,.nav-link-admin:hover{background-color:#f5f3ff!important;color:#7c3aed!important}.navbar-admin-tag{background:linear-gradient(135deg,#7c3aed,#6366f1);border-radius:999px;color:#fff;display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.5px;margin-left:6px;padding:1px 6px;text-transform:uppercase;vertical-align:middle}.user-avatar-admin{background:linear-gradient(135deg,#7c3aed,#4f46e5)!important;box-shadow:0 0 0 2px #ddd6fe;color:#fff!important}.user-info-text-group{align-items:center;display:flex;gap:4px}.admin-dashboard-container{display:flex;flex-direction:column;gap:24px;margin:0 auto;max-width:1100px;padding:30px 20px 60px}.admin-header-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;padding:24px 28px}.admin-header-card,.admin-header-title-group{align-items:center;display:flex;gap:16px}.admin-badge-icon{align-items:center;background:#f5f3ff;border-radius:10px;border-radius:var(--radius-md);box-shadow:0 2px 4px #7c3aed1f;color:#7c3aed;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.admin-title{color:#0f172a;font-size:1.45rem;font-weight:700;margin:0 0 4px}.admin-subtitle{color:#64748b;color:var(--text-muted);font-size:.92rem;margin:0}.admin-metrics-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.admin-metric-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--radius-md);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);display:flex;gap:16px;padding:18px 22px;transition:transform .15s ease,box-shadow .15s ease}.admin-metric-card:hover{box-shadow:0 4px 6px -1px #00000014,0 2px 4px -2px #0000000d;box-shadow:var(--shadow-md);transform:translateY(-2px)}.metric-icon-box{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.metric-total{background:#e0f2fe;color:#0284c7}.metric-admin{background:#f5f3ff;color:#7c3aed}.metric-user{background:#f1f5f9;color:#475569}.metric-data{display:flex;flex-direction:column}.metric-label{color:#64748b;color:var(--text-muted);font-size:.8rem;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.metric-value{color:#0f172a;font-size:1.55rem;font-weight:800;line-height:1.2}.admin-alert{align-items:center;animation:fadeIn .25s ease-out;border-radius:10px;border-radius:var(--radius-md);display:flex;font-size:.92rem;font-weight:500;gap:12px;padding:12px 18px}.admin-alert-success{background:#ecfdf5;background:var(--success-bg);border:1px solid #a7f3d0;border:1px solid var(--success-border);color:#065f46;color:var(--success-text)}.admin-alert-error{background:#fef2f2;background:var(--error-bg);border:1px solid #fecaca;border:1px solid var(--error-border);color:#991b1b;color:var(--error-text)}.admin-table-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);overflow:hidden}.admin-table-toolbar{align-items:center;background:#fafafa;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:18px 24px}.admin-search-box{align-items:center;display:flex;flex:1 1;max-width:400px;min-width:280px;position:relative}.admin-search-icon{color:#64748b;color:var(--text-muted);left:12px;pointer-events:none;position:absolute}.admin-search-input{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--radius-md);color:#334155;color:var(--text-body);font-size:.9rem;padding:9px 34px 9px 36px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.admin-search-input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed26;outline:none}.admin-search-clear{background:none;border:none;color:#64748b;color:var(--text-muted);cursor:pointer;font-size:1.2rem;padding:0 4px;position:absolute;right:10px}.admin-search-clear:hover{color:#0f172a}.admin-user-count{color:#64748b;color:var(--text-muted);font-size:.88rem}.admin-table-wrapper{overflow-x:auto}.admin-users-table{border-collapse:collapse;text-align:left;width:100%}.admin-users-table th{background:#f8fafc;color:#475569;font-size:.8rem;font-weight:700;letter-spacing:.5px;padding:14px 24px;text-transform:uppercase}.admin-users-table td,.admin-users-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color)}.admin-users-table td{font-size:.92rem;padding:16px 24px;vertical-align:middle}.admin-users-table tbody tr:hover{background:#fcfcfd}.current-user-row{background:#faf5ff!important}.user-table-profile{align-items:center;display:flex;gap:12px}.user-avatar-pill{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:.95rem;font-weight:700;height:36px;justify-content:center;width:36px}.avatar-admin{background:#ede9fe;color:#6d28d9}.avatar-user{background:#e2e8f0;color:#334155}.user-name-box{align-items:center;display:flex;gap:8px}.user-name-text{color:#0f172a;font-weight:600}.you-badge{background:#ddd6fe;border-radius:4px;color:#5b21b6;font-size:.7rem;font-weight:700;padding:2px 6px;text-transform:uppercase}.user-email-cell{color:#475569;font-family:inherit}.user-date-cell{color:#64748b;color:var(--text-muted);font-size:.88rem}.role-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.8rem;font-weight:600;gap:4px;padding:4px 10px;text-transform:capitalize}.role-badge-admin{background:#fdf2f8;border:1px solid #fbcfe8;color:#be185d}.role-badge-user{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.role-action-controls{align-items:center;display:flex;gap:10px;justify-content:flex-end}.role-select-dropdown{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:6px;border-radius:var(--radius-sm);color:#334155;cursor:pointer;font-size:.85rem;font-weight:500;outline:none;padding:6px 10px;transition:border-color .15s ease}.role-select-dropdown:focus{border-color:#7c3aed}.btn-role-toggle{border:none;border-radius:6px;border-radius:var(--radius-sm);cursor:pointer;font-size:.82rem;font-weight:600;min-width:90px;padding:6px 14px;text-align:center;transition:background-color .15s ease,opacity .15s ease}.btn-promote{background-color:#7c3aed;color:#fff}.btn-promote:hover:not(:disabled){background-color:#6d28d9}.btn-demote{background-color:#f1f5f9;border:1px solid #e2e8f0;border:1px solid var(--border-color);color:#64748b}.btn-demote:hover:not(:disabled){background-color:#fee2e2;border-color:#fca5a5;color:#b91c1c}.btn-role-toggle:disabled{cursor:not-allowed;opacity:.6}.btn-spinner{animation:spin .75s linear infinite;border:2px solid;border-radius:50%;border-right:2px solid #0000;display:inline-block;height:12px;width:12px}.admin-access-denied-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #00000014,0 2px 4px -2px #0000000d;box-shadow:var(--shadow-md);margin:60px auto;max-width:520px;padding:40px 32px;text-align:center}.access-denied-icon{font-size:3rem;margin-bottom:16px}.admin-access-denied-card h2{color:#0f172a;font-size:1.4rem;margin-bottom:8px}.admin-access-denied-card p{color:#64748b;color:var(--text-muted);font-size:.95rem;margin-bottom:24px}.admin-empty-state,.admin-loading-state{color:#64748b;color:var(--text-muted);padding:60px 20px;text-align:center}.empty-icon{font-size:2.8rem;margin-bottom:12px}.admin-empty-state h3{color:#1e293b;font-size:1.2rem;margin-bottom:6px}@media (max-width:768px){.admin-header-card{align-items:flex-start;flex-direction:column}.admin-table-toolbar{align-items:stretch;flex-direction:column}.admin-search-box{max-width:100%}.role-action-controls{align-items:stretch;flex-direction:column;gap:6px}}.navbar-role-pill{border-radius:999px;display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.5px;line-height:1.4;margin-left:6px;padding:1px 7px;text-transform:uppercase;vertical-align:middle}.navbar-role-admin{background:linear-gradient(135deg,#7c3aed,#6366f1);box-shadow:0 1px 3px #7c3aed40;color:#fff}.navbar-role-user{background:#f1f5f9;border:1px solid #cbd5e1;color:#64748b}.history-uploader-cell{color:#334155;font-size:.88rem;white-space:nowrap}.uploader-info-wrap{display:flex;flex-direction:column;gap:2px}.uploader-name{color:#0f172a;font-weight:600}.uploader-email{color:#64748b;font-size:.8rem}.uploader-guest{color:#94a3b8;font-size:.82rem;font-style:italic}.auth-role-switcher-container{display:flex;justify-content:center;margin-bottom:16px}.auth-role-switcher{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;border-radius:var(--radius-md);display:inline-flex;padding:3px}.role-switch-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:600;padding:6px 14px;transition:all .15s ease}.role-switch-btn:hover{color:#0f172a}.role-switch-btn.role-switch-active{background:#fff;box-shadow:0 1px 3px #00000014;color:#0284c7}.role-switch-btn.role-switch-admin.role-switch-active{background:#fff;box-shadow:0 1px 3px #7c3aed26;color:#7c3aed}.admin-login-hint-banner{align-items:center;background:#faf5ff;border:1px solid #e9d5ff;border-radius:10px;border-radius:var(--radius-md);color:#6b21a8;display:flex;font-size:.85rem;font-weight:500;gap:8px;margin-bottom:18px;padding:10px 14px}.hint-shield-icon{font-size:1.1rem}.app-toast-notification{animation:slideUpFade .25s ease-out;bottom:24px;position:fixed;right:24px;z-index:1000}.toast-content{align-items:center;background:#1e293b;border-radius:10px;border-radius:var(--radius-md);box-shadow:0 10px 25px -5px #00000040;color:#f8fafc;display:flex;font-size:.9rem;font-weight:500;gap:12px;padding:12px 18px}.toast-icon{font-size:1.1rem}.toast-close-btn{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:1.2rem;line-height:1;padding:0 2px}.toast-close-btn:hover{color:#fff}@keyframes slideUpFade{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
/*# sourceMappingURL=main.563cb0a4.css.map*/