@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";.main-scroll-area{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;flex:1;display:block;position:relative;overflow-y:auto}body.device-mobile .main-content{overflow-y:auto!important}body.device-mobile .main-scroll-area{overflow-y:visible!important}body.device-mobile .page-container{border-radius:0;min-height:100%;padding:12px 0 90px}body.device-mobile .page-header{flex-direction:column;align-items:flex-start;gap:12px;padding:0 16px}body.device-mobile .page-header .btn{justify-content:center;width:100%}.bottom-nav{background:var(--bg-card);border-top:1px solid var(--border-color);z-index:1000;height:65px;padding-bottom:env(safe-area-inset-bottom,0px);justify-content:space-around;align-items:center;display:none;position:fixed;bottom:0;left:0;right:0}body.device-mobile .bottom-nav{display:flex}.bottom-nav-item{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;height:100%;font-size:.7rem;font-weight:600;text-decoration:none;transition:color .2s;display:flex}.bottom-nav-item.active{color:var(--primary)}.bottom-nav-icon{margin-bottom:4px;transition:transform .2s}.bottom-nav-item.active .bottom-nav-icon{transform:translateY(-2px)}.mobile-menu-overlay{z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.mobile-menu-drawer{background:var(--bg-card);padding:20px;padding-bottom:max(20px, env(safe-area-inset-bottom,20px));border-top-left-radius:20px;border-top-right-radius:20px;flex-direction:column;max-height:80vh;display:flex}@keyframes slideUpDrawer{0%{transform:translateY(100%)}to{transform:translateY(0)}}.animate-slide-up{animation:.3s cubic-bezier(.16,1,.3,1) forwards slideUpDrawer}.mobile-menu-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;display:flex}.mobile-menu-content{flex-direction:column;gap:8px;display:flex;overflow-y:auto}.mobile-menu-link{color:var(--text-main);background:var(--bg-subtle);border-radius:12px;align-items:center;gap:12px;padding:14px 16px;font-weight:600;text-decoration:none;transition:background .2s;display:flex}.mobile-menu-link:active{background:var(--bg-hover)}body.os-ios .bottom-nav{-webkit-backdrop-filter:blur(20px);background:#ffffffbf;border-top:.5px solid #0000001a}body.os-ios[data-theme=dark] .bottom-nav{background:#151c2cbf;border-top:.5px solid #ffffff1a}body.os-ios .btn,body.os-ios .form-input,body.os-ios .form-select,body.os-ios .card,body.os-ios .mobile-card{border-radius:14px}body.os-ios .page-title{letter-spacing:-.5px;font-weight:800}body.os-ios .form-input,body.os-ios .form-select{background:var(--bg-card);border:1px solid var(--border-color);padding:14px 16px;box-shadow:0 1px 2px #00000005}body.os-android .btn{text-transform:uppercase;letter-spacing:.5px;border-radius:8px;font-weight:700;transition:background-color .2s,box-shadow .2s;box-shadow:0 2px 4px #0000001a}body.os-android .btn:active{box-shadow:0 4px 8px #00000026}body.os-android .card,body.os-android .mobile-card{border:none;border-radius:12px;box-shadow:0 2px 8px #00000014}body.os-android .bottom-nav{box-shadow:0 -2px 10px #0000000d}body.os-android .bottom-nav-item:active{background:#0000000d;border-radius:50%}body.os-android .form-input,body.os-android .form-select{border:1px solid var(--border-color);border-radius:8px;padding:12px 14px}body.os-android .form-input:focus,body.os-android .form-select:focus{border-bottom:2px solid var(--primary)}body.device-mobile .modal-overlay{align-items:flex-end;padding:0}body.device-mobile .modal-content{padding-bottom:max(20px, env(safe-area-inset-bottom,20px));border-radius:20px 20px 0 0;max-height:85vh;margin:0;animation:.3s cubic-bezier(.16,1,.3,1) forwards slideUpDrawer;width:100vw!important;max-width:100vw!important}body.device-mobile .modal-header{padding:16px 20px}.form-input,.form-select,.form-textarea,.btn{min-height:44px}@media (width<=1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)!important}.layout-mode-selector{display:none!important}}.billing-columns{gap:0;min-height:500px;display:flex}.billing-col-left{flex-direction:column;flex:2;gap:10px;min-width:0;padding-right:20px;display:flex}.billing-col-separator{background:var(--border-color);flex-shrink:0;width:1px}.billing-col-right{flex-direction:column;flex:3;gap:10px;padding-left:20px;display:flex;overflow-y:auto}@media (width<=768px){.grid-2,.grid-3,.grid-4{gap:12px;grid-template-columns:1fr!important}.card{margin-bottom:16px;padding:16px;border-left:none!important;border-right:none!important;border-radius:0!important}.table-actions{flex-direction:column;align-items:stretch;gap:12px}.table-action-row{justify-content:flex-start!important}.billing-columns{flex-direction:column;gap:20px;min-height:auto}.billing-col-left,.billing-col-right{flex:none;padding:0!important}.billing-col-separator{width:100%;height:1px;margin:10px 0}body.device-mobile .data-table th,body.device-mobile .data-table td{padding:6px 8px!important;font-size:.85rem!important}body.device-mobile .data-table .form-input,body.device-mobile .data-table .form-select{min-height:36px;border-radius:6px!important;padding:6px 8px!important;font-size:.85rem!important}body.device-mobile .data-table .btn-sm{padding:4px;font-size:.8rem}}.report-form-wrapper{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;width:100%;padding:24px}@media (width<=768px){.report-form-wrapper{border-left:none;border-right:none;border-radius:0;padding:12px!important}}body.device-mobile .main-scroll-area{overflow-x:hidden!important}.mobile-card-list{flex-direction:column;gap:0;padding:0;display:flex}.mobile-card{background:var(--bg-card);border-top:10px solid var(--bg-app);border-bottom:1px solid var(--border-color);flex-direction:column;gap:10px;padding:16px;display:flex;box-shadow:none!important;border-radius:0!important}.mobile-card:last-child{border-bottom:none}.mobile-card-row{border-bottom:1px dashed var(--border-color);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:8px;font-size:.9rem;display:flex}.mobile-card-row:last-child{border-bottom:none;padding-bottom:0}.mobile-card-label{color:var(--text-muted);flex-shrink:0;font-size:.85rem;font-weight:600}.mobile-card-value{color:var(--text-main);text-align:right;word-break:break-word}.mobile-card-actions{border-top:1px solid var(--border-color);margin-top:8px;padding-top:12px;display:block}:root{--font-main:"Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", monospace;--bg-app:#f4f6fa;--bg-card:#fff;--bg-glass:#ffffffd9;--bg-subtle:#edf1f7;--bg-hover:#e2e8f0;--text-main:#0f172a;--text-muted:#64748b;--text-light:#94a3b8;--border-color:#e2e8f0;--input-border:#cbd5e1;--input-shadow-focus:#3b82f626;--border-focus:#3b82f6;--primary:#4f46e5;--primary-gradient:linear-gradient(135deg, #4f46e5 0%, #3b82f6 100%);--primary-hover:#4338ca;--primary-light:#4f46e51f;--accent:#06b6d4;--success:#10b981;--success-light:#10b9811f;--warning:#f59e0b;--warning-light:#f59e0b1f;--danger:#ef4444;--danger-light:#ef44441f;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -1px #0000000a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-glow:0 0 20px #4f46e540;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px}[data-theme=dark]{--bg-app:#0b0f19;--bg-card:#151c2c;--bg-glass:#151c2cd9;--bg-subtle:#1e2638;--bg-hover:#2a344d;--text-main:#f8fafc;--text-muted:#94a3b8;--text-light:#64748b;--border-color:#334155;--input-border:#475569;--input-shadow-focus:#60a5fa40;--border-focus:#60a5fa;--primary:#6366f1;--primary-gradient:linear-gradient(135deg, #6366f1 0%, #3b82f6 100%);--primary-hover:#818cf8;--primary-light:#6366f12e;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006;--shadow-lg:0 10px 15px -3px #00000080;--shadow-glow:0 0 25px #6366f159}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-app);color:var(--text-main);line-height:1.5;transition:background-color .3s,color .3s;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-app)}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:var(--radius-full);border:2px solid var(--bg-app)}::-webkit-scrollbar-thumb:hover{background:var(--primary-hover)}.app-container{width:100%;height:100dvh;display:flex;overflow:hidden}.main-content{background:var(--bg-app);flex-direction:column;flex:1;display:flex;overflow:hidden}.page-container{width:100%;max-width:1600px;margin:0 auto;padding:24px 32px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.breadcrumbs{color:var(--text-muted);align-items:center;gap:6px;margin-bottom:8px;font-size:.8rem;font-weight:500;display:flex}.breadcrumbs span:last-child{color:var(--primary);font-weight:600}.breadcrumbs svg{opacity:.5}.page-title{color:var(--text-main);margin:0;font-size:clamp(1.2rem,3vw,1.5rem);font-weight:700;line-height:1.2}.page-subtitle{display:none!important}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px;transition:transform .2s,box-shadow .2s}.card-hover:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.glass-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:24px}.btn{font-size:.9rem;font-weight:600;font-family:var(--font-main);border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 18px;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-secondary{background:var(--bg-subtle);color:var(--text-main);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-hover)}.btn-back{border-radius:var(--radius-md);background:var(--bg-subtle);width:38px;height:38px;color:var(--text-main);border:1px solid var(--border-color);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-back:hover{background:var(--bg-hover);transform:translate(-2px)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{opacity:.9}.btn-sm{padding:6px 12px;font-size:.8rem}.btn-icon{border-radius:var(--radius-md);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;transition:all .2s;display:inline-flex}.btn-icon:hover{background:var(--bg-hover)}.text-primary{color:var(--primary)!important}.text-danger{color:var(--danger)!important}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}[class*=grid-]>.form-group{margin-bottom:0}.table-action-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.form-label{color:var(--text-main);font-size:.85rem;font-weight:600}.form-input,.form-select,.form-textarea{width:100%;font-size:.9rem;font-family:var(--font-main);background:var(--bg-app);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--text-main);padding:10px 14px;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--input-shadow-focus);outline:none}.table-wrapper{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-card);overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-subtle);border-bottom:1px solid var(--border-color);padding:14px 16px;font-size:.8rem;font-weight:700}.data-table td{color:var(--text-main);border-bottom:1px solid var(--border-color);padding:14px 16px;font-size:.9rem}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover{background:var(--bg-light)}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.03em;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.badge-success{background:var(--success-light);color:var(--success)}.badge-warning{background:var(--warning-light);color:var(--warning)}.badge-danger{background:var(--danger-light);color:var(--danger)}.badge-primary{background:var(--primary-light);color:var(--primary)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:680px;max-height:90vh;box-shadow:var(--shadow-lg);animation:.25s cubic-bezier(.16,1,.3,1) slideUp;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-body{padding:24px}.modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.animate-fade{animation:.3s fadeIn}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}@media (width<=1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.grid-4,.grid-3,.grid-2{grid-template-columns:minmax(0,1fr)}}.wizard-main-layout{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.wizard-left-col{flex-direction:column;flex:400px;gap:16px;min-width:0;display:flex}.wizard-right-col{flex-direction:column;flex:0 0 300px;gap:16px;display:flex}.wizard-patient-grid{grid-template-columns:70px 1fr 1fr 60px 90px 120px;gap:8px;display:grid}.wizard-sample-grid{grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:8px;display:grid}.wizard-adv-grid{grid-template-columns:1fr 1fr;gap:8px;max-width:250px;display:grid}.wizard-results-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:16px;display:grid}@media (width<=1024px){.wizard-patient-grid,.wizard-sample-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=768px){.wizard-right-col,.wizard-left-col{flex:100%}.wizard-patient-grid,.wizard-sample-grid{grid-template-columns:repeat(2,1fr)}.wizard-adv-grid{max-width:100%}.wizard-results-grid{grid-template-columns:1fr}}@media (width<=480px){.wizard-patient-grid,.wizard-sample-grid,.wizard-adv-grid{grid-template-columns:1fr}}input:not([type=color]),select,textarea{background:var(--bg-card);color:var(--text-main);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){input:not([type=color]),select,textarea{--lightningcss-light: ;--lightningcss-dark:initial}}[data-theme=dark] input:not([type=color]),[data-theme=dark] select,[data-theme=dark] textarea{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.dashboard-analytics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.chart-card-span{grid-column:span 2}.status-card-span{grid-column:span 1}@media (width<=1024px){.dashboard-analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-card-span,.status-card-span{grid-column:span 2}}@media (width<=768px){.dashboard-analytics-grid{grid-template-columns:minmax(0,1fr);gap:16px}.chart-card-span,.status-card-span{grid-column:span 1}}#nprogress .bar{background:var(--primary)!important;height:4px!important}#nprogress .peg{box-shadow:0 0 10px var(--primary), 0 0 5px var(--primary)!important}#nprogress .spinner-icon{border-top-color:var(--primary)!important;border-left-color:var(--primary)!important}.qa-modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:9999;background:#00000073;justify-content:center;align-items:center;padding:16px;animation:.15s qa-fade-in;display:flex;position:fixed;inset:0}@keyframes qa-fade-in{0%{opacity:0}to{opacity:1}}.qa-modal-box{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-height:90vh;animation:.18s cubic-bezier(.34,1.56,.64,1) qa-slide-up;overflow-y:auto;box-shadow:0 20px 60px #00000059}@keyframes qa-slide-up{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.qa-modal-header{border-bottom:1px solid var(--border-color);background:var(--bg-subtle);border-radius:var(--radius-lg) var(--radius-lg) 0 0;z-index:1;justify-content:space-between;align-items:center;padding:14px 20px 12px;display:flex;position:sticky;top:0}.qa-modal-title{color:var(--text-main);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.qa-modal-icon{background:var(--primary-gradient);color:#fff;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;font-size:16px;font-weight:800;line-height:1;display:inline-flex}.qa-modal-close{border:1px solid var(--border-color);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:background .15s,color .15s,border-color .15s;display:flex}.qa-modal-close:hover{background:var(--danger-light);color:var(--danger);border-color:var(--danger)}.qa-modal-body{padding:18px 20px 20px}.fk-select-row{align-items:center;gap:6px;width:100%;display:flex}.fk-add-btn{background:var(--primary-gradient);color:#fff;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,transform .12s,box-shadow .15s;display:inline-flex;box-shadow:0 2px 6px #4f46e559}.fk-add-btn:hover{opacity:.88;transform:scale(1.08);box-shadow:0 4px 12px #4f46e580}.fk-add-btn:active{transform:scale(.96)}#nprogress{pointer-events:none}#nprogress .bar{z-index:1031;background:#29d;width:100%;height:2px;position:fixed;top:0;left:0}#nprogress .peg{opacity:1;width:100px;height:100%;display:block;position:absolute;right:0;transform:rotate(3deg)translateY(-4px);box-shadow:0 0 10px #29d,0 0 5px #29d}#nprogress .spinner{z-index:1031;display:block;position:fixed;top:15px;right:15px}#nprogress .spinner-icon{box-sizing:border-box;border:2px solid #0000;border-color:#29d #0000 #0000 #29d;border-radius:50%;width:18px;height:18px;animation:.4s linear infinite nprogress-spinner}.nprogress-custom-parent{position:relative;overflow:hidden}.nprogress-custom-parent #nprogress .spinner,.nprogress-custom-parent #nprogress .bar{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
