:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#182b41;background:#f4f7fb;font-size:14px}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.58;cursor:wait}input,select,textarea{width:100%;padding:11px 13px;border:1px solid #cbd6e2;border-radius:8px;background:white;color:#1c3046;outline:none}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid #7bafea;outline-offset:1px}label{display:block;font-weight:650;font-size:13px;margin:15px 0 7px}.subtle,.helper{color:#6c7d8d}.helper{font-size:12px;line-height:1.55}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:#366caa}.brandmark{flex:none;display:grid;place-items:center;background:#174574;color:white;border-radius:11px;width:42px;height:42px;font-size:25px;font-weight:800;box-shadow:0 3px 10px #1f46612d}h1{font-size:29px;line-height:1.2;letter-spacing:-.025em;margin:9px 0 9px}h2{font-size:17px;line-height:1.4;margin:0}p{line-height:1.55;margin:8px 0}small{font-size:12px}.btn{display:inline-flex;gap:10px;justify-content:center;align-items:center;border:1px solid transparent;border-radius:8px;padding:12px 18px;font-weight:700;white-space:nowrap}.btn-primary{background:#17548e;color:white}.btn-primary:hover{background:#103d6b}.btn-outline{background:white;color:#2b5275;border-color:#d7e1ec}.btn-outline:hover{background:#f1f6fa}.compact{padding:9px 14px;font-size:13px}.alert{background:#edf6ff;border:1px solid #bfd7f4;color:#1c537f;border-radius:9px;padding:13px 16px;margin-bottom:20px}.alert.error{background:#fff1f0;border-color:#f2c4c0;color:#8b3230}.alert.success{background:#eef8f1;border-color:#c9e7ce;color:#2d6840}.startup{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:#54708a}.spinner{width:28px;height:28px;border:3px solid #dae6f2;border-top-color:#245f99;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[hidden]{display:none!important}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(350px,48%) 1fr;background:white}.auth-left{background:linear-gradient(145deg,#102f51,#1d4f7b);color:white;padding:45px 8%;display:flex;flex-direction:column;justify-content:space-between}.brand-row{display:flex;gap:12px;align-items:center;font-size:12px;letter-spacing:.15em;font-weight:800}.brand-row .brandmark{background:#ffffff28;border:1px solid #ffffff33}.auth-slogan{max-width:480px}.auth-slogan .eyebrow{color:#b0d3f6}.auth-slogan h1{font-size:clamp(33px,3.2vw,49px);margin:18px 0}.auth-slogan p{font-size:16px;color:#cfdeee}.auth-features{display:flex;flex-direction:column;gap:16px;margin-top:36px;color:#eaf3fc}.auth-bottom{color:#bbd0e5;font-size:12px}.auth-card{align-self:center;justify-self:center;padding:44px;max-width:480px;width:100%}.auth-card h2{font-size:30px;margin:12px 0 4px}.auth-card .btn{width:100%;margin-top:23px}.auth-card .helper{margin-top:25px}.mobile-brand{display:none}.workspace{display:flex;min-height:100vh}.sidebar{width:252px;background:#fff;border-right:1px solid #e1e8f0;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:28px 15px;flex:none}.side-brand{display:flex;align-items:center;gap:10px;margin:0 8px 36px}.side-brand strong{display:block;font-size:11px;letter-spacing:.1em}.side-brand small{display:block;color:#7990a4;letter-spacing:.15em;margin-top:3px}.side-section-label{color:#93a1b0;font-size:10px;font-weight:800;letter-spacing:.13em;margin:20px 14px 9px}.nav-item{display:flex;align-items:center;gap:11px;border:0;color:#52667c;background:transparent;border-radius:8px;padding:12px 14px;width:100%;text-align:left;font-weight:650;margin:2px 0}.nav-item:hover,.nav-item.active{background:#ebf3fc;color:#174f86}.nav-symbol{font-size:19px;line-height:1;width:22px;text-align:center}.side-foot{margin-top:auto;padding:16px 8px 0}.secure-dot{font-size:11px;color:#6f8090;margin-bottom:16px;display:flex;align-items:center;gap:8px}.secure-dot span{width:7px;height:7px;border-radius:100%;background:#399e74}.btn-signout{border:1px solid #dce5ee;background:#fff;width:100%;color:#52667c;justify-content:flex-start}.content-shell{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:74px;background:#fff;border-bottom:1px solid #e1e8f0;display:flex;justify-content:space-between;align-items:center;padding:0 38px}.crumb{font-size:13px;color:#8a99a9}.crumb span{margin:0 10px}.crumb strong{color:#304b66}.top-user{display:flex;align-items:center;gap:15px;color:#536a81;font-size:12px;font-weight:650;max-width:50%;overflow:hidden;text-overflow:ellipsis}.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e3eef9;color:#205d98;font-size:16px;font-weight:800;flex:none}.page-content{width:100%;max-width:1460px;padding:37px 38px;flex:1;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.page-heading p{color:#758598;margin:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:22px}.stat,.panel{background:white;border:1px solid #e0e8f0;border-radius:12px;box-shadow:0 2px 5px #1b466008}.stat{padding:22px}.stat>span{display:block;color:#677f94;font-size:12px;font-weight:700}.stat strong{display:block;color:#173b61;font-size:34px;letter-spacing:-.05em;margin:12px 0 5px}.stat small{color:#92a0af}.section-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:20px}.panel{padding:23px;margin-bottom:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-head p,.quick-panel>p{color:#8b9baa;font-size:12px;margin:3px 0}.link-button{border:0;background:transparent;color:#245b8e;font-weight:750;padding:8px}.quick-action{display:flex;align-items:center;gap:13px;width:100%;padding:17px 3px;background:white;border:0;border-top:1px solid #ecf1f5;color:#205d93;text-align:left;font-size:21px}.quick-action span{flex:1;color:#26425a;font-size:13px;font-weight:750}.quick-action small{display:block;color:#8998a7;font-weight:400;margin-top:4px}.table-wrap{overflow:auto;min-height:110px}.data-table{border-collapse:collapse;width:100%;font-size:13px;text-align:left;min-width:490px}.data-table th{background:#f8fafc;color:#8090a1;font-size:11px;letter-spacing:.055em;text-transform:uppercase;font-weight:800;padding:13px 12px}.data-table td{padding:15px 12px;border-bottom:1px solid #e9eef4;color:#465d73}.data-table td:first-child{font-weight:750;color:#223e58}.status{display:inline-block;border-radius:100px;background:#eaf2fb;color:#255b8d;padding:5px 10px;font-size:11px;font-weight:750;white-space:nowrap}.status.green{background:#e7f6ed;color:#2d8053}.status.amber{background:#fff3df;color:#96651c}.empty-state{text-align:center;padding:42px 17px;color:#7890a5}.empty-state strong{display:block;color:#37556f;font-size:15px;margin-bottom:7px}.empty-icon{font-size:34px;margin-bottom:8px}.skeleton{height:39px;border-radius:6px;margin:10px 0;background:linear-gradient(90deg,#f2f5f8 20%,#e4ecf4 50%,#f2f5f8 80%);background-size:200% 100%;animation:pulse 1.3s linear infinite}@keyframes pulse{to{background-position-x:-200%}}.form-panel{max-width:880px;padding:8px 28px}.form-block{padding:26px 0;border-bottom:1px solid #edf1f6}.form-block:last-of-type{border:0}.form-block h2{margin-bottom:18px}.type-cards{display:grid;grid-template-columns:1fr 1fr;gap:13px}.type-card{display:flex;align-items:center;gap:12px;border:1px solid #d8e2ed;padding:16px;border-radius:10px;margin:0;cursor:pointer}.type-card:has(input:checked){border-color:#3379bc;background:#edf6ff}.type-card input{width:auto;accent-color:#21609a}.type-card span{display:block}.type-card small{display:block;color:#8394a5;font-weight:400;margin-top:5px;line-height:1.4}.route-box{background:#f8fafc;border:1px solid #e7edf3;border-radius:9px;padding:17px;margin-top:17px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}.form-grid>div:last-child{grid-column:span 2}.po-preview{margin-top:15px}.po-line{padding:8px 0;border-bottom:1px solid #e4eaf0;font-size:12px;color:#54718b}.dropzone{border:2px dashed #b9cbdc;border-radius:11px;text-align:center;padding:23px;background:#f9fbfd;position:relative}.dropzone.dragging{border-color:#2b7ab7;background:#eff7ff}.dropzone .upload-symbol{display:block;font-size:27px;color:#4481ba;margin-bottom:7px}.dropzone strong{display:block}.dropzone small{display:block;color:#8394a5;margin:7px}.dropzone input{margin-top:15px;max-width:360px;padding:7px;border:0;background:transparent}.form-actions{padding:20px 0;display:flex;align-items:center;gap:16px}.profile-panel{max-width:700px}.profile-panel>div{padding:17px 0;border-bottom:1px solid #e8eef4}.info-label{display:block;color:#7c90a2;font-size:12px;margin-bottom:6px}.profile-panel strong{font-size:15px}.help-panel{max-width:780px}.help-panel h2{margin-top:20px}.help-panel p{color:#697e91;margin-bottom:23px}.app-footer{text-align:center;padding:24px;color:#96a5b2;font-size:11px}.toast-area{position:fixed;right:20px;bottom:20px;z-index:30;max-width:min(380px,90vw)}.toast{background:#183d62;color:white;border-radius:9px;padding:13px 18px;box-shadow:0 8px 25px #132a4050;margin-top:8px}.toast.error{background:#8b3434}.mobile-menu{display:none;border:0;background:transparent;font-size:23px;color:#2b5275}@media(max-width:1080px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.section-grid{grid-template-columns:1fr}.page-content{padding:27px}.topbar{padding:0 27px}}@media(max-width:760px){.auth-shell{grid-template-columns:1fr}.auth-left{display:none}.auth-card{padding:30px 22px}.mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:34px;font-size:11px;letter-spacing:.13em}.sidebar{position:fixed;z-index:20;transform:translateX(-100%);transition:transform .2s;width:270px;box-shadow:10px 0 30px #1d3d5918}.sidebar.open{transform:translateX(0)}.mobile-menu{display:block}.topbar{height:64px;padding:0 18px}.page-content{padding:24px 16px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:26px}.stat{padding:16px}.stat strong{font-size:28px}.stats{gap:10px}.form-panel{padding:3px 17px}.type-cards,.form-grid{grid-template-columns:1fr}.form-grid>div:last-child{grid-column:auto}.form-actions{flex-direction:column;align-items:stretch}.top-user{max-width:35%}.top-user #headerSupplier{display:none}}
