:root{--erp-bg:#f5f7fb;--erp-surface:#fff;--erp-border:#dfe5ee;--erp-input-border:#b8c4d4;--erp-text:#1f2937;--erp-text-muted:#6b7280;--erp-sidebar-bg:#111827;--erp-sidebar-text:#fff;--erp-sidebar-muted:#d1d5db;--erp-radius:10px;--erp-sidebar-w:240px;--erp-sidebar-narrow-w:72px}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;overflow-x:hidden}body{background:var(--erp-bg);color:var(--erp-text);margin:0;font-family:Arial,sans-serif;overflow-x:hidden}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.erp-shell{grid-template-columns:var(--erp-sidebar-w) 1fr;max-width:100vw;height:100vh;display:grid;overflow:hidden}.erp-shell--narrow{grid-template-columns:var(--erp-sidebar-narrow-w) 1fr}.erp-main{min-width:0;max-width:100%;height:100vh;padding:24px;overflow:hidden auto}.erp-main--centered{place-items:center;height:auto;min-height:100vh;display:grid;overflow-y:auto}.erp-sidebar{background:var(--erp-sidebar-bg);height:100vh;max-height:100vh;color:var(--erp-sidebar-text);flex-direction:column;align-self:start;gap:12px;padding:20px;display:flex;position:sticky;top:0;overflow:hidden auto}.erp-shell--narrow .erp-sidebar{padding:20px 10px}.erp-sidebar__head{flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;display:flex}.erp-brand{white-space:nowrap;font-size:18px;font-weight:700}.erp-shell--narrow .erp-brand{display:none}.erp-icon-btn{border-radius:var(--erp-radius);color:var(--erp-sidebar-text);cursor:pointer;background:0 0;border:none;padding:8px 10px;line-height:1}.erp-icon-btn:hover{color:var(--erp-sidebar-muted)}.erp-nav{flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex;overflow-y:auto}.erp-nav__section{flex-direction:column;gap:4px;display:flex}.erp-nav__section-toggle{border-radius:var(--erp-radius);width:100%;color:var(--erp-sidebar-muted);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:11px 12px;font-size:14px;display:flex}.erp-nav__section-toggle:hover{color:var(--erp-sidebar-text)}.erp-nav__section-toggle.is-active{color:var(--erp-sidebar-text);background:#ffffff1f}.erp-nav__icon{text-align:center;flex:0 0 18px;font-size:16px;line-height:1}.erp-nav__label{white-space:nowrap;flex:auto}.erp-shell--narrow .erp-nav__label,.erp-shell--narrow .erp-nav__items{display:none}.erp-shell--narrow .erp-nav__section-toggle{justify-content:center;padding:11px 8px}.erp-nav__items{flex-direction:column;gap:4px;padding-left:12px;display:none}.erp-nav__section.is-expanded .erp-nav__items{display:flex}.erp-nav__link{border-radius:var(--erp-radius);color:var(--erp-sidebar-muted);padding:9px 12px;font-size:13px;display:block}.erp-nav__link:hover{color:var(--erp-sidebar-text)}.erp-nav__link.is-active{color:var(--erp-sidebar-text);background:#ffffff1f}.erp-sidebar__profile{border-top:1px solid #ffffff1a;flex-shrink:0;margin-top:4px;padding-top:12px}.erp-sidebar__profile-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.erp-sidebar__name{min-width:0;color:var(--erp-sidebar-text);font-size:14px;font-weight:600;line-height:1.35}.erp-shell--narrow .erp-sidebar__profile{padding-top:8px;display:block}.erp-shell--narrow .erp-sidebar__name{display:none}.erp-shell--narrow .erp-sidebar__profile-row{justify-content:center}.erp-sidebar__logout{border-radius:var(--erp-radius);color:var(--erp-sidebar-text);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px 6px;font-size:18px;line-height:1}.erp-sidebar__logout:hover{background:#ffffff14}.erp-page-head{margin-bottom:24px}.erp-page-head h1{margin:0;font-size:26px;font-weight:700}.erp-page-stub{border:1px dashed var(--erp-border);border-radius:var(--erp-radius);background:var(--erp-surface);color:var(--erp-text-muted);margin:0;padding:24px;font-size:14px;line-height:1.5}@media (width<=900px){.erp-main{padding:16px}.erp-page-head h1{font-size:22px}}.erp-block{border:1px solid var(--erp-border);border-radius:var(--erp-radius);background:var(--erp-surface);flex-direction:column;gap:12px;margin-bottom:20px;padding:20px;display:flex}.erp-block__title{margin:0 0 12px;font-size:16px;font-weight:700}.erp-block__head{flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin-bottom:12px;display:flex}.erp-block__head .erp-block__title,.erp-block__head .erp-block__hint,.erp-block__head .erp-segmented{margin:0}.erp-block__hint{color:var(--erp-text-muted);margin:0 0 12px;font-size:13px}.erp-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;min-width:0;max-width:100%;display:grid}.erp-form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.erp-form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.erp-form-grid--spec-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:12px 16px}.erp-form-grid--spec-head--edit{grid-template-columns:repeat(3,minmax(0,1fr))}.erp-form-grid--spec-head .erp-counterparty-picker{min-width:0}.erp-field--full{grid-column:1/-1}.erp-form-grid--spec-head+.erp-form-grid,.erp-form-grid--spec-head~.erp-form-grid,.erp-form-grid--spec-head+.erp-field--full,.erp-form-grid--spec-head+.erp-subblock,.erp-form-grid--spec-head+.erp-form-warning{margin-top:12px}.erp-form-grid--ident{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto}.erp-form-grid--company-ident{grid-template-columns:minmax(0,1fr)}.erp-form-grid--contract-row1{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,11rem);align-items:start}.erp-form-grid--contract-edit-row1{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.erp-form-grid--contract-edit-loaded-row1{grid-template-columns:minmax(0,1fr);align-items:start}.erp-form-grid--contract-edit-loaded-row2{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,11rem) auto auto;align-items:start}.erp-form-grid--contract-edit-row1 .erp-field,.erp-form-grid--contract-edit-loaded-row1 .erp-field,.erp-form-grid--contract-edit-loaded-row2 .erp-field,.erp-form-grid--contract-edit-loaded-row2 .erp-field--picker,.erp-form-grid--contract-row1 .erp-field{min-width:0}.erp-field--picker{flex-direction:column;gap:6px;min-width:0;display:flex}.erp-field--checkbox-stack{align-items:center}.erp-field--checkbox-stack .erp-field__label{text-align:center;width:100%}.erp-field--checkbox-stack .erp-field__checkbox{justify-content:center;align-items:center;width:100%;min-height:38px}.erp-field--checkbox-stack .erp-field__checkbox input[type=checkbox]{width:22px;height:22px}.erp-form-grid--contract-row1 .erp-counterparty-picker{min-width:0}.erp-field__select{width:100%;max-width:100%;display:block}.erp-picker-selected{border:1px solid var(--erp-input-border);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;min-height:38px;padding:9px 11px;font-size:13px;display:flex}.erp-picker-selected__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.erp-picker-selected__change{color:#2563eb;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:13px}.erp-field{flex-direction:column;gap:6px;min-width:0;display:flex}.erp-field--wide{grid-column:1/-1}.erp-field--checkbox{flex-direction:row;align-self:end;align-items:center;gap:8px}.erp-field--archive{min-width:72px}.erp-field__checkbox{align-items:center;min-height:38px;display:flex}.erp-field__checkbox input[type=checkbox]{cursor:pointer;width:16px;height:16px;margin:0}.erp-field--invisible{pointer-events:none}.erp-field--invisible .erp-field__label,.erp-field--invisible input{visibility:hidden}.erp-field__label{color:var(--erp-text-muted);font-size:13px}.erp-field input[type=text],.erp-field input[type=email],.erp-field input[type=tel],.erp-field input[type=date],.erp-field input[type=number],.erp-field select{border:1px solid var(--erp-input-border);width:100%;min-width:0;max-width:100%;color:inherit;background:#fff;border-radius:8px;padding:9px 11px;font-size:13px}.erp-field select:disabled{opacity:.65;cursor:not-allowed;background:#f8fafc}.erp-form-grid+.erp-form-grid{margin-top:0}.erp-field input[type=date]{line-height:1.25}.erp-field input:focus{outline-offset:0;border-color:#60a5fa;outline:2px solid #93c5fd}.erp-segmented{background:var(--erp-bg);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.erp-segmented__btn{cursor:pointer;background:0 0;border:none;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600}.erp-segmented__btn.is-active{background:var(--erp-surface);box-shadow:0 1px 2px #00000014}.erp-form-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.erp-btn{border:1px solid var(--erp-border);background:var(--erp-surface);cursor:pointer;border-radius:8px;padding:10px 16px;font-size:13px;font-weight:600}.erp-btn--primary{color:#fff;background:#2563eb;border-color:#2563eb}.erp-btn--primary:disabled{opacity:.6;cursor:not-allowed}.erp-form-error{color:#b91c1c;margin:0 0 12px;font-size:14px}.erp-form-success{color:#15803d;margin:0 0 12px;font-size:14px}.erp-form-success--inline{margin:0}.erp-table-wrap{margin-bottom:16px;overflow-x:auto}.erp-table{border-collapse:collapse;width:100%;font-size:14px}.erp-table th,.erp-table td{border:1px solid var(--erp-border);text-align:left;vertical-align:middle;padding:8px 10px}.erp-table th{white-space:nowrap;background:#f8fafc;font-weight:600}.erp-table td input[type=text],.erp-table td input[type=number]{box-sizing:border-box;border:1px solid var(--erp-border);border-radius:6px;width:100%;min-width:64px;padding:6px 8px;font-size:13px}.erp-table__num{text-align:right;white-space:nowrap}.erp-table--equipment{table-layout:auto;width:max-content;min-width:100%}.erp-table--equipment .col-name{white-space:normal;word-break:break-word;width:auto;min-width:16em;overflow:visible}.erp-table--equipment td.col-name input[type=text]{width:100%;min-width:16em}.erp-table--equipment tr.is-archived td{opacity:.65}.erp-table--equipment .col-type,.erp-table--equipment .col-unit,.erp-table--equipment .col-in-rent,.erp-table--equipment .col-total,.erp-table--equipment .col-price,.erp-table--equipment .col-estimated{white-space:nowrap;width:1%}.erp-table--equipment td.col-unit .erp-input-compact{width:auto;min-width:2.5em;max-width:5em}.erp-table--equipment td.col-total .erp-input-compact,.erp-table--equipment td.col-price .erp-input-compact,.erp-table--equipment td.col-estimated .erp-input-compact{width:auto;min-width:2.5em;max-width:6em}.erp-table--equipment .erp-input-num{appearance:textfield}.erp-table--equipment .erp-input-num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.erp-table--equipment .erp-input-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.erp-table--equipment td input[type=checkbox]{cursor:pointer;width:18px;height:18px}.erp-subblock{margin-top:20px}.erp-block-title{margin:0 0 12px;font-size:15px;font-weight:600}.erp-form-actions--inline{margin-top:12px}.erp-btn--ghost{color:#64748b;background:0 0;border:none;padding:4px 8px}.erp-btn--danger{color:#dc2626;background:#fff;border-color:#dc2626}.erp-table--spec{table-layout:auto;width:max-content;min-width:100%}.erp-table--spec .col-name{white-space:normal;min-width:16em}.erp-table--spec .col-type,.erp-table--spec .col-unit,.erp-table--spec .col-qty,.erp-table--spec .col-price,.erp-table--spec .col-actions{white-space:nowrap;width:1%}.erp-table--spec td.col-qty .erp-input-compact,.erp-table--spec td.col-price .erp-input-compact{width:auto;min-width:2.5em;max-width:6em}.erp-table--spec .erp-input-num{appearance:textfield}.erp-table--spec .erp-input-num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.erp-table--spec .erp-input-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.erp-table--spec select{box-sizing:border-box;border:1px solid var(--erp-border);border-radius:6px;width:100%;min-width:12em;padding:6px 8px;font-size:13px}.erp-edit-rules{grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;display:grid}.erp-edit-rules__box{border:1px solid var(--erp-border);border-radius:8px;padding:12px 14px;font-size:13px}.erp-edit-rules__box--allow{background:#f0fdf4;border-color:#bbf7d0}.erp-edit-rules__box--deny{background:#fef2f2;border-color:#fecaca}.erp-edit-rules__title{margin-bottom:8px;font-weight:600}.erp-edit-rules__box ul{margin:0;padding-left:18px}.erp-form-warnings{margin:16px 0 0}.erp-form-warnings .erp-form-warning{margin:0 0 8px}.erp-form-warnings .erp-form-warning:last-child{margin-bottom:12px}.erp-form-warning{color:#a16207;margin:16px 0 12px;font-size:14px}.erp-muted{color:var(--erp-text-muted);margin:0;font-size:14px}.erp-chip-list{flex-wrap:wrap;gap:8px;display:flex}.erp-chip{border:1px solid var(--erp-border);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;display:inline-flex}.erp-chip.is-active{background:#eff6ff;border-color:#2563eb}.erp-chip.is-archived{opacity:.75}.erp-chip__badge{color:var(--erp-text-muted);font-size:11px}.erp-counterparty-picker{flex-direction:column;gap:8px;display:flex}.erp-counterparty-picker .erp-field--wide{margin:0}.erp-suggest-list{flex-direction:column;gap:6px;max-height:280px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.erp-suggest-item{border:1px solid var(--erp-border);cursor:pointer;text-align:left;background:#fff;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px;display:flex}.erp-suggest-item:hover{border-color:var(--erp-input-border);background:#f8fafc}.erp-suggest-item.is-active{background:#eff6ff;border-color:#2563eb}.erp-suggest-item.is-archived{opacity:.85}.erp-suggest-item__line{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;line-height:1.4;display:inline-flex}.erp-suggest-item__short{font-weight:600}.erp-suggest-item__detail{color:var(--erp-text);font-weight:400}.erp-completeness{flex-wrap:wrap;gap:12px;margin-bottom:12px;font-size:13px;display:flex}.erp-completeness .is-ok{color:#15803d}.erp-completeness .is-pending{color:var(--erp-text-muted)}@media (width<=900px){.erp-form-grid,.erp-form-grid--2,.erp-form-grid--3,.erp-form-grid--ident,.erp-form-grid--contract-row1,.erp-form-grid--contract-edit-row1,.erp-form-grid--contract-edit-loaded-row1,.erp-form-grid--contract-edit-loaded-row2,.erp-form-grid--spec-head,.erp-form-grid--spec-head--edit{grid-template-columns:1fr}}.erp-spec-print__select{margin-bottom:16px}.erp-spec-print__hint{margin:8px 0 0}.erp-print-toolbar{flex-wrap:wrap;gap:10px;margin:20px 0 12px;display:flex}.erp-print-preview{border:1px solid var(--erp-border);background:#fff;border-radius:8px;padding:24px 32px;overflow-x:auto}.erp-print-doc{color:#000;min-width:720px;font-family:Arial,sans-serif;font-size:12px}.erp-print-doc__title{text-align:center;margin:0 0 20px;font-size:20px;font-weight:700}.erp-print-doc__meta{margin-bottom:8px;line-height:1.5}.erp-print-doc__meta--spaced{margin-top:12px}.erp-print-doc__table{border-collapse:collapse;width:100%;margin-top:20px}.erp-print-doc__table th,.erp-print-doc__table td{vertical-align:top;border:1px solid #000;padding:6px 8px}.erp-print-doc__table th{text-align:center;font-weight:600}.erp-print-doc__center{text-align:center}.erp-print-doc__signatures{justify-content:space-between;gap:40px;margin-top:40px;display:flex}.erp-print-doc__sign-block{width:45%}.erp-print-doc__sign-title{margin-bottom:8px;font-weight:700}.erp-print-doc__sign-line{border-bottom:1px solid #000;height:24px;margin:16px 0 6px}.erp-table__center{text-align:center}.erp-table-checkbox{justify-content:center;align-items:center;display:inline-flex}.erp-table-checkbox input{cursor:pointer;width:16px;height:16px}.erp-users-add{flex-wrap:wrap;align-items:flex-end;gap:10px 16px;margin-bottom:16px;display:flex}.erp-users-add__field{flex:280px;min-width:0}.erp-users-add__actions{margin-top:0}.erp-btn--square{min-width:42px;padding-inline:12px}.erp-table--users th:first-child,.erp-table--users td:first-child{width:30%}.erp-table--users th:nth-child(2),.erp-table--users td:nth-child(2),.erp-table--users th:nth-child(3),.erp-table--users td:nth-child(3){width:24%}.erp-table--users th:nth-child(4),.erp-table--users td:nth-child(4){width:22%}@media print{.erp-sidebar,.erp-print-page-head,.erp-spec-print__select,.erp-print-toolbar,.erp-spec-print__hint,.erp-form-error,.erp-muted{display:none!important}.erp-main{padding:0!important}.erp-print-preview{border:none;border-radius:0;padding:0;overflow:visible}.erp-block{box-shadow:none;border:none;padding:0}}
