:root{--navy:#183957;--navy2:#244f74;--blue:#2f6f9f;--line:#b7c0c8;--soft:#eef2f5;--panel:#f8fafb;--text:#1d252c;--muted:#67737d;--green:#2d7a4b;--red:#a93434;--amber:#9b6410}
*{box-sizing:border-box}html,body{height:100%;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;color:var(--text);font-size:13px}body{background:#d9dfe4}a{color:#175c91;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,.button-link{border:1px solid #87949e;background:linear-gradient(#fff,#e7edf1);padding:5px 12px;border-radius:2px;color:#202b33;cursor:pointer;display:inline-block}button:hover,.button-link:hover{filter:brightness(.97);text-decoration:none}.primary{background:linear-gradient(#3a82b7,#25638f)!important;color:#fff!important;border-color:#1f567f!important}.danger{background:linear-gradient(#c55454,#983434)!important;color:#fff!important;border-color:#833030!important}.warning{background:linear-gradient(#d99d40,#b3771f)!important;color:#fff!important;border-color:#996315!important}.disabled,.tool-btn.disabled{opacity:.48;pointer-events:none}.big{padding:9px 18px;font-size:15px}.erp-body{display:flex;flex-direction:column;min-width:1120px;overflow:hidden;background:#dfe5ea}.app-titlebar{height:43px;background:linear-gradient(90deg,#173753,#265676);color:#fff;display:flex;align-items:center;padding:0 14px;border-bottom:1px solid #0d293f;box-shadow:0 1px 3px #74818a;flex:none}.brand-block{display:flex;align-items:center;gap:8px;font-size:18px;min-width:300px}.brand-mark{width:27px;height:27px;border-radius:4px;background:#f1b33c;color:#183957;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-family:serif}.brand-mark.large{width:52px;height:52px;font-size:28px;border-radius:9px}.version{font-size:11px;font-weight:400;color:#c9d7e1;border:1px solid #6e879a;padding:2px 5px;border-radius:8px}.account-set{flex:1;text-align:center;color:#dbe5ec}.user-block{min-width:320px;text-align:right}.user-block a{color:#fff}.module-bar{height:34px;display:flex;align-items:stretch;background:linear-gradient(#fafafa,#dfe5e9);border-bottom:1px solid #a8b2ba;padding-left:10px;flex:none}.module-bar a{display:flex;align-items:center;padding:0 17px;color:#24333e;border-right:1px solid #c8d0d6;border-left:1px solid #fff;font-weight:600}.module-bar a:hover{background:#fff;text-decoration:none;color:#145b90}.workspace{display:flex;flex:1;min-height:0}.sidebar{width:205px;background:#ecf0f3;border-right:1px solid #9da9b2;overflow:auto;flex:none}.sidebar-title{padding:9px 11px;background:linear-gradient(#4a7596,#335d7d);color:#fff;font-weight:700;border-bottom:1px solid #254b68}.sidebar details{border-bottom:1px solid #c4ccd2}.sidebar summary{cursor:pointer;padding:8px 12px;font-weight:700;background:linear-gradient(#fff,#e5ebef);color:#263846}.sidebar details a{display:block;padding:6px 12px 6px 27px;color:#263b4a;border-top:1px solid #f8fafb}.sidebar details a:hover{background:#d9e9f4;text-decoration:none}.main-panel{flex:1;min-width:0;display:flex;flex-direction:column;background:#f3f5f7}.tab-strip{height:29px;background:#d6dde2;border-bottom:1px solid #9da9b2;padding-left:8px;display:flex;align-items:end;flex:none}.tab{background:#f6f8f9;border:1px solid #9da9b2;border-bottom:0;padding:6px 18px 5px;min-width:130px}.tab.active{background:#fff;font-weight:700}.toolbar{height:38px;background:linear-gradient(#fff,#e9edf0);border-bottom:1px solid #b2bbc2;display:flex;align-items:center;gap:5px;padding:4px 9px;flex:none}.tool-btn{border:1px solid #a3adb5;background:linear-gradient(#fff,#e5eaed);padding:5px 11px;color:#26343e;border-radius:2px}.tool-btn:hover{text-decoration:none;background:#fff}.page-content{background:#fff;margin:6px;border:1px solid #aeb8bf;box-shadow:0 1px 2px #c1c7cb;flex:1;min-height:0;overflow:auto;padding:8px;position:relative}.statusbar{height:25px;background:linear-gradient(#eef1f3,#d9dfe3);border-top:1px solid #9da9b2;display:flex;align-items:center;gap:18px;padding:0 10px;color:#48545d;flex:none}.statusbar .grow{flex:1}.flash{margin:6px 8px 0;padding:8px 12px;border:1px solid}.flash.success{background:#e8f4ec;border-color:#85b898;color:#205f39}.flash.error{background:#f9e8e8;border-color:#c99090;color:#8d2929}.account-banner{padding:9px 12px;background:#fff8df;border:1px solid #d6be6b;margin-bottom:8px;color:#684f05}.stat-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:7px;margin-bottom:8px}.stat-card{border:1px solid #aebbc4;background:linear-gradient(#fff,#edf2f5);padding:10px;min-height:78px;box-shadow:inset 0 1px #fff}.stat-card span{display:block;color:#50616d}.stat-card strong{font-size:24px;display:inline-block;margin-top:8px;color:#183d5a}.stat-card em{font-style:normal;color:#73808a;margin-left:4px}.stat-card.warning strong{color:#8b5610}.stat-card.success strong{color:#247345}.quick-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-bottom:8px}.quick-grid a{border:1px solid #aeb8bf;background:#f7fafc;padding:10px;min-height:72px;color:#233845}.quick-grid a:hover{background:#e5f1f8;text-decoration:none}.quick-grid b{display:block;font-size:14px;color:#185b89;margin-bottom:6px}.quick-grid span{font-size:12px;color:#65737d;line-height:1.45}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.panel-box{border:1px solid #aeb8bf;background:#fff;min-width:0}.panel-title{padding:7px 9px;background:linear-gradient(#f9fbfc,#dfe6eb);border-bottom:1px solid #b4bec5;font-weight:700;color:#263b49}.table-wrap{overflow:auto;max-width:100%}.data-table{width:100%;border-collapse:collapse;white-space:nowrap}.data-table th{background:linear-gradient(#f9fafb,#dce3e8);border:1px solid #aab5bd;padding:6px 7px;text-align:left;font-weight:700;color:#263944;position:sticky;top:0;z-index:1}.data-table td{border:1px solid #c1c9cf;padding:5px 7px;background:#fff}.data-table tbody tr:nth-child(even) td{background:#f7f9fa}.data-table tbody tr:hover td{background:#e5f1f8}.data-table tfoot td{background:#eef2f5;border:1px solid #abb5bd;padding:6px}.data-table.compact th,.data-table.compact td{padding:4px 6px}.data-table.entry-table td{padding:2px}.data-table.entry-table input,.data-table.entry-table select{width:100%;border:0;padding:5px;background:transparent;min-width:90px}.data-table.entry-table input:focus,.data-table.entry-table select:focus{outline:2px solid #5b9bc7;background:#fff}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.check{width:28px;text-align:center!important}.empty-cell,.empty-state{text-align:center!important;color:#7b8790;padding:18px!important}.status{display:inline-block;padding:2px 7px;border-radius:9px;background:#e8edf0;color:#465560;border:1px solid #b8c1c8;font-size:12px}.status.done,.status.s-completed{background:#e5f3e9;border-color:#89b99a;color:#22633b}.status.off{background:#f1f1f1;color:#777}.status.s-wait-owner-approval,.status.s-wait-finance-check{background:#fff1d7;border-color:#d8aa58;color:#84530d}.status.s-ready-to-dispatch{background:#dff2e7;border-color:#72ae88;color:#1f6637}.status.s-wait-picking,.status.s-wait-customer-confirm,.status.s-wait-payment{background:#e4eff7;border-color:#88adc8;color:#225f88}.positive{color:#1d7041}.negative{color:#a53333}.alert-row{display:block;padding:9px 12px;border-bottom:1px solid #d7dde1}.alert-row.warning{background:#fff5e2;color:#80500d}.alert-row.success{background:#e9f5ed;color:#27643c}.alert-row.info{background:#eaf2f8;color:#255d83}.info-table{width:100%;border-collapse:collapse}.info-table th,.info-table td{border-bottom:1px solid #d3d9dd;padding:7px 9px;text-align:left}.info-table th{width:140px;background:#f3f6f8}.filter-bar{display:flex;align-items:center;justify-content:space-between;background:#eef2f5;border:1px solid #b6c0c7;padding:6px 8px;margin-bottom:7px;gap:8px}.filter-bar form,.filter-bar>div{display:flex;align-items:center;gap:6px}.filter-bar input,.filter-bar select{height:27px;border:1px solid #9da9b2;background:#fff;padding:3px 6px}.split-view{display:flex;gap:8px;min-height:520px}.grow-panel{flex:1}.edit-drawer{width:280px;border:1px solid #abb6be;background:#f7f9fa;flex:none}.edit-drawer:not(.open){display:none}.drawer-title{padding:8px 10px;background:linear-gradient(#456f90,#315a78);color:#fff;font-weight:700}.dense-form{padding:10px}.dense-form label{display:block;margin:7px 0 3px;color:#3e4b54}.dense-form input,.dense-form select,.dense-form textarea{width:100%;border:1px solid #98a5af;padding:6px;background:#fff}.dense-form textarea{min-height:58px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.check-label{display:flex!important;align-items:center;gap:5px}.check-label input{width:auto}.form-actions{display:flex;gap:6px;margin-top:12px;padding-top:8px;border-top:1px solid #c9d0d5}.inline-form{display:flex;gap:5px;padding:8px;background:#eef2f4;border-top:1px solid #b8c1c7}.inline-form input,.inline-form select{min-width:100px;border:1px solid #98a5af;padding:5px}.voucher-form{position:relative}.voucher-header{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:7px;border:1px solid #aeb8bf;background:#f5f7f8;padding:8px;margin-bottom:8px}.voucher-header>div{display:flex;align-items:center;gap:5px}.voucher-header label{width:72px;flex:none;color:#3e4a53}.voucher-header input,.voucher-header select{min-width:0;flex:1;border:1px solid #98a5af;padding:5px}.voucher-header .span2{grid-column:span 2}.voucher-title{text-align:center;font-size:22px;font-weight:700;letter-spacing:5px;margin:8px 0 10px;color:#173b58}.voucher-footer{display:flex;justify-content:space-between;border:1px solid #b5bec5;border-top:0;padding:7px;background:#f5f7f8;color:#5c6871}.document-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border:1px solid #b2bcc3;background:#f6f8f9;padding:9px;margin-bottom:8px}.document-note{border:1px solid #b7c0c7;background:#f7f9fa;padding:8px;margin-top:8px}.document-stamp{position:absolute;right:45px;top:54px;border:3px double #3a7a4e;color:#2c7244;padding:8px 13px;font-size:18px;font-weight:700;transform:rotate(-8deg);opacity:.78}.workflow-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:9px}.workflow-step{padding:7px 4px;text-align:center;border:1px solid #b4bec5;background:#edf1f4;color:#68737b;font-size:12px}.workflow-step.passed{background:#dff0e5;color:#29643d;border-color:#83b295}.workflow-step.current{background:#2f6f9f;color:#fff;border-color:#235b84;font-weight:700}.action-panel{display:flex;gap:8px;align-items:center;border:1px solid #b1bbc2;background:#f3f6f8;padding:9px;margin-top:8px}.action-panel form{display:flex;gap:6px;align-items:center}.action-panel input{min-width:260px;border:1px solid #98a5af;padding:6px}.form-card{border:1px solid #aeb8bf;background:#f8fafb;margin:20px auto;padding:18px}.form-card.narrow{max-width:620px}.form-card h2{margin:0 0 12px;color:#244b68}.form-summary{display:flex;gap:18px;padding:9px;background:#e9eff3;border:1px solid #b6c0c7}.rule-list{line-height:2;padding:10px 30px}.report-menu{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px;padding:7px;background:#eef2f5;border:1px solid #b4bec5}.report-menu a{padding:6px 11px;border:1px solid #a9b4bc;background:#fff}.placeholder-card{max-width:620px;margin:70px auto;text-align:center;border:1px solid #b2bcc3;background:#f8fafb;padding:35px;box-shadow:0 2px 8px #c6ccd0}.placeholder-icon{display:inline-block;background:#e5ebef;border:1px solid #aeb8bf;padding:14px 20px;border-radius:50%;font-weight:700;color:#59707f}.placeholder-card h2{font-size:24px}.login-body{background:linear-gradient(135deg,#dce6ed,#9fb5c6);display:flex;align-items:center;justify-content:center;min-height:100vh}.login-window{width:480px;background:#f7f9fa;border:1px solid #718797;box-shadow:0 14px 45px rgba(27,48,63,.35)}.login-brand{background:linear-gradient(90deg,#173753,#2c648d);color:#fff;padding:20px;display:flex;align-items:center;gap:14px}.login-brand h1{margin:0 0 3px;font-size:24px}.login-brand p{margin:0;color:#d7e4ec}.login-form{padding:24px;display:grid;grid-template-columns:75px 1fr;gap:10px;align-items:center}.login-form input,.login-form select{border:1px solid #8c9ba6;padding:8px;background:#fff}.login-form button{grid-column:2;margin-top:5px}.login-help{background:#e8edf1;border-top:1px solid #bec8cf;padding:10px 14px;color:#66737c;font-size:11px;line-height:1.7}.error-window{width:560px;background:#fff;border:1px solid #9caab3;padding:30px;box-shadow:0 12px 35px #7890a0}.error-window h1{color:#9a3030}.empty-state{padding:20px}.selectable tr{cursor:default}@media print{.app-titlebar,.module-bar,.sidebar,.toolbar,.tab-strip,.statusbar{display:none!important}.workspace,.main-panel{display:block}.page-content{border:0;margin:0;box-shadow:none;overflow:visible}.data-table th{position:static}.erp-body{display:block;min-width:0}.document-stamp{display:block}}
.hidden{display:none!important}.row-disabled td{color:#8b949b!important;background:#f1f2f3!important}.action-cell{display:flex;gap:4px;align-items:center}.inline-form{display:inline-flex;padding:0;border:0;background:transparent}.tool-btn.small{padding:3px 7px;font-size:11px}.permission-summary{white-space:normal;line-height:2}.perm-tag{display:inline-block;border:1px solid #9db3c2;background:#eaf2f7;color:#245a7d;border-radius:9px;padding:1px 7px;margin:1px 3px 1px 0;font-size:11px}.permission-grid{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:5px;border:1px solid #c2cbd1;background:#f7f9fa;padding:8px;margin-top:5px}.user-edit-row td{background:#eef4f7!important}.user-edit-form{padding:10px}.user-edit-form .form-row{grid-template-columns:repeat(3,1fr)}.wide-form .form-row{grid-template-columns:repeat(4,1fr)}.sub-title{font-weight:700;margin:10px 0 4px;color:#2d4658}.center-panel{display:flex;justify-content:center;padding-top:45px}.narrow-box{width:520px}.stat-card.danger strong{color:#a93434}.dense-form small{display:block;color:#697983;margin-top:3px}.flash.warning{background:#fff3d9;border-color:#d5a84f;color:#7d510d}@media(max-width:1300px){.permission-grid{grid-template-columns:repeat(3,1fr)}.stat-grid{grid-template-columns:repeat(4,1fr)}}
.status.s-draft,.status.s-canceled,.status.s-rejected,.status.s-reversed{background:#f2e7e7;border-color:#c59a9a;color:#7e3434}
.status.s-submitted,.status.s-wait-manager-approval{background:#fff1d7;border-color:#d8aa58;color:#84530d}
.status.s-approved,.status.s-posted{background:#e5f3e9;border-color:#89b99a;color:#22633b}
.permission-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:6px;padding:8px 0}.permission-summary{display:flex;flex-wrap:wrap;gap:4px}.perm-tag{display:inline-block;padding:2px 6px;border:1px solid #9db1bf;background:#eef4f7;border-radius:8px;font-size:11px}.user-edit-row.hidden{display:none}.user-edit-form{padding:12px;background:#f3f6f8}.wide-form{max-width:none}.sub-title{margin-top:10px;font-weight:700}
