:root{--primary-color: #3f51b5;--secondary-color: #f5f5f5;--text-color: #333;--bg-color: #fafafa;--border-color: #e0e0e0;--sidebar-width: 250px;--header-height: 60px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text-color);background-color:var(--bg-color);line-height:1.5}.app-container{display:flex;height:100vh;width:100vw;overflow:hidden}.main-content{flex:1;display:flex;flex-direction:column;height:100vh;overflow:hidden}.page-content{flex:1;padding:24px;overflow-y:auto;background-color:var(--bg-color)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.header-actions{display:flex;gap:12px}.filter-bar{display:flex;gap:16px;background-color:#fff;padding:16px;border-radius:8px;border:1px solid var(--border-color);margin-bottom:20px;flex-wrap:wrap;align-items:flex-end}.filter-bar .base-input{max-width:360px}.filter-group{display:flex;flex-direction:column}.filter-group label{font-size:14px;margin-bottom:6px;font-weight:500;color:var(--text-color)}.filter-select{min-width:150px;margin-bottom:0}.table-actions{display:flex;gap:8px}.form-row{margin-bottom:16px}.form-group{display:flex;flex-direction:column}.form-label{font-size:14px;font-weight:500;margin-bottom:6px;color:var(--text-color)}.form-select{margin-bottom:0}.error-text{color:#dc2626;font-size:14px;margin-bottom:16px;padding:8px 12px;background-color:#fef2f2;border-radius:6px;border:1px solid #fecaca}.help-text{font-size:13px;color:#666;margin-top:4px;margin-bottom:16px;display:block}.checkbox-group,.radio-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.checkbox-group label,.radio-group label{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.checkbox-group .help-text{margin-top:0;margin-left:26px}input[type=checkbox],input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border:2px solid #cbd5e1;background-color:#fff;cursor:pointer;transition:all .15s ease;flex-shrink:0;position:relative;display:inline-flex;align-items:center;justify-content:center}input[type=checkbox]{border-radius:4px}input[type=radio]{border-radius:50%}input[type=checkbox]:checked,input[type=radio]:checked{background-color:var(--primary-color);border-color:var(--primary-color)}input[type=checkbox]:checked:after{content:"";width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px);flex-shrink:0}input[type=radio]:checked:after{content:"";width:6px;height:6px;border-radius:50%;background-color:#fff;flex-shrink:0}input[type=checkbox]:hover:not(:disabled),input[type=radio]:hover:not(:disabled){border-color:var(--primary-color)}input[type=checkbox]:disabled,input[type=radio]:disabled{opacity:.5;cursor:not-allowed}.base-button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.pagination-bar{display:flex;justify-content:center;align-items:center;gap:20px;padding:16px;background-color:#fff;border-radius:8px;border:1px solid var(--border-color);margin-top:20px}.page-info{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:14px;color:#64748b}.page-info strong{color:var(--text-color)}.total-records{font-size:12px;opacity:.8}.sidebar[data-v-33fd3dce]{width:var(--sidebar-width);background-color:#fff;border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:100%;transition:width .25s ease}.sidebar.collapsed[data-v-33fd3dce]{width:60px}.logo[data-v-33fd3dce]{height:var(--header-height);display:flex;align-items:center;padding:0 20px;border-bottom:1px solid var(--border-color);color:var(--primary-color);overflow:hidden;white-space:nowrap}.logo-short[data-v-33fd3dce]{font-size:18px;font-weight:700;color:var(--primary-color);margin:0 auto}.nav-menu[data-v-33fd3dce]{display:flex;flex-direction:column;padding:12px 0;flex:1;overflow-y:auto}.nav-item[data-v-33fd3dce]{position:relative;padding:10px 16px;text-decoration:none;color:var(--text-color);display:flex;align-items:center;gap:12px;transition:background-color .2s,color .2s;white-space:nowrap;overflow:hidden;margin:1px 8px;border-radius:6px}.nav-item[data-v-33fd3dce]:hover{background-color:#f0f2f5}.nav-item.active[data-v-33fd3dce]{background-color:#e8eaf6;color:var(--primary-color);font-weight:500}.nav-icon[data-v-33fd3dce]{flex-shrink:0}.nav-label[data-v-33fd3dce]{min-width:0;overflow:hidden;text-overflow:ellipsis}.warning-badge[data-v-33fd3dce]{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#f59e0b;color:#fff;font-size:12px;font-weight:700;line-height:20px;text-align:center;box-shadow:0 0 0 2px #fff}.collapsed .nav-item[data-v-33fd3dce]{justify-content:center;padding:10px;margin:1px 4px}.collapsed .warning-badge[data-v-33fd3dce]{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 4px;font-size:10px;line-height:16px}.sidebar-footer[data-v-33fd3dce]{border-top:1px solid var(--border-color);padding:8px 16px;display:flex;justify-content:flex-start}.collapsed .sidebar-footer[data-v-33fd3dce]{justify-content:center;padding:8px}.collapse-btn[data-v-33fd3dce]{background:none;border:none;color:#6b7280;cursor:pointer;padding:8px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s}.collapse-btn[data-v-33fd3dce]:hover{background-color:#f0f2f5;color:var(--primary-color)}.header[data-v-e58f75d8]{height:var(--header-height);background-color:#fff;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:flex-end;padding:0 24px}.user-menu[data-v-e58f75d8]{position:relative}.user-info[data-v-e58f75d8]{background:transparent;border:none;display:flex;align-items:center;gap:12px;cursor:pointer}.avatar[data-v-e58f75d8]{background-color:var(--primary-color);color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.user-name[data-v-e58f75d8]{font-size:14px;font-weight:500}.dropdown-menu[data-v-e58f75d8]{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0000001a;padding:8px;z-index:100}.logout-btn[data-v-e58f75d8],.menu-item[data-v-e58f75d8]{background:transparent;border:none;padding:8px 16px;width:100%;text-align:left;cursor:pointer;border-radius:4px;font-size:14px}.menu-item[data-v-e58f75d8]{color:var(--text-color)}.logout-btn[data-v-e58f75d8]{color:#dc2626}.menu-item[data-v-e58f75d8]:hover{background:#f1f5f9}.logout-btn[data-v-e58f75d8]:hover{background:#fef2f2}.toast-container[data-v-81b9d033]{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:400px}.toast[data-v-81b9d033]{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;box-shadow:0 4px 12px #00000026;font-size:14px;min-width:280px;animation:slideIn-81b9d033 .3s ease}.toast-hiding[data-v-81b9d033]{animation:slideOut-81b9d033 .3s ease forwards}.toast-success[data-v-81b9d033]{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.toast-error[data-v-81b9d033]{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.toast-warning[data-v-81b9d033]{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.toast-info[data-v-81b9d033]{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.toast-icon[data-v-81b9d033]{flex-shrink:0}.toast-message[data-v-81b9d033]{flex:1}.toast-close[data-v-81b9d033]{flex-shrink:0;background:none;border:none;cursor:pointer;opacity:.5;color:inherit;padding:2px;display:flex;transition:opacity .2s}.toast-close[data-v-81b9d033]:hover{opacity:1}.toast-enter-active[data-v-81b9d033]{animation:slideIn-81b9d033 .3s ease}.toast-leave-active[data-v-81b9d033]{animation:slideOut-81b9d033 .3s ease forwards}@keyframes slideIn-81b9d033{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut-81b9d033{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.base-button[data-v-1396bcd2]{padding:0 16px;height:38px;box-sizing:border-box;border-radius:6px;border:1px solid transparent;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 1px 2px #0000000d}.button-icon[data-v-1396bcd2]{flex-shrink:0}.icon-only[data-v-1396bcd2]{padding:8px}.base-button[data-v-1396bcd2]:disabled{opacity:.6;cursor:not-allowed}.is-block[data-v-1396bcd2]{width:100%;display:flex}.variant-soft[data-v-1396bcd2]{background-color:#e0e7ff;color:var(--primary-color);border-color:#c7d2fe;box-shadow:none}.variant-soft[data-v-1396bcd2]:hover:not(:disabled){background-color:#c7d2fe;border-color:#a5b4fc}.variant-primary[data-v-1396bcd2]{background-color:var(--primary-color);color:#fff;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.variant-primary[data-v-1396bcd2]:hover:not(:disabled){background-color:#3949ab;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-1px)}.variant-primary[data-v-1396bcd2]:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0000000d}.variant-secondary[data-v-1396bcd2]{background-color:#fff;color:var(--text-color);border-color:var(--border-color)}.variant-secondary[data-v-1396bcd2]:hover:not(:disabled){background-color:#f8fafc;border-color:#cbd5e1}.variant-text[data-v-1396bcd2]{background-color:transparent;color:var(--primary-color);box-shadow:none}.variant-text[data-v-1396bcd2]:hover:not(:disabled){background-color:#e0e7ff}.variant-danger[data-v-1396bcd2]{background-color:#fee2e2;color:#dc2626;border-color:#fca5a5;box-shadow:none}.variant-danger[data-v-1396bcd2]:hover:not(:disabled){background-color:#fecaca;border-color:#f87171}.table-wrapper[data-v-1ffb29b4]{border:1px solid var(--border-color);border-radius:8px;background-color:#fff;overflow:hidden}.table-container[data-v-1ffb29b4]{width:100%;overflow-x:auto}.base-table[data-v-1ffb29b4]{width:100%;border-collapse:collapse;text-align:left}.base-table th[data-v-1ffb29b4],.base-table td[data-v-1ffb29b4]{padding:12px 16px;border-bottom:1px solid var(--border-color)}.base-table th[data-v-1ffb29b4]{background-color:#f9fafb;font-weight:500;color:#6b7280;font-size:13px;text-transform:uppercase;white-space:nowrap}.th-content[data-v-1ffb29b4]{display:inline-flex;align-items:center;gap:4px}.entity-id-cell[data-v-1ffb29b4]{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:12px;font-weight:700;line-height:1.2;white-space:nowrap}.sortable-header[data-v-1ffb29b4]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s}.sortable-header[data-v-1ffb29b4]:hover{color:var(--primary-color)}.sort-icon[data-v-1ffb29b4]{display:inline-flex;opacity:.4;transition:opacity .2s}.sortable-header:hover .sort-icon[data-v-1ffb29b4]{opacity:.8}.base-table tbody tr:last-child td[data-v-1ffb29b4]{border-bottom:none}.base-table tbody tr.clickable-row[data-v-1ffb29b4]{cursor:pointer;transition:background-color .2s ease}.base-table tbody tr[data-v-1ffb29b4]:hover{background-color:#f9fafb}.empty-state[data-v-1ffb29b4]{text-align:center;padding:48px 32px!important;color:#9ca3af;display:flex;flex-direction:column;align-items:center;gap:8px}.empty-icon[data-v-1ffb29b4]{opacity:.3}.pagination[data-v-1ffb29b4]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--border-color);background-color:#f9fafb}.pagination-info[data-v-1ffb29b4]{color:#6b7280;font-size:13px}.pagination-controls[data-v-1ffb29b4]{display:flex;gap:4px}.page-btn[data-v-1ffb29b4]{min-width:32px;height:32px;padding:0 8px;border:1px solid var(--border-color);border-radius:6px;background:#fff;color:var(--text-color);font-size:13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s}.page-btn[data-v-1ffb29b4]:hover:not(:disabled):not(.active){background-color:#f0f2f5;border-color:#cbd5e1}.page-btn.active[data-v-1ffb29b4]{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.page-btn[data-v-1ffb29b4]:disabled{opacity:.4;cursor:not-allowed}.base-badge[data-v-70c0caf4]{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-size:13px;font-weight:500;line-height:1.2;white-space:nowrap;letter-spacing:.02em}.badge-success[data-v-70c0caf4]{background-color:#dcfce7;color:#166534}.badge-warning[data-v-70c0caf4]{background-color:#ffedd5;color:#9a3412}.badge-danger[data-v-70c0caf4]{background-color:#fee2e2;color:#991b1b}.badge-info[data-v-70c0caf4]{background-color:#dbeafe;color:#1e40af}.badge-neutral[data-v-70c0caf4]{background-color:#f3f4f6;color:#374151}.badge-purple[data-v-70c0caf4]{background-color:#f3e8ff;color:#6b21a8}.badge-primary[data-v-70c0caf4]{background-color:#e8eaf6;color:#3f51b5}.badge-emerald[data-v-70c0caf4]{background-color:#d1fae5;color:#065f46}.base-input[data-v-764ae1ac]{display:flex;flex-direction:column;margin-bottom:16px}.base-input.no-margin[data-v-764ae1ac]{margin-bottom:0}.input-label[data-v-764ae1ac]{font-size:14px;font-weight:500;margin-bottom:6px;color:var(--text-color)}.required-mark[data-v-764ae1ac]{color:#dc2626;margin-left:2px}.input-field[data-v-764ae1ac]{width:100%;padding:0 12px;height:38px;box-sizing:border-box;border:1px solid var(--border-color);border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s,box-shadow .2s}.input-field[data-v-764ae1ac]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3f51b51a}.input-field.input-error[data-v-764ae1ac]{border-color:#dc2626}.input-field.input-error[data-v-764ae1ac]:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.input-field[data-v-764ae1ac]:disabled{background-color:#f5f5f5;cursor:not-allowed}.textarea-field[data-v-764ae1ac]{resize:vertical;min-height:80px}.error-hint[data-v-764ae1ac]{font-size:12px;color:#dc2626;margin-top:4px}.base-select[data-v-fd68d6c7]{display:flex;flex-direction:column;margin-bottom:16px}.base-select.no-margin[data-v-fd68d6c7]{margin-bottom:0}.select-label[data-v-fd68d6c7]{font-size:14px;font-weight:500;margin-bottom:6px;color:var(--text-color)}.required-mark[data-v-fd68d6c7]{color:#dc2626;margin-left:2px}.select-field[data-v-fd68d6c7]{width:100%;padding:0 12px;height:38px;box-sizing:border-box;border:1px solid var(--border-color);border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s,box-shadow .2s;background-color:#fff;appearance:auto}.select-field[data-v-fd68d6c7]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3f51b51a}.select-field.select-error[data-v-fd68d6c7]{border-color:#dc2626}.select-field.select-error[data-v-fd68d6c7]:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.select-field[data-v-fd68d6c7]:disabled{background-color:#f5f5f5;cursor:not-allowed;color:#888}.error-hint[data-v-fd68d6c7]{font-size:12px;color:#dc2626;margin-top:4px}.modal-overlay[data-v-27884ae0]{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-container[data-v-27884ae0]{background-color:#fff;border-radius:12px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.modal-header[data-v-27884ae0]{padding:16px 20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-title[data-v-27884ae0]{font-size:18px;font-weight:600;margin:0}.close-btn[data-v-27884ae0]{background:transparent;border:none;font-size:24px;line-height:1;cursor:pointer;color:#999;width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s}.close-btn[data-v-27884ae0]:hover{color:var(--text-color);background-color:#f1f5f9}.modal-body[data-v-27884ae0]{padding:20px;overflow-y:auto}.modal-footer[data-v-27884ae0]{padding:16px 20px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.modal-enter-active[data-v-27884ae0]{transition:opacity .2s ease-out}.modal-enter-active .modal-container[data-v-27884ae0]{transition:transform .2s ease-out,opacity .2s ease-out}.modal-leave-active[data-v-27884ae0]{transition:opacity .15s ease-in}.modal-leave-active .modal-container[data-v-27884ae0]{transition:transform .15s ease-in,opacity .15s ease-in}.modal-enter-from[data-v-27884ae0]{opacity:0}.modal-enter-from .modal-container[data-v-27884ae0]{transform:scale(.95) translateY(-10px);opacity:0}.modal-leave-to[data-v-27884ae0]{opacity:0}.modal-leave-to .modal-container[data-v-27884ae0]{transform:scale(.95) translateY(-10px);opacity:0}.base-date-range[data-v-f3f57b90]{display:flex;flex-direction:column;margin-bottom:16px}.base-date-range.no-margin[data-v-f3f57b90]{margin-bottom:0}.input-label[data-v-f3f57b90]{font-size:14px;font-weight:500;margin-bottom:6px;color:var(--text-color)}.inputs-row[data-v-f3f57b90]{display:flex;align-items:center;gap:8px}.separator[data-v-f3f57b90]{color:var(--text-color);font-weight:500}.input-field[data-v-f3f57b90]{width:140px;padding:0 12px;height:38px;box-sizing:border-box;border:1px solid var(--border-color);border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .2s;background-color:#fff}.input-field[data-v-f3f57b90]:focus{outline:none;border-color:var(--primary-color)}.confirm-message[data-v-58d0fbd1]{font-size:15px;color:#374151;margin-bottom:24px;line-height:1.5}.confirm-actions[data-v-58d0fbd1]{display:flex;justify-content:flex-end;gap:12px}.page-numbers[data-v-780781c7]{display:flex;align-items:center;gap:4px}.page-btn[data-v-780781c7]{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:6px;background:#fff;color:var(--text-color);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.page-btn[data-v-780781c7]:hover{border-color:var(--primary-color);color:var(--primary-color);background-color:#f5f7ff}.page-btn.active[data-v-780781c7]{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.pagination-dots[data-v-780781c7]{padding:0 6px;color:#9ca3af;font-size:14px}.pagination-total[data-v-780781c7]{margin-left:12px;font-size:13px;color:#6b7280}.entity-id-badge[data-v-4b7ab484]{display:inline-flex;align-items:center;width:max-content;min-height:24px;padding:2px 8px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:12px;font-weight:700;line-height:1.2}.low-stock-alert[data-v-c87492fd]{display:flex;flex-direction:column;gap:16px}.alert-intro[data-v-c87492fd]{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid #fde68a;border-radius:6px;background:#fffbeb;color:#92400e}.alert-intro p[data-v-c87492fd]{margin:4px 0 0;color:#78350f}.low-stock-table[data-v-c87492fd]{border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.table-head[data-v-c87492fd],.table-row[data-v-c87492fd]{display:grid;grid-template-columns:minmax(160px,1.4fr) repeat(3,minmax(90px,1fr));gap:12px;align-items:center}.table-head[data-v-c87492fd]{padding:10px 12px;background:var(--bg-secondary);color:var(--text-secondary);font-size:12px;font-weight:700;text-transform:uppercase}.table-row[data-v-c87492fd]{padding:12px;border-top:1px solid var(--border-color);font-size:14px}.table-row .available[data-v-c87492fd]{font-weight:700;color:#b91c1c}@media(max-width:640px){.table-head[data-v-c87492fd]{display:none}.table-row[data-v-c87492fd]{grid-template-columns:1fr;gap:6px}}.app-container.is-login[data-v-796e3a69]{display:block}.page-content.login-content[data-v-796e3a69]{padding:0;margin:0;height:100vh}.page-fade-enter-active,.page-fade-leave-active{transition:opacity .15s ease}.page-fade-enter-from,.page-fade-leave-to{opacity:0}
