:root{--bg: #eef3f8;--surface: #ffffff;--surface-strong: #f7f9fc;--text: #172033;--muted: #607089;--line: #dce4ee;--accent: #126c64;--accent-strong: #0f5d58;--accent-soft: #e7f4f1;--ok: #16834d;--warn: #a26705;--bad: #c33838;--shadow: 0 18px 50px rgba(23, 32, 51, .08);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:#fff;padding:8px 12px;cursor:pointer;font-size:14px;font-weight:650}button.secondary{background:#fff;color:var(--text);border-color:var(--line)}button:disabled,input:disabled{cursor:not-allowed;opacity:.55}input,select{width:100%;min-height:38px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);padding:8px 10px;font-size:14px;outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #126c6424}.boot-screen,.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.boot-loader{display:grid;justify-items:center;gap:20px;color:var(--text)}.boot-loader strong{font-size:18px;letter-spacing:0}.loader-mascot{position:relative;width:96px;height:86px}.loader-logo{position:absolute;left:22px;top:14px;width:58px;height:58px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 16px 34px #17203324;display:grid;place-items:center;animation:mascot-bob 1.18s ease-in-out infinite;overflow:hidden}.loader-logo img{width:100%;height:100%;object-fit:contain}.loader-tag{position:absolute;right:2px;bottom:8px;width:32px;height:32px;border-radius:10px;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:900;box-shadow:0 10px 22px #126c6440;animation:tag-swing 1.18s ease-in-out infinite}.loader-bubble{position:absolute;border-radius:999px;background:#126c642e;animation:bubble-pop 1.18s ease-in-out infinite}.loader-bubble.one{left:10px;bottom:16px;width:18px;height:18px}.loader-bubble.two{right:14px;top:4px;width:12px;height:12px;animation-delay:.22s}@keyframes mascot-bob{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}@keyframes tag-swing{0%,to{transform:translateY(0) rotate(6deg)}50%{transform:translateY(-5px) rotate(-8deg)}}@keyframes bubble-pop{0%,to{transform:scale(.7);opacity:.45}50%{transform:scale(1.2);opacity:1}}.login-screen{position:relative;min-height:100vh;display:grid;place-items:center;padding:48px 20px;background:radial-gradient(120% 80% at 12% 0%,rgba(18,108,100,.14),transparent 55%),radial-gradient(90% 70% at 100% 100%,rgba(219,166,74,.16),transparent 60%),linear-gradient(180deg,#f4f7f8,#eef2f4);overflow:hidden}.login-aurora{position:absolute;inset:0;pointer-events:none;overflow:hidden}.login-aurora .blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55}.login-aurora .blob-1{width:460px;height:460px;top:-120px;left:-100px;background:radial-gradient(circle,rgba(18,108,100,.55),transparent 70%)}.login-aurora .blob-2{width:520px;height:520px;bottom:-160px;right:-120px;background:radial-gradient(circle,rgba(219,166,74,.55),transparent 70%)}.login-aurora .blob-3{width:340px;height:340px;top:30%;left:55%;background:radial-gradient(circle,rgba(99,102,241,.28),transparent 70%)}.login-card{position:relative;z-index:1;width:min(440px,100%);padding:36px 36px 28px;border-radius:18px;background:#ffffffc7;border:1px solid rgba(255,255,255,.7);box-shadow:0 30px 60px -25px #126c6440,0 12px 30px -12px #0f172a2e;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.login-card-brand{display:flex;gap:14px;margin-bottom:26px}.brand-mark{flex:0 0 auto;width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#fff,#f1f5f4);border:1px solid var(--line);overflow:hidden;box-shadow:0 4px 10px -4px #0f172a2e}.brand-mark img{width:100%;height:100%;object-fit:contain}.brand-text{min-width:0}.system-label{display:block;margin-bottom:4px;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.brand-text h1{margin:0 0 6px;font-size:22px;line-height:1.25;color:var(--text);letter-spacing:-.01em}.brand-text p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.login-form{display:grid;gap:14px}.login-form .field label{font-size:12px;color:var(--muted);font-weight:600}.login-form .field input{height:44px;border-radius:10px;border:1px solid var(--line);background:#fff;padding:0 14px;font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}.login-form .field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #126c6426}.primary-action{width:100%;min-height:46px;margin-top:4px;font-size:15px;font-weight:600;border-radius:12px;background:linear-gradient(135deg,#126c64,#0f5a53);border:none;color:#fff;cursor:pointer;box-shadow:0 10px 24px -12px #126c648c;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.primary-action:hover{filter:brightness(1.05);box-shadow:0 14px 28px -12px #126c64a6}.primary-action:active{transform:translateY(1px)}.login-error{margin-top:2px;padding:8px 12px;border-radius:8px;background:#dc262614;color:var(--bad);font-size:13px;text-align:center}.trust-chips{list-style:none;margin:22px 0 0;padding:18px 0 0;border-top:1px dashed rgba(15,23,42,.12);display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:center}.trust-chips li{display:inline-flex;align-items:center;gap:6px;color:#475569;font-size:12px;font-weight:500}.trust-chips svg{color:var(--accent)}.fade-enter-active,.fade-leave-active{transition:opacity .18s ease}.fade-enter-from,.fade-leave-to{opacity:0}@media(max-width:520px){.login-card{padding:28px 22px 22px;border-radius:16px}.brand-text h1{font-size:20px}}.app-title{display:flex;align-items:center;gap:12px}.app-title img{width:46px;height:46px;border-radius:8px;background:#fff;border:1px solid var(--line);object-fit:contain}.app-shell{min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 28px;border-bottom:1px solid var(--line);background:#ffffffe6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20}.topbar h1{margin:0;font-size:24px}.topbar p{margin:4px 0 0;color:var(--muted);font-size:13px}.user-box{display:flex;align-items:center;gap:12px}.user-box strong,.user-box span{display:block;text-align:right}.user-box span{color:var(--muted);font-size:12px}.icon-button{width:38px;padding:0}.module-tabs{display:flex;gap:10px;width:min(1480px,100%);margin:18px auto 0;padding:0 24px;overflow-x:auto}.module-tabs button{flex:0 0 auto;min-height:40px;border-color:var(--line);background:#fff;color:var(--text)}.module-tabs button.active{border-color:var(--accent);background:var(--accent);color:#fff}.workspace{width:min(1480px,100%);margin:0 auto;padding:24px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(380px,.65fr);gap:18px}.unavailable-workspace{grid-template-columns:1fr}.module-workspace{grid-template-columns:minmax(0,.92fr) minmax(360px,.68fr)}.uk-workspace{grid-template-columns:minmax(0,1fr) minmax(460px,560px);grid-template-areas:"top top" "single target" "batch target";align-items:start}.uk-top-panel{grid-area:top}.uk-top-grid{display:grid;grid-template-columns:minmax(310px,360px) minmax(0,1fr);gap:24px}.uk-rate-block{min-width:0}.uk-logistics-block{min-width:0;border-left:1px solid var(--line);padding-left:24px}.uk-rate-block .section-head{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}.uk-rate-block .toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.uk-rate-block .toolbar button{width:100%;min-height:42px;padding-inline:10px}.uk-rules{margin-top:16px;padding:14px 16px;border-radius:12px;background:#ffffff05;border:1px solid var(--line)}.uk-rules header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.uk-rules header h3{margin:0;font-size:14px;font-weight:600;color:var(--text)}.uk-rules header span{font-size:12px;color:var(--muted)}.uk-rules-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px}.uk-rule-item{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:8px;background:#ffffff04}.uk-rule-item.full{grid-column:1 / -1;flex-direction:row;align-items:flex-start;gap:10px}.uk-rule-item.subtle{background:transparent;padding:4px 0 0}.uk-rule-item p{margin:0;font-size:12.5px;color:var(--text);line-height:1.55;flex:1}.uk-rule-item strong{color:var(--accent, #6cd1ff);font-weight:600}.uk-rule-item .tag{display:inline-flex;align-items:center;align-self:flex-start;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;letter-spacing:.2px;background:#6cd1ff1f;color:#6cd1ff;white-space:nowrap}.uk-rule-item .tag.mainland{background:#6cd1ff26;color:#6cd1ff}.uk-rule-item .tag.remote{background:#ffb26626;color:#ffb266}.uk-rule-item .tag.muted{background:#ffffff0f;color:var(--muted)}@media(max-width:960px){.uk-rules-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.uk-rate-body{display:grid;grid-template-columns:118px minmax(0,1fr);gap:14px;align-items:stretch;margin-top:4px}.single-rate-strip{grid-template-columns:1fr}.rate-converter{border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);padding:12px}.converter-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px;margin-bottom:6px}.converter-swap{min-height:30px;border-radius:8px;padding:5px 9px;gap:5px;background:#127a6d14;border-color:#127a6d3d;color:var(--accent);font-size:12px;font-weight:750}.converter-tip{margin:0 0 10px;color:var(--muted);font-size:12px}.converter-grid{display:grid;gap:10px}.converter-grid label{display:grid;gap:5px;color:var(--muted);font-size:12px}.converter-grid input{min-height:38px;font-size:15px;font-weight:700}.uk-logistics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.uk-single-panel{grid-area:single}.uk-target-panel{grid-area:target}.uk-target-panel .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.uk-target-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.uk-cost-panel,.uk-batch-panel{grid-area:batch;min-width:0}.uk-cost-panel .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.batch-empty{margin-top:16px;padding:28px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);text-align:center;font-size:13px}.batch-cards{display:grid;gap:14px;margin-top:16px}.batch-card{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--panel-soft, rgba(255, 255, 255, .02))}.batch-card-head{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px}.batch-card-sku{display:flex;gap:8px;flex:1;align-items:center;flex-wrap:wrap}.batch-card-sku input,.batch-card-sku select{flex:1;min-width:140px}.batch-card-index{color:var(--muted);font-size:12px;font-weight:600;flex:0 0 auto}.batch-card-inputs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.batch-card-inputs label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted)}.batch-card-inputs label input{font-size:13px}.batch-card-result{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);font-size:13px}.batch-card-result span{display:inline-flex;gap:6px;align-items:baseline}.batch-card-result em{font-style:normal;color:var(--muted);font-size:11px}.batch-card-error{margin-top:10px;color:#f87171;font-size:12px}.batch-card-pending{margin-top:10px;color:var(--muted);font-size:12px}.module-placeholder{min-height:260px;display:grid;place-items:center;text-align:center}.module-placeholder h2{margin:0;font-size:24px}.module-placeholder p{max-width:560px;margin:10px auto 0;color:var(--muted);line-height:1.8}.module-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-workspace{width:min(1480px,100%);margin:0 auto;padding:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-workspace .panel.wide{grid-column:1 / -1}.admin-table{min-width:1120px}.form-action{display:flex;align-items:end}.api-error{grid-column:1 / -1;border:1px solid rgba(195,56,56,.28);border-radius:8px;background:#fff2f2;color:var(--bad);padding:12px 14px;font-size:14px;font-weight:650}.api-error.inline{grid-column:auto}.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:20px}.panel.wide{grid-column:1 / -1}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.section-head h2{margin:0;font-size:18px}.section-head p{margin:6px 0 0;color:var(--muted);line-height:1.6;font-size:13px}.section-head .template-notice{margin:0;align-self:stretch;flex:1 1 420px;display:flex;align-items:center;min-height:42px;padding:10px 12px;border:1px solid rgba(18,122,109,.18);border-radius:8px;background:#127a6d0f;color:#4e627e;font-size:12px;line-height:1.55}.uk-rate-block .template-notice{flex-basis:auto}.toolbar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.market-grid,.rate-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.rate-card{border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);padding:14px}.rate-card span{display:block;color:var(--muted);font-size:12px}.rate-card strong{display:block;margin-top:8px;font-size:22px;line-height:1.2}.market-card{border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);padding:14px}.market-card h3{margin:0 0 12px;font-size:15px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.field label{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.field.compact{margin-top:9px}.field.compact label{margin-bottom:5px}.field .hint{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.4}.table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:8px;margin-top:16px}table{width:100%;min-width:1080px;border-collapse:collapse}.batch-table{min-width:1480px}th,td{padding:10px 11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;font-size:13px;white-space:nowrap}th{position:sticky;top:0;z-index:1;background:#eef4f7;color:#314159;font-weight:750}td input,td select{min-width:112px}.note{margin:14px 0 0;color:var(--muted);font-size:13px;line-height:1.7}.kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.kpi{border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);padding:12px}.kpi span{display:block;color:var(--muted);font-size:12px}.kpi strong{display:block;margin-top:7px;font-size:20px;line-height:1.2}.ok{color:var(--ok);font-weight:700}.warn{color:var(--warn);font-weight:700}.bad{color:var(--bad);font-weight:700}.danger-text{min-height:32px;border-color:transparent;background:transparent;color:var(--bad);padding:4px 6px}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;align-items:start;justify-items:center;overflow:auto;background:#1720336b;padding:32px 20px}.settings-modal{width:min(1420px,100%);background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 28px 80px #17203338;padding:20px}.password-modal{width:min(520px,100%);background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 28px 80px #17203338;padding:20px}.password-form{display:grid;gap:14px}.toolbar.end{justify-content:flex-end}.toolbar.start{justify-content:flex-start;margin-top:14px}.settings-grid{grid-template-columns:repeat(5,minmax(210px,1fr))}@media(max-width:1180px){.workspace,.module-workspace{grid-template-columns:1fr}.uk-workspace{grid-template-columns:1fr;grid-template-areas:"top" "single" "target" "batch"}.uk-top-panel,.uk-single-panel,.uk-target-panel,.uk-batch-panel,.uk-cost-panel{grid-column:1;width:100%}.uk-top-grid{grid-template-columns:1fr}.uk-logistics-block{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:18px}.market-grid,.rate-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.single-rate-strip{grid-template-columns:minmax(0,360px)}.uk-target-panel .form-grid,.uk-target-kpis,.uk-cost-panel .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.batch-card-inputs{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.login-screen{padding:14px}.login-layout{grid-template-columns:1fr}.login-copy{min-height:auto;padding:24px}.login-panel{padding:24px}.login-copy h1{font-size:28px}.login-lead{margin:24px 0;font-size:15px}.topbar,.section-head{align-items:stretch;flex-direction:column}.user-box{justify-content:space-between}.user-box strong,.user-box span{text-align:left}.workspace{padding:14px}.module-tabs{margin-top:14px;padding:0 14px}.admin-workspace{grid-template-columns:1fr;padding:14px}.market-grid,.rate-strip,.form-grid,.kpi-grid,.uk-target-panel .form-grid,.uk-logistics-kpis,.uk-target-kpis,.uk-rate-body,.uk-rate-block .toolbar{grid-template-columns:1fr}.toolbar{justify-content:flex-start}}.footer-note{margin:12px 0 0;padding:12px 14px;font-size:13px;color:var(--muted);background:var(--surface-strong);border-radius:10px;line-height:1.6}.rules-list{margin:4px 0 0;padding-left:20px;color:var(--muted);font-size:14px;line-height:1.8}.rules-list li{margin-bottom:4px}.app-footer{margin-top:32px;padding:20px 24px;border-top:1px solid var(--border, #e2e8f0);background:var(--surface-strong);color:var(--muted);font-size:13px;text-align:center}.app-footer-inner{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;line-height:1.7}.app-footer .dot{opacity:.55}@media(max-width:720px){.app-footer .dot{display:none}.app-footer-inner{flex-direction:column;gap:2px}}
