/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.relative{position:relative}.ml-auto{margin-left:auto}.flex{display:flex}.inline-flex{display:inline-flex}.flex-grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.text-center{text-align:center}.whitespace-nowrap{white-space:nowrap}.uppercase{text-transform:uppercase}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}:root{--brand-primary:#1d4ed8;--brand-dark:#0f172a;--brand-light:#eff6ff;--slate:#1e3a8a;--slate-light:#eff6ff;--border:#bfdbfe;--text-main:#0f172a;--text-muted:#60a5fa;--bg:#fff;--white:#fff;--header-height:60px;--primary:#2563eb;--danger:#1e40af;--success:#3b82f6;--warning:#93c5fd;--drawer-width:500px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{width:100%;overflow-x:hidden}body{background-color:var(--bg);color:var(--text-main);font-family:Inter,-apple-system,sans-serif;line-height:1.5}.main-header{background:var(--slate);z-index:2000;border-bottom:1px solid var(--primary);height:var(--header-height);position:fixed;top:0;left:0;right:0}.header-top,.header-container{height:100%;color:var(--white);justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding:0 1.5rem;display:flex}.brand-title{text-transform:uppercase;letter-spacing:.5px;font-size:14px;font-weight:700}.header-controls{align-items:center;gap:15px;display:flex}.user-greeting{color:var(--border);border-right:1px solid var(--primary);padding-right:15px;font-size:13px}.btn-nav{color:var(--border);text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;min-height:40px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.btn-nav.active{background:var(--white);color:var(--slate)}.btn-nav:hover:not(.active){color:var(--white)}.notif-wrapper{position:relative}.btn-icon{background:var(--primary);color:var(--white);cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;min-height:40px;padding:6px 12px;font-size:12px;display:inline-flex;position:relative}.badge-alert{background:var(--slate);color:var(--white);border:2px solid var(--white);border-radius:10px;padding:2px 6px;font-size:10px;font-weight:700;position:absolute;top:-6px;right:-6px}.notif-panel{background:var(--white);border:1px solid var(--border);z-index:9999;width:320px;color:var(--text-main);border-radius:6px;position:absolute;top:48px;right:0;overflow:hidden;box-shadow:0 10px 25px -5px #00000026}.notif-header{background:var(--slate-light);border-bottom:1px solid var(--border);text-transform:uppercase;color:var(--slate);padding:12px 15px;font-size:12px;font-weight:700}.notif-body{max-height:350px;overflow-y:auto}.notif-empty{text-align:center;color:var(--text-muted);padding:20px;font-size:12px}.notif-item{border-bottom:1px solid var(--border);cursor:pointer;border-left:3px solid var(--primary);background:var(--white);padding:12px 15px;transition:background .2s}.notif-item:hover{background:var(--slate-light)}.notif-item-top{justify-content:space-between;margin-bottom:4px;font-size:12px;display:flex}.top-nav{background:var(--white);border:1px solid var(--border);border-radius:6px;gap:4px;max-width:600px;margin:0 auto 1.5rem;padding:6px;display:flex;box-shadow:0 1px 3px #2563eb1a}.top-nav button{text-transform:uppercase;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:1;min-height:40px;padding:10px 0;font-size:11px;font-weight:900;transition:all .2s}.top-nav button.active{background:var(--slate);color:var(--white)}.lab-app{padding-top:var(--header-height)}.content{max-width:1400px;margin:0 auto;padding:1.5rem 1rem}.card,.form-card,.kpi-card{background:var(--white);border:1px solid var(--border);border-radius:6px;margin-bottom:1rem;padding:1.25rem;box-shadow:0 1px 2px #2563eb0d}.card-title,.section-title{text-transform:uppercase;color:var(--slate);border-left:3px solid var(--primary);margin-bottom:1rem;padding-left:8px;font-size:11px;font-weight:800}.kpi-card{border-left-width:4px}.kpi-card.brand-blue{border-left-color:var(--primary)}.kpi-card.brand-blue-light{border-left-color:#60a5fa}.kpi-card.brand-blue-dark{border-left-color:var(--brand-dark)}.kpi-title{text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.kpi-value{color:var(--slate);margin-top:4px;font-size:1.75rem;font-weight:800}.input-field{background:var(--slate-light);border:1px solid var(--border);width:100%;color:var(--text-main);border-radius:4px;outline:none;min-height:40px;padding:.75rem;font-size:13px;transition:border .2s}.input-field:focus{border-color:var(--primary);background:var(--white)}.input-field:disabled,.input-field.disabled{opacity:.7;cursor:not-allowed;color:var(--slate);font-weight:600}.input-row,.form-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end;gap:.75rem;margin-bottom:.75rem;display:grid}.date-input-wrapper{width:100%;position:relative}.native-date-overlay{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.calendar-icon{pointer-events:none;opacity:.5;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.btn,.btn-primary{background:var(--primary);width:100%;color:var(--white);text-transform:uppercase;cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;min-height:40px;padding:.85rem;font-size:12px;font-weight:700;transition:opacity .2s;display:inline-flex}.btn:hover,.btn-primary:hover{opacity:.9}.btn-small,.btn-secondary{border:1px solid var(--primary);background:var(--white);color:var(--primary);text-transform:uppercase;cursor:pointer;border-radius:4px;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:8px 14px;font-size:11px;font-weight:700;display:inline-flex}.btn-small:hover,.btn-secondary:hover{background:var(--slate-light)}.btn-danger-solid{background:var(--brand-dark);color:var(--white);cursor:pointer;text-transform:uppercase;border:none;border-radius:4px;justify-content:center;align-items:center;min-height:40px;padding:8px 14px;font-size:11px;font-weight:600;display:inline-flex}.btn-action{background:var(--slate-light);border:1px solid var(--border);cursor:pointer;color:var(--slate);border-radius:4px;justify-content:center;align-items:center;min-width:34px;min-height:34px;margin-right:4px;padding:4px 8px;font-size:14px;display:inline-flex}.btn-action:hover{background:var(--border)}.btn-clear{color:var(--primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-height:40px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}.dashboard-layout{flex-wrap:nowrap;align-items:flex-start;gap:20px;width:100%;display:flex}.dashboard-sidebar{flex-direction:column;flex-shrink:0;gap:15px;width:250px;display:flex}.dashboard-main{flex-grow:1;min-width:0}.ledger-header{border-bottom:2px solid var(--slate);margin-bottom:10px;padding-bottom:5px}.ledger-header h2{color:var(--slate);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:1.4rem;font-weight:800}.toolbar{background:var(--white);border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px;padding:12px;display:flex}.search-group{flex-wrap:wrap;flex-grow:1;align-items:center;gap:12px;display:flex}.date-range-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.date-range-group .date-input-wrapper{width:140px}.operator-search{width:180px}.action-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.table-container{background:var(--white);border:1px solid var(--border);border-radius:6px;width:100%;max-height:70vh;overflow:auto;box-shadow:0 1px 3px #2563eb1a}.sheet-table,.enterprise-table{border-collapse:collapse;text-align:left;width:100%;min-width:1000px;font-size:12px}.sheet-table th,.enterprise-table th{background:var(--slate-light);border-bottom:2px solid var(--primary);color:var(--slate);white-space:nowrap;z-index:10;text-transform:uppercase;padding:12px;font-size:11px;position:sticky;top:0}.sheet-table td,.enterprise-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px}.sheet-table tr:hover,.enterprise-table tr:hover td{background:var(--slate-light)}.row-today td{background-color:var(--slate-light)}.row-edited td{border-left:2px solid var(--primary)}.dept-badge{text-transform:uppercase;border-radius:4px;padding:4px 8px;font-size:10px;font-weight:700}.dept-media{background:var(--primary);color:var(--white)}.dept-inoculation{background:var(--text-muted);color:var(--white)}.dept-growthroom{background:var(--slate);color:var(--white)}.dept-contamination{background:var(--white);color:var(--slate);border:1px solid var(--slate)}.drawer-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:99999;background:#0f172ab3;justify-content:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.drawer-content{width:var(--drawer-width);background:var(--white);flex-direction:column;height:100vh;animation:.3s cubic-bezier(.16,1,.3,1) forwards slideIn;display:flex;transform:translate(100%);box-shadow:-5px 0 25px #2563eb26}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{to{transform:translate(0)}}.drawer-header{border-bottom:1px solid var(--border);background:var(--slate-light);justify-content:space-between;align-items:flex-start;padding:20px;display:flex}.drawer-header h3{color:var(--slate);text-transform:uppercase;margin-bottom:4px;font-size:14px;font-weight:800}.btn-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.5rem;line-height:1}.btn-close:hover{color:var(--primary)}.drawer-body{background:var(--white);flex-direction:column;flex-grow:1;gap:15px;padding:20px;display:flex;overflow-y:auto}.chat-bubble{border-radius:6px;max-width:85%;padding:12px 15px;font-size:12px}.chat-bubble.admin{background:var(--slate-light);border:1px solid var(--border);color:var(--slate);border-bottom-right-radius:0;align-self:flex-end}.chat-bubble.operator{background:var(--white);border:1px solid var(--border);color:var(--text-main);border-bottom-left-radius:0;align-self:flex-start}.chat-bubble.system{background:var(--white);border:1px dashed var(--border);color:var(--text-muted);text-align:center;align-self:center;width:100%;max-width:100%;font-size:11px}.chat-header{text-transform:uppercase;opacity:.8;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:10px;font-weight:700;display:flex}.drawer-footer{border-top:1px solid var(--border);background:var(--slate-light);padding:20px}.reply-form{flex-direction:column;gap:10px;display:flex}.reply-form textarea{resize:vertical;border:1px solid var(--border);border-radius:4px;min-height:70px;padding:10px;font-family:inherit;font-size:13px}.startup-container{justify-content:center;align-items:center;min-height:calc(100vh - 100px);display:flex}.login-card{background:var(--white);border:1px solid var(--border);border-radius:6px;width:90%;padding:2.5rem;box-shadow:0 4px 12px #2563eb14;max-width:350px!important}.login-card h2{text-align:center;color:var(--slate);margin-bottom:1.5rem;font-size:14px;font-weight:800}.op-chip-list{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.op-chip{background:var(--primary);color:var(--white);border-radius:4px;align-items:center;gap:8px;padding:4px 10px;font-size:11px;display:flex}.op-chip button{color:var(--white);cursor:pointer;background:0 0;border:none;font-weight:700}.fw-500{font-weight:500}.fw-bold{font-weight:700}.text-micro{font-size:10px}.text-muted{color:var(--text-muted)}.text-alert{color:var(--slate)}.align-center{text-align:center}.truncate-text{white-space:nowrap;text-overflow:ellipsis;max-width:180px;overflow:hidden}.indicator-dot{background:var(--primary);border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.edit-warning-banner{background:var(--slate-light);color:var(--slate);border:1px solid var(--primary);border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:15px;padding:12px 16px;font-size:12px;font-weight:600;display:flex}@media (width<=1024px){.dashboard-layout{flex-direction:column}.dashboard-sidebar{flex-flow:wrap;width:100%}.kpi-card{flex:1;min-width:120px}}@media (width<=768px){.header-container{flex-direction:column;gap:10px;height:auto;padding:10px}.main-header{height:auto}.lab-app{padding-top:100px}.drawer-content{width:90vw}.notif-panel{width:300px;right:-50px}.toolbar{flex-direction:column;align-items:stretch}.search-group{flex-direction:column;width:100%}.action-group{justify-content:space-between;width:100%;margin-top:10px}.btn-secondary,.btn-primary{flex:1}.dashboard-layout{align-items:stretch!important}.dashboard-main{width:100%;max-width:100%;overflow:hidden}.table-container{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;display:block;overflow-x:auto}.dashboard-sidebar{gap:10px;flex-direction:column!important}.kpi-card{width:100%!important;margin:0!important}.search-group,.date-range-group{flex-direction:column;gap:8px;width:100%;align-items:stretch!important}.date-range-group .date-input-wrapper,.operator-search{width:100%!important}}@media print{.no-print,.drawer-overlay,.notif-panel{display:none!important}.lab-app{background:var(--white)!important;padding:0!important}body{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:var(--white);margin:0;padding:0}.content{max-width:100%!important;padding:0!important}.dashboard-layout{display:block!important}.dashboard-sidebar{display:none!important}.dashboard-main{width:100%!important;margin:0!important}.print-only-header{text-align:center;border-bottom:2px solid var(--slate);margin-bottom:20px;display:block!important}.print-only-header h2{color:var(--slate);font-size:18pt}.table-container{box-shadow:none!important;border:none!important;max-height:none!important;overflow:visible!important}.sheet-table,.enterprise-table{width:100%!important;min-width:100%!important;font-size:10px!important}.sheet-table th,.enterprise-table th{position:static!important}.sheet-table th,.sheet-table td,.enterprise-table th,.enterprise-table td{word-wrap:break-word;white-space:normal!important;border:1px solid #000!important;padding:4px!important}.sheet-table th,.enterprise-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact;background-color:var(--slate-light)!important;color:#000!important}}.chip-actions{border-left:1px solid #fff6;align-items:center;gap:4px;margin-left:4px;padding-left:6px;display:flex}.chip-edit-input{background:var(--white);color:var(--text-main);border:none;border-radius:2px;outline:none;width:90px;padding:2px 6px;font-family:inherit;font-size:11px}.flow-container{flex-direction:column;display:flex}.flow-section{border:1px solid var(--border);background:#fff;border-radius:8px;padding:16px;display:flex;position:relative}.flow-section.border-primary{border-color:#2563eb66}.section-badge{background:var(--bg);color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-right:16px;font-weight:700;display:flex}.section-badge.bg-primary{background:var(--primary);color:#fff}.flow-content{flex-grow:1}.flow-connector{background-color:var(--border);width:2px;height:24px;margin-left:32px}.flow-connector.arrow-down{background-color:var(--primary);opacity:.5;position:relative}.flow-connector.arrow-down:after{content:"▼";color:var(--primary);font-size:12px;position:absolute;bottom:-10px;left:-5px}.d-block{display:block}.span-2{grid-column:span 2}.w-100{width:100%}.p-3{padding:16px}.combobox-container{width:100%;position:relative}.combobox-dropdown{border:1px solid var(--border);z-index:100;background:#fff;border-radius:6px;max-height:220px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.combobox-item{cursor:pointer;border-bottom:1px solid var(--bg);justify-content:space-between;align-items:center;padding:10px 14px;transition:background .1s;display:flex}.combobox-item:last-child{border-bottom:none}.combobox-item:hover{background-color:#f1f5f9}.combobox-text{color:var(--text-main);font-weight:500}.combobox-empty{text-align:center;color:var(--text-muted);padding:12px;font-size:.9rem}.combobox-add{background-color:#f8fafc}.combobox-add:hover{background-color:#e0e7ff}.combobox-actions{gap:8px;display:none}.combobox-item:hover .combobox-actions{display:flex}.combobox-edit-inline{align-items:center;gap:8px;width:100%;display:flex}.input-micro{border:1px solid var(--primary);border-radius:4px;outline:none;flex-grow:1;padding:4px 8px;font-size:.9rem}
