:root{color:#26384a;font-synthesis:none;background:#eef3f8;font-family:Malgun Gothic,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}#root{min-height:100vh}.boot,.login{place-items:center;min-height:100vh;display:grid}.login{background:linear-gradient(135deg,#173d70,#e8f0f8)}.login form{background:#fff;border-radius:9px;gap:15px;width:min(400px,100vw - 32px);padding:34px;display:grid;box-shadow:0 18px 50px #10233a44}.login h1{margin:0;font-size:23px}.login label,.form-grid label,.search label{gap:7px;font-size:13px;font-weight:600;display:grid}.login input,.form-grid input,.search input{background:#fff;border:1px solid #c7d2df;border-radius:4px;min-height:28px;padding:3px 9px}.eyebrow{color:#536b82;margin:0;font-size:12px}.muted{color:#687b8d;margin:0;font-size:13px}.error{color:#bd3541;margin:0;font-size:13px}.full{grid-column:1/-1}.shell{min-height:100vh}.header{color:#fff;background:#183d70;justify-content:space-between;align-items:center;height:40px;padding:0 12px;display:flex}.system-title{align-items:center;display:flex}.header-menu-toggle{color:#fff;background:0 0;border:0;border-radius:3px;width:28px;height:28px;margin-right:6px;font-size:17px;line-height:1}.header-menu-toggle:hover{background:#ffffff26}.header span{background:#ffffff26;border-radius:3px;margin-left:10px;padding:3px 7px;font-size:11px}.account{align-items:center;gap:12px;font-size:12px;display:flex}.account button{color:#fff;background:0 0;border:0}.body{grid-template-columns:180px minmax(0,1fr);min-height:calc(100vh - 40px);display:grid}.body aside{background:#fff;border-right:1px solid #d3dce7;padding:16px 10px}.body aside strong{padding:8px 10px;font-size:13px;display:block}.body aside button{color:#415467;text-align:left;background:0 0;border:0;border-radius:4px;width:100%;padding:10px}.body aside .active{color:#fff;background:#265891}.body aside p{color:#7d8d9d;padding:10px;font-size:11px}.body main{min-width:0;padding:12px}.page-title{border-bottom:2px solid #245a98;justify-content:space-between;align-items:center;min-height:32px;padding-bottom:6px;display:flex}.page-title>div{align-items:center;display:flex}.page-title h1{margin:0;font-size:17px}.page-title .eyebrow{color:#64788d;margin-right:5px;font-size:13px;display:block}.page-title .eyebrow:after{content:" /"}.page-title small{color:#6c7c8d;font-size:11px}.app-tabs{z-index:5;background:#f4f6f8;border-bottom:1px solid #d8e0e8;align-items:end;gap:2px;height:34px;padding:0 8px;display:flex;position:fixed;top:40px;left:180px;right:0;overflow-x:auto}.app-tab{color:#657487;background:#f4f6f8;border:1px solid #bfccd8;border-bottom:0;border-radius:4px 4px 0 0;align-items:center;gap:7px;min-width:100px;max-width:180px;height:30px;display:flex}.app-tab.active{color:#1c2a3a;background:#fff;border-top:2px solid #2878c7;height:32px;font-weight:600;position:relative}.app-tab.active:before{content:"●";color:#2878c7;margin-left:12px;font-size:8px}.app-tab-title{min-width:0;color:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;padding:0;font-size:13px;overflow:hidden}.app-tab-close{color:#657487;background:0 0;border:0;border-radius:3px;flex:0 0 20px;width:20px;height:20px;margin-right:3px;padding:0;font-size:16px;line-height:18px}.app-tab-close:hover{color:#1c2a3a;background:#e8f0f7}.app-sidebar{z-index:6;background:#e8f1fb;border-right:1px solid #cbd8e5;width:180px;padding:8px 0;position:fixed;top:40px;bottom:0;left:0;overflow-y:auto}.app-sidebar.collapsed{display:none}.side-menu-group{color:#243f5d;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;height:38px;padding:0 14px;font-size:14px;font-weight:600;display:flex}.side-menu-group:hover,.side-menu-group.expanded{background:#edf3f8}.side-menu-group span{color:#718397;font-size:14px;transition:transform .15s}.side-menu-group.expanded span{transform:rotate(180deg)}.side-menu-children{padding:2px 0 7px}.side-menu-item{color:#536b82;text-align:left;background:0 0;border:0;width:100%;height:32px;padding:0 14px 0 40px;font-size:13px;font-weight:400}.side-menu-item:hover{color:#245a98;background:#f1f6fb}.side-menu-item.active{color:#fff;background:#265891;font-weight:600}body:has(.app-sidebar.collapsed) .app-tabs{left:0}body:has(.app-sidebar.collapsed) .body{grid-template-columns:minmax(0,1fr)}body:has(.app-sidebar.collapsed) .body>aside{display:none}.search,.grid-card{background:#fff;border:1px solid #cbd8e5;border-radius:4px;margin-top:8px}.search{align-items:end;gap:8px;min-height:58px;padding:8px;display:flex}.search label{width:min(360px,100%)}.btn{box-sizing:border-box;cursor:pointer;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;min-height:28px;padding:0 10px;font-size:13px;font-weight:600;line-height:1;display:inline-flex}.primary{color:#fff;background:#2563eb}.primary:hover{background:#1d4ed8}.secondary{color:#30485f;background:#fff;border-color:#c7d2df}.secondary:hover{background:#f4f7fa}.danger{color:#fff;background:#b9434b}.btn:disabled{cursor:wait;opacity:.65}.grid-title{background:#e5f0fb;border-bottom:1px solid #bacbde;justify-content:center;align-items:center;gap:8px;height:32px;padding:0 10px;display:flex;position:relative}.grid-title strong{border:0;padding:0;font-size:14px}.grid-title span{color:#64788d;font-size:12px;position:absolute;left:10px}.grid-title button{color:#285b91;background:0 0;border:0;font-size:12px;position:absolute;right:10px}.grid-scroll{max-height:calc(100vh - 215px);overflow:auto}.data-grid{border-collapse:collapse;table-layout:fixed}.data-grid th,.data-grid td{text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #d7e0e8;border-right:1px solid #cbd5e0;height:36px;padding:0 10px;font-size:13px;overflow:hidden}.data-grid th{z-index:1;color:#244b40;background:#c9efd4;border-bottom:2px solid #2d6795;position:sticky;top:0}.data-grid th button{max-width:calc(100% - 5px);color:inherit;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;font-weight:700;overflow:hidden}.align-center{text-align:center}.align-right{text-align:right}.grid-action,.actions button{color:#24629e;min-height:28px;font:inherit;white-space:nowrap;background:0 0;border:0;border-radius:3px;padding:0 5px}.grid-action:hover,.actions button:hover{background:#e6f0fa;text-decoration:underline}.actions button:last-child{color:#b33b46}.empty{color:#718397;text-align:center}.column-resizer{z-index:2;cursor:col-resize;touch-action:none;width:7px;height:100%;position:absolute;top:0;right:-3px}.column-resizer:hover,.column-resizer:active{background:#2f7d6d}.product-editor{background:#fff;border:1px solid #cbd8e5;border-radius:4px;flex-direction:column;flex:1;min-height:0;margin-top:12px;display:flex;overflow:hidden}.product-editor form{flex-direction:column;flex:1;min-height:0;display:flex}.product-editor .dialog-body{overflow:auto}.product-editor .dialog-footer{flex:0 0 48px}.product-editor .dialog-footer .btn{min-width:72px}.drawing-register{background:#fff;border:1px solid #cbd8e5;border-radius:4px;margin-top:12px;overflow:hidden}.drawing-register form{grid-template-columns:minmax(260px,2fr) 140px 140px minmax(220px,1fr) auto;gap:8px;padding:10px;display:grid}.drawing-register select,.drawing-register input{box-sizing:border-box;background:#fff;border:1px solid #c7d2df;border-radius:4px;min-width:0;height:28px;min-height:28px;padding:0 8px;font-size:13px}.drawing-register{display:none}.loading,.notice{color:#52687e;justify-content:center;align-items:center;gap:12px;min-height:160px;font-size:13px;display:flex}.loading i{border:2px solid #b5c8d9;border-top-color:#245a98;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.backdrop{z-index:10;background:#0b1d3190;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog{background:#fff;border-radius:5px;width:min(620px,100%);box-shadow:0 16px 42px #07172866}.dialog header,.dialog-footer{border-bottom:1px solid #d7e0e8;justify-content:space-between;align-items:center;min-height:48px;padding:0 16px;display:flex}.dialog header h2{margin:0;font-size:15px}.close{color:#567;background:0 0;border:0;font-size:22px}.dialog-body{padding:20px 16px}.dialog-footer{border-top:1px solid #d7e0e8;border-bottom:0;justify-content:flex-end;gap:8px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid b{color:#bb3643}.dialog form{flex-direction:column;max-height:calc(85dvh - 48px);display:flex}.dialog form .dialog-body{overflow:auto}@media (width<=720px){.body{grid-template-columns:1fr}.body aside{display:none}.body main{padding:12px}.search{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.app-tabs{left:0}.app-sidebar{display:none}}.form-grid input,.form-grid select{box-sizing:border-box;height:28px;min-height:28px}.form-grid select{background:#fff;border:1px solid #c7d2df;border-radius:4px;padding:3px 9px}.form-grid label{display:block}.form-grid label>input,.form-grid label>select,.form-grid label>textarea,.form-grid label>.postcode-field{width:100%;margin-top:7px;display:block}.form-grid label>b{display:inline}.form-grid label.full:has(>input[type=checkbox]){cursor:pointer;align-items:center;gap:6px;width:fit-content;display:inline-flex}.form-grid label.full:has(>input[type=checkbox])>input{accent-color:#2563eb;width:auto;height:auto;min-height:0;margin:0}.contact-editor{gap:8px;display:grid}.contact-entry{grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:6px;display:grid}.contact-entry input{min-width:0}.contact-items{gap:4px;margin:0;padding:0;list-style:none;display:grid}.contact-items li{border:1px solid #d7e0e8;border-radius:3px;justify-content:space-between;gap:8px;padding:7px 9px;font-size:12px;display:flex}.contact-items button{color:#24629e;background:0 0;border:0}.search{position:relative}.search .search-reset{color:#607589;z-index:1;background:#dce5ee;border:0;border-radius:50%;justify-content:center;align-items:center;width:20px;min-width:20px;height:20px;min-height:20px;margin-bottom:4px;margin-left:-32px;padding:0;font-size:0;line-height:1;display:inline-flex}.search .search-reset:after{content:"×";font-size:16px;font-weight:500;line-height:1;display:block;transform:translateY(-1px)}.history-toolbar .history-back{margin-left:auto}.history-toolbar>label{flex:auto;width:auto;min-width:0}.history-toolbar .history-product-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search>.btn.primary{margin-left:auto}.search-actions{white-space:nowrap;flex:none;align-items:end;gap:8px;margin-left:auto;display:flex}.search-actions .btn{white-space:nowrap;flex:none}.search .search-actions>label.btn{gap:0;width:auto;display:inline-flex}.search .search-reset:hover{color:#fff;background:#56738f}.shell{flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.app-global-header{z-index:10;position:fixed;top:0;left:0;right:0}.app-global-header .header{box-sizing:border-box;width:100%}.shell>.header{display:none}.shell{box-sizing:border-box;padding-top:40px}.body{box-sizing:border-box;flex:1;min-height:0;padding-top:34px}.body>aside{visibility:hidden;pointer-events:none}.body main{flex-direction:column;min-height:0;display:flex;overflow:hidden}.grid-card{flex-direction:column;flex:1;min-height:0;display:flex}.grid-scroll{scrollbar-gutter:stable;flex:1;min-height:0;overflow:auto}.data-grid-frame{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.grid-header{box-sizing:border-box;background:#c9efd4;flex:none;overflow:hidden}.grid-header-inner{will-change:transform}.grid-header .data-grid th{position:relative;top:auto}.common-code-split{flex:1;grid-template-columns:minmax(360px,42%) minmax(0,1fr);gap:8px;min-height:0;display:grid}.common-code-split>.grid-card{min-width:0;margin-top:0}.department-split{flex:1;grid-template-columns:minmax(260px,32%) minmax(0,1fr);gap:8px;min-height:0;display:grid}.department-split>.grid-card{min-width:0;margin-top:0}.department-selection{color:#52687e;align-items:center;min-height:28px;font-size:13px;display:flex}.department-selection strong{color:#193a59;margin-left:4px}.search:has(.department-selection)>.department-selection+.btn{color:#fff;background:#2563eb;border-color:#2563eb;order:2}.search:has(.department-selection)>.department-selection+.btn+.btn{color:#b9434b;background:#fff;border-color:#d9aeb2;order:3}.search:has(.department-selection)>.department-selection+.btn+.btn+.btn{color:#fff;background:#2563eb;border-color:#2563eb;order:4;margin-left:auto}.search:has(.department-selection)>.btn.primary{order:1;margin-left:0}.department-tree{flex:1;min-height:0;padding:8px;overflow:auto}.department-tree-row{color:#253d54;width:100%;min-height:34px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:7px;display:flex}.department-tree-row:hover{background:#edf5fb}.department-tree-row.selected{color:#123c58;background:#bde7f6;font-weight:600}.department-tree-row em{color:#64788d;margin-left:auto;padding-right:8px;font-size:12px;font-style:normal;font-weight:400}.tree-toggle{color:#245a98;text-align:center;flex:0 0 14px;width:14px;font-size:18px;line-height:1}.tree-toggle.empty{color:#0000}.postcode-field{gap:6px;display:flex}.postcode-field input{flex:1;min-width:0}.postcode-field .btn{flex:none}.body aside .menu-group{border-top:1px solid #dbe4ed;margin-top:14px;padding-top:14px}@media (width<=1000px){.common-code-split,.department-split{grid-template-columns:1fr;overflow:auto}.common-code-split>.grid-card,.department-split>.grid-card{min-height:320px}}
