#app{display:contents}.page-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:4px;display:flex}.page-title{color:var(--text);font-size:20px;font-weight:800;line-height:1.2}.page-subtitle{color:var(--muted);margin-top:2px;font-size:12px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.stat-label{color:var(--muted);margin-bottom:6px;font-size:11.5px;font-weight:500}.stat-value{font-size:26px;font-weight:800;font-family:var(--mono);letter-spacing:-.5px;line-height:1}.stat-sub{color:var(--muted);margin-top:4px;font-size:11px}.data-table{border-collapse:collapse;width:100%;font-size:12.5px}.data-table thead th{text-align:left;color:var(--muted);letter-spacing:.6px;text-transform:uppercase;background:var(--surface);border-bottom:1px solid var(--border);padding:9px 13px;font-size:10.5px;font-weight:700}.data-table tbody tr{border-bottom:1px solid var(--border);transition:all .1s}.data-table tbody tr:hover{background:#00000004}.data-table tbody tr:last-child{border-bottom:none}.data-table td{vertical-align:middle;padding:9px 13px}.data-table td:last-child:has(.row-actions){z-index:1;background:var(--surface);box-shadow:inset 1px 0 0 var(--border), -6px 0 8px -6px #0000002e;position:sticky;right:0}.data-table:has(td:last-child .row-actions) thead th:last-child{z-index:1;background:var(--surface);box-shadow:inset 1px 0 0 var(--border), -6px 0 8px -6px #0000002e;position:sticky;right:0}.data-table:has(td:last-child .row-actions) thead th:last-child{text-align:center}.data-table td:last-child:has(.row-actions){width:1%!important}.data-table:has(td:last-child .row-actions) thead th:last-child{width:1%!important}.data-table:not(:has(.row-action-more:not(.row-action-slot))) .row-action-more.row-action-slot{display:none}@keyframes row-actions-scrollable{0%,to{box-shadow:inset 2px 0 #94a3b8,-8px 0 10px -6px #00000047}}.data-table td:last-child:has(.row-actions){animation:linear both row-actions-scrollable;animation-timeline:scroll(inline)}.data-table:has(td:last-child .row-actions) thead th:last-child{animation:linear both row-actions-scrollable;animation-timeline:scroll(inline)}.btn-icon{stroke-width:2px;flex:0 0 15px;width:15px;height:15px}.action-btn{white-space:nowrap}.row-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.catalog-code,.catalog-name{color:var(--accent2);border-radius:3px;font-weight:600;text-decoration:none}.catalog-code{font-family:var(--mono);white-space:nowrap;font-size:12.5px;font-weight:700}.catalog-name{overflow-wrap:anywhere}.catalog-sub{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-size:11.5px;line-height:1.4}a.catalog-code:hover,a.catalog-name:hover{text-decoration:underline}a.catalog-code:focus-visible,a.catalog-name:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.row-actions .btn-delete{order:1}.row-action-btn{min-width:64px;padding:4px 8px;font-size:11px}.row-action-btn.danger-action{color:#dc2626}.row-action-view{justify-content:center;align-items:center;width:30px;height:26px;padding:0;line-height:1;text-decoration:none;display:inline-flex}.row-action-view:hover{color:var(--accent);border-color:var(--accent)}.btn.btn-edit,.btn.btn-delete{background:var(--card);justify-content:center;align-items:center;gap:5px;font-weight:600;display:inline-flex}.btn.btn-edit{border:1px solid var(--border);color:var(--text)}.btn.btn-edit:hover{background:var(--accent-soft);border-color:var(--accent-line);color:var(--text)}.btn.btn-delete{color:#dc2626;border:1px solid #fecaca}.btn.btn-delete:hover{color:#b91c1c;background:#fef2f2;border-color:#fca5a5}.btn.btn-edit:disabled,.btn.btn-delete:disabled{opacity:.55;cursor:not-allowed}.pagination-btn{padding:4px 10px;font-size:12px}.modal-close{place-items:center;display:grid}.modal-close svg{width:16px;height:16px}.table-skeleton-row{pointer-events:none}.table-skeleton-row:hover{background:0 0}.table-skeleton-row td{height:42px}.skeleton-bar,.skeleton-button,.skeleton-block{background:linear-gradient(90deg,#eef2f7 0%,#f8fafc 45%,#eef2f7 90%) 0 0/220% 100%;border-radius:999px;max-width:100%;animation:1.15s ease-in-out infinite tableSkeleton;display:block}.skeleton-block{border-radius:8px}.skeleton-bar{width:110px;height:13px}.skeleton-badge{width:76px;height:20px}.skeleton-button{border-radius:6px;width:58px;height:24px}.table-skeleton-row .skeleton-bar{width:auto;max-width:110px}.table-skeleton-row .skeleton-badge{max-width:76px}.table-skeleton-row td:first-child .skeleton-bar{max-width:72px}.table-skeleton-row td:nth-child(2) .skeleton-bar{max-width:150px}.table-skeleton-row td:nth-child(3) .skeleton-bar{max-width:118px}.table-skeleton-row td:nth-child(4) .skeleton-bar{max-width:96px}.table-skeleton-row td:nth-child(5) .skeleton-bar{max-width:88px}.table-skeleton-row td:nth-child(6) .skeleton-bar{max-width:80px}.table-skeleton-row td:nth-child(7) .skeleton-bar{max-width:76px}@keyframes tableSkeleton{0%{background-position:110% 0}to{background-position:-110% 0}}input[type=date].form-input{cursor:pointer}input[type=date].form-input::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer;border-radius:4px;padding:2px}input[type=date].form-input::-webkit-calendar-picker-indicator:hover{opacity:1;background:var(--accent-soft)}.filter-bar{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.filter-field{color:var(--muted);flex-direction:column;gap:3px;font-size:11px;font-weight:700;display:flex}.filter-field .form-input{color:var(--text);box-sizing:border-box;min-height:32px;padding:6px 10px;font-size:12.5px;font-weight:500}.filter-label{color:var(--muted);margin-bottom:3px;font-size:11px;font-weight:700;display:block}.dash-skeleton .kpi,.dash-skeleton .card{pointer-events:none}.dash-skeleton .card-body{gap:10px;display:grid}.dash-skeleton-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:11px 16px;display:flex}@media (prefers-reduced-motion:reduce){.skeleton-bar,.skeleton-button,.skeleton-block{animation:none}}.status-badge{white-space:nowrap;color:#475569;background:#f1f5f9;border-radius:20px;align-items:center;padding:3px 9px;font-size:10.5px;font-weight:700;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed;filter:saturate(.6)}.form-section{margin-bottom:24px}.form-section:last-child{margin-bottom:0}.form-section-title{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:6px;font-size:11px;font-weight:700}.form-grid-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}:is(.modal-body,.form-section)>:is(.form-group,.form-grid-2,.form-grid,.form-row,.form-section)+:is(.form-group,.form-grid-2,.form-grid,.form-row){margin-top:14px}:is(.modal-body,.form-section)>:is(.form-group,.form-grid-2,.form-grid,.form-row)+.form-section{margin-top:20px}.modal-overlay{display:flex!important}:is(html:has(.modal-overlay),body:has(.modal-overlay)){overflow:hidden}.modal-overlay,.modal-overlay :is(.modal,.modal-body){overscroll-behavior:contain}.page-header{flex-wrap:wrap}.page-header>:first-child{flex:260px;min-width:0}.page-header>:last-child:not(:first-child){flex-wrap:wrap;justify-content:flex-end}.page-subtitle{overflow-wrap:anywhere}.page-header>:first-child{position:relative}.page-header .page-subtitle:not(.is-static){z-index:40;border:1px solid var(--border);background:var(--card);width:max-content;max-width:min(560px,100vw - 32px);color:var(--muted2);opacity:0;visibility:hidden;pointer-events:none;border-radius:8px;margin-top:6px;padding:6px 10px;font-size:12px;line-height:1.45;transition:opacity .12s,visibility .12s;position:absolute;top:100%;left:0;box-shadow:0 6px 20px -8px #0f172a40}.page-header .page-title:has(~.page-subtitle:not(.is-static)){cursor:help}.page-header .page-title:hover~.page-subtitle:not(.is-static){opacity:1;visibility:visible}@media (width<=767px){.page-title{font-size:17px}.page-header>:last-child:not(:first-child){flex:100%;justify-content:stretch}.page-header>:last-child:not(:first-child)>.btn{flex:auto;justify-content:center}.filter-bar>:not(.filter-actions){flex:calc(50% - 10px);min-width:140px}.filter-bar :is(.search-field,.date-input,.select-search){width:100%!important;min-width:0!important;max-width:none!important}.filter-bar>.filter-actions{flex:100%}.filter-bar>.filter-actions .btn{flex:1 1 0;justify-content:center}}@media (width<=480px){.filter-bar>:not(.filter-actions){flex-basis:100%}}:root{--dn-pad:12px;--dn-gap:12px;--dn-row:32px;--dn-title:14px;--dn-font-min:12px;--dn-hit:32px}@media (width<=1279px){:root{--dn-gap:10px}}@media (width<=767px){:root{--dn-hit:40px;--dn-row:36px}}.filter-bar>.filter-hint{align-items:center;min-height:34px;display:inline-flex}@media (width>=1800px){.main .data-table:not(.modal .data-table){table-layout:auto;width:100%!important;min-width:0!important}.main .data-table:not(.modal .data-table) thead th,.main .data-table:not(.modal .data-table) td{padding-left:8px;padding-right:8px;white-space:normal!important}.main .data-table:not(.modal .data-table) thead th{letter-spacing:.3px}}.modal .modal-body{max-height:none!important;overflow-y:visible!important}.modal>.modal-header{z-index:2;background:var(--card);position:sticky;top:0}.modal>.modal-footer{z-index:2;background:var(--card);position:sticky;bottom:0}.modal.modal-fixed{flex-direction:column;height:min(720px,90vh);display:flex;overflow:hidden}.modal.modal-fixed>.modal-header,.modal.modal-fixed>.modal-footer{flex:none}.modal.modal-fixed>.modal-body{flex:auto;min-height:0;overflow-y:auto!important}.modal:has(table):not([style^=width\:]):not([style*=";width:"]):not([style*=" width:"]){width:max-content;min-width:min(620px,100%);max-width:min(100%,1000px)!important}@media (width<=1024px){.detail-grid{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr 1fr}.kpi-row-6{grid-template-columns:repeat(3,1fr)}}@media (width<=900px){.stats-grid,.kpi-row,.kpi-row-3,.kpi-row-6,.status-row,.delivery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}[style*=grid-template-columns]:is([style*=repeat\(3],[style*=repeat\(4],[style*=repeat\(5],[style*=repeat\(6],[style*=repeat\(auto]):not([style*=repeat\(7]){grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (width<=767px){.page{gap:14px;padding:14px 12px}.card-body{padding:12px}.form-grid,.form-grid-2{grid-template-columns:minmax(0,1fr)}[style*=grid-template-columns]:not([style*=repeat\(7]){grid-template-columns:minmax(0,1fr)!important}.stats-grid,.kpi-row,.kpi-row-3,.kpi-row-6,.status-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.modal-overlay{align-items:flex-end;padding:8px}.modal,.modal-lg,.modal-xl{max-width:100%;max-height:calc(100vh - 16px)}.modal-header{padding:14px 16px}.modal-body{padding:16px}.modal-footer{flex-wrap:wrap;padding:12px 16px}.modal-footer>.btn{flex:auto;justify-content:center}.tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.tabs>*{white-space:nowrap;flex:none}.od-topbar{flex-wrap:wrap;padding:10px 12px}.od-content{padding:12px}.od-rail{padding:12px;overflow-x:auto}.od-rail-steps{min-width:520px}.data-table th,.data-table td{padding:8px 10px}:not([style*=overflow])>table.data-table{-webkit-overflow-scrolling:touch;max-width:100%;display:block;overflow-x:auto}table.data-table :is(th,td){white-space:nowrap}}@media (width<=480px){.stats-grid,.kpi-row,.kpi-row-3,.kpi-row-6,.status-row{grid-template-columns:minmax(0,1fr)!important}.modal-overlay{padding:0}.modal,.modal-lg,.modal-xl{border-radius:12px 12px 0 0;max-height:100vh}}@media (width>=901px){.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1201px){.kpi-row{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-row-6{grid-template-columns:repeat(6,minmax(0,1fr))}}:is(.stats-grid,.kpi-row,.kpi-row-3,.kpi-row-6,[style*=grid-template-columns])>*{min-width:0}.stat-card,.kpi{min-width:0;overflow:hidden;container-type:inline-size}.stat-value,.kpi-value,.kpi-val{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:clamp(14px,8cqw,22px)!important}.app-dialog-overlay[data-v-11717cc4]{z-index:2000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.app-dialog[data-v-11717cc4]{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);width:100%;max-width:440px;padding:22px 22px 18px;box-shadow:0 24px 60px -12px #0f172a59}.app-dialog.wide[data-v-11717cc4]{max-width:500px}.app-dialog-head[data-v-11717cc4]{align-items:flex-start;gap:14px;display:flex}.app-dialog-icon[data-v-11717cc4]{background:var(--accent-soft2);width:40px;height:40px;color:var(--accent);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.app-dialog-icon.danger[data-v-11717cc4]{background:var(--red-bg);color:var(--red)}.app-dialog-text[data-v-11717cc4]{min-width:0;padding-top:2px}.app-dialog-title[data-v-11717cc4]{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:15.5px;font-weight:700;line-height:1.4}.app-dialog-message[data-v-11717cc4]{color:var(--muted);white-space:pre-line;overflow-wrap:anywhere;margin:6px 0 0;font-size:13px;line-height:1.55}.app-dialog-fields[data-v-11717cc4]{flex-direction:column;gap:12px;margin-top:18px;display:flex}.app-dialog-required[data-v-11717cc4]{color:#dc2626}.app-dialog-textarea[data-v-11717cc4]{resize:vertical;min-height:76px}.form-input.is-invalid[data-v-11717cc4]{border-color:var(--red);box-shadow:0 0 0 3px var(--red-bg)}.app-dialog-error[data-v-11717cc4]{background:var(--red-bg);color:var(--red);border-radius:8px;margin:14px 0 0;padding:9px 12px;font-size:13px;line-height:1.5}.app-dialog-actions[data-v-11717cc4]{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.app-dialog-actions .btn[data-v-11717cc4]{justify-content:center;min-width:84px;padding:8px 16px}.app-dialog-actions .btn[data-v-11717cc4]:disabled{opacity:.5;cursor:not-allowed}.app-dialog-danger[data-v-11717cc4]{background:var(--red);color:#fff}.app-dialog-danger[data-v-11717cc4]:hover:not(:disabled){background:#e11d48}.app-dialog-actions .btn[data-v-11717cc4]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-dialog-enter-active[data-v-11717cc4],.app-dialog-leave-active[data-v-11717cc4]{transition:opacity .15s}.app-dialog-enter-active .app-dialog[data-v-11717cc4],.app-dialog-leave-active .app-dialog[data-v-11717cc4]{transition:transform .15s}.app-dialog-enter-from[data-v-11717cc4],.app-dialog-leave-to[data-v-11717cc4]{opacity:0}.app-dialog-enter-from .app-dialog[data-v-11717cc4],.app-dialog-leave-to .app-dialog[data-v-11717cc4]{transform:translateY(8px)scale(.97)}@media (prefers-reduced-motion:reduce){.app-dialog-enter-active[data-v-11717cc4],.app-dialog-leave-active[data-v-11717cc4],.app-dialog-enter-active .app-dialog[data-v-11717cc4],.app-dialog-leave-active .app-dialog[data-v-11717cc4]{transition:none}}.app-alert-overlay[data-v-93b0fe90]{z-index:2500;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.app-alert[data-v-93b0fe90]{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);flex-direction:column;width:100%;max-width:480px;max-height:100%;padding:22px 22px 18px;display:flex;box-shadow:0 24px 60px -12px #0f172a59}.app-alert-head[data-v-93b0fe90]{flex-shrink:0;align-items:center;gap:14px;display:flex}.app-alert-icon[data-v-93b0fe90]{border-radius:12px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.app-alert-icon.error[data-v-93b0fe90]{background:var(--red-bg);color:var(--red)}.app-alert-icon.warning[data-v-93b0fe90]{background:var(--amber-bg);color:var(--amber)}.app-alert-title[data-v-93b0fe90]{color:var(--text);margin:0;font-size:15.5px;font-weight:700;line-height:1.4}.app-alert-body[data-v-93b0fe90]{min-height:0;margin-top:14px;overflow-y:auto}.app-alert-message[data-v-93b0fe90]{color:var(--text);white-space:pre-line;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.55}.app-alert-list[data-v-93b0fe90]{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.app-alert-item[data-v-93b0fe90]{border-left:3px solid var(--amber);padding-left:12px}.app-alert-item.error[data-v-93b0fe90]{border-left-color:var(--red)}.app-alert-actions[data-v-93b0fe90]{flex-shrink:0;justify-content:flex-end;margin-top:20px;display:flex}.app-alert-actions .btn[data-v-93b0fe90]{justify-content:center;min-width:96px;padding:8px 16px}.app-alert-actions .btn[data-v-93b0fe90]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-alert-enter-active[data-v-93b0fe90],.app-alert-leave-active[data-v-93b0fe90]{transition:opacity .15s}.app-alert-enter-from[data-v-93b0fe90],.app-alert-leave-to[data-v-93b0fe90]{opacity:0}@media (prefers-reduced-motion:reduce){.app-alert-enter-active[data-v-93b0fe90],.app-alert-leave-active[data-v-93b0fe90]{transition:none}}
