:root{--navy-950:#0a1730;--navy-900:#0d1d3b;--navy-800:#172a4c;--navy-700:#2f3d57;--blue-500:#5090cc;--blue-600:#3b7bbe;--blue-700:#2c66a6;--blue-800:#22528a;--blue-900:#1b4270;--blue-100:#d8e7f6;--blue-50:#eef5fc;--bg:#f3f5f8;--panel:#fff;--panel-2:#f8fafc;--panel-3:#eef2f7;--border:#e0e5ec;--border-strong:#c8d1dd;--text:#13203a;--text-2:#39465d;--muted:#5e6c84;--muted-2:#8b96a9;--accent:var(--blue-700);--accent-hover:var(--blue-800);--accent-press:var(--blue-900);--focus-ring:0 0 0 3px #5090cc59;--success:#1c7a4b;--success-bg:#eaf6ef;--success-line:#bfe1cc;--warning:#965a07;--warning-bg:#fdf4e2;--warning-line:#f0d29b;--danger:#bf3428;--danger-bg:#fdeeec;--danger-line:#f2c2bc;--radius-lg:12px;--radius:10px;--radius-sm:8px;--radius-xs:6px;--shadow-xs:0 1px 2px #0d1d3b0d;--shadow-sm:0 1px 2px #0d1d3b0f,0 3px 8px #0d1d3b0d;--shadow-lg:0 18px 44px #0d1d3b33,0 3px 10px #0d1d3b14;--font:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--header-h:56px;--chevron:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235e6c84' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}*,:after,:before{box-sizing:border-box;margin:0;padding:0}#root,body,html{min-height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3f5f8;background:var(--bg);color:#13203a;color:var(--text);font-family:IBM Plex Sans,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-family:var(--font);font-size:14px;line-height:1.5;text-rendering:optimizeLegibility}::selection{background:#d8e7f6;background:var(--blue-100);color:#13203a;color:var(--text)}a{color:#2c66a6;color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}h1,h2,h3,h4{color:#13203a;color:var(--text);font-weight:600;letter-spacing:-.01em;line-height:1.3}h2{font-size:20px}h3{font-size:16px}h4{font-size:14px}b,strong{font-weight:600}button,input,select,textarea{color:inherit;font:inherit}:focus-visible{outline:2px solid #5090cc;outline:2px solid var(--blue-500);outline-offset:2px}.header{background:#0d1d3b;background:var(--navy-900);box-shadow:0 2px 10px #0a17302e;color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-inner{gap:0 20px;margin:0 auto;max-width:1320px;padding:0 24px}.brand,.header-inner{align-items:center;display:flex}.brand{color:#fff;flex-shrink:0;font-size:15px;font-weight:600;gap:10px;height:56px;height:var(--header-h);white-space:nowrap}.brand:hover{color:#fff;text-decoration:none}.brand-mark{background:#fff;border-radius:7px;display:grid;flex-shrink:0;height:30px;place-items:center;width:30px}.brand-mark img{display:block;height:22px;width:22px}.division-chip{align-items:center;border:1px solid #ffffff38;border-radius:6px;border-radius:var(--radius-xs);color:#ffffffe6;display:inline-flex;flex-shrink:0;font-size:12px;font-weight:600;gap:4px;height:26px;letter-spacing:.05em;padding:0 6px 0 9px;transition:background-color .12s ease,border-color .12s ease;white-space:nowrap}a.division-chip:hover{background:#ffffff14;border-color:#fff6;color:#fff;text-decoration:none}.nav{align-self:stretch;display:flex;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav a{align-items:center;border-bottom:2px solid #0000;border-top:2px solid #0000;color:#ffffffb3;display:flex;font-size:13.5px;font-weight:500;padding:0 12px;transition:color .12s ease,border-color .12s ease;white-space:nowrap}.nav a:hover{color:#fff;text-decoration:none}.nav a.active{border-bottom-color:#5090cc;border-bottom-color:var(--blue-500);color:#fff}.header-user{align-items:center;display:flex;flex-shrink:0;gap:8px;height:56px;height:var(--header-h);margin-left:auto}.header-username{color:#ffffffad;font-size:13px;margin-right:4px}.container{margin:0 auto;max-width:1320px;padding:28px 24px 56px}.container.narrow{max-width:760px}.page-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:14px 24px;justify-content:space-between;margin-bottom:20px}.page-head-text{min-width:0}.page-eyebrow{color:#2c66a6;color:var(--blue-700);font-size:12px;font-weight:600;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.page-title{font-size:26px;font-weight:600;letter-spacing:-.02em;line-height:1.2}.page-sub{color:#5e6c84;color:var(--muted);font-size:14px;margin-top:6px}.page-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.section-title{color:#5e6c84;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.08em;margin:0 0 10px;text-transform:uppercase}.card{background:#fff;background:var(--panel);border:1px solid #e0e5ec;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 2px #0d1d3b0d;box-shadow:var(--shadow-xs);padding:20px}.card-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.card-title{color:#13203a;color:var(--text);font-size:15px;font-weight:600}.card-sub{color:#5e6c84;color:var(--muted);font-size:13px;margin-top:2px}.card.inset{background:#f8fafc;background:var(--panel-2);box-shadow:none;padding:16px}.stack{display:flex;flex-direction:column;gap:16px}.btn{align-items:center;background:#2c66a6;background:var(--accent);border:1px solid #2c66a6;border:1px solid var(--accent);border-radius:8px;border-radius:var(--radius-sm);box-shadow:0 1px 2px #0d1d3b0d;box-shadow:var(--shadow-xs);color:#fff;cursor:pointer;display:inline-flex;font-family:IBM Plex Sans,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-family:var(--font);font-size:13.5px;font-weight:600;gap:6px;height:36px;justify-content:center;line-height:1;padding:0 14px;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease;-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:not(:disabled):hover{background:#22528a;background:var(--accent-hover);border-color:#22528a;border-color:var(--accent-hover);color:#fff;text-decoration:none}.btn:not(:disabled):active{background:#1b4270;background:var(--accent-press);border-color:#1b4270;border-color:var(--accent-press)}.btn:focus-visible{box-shadow:0 0 0 3px #5090cc59;box-shadow:var(--focus-ring);outline:none}.btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5}a:has(>.btn):hover{text-decoration:none}.btn.secondary{background:#fff;background:var(--panel);border-color:#c8d1dd;border-color:var(--border-strong);color:#39465d;color:var(--text-2)}.btn.secondary:not(:disabled):hover{background:#f8fafc;background:var(--panel-2);border-color:#b1bccb;color:#13203a;color:var(--text)}.btn.secondary:not(:disabled):active{background:#eef2f7;background:var(--panel-3);border-color:#b1bccb}.btn.secondary.destructive{color:#bf3428;color:var(--danger)}.btn.secondary.destructive:not(:disabled):hover{background:#fdeeec;background:var(--danger-bg);border-color:#f2c2bc;border-color:var(--danger-line);color:#bf3428;color:var(--danger)}.btn.danger{background:#bf3428;background:var(--danger);border-color:#bf3428;border-color:var(--danger);color:#fff}.btn.danger:not(:disabled):hover{background:#a62c22;border-color:#a62c22}.btn.danger:not(:disabled):active{background:#8c251c;border-color:#8c251c}.btn.success{background:#1c7a4b;background:var(--success);border-color:#1c7a4b;border-color:var(--success)}.btn.success:not(:disabled):hover{background:#16643d;border-color:#16643d}.btn.ghost{background:#0000;border-color:#0000;box-shadow:none;color:#39465d;color:var(--text-2)}.btn.ghost:not(:disabled):hover{background:#eef2f7;background:var(--panel-3);border-color:#0000;color:#13203a;color:var(--text)}.btn.ghost:not(:disabled):active{background:#e0e5ec;background:var(--border);border-color:#0000}.btn.on-dark{background:#0000;border-color:#ffffff3d;box-shadow:none;color:#ffffffeb}.btn.on-dark:not(:disabled):hover{background:#ffffff14;border-color:#ffffff6b;color:#fff}.btn.on-dark:not(:disabled):active{background:#ffffff24;border-color:#ffffff6b}.btn.small{border-radius:6px;border-radius:var(--radius-xs);font-size:12.5px;gap:4px;height:30px;padding:0 10px}.btn.icon{padding:0;width:36px}.btn.small.icon{width:30px}.ghost{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;border-radius:var(--radius-xs);color:#39465d;color:var(--text-2);cursor:pointer;display:inline-flex;font-family:IBM Plex Sans,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-family:var(--font);font-size:12.5px;font-weight:600;height:28px;padding:0 10px;transition:background-color .12s ease}.ghost:hover{background:#eef2f7;background:var(--panel-3)}.input,select.select{background-color:#fff;background-color:var(--panel);border:1px solid #c8d1dd;border:1px solid var(--border-strong);border-radius:8px;border-radius:var(--radius-sm);color:#13203a;color:var(--text);display:block;font-family:IBM Plex Sans,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-family:var(--font);font-size:14px;font-weight:400;height:36px;line-height:1.4;padding:0 11px;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease;width:100%}textarea.input{height:auto;line-height:1.5;min-height:88px;padding:8px 11px;resize:vertical}.input::placeholder{color:#8b96a9;color:var(--muted-2)}.input:hover:not(:focus):not(:disabled),select.select:hover:not(:focus){border-color:#b1bccb}.input:focus,select.select:focus{border-color:#5090cc;border-color:var(--blue-500);box-shadow:0 0 0 3px #5090cc38;outline:none}.input:disabled{background-color:#f8fafc;background-color:var(--panel-2);color:#5e6c84;color:var(--muted);cursor:not-allowed}select.input,select.select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235e6c84' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-image:var(--chevron);background-position:right 11px center;background-repeat:no-repeat;background-size:12px 12px;cursor:pointer;padding-right:32px;text-overflow:ellipsis}select.input:invalid{color:#8b96a9;color:var(--muted-2)}select.input option{color:#13203a;color:var(--text)}input[type=date].input{padding-right:8px}input[type=number].input{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}input[type=file].input{font-size:13px;height:auto;padding:6px}input[type=file].input::-webkit-file-upload-button{background:#f8fafc;background:var(--panel-2);border:1px solid #c8d1dd;border:1px solid var(--border-strong);border-radius:6px;border-radius:var(--radius-xs);color:#39465d;color:var(--text-2);cursor:pointer;font:600 12.5px IBM Plex Sans,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font:600 12.5px var(--font);height:28px;margin-right:10px;padding:0 10px}input[type=file].input::file-selector-button{background:#f8fafc;background:var(--panel-2);border:1px solid #c8d1dd;border:1px solid var(--border-strong);border-radius:6px;border-radius:var(--radius-xs);color:#39465d;color:var(--text-2);cursor:pointer;font:600 12.5px IBM Plex Sans,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font:600 12.5px var(--font);height:28px;margin-right:10px;padding:0 10px}input[type=checkbox],input[type=radio]{accent-color:#2c66a6;accent-color:var(--accent);height:16px;width:16px}.input-label{color:#39465d;color:var(--text-2);display:block;font-size:13px;font-weight:500;margin-bottom:6px}.input-label>:is(.input,.input-wrap,select,textarea,div){margin-top:6px}.input-label:has(>:is(.input,.input-wrap,select,textarea,div)){margin-bottom:0}.check{align-items:center;color:#39465d;color:var(--text-2);cursor:pointer;display:inline-flex;font-size:13.5px;gap:8px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>.input-label{margin-bottom:0}.req{color:#bf3428;color:var(--danger);font-weight:600;margin-left:2px}.hint{color:#5e6c84;color:var(--muted);font-size:12.5px}.input-wrap{position:relative}.input-wrap .prefix{color:#5e6c84;color:var(--muted);font-size:13.5px;left:11px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.input-wrap .input{padding-left:24px}.form-grid{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid .span-all{grid-column:1/-1}.line-builder{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:minmax(0,1.8fr) minmax(90px,.5fr) minmax(120px,.7fr) auto}.line-builder.no-price{grid-template-columns:minmax(0,1fr) 110px auto}.line-hint{color:#5e6c84;color:var(--muted);font-size:12.5px;margin-top:8px}.lines-editor{display:flex;flex-direction:column;gap:8px}.lines-editor-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) 80px 120px 30px}.lines-editor-head{color:#5e6c84;color:var(--muted);font-size:12px;font-weight:500}.form-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.suggest{position:relative}.suggest-list{background:#fff;background:var(--panel);border:1px solid #e0e5ec;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);box-shadow:0 18px 44px #0d1d3b33,0 3px 10px #0d1d3b14;box-shadow:var(--shadow-lg);left:0;max-height:240px;overflow-y:auto;padding:4px;position:absolute;right:0;top:calc(100% + 4px);z-index:50}.suggest-item{border-radius:6px;border-radius:var(--radius-xs);color:#13203a;color:var(--text);cursor:pointer;font-size:13.5px;padding:7px 10px}.suggest-item.selected,.suggest-item:hover{background:#eef5fc;background:var(--blue-50)}.suggest-item.selected{font-weight:600}.grid{grid-gap:16px;display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.center{display:grid;place-items:center}.badge{align-items:center;background:#eef2f7;background:var(--panel-3);border:1px solid #e0e5ec;border:1px solid var(--border);border-radius:999px;color:#39465d;color:var(--text-2);display:inline-flex;font-size:12px;font-weight:500;gap:4px;height:22px;line-height:1;padding:0 8px;vertical-align:middle;white-space:nowrap}.badge.ok{background:#eaf6ef;background:var(--success-bg);border-color:#bfe1cc;border-color:var(--success-line);color:#1c7a4b;color:var(--success)}.badge.warn{background:#fdf4e2;background:var(--warning-bg);border-color:#f0d29b;border-color:var(--warning-line);color:#965a07;color:var(--warning)}.badge.err{background:#fdeeec;background:var(--danger-bg);border-color:#f2c2bc;border-color:var(--danger-line);color:#bf3428;color:var(--danger)}.badge.info{background:#eef5fc;background:var(--blue-50);border-color:#d8e7f6;border-color:var(--blue-100);color:#22528a;color:var(--blue-800)}.badge.pack{font-size:11.5px;height:20px;margin-left:8px;padding:0 7px}.badge.evt.delivery{background:#eaf6ef;background:var(--success-bg);border-color:#bfe1cc;border-color:var(--success-line);color:#1c7a4b;color:var(--success)}.badge.evt.withdrawal{background:#fdeeec;background:var(--danger-bg);border-color:#f2c2bc;border-color:var(--danger-line);color:#bf3428;color:var(--danger)}.tag{border:1px solid #e0e5ec;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-xs)}.site-pill,.tag{align-items:center;background:#eef2f7;background:var(--panel-3);color:#39465d;color:var(--text-2);display:inline-flex;font-size:12px;font-weight:600;height:22px;padding:0 8px;white-space:nowrap}.site-pill{border:1px solid #e0e5ec;border:1px solid var(--border);border-radius:999px}.site-pill.main{background:#e8f1fb;border-color:#c4dbf2;color:#1d4f86}.site-pill.guildford{background:#e9f6ef;border-color:#bfe1cc;color:#17603b}.site-pill.northern{background:#fdf4e2;border-color:#f0d29b;color:#82500b}.site-pill.vision7{background:#f1edfb;border-color:#d6cbf1;color:#4f3a8f}.alert{border:1px solid;border-radius:8px;border-radius:var(--radius-sm);font-size:13.5px;line-height:1.45;padding:10px 14px}.alert.error{background:#fdeeec;background:var(--danger-bg);border-color:#f2c2bc;border-color:var(--danger-line);color:#8e2219}.alert.success{background:#eaf6ef;background:var(--success-bg);border-color:#bfe1cc;border-color:var(--success-line);color:#165c39}.alert.info{background:#eef5fc;background:var(--blue-50);border-color:#d8e7f6;border-color:var(--blue-100);color:#1b4270;color:var(--blue-900)}.alert.warn{background:#fdf4e2;background:var(--warning-bg);border-color:#f0d29b;border-color:var(--warning-line);color:#74450a}.page-alerts{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.table-wrap{overflow-x:auto}.table{font-feature-settings:"tnum";border-collapse:initial;border-spacing:0;font-size:13.5px;font-variant-numeric:tabular-nums;width:100%}.table th{background:#f8fafc;background:var(--panel-2);border-bottom:1px solid #e0e5ec;border-bottom:1px solid var(--border);border-top:1px solid #e0e5ec;border-top:1px solid var(--border);color:#5e6c84;color:var(--muted);font-size:11.5px;font-weight:600;letter-spacing:.06em;padding:9px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.table th:first-child{border-bottom-left-radius:8px;border-bottom-left-radius:var(--radius-sm);border-left:1px solid #e0e5ec;border-left:1px solid var(--border);border-top-left-radius:8px;border-top-left-radius:var(--radius-sm)}.table th:last-child{border-bottom-right-radius:8px;border-bottom-right-radius:var(--radius-sm);border-right:1px solid #e0e5ec;border-right:1px solid var(--border);border-top-right-radius:8px;border-top-right-radius:var(--radius-sm)}.table td{border-bottom:1px solid #e0e5ec;border-bottom:1px solid var(--border);color:#13203a;color:var(--text);padding:11px 12px;vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:#f7f9fc}.table tfoot td{border-top:1px solid #c8d1dd;border-top:1px solid var(--border-strong);font-weight:600;padding-top:12px}.table td.num,.table th.num{text-align:right}.table td.actions,.table th.actions{text-align:right;white-space:nowrap}.table td .input{height:32px}.table .cell-strong{font-weight:600}.table .cell-muted{color:#5e6c84;color:var(--muted)}.table tr.clickable{cursor:pointer}.table tr.detail-row:hover td{background:#0000}.line-list{display:flex;flex-direction:column;gap:2px;list-style:none}.line-list li{white-space:nowrap}.line-list .qty{font-feature-settings:"tnum";color:#5e6c84;color:var(--muted);font-variant-numeric:tabular-nums}.toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.toolbar>.input,.toolbar>select{flex:0 1 200px;min-width:150px;width:auto}.toolbar>.grow,.toolbar>.input.grow{flex:1 1 260px}.toolbar .spacer{flex:1 1}.filters-grid{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.search-wrap{position:relative}.search-wrap .input{padding-right:34px}.clear-x{background:#eef2f7;background:var(--panel-3);border:0;border-radius:999px;color:#5e6c84;color:var(--muted);cursor:pointer;display:grid;height:22px;place-items:center;position:absolute;right:7px;top:50%;transform:translateY(-50%);width:22px}.clear-x:hover{background:#e0e5ec;background:var(--border);color:#13203a;color:var(--text)}.pager{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:16px}.pager-info{color:#5e6c84;color:var(--muted);font-size:13px}.pager-buttons{display:flex;gap:8px}.tabs{border-bottom:1px solid #e0e5ec;border-bottom:1px solid var(--border);display:flex;gap:4px;margin-bottom:20px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{border-bottom:2px solid #0000;color:#5e6c84;color:var(--muted);font-size:14px;font-weight:500;margin-bottom:-1px;padding:9px 14px;transition:color .12s ease,border-color .12s ease;white-space:nowrap}.tab:hover{color:#13203a;color:var(--text);text-decoration:none}.tab.active{border-bottom-color:#2c66a6;border-bottom-color:var(--accent);color:#2c66a6;color:var(--accent);font-weight:600}.segmented{background:#eef2f7;background:var(--panel-3);border:1px solid #e0e5ec;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);display:inline-flex;gap:2px;padding:3px}.seg{background:#0000;border:0;border-radius:6px;border-radius:var(--radius-xs);color:#5e6c84;color:var(--muted);cursor:pointer;font-family:IBM Plex Sans,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-family:var(--font);font-size:13px;font-weight:500;height:28px;padding:0 14px;transition:background-color .12s ease,color .12s ease}.seg.active,.seg:hover:not(.active){color:#13203a;color:var(--text)}.seg.active{background:#fff;background:var(--panel);box-shadow:0 1px 2px #0d1d3b0f,0 3px 8px #0d1d3b0d;box-shadow:var(--shadow-sm);font-weight:600}.seg-count{font-feature-settings:"tnum";color:#5e6c84;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;font-weight:500;margin-left:6px}.modal-backdrop{align-items:center;animation:backdropIn .15s ease;background:#0a173075;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}.modal{animation:modalIn .16s ease-out;background:#fff;background:var(--panel);border:1px solid #e0e5ec;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 18px 44px #0d1d3b33,0 3px 10px #0d1d3b14;box-shadow:var(--shadow-lg);max-height:calc(100vh - 32px);max-width:520px;overflow-y:auto;padding:22px 24px;width:100%}@keyframes modalIn{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:none}}.modal.sm{max-width:440px}.modal.lg{max-width:680px}.modal.xl{max-width:780px}.modal-head{margin-bottom:18px}.modal-head h3{font-size:17px}.modal-sub{color:#5e6c84;color:var(--muted);font-size:13.5px;margin-top:4px}.modal-foot{border-top:1px solid #e0e5ec;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:22px;padding-top:16px}.modal-foot .spacer{flex:1 1}.modal .alert{margin-top:12px}.actions-td{position:relative;text-align:right;white-space:nowrap}.actions-menu{display:inline-block;position:relative}.actions-dropdown{animation:modalIn .12s ease-out;background:#fff;background:var(--panel);border:1px solid #e0e5ec;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);box-shadow:0 18px 44px #0d1d3b33,0 3px 10px #0d1d3b14;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;min-width:150px;padding:4px;position:absolute;right:0;top:calc(100% + 4px);z-index:30}.actions-dropdown button{background:none;border:0;border-radius:6px;border-radius:var(--radius-xs);color:#13203a;color:var(--text);cursor:pointer;font-family:IBM Plex Sans,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-family:var(--font);font-size:13.5px;padding:8px 10px;text-align:left;width:100%}.actions-dropdown button:hover{background:#eef2f7;background:var(--panel-3)}.actions-dropdown button.danger{color:#bf3428;color:var(--danger)}.actions-dropdown button.danger:hover{background:#fdeeec;background:var(--danger-bg)}.stat-link{color:inherit;display:block}.stat-link:hover{text-decoration:none}.stat-card{display:flex;flex-direction:column;gap:4px;min-height:92px;padding:16px 40px 16px 18px;position:relative}.stat-card.clickable{transition:border-color .12s ease,box-shadow .12s ease}.stat-link:hover .stat-card.clickable{border-color:#5090cc;border-color:var(--blue-500);box-shadow:0 1px 2px #0d1d3b0f,0 3px 8px #0d1d3b0d;box-shadow:var(--shadow-sm)}.stat-label{color:#5e6c84;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.stat-value{font-feature-settings:"tnum";color:#13203a;color:var(--text);font-size:22px;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.015em;line-height:1.25}.stat-hint{color:#5e6c84;color:var(--muted);font-size:13px}.stat-arrow{color:#8b96a9;color:var(--muted-2);display:flex;position:absolute;right:14px;top:16px;transition:color .12s ease,transform .12s ease}.stat-link:hover .stat-arrow{color:#2c66a6;color:var(--accent);transform:translateX(2px)}.metrics{align-items:stretch;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.metric{background:#fff;background:var(--panel);border:1px solid #e0e5ec;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 2px #0d1d3b0d;box-shadow:var(--shadow-xs);flex:0 1 180px;min-width:140px;padding:12px 16px}.metric-label{color:#5e6c84;color:var(--muted);font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.metric-value{font-feature-settings:"tnum";color:#13203a;color:var(--text);font-size:20px;font-variant-numeric:tabular-nums;font-weight:600;line-height:1.3;margin-top:2px}.qty-stepper{align-items:stretch;background:#fff;background:var(--panel);border:1px solid #c8d1dd;border:1px solid var(--border-strong);border-radius:8px;border-radius:var(--radius-sm);display:inline-flex;height:32px;overflow:hidden}.qty-stepper>a,.qty-stepper>button{background:#0000;border:0;color:#39465d;color:var(--text-2);cursor:pointer;display:grid;place-items:center;transition:background-color .12s ease,color .12s ease;width:32px}.qty-stepper>a:hover,.qty-stepper>button:hover{background:#eef2f7;background:var(--panel-3);color:#13203a;color:var(--text);text-decoration:none}.qty-stepper>.plus,.qty-stepper>.plus:hover{color:#2c66a6;color:var(--accent)}.qty-stepper>.plus:hover{background:#eef5fc;background:var(--blue-50)}.qty-stepper .qty-value{font-feature-settings:"tnum";border-left:1px solid #e0e5ec;border-left:1px solid var(--border);border-right:1px solid #e0e5ec;border-right:1px solid var(--border);display:grid;font-variant-numeric:tabular-nums;font-weight:600;min-width:56px;padding:0 8px;place-items:center}.qty-stepper .qty-value.zero{color:#bf3428;color:var(--danger)}.count-cell{align-items:center;display:flex;gap:10px}.count-cell .expected{font-feature-settings:"tnum";color:#5e6c84;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums;min-width:92px}.count-cell .input{width:96px}.diff{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.diff.up{color:#1c7a4b;color:var(--success)}.diff.down{color:#bf3428;color:var(--danger)}.diff.zero{color:#8b96a9;color:var(--muted-2);font-weight:500}.per-unit{color:#5e6c84;color:var(--muted);font-size:12px;margin-top:2px}.stock-banner{align-items:center;background:#eef5fc;background:var(--blue-50);border:1px solid #d8e7f6;border:1px solid var(--blue-100);border-radius:10px;border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:10px 16px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.stock-banner-text{color:#1b4270;color:var(--blue-900);font-size:13.5px}.stock-banner-text strong{display:block;font-size:14px}.stock-tools{display:flex;flex-wrap:wrap;gap:8px}.stockbar{background:#f3f5f8f5;border-top:1px solid #e0e5ec;border-top:1px solid var(--border);bottom:0;box-shadow:0 -4px 16px #0d1d3b1a;display:none;gap:10px;padding:10px 16px;position:-webkit-sticky;position:sticky;z-index:70}.stockbar .btn{flex:1 1}.found-card{margin-bottom:16px}.found-grid{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:1.4fr .6fr 1fr .8fr .6fr}.found-preview{background:#fff;background:var(--panel);border:1px solid #e0e5ec;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);flex-wrap:wrap;gap:10px;grid-column:1/-1;justify-content:space-between;padding:10px 12px}.found-line,.found-preview{align-items:center;display:flex}.found-line{color:#5e6c84;color:var(--muted);font-size:13px;gap:8px}.found-name{color:#13203a;color:var(--text);font-weight:600}.add-form{grid-gap:14px 16px;align-items:start;display:grid;gap:14px 16px;grid-template-columns:1.4fr .6fr 1fr .8fr .6fr}.add-form.assets{grid-template-columns:repeat(4,minmax(0,1fr))}.add-form .field.small{min-width:120px}.meta{border-top:1px solid #e0e5ec;border-top:1px solid var(--border);gap:10px;grid-column:1/-1;justify-content:space-between;padding-top:14px}.meta,.preview{align-items:center;display:flex;flex-wrap:wrap}.preview{gap:8px}.meta .actions{display:flex;gap:8px}.list{display:flex;flex-direction:column;list-style:none}.list-row{align-items:center;border-bottom:1px solid #e0e5ec;border-bottom:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;min-height:54px;padding:8px 4px}.list-row:last-child{border-bottom:0}.list-row-name{font-weight:500;min-width:0;overflow-wrap:anywhere}.list-row-actions{display:flex;flex-shrink:0;gap:6px}.list-row.editing{padding-bottom:10px;padding-top:10px}.rename-form{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:8px}.rename-form .input{flex:1 1 260px;max-width:380px}.inline-form{display:flex;flex-wrap:wrap;gap:8px}.inline-form .input{flex:1 1 260px;max-width:420px}.login-page{display:grid;min-height:calc(100vh - 56px);min-height:calc(100vh - var(--header-h));padding:32px 16px 72px;place-items:center}.login-card{background:#fff;background:var(--panel);border:1px solid #e0e5ec;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0d1d3b0f,0 3px 8px #0d1d3b0d;box-shadow:var(--shadow-sm);max-width:400px;padding:32px;width:100%}.login-brand{margin-bottom:24px}.login-brand-logo{display:block;height:44px;margin-bottom:18px;width:44px}.login-brand h1{font-size:21px;letter-spacing:-.015em}.login-brand p{color:#5e6c84;color:var(--muted);font-size:14px;margin-top:4px}.login-form{gap:16px}.login-field,.login-form{display:flex;flex-direction:column}.login-field{gap:6px}.login-field label{color:#39465d;color:var(--text-2);font-size:13px;font-weight:500}.pw-wrap{position:relative}.pw-wrap .input{padding-right:70px}.pw-wrap .pw-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%)}.login-submit{font-size:14px;height:40px;margin-top:4px;width:100%}.org-card{margin:6vh auto 0;max-width:580px;padding:28px}.org-toolbar{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.org-toolbar h1{font-size:24px;letter-spacing:-.02em}.org-sub{color:#5e6c84;color:var(--muted);font-size:14px;margin-top:6px}.org-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:22px}.org-tile{align-items:center;background:#fff;background:var(--panel);border:1px solid #c8d1dd;border:1px solid var(--border-strong);border-radius:10px;border-radius:var(--radius);color:#13203a;color:var(--text);cursor:pointer;display:flex;font-family:IBM Plex Sans,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-family:var(--font);justify-content:space-between;padding:16px 16px 16px 18px;text-align:left;transition:border-color .12s ease,background-color .12s ease;width:100%}.org-tile:hover{background:#eef5fc;background:var(--blue-50);border-color:#5090cc;border-color:var(--blue-500)}.org-tile-name{font-size:16px;font-weight:600}.org-tile-arrow{color:#8b96a9;color:var(--muted-2);display:flex;transition:color .12s ease,transform .12s ease}.org-tile:hover .org-tile-arrow{color:#2c66a6;color:var(--accent);transform:translateX(2px)}.tickets-table{table-layout:fixed}.tickets-table td,.tickets-table th{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tickets-table col.col-num{width:110px}.tickets-table col.col-status{width:120px}.tickets-table col.col-priority{width:100px}.tickets-table col.col-contract,.tickets-table col.col-office,.tickets-table col.col-reporter{width:130px}.tickets-table col.col-created,.tickets-table col.col-resolved{width:110px}@media (max-width:1400px){.tickets-table .col-contract,.tickets-table .col-reporter{display:none}}@media (max-width:1100px){.tickets-table .col-resolved{display:none}}@media (max-width:760px){.tickets-table{min-width:640px;table-layout:auto}}.ticket-editor{grid-gap:16px 20px;display:grid;gap:16px 20px;grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr)}.ticket-editor textarea.input{min-height:220px}.ticket-editor .side{display:flex;flex-direction:column;gap:12px}.readonly-value{font-feature-settings:"tnum";align-items:center;color:#39465d;color:var(--text-2);display:flex;font-variant-numeric:tabular-nums;height:36px;padding:0 11px}.detail-panel,.readonly-value{background:#f8fafc;background:var(--panel-2);border:1px solid #e0e5ec;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm)}.detail-panel{padding:14px 16px}.detail-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.kv{grid-gap:4px 12px;display:grid;font-size:13.5px;gap:4px 12px;grid-template-columns:minmax(120px,200px) 1fr}.kv dt{color:#5e6c84;color:var(--muted);font-weight:500}.kv dd{color:#13203a;color:var(--text);overflow-wrap:anywhere}.muted{color:#5e6c84;color:var(--muted);font-size:13px}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.spacer{flex:1 1}.empty{color:#5e6c84;color:var(--muted);padding:36px 12px;text-align:center}.row-actions{display:inline-flex;gap:6px;justify-content:flex-end}.mt-16{margin-top:16px}.mb-16{margin-bottom:16px}@media (max-width:1100px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.add-form,.add-form.assets,.found-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:860px){:root{--header-h:52px}.header-inner{flex-wrap:wrap;gap:0 12px;padding:0 16px}.nav{border-top:1px solid #ffffff14;flex-basis:100%;height:42px;margin:0 -16px;order:3;padding:0 8px}.nav a{font-size:13px;padding:0 9px}.header-username{display:none}.form-grid,.form-grid.cols-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid,.ticket-editor{grid-template-columns:1fr}}@media (max-width:760px){.line-builder,.line-builder.no-price{grid-template-columns:1fr 1fr}.line-builder>.btn,.line-builder>:first-child{grid-column:1/-1}.add-form,.add-form.assets,.found-grid{grid-template-columns:1fr 1fr}.add-form>.field:first-child{grid-column:1/-1}.meta{align-items:stretch;flex-direction:column}.meta .actions .btn{flex:1 1}}@media (max-width:640px){.container{padding:18px 14px 40px}.card{padding:16px}.page-title{font-size:22px}.page-actions{width:100%}.page-actions .btn{flex:1 1 auto}.brand-name,.stock-banner .btn.stock-apply,.stock-banner .btn.stock-cancel{display:none}.stockbar{display:flex}.org-card{margin-top:3vh;padding:20px}.org-grid{grid-template-columns:1fr}.pager{background:#fffffff5;border-radius:0 0 10px 10px;border-radius:0 0 var(--radius) var(--radius);border-top:1px solid #e0e5ec;border-top:1px solid var(--border);bottom:0;margin:12px -16px -16px;padding:10px 16px;position:-webkit-sticky;position:sticky;z-index:15}.modal{padding:18px}}@media (max-width:560px){.form-grid,.form-grid.cols-2,.form-grid.cols-4,.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.toolbar>.input,.toolbar>select{flex:1 1 100%}.kv{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}
/*# sourceMappingURL=main.13fa3631.css.map*/