:root{--color-bg: #f6f7fb;--color-card-bg: #ffffff;--color-fg: #1f2933;--color-muted: #5b6470;--color-accent: #2563eb;--color-accent-strong: #1d4ed8;--color-success: #16a34a;--color-danger: #dc2626;--color-border: #e5e7eb;--color-border-strong: #d1d5db;--color-btn: #f3f4f6;--color-btn-border: #d1d5db;--shadow-card: 0 10px 30px rgba(31, 41, 51, .06);--gutter: clamp(12px, 3vw, 32px);--content-max: 1440px}html,body{background:var(--color-bg);color:var(--color-fg);font-family:Inter,system-ui,-apple-system,sans-serif;min-height:100vh;margin:0}a{color:var(--color-accent);text-decoration:none;font-weight:500}a:hover{text-decoration:underline}h1,h2,h3{margin-top:0;font-weight:600;color:var(--color-fg)}input,textarea{border:1px solid var(--color-border);padding:.55em .8em;border-radius:8px;background:#fcfcfd;font-size:1em;outline:none;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #2563eb26}button{font-family:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;border:1px solid transparent;font-weight:600;cursor:pointer;transition:transform .06s ease,box-shadow .12s ease,background .15s,border-color .15s;box-shadow:0 4px 14px #1f29330f}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.btn-primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-primary:hover{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.btn-ghost{background:transparent;color:var(--color-fg);border-color:var(--color-border)}.btn-ghost:hover{background:#eef2f6;border-color:var(--color-border-strong)}.btn-danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn-danger:hover{background:#b91c1c;border-color:#b91c1c}.btn-success{background:var(--color-success);color:#fff;border-color:var(--color-success)}.btn-success:hover{background:#15803d;border-color:#15803d}.btn-subtle{background:var(--color-btn);color:var(--color-fg);border-color:var(--color-btn-border)}.btn-subtle:hover{background:#e5e7eb;border-color:var(--color-border-strong)}.btn-sm{padding:.4em .8em;font-size:.92em}.btn-md{padding:.55em 1.1em;font-size:1em}.btn-lg{padding:.75em 1.3em;font-size:1.05em}.card{border:1px solid var(--color-border);border-radius:12px;background:var(--color-card-bg);box-shadow:var(--shadow-card);padding:18px}.navbar{display:flex;gap:1.5em;border-bottom:1px solid var(--color-border);padding-bottom:.75em;margin-bottom:1.5em;align-items:center}.navbar a{color:var(--color-fg);padding:.35em .7em;border-radius:8px;transition:background .13s,color .13s}.navbar a.active,.navbar a:hover{background:#e8edfb;color:var(--color-accent)}.app-container{max-width:880px;margin:32px auto;padding:24px;background:var(--color-card-bg);border-radius:12px;border:1px solid var(--color-border);box-shadow:var(--shadow-card)}.app-container.dashboard-page{max-width:none;width:min(var(--content-max),calc(100vw - 2 * var(--gutter)));margin:32px auto}.stack>*+*{margin-top:16px}.stack-tight>*+*{margin-top:10px}.cluster{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.grid-form{display:grid;grid-template-columns:1fr auto auto auto;gap:12px;align-items:end}label{display:block;margin-bottom:.35em;color:var(--color-muted);font-size:.95em}table{width:100%;border-collapse:collapse}th,td{padding:.7em .9em;text-align:left;border-bottom:1px solid var(--color-border)}th{font-weight:600;background-color:#f1f3f9;position:sticky;top:0;z-index:1}tr:hover td{background:#f9fafb}.td-num,.th-num{text-align:right}.table-wrap{width:100%;overflow-x:auto}.table-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.table-footer .pager{display:flex;gap:8px}.full-bleed{position:relative;left:50%;right:50%;width:100vw;margin-left:-50vw;margin-right:-50vw}.full-bleed-inner{max-width:1600px;margin:0 auto;padding:0 16px}body{overflow-x:hidden}.alert{border-radius:10px;padding:12px 14px;border:1px solid var(--color-border);background:#f8fafc}.alert.success{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.alert.danger{border-color:#fecdd3;background:#fff1f2;color:#b91c1c}.alert.info{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.modal-overlay{position:fixed;inset:0;background:#0f172a59;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000}.modal-panel{background:#fff;border-radius:14px;box-shadow:0 20px 60px #0f172a40;border:1px solid var(--color-border);max-width:720px;width:min(720px,calc(100vw - 24px));max-height:calc(100vh - 48px);display:flex;flex-direction:column}.modal-header{padding:16px 20px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#fff;border-radius:14px 14px 0 0}.modal-title{margin:0;font-size:1.1rem}.modal-body{padding:18px 20px;overflow-y:auto}.modal-footer{padding:14px 20px;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:10px;background:#f8fafc;border-radius:0 0 14px 14px}.modal-close{box-shadow:none}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.stat-tile{border:1px solid var(--color-border);border-radius:12px;padding:14px 16px;background:#fff;box-shadow:0 6px 18px #1f293312}.stat-top{display:flex;justify-content:space-between;align-items:center;color:var(--color-muted);font-size:.95em}.stat-value{font-size:1.8em;font-weight:700;margin-top:6px;color:var(--color-fg)}.stat-hint{margin-top:4px;color:var(--color-muted);font-size:.95em}.stat-icon{font-size:1.2em}.badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;background:#eef2f7;color:var(--color-fg);font-weight:600;border:1px solid var(--color-border)}.bm-page{max-width:1200px;margin:0 auto;padding:32px 24px 80px}.bm-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#0f172a}.bm-loading__title{font-size:18px;font-weight:600}.bm-loading__dev{font-size:13px;color:#64748b}.bm-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top,#e2e8f0,#f8fafc 60%)}.bm-login__card{width:100%;max-width:420px;padding:28px}.bm-login__form{display:flex;flex-direction:column;gap:16px}.bm-login__subtitle{margin:4px 0 0;color:#64748b;font-size:14px}.bm-login__form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#334155}.bm-login__form input{padding:10px 12px;border-radius:10px;border:1px solid #cbd5f5;font-size:14px}.bm-login__error{padding:10px 12px;border-radius:10px;background:#fee2e2;color:#b91c1c;font-size:13px}.bm-field-error{color:#b91c1c;font-size:12px}.bm-field-error--block{display:block;padding:10px 12px;border-radius:10px;background:#fee2e2;font-size:13px}.bm-input-error{border-color:#ef4444!important;background:#fff1f2}.bm-report__card{max-width:520px;padding:24px}.bm-report__form{display:flex;flex-direction:column;gap:16px}.bm-report__form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#334155}.bm-report__form input{padding:10px 12px;border-radius:10px;border:1px solid #cbd5f5;font-size:14px}.bm-report__actions{display:flex;justify-content:flex-start}.bm-report__success{padding:10px 12px;border-radius:10px;background:#dcfce7;color:#15803d;font-size:13px}.bm-activity__card{padding:24px;margin-bottom:20px}.bm-activity__filters{display:grid;gap:16px;grid-template-columns:minmax(200px,320px) minmax(200px,1fr);align-items:end}.bm-activity__filters label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#334155}.bm-activity__filters input{padding:10px 12px;border-radius:10px;border:1px solid #cbd5f5;font-size:14px}.bm-input-with-icon{position:relative;display:flex;align-items:center}.bm-input-with-icon input{width:100%;padding-right:48px}.bm-input-icon{position:absolute;right:8px;width:32px;height:32px;border-radius:8px;border:1px solid #cbd5f5;background:#f8fafc;color:#1f2937;cursor:pointer;font-size:16px;display:inline-flex;align-items:center;justify-content:center}.bm-input-icon:hover{background:#e2e8f0}.bm-activity__actions{display:flex;gap:12px;flex-wrap:wrap}.bm-activity__table table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #0f172a0f}.bm-parameters__toolbar{padding:20px 24px;margin-bottom:20px}.bm-parameters__search{display:grid;gap:16px;grid-template-columns:minmax(220px,360px) minmax(200px,1fr);align-items:end}.bm-parameters__search label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#334155}.bm-parameters__search input{padding:10px 12px;border-radius:10px;border:1px solid #cbd5f5;font-size:14px}.bm-parameters__toolbar-actions{display:flex;gap:12px;flex-wrap:wrap}.bm-parameters__table table,.bm-parameters__values-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #0f172a0f}.bm-parameters__table th,.bm-parameters__table td,.bm-parameters__values-table th,.bm-parameters__values-table td{padding:12px 14px;border-bottom:1px solid #e2e8f0;text-align:left;font-size:13px}.bm-parameters__table th,.bm-parameters__values-table th{background:#f1f5f9;font-weight:600}.bm-parameters__actions{display:flex;gap:8px;flex-wrap:wrap}.bm-parameters__values-modal{max-width:820px}.bm-parameters__values-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.bm-parameters__values-header-actions{display:flex;gap:10px;flex-wrap:wrap}.bm-parameters__values-search{display:grid;gap:12px;grid-template-columns:minmax(220px,360px) minmax(200px,1fr);align-items:end;margin-bottom:16px}.bm-parameters__values-search label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#334155}.bm-parameters__values-search input{padding:10px 12px;border-radius:10px;border:1px solid #cbd5f5;font-size:14px}.bm-parameters__pagination{margin-top:16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bm-printer__card{padding:24px;display:grid;gap:16px}.bm-printer__list{margin:0;padding-left:20px}.bm-printer__default{padding:12px 16px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.bm-printer__meta{font-size:12px;color:#64748b}.bm-printer__actions{display:flex;flex-wrap:wrap;gap:12px}.bm-printer__status{font-size:13px;color:#0f766e}.bm-print__toolbar{padding:20px 24px;margin-bottom:16px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}.bm-print__headline{font-size:18px;font-weight:600}.bm-print__sub{font-size:13px;color:#64748b}.bm-print__toolbar-actions{display:flex;gap:12px;flex-wrap:wrap}.bm-print__card{padding:24px;display:grid;gap:20px}.bm-print__grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.bm-print__grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#334155}.bm-print__grid input,.bm-print__grid select{padding:10px 12px;border-radius:10px;border:1px solid #cbd5f5;font-size:14px}.bm-print__note{grid-column:1 / -1}.bm-print__actions{display:flex;justify-content:flex-start}.bm-print__print-row{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.bm-print__print-row label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#334155}.bm-print__material-modal{max-width:720px}.bm-print__material-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.bm-print__material-search{display:grid;gap:12px;grid-template-columns:minmax(220px,360px) minmax(200px,1fr);align-items:end;margin-bottom:12px}.bm-print__material-search label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#334155}.bm-print__material-search input{padding:10px 12px;border-radius:10px;border:1px solid #cbd5f5;font-size:14px}.bm-users__toolbar{padding:20px 24px;margin-bottom:20px}.bm-users__search{display:grid;gap:16px;grid-template-columns:minmax(220px,360px) minmax(200px,1fr);align-items:end}.bm-users__search label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#334155}.bm-users__search input{padding:10px 12px;border-radius:10px;border:1px solid #cbd5f5;font-size:14px}.bm-users__toolbar-actions{display:flex;gap:12px;flex-wrap:wrap}.bm-users__table table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #0f172a0f}.bm-users__table th,.bm-users__table td{padding:12px 14px;border-bottom:1px solid #e2e8f0;text-align:left;font-size:13px}.bm-users__table th{background:#f1f5f9;font-weight:600}.bm-users__actions{display:flex;gap:8px;flex-wrap:wrap}.bm-users__inline-actions{display:flex;gap:8px;margin:6px 0 12px}.bm-user-activities__header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.bm-user-activities__pagination{padding:16px 20px;margin-bottom:16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.bm-user-activities__table table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #0f172a0f}.bm-user-activities__table th,.bm-user-activities__table td{padding:12px 14px;border-bottom:1px solid #e2e8f0;text-align:left;font-size:13px}.bm-user-activities__table th{background:#f1f5f9;font-weight:600}.bm-user-activities__status{font-weight:600}.bm-user-activities__status--success{color:#16a34a}.bm-user-activities__status--error{color:#dc2626}.bm-activity__start{padding:20px 24px;margin-bottom:16px;display:flex;flex-direction:column;gap:12px}.bm-activity__start h3{margin:0;font-size:16px}.bm-activity__product-name{color:#0f766e}.bm-activity__start-grid{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:16px;align-items:end}.bm-activity__start-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#334155}.bm-activity__start-grid select{padding:10px 12px;border-radius:10px;border:1px solid #cbd5f5;font-size:14px}.bm-activity__warning{padding:20px 24px;margin-bottom:16px;background:#fff7ed;border:1px solid #fdba74}.bm-activity__warning h3{margin:0 0 6px;font-size:16px;color:#b45309}.bm-activity__warning p{margin:0 0 12px;color:#92400e}.bm-activity__warning-list{display:grid;gap:12px}.bm-activity__warning-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border-radius:10px;padding:12px 14px;border:1px solid #fed7aa}@media(max-width:720px){.bm-activity__start-grid{grid-template-columns:1fr}.bm-activity__warning-row{flex-direction:column;align-items:flex-start}.bm-parameters__search,.bm-parameters__values-search{grid-template-columns:1fr}.bm-parameters__values-header,.bm-print__toolbar{flex-direction:column;align-items:flex-start}.bm-print__material-search,.bm-users__search{grid-template-columns:1fr}}.bm-activity__table th,.bm-activity__table td{padding:12px 14px;border-bottom:1px solid #e2e8f0;text-align:left;font-size:13px}.bm-activity__table th{background:#f1f5f9;font-weight:600}.bm-activity__table tbody tr:last-child td{border-bottom:none}.bm-activity__row-actions{display:flex;gap:8px;flex-wrap:wrap}.bm-modal{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:24px;z-index:999}.bm-modal__content{width:100%;max-width:640px;background:#fff;border-radius:16px;padding:24px;box-shadow:0 24px 60px #0f172a33;max-height:90vh;overflow:auto}.bm-modal__form{display:grid;gap:14px}.bm-modal__form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#334155}.bm-modal__form input,.bm-modal__form textarea,.bm-modal__form select{padding:10px 12px;border-radius:10px;border:1px solid #cbd5f5;font-size:14px}.bm-modal__form textarea{min-height:90px;resize:vertical}.bm-modal__actions{display:flex;justify-content:flex-end;gap:10px}.bm-scanner__content{max-width:420px}.bm-scanner__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.bm-scanner__close{border:1px solid #cbd5f5;background:#f8fafc;padding:6px 12px;border-radius:10px;font-size:13px;cursor:pointer}.bm-scanner__viewport{width:100%}.bm-scanner__hint{margin-top:12px;font-size:12px;color:#64748b}.bm-dashboard__grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:20px}.bm-dashboard__card{padding:20px 22px;border:1px solid #e2e8f0;border-radius:16px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.bm-dashboard__card:hover{transform:translateY(-2px);box-shadow:0 18px 36px #0f172a1f}.bm-dashboard__value{font-size:12px;letter-spacing:2px;font-weight:700;margin-bottom:8px}.bm-dashboard__title{font-size:18px;font-weight:700;margin-bottom:6px;color:#0f172a}.bm-dashboard__desc{font-size:13px;color:#64748b}.bm-goods__toolbar{padding:20px 24px;margin-bottom:20px;display:flex;flex-direction:column;gap:16px}.bm-goods__toolbar-actions{display:flex;gap:12px;flex-wrap:wrap}.bm-goods__pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin:16px 0}.bm-goods__table table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #0f172a0f}.bm-goods__table th,.bm-goods__table td{padding:12px 14px;border-bottom:1px solid #e2e8f0;font-size:13px;text-align:left;vertical-align:top}.bm-goods__table th{background:#f1f5f9;font-weight:600}.bm-goods__table tbody tr:last-child td{border-bottom:none}.bm-goods__row-actions{display:flex;flex-wrap:wrap;gap:8px}.bm-goods__link{border:none;background:none;color:#2563eb;cursor:pointer;font-size:13px;padding:0;text-decoration:underline}.bm-goods__param-cell{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.bm-goods__filters{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.bm-goods__filters label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#334155}.bm-goods__filters input,.bm-goods__filters select{padding:10px 12px;border-radius:10px;border:1px solid #cbd5f5;font-size:14px}.bm-goods__filter-row{display:flex;gap:8px;align-items:center}.bm-goods__filter-row input{flex:1}.bm-goods__filter-states{margin-top:20px}.bm-goods__filter-states h3{font-size:14px;margin-bottom:12px}.bm-goods__checkbox-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.bm-goods__checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:#334155}.bm-goods__filter-sorting{margin-top:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.bm-goods__product-modal{max-width:1100px}.bm-goods__form-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.bm-goods__form-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#334155}.bm-goods__form-grid input,.bm-goods__form-grid select,.bm-goods__form-grid textarea{padding:10px 12px;border-radius:10px;border:1px solid #cbd5f5;font-size:14px}.bm-goods__desc-grid{grid-column:span 2}.bm-goods__desc-modal textarea{width:100%;min-height:120px;resize:vertical}.bm-goods__parameters{margin-top:24px}.bm-goods__parameters-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.bm-goods__param-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.bm-goods__param-multi{border:1px solid #e2e8f0;background:#f8fafc;border-radius:12px;padding:12px}.bm-goods__first-param{margin-top:20px}.bm-goods__meta{margin:16px 0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));font-size:13px;color:#475569}.bm-goods__param-list{display:grid;gap:10px;max-height:60vh;overflow:auto}.bm-field-error input,.bm-field-error select,.bm-field-error textarea{border-color:#ef4444;box-shadow:0 0 0 1px #ef444440}.bm-field-error__message{font-size:12px;color:#ef4444}:root{font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background-color:#f8fafc;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:#f8fafc}#root{min-height:100vh}a{color:inherit}
