:root,:root[data-theme=dark]{--bg: #0f1419;--surface: #1a2332;--surface-hover: #243044;--border: #2d3a4f;--text: #e8edf4;--text-muted: #8b9cb3;--primary: #3b82f6;--primary-hover: #2563eb;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--radius: 8px}:root[data-theme=light]{--bg: #eef1f6;--surface: #ffffff;--surface-hover: #f1f5f9;--border: #d8dee8;--text: #1a2332;--text-muted: #64748b;--primary: #2563eb;--primary-hover: #1d4ed8;--success: #16a34a;--warning: #d97706;--danger: #dc2626}:root[data-brand=mnl]{--primary: #f59e0b;--primary-hover: #d97706}:root[data-brand=mnl][data-theme=light]{--primary: #d97706;--primary-hover: #b45309}:root[data-brand=msr]{--primary: #6366f1;--primary-hover: #4f46e5}:root[data-brand=msr][data-theme=light]{--primary: #4f46e5;--primary-hover: #4338ca}:root{--color-primary: var(--primary);--color-primary-dark: var(--primary-hover);--color-primary-hover: var(--primary-hover);--color-page-bg: var(--bg);--color-surface-tint: color-mix(in srgb, var(--primary) 12%, var(--surface));--color-surface-tint-2: color-mix(in srgb, var(--primary) 7%, var(--surface));--color-gradient-main: linear-gradient( 135deg, var(--primary) 0%, color-mix(in srgb, var(--primary) 70%, var(--primary-hover)) 100% );--surface-solid: var(--surface);--danger-weak: color-mix(in srgb, var(--danger) 12%, var(--surface));--shadow-card: 0 4px 20px rgba(0, 0, 0, .12);--shadow-btn: 0 6px 18px color-mix(in srgb, var(--primary) 28%, transparent);--ring: 0 0 0 3px color-mix(in srgb, var(--primary) 25%, transparent)}html.theme-transition,html.theme-transition body{transition:background-color .35s ease}::view-transition-old(root),::view-transition-new(root){animation-duration:.35s;animation-timing-function:ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,Segoe UI,Tahoma,system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;min-width:320px;min-height:100vh;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100vh}a{color:var(--primary);text-decoration:none}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}::selection{background:color-mix(in srgb,var(--primary) 30%,transparent)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.theme-toggle{display:inline-flex;align-items:center;gap:.5rem;background:transparent;border:none;padding:0;color:var(--text-muted);cursor:pointer}.theme-toggle:focus-visible{outline:none}.theme-toggle:focus-visible .theme-toggle-track{outline:2px solid var(--primary);outline-offset:2px}.theme-toggle-track{position:relative;direction:ltr;width:3.25rem;height:1.75rem;border-radius:999px;border:1px solid var(--border);background:var(--bg);transition:background .35s ease,border-color .35s ease;box-shadow:inset 0 1px 2px #00000014}.theme-toggle-track.is-dark{background:linear-gradient(135deg,#1e293b,#0f172a);border-color:#334155}.theme-toggle-track.is-light{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#93c5fd}.theme-toggle-sun,.theme-toggle-moon{position:absolute;top:50%;transform:translateY(-50%);width:.875rem;height:.875rem;display:flex;align-items:center;justify-content:center;transition:opacity .3s ease,transform .35s ease;pointer-events:none}.theme-toggle-sun{left:.45rem;color:#fbbf24}.theme-toggle-moon{right:.45rem;color:#e2e8f0}.theme-toggle-sun svg,.theme-toggle-moon svg{width:100%;height:100%}.theme-toggle-track.is-dark .theme-toggle-sun{opacity:.45;transform:translateY(-50%) scale(.85)}.theme-toggle-track.is-dark .theme-toggle-moon,.theme-toggle-track.is-light .theme-toggle-sun{opacity:1;transform:translateY(-50%) scale(1)}.theme-toggle-track.is-light .theme-toggle-moon{color:#4338ca;opacity:.95;transform:translateY(-50%) scale(.92)}.theme-toggle-thumb{position:absolute;top:2px;left:2px;width:1.35rem;height:1.35rem;border-radius:50%;background:#fff;box-shadow:0 1px 4px #00000038;transition:transform .35s cubic-bezier(.4,0,.2,1),background .35s ease}.theme-toggle-track.is-dark .theme-toggle-thumb{transform:translate(1.45rem);background:#f8fafc}.theme-toggle-track.is-light .theme-toggle-thumb{transform:translate(0);background:#fff}.theme-toggle-label{font-size:.75rem;font-weight:600;min-width:2.25rem;text-align:start}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--bg);background-image:radial-gradient(900px 420px at 15% 0%,color-mix(in srgb,var(--primary) 12%,transparent),transparent 60%),radial-gradient(700px 360px at 85% 100%,color-mix(in srgb,var(--primary) 8%,transparent),transparent 55%)}.login-toolbar{position:fixed;top:1.25rem;inset-inline-end:1.25rem}.login-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 48px #0000002e;padding:2rem;width:100%;max-width:420px;display:flex;flex-direction:column;gap:1.25rem}.login-header{text-align:center}.login-logos{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;margin:0 auto 1rem}.login-logo{height:56px;width:auto;max-width:180px;object-fit:contain}.login-logo-company{height:46px}.login-header h1{font-size:1.5rem;font-weight:600;color:var(--text);margin-bottom:.25rem}.login-company-name{font-size:.875rem;font-weight:600;color:var(--primary);margin-bottom:.25rem}.login-header p{color:var(--text-muted);font-size:.875rem}.login-form{display:flex;flex-direction:column;gap:1rem}.login-form .form-group{display:flex;flex-direction:column;gap:.375rem}.login-form .form-group label{font-size:.8125rem;font-weight:500;color:var(--text-muted)}.login-form .form-group input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.625rem .75rem;color:var(--text);font-size:.875rem;transition:border-color .15s}.login-form .form-group input::placeholder{color:var(--text-muted)}.login-form .form-group input:focus{outline:none;border-color:var(--primary)}.login-form .error-message{background:color-mix(in srgb,var(--danger) 12%,transparent);border:1px solid var(--danger);color:var(--danger);padding:.75rem;border-radius:var(--radius);font-size:.8125rem;text-align:center}.login-btn{background:var(--primary);color:#fff;border:none;border-radius:var(--radius);padding:.75rem;font-size:.9375rem;font-weight:600;margin-top:.25rem;transition:background .15s}.login-btn:hover:not(:disabled){background:var(--primary-hover)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.layout{display:flex;height:100vh;height:100dvh;overflow:hidden;background:var(--bg)}.sidebar{width:260px;flex-shrink:0;height:100%;background:var(--surface);border-inline-end:1px solid var(--border);display:flex;flex-direction:column;padding:1.5rem 1.25rem;overflow-y:auto}.sidebar-brand{display:flex;gap:.75rem;align-items:center;margin-bottom:1.75rem;min-width:0}.brand-logos{display:inline-flex;align-items:center;gap:.375rem;flex-shrink:0}.brand-logo{width:40px;height:40px;border-radius:var(--radius);object-fit:contain;background:color-mix(in srgb,var(--primary) 12%,var(--bg))}.brand-logo-company{width:30px;height:30px;border-radius:6px}.brand-logo-fallback{width:40px;height:40px;border-radius:var(--radius);background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.brand-titles{min-width:0}.brand-titles h1{font-size:.9375rem;font-weight:600;line-height:1.35;color:var(--text)}.brand-titles p{font-size:.75rem;color:var(--text-muted);line-height:1.35}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.nav-section-label{margin:1rem 0 .25rem;padding-inline:.875rem;font-size:.6875rem;font-weight:700;letter-spacing:.05em;color:var(--text-muted)}.nav-link{display:flex;align-items:center;gap:.625rem;padding:.625rem .875rem;border-radius:var(--radius);color:var(--text-muted);font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.nav-link:hover{background:var(--surface-hover);color:var(--text)}.nav-link.active{background:var(--primary);color:#fff}.nav-link-icon{font-size:.875rem;line-height:1;width:1rem;text-align:center;flex-shrink:0}.nav-link-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.sidebar-user{display:flex;align-items:center;gap:.75rem;padding:.875rem;border-radius:calc(var(--radius) + 2px);background:var(--bg);border:1px solid var(--border)}.sidebar-user-avatar{width:2.5rem;height:2.5rem;border-radius:999px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 85%,white) 0%,var(--primary) 100%);color:#fff;font-size:.8125rem;font-weight:700;flex-shrink:0}.sidebar-user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.sidebar-user-name{font-size:.875rem;font-weight:600;color:var(--text);line-height:1.35;word-break:break-word}.sidebar-user-role{font-size:.75rem;color:var(--text-muted);line-height:1.35}.sidebar-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.sidebar-action{padding:.5rem;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text-muted);font:inherit;font-size:.8125rem;font-weight:500;text-align:center;text-decoration:none;transition:border-color .15s,color .15s,background .15s}.sidebar-action:hover{border-color:var(--primary);color:var(--primary)}.sidebar-action.active{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.sidebar-action-logout:hover{border-color:var(--danger);color:var(--danger)}.sidebar-version{text-align:center;font-size:.75rem;color:var(--text-muted)}.sidebar-overlay{display:none}.main{flex:1;min-width:0;min-height:0;overflow:hidden;background:var(--bg)}.main-scroll{height:100%;overflow-y:auto;scrollbar-gutter:stable;background:var(--bg)}.main-header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 2rem 1rem;background:var(--bg)}.header-toolbar{display:inline-flex;align-items:center;gap:.625rem;margin-inline-start:auto}.sidebar-toggle{display:none;width:2.25rem;height:2.25rem;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:1rem}.main-content{padding:0 2rem 2rem}@media(max-width:900px){.layout{height:auto;min-height:100vh;overflow:visible}.sidebar{position:fixed;inset-block:0;inset-inline-end:0;z-index:60;transform:translate(100%);transition:transform .25s ease;box-shadow:-12px 0 32px #00000040}.sidebar.is-open{transform:translate(0)}.sidebar-overlay{display:block;position:fixed;inset:0;z-index:50;background:#00000080}.main-scroll{height:auto;overflow:visible}.sidebar-toggle{display:inline-flex}.main-header{padding:1rem 1.25rem .75rem}.main-content{padding:0 1.25rem 1.5rem}}.page-header{position:relative;display:flex;overflow:hidden;margin-bottom:.25rem;background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);box-shadow:0 8px 28px color-mix(in srgb,var(--primary) 6%,transparent)}.page-header:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 10%,transparent) 0%,transparent 48%,color-mix(in srgb,var(--primary) 4%,transparent) 100%)}.page-header-accent{width:4px;flex-shrink:0;background:linear-gradient(180deg,var(--primary) 0%,color-mix(in srgb,var(--primary) 45%,var(--primary-hover)) 100%)}.page-header-body{position:relative;z-index:1;flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:1rem 1.25rem;flex-wrap:wrap;padding:1.15rem 1.35rem}.page-header-text{min-width:0;display:flex;flex-direction:column;gap:.25rem}.page-header-eyebrow{font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--primary) 75%,var(--text-muted))}.page-header-title{margin:0;font-size:1.45rem;font-weight:700;line-height:1.25;letter-spacing:-.01em;color:var(--text)}.page-header-subtitle{margin:0;max-width:42rem;font-size:.875rem;line-height:1.5;color:var(--text-muted)}.page-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}.page-header-actions .btn-primary,.page-header .btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.55rem 1rem;border-radius:var(--radius);border:1px solid var(--primary);background:var(--primary);color:#fff;font-size:.8125rem;font-weight:600;white-space:nowrap;transition:background .15s,border-color .15s}.page-header-actions .btn-primary:hover:not(:disabled),.page-header .btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}@media(max-width:720px){.page-header-body{padding:1rem 1.1rem}.page-header-title{font-size:1.25rem}.page-header-actions{width:100%;justify-content:flex-start}}.dashboard{display:flex;flex-direction:column;gap:1.5rem;animation:fadeIn .3s}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);transition:border-color .15s ease,box-shadow .15s ease}.stat-card:hover{border-color:color-mix(in srgb,var(--primary) 30%,var(--border));box-shadow:0 4px 18px color-mix(in srgb,var(--primary) 8%,transparent)}.stat-icon{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;flex-shrink:0;border-radius:var(--radius);font-size:1.35rem;background:color-mix(in srgb,var(--primary) 12%,var(--bg));border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border))}.stat-card.active .stat-icon{background:color-mix(in srgb,var(--success) 12%,var(--bg));border-color:color-mix(in srgb,var(--success) 26%,var(--border))}.stat-card.expired .stat-icon{background:color-mix(in srgb,var(--warning) 12%,var(--bg));border-color:color-mix(in srgb,var(--warning) 26%,var(--border))}.stat-content{min-width:0}.stat-content h3{font-size:.6875rem;font-weight:600;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.35rem}.stat-value{font-size:1.75rem;font-weight:800;line-height:1.1;color:var(--primary);font-variant-numeric:tabular-nums}.stat-card.active .stat-value{color:var(--success)}.stat-card.expired .stat-value{color:var(--warning)}.dashboard-info{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem 1.5rem}.dashboard-info h2{font-size:1.05rem;font-weight:600;color:var(--text);margin-bottom:1rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.info-card{padding:1rem 1.1rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}.info-card h3{font-size:.9375rem;font-weight:600;color:var(--text);margin-bottom:.35rem}.info-card p{font-size:.8125rem;color:var(--text-muted);line-height:1.6}.dashboard-loading{padding:3rem;text-align:center;color:var(--text-muted);font-size:.875rem}.seals-page{display:flex;flex-direction:column;gap:1.25rem;animation:fadeIn .3s}.btn-primary,.btn-excel,.btn-file,.btn-transfer-batch{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.5rem .9rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.8125rem;font-weight:500;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-excel:hover:not(:disabled),.btn-file:hover,.btn-transfer-batch:hover:not(:disabled){background:var(--surface-hover);border-color:color-mix(in srgb,var(--primary) 40%,var(--border));color:var(--primary)}.btn-file{cursor:pointer}.btn-excel:disabled,.btn-transfer-batch:disabled,.btn-primary:disabled{opacity:.45;cursor:not-allowed}.filters{display:flex;gap:.625rem;flex-wrap:wrap;padding:.875rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.filter-select{min-width:180px;padding:.4375rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.8125rem}.filter-select:focus{outline:none;border-color:var(--primary)}.seals-table{width:100%;border-collapse:collapse}.seals-table thead th{padding:.75rem 1rem;text-align:start;white-space:nowrap;font-size:.6875rem;font-weight:600;letter-spacing:.04em;color:var(--text-muted);background:var(--bg);border-bottom:1px solid var(--border)}.seals-table tbody tr{border-bottom:1px solid var(--border);transition:background .12s}.seals-table tbody tr:last-child{border-bottom:none}.seals-table tbody tr:hover{background:var(--surface-hover)}.seals-table tbody tr.expired-row{background:color-mix(in srgb,var(--warning) 8%,transparent)}.seals-table tbody tr.expired-row:hover{background:color-mix(in srgb,var(--warning) 14%,transparent)}.seals-table td{padding:.75rem 1rem;text-align:start;font-size:.8125rem;color:var(--text)}.col-select{width:2.5rem;text-align:center;vertical-align:middle}.col-select input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary);cursor:pointer}.select-dash{color:var(--text-muted);opacity:.6}.status-badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.6875rem;font-weight:600;white-space:nowrap;border:1px solid transparent}.status-badge.active{background:color-mix(in srgb,var(--success) 15%,transparent);border-color:color-mix(in srgb,var(--success) 35%,transparent);color:var(--success)}.status-badge.expired{background:color-mix(in srgb,var(--warning) 15%,transparent);border-color:color-mix(in srgb,var(--warning) 35%,transparent);color:var(--warning)}.days-left{color:var(--success);font-weight:600;font-variant-numeric:tabular-nums}.table-actions{display:flex;gap:.375rem;justify-content:center}.btn-edit-table,.btn-delete-table{display:inline-flex;align-items:center;justify-content:center;width:1.875rem;height:1.875rem;padding:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);font-size:.8125rem;line-height:1;transition:border-color .15s,background .15s}.btn-edit-table:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--bg))}.btn-delete-table:hover{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,var(--bg))}.empty-state,.seals-loading{padding:3rem 1.5rem;text-align:center;color:var(--text-muted);font-size:.875rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.empty-state p{margin-bottom:1rem}@media(max-width:900px){.seals-table{min-width:1100px}.filter-select{flex:1;min-width:140px}}.new-seal-page{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem;animation:fadeIn .3s}.seal-form{display:flex;flex-direction:column;gap:1rem;background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);padding:1.5rem}.seal-form .form-group{display:flex;flex-direction:column;gap:.375rem}.seal-form .form-group label{font-size:.8125rem;font-weight:500;color:var(--text-muted)}.seal-form .form-group input,.seal-form .form-group select,.seal-form .form-group textarea{width:100%;padding:.625rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.875rem;transition:border-color .15s}.seal-form .form-group input::placeholder,.seal-form .form-group textarea::placeholder{color:var(--text-muted)}.seal-form .form-group input:focus,.seal-form .form-group select:focus,.seal-form .form-group textarea:focus{outline:none;border-color:var(--primary)}.seal-form .form-group textarea{resize:vertical;min-height:5rem}.checkbox-label{display:flex;flex-direction:row!important;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:var(--text)}.checkbox-label input[type=checkbox]{width:auto;accent-color:var(--primary);cursor:pointer}.error-message{padding:.75rem;border-radius:var(--radius);background:color-mix(in srgb,var(--danger) 12%,transparent);border:1px solid var(--danger);color:var(--danger);font-size:.8125rem}.form-note{padding:.75rem .875rem;border-radius:var(--radius);background:color-mix(in srgb,var(--primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border));border-inline-start:3px solid var(--primary)}.form-note p{font-size:.8125rem;color:var(--text)}.form-actions{display:flex;gap:.625rem;justify-content:flex-end;margin-top:.25rem}.btn-cancel,.btn-submit{padding:.625rem 1.5rem;border-radius:var(--radius);border:1px solid var(--border);font-size:.875rem;font-weight:500;transition:background .15s,border-color .15s,color .15s}.btn-cancel{background:transparent;color:var(--text-muted)}.btn-cancel:hover{background:var(--surface-hover);color:var(--text)}.btn-submit{background:var(--primary);border-color:var(--primary);color:#fff}.btn-submit:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-submit:disabled{opacity:.55;cursor:not-allowed}.warehouses-page{display:flex;flex-direction:column;gap:1.25rem;animation:fadeIn .3s}.warehouse-form{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);padding:1.5rem}.warehouse-form-title{font-size:1.05rem;font-weight:600;color:var(--text);margin-bottom:1rem}.warehouse-form .form-group{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}.warehouse-form label{font-size:.8125rem;font-weight:500;color:var(--text-muted)}.warehouse-form input,.warehouse-form textarea{width:100%;padding:.625rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.875rem;transition:border-color .15s}.warehouse-form input:focus,.warehouse-form textarea:focus{outline:none;border-color:var(--primary)}.warehouse-form textarea{resize:vertical;min-height:4.5rem}.warehouse-form-actions{display:flex;flex-wrap:wrap;gap:.625rem;align-items:center}.btn-secondary-wh{padding:.625rem 1.25rem;border-radius:var(--radius);border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:.875rem;font-weight:500;transition:background .15s,color .15s}.btn-secondary-wh:hover{background:var(--surface-hover);color:var(--text)}.warehouses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.warehouse-card{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);padding:1.25rem;transition:border-color .15s ease,box-shadow .15s ease}.warehouse-card:hover{border-color:color-mix(in srgb,var(--primary) 30%,var(--border));box-shadow:0 4px 18px color-mix(in srgb,var(--primary) 8%,transparent)}.warehouse-card h3{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:.35rem}.warehouse-card p{font-size:.8125rem;color:var(--text-muted);line-height:1.6}.warehouse-meta{margin-top:.875rem;padding-top:.875rem;border-top:1px solid var(--border);font-size:.75rem;color:var(--text-muted)}.warehouse-card-actions{margin-top:.875rem;padding-top:.875rem;border-top:1px solid var(--border);display:flex;gap:.5rem;flex-wrap:wrap}.btn-edit-warehouse,.btn-delete-warehouse{padding:.45rem .9rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);color:var(--text-muted);font-size:.8125rem;font-weight:500;transition:border-color .15s,background .15s,color .15s}.btn-edit-warehouse:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--bg));color:var(--primary)}.btn-delete-warehouse:hover{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,var(--bg));color:var(--danger)}.warehouses-loading{padding:3rem;text-align:center;color:var(--text-muted);font-size:.875rem}.users-page{display:flex;flex-direction:column;gap:1.25rem;animation:fadeIn .3s}.user-form{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);padding:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.user-form .form-group,.edit-form .form-group{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}.user-form .form-group label,.edit-form .form-group label{font-size:.8125rem;font-weight:500;color:var(--text-muted)}.user-form .form-group input,.edit-form .form-group input{width:100%;padding:.625rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.875rem;transition:border-color .15s}.user-form .form-group input:focus,.edit-form .form-group input:focus{outline:none;border-color:var(--primary)}.warehouse-checkboxes{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.25rem}.warehouse-checkboxes .checkbox-label{display:flex;align-items:center;gap:.5rem;padding:.4rem .7rem;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text);font-size:.8125rem;cursor:pointer;transition:border-color .15s,background .15s}.warehouse-checkboxes .checkbox-label:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border));background:var(--surface-hover)}.warehouse-checkboxes input[type=checkbox]{width:auto;accent-color:var(--primary);cursor:pointer}.table-container{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.users-table{width:100%;border-collapse:collapse}.users-table thead th{padding:.75rem 1rem;text-align:start;white-space:nowrap;font-size:.6875rem;font-weight:600;letter-spacing:.04em;color:var(--text-muted);background:var(--bg);border-bottom:1px solid var(--border)}.users-table td{padding:.75rem 1rem;text-align:start;font-size:.8125rem;color:var(--text);border-bottom:1px solid var(--border)}.users-table tbody tr:hover{background:var(--surface-hover)}.users-table .table-actions{display:flex;gap:.375rem;flex-wrap:wrap}.role-badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;background:color-mix(in srgb,var(--primary) 15%,transparent);border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border));color:var(--primary);font-size:.6875rem;font-weight:600;white-space:nowrap}.warehouse-tags{display:flex;flex-wrap:wrap;gap:.35rem}.warehouse-tag{padding:.15rem .55rem;border-radius:999px;background:var(--bg);border:1px solid var(--border);color:var(--text-muted);font-size:.6875rem}.no-warehouse{color:var(--text-muted);font-style:italic;font-size:.75rem}.btn-edit-profile-small,.btn-edit-password-small,.btn-edit-warehouses-small,.btn-delete-user-small{display:inline-flex;align-items:center;justify-content:center;width:1.875rem;height:1.875rem;padding:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);font-size:.8125rem;line-height:1;transition:border-color .15s,background .15s}.btn-edit-profile-small:hover,.btn-edit-password-small:hover,.btn-edit-warehouses-small:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--bg))}.btn-delete-user-small:hover:not(:disabled){border-color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,var(--bg))}.btn-delete-user-small:disabled{opacity:.4;cursor:not-allowed}.edit-row{background:var(--bg)}.edit-row td{padding:1.25rem}.edit-form{padding:1.25rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}.edit-form h4{font-size:.9375rem;font-weight:600;color:var(--text);margin-bottom:1rem}.edit-actions{display:flex;gap:.5rem;margin-top:.5rem}.btn-save{padding:.5rem 1.1rem;border:1px solid var(--primary);border-radius:var(--radius);background:var(--primary);color:#fff;font-size:.8125rem;font-weight:500;transition:background .15s}.btn-save:hover{background:var(--primary-hover)}.edit-actions .btn-cancel{padding:.5rem 1.1rem;font-size:.8125rem}.access-denied,.users-loading{padding:3rem;text-align:center;color:var(--text-muted);font-size:.875rem}@media(max-width:768px){.form-row{grid-template-columns:1fr}}.profile-page{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem;animation:fadeIn .3s}.profile-card{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);padding:1.5rem}.profile-card h2{font-size:1.05rem;font-weight:600;color:var(--text);margin-bottom:1.25rem}.profile-info{display:flex;flex-direction:column;gap:.625rem}.info-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .875rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem}.info-item strong{font-weight:600;color:var(--text-muted)}.info-item span{color:var(--text);font-weight:500}.password-form{display:flex;flex-direction:column;gap:1rem}.password-form .form-group{display:flex;flex-direction:column;gap:.375rem}.password-form .form-group label{font-size:.8125rem;font-weight:500;color:var(--text-muted)}.password-form .form-group input{padding:.625rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.875rem;transition:border-color .15s}.password-form .form-group input:focus{outline:none;border-color:var(--primary)}.password-form .error-message{padding:.75rem;border-radius:var(--radius);background:color-mix(in srgb,var(--danger) 12%,transparent);border:1px solid var(--danger);color:var(--danger);font-size:.8125rem}.success-message{padding:.75rem;border-radius:var(--radius);background:color-mix(in srgb,var(--success) 12%,transparent);border:1px solid var(--success);color:var(--success);font-size:.8125rem}.profile-page .btn-submit{align-self:flex-start;padding:.625rem 1.5rem;border:1px solid var(--primary);border-radius:var(--radius);background:var(--primary);color:#fff;font-size:.875rem;font-weight:500;transition:background .15s,border-color .15s}.profile-page .btn-submit:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.profile-page .btn-submit:disabled{opacity:.55;cursor:not-allowed}.expired-batches-page{display:flex;flex-direction:column;gap:1.25rem;animation:fadeIn .3s}.expired-batches-loading{padding:3rem;text-align:center;color:var(--text-muted);font-size:.875rem}.warehouse-filter{display:flex;flex-wrap:wrap;gap:.5rem;flex:1;min-width:0}.batch-filters-card{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);overflow:hidden;box-shadow:0 6px 22px color-mix(in srgb,var(--primary) 5%,transparent)}.batch-filters-card-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem 1rem;padding:.85rem 1.25rem;background:var(--bg);border-bottom:1px solid var(--border)}.batch-filters-card-title{font-size:.8125rem;font-weight:700;letter-spacing:.04em;color:var(--text)}.batch-filters-card-hint{font-size:.75rem;color:var(--text-muted)}.batch-filters{display:flex;flex-direction:column;padding:.35rem 0}.filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:.625rem 1rem;padding:.85rem 1.25rem}.filter-row+.filter-row{border-top:1px solid var(--border)}.filter-row-label{font-size:.75rem;font-weight:700;color:var(--text-muted);letter-spacing:.03em;min-width:7rem}.wh-pill{padding:.4rem .85rem;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);font-size:.8125rem;font-weight:500;transition:background .15s,border-color .15s,color .15s}.wh-pill:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border));color:var(--text)}.wh-pill.active{background:var(--primary);border-color:var(--primary);color:#fff}.batch-list{display:flex;flex-direction:column;gap:1rem}.batch-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.batch-card-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:.875rem 1.25rem;background:var(--bg);border-bottom:1px solid var(--border)}.batch-card-header-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.25rem;flex:1;min-width:0}.batch-card-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.batch-title{font-size:.9375rem;font-weight:600;color:var(--text)}.batch-meta{font-size:.8125rem;color:var(--text-muted)}.batch-closed-inline{font-size:.8125rem;font-weight:600;color:var(--text-muted)}.mahzar-uploaded-hint{font-size:.8125rem;font-weight:600;color:var(--success)}.mahzar-file-input{position:absolute;width:.01px;height:.01px;opacity:0;overflow:hidden;z-index:-1}.btn-mahzar,.btn-upload-mahzar,.btn-preview-mahzar,.btn-close-batch,.btn-view-mahzar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:.45rem .85rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.8125rem;font-weight:500;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.btn-mahzar{background:var(--primary);border-color:var(--primary);color:#fff}.btn-mahzar:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-upload-mahzar:hover,.btn-preview-mahzar:hover{background:var(--surface-hover);border-color:color-mix(in srgb,var(--primary) 40%,var(--border));color:var(--primary)}.btn-preview-mahzar{border-style:dashed;color:var(--text-muted)}.btn-view-mahzar{border-color:color-mix(in srgb,var(--success) 45%,var(--border));color:var(--success)}.btn-view-mahzar:hover{background:color-mix(in srgb,var(--success) 12%,var(--surface))}.btn-close-batch{border-color:color-mix(in srgb,var(--warning) 45%,var(--border));color:var(--warning)}.btn-close-batch:hover:not(:disabled){background:color-mix(in srgb,var(--warning) 12%,var(--surface))}.btn-close-batch:disabled{opacity:.45;cursor:not-allowed}.batch-table-wrap{overflow-x:auto}.batch-inner-table{width:100%;border-collapse:collapse;font-size:.8125rem}.batch-inner-table th,.batch-inner-table td{padding:.65rem 1rem;text-align:start;border-bottom:1px solid var(--border)}.batch-inner-table thead th{font-size:.6875rem;font-weight:600;letter-spacing:.04em;color:var(--text-muted);background:var(--bg);white-space:nowrap}.batch-inner-table tbody tr:last-child td{border-bottom:none}.batch-inner-table tbody tr:hover{background:var(--surface-hover)}.col-actions{width:5.5rem;text-align:center;white-space:nowrap}.btn-restore-seal-row,.btn-delete-seal-row{display:inline-flex;align-items:center;justify-content:center;width:1.875rem;height:1.875rem;padding:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);font-size:.8125rem;line-height:1;transition:border-color .15s,background .15s}.btn-restore-seal-row{margin-inline-end:.375rem}.btn-restore-seal-row:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--bg))}.btn-delete-seal-row:hover{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,var(--bg))}.empty-state{padding:2.5rem 1.5rem;text-align:center;color:var(--text-muted);font-size:.875rem;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius)}#root{min-height:100vh}
