:root{--tenant-primary: #0f766e;--tenant-primary-hover: #115e59;--tenant-primary-light: #ccfbf1;--tenant-secondary: #0284c7;--tenant-secondary-hover: #0369a1;--tenant-secondary-light: #e0f2fe;--tenant-accent: #f59e0b;--color-success: #10b981;--color-success-bg: #ecfdf5;--color-success-border: #a7f3d0;--color-warning: #f59e0b;--color-warning-bg: #fffbeb;--color-warning-border: #fde68a;--color-danger: #ef4444;--color-danger-bg: #fef2f2;--color-danger-border: #fecaca;--color-info: #3b82f6;--color-info-bg: #eff6ff;--color-info-border: #bfdbfe;--bg-app: #f8fafc;--bg-surface: #ffffff;--bg-surface-elevated: #ffffff;--bg-subtle: #f1f5f9;--bg-muted: #e2e8f0;--border-subtle: #e2e8f0;--border-default: #cbd5e1;--border-strong: #94a3b8;--text-main: #0f172a;--text-muted: #64748b;--text-subtle: #94a3b8;--text-inverse: #ffffff;--font-family-base: "Inter", "Hind Siliguri", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-heading: "Inter", "Hind Siliguri", sans-serif;--font-family-mono: "JetBrains Mono", "Fira Code", Menlo, Monaco, Consolas, monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-glow: 0 0 15px -3px rgba(15, 118, 110, .3);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--sidebar-width: 260px;--sidebar-collapsed-width: 72px;--header-height: 64px}[data-theme=dark]{--bg-app: #0b1120;--bg-surface: #1e293b;--bg-surface-elevated: #334155;--bg-subtle: #0f172a;--bg-muted: #334155;--border-subtle: #334155;--border-default: #475569;--border-strong: #64748b;--text-main: #f8fafc;--text-muted: #94a3b8;--text-subtle: #64748b;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .6);--shadow-glow: 0 0 20px -3px rgba(20, 184, 166, .3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-family-base);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-main);background-color:var(--bg-app)}body,#root{min-height:100vh;display:flex;flex-direction:column}a{color:var(--tenant-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--tenant-primary-hover)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}img,svg{display:block;max-width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-subtle)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--tenant-primary)}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal),border-color var(--transition-normal)}.card:hover{border-color:var(--border-default);box-shadow:var(--shadow-md)}.card-glass{background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl)}[data-theme=dark] .card-glass{background:#1e293bd9;border:1px solid rgba(255,255,255,.08)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:500;font-size:var(--font-size-sm);padding:.625rem 1.25rem;border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--tenant-primary);color:var(--text-inverse);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--tenant-primary-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-secondary{background:var(--bg-subtle);color:var(--text-main);border:1px solid var(--border-default)}.btn-secondary:hover:not(:disabled){background:var(--bg-muted);border-color:var(--border-strong)}.btn-outline{background:transparent;color:var(--tenant-primary);border:1px solid var(--tenant-primary)}.btn-outline:hover:not(:disabled){background:var(--tenant-primary-light)}.form-group{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.form-label{font-size:var(--font-size-sm);font-weight:500;color:var(--text-main);display:flex;align-items:center;gap:var(--space-1)}.form-input{width:100%;padding:.625rem .875rem;font-size:var(--font-size-sm);border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-main);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--tenant-primary);box-shadow:0 0 0 3px var(--tenant-primary-light)}.form-input::placeholder{color:var(--text-subtle)}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.025em}.badge-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning-border)}.badge-info{background:var(--color-info-bg);color:var(--color-info);border:1px solid var(--color-info-border)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-border)}.role-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5);background:var(--bg-subtle);padding:var(--space-1);border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.role-tab-btn{flex:1 1 calc(25% - var(--space-2));min-width:90px;padding:.5rem;font-size:var(--font-size-xs);font-weight:600;border-radius:var(--radius-md);color:var(--text-muted);background:transparent;transition:all var(--transition-fast);text-align:center}.role-tab-btn:hover{color:var(--text-main);background:#ffffff80}.role-tab-btn.active{background:var(--bg-surface);color:var(--tenant-primary);box-shadow:var(--shadow-sm);border:1px solid var(--border-subtle)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@media print{body{background:#fff!important;color:#000!important;margin:0!important;padding:0!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.no-print,nav,aside,header,footer,button,.btn,.toast,.modal-backdrop{display:none!important}.print-container{position:absolute!important;left:0!important;top:0!important;width:100%!important;margin:0!important;padding:0!important;display:block!important}.print-thermal-58mm{width:48mm!important;max-width:48mm!important;margin:0 auto!important;padding:2mm!important;font-family:Courier New,Courier,monospace!important;font-size:11px!important;line-height:1.25!important;color:#000!important}.print-thermal-80mm{width:72mm!important;max-width:72mm!important;margin:0 auto!important;padding:3mm!important;font-family:Courier New,Courier,monospace!important;font-size:12px!important;line-height:1.3!important;color:#000!important}.print-a4{width:210mm!important;min-height:297mm!important;margin:0 auto!important;padding:15mm 20mm!important;box-sizing:border-box!important;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;font-size:13px!important;color:#000!important}.print-a5{width:148mm!important;min-height:210mm!important;margin:0 auto!important;padding:10mm 12mm!important;box-sizing:border-box!important;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;font-size:12px!important;color:#000!important}.print-table{width:100%!important;border-collapse:collapse!important;margin-top:8px!important;margin-bottom:8px!important}.print-table th,.print-table td{border:1px solid #000000!important;padding:4px 6px!important;font-size:inherit!important}.print-table th{background-color:#f1f5f9!important;font-weight:700!important;text-align:left!important}.page-break-before{page-break-before:always!important}.avoid-break{page-break-inside:avoid!important;break-inside:avoid!important}.lab-report-page{page-break-after:always!important;break-after:page!important;page-break-inside:avoid!important;break-inside:avoid!important;box-sizing:border-box!important;min-height:275mm!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important}.lab-report-page:last-child{page-break-after:auto!important;break-after:auto!important}.pad-mode-hide{display:none!important}.pad-mode-spacing{display:block!important}}
