:root{--font-main:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--primary:#0d9488;--primary-light:#14b8a6;--primary-dark:#0f766e;--primary-50:#f0fdfa;--primary-100:#ccfbf1;--primary-200:#99f6e4;--primary-600:#0d9488;--primary-700:#0f766e;--primary-800:#115e59;--surface:#f1f5f9;--surface-card:#fff;--text-primary:#0f172a;--text-secondary:#64748b;--text-muted:#94a3b8;--border:#e2e8f0;--border-light:#f1f5f9;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000000a;--shadow-sidebar:6px 0 32px #00000026;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:50%;--ease-out:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.2s;--duration-normal:.3s;--duration-slow:.4s;--sidebar-width:360px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--surface);color:var(--text-primary);line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{border:2px solid var(--surface);background:#cbd5e1;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--primary);border:1px solid var(--surface)}*{scrollbar-width:thin;scrollbar-color:#cbd5e1 var(--surface)}.top-bar{z-index:100;-webkit-backdrop-filter:blur(20px)saturate(180%);border-bottom:1px solid var(--border);transition:box-shadow var(--duration-normal) var(--ease-out);background:#ffffffd9;align-items:center;gap:16px;padding:12px 32px;display:flex;position:sticky;top:0}.top-bar.scrolled{box-shadow:var(--shadow-md)}.top-bar-brand{flex-shrink:0;align-items:center;gap:10px;display:flex}.top-bar-logo{background:linear-gradient(135deg, var(--primary), var(--primary-dark));border-radius:var(--radius-sm);width:38px;height:38px;color:var(--on-primary,#fff);justify-content:center;align-items:center;display:flex;box-shadow:0 2px 8px #0d948859}.top-bar-title{color:var(--text-primary);letter-spacing:-.3px;font-size:17px;font-weight:700}.top-bar-subtitle{color:var(--text-muted);letter-spacing:.02em;font-size:11px;font-weight:500}.search-container{flex:1;max-width:480px;margin-left:auto;position:relative}.search-wrapper{align-items:center;display:flex;position:relative}.search-icon{color:var(--text-muted);pointer-events:none;transition:color var(--duration-fast) var(--ease-out);z-index:2;position:absolute;left:14px}.search-input{border:1.5px solid var(--border);background:var(--surface);width:100%;height:42px;font-family:var(--font-main);color:var(--text-primary);transition:all var(--duration-normal) var(--ease-out);border-radius:100px;outline:none;padding:0 16px 0 44px;font-size:13.5px;font-weight:450}.search-input::placeholder{color:var(--text-muted);font-weight:400}.search-input:focus{border-color:var(--brand-action,var(--primary));box-shadow:0 0 0 3px #0d94881a, var(--shadow-sm);background:#fff}.search-input:focus~.search-icon{color:var(--brand-action,var(--primary))}.search-clear{background:var(--border);border-radius:var(--radius-full);cursor:pointer;opacity:0;width:26px;height:26px;transition:all var(--duration-fast) var(--ease-spring);color:var(--text-secondary);border:none;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;right:12px;transform:scale(.7)}.search-clear.visible{opacity:1;transform:scale(1)}.search-clear:hover{background:var(--brand-action,var(--primary));color:var(--on-primary,#fff)}.search-dropdown{border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-xl);opacity:0;pointer-events:none;max-height:380px;transition:all var(--duration-normal) var(--ease-out);z-index:200;background:#fff;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;transform:translateY(-8px)}.search-dropdown.open{opacity:1;pointer-events:auto;transform:translateY(0)}.search-dropdown-header{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);border-bottom:1px solid var(--border-light);padding:12px 16px 8px;font-size:10.5px;font-weight:700}.search-result-item{cursor:pointer;transition:background var(--duration-fast) var(--ease-out);border-bottom:1px solid var(--border-light);align-items:center;gap:12px;padding:10px 16px;display:flex}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--primary-50)}.search-result-item.active{background:var(--primary-100)}.search-result-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--primary-100), var(--primary-200));width:40px;height:40px;color:var(--brand-action,var(--primary));flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.search-result-info{flex:1;min-width:0}.search-result-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.search-result-meta{color:var(--text-muted);align-items:center;gap:8px;margin-top:1px;font-size:11.5px;display:flex}.search-result-meta span{align-items:center;gap:3px;display:flex}.search-no-results{text-align:center;color:var(--text-muted);padding:32px 16px;font-size:13px}.search-no-results svg{opacity:.4;margin-bottom:8px}.search-loading{text-align:center;color:var(--text-muted);justify-content:center;align-items:center;gap:8px;padding:24px 16px;font-size:13px;display:flex}.search-spinner{border:2px solid var(--border);border-top-color:var(--brand-action,var(--primary));border-radius:var(--radius-full);width:16px;height:16px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;opacity:0;pointer-events:none;transition:opacity var(--duration-normal) var(--ease-out);background:#0f172a59;position:fixed;inset:0}.sidebar-overlay.open{opacity:1;pointer-events:auto}.sidebar{width:var(--sidebar-width);z-index:1000;height:100vh;transition:transform var(--duration-slow) var(--ease-out);box-shadow:var(--shadow-sidebar);flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-top{background:#fff;flex-direction:column;flex:1;display:flex;overflow-y:auto}.sidebar-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.sidebar-logo-flower{color:var(--brand-action,var(--primary));align-items:center;display:flex}.sidebar-header-title{color:var(--text-secondary);text-align:center;flex:1;font-size:14px;font-weight:600}.sidebar-close-menu{cursor:pointer;color:var(--text-muted);transition:color var(--duration-fast);background:0 0;border:none;align-items:center;display:flex}.sidebar-close-menu:hover{color:var(--text-primary)}.sidebar-photo-section{flex-direction:column;align-items:center;padding:32px 24px 20px;display:flex}.patient-photo-card{border:1px solid var(--border-light);width:140px;height:140px;transition:transform var(--duration-normal);background:#fff;border-radius:20px;justify-content:center;align-items:center;margin-bottom:24px;display:flex;overflow:hidden;box-shadow:0 10px 30px #0000000f}.patient-photo-card:hover{transform:translateY(-4px)}.patient-photo-initials-large{color:var(--brand-action,var(--primary));font-size:44px;font-weight:700}.patient-name-header{justify-content:space-between;align-items:flex-start;width:100%;margin-bottom:16px;display:flex}.patient-name-text{color:var(--text-primary);font-size:20px;font-weight:700;line-height:1.2}.patient-tag-id{color:var(--brand-action,var(--primary));background:var(--primary-50);border-radius:6px;margin-top:4px;padding:2px 8px 2px 0;font-size:11px;font-weight:600;display:inline-block}.patient-more-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px}.patient-contact-grid{flex-direction:column;gap:12px;width:100%;display:flex}.contact-row{color:var(--text-secondary);align-items:flex-start;gap:10px;font-size:13px;display:flex}.contact-icon-mini{color:var(--text-muted);flex-shrink:0;margin-top:2px}.sidebar-detail-grid{background:var(--border-light);grid-template-columns:1fr 1fr;gap:1px;margin-top:10px;padding:20px 24px;display:grid}.detail-item{background:#fff;flex-direction:column;padding:14px 16px;display:flex}.detail-value{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.detail-label{color:var(--text-muted);margin-top:2px;font-size:11px;font-weight:500}.sidebar-brand-card-container{border-top:1px solid var(--border-light);background:#fff;padding:20px}.teal-brand-card{color:#fff;background:linear-gradient(135deg,#14b8a6 0%,#0d9488 100%);border-radius:20px;padding:20px;position:relative;overflow:hidden;box-shadow:0 10px 25px #0d948833}.teal-brand-card:before{content:"";z-index:0;background:#ffffff14;border-radius:50%;width:160px;height:160px;position:absolute;top:-20%;right:-10%}.brand-header-mini{z-index:1;align-items:center;gap:8px;margin-bottom:32px;display:flex;position:relative}.brand-logo-mini{opacity:.9}.brand-name-mini{flex:1;font-size:16px;font-weight:700}.brand-badge-free{color:#92400e;text-transform:uppercase;background:#fbbf24;border-radius:4px;padding:2px 8px;font-size:9px;font-weight:800;box-shadow:0 2px 4px #0000001a}.brand-patient-info{z-index:1;margin-bottom:24px;position:relative}.brand-patient-name{margin-bottom:2px;font-size:20px;font-weight:700}.brand-patient-id-mini{opacity:.8;font-size:12px}.brand-exp-date{opacity:.6;font-size:10px;position:absolute;bottom:0;right:0}.vitals-grid-mini{z-index:1;gap:10px;margin-bottom:24px;display:flex;position:relative}.vital-mini-box{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;background:#ffffff1f;border:1px solid #ffffff14;border-radius:12px;flex:1;padding:12px 4px}.vital-icon-circle{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;margin:0 auto 8px;display:flex}.vital-icon-circle.blood{color:#f43f5e}.vital-icon-circle.weight{color:#10b981}.vital-icon-circle.temp{color:#3b82f6}.vital-mini-label{opacity:.7;text-transform:uppercase;margin-bottom:4px;font-size:9px;font-weight:600}.vital-mini-value{font-size:16px;font-weight:800}.vital-mini-value small{opacity:.8;margin-left:1px;font-size:10px;font-weight:500}.bp-mini-section{z-index:1;background:#ffffff0f;border-radius:12px;padding:12px;position:relative}.bp-mini-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.bp-heart-icon{color:#f43f5e}.bp-mini-title{font-size:13px;font-weight:700}.bp-mini-last-check{opacity:.7;margin-left:auto;font-size:9px}.bp-mini-legend{gap:12px;font-size:9px;font-weight:500;display:flex}.legend-item{align-items:center;gap:4px;display:flex}.dot{border-radius:50%;width:6px;height:6px}.dot.hr{background:#fff}.dot.bp{background:#5eead4}.main-content{width:100%;max-width:900px;transition:all var(--duration-slow) var(--ease-out);margin:0 auto;padding:24px 32px 40px}.main-content.sidebar-active{margin-left:var(--sidebar-width);max-width:calc(100% - var(--sidebar-width))}.patient-list-edit-btn{border:1px solid var(--border);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.patient-list-edit-btn:hover{border-color:var(--brand-action,var(--primary));color:var(--brand-action,var(--primary));background:var(--primary-50);transform:scale(1.05)}.page-header{align-items:center;gap:14px;margin-bottom:24px;display:flex}.page-header-icon{background:linear-gradient(135deg, var(--primary), var(--primary-dark));border-radius:var(--radius-md);width:46px;height:46px;color:var(--on-primary,#fff);justify-content:center;align-items:center;display:flex;box-shadow:0 3px 12px #0d94884d}.page-header-text h4{color:var(--text-primary);letter-spacing:-.3px;margin-bottom:1px;font-size:18px;font-weight:700}.page-header-text small{color:var(--text-muted);font-size:12px;font-weight:450}.btn-view-patients{border:1.5px solid var(--border);height:40px;font-family:var(--font-main);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);white-space:nowrap;background:#fff;border-radius:100px;align-items:center;gap:8px;margin-left:auto;padding:0 18px;font-size:13px;font-weight:600;display:inline-flex}.btn-view-patients:hover,.btn-view-patients.active{border-color:var(--brand-action,var(--primary));color:var(--brand-action,var(--primary));background:var(--primary-50)}.patient-list-container{animation:fadeSlideUp var(--duration-normal) var(--ease-out)}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.patient-list-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.patient-list-count{color:var(--text-secondary);font-size:13px;font-weight:600}.btn-refresh{border:1.5px solid var(--border);height:34px;font-family:var(--font-main);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:#fff;border-radius:100px;align-items:center;gap:6px;padding:0 14px;font-size:12px;font-weight:600;display:inline-flex}.btn-refresh:hover:not(:disabled){border-color:var(--brand-action,var(--primary));color:var(--brand-action,var(--primary));background:var(--primary-50)}.btn-refresh:disabled{opacity:.5;cursor:not-allowed}.spin-anim{animation:.8s linear infinite spin}.patient-list-grid{flex-direction:column;gap:8px;display:flex}.patient-list-card{border:1.5px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);animation:cardFadeIn var(--duration-normal) var(--ease-out) both;background:#fff;align-items:center;gap:14px;padding:14px 18px;display:flex}.patient-list-card:first-child{animation-delay:0s}.patient-list-card:nth-child(2){animation-delay:30ms}.patient-list-card:nth-child(3){animation-delay:60ms}.patient-list-card:nth-child(4){animation-delay:90ms}.patient-list-card:nth-child(5){animation-delay:.12s}.patient-list-card:nth-child(6){animation-delay:.15s}.patient-list-card:nth-child(7){animation-delay:.18s}.patient-list-card:nth-child(8){animation-delay:.21s}.patient-list-card:nth-child(9){animation-delay:.24s}.patient-list-card:nth-child(10){animation-delay:.27s}@keyframes cardFadeIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.patient-list-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow-md), 0 0 0 3px #0d94880f;transform:translateY(-1px)}.patient-list-card.selected{border-color:var(--brand-action,var(--primary));background:var(--primary-50);box-shadow:0 0 0 3px #0d94881a}.patient-list-card-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--primary-100), var(--primary-200));width:44px;height:44px;color:var(--brand-action,var(--primary));transition:all var(--duration-normal) var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.patient-list-card:hover .patient-list-card-avatar,.patient-list-card.selected .patient-list-card-avatar{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:var(--on-primary,#fff)}.patient-list-card-info{flex:1;min-width:0}.patient-list-card-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;line-height:1.3;overflow:hidden}.patient-list-card-id{color:var(--text-muted);margin-top:1px;font-size:11.5px;font-weight:500}.patient-list-card-details{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.patient-list-card-meta{color:var(--text-secondary);font-size:12px;font-weight:500}.patient-list-card-date{color:var(--text-muted);font-size:10.5px;font-weight:450}.patient-list-card-arrow{color:var(--text-muted);transition:all var(--duration-fast) var(--ease-out);opacity:.4;flex-shrink:0}.patient-list-card:hover .patient-list-card-arrow{color:var(--brand-action,var(--primary));opacity:1;transform:translate(3px)}.patient-list-loading{color:var(--text-muted);justify-content:center;align-items:center;gap:10px;padding:48px 16px;font-size:13px;font-weight:500;display:flex}.patient-list-empty{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:56px 16px;display:flex}.patient-list-empty svg{opacity:.3;margin-bottom:12px}.patient-list-empty-title{color:var(--text-secondary);margin-bottom:4px;font-size:16px;font-weight:700}.patient-list-empty-text{color:var(--text-muted);font-size:13px}.form-card{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:box-shadow var(--duration-normal) var(--ease-out);background:#fff;margin-bottom:16px}.form-card:hover{box-shadow:var(--shadow-sm)}.form-card-header{border-bottom:1px solid var(--border-light);background:linear-gradient(to right, var(--primary-50), #fff);padding:14px 20px}.form-card-header h6{color:var(--brand-action,var(--primary));align-items:center;gap:8px;margin:0;font-size:13.5px;font-weight:700;display:flex}.form-card-header .step-badge{background:var(--primary);width:22px;height:22px;color:var(--on-primary,#fff);border-radius:var(--radius-full);justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.form-card-body{padding:20px}.lims-label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin-bottom:6px;font-size:10.5px;font-weight:700;display:block}.lims-label .required{color:#ef4444;margin-left:2px}.lims-label .optional{text-transform:none;letter-spacing:0;color:var(--text-muted);font-size:10.5px;font-weight:400}.lims-input,.lims-select{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;height:42px;font-family:var(--font-main);color:var(--text-primary);transition:all var(--duration-fast) var(--ease-out);background:#fff;outline:none;padding:0 14px;font-size:13.5px;font-weight:450}.lims-input::placeholder{color:var(--text-muted);font-weight:400}.lims-input:focus,.lims-select:focus{border-color:var(--brand-action,var(--primary));box-shadow:0 0 0 3px #0d948814}.lims-input:disabled{background:var(--surface);color:var(--text-muted);cursor:not-allowed}.lims-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8.5L1.5 4h9L6 8.5z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:36px}.lims-alert{border-radius:var(--radius-md);animation:alertSlideIn var(--duration-normal) var(--ease-spring);border:none;align-items:center;gap:10px;margin-bottom:20px;padding:12px 16px;font-size:13px;font-weight:500;display:flex}@keyframes alertSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.lims-alert.success{color:#065f46;background:#ecfdf5;border-left:4px solid #10b981}.lims-alert.warning{color:#92400e;background:#fffbeb;border-left:4px solid #f59e0b}.lims-alert.danger{color:#991b1b;background:#fef2f2;border-left:4px solid #ef4444}.lims-alert-close{cursor:pointer;border-radius:var(--radius-full);width:24px;height:24px;color:inherit;opacity:.5;transition:all var(--duration-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;display:flex}.lims-alert-close:hover{opacity:1;background:#0000000f}.btn-lims-primary{background:linear-gradient(135deg, var(--primary), var(--primary-dark));height:44px;color:var(--on-primary,#fff);border-radius:var(--radius-sm);font-family:var(--font-main);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);border:none;justify-content:center;align-items:center;gap:8px;padding:0 28px;font-size:13.5px;font-weight:600;display:inline-flex;box-shadow:0 2px 8px #0d94884d}.btn-lims-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #0d948866}.btn-lims-primary:active:not(:disabled){transform:translateY(0)}.btn-lims-primary:disabled{opacity:.6;cursor:not-allowed}.btn-lims-secondary{height:44px;color:var(--text-secondary);border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-main);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:#fff;justify-content:center;align-items:center;padding:0 24px;font-size:13.5px;font-weight:600;display:inline-flex}.btn-lims-secondary:hover{background:var(--surface);color:var(--text-primary);border-color:var(--text-muted)}.radio-group{gap:16px;display:flex}.radio-item{cursor:pointer;color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.radio-item input[type=radio]{appearance:none;border:2px solid var(--border);border-radius:var(--radius-full);cursor:pointer;width:18px;height:18px;transition:all var(--duration-fast) var(--ease-out);position:relative}.radio-item input[type=radio]:checked{border-color:var(--brand-action,var(--primary))}.radio-item input[type=radio]:checked:after{content:"";background:var(--primary);border-radius:var(--radius-full);width:8px;height:8px;position:absolute;top:3px;left:3px}.form-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.lims-spinner{border:2px solid var(--on-primary-subtle,#ffffff4d);border-top-color:var(--on-primary,#fff);border-radius:var(--radius-full);width:16px;height:16px;animation:.6s linear infinite spin}@media (max-width:768px){:root{--sidebar-width:100vw}.top-bar{padding:10px 16px}.top-bar-brand{display:none}.search-container{max-width:100%}.main-content{padding:16px}.main-content.sidebar-active{max-width:100%;margin-left:0}.form-card-body{padding:16px}.form-actions{flex-direction:column}.form-actions button{width:100%}}@media (min-width:769px) and (max-width:1100px){:root{--sidebar-width:320px}.main-content{padding:20px 24px}}.sidebar-top::-webkit-scrollbar{width:4px}.search-dropdown::-webkit-scrollbar{width:4px}.sidebar-top::-webkit-scrollbar-track{background:0 0}.search-dropdown::-webkit-scrollbar-track{background:0 0}.sidebar-top::-webkit-scrollbar-thumb{background:var(--border);border-radius:100px}.search-dropdown::-webkit-scrollbar-thumb{background:var(--border);border-radius:100px}.sidebar-top::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.search-dropdown::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.page-switcher-bar{z-index:99999;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f172ae6;border-radius:100px;align-items:center;gap:6px;padding:6px 8px 6px 16px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 16px 40px #0000004d,0 0 0 1px #ffffff14}.page-switcher-label{color:#ffffff80;text-transform:uppercase;letter-spacing:.8px;margin-right:4px;font-size:11px;font-weight:600}.page-switcher-btn{height:34px;font-family:var(--font-main);cursor:pointer;color:#fff9;background:0 0;border:none;border-radius:100px;padding:0 16px;font-size:12.5px;font-weight:600;transition:all .2s}.page-switcher-btn:hover{color:#fff;background:#ffffff1a}.page-switcher-btn.active{color:var(--on-primary,#fff);background:var(--brand-action,var(--primary));box-shadow:0 2px 10px #0d948866}.login-page{background:#f8fafc;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.login-bg{z-index:0;position:absolute;inset:0;overflow:hidden}.login-bg-orb{display:none}.login-bg-orb-1{background:0 0;width:600px;height:600px;top:-20%;left:-15%}.login-bg-orb-2{background:0 0;width:500px;height:500px;animation-delay:-3s;bottom:-15%;right:-10%}.login-bg-orb-3{background:0 0;width:400px;height:400px;animation-delay:-6s;top:40%;left:60%}@keyframes orbFloat{0%,to{transform:translate(0)scale(1)}50%{transform:translate(40px,-30px)scale(1.05)}}.login-bg-grid{background-image:none;background-size:64px 64px;position:absolute;inset:0}.login-container{z-index:1;border:1px solid var(--border);background:#fff;border-radius:28px;width:100%;max-width:1000px;min-height:600px;animation:.6s cubic-bezier(.16,1,.3,1) loginFadeIn;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000014,0 0 0 1px #00000005}@keyframes loginFadeIn{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.login-brand-panel{background:var(--login-brand-bg,var(--primary));border-right:1px solid var(--login-brand-border,transparent);box-shadow:var(--login-brand-shadow,none);flex:1;justify-content:center;align-items:center;padding:48px;display:flex;position:relative;overflow:hidden}.login-brand-panel:before,.login-brand-panel:after{content:none}.login-brand-content{z-index:1;text-align:center;color:var(--on-primary,#fff);position:relative}.login-floating-icons{pointer-events:none;position:absolute;inset:0}.floating-icon{background:var(--on-primary-subtle,#ffffff1a);width:44px;height:44px;color:var(--on-primary-muted,#fff9);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--on-primary-subtle,#ffffff14);opacity:.6;border-radius:12px;justify-content:center;align-items:center;animation:6s ease-in-out infinite iconFloat;display:flex;position:absolute}.fi-1{animation-duration:5s;top:8%;left:8%}.fi-2{animation-duration:7s;animation-delay:-1s;top:12%;right:8%}.fi-3{animation-duration:6s;animation-delay:-2s;bottom:15%;left:10%}.fi-4{animation-duration:8s;animation-delay:-3s;bottom:8%;right:12%}@keyframes iconFloat{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-12px)rotate(5deg)}}.login-brand-logo{margin-bottom:24px}.login-brand-logo-icon{background:var(--on-primary-subtle,#ffffff29);width:76px;height:76px;color:var(--on-primary,#fff);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--on-primary-subtle,#ffffff26);border-radius:8px;justify-content:center;align-items:center;display:inline-flex;overflow:hidden;box-shadow:0 8px 24px #00000026}.login-brand-logo-icon.small{border-radius:8px;width:42px;height:42px}.login-brand-logo-icon.has-image{color:var(--brand-action,var(--primary));background:#fff 50%/calc(100% - 12px) calc(100% - 12px) no-repeat}.login-brand-title{letter-spacing:0;margin-bottom:6px;font-size:32px;font-weight:800}.login-brand-subtitle{opacity:.75;letter-spacing:.3px;font-size:13px;font-weight:400}.login-brand-divider{background:var(--on-primary-subtle,#ffffff40);border-radius:2px;width:40px;height:2px;margin:28px auto}.login-brand-features{text-align:left;flex-direction:column;gap:14px;padding:0 10px;display:flex}.login-feature{opacity:.85;align-items:center;gap:12px;font-size:13.5px;font-weight:500;display:flex}.login-feature-dot{background:var(--login-feature-dot,var(--login-accent,#5eead4));width:6px;height:6px;box-shadow:0 0 8px color-mix(in srgb, var(--login-feature-dot,var(--login-accent,#5eead4)) 60%, transparent);border-radius:50%;flex-shrink:0}.login-brand-footer{justify-content:center;align-items:center;gap:10px;margin-top:36px;display:flex}.login-brand-badge{background:var(--on-primary-subtle,#ffffff26);text-transform:uppercase;letter-spacing:.8px;border-radius:6px;padding:3px 10px;font-size:10px;font-weight:700}.login-brand-version{opacity:.5;font-size:11px;font-weight:500}.login-form-panel{background:#fff;flex:1;justify-content:center;align-items:center;padding:48px;display:flex}.login-form-wrapper{width:100%;max-width:360px}.login-mobile-logo{color:var(--login-action,var(--primary));align-items:center;gap:10px;margin-bottom:24px;font-size:18px;font-weight:700;display:none}.login-form-header{margin-bottom:28px}.login-form-header h2{color:var(--text-primary);letter-spacing:-.6px;margin-bottom:6px;font-size:28px;font-weight:800}.login-form-header p{color:var(--text-secondary);font-size:14.5px;font-weight:450}.login-error{color:#fca5a5;background:#ef44441f;border:1px solid #ef444433;border-radius:10px;align-items:center;gap:10px;margin-bottom:20px;padding:12px 16px;font-size:13px;font-weight:500;animation:.3s alertSlideIn;display:flex}.login-form{flex-direction:column;gap:20px;display:flex}.login-field{flex-direction:column;gap:7px;display:flex}.login-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;font-size:11px;font-weight:700}.login-access-switch{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:12px;grid-template-columns:1fr 1fr;gap:6px;padding:5px;display:grid}.login-access-option{height:40px;color:var(--text-muted);font-family:var(--font-main);cursor:pointer;background:0 0;border:none;border-radius:8px;font-size:13px;font-weight:700;transition:all .2s}.login-access-option:hover{color:#fff;background:#ffffff0f}.login-access-option.active{color:var(--on-primary,#fff);background:var(--brand-action,var(--primary));box-shadow:0 8px 18px #0d948838}.login-input-wrapper{align-items:center;display:flex;position:relative}.login-input-icon{color:var(--text-muted);z-index:2;transition:color .2s;display:flex;position:absolute;left:14px}.login-input{background:var(--surface);border:1.5px solid var(--border);width:100%;height:48px;font-family:var(--font-main);color:var(--text-primary);border-radius:12px;outline:none;padding:0 16px 0 46px;font-size:14px;font-weight:450;transition:all .25s}.login-input::placeholder{color:var(--text-muted)}.login-input:focus{border-color:var(--login-action,var(--primary));background:#ffffff14;box-shadow:0 0 0 3px #0d948826}.login-input:focus~.login-input-icon,.login-input:focus+.login-input-icon,.login-input-wrapper:focus-within .login-input-icon{color:var(--login-action,var(--primary))}.login-toggle-pw{color:var(--brand-action,var(--primary));cursor:pointer;opacity:.72;background:0 0;border:none;padding:4px;transition:color .2s,opacity .2s;display:flex;position:absolute;right:14px}.login-toggle-pw:hover,.login-toggle-pw:focus-visible{color:var(--login-action,var(--primary));opacity:1}.login-options{justify-content:space-between;align-items:center;display:flex}.login-remember{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13.5px;display:flex}.login-remember input[type=checkbox]{display:none}.login-checkbox-custom{border:2px solid var(--border);background:#fff;border-radius:6px;flex-shrink:0;width:20px;height:20px;transition:all .2s;position:relative}.login-remember input:checked+.login-checkbox-custom{background:var(--login-button-bg,var(--primary));border-color:var(--brand-action,var(--primary))}.login-remember input:checked+.login-checkbox-custom:after{content:"";border:solid var(--login-button-text,var(--on-primary,#fff));border-width:0 2px 2px 0;width:5px;height:10px;position:absolute;top:2px;left:6px;transform:rotate(45deg)}.login-forgot{color:var(--login-action,var(--primary));cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-main);background:0 0;border:none;transition:color .2s}.login-forgot:hover{color:var(--brand-action,var(--primary))}.login-submit{border:1px solid color-mix(in srgb, var(--login-button-bg,var(--primary)) 55%, var(--border));background:var(--login-button-bg,var(--primary));width:100%;height:48px;color:var(--login-button-text,var(--on-primary,#fff));font-family:var(--font-main);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:10px;margin-top:4px;font-size:15px;font-weight:700;transition:all .3s;display:flex;box-shadow:0 4px 16px #0d94884d}.login-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 24px #0d948873}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{opacity:.7;cursor:not-allowed}.login-spinner{border:2.5px solid var(--on-primary-subtle,#ffffff4d);border-top-color:var(--login-button-text,var(--on-primary,#fff));border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin}.login-divider{align-items:center;gap:12px;margin:24px 0 20px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border-light);flex:1;height:1px}.login-divider span{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:12px;font-weight:600}.login-guest{border:1.5px solid var(--border);width:100%;height:48px;color:var(--text-secondary);font-family:var(--font-main);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:10px;font-size:14px;font-weight:600;transition:all .25s;display:flex}.login-guest:hover{border-color:var(--brand-action,var(--primary));background:var(--primary-50);color:var(--brand-action,var(--primary))}.login-form-footer{text-align:center;margin-top:24px}.login-form-footer p{color:var(--text-secondary);font-size:13.5px}.login-link{color:var(--login-action,var(--primary));cursor:pointer;font-weight:600;font-family:var(--font-main);background:0 0;border:none;font-size:13px;transition:color .2s}.login-link:hover{color:var(--brand-action,var(--primary))}@media (max-width:768px){.login-container{flex-direction:column;max-width:440px;min-height:auto}.login-brand-panel{display:none}.login-mobile-logo{display:flex}.login-form-panel{padding:32px 24px}.login-form-header h2{font-size:22px}}.dash-layout{background:var(--surface);min-height:100vh;display:flex}.dash-sidebar{border-right:1px solid var(--border);z-index:50;background:#fff;flex-direction:column;flex-shrink:0;width:240px;height:100vh;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex;position:sticky;top:0;overflow:hidden}.dash-sidebar.collapsed{width:72px}.dash-sidebar-logo{border-bottom:1px solid var(--border-light);align-items:center;gap:12px;min-height:68px;padding:20px;display:flex}.dash-logo-icon{background:linear-gradient(135deg, var(--primary), var(--primary-dark));width:40px;height:40px;color:var(--on-primary,#fff);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 8px #0d94884d}.dash-logo-text{flex-direction:column;display:flex;overflow:hidden}.dash-logo-title{color:var(--text-primary);letter-spacing:-.3px;font-size:16px;font-weight:800;line-height:1.2}.dash-logo-sub{color:var(--brand-action,var(--primary));text-transform:uppercase;letter-spacing:1.5px;font-size:10px;font-weight:600}.dash-nav{flex:1;padding:16px 12px;overflow-y:auto}.dash-nav-section-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);white-space:nowrap;padding:8px 12px;font-size:10px;font-weight:700;overflow:hidden}.dash-nav-item{width:100%;font-family:var(--font-main);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;margin-bottom:2px;padding:10px 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:all .2s;display:flex;position:relative}.dash-nav-item:hover{background:var(--primary-50);color:var(--brand-action,var(--primary))}.dash-nav-item.active{background:var(--primary-50);color:var(--brand-action,var(--primary));font-weight:600}.dash-nav-indicator{background:var(--primary);border-radius:0 3px 3px 0;width:3px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.dash-nav-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.dash-nav-label{text-overflow:ellipsis;overflow:hidden}.dash-nav-item.logout{color:#ef4444}.dash-nav-item.logout:hover{color:#dc2626;background:#fef2f2}.dash-sidebar-bottom{border-top:1px solid var(--border-light);padding:12px}.dash-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow-x:hidden}.dash-topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);z-index:40;background:#ffffffd9;align-items:center;gap:16px;padding:14px 28px;display:flex;position:sticky;top:0}.dash-sidebar-toggle{border:1.5px solid var(--border);cursor:pointer;width:38px;height:38px;color:var(--text-secondary);background:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.dash-sidebar-toggle:hover{border-color:var(--brand-action,var(--primary));color:var(--brand-action,var(--primary));background:var(--primary-50)}.dash-topbar-search{flex:1;max-width:480px;position:relative}.dash-search-icon{color:var(--text-muted);pointer-events:none;display:flex;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.dash-search-input{border:1.5px solid var(--border);background:var(--surface);width:100%;height:42px;font-family:var(--font-main);color:var(--text-primary);border-radius:100px;outline:none;padding:0 16px 0 44px;font-size:13.5px;font-weight:450;transition:all .25s}.dash-search-input:focus{border-color:var(--brand-action,var(--primary));background:#fff;box-shadow:0 0 0 3px #0d94881a}.dash-search-input::placeholder{color:var(--text-muted)}.dash-search-dropdown,.dash-menu-dropdown{border:1px solid var(--border);box-shadow:var(--shadow-xl);z-index:80;background:#fff;border-radius:8px;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}.dash-search-dropdown{left:0;right:0}.dash-dropdown-header{border-bottom:1px solid var(--border-light);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;padding:11px 14px 8px;font-size:11px;font-weight:800}.dash-dropdown-item,.dash-notification-item{border:none;border-bottom:1px solid var(--border-light);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:#fff;align-items:center;gap:10px;padding:11px 14px;transition:background .2s;display:flex}.dash-dropdown-item:last-child,.dash-notification-item:last-child{border-bottom:none}.dash-dropdown-item:hover,.dash-notification-item:hover{background:var(--primary-50)}.dash-dropdown-item strong,.dash-notification-item strong,.dash-account-summary strong{color:var(--text-primary);font-size:13px;font-weight:800;line-height:1.25;display:block}.dash-dropdown-item small,.dash-notification-item small,.dash-account-summary small{color:var(--text-muted);margin-top:2px;font-size:11.5px;font-weight:600;line-height:1.3;display:block}.dash-dropdown-icon{background:var(--surface);width:30px;height:30px;color:var(--brand-action,var(--primary));border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.dash-dropdown-empty{color:var(--text-muted);text-align:center;padding:22px 14px;font-size:13px}.dash-topbar-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.dash-action-wrap{position:relative}.dash-topbar-btn{border:1.5px solid var(--border);cursor:pointer;width:40px;height:40px;color:var(--text-secondary);background:#fff;border-radius:10px;justify-content:center;align-items:center;transition:all .2s;display:flex;position:relative}.dash-topbar-btn:hover{border-color:var(--brand-action,var(--primary));color:var(--brand-action,var(--primary))}.dash-notif-dot{background:#ef4444;border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:8px;right:9px}.dash-topbar-avatar{background:linear-gradient(135deg, var(--primary), var(--primary-dark));width:40px;height:40px;color:var(--on-primary,#fff);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex;box-shadow:0 2px 8px #0d948840}.dash-menu-dropdown{width:min(330px,88vw)}.dash-menu-dropdown.account{width:min(260px,88vw)}.dash-account-summary{border-bottom:1px solid var(--border-light);background:var(--surface);padding:14px}.dash-notification-item{align-items:flex-start}.dash-priority-dot{background:#f59e0b;border-radius:50%;flex:none;width:10px;height:10px;margin-top:4px}.dash-priority-dot.high{background:#f59e0b}.dash-priority-dot.critical{background:#ef4444}.dash-dropdown-item.danger .dash-dropdown-icon,.dash-dropdown-item.danger strong{color:#dc2626}.dash-content{width:100%;max-width:1200px;padding:28px}.dash-welcome{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;display:flex}.dash-welcome-text h1{color:var(--text-primary);letter-spacing:-.5px;margin-bottom:4px;font-size:26px;font-weight:800}.dash-welcome-name{color:var(--brand-action,var(--primary))}.dash-welcome-date{color:var(--text-muted);align-items:center;gap:6px;font-size:13px;font-weight:450;display:flex}.dash-welcome-actions{gap:10px;display:flex}.dash-btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary-dark));height:42px;color:var(--on-primary,#fff);font-family:var(--font-main);cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:0 20px;font-size:13px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 2px 8px #0d94884d}.dash-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #0d948866}.dash-btn-secondary{height:42px;color:var(--text-secondary);border:1.5px solid var(--border);font-family:var(--font-main);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:8px;padding:0 20px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.dash-btn-secondary:hover{border-color:var(--brand-action,var(--primary));color:var(--brand-action,var(--primary));background:var(--primary-50)}.dash-stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px;display:grid}.dash-stat-card{border:1px solid var(--border);background:#fff;border-radius:16px;padding:20px;transition:all .25s;animation:.4s ease-out both statFadeIn}@keyframes statFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.dash-stat-card:hover{box-shadow:var(--shadow-md);border-color:#0000;transform:translateY(-2px)}.dash-stat-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.dash-stat-icon{border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;transition:all .25s;display:flex}.dash-stat-card:hover .dash-stat-icon{transform:scale(1.08)}.dash-stat-change{border-radius:8px;align-items:center;gap:3px;padding:3px 8px;font-size:12px;font-weight:700;display:flex}.dash-stat-change.up{color:#059669;background:#ecfdf5}.dash-stat-change.down{color:#dc2626;background:#fef2f2}.dash-stat-value{color:var(--text-primary);letter-spacing:-.5px;margin-bottom:4px;font-size:28px;font-weight:800;line-height:1}.dash-stat-label{color:var(--text-muted);font-size:13px;font-weight:500}.dash-content-grid{grid-template-columns:1.6fr 1fr;gap:20px;display:grid}.dash-card{border:1px solid var(--border);background:#fff;border-radius:16px;overflow:hidden}.dash-card-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.dash-card-header h3{color:var(--text-primary);align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.dash-card-header h3 svg{color:var(--brand-action,var(--primary))}.dash-card-action{font-family:var(--font-main);color:var(--brand-action,var(--primary));cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;font-size:12.5px;font-weight:600;transition:opacity .2s;display:flex}.dash-card-action:hover{opacity:.7}.dash-patient-table{padding:0}.dash-table-header{background:var(--surface);border-bottom:1px solid var(--border-light);padding:10px 22px;display:flex}.dash-th{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);font-size:10.5px;font-weight:700}.dash-table-row{border-bottom:1px solid var(--border-light);cursor:pointer;align-items:center;padding:14px 22px;transition:background .15s;animation:.3s ease-out both statFadeIn;display:flex}.dash-table-row:last-child{border-bottom:none}.dash-table-row:hover{background:var(--primary-50)}.dash-td{align-items:center;display:flex}.dash-patient-cell{align-items:center;gap:12px;display:flex}.dash-mini-avatar{background:linear-gradient(135deg, var(--primary-100), var(--primary-200));width:36px;height:36px;color:var(--brand-action,var(--primary));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.dash-table-row:hover .dash-mini-avatar{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:var(--on-primary,#fff)}.dash-patient-name{color:var(--text-primary);font-size:13.5px;font-weight:600}.dash-patient-meta{color:var(--text-muted);margin-top:1px;font-size:11.5px}.dash-test-name{color:var(--text-secondary);font-size:13px;font-weight:500}.dash-status-badge{border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.dash-status-dot{border-radius:50%;width:6px;height:6px}.dash-time{color:var(--text-muted);font-size:12px;font-weight:450}.dash-activity-list{padding:18px 22px 8px}.dash-activity-item{gap:14px;animation:.3s ease-out both statFadeIn;display:flex}.dash-activity-icon-wrap{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.dash-activity-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.dash-activity-dot.register{background:var(--brand-action,var(--primary))}.dash-activity-dot.report{background:#2563eb}.dash-activity-dot.sample{background:#7c3aed}.dash-activity-dot.test{background:#ea580c}.dash-activity-dot.verify{background:#059669}.dash-activity-line{background:var(--border);flex:1;width:2px;min-height:20px;margin:4px 0}.dash-activity-content{padding-bottom:20px}.dash-activity-text{color:var(--text-primary);font-size:13px;font-weight:500;line-height:1.4}.dash-activity-time{color:var(--text-muted);margin-top:2px;font-size:11.5px}.dash-quick-stats{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:var(--on-primary,#fff);border-radius:14px;margin:8px 16px 16px;padding:18px}.dash-quick-title{opacity:.9;margin-bottom:14px;font-size:13px;font-weight:700}.dash-quick-row{border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.dash-quick-row:last-child{border-bottom:none}.dash-quick-label{opacity:.7;font-size:12px;font-weight:450}.dash-quick-value{font-size:15px;font-weight:700}@media (max-width:1100px){.dash-stats-grid{grid-template-columns:repeat(2,1fr)}.dash-content-grid{grid-template-columns:1fr}}@media (max-width:768px){.dash-sidebar{z-index:1000;height:100vh;box-shadow:var(--shadow-sidebar);transition:left .3s;position:fixed;left:-240px}.dash-sidebar.mobile-open{left:0}.dash-content{padding:16px}.dash-topbar{padding:12px 16px}.dash-welcome-text h1{font-size:20px}.dash-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.dash-stat-card{padding:16px}.dash-stat-value{font-size:22px}.dash-stat-icon{border-radius:10px;width:40px;height:40px}.dash-welcome-actions{width:100%}.dash-btn-primary,.dash-btn-secondary{flex:1;justify-content:center}}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;background:#0f172a73;justify-content:center;align-items:center;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-xl);width:90%;max-width:440px;box-shadow:var(--shadow-xl);text-align:center;animation:modalSlideUp .3s var(--ease-spring);background:#fff;padding:32px}.modal-header{flex-direction:column;align-items:center;gap:16px;margin-bottom:20px;display:flex}.modal-icon-warning{color:#d97706;background:#fef3c7;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:28px;font-weight:800;display:flex;box-shadow:0 0 0 10px #fff9db}.modal-content h4{color:var(--text-primary);margin:0;font-size:20px;font-weight:700}.modal-content p{color:var(--text-secondary);margin-bottom:32px;font-size:14.5px;line-height:1.6}.modal-actions{gap:12px;display:flex}.btn-modal-cancel{border:1.5px solid var(--border);height:48px;color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;background:#fff;flex:1;font-size:14px;font-weight:600;transition:all .2s}.btn-modal-cancel:hover{background:var(--surface);color:var(--text-primary)}.btn-modal-confirm{background:linear-gradient(135deg, var(--primary), var(--primary-dark));height:48px;color:var(--on-primary,#fff);border-radius:var(--radius-md);cursor:pointer;border:none;flex:1;font-size:14px;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #0d94884d}.btn-modal-confirm:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0d948866}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.lims-error-text{color:#ef4444;animation:errorSlideIn .2s var(--ease-out);align-items:center;gap:4px;margin-top:4px;font-size:11.5px;font-weight:500;display:flex}.lims-input.invalid,.lims-select.invalid{background-color:#fffafb!important;border-color:#fca5a5!important}.lims-input.invalid:focus,.lims-select.invalid:focus{box-shadow:0 0 0 3px #ef44441a!important}@keyframes errorSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.developer-shell{background:var(--surface);min-height:100vh;color:var(--text-primary);grid-template-columns:280px minmax(0,1fr);display:grid}.developer-sidebar{border-right:1px solid var(--border);z-index:30;background:#fff;flex-direction:column;height:100vh;padding:18px;display:flex;position:sticky;top:0}.developer-sidebar-brand{border-bottom:1px solid var(--border-light);align-items:center;gap:12px;padding:6px 4px 18px;display:flex}.developer-sidebar-logo{background:linear-gradient(135deg, var(--primary), var(--primary-dark));width:40px;height:40px;color:var(--on-primary,#fff);border-radius:8px;place-items:center;display:grid}.developer-sidebar-brand strong{font-size:15px;font-weight:900;display:block}.developer-sidebar-brand span{color:var(--text-muted);font-size:12px;font-weight:700}.developer-sidebar-nav{flex:1;padding:18px 0;overflow-y:auto}.developer-sidebar-section{margin-bottom:18px}.developer-sidebar-section p{color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase;margin:0 0 8px;padding:0 8px;font-size:11px;font-weight:900}.developer-sidebar-link,.developer-sidebar-logout,.developer-primary-link,.developer-secondary-link,.developer-action-grid a{font-family:var(--font-main);cursor:pointer;border-radius:8px;align-items:center;gap:10px;font-weight:800;text-decoration:none;display:inline-flex}.developer-sidebar-link{width:100%;min-height:42px;color:var(--text-secondary);padding:0 10px;font-size:13px}.developer-sidebar-link:hover,.developer-sidebar-link.active{background:var(--primary-50);color:var(--brand-action,var(--primary))}.developer-sidebar-link span,.developer-sidebar-logout svg{display:inline-flex}.developer-sidebar-logout{color:#dc2626;background:#fff;border:1px solid #fecaca;justify-content:center;width:100%;min-height:42px}.developer-sidebar-backdrop{display:none}.developer-main{min-width:0}.developer-topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#f8fafceb;justify-content:space-between;align-items:center;gap:16px;min-height:76px;padding:14px 28px;display:flex;position:sticky;top:0}.developer-topbar h1{margin:0;font-size:22px;font-weight:900}.developer-menu-button{border:1px solid var(--border);width:40px;height:40px;color:var(--text-primary);background:#fff;border-radius:8px;display:none}.developer-user-pill{border:1px solid var(--border);min-width:0;color:var(--text-secondary);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:800;display:inline-flex}.developer-user-pill span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.developer-content{padding:28px}.developer-page{width:100%;color:var(--text-primary)}.developer-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.developer-kicker{color:var(--brand-action,var(--primary));letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:800}.developer-header h1{margin:0;font-size:28px;font-weight:800}.developer-page-actions{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.developer-page-actions h2{margin:0 0 4px;font-size:26px;font-weight:900}.developer-page-actions span,.developer-header span,.developer-panel-header p,.developer-lab-card span,.developer-empty{color:var(--text-secondary);font-size:13px}.developer-logout,.developer-submit,.developer-success a,.developer-lab-card a,.developer-link-actions a,.developer-link-actions button{font-family:var(--font-main);cursor:pointer;border:none;border-radius:8px;font-weight:700;text-decoration:none}.developer-link-actions a,.developer-link-actions button{min-height:36px}.developer-primary-link,.developer-secondary-link{white-space:nowrap;border:1px solid #0000;min-height:40px;padding:0 14px}.developer-primary-link{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:var(--on-primary,#fff)}.developer-secondary-link{border-color:var(--border);color:var(--brand-action,var(--primary));background:#fff}.developer-logout{color:#dc2626;border:1px solid var(--border);background:#fff;height:40px;padding:0 16px}.developer-alert,.developer-success{border-radius:8px;margin-bottom:18px;padding:14px 16px}.developer-alert{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.developer-success{background:#ecfdf5;border:1px solid #bbf7d0;justify-content:space-between;align-items:center;gap:12px;display:flex}.developer-success span{color:#047857}.developer-created-domain-map{border-top:1px solid #bbf7d0;gap:10px;margin-top:12px;padding-top:12px;display:grid}.developer-created-domain-map h3{color:#064e3b;margin:0 0 6px;font-size:14px;font-weight:900}.developer-created-domain-map>span{color:#047857;font-size:12px;display:block}.developer-success a,.developer-lab-card a,.developer-link-actions a,.developer-link-actions button{background:var(--brand-action,var(--primary));min-height:36px;color:var(--on-primary,#fff);justify-content:center;align-items:center;padding:0 14px;display:inline-flex}.developer-link-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.developer-link-actions a,.developer-link-actions button{color:var(--brand-action,var(--primary));border:1px solid color-mix(in srgb, var(--primary) 28%, var(--border));white-space:nowrap;background:#fff;gap:7px}.developer-link-actions button.danger{color:#dc2626;border-color:#fecaca}.developer-link-actions a:hover,.developer-link-actions button:hover:not(:disabled){background:var(--primary-50)}.developer-link-actions button.danger:hover:not(:disabled){background:#fef2f2}.developer-link-actions button:disabled{opacity:.6;cursor:not-allowed}.developer-url-link{border:1px solid var(--border);width:100%;max-width:100%;color:var(--text-secondary);overflow-wrap:anywhere;text-transform:none;text-align:left;cursor:pointer;background:#fff;border-radius:8px;margin-top:8px;padding:7px 9px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.4;display:block}.developer-url-link:hover{border-color:var(--brand-action,var(--primary));color:var(--brand-action,var(--primary))}.developer-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);align-items:start;gap:20px;display:grid}.developer-two-column{grid-template-columns:minmax(0,1fr) minmax(320px,.75fr);align-items:start;gap:20px;display:grid}.developer-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.developer-summary-card{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:8px;padding:18px}.developer-summary-card span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:800;display:block}.developer-summary-card strong{margin-top:8px;font-size:28px;font-weight:900;display:block}.developer-panel{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:8px;padding:22px}.developer-wizard-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:22px;display:grid}.developer-wizard-steps button{border:1px solid var(--border);min-height:54px;color:var(--text-secondary);font-family:var(--font-main);cursor:pointer;text-align:left;background:#fff;border-radius:8px;align-items:center;gap:8px;font-size:12px;font-weight:800;display:flex}.developer-wizard-steps button.active{border-color:var(--brand-action,var(--primary));background:var(--primary-50);color:var(--brand-action,var(--primary))}.developer-wizard-steps span{background:var(--surface);width:24px;height:24px;color:inherit;border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:900;display:inline-grid}.developer-wizard-actions{border-top:1px solid var(--border-light);justify-content:flex-end;gap:12px;margin-top:22px;padding-top:18px;display:flex}.developer-wizard-actions button{border:1px solid var(--border);width:160px;min-height:42px;color:var(--text-secondary);font-family:var(--font-main);cursor:pointer;background:#fff;border-radius:8px;padding:0 16px;font-weight:800}.developer-wizard-actions .developer-submit{width:160px;height:42px;margin-top:0}.developer-wizard-actions .developer-submit:last-child:not(:only-child){min-width:160px}.developer-wizard-actions button:disabled{opacity:.55;cursor:not-allowed}.developer-panel-header{margin-bottom:18px}.developer-panel-header h2{margin:0 0 4px;font-size:18px;font-weight:800}.developer-panel-header p{margin:0}.developer-step-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-bottom:14px;padding:10px 12px;font-size:13px;font-weight:700}.developer-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.developer-form-grid label,.developer-colors label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:6px;font-size:12px;font-weight:800;display:flex}.developer-form-grid input,.developer-form-grid select{border:1.5px solid var(--border);height:42px;font-family:var(--font-main);color:var(--text-primary);border-radius:8px;outline:none;padding:0 12px;font-size:14px}.password-field-wrapper{width:100%;position:relative}.developer-form-grid .password-field-wrapper input,.settings-form-grid .password-field-wrapper input{width:100%;padding-right:42px}.password-toggle-button{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.password-toggle-button:hover,.password-toggle-button:focus-visible{color:var(--brand-action,var(--primary));background:#0d948814}.developer-form-grid input.invalid,.developer-form-grid select.invalid,.settings-form-grid input.invalid{background:#fff7f7;border-color:#ef4444}.developer-form-grid label em{color:#b91c1c;letter-spacing:0;text-transform:none;font-size:11px;font-style:normal;font-weight:700;line-height:1.35}.developer-form-grid label small{color:var(--text-muted);letter-spacing:0;text-transform:none;font-size:11px;font-weight:700;line-height:1.35}.developer-field-error{color:#b91c1c;margin-top:8px;font-size:12px;font-style:normal;font-weight:700;display:block}.settings-form-grid label em{color:#b91c1c;letter-spacing:0;font-size:11px;font-style:normal;font-weight:700;line-height:1.35}.developer-form-grid input:focus,.developer-form-grid select:focus{border-color:var(--brand-action,var(--primary));box-shadow:0 0 0 3px #0d94881a}.developer-colors{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px;display:grid}.developer-branding-fields{margin-top:18px}.developer-branding-fields.flush,.developer-module-picker.flush{margin-top:0}.developer-logo-preview{border:1px solid var(--border);width:76px;height:76px;box-shadow:var(--shadow-xs);background-color:#fff;background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:8px;margin-top:12px}.developer-colors input{border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;height:42px;padding:4px}.developer-submit{background:linear-gradient(135deg, var(--primary), var(--primary-dark));width:100%;height:46px;color:var(--on-primary,#fff);margin-top:18px}.developer-submit:disabled{opacity:.55;cursor:not-allowed}.developer-lab-list{flex-direction:column;gap:10px;display:flex}.developer-lab-card{border:1px solid var(--border);border-radius:8px;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.developer-lab-swatch{border-radius:999px;width:12px;height:46px}.developer-lab-card h3{margin:0 0 2px;font-size:14px;font-weight:800}.developer-lab-card small{color:var(--text-muted);margin-top:3px;font-size:11px;line-height:1.35;display:block}.developer-production-url{color:var(--text-muted);overflow-wrap:anywhere;margin-top:6px;font-size:11px;line-height:1.35;display:block}.developer-credential-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.developer-credential-grid div{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:0;padding:8px}.developer-credential-grid div>span{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:900;display:block}.developer-credential-grid button{border:1px solid var(--border);width:100%;min-height:30px;color:var(--text-primary);text-align:left;cursor:pointer;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.35;display:flex}.developer-credential-grid button span{overflow-wrap:anywhere;min-width:0}.developer-credential-grid button svg{flex:none}.developer-credential-grid button:hover:not(:disabled){border-color:var(--brand-action,var(--primary));color:var(--brand-action,var(--primary))}.developer-credential-grid button:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.7}.developer-empty-state{border:1px dashed var(--border);background:var(--surface);text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:220px;display:flex}.developer-empty-state strong{font-size:16px}.developer-empty-state span{color:var(--text-secondary);font-size:13px}.developer-compact-list,.developer-setting-list{flex-direction:column;gap:10px;display:flex}.developer-compact-list article,.developer-setting-list article{border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.developer-compact-list strong,.developer-setting-list strong{font-size:13px;display:block}.developer-compact-list span,.developer-compact-list small,.developer-setting-list span{color:var(--text-muted);font-size:12px}.developer-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.developer-action-grid a{border:1px solid var(--border);background:var(--surface);min-height:48px;color:var(--text-primary);padding:0 12px;font-size:13px}.developer-action-grid a:hover{border-color:var(--brand-action,var(--primary));color:var(--brand-action,var(--primary))}.developer-module-catalog{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.developer-module-catalog.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.developer-module-catalog article{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-height:116px;padding:14px;position:relative}.developer-module-catalog strong,.developer-module-catalog span,.developer-module-catalog small{display:block}.developer-module-catalog strong{font-size:14px;font-weight:900}.developer-module-catalog span{color:var(--brand-action,var(--primary));margin-top:6px;font-size:12px;font-weight:800}.developer-module-catalog small{color:var(--text-muted);overflow-wrap:anywhere;margin-top:8px;font-size:11px}.developer-module-catalog em{color:#047857;text-transform:uppercase;background:#ecfdf5;border-radius:999px;padding:4px 8px;font-size:10px;font-style:normal;font-weight:900;position:absolute;bottom:10px;right:10px}.developer-config-section{margin-bottom:20px}.developer-subsection-header{margin-top:22px}.developer-config-actions{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;padding-top:16px;display:flex}.developer-primary-link:disabled,.developer-secondary-link:disabled{opacity:.55;cursor:not-allowed}.developer-config-note,.settings-config-note{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:12px 14px;font-size:13px;font-weight:700;line-height:1.5}.permission-matrix{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.permission-group{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow:hidden}.permission-group-header{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;display:flex}.permission-group-header strong{color:var(--text-primary);text-transform:capitalize;font-size:13px;font-weight:900}.permission-group-header span{color:var(--text-muted);white-space:nowrap;font-size:11px;font-weight:800}.permission-checkbox{border-bottom:1px solid var(--border-light);cursor:pointer;align-items:flex-start;gap:10px;min-height:54px;padding:10px 12px;display:flex}.permission-checkbox:last-child{border-bottom:none}.permission-checkbox input{width:16px;height:16px;accent-color:var(--brand-action,var(--primary));flex:none;margin-top:2px}.permission-checkbox span{min-width:0}.permission-checkbox strong,.permission-checkbox small{display:block}.permission-checkbox strong{color:var(--text-primary);font-size:12px;font-weight:800}.permission-checkbox small{color:var(--text-muted);overflow-wrap:anywhere;margin-top:3px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:10px;line-height:1.35}.settings-page{width:100%}.settings-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.settings-header h1{color:var(--text-primary);margin:0 0 6px;font-size:28px;font-weight:900}.settings-header span,.settings-panel-header p{color:var(--text-secondary);font-size:13px}.settings-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.settings-summary-grid article,.settings-panel{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:8px}.settings-summary-grid article{padding:18px}.settings-summary-grid span{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:800;display:block}.settings-summary-grid strong{margin-top:8px;font-size:28px;font-weight:900;display:block}.settings-two-column{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:20px;margin-bottom:20px;display:grid}.settings-panel{margin-bottom:20px;padding:22px}.settings-panel-header{margin-bottom:16px}.settings-panel-header h2{margin:0 0 4px;font-size:18px;font-weight:900}.settings-role-list{flex-direction:column;gap:8px;display:flex}.settings-role-row{align-items:stretch;gap:8px;display:flex}.settings-role-list button{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);font-family:var(--font-main);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.settings-role-row>button:first-child{flex:1}.settings-role-list button.active{border-color:var(--brand-action,var(--primary));background:var(--primary-50);color:var(--brand-action,var(--primary))}.settings-role-list strong,.settings-role-list span{text-align:left;display:block}.settings-role-list span{color:var(--text-muted);font-size:12px}.settings-role-delete{flex:none;min-width:92px;color:#b42318!important;background:#fff4f4!important;border-color:#f3b7b7!important;justify-content:center!important}.settings-role-delete:disabled{color:var(--text-muted)!important;background:var(--surface)!important;border-color:var(--border)!important}.settings-user-edit{margin-top:20px}.settings-user-edit .developer-config-actions,.settings-user-list-panel .developer-config-actions{justify-content:flex-start;gap:12px}.settings-user-edit .developer-config-actions button{white-space:nowrap;justify-content:center;min-width:132px}.settings-user-list-panel{margin-top:20px}.settings-user-list{gap:12px}.settings-user-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:stretch;gap:12px;padding:4px 0;display:grid}.settings-user-row>button:first-child{min-width:0}.settings-user-row>button:not(:first-child){justify-content:center;min-width:110px}.settings-user-row .danger{color:#b42318;background:#fff4f4;border-color:#f3b7b7}.profile-page{gap:20px}.profile-hero{align-items:center;gap:18px;display:flex}.profile-avatar{background:var(--brand-action,var(--primary));width:72px;height:72px;color:var(--on-primary,#fff);border-radius:8px;flex:none;place-items:center;font-size:30px;font-weight:900;display:grid}.profile-hero h3{color:var(--text-primary);margin:0 0 6px;font-size:24px;font-weight:900}.profile-hero p{color:var(--text-secondary);margin:0;font-size:14px;font-weight:700}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.profile-detail-list{gap:14px;margin:0;display:grid}.profile-detail-list div{border-bottom:1px solid var(--border-light);grid-template-columns:120px minmax(0,1fr);align-items:center;gap:12px;padding-bottom:12px;display:grid}.profile-detail-list div:last-child{border-bottom:0;padding-bottom:0}.profile-detail-list dt{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:900}.profile-detail-list dd{min-width:0;color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:800}.profile-permission-list{flex-wrap:wrap;gap:10px;display:flex}.profile-permission-list span{border:1px solid var(--border);background:var(--surface);min-height:34px;color:var(--text-secondary);border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:800;display:inline-flex}.profile-permission-list svg{width:16px;height:16px;color:var(--brand-action,var(--primary))}.settings-inline-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:12px;display:grid}.settings-inline-form input,.settings-form-grid input,.settings-form-grid select{border:1.5px solid var(--border);height:42px;color:var(--text-primary);font-family:var(--font-main);border-radius:8px;outline:none;padding:0 12px}.settings-inline-form button{background:var(--primary);min-height:42px;color:var(--on-primary,#fff);font-family:var(--font-main);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:7px;padding:0 12px;font-weight:800;display:inline-flex}.settings-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.settings-form-grid label{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;flex-direction:column;gap:6px;font-size:12px;font-weight:800;display:flex}.settings-section-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.settings-section-grid article{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-height:112px;padding:14px}.settings-section-grid strong,.settings-section-grid span{display:block}.settings-section-grid strong{font-size:14px;font-weight:900}.settings-section-grid span{color:var(--text-secondary);margin-top:8px;font-size:12px;line-height:1.45}.settings-branding-grid{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:18px;display:grid}.settings-file-label{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;flex-direction:column;gap:8px;font-size:12px;font-weight:800;display:flex}.settings-file-label input{border:1.5px solid var(--border);color:var(--text-primary);font-family:var(--font-main);background:#fff;border-radius:8px;padding:10px}.developer-module-picker{margin-top:18px}.developer-module-picker .developer-panel-header{margin-bottom:10px}.developer-module-picker .developer-panel-header h2{font-size:14px}.developer-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.developer-module-option{border:1px solid var(--border);min-height:40px;color:var(--text-secondary);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:700;display:flex}.developer-module-option input{width:16px;height:16px;accent-color:var(--brand-action,var(--primary))}.developer-highlight-custom{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px;display:grid}.developer-highlight-custom input{border:1.5px solid var(--border);height:40px;font-family:var(--font-main);border-radius:8px;outline:none;padding:0 11px;font-size:13px}.developer-highlight-custom input:focus{border-color:var(--brand-action,var(--primary));box-shadow:0 0 0 3px #0d94881a}.developer-highlight-custom input.invalid{background:#fff7f7;border-color:#ef4444}.developer-highlight-custom button,.developer-highlight-selected button{border:1px solid var(--border);color:var(--brand-action,var(--primary));font-family:var(--font-main);cursor:pointer;background:#fff;border-radius:8px;font-size:12px;font-weight:800}.developer-highlight-custom button{min-width:64px}.developer-inline-form{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.developer-inline-form input{border:1.5px solid var(--border);height:42px;color:var(--text-primary);font-family:var(--font-main);border-radius:8px;outline:none;padding:0 12px;font-size:14px}.developer-inline-form input:focus{border-color:var(--brand-action,var(--primary));box-shadow:0 0 0 3px #0d94881a}.developer-inline-form button{background:var(--brand-action,var(--primary));min-height:42px;color:var(--on-primary,#fff);font-family:var(--font-main);cursor:pointer;border:none;border-radius:8px;padding:0 16px;font-size:13px;font-weight:800}.developer-inline-form button:disabled{opacity:.55;cursor:not-allowed}.developer-domain-records{gap:8px;margin-top:12px;display:grid}.developer-dns-record{border:1px solid var(--border);background:#fff;border-radius:8px;gap:6px;padding:10px;display:grid}.developer-dns-record strong{color:var(--brand-action,var(--primary));margin-bottom:2px;font-size:12px;font-weight:900}.developer-dns-record button{border:1px solid var(--border);background:var(--surface,#f9f9f9);cursor:pointer;text-align:left;border-radius:6px;align-items:center;gap:8px;width:100%;padding:7px 10px;display:flex}.developer-dns-record button span{width:44px;color:var(--text-secondary);text-transform:uppercase;flex-shrink:0;font-size:11px;font-weight:700}.developer-dns-record button code{overflow-wrap:anywhere;color:var(--text-primary);flex:1;font-size:12px}.developer-dns-record button svg{opacity:.4;flex-shrink:0}.developer-dns-record button:hover svg{opacity:1}.developer-highlight-selected{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.developer-highlight-selected button{background:var(--primary-50);min-height:30px;padding:0 10px}.developer-domain-default,.developer-lab-domain-summary{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:6px;padding:12px;display:grid}.developer-domain-default span,.developer-lab-domain-summary>span{color:var(--text-secondary);text-transform:uppercase;font-size:11px;font-weight:900}.developer-domain-default strong,.developer-lab-domain-summary button{overflow-wrap:anywhere}.developer-domain-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.developer-domain-mode-grid button{border:1px solid var(--border);min-height:92px;color:var(--text-primary);font-family:var(--font-main);text-align:left;cursor:pointer;background:#fff;border-radius:8px;gap:6px;padding:12px;display:grid}.developer-domain-mode-grid button.active{border-color:var(--brand-action,var(--primary));background:#0d948814;box-shadow:0 0 0 3px #0d94881a}.developer-domain-mode-grid strong{font-size:13px;font-weight:900}.developer-domain-mode-grid span{color:var(--text-secondary);font-size:12px;line-height:1.45}.developer-lab-domain-summary{margin-top:12px}.developer-lab-domain-summary button,.developer-domain-pill-list button{border:1px solid var(--border);min-height:34px;color:var(--text-primary);font-family:var(--font-main);cursor:pointer;text-align:left;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;font-size:12px;font-weight:800;display:inline-flex}.developer-lab-domain-summary button{padding:0 10px}.developer-domain-pill-list{flex-wrap:wrap;gap:8px;display:flex}.developer-domain-pill-list button{padding:6px 9px}.developer-domain-pill-list small{color:var(--text-secondary);text-transform:capitalize;font-size:11px}.tenant-onboarding-page{background:var(--surface);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.tenant-onboarding-panel{border:1px solid var(--border);width:min(100%,520px);box-shadow:var(--shadow-lg);background:#fff;border-radius:8px;padding:28px}.tenant-onboarding-header{margin-bottom:24px}.tenant-onboarding-header p{color:var(--brand-action,var(--primary));letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:800}.tenant-onboarding-header h1{color:var(--text-primary);margin:0 0 6px;font-size:28px;font-weight:800}.tenant-onboarding-header span{color:var(--text-secondary);font-size:14px}.tenant-onboarding-form{flex-direction:column;gap:16px;display:flex}.tenant-onboarding-form label{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;flex-direction:column;gap:7px;font-size:12px;font-weight:800;display:flex}.tenant-onboarding-form input{border:1.5px solid var(--border);height:46px;color:var(--text-primary);font-family:var(--font-main);text-transform:none;border-radius:8px;outline:none;padding:0 13px;font-size:14px}.tenant-onboarding-form input:focus{border-color:var(--brand-action,var(--primary));box-shadow:0 0 0 3px #0d94881a}.tenant-onboarding-status{border:1px solid var(--border);min-height:40px;color:var(--text-secondary);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;font-size:13px;font-weight:700;display:flex}.tenant-onboarding-status.available{color:#047857;background:#f0fdf4;border-color:#86efac}.tenant-onboarding-status.invalid,.tenant-onboarding-status.taken{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.tenant-onboarding-status.checking{border-color:var(--primary-200);background:var(--primary-50);color:var(--brand-action,var(--primary))}.tenant-onboarding-status button{color:var(--brand-action,var(--primary));font-family:var(--font-main);cursor:pointer;background:#fff;border:none;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:800}.tenant-onboarding-preview{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:12px}.tenant-onboarding-preview span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:800;display:block}.tenant-onboarding-preview strong{color:var(--text-primary);overflow-wrap:anywhere;margin-top:4px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;display:block}.tenant-onboarding-form>button{background:linear-gradient(135deg, var(--primary), var(--primary-dark));height:46px;color:var(--on-primary,#fff);font-family:var(--font-main);cursor:pointer;border:none;border-radius:8px;font-size:14px;font-weight:800}.tenant-onboarding-form>button:disabled{opacity:.55;cursor:not-allowed}.tenant-onboarding-form>a{color:var(--brand-action,var(--primary));text-align:center;font-size:13px;font-weight:800;text-decoration:none}@media (max-width:960px){.developer-shell{display:block}.developer-sidebar{width:min(86vw,300px);transition:transform .22s;position:fixed;top:0;left:0;transform:translate(-105%)}.developer-sidebar.open{transform:translate(0)}.developer-sidebar-backdrop{opacity:0;pointer-events:none;z-index:25;background:#0f172a6b;transition:opacity .2s;display:block;position:fixed;inset:0}.developer-sidebar-backdrop.open{opacity:1;pointer-events:auto}.developer-menu-button{flex:none;place-items:center;display:grid}.developer-topbar{align-items:flex-start;padding:14px 18px}.developer-user-pill{max-width:170px}.developer-content{padding:18px}.developer-grid,.developer-form-grid,.developer-two-column,.developer-summary-grid,.developer-wizard-steps,.developer-module-catalog,.developer-module-catalog.compact,.permission-matrix,.settings-summary-grid,.settings-two-column,.profile-grid,.settings-form-grid,.settings-section-grid,.settings-branding-grid{grid-template-columns:1fr}.profile-hero{align-items:flex-start}.profile-detail-list div{grid-template-columns:1fr;gap:4px}.settings-inline-form{grid-template-columns:1fr}.settings-user-row{grid-template-columns:1fr;gap:10px}.settings-user-row>button:first-child{grid-column:auto}.settings-user-row>button:not(:first-child){width:100%}.settings-user-edit .developer-config-actions{flex-direction:column;align-items:stretch}.settings-user-edit .developer-config-actions button{width:100%}.developer-colors,.developer-module-grid{grid-template-columns:1fr}.developer-wizard-actions{flex-direction:column-reverse;align-items:stretch}.developer-wizard-actions button{width:100%}.developer-success,.developer-header,.developer-page-actions{flex-direction:column;align-items:flex-start}.developer-lab-card{grid-template-columns:12px minmax(0,1fr)}.developer-lab-card .developer-link-actions{grid-column:2;justify-content:flex-start}.developer-credential-grid{grid-template-columns:1fr}}.module-page{width:100%}.module-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.module-kicker{color:var(--brand-action,var(--primary));letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:800}.module-header h1,.report-title-row h2{color:var(--text-primary);margin:0;font-size:26px;font-weight:800}.module-header span,.report-title-row span,.module-panel-header p{color:var(--text-secondary);font-size:13px}.module-alert{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:16px;padding:12px 14px;font-size:13px;font-weight:700}.module-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.75fr);align-items:start;gap:18px;display:grid}.module-panel{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:8px;padding:20px}.module-panel-header{margin-bottom:16px}.module-panel-header.compact{margin-top:22px}.module-panel-header h2,.module-subhead h3{color:var(--text-primary);margin:0 0 4px;font-size:17px;font-weight:800}.module-form{flex-direction:column;gap:16px;display:flex}.module-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.module-form-grid label,.module-full-label{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;flex-direction:column;gap:6px;font-size:12px;font-weight:800;display:flex}.module-form-grid input,.module-form-grid select,.module-full-label textarea,.category-inline-form input,.parameter-row input,.result-entry-row input{border:1.5px solid var(--border);width:100%;color:var(--text-primary);font-family:var(--font-main);background:#fff;border-radius:8px;outline:none;font-size:13px}.module-form-grid input,.module-form-grid select,.category-inline-form input,.parameter-row input,.result-entry-row input{height:40px;padding:0 11px}.module-full-label textarea{resize:vertical;padding:10px 11px}.module-form-grid input:focus,.module-form-grid select:focus,.module-full-label textarea:focus,.category-inline-form input:focus,.parameter-row input:focus,.result-entry-row input:focus{border-color:var(--brand-action,var(--primary));box-shadow:0 0 0 3px #0d94881a}.module-subhead,.report-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.module-icon-btn{border:1px solid var(--border);width:34px;height:34px;color:var(--brand-action,var(--primary));cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.module-icon-btn.danger{color:#dc2626}.parameter-list{flex-direction:column;gap:8px;display:flex}.parameter-row{grid-template-columns:minmax(120px,1.2fr) minmax(70px,.7fr) minmax(70px,.55fr) minmax(70px,.55fr) auto auto;align-items:center;gap:8px;display:grid}.parameter-check{min-height:40px;color:var(--text-secondary);white-space:nowrap;align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.parameter-check input{width:15px;height:15px;accent-color:var(--brand-action,var(--primary))}.module-save{justify-content:center;width:100%}.category-inline-form{grid-template-columns:1fr auto;gap:8px;display:grid}.test-card-list{flex-direction:column;gap:9px;display:flex}.test-card{border:1px solid var(--border);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;transition:all .2s;display:flex}.test-card:hover{border-color:var(--brand-action,var(--primary));background:var(--primary-50)}.test-card h3{margin:0 0 2px;font-size:14px;font-weight:800}.test-card span{color:var(--text-secondary);font-size:12px}.test-card strong{color:var(--brand-action,var(--primary));text-transform:uppercase;font-size:11px}.result-test-summary{border:1px solid var(--border);background:var(--surface);border-radius:8px;justify-content:space-between;gap:12px;padding:12px;display:flex}.result-test-summary span{color:var(--text-secondary);font-size:12px}.result-entry-table,.report-result-table{border:1px solid var(--border);border-radius:8px;overflow:hidden}.result-entry-head,.result-entry-row,.report-result-head,.report-result-row{align-items:center;gap:10px;padding:10px 12px;display:grid}.result-entry-head,.result-entry-row{grid-template-columns:minmax(140px,1.3fr) minmax(110px,1fr) minmax(60px,.6fr) minmax(90px,.8fr) minmax(70px,.6fr)}.report-result-head,.report-result-row{grid-template-columns:minmax(160px,1.3fr) minmax(90px,.8fr) minmax(70px,.6fr) minmax(100px,.8fr) minmax(80px,.6fr)}.result-entry-head,.report-result-head{background:var(--surface);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:800}.result-entry-row,.report-result-row{border-top:1px solid var(--border-light);color:var(--text-secondary);font-size:13px}.result-entry-row>span:first-child,.report-result-row>span:first-child{color:var(--text-primary);font-weight:700}.result-entry-row small{color:var(--text-muted);text-transform:uppercase;font-size:10px;font-weight:700;display:block}.result-entry-row.low,.result-entry-row.high,.report-result-row.low,.report-result-row.high{background:#fff7ed}.result-entry-row.low strong,.report-result-row.low span:last-child{color:#2563eb}.result-entry-row.high strong,.report-result-row.high span:last-child{color:#dc2626}.report-preview{margin-top:18px}.report-patient-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.report-patient-grid div{border:1px solid var(--border);border-radius:8px;padding:10px}.report-patient-grid span{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:800;display:block}.report-patient-grid strong{color:var(--text-primary);font-size:13px}.report-remarks{border-left:3px solid var(--primary);background:var(--primary-50);color:var(--text-secondary);margin:16px 0 0;padding:10px 12px;font-size:13px}.billing-test-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.billing-test-option{border:1px solid var(--border);cursor:pointer;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px;transition:all .2s;display:grid}.billing-test-option.selected{border-color:var(--brand-action,var(--primary));background:var(--primary-50)}.billing-test-option input{width:16px;height:16px;accent-color:var(--brand-action,var(--primary))}.billing-test-option strong,.billing-test-option small{display:block}.billing-test-option strong{color:var(--text-primary);font-size:13px}.billing-test-option small{color:var(--text-secondary);font-size:11px}.billing-test-option em{color:var(--brand-action,var(--primary));font-size:13px;font-style:normal;font-weight:800}.billing-total-row{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:8px;justify-content:space-between;align-items:center;padding:12px;font-size:13px;display:flex}.billing-total-row strong{color:var(--text-primary);font-size:18px}.sample-toolbar{grid-template-columns:180px 1fr 1.2fr;gap:12px;margin-bottom:16px;display:grid}.sample-toolbar label{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;flex-direction:column;gap:6px;font-size:12px;font-weight:800;display:flex}.sample-toolbar input,.sample-toolbar select{border:1.5px solid var(--border);height:40px;font-family:var(--font-main);border-radius:8px;outline:none;padding:0 11px;font-size:13px}.sample-table{border:1px solid var(--border);border-radius:8px;overflow:hidden}.sample-table-head,.sample-table-row{grid-template-columns:1fr 1.2fr 1.2fr .8fr .7fr 1.35fr;align-items:center;gap:10px;padding:11px 12px;display:grid}.sample-table-head{background:var(--surface);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:800}.sample-table-row{border-top:1px solid var(--border-light);color:var(--text-secondary);font-size:13px}.sample-table-row strong,.sample-table-row small{display:block}.sample-table-row strong{color:var(--text-primary)}.sample-table-row small{color:var(--text-muted);font-size:11px}.sample-table-row em{background:var(--surface);color:var(--text-secondary);text-transform:uppercase;border-radius:999px;padding:3px 8px;font-size:11px;font-style:normal;font-weight:800;display:inline-flex}.sample-table-row.collected em,.sample-table-row.processing em{color:#1d4ed8;background:#eff6ff}.sample-table-row.reported em{color:#047857;background:#ecfdf5}.sample-table-row.rejected em{color:#b91c1c;background:#fef2f2}.sample-actions{flex-wrap:wrap;gap:6px;display:flex}.sample-actions button{border:1px solid var(--border);min-height:30px;color:var(--text-secondary);font-family:var(--font-main);cursor:pointer;background:#fff;border-radius:7px;padding:0 9px;font-size:12px;font-weight:800}.sample-actions button:disabled{opacity:.45;cursor:not-allowed}@media (max-width:1100px){.module-grid,.module-form-grid,.report-patient-grid,.billing-test-grid,.sample-toolbar,.parameter-row,.result-entry-head,.result-entry-row,.report-result-head,.report-result-row,.sample-table-head,.sample-table-row{grid-template-columns:1fr}.module-header{flex-direction:column;align-items:flex-start}}@media print{.dash-sidebar,.dash-topbar,.dash-sidebar-toggle,.module-header,.module-grid,.dash-btn-secondary,.btn-lims-primary,.btn-lims-secondary,.module-alert{display:none!important}body{background:#fff}.dash-layout{display:block}.dash-main{width:100%}.dash-content{max-width:100%;padding:0}.report-preview{box-shadow:none;border:none;margin:0;padding:0}.report-title-row{border-bottom:2px solid #000;margin-bottom:16px;padding-bottom:12px}.report-title-row h2{font-size:20px}.report-patient-grid{grid-template-columns:repeat(4,1fr);margin-bottom:16px}.report-result-table{border:1px solid #ccc}.report-result-head{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f1f5f9!important}.report-result-row.low,.report-result-row.high{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff7ed!important}.module-panel.report-preview{display:block!important}}
