:root{
  --bg:#f8f9ff;--surface:#fff;--soft:#eff4ff;--line:#e2e8f0;--blue:#00346f;--blue2:#004a99;--ink:#0b1c30;--muted:#636b7a;--ice:#b0e0e9;--orange:#ff8928;--red:#ba1a1a;--green:#005460;--shadow:0 18px 50px rgba(0,52,111,.08);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0}
button,input,select{font:inherit}
button{cursor:pointer}
.eyebrow,small{font-size:12px;line-height:16px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.primary,.ghost{border:0;border-radius:12px;padding:12px 18px;font-weight:800;transition:.18s ease}
.primary{background:var(--blue);color:#fff;box-shadow:0 12px 24px rgba(0,52,111,.18)}
.primary:hover,.ghost:hover{transform:translateY(-1px)}
.ghost{background:#fff;color:var(--blue);border:1px solid var(--line)}
.block{width:100%}
.lang{display:flex;gap:6px;align-items:center}
.lang button{border:0;border-radius:999px;padding:8px 10px;background:transparent;color:var(--muted);font-weight:800}
.lang button.active{background:var(--blue);color:#fff}

.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) 460px;background:radial-gradient(circle at 20% 20%,rgba(176,224,233,.5),transparent 32%),linear-gradient(135deg,#fff,#eff4ff)}
.login-hero{padding:40px 56px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}
.login-nav{display:flex;justify-content:space-between;align-items:center}
.brand-mark b{font-size:34px;color:var(--blue);display:block;letter-spacing:-.03em}.brand-mark span{font-size:12px;text-transform:uppercase;color:var(--muted);letter-spacing:.08em;font-weight:800}
.login-copy h1{font-size:clamp(46px,7vw,86px);line-height:1;margin:16px 0;color:var(--blue);letter-spacing:-.04em;max-width:940px}
.login-copy p{font-size:20px;line-height:1.55;color:#424751;max-width:780px}
.hero-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px;max-width:780px}
.hero-kpis div,.login-card{background:rgba(255,255,255,.72);backdrop-filter:blur(22px);border:1px solid rgba(226,232,240,.88);box-shadow:var(--shadow);border-radius:24px}
.hero-kpis div{padding:20px}.hero-kpis b{font-size:30px;color:var(--blue);display:block}.hero-kpis span{color:var(--muted)}
.login-card{align-self:center;margin-right:56px;padding:28px;display:grid;gap:16px}
.login-card h2{font-size:30px;margin:0;color:var(--blue)}
.role-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.role-grid button{border:1px solid var(--line);border-radius:12px;background:#fff;padding:11px;color:var(--muted);font-weight:800;text-align:left}.role-grid button.active{background:var(--blue);color:#fff}
.login-card label{display:grid;gap:7px;font-weight:800;color:var(--muted)}
.login-card input{border:1px solid var(--line);border-radius:12px;background:#f8fafc;padding:13px;color:var(--ink)}
.login-card input:focus{outline:3px solid rgba(0,74,153,.14);border-color:var(--blue2);background:#fff}
.error{color:var(--red);font-weight:900}

.app-shell{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;background:rgba(255,255,255,.75);backdrop-filter:blur(22px);border-right:1px solid var(--line);box-shadow:0 0 40px rgba(0,52,111,.04);display:flex;flex-direction:column;z-index:30}
.logo{padding:32px}.logo strong{font-size:38px;line-height:1;color:var(--blue);display:block;letter-spacing:-.04em}.logo span{font-size:12px;text-transform:uppercase;font-weight:800;color:var(--muted);letter-spacing:.08em}
.sidebar nav{display:grid;gap:4px;padding:0 16px;overflow:auto}
.sidebar nav button{display:flex;gap:14px;align-items:center;border:0;background:transparent;border-radius:12px;padding:13px 14px;color:#4d5562;text-align:left;font-weight:700}
.sidebar nav button.active{background:var(--soft);color:var(--blue);box-shadow:inset -4px 0 0 var(--blue)}
.sidebar nav i{font-style:normal;width:34px;height:34px;border-radius:10px;background:#eef4ff;display:grid;place-items:center;font-size:11px;font-weight:900;color:var(--blue)}
.side-actions{margin-top:auto;padding:18px;display:grid;gap:10px;border-top:1px solid var(--line)}
.workspace{min-width:0;display:flex;flex-direction:column}
.topbar{height:74px;position:sticky;top:0;z-index:20;background:rgba(248,249,255,.78);backdrop-filter:blur(22px);border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:22px;padding:0 40px}
.topbar h1{font-size:25px;margin:0;color:var(--blue);letter-spacing:-.02em}.topbar span{color:var(--muted);font-size:13px;font-weight:700}
.menu{display:none}.search{max-width:460px;width:100%}.search input{width:100%;border:0;border-radius:999px;background:#eef4ff;padding:13px 18px;color:var(--ink)}
.top-actions{display:flex;align-items:center;gap:10px;background:rgba(176,224,233,.35);border:1px solid rgba(0,84,96,.12);padding:9px 14px;border-radius:999px;color:var(--green)}
.live-dot{width:9px;height:9px;border-radius:50%;background:var(--green);display:inline-block;box-shadow:0 0 0 7px rgba(0,84,96,.11);animation:pulse 1.8s infinite}
@keyframes pulse{50%{transform:scale(1.25);opacity:.55}}
.content{max-width:1480px;width:100%;margin:0 auto;padding:38px 40px 110px;display:grid;gap:28px}
footer{margin-top:auto;padding:18px 40px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em;border-top:1px solid var(--line)}
.section-head{display:flex;justify-content:space-between;gap:20px;align-items:end}.section-head h2{font-size:42px;line-height:1.08;margin:8px 0 0;color:var(--blue);letter-spacing:-.035em;max-width:980px}.head-actions{display:flex;gap:10px;flex-wrap:wrap}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.card,.kpi-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 26px rgba(0,52,111,.04);min-width:0}
.card{padding:26px}.card h3{font-size:24px;line-height:1.18;margin:0 0 18px;color:var(--blue);letter-spacing:-.02em}.card-title{display:flex;justify-content:space-between;align-items:center;gap:12px}
.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-12{grid-column:span 12}
.kpi-card{grid-column:span 3;padding:26px;display:flex;justify-content:space-between;gap:16px;min-height:150px}
.kpi-card small{display:block;margin-bottom:14px}.kpi-card b{display:block;font-size:34px;color:var(--blue);letter-spacing:-.03em}.kpi-card span{display:block;margin-top:12px;color:var(--muted);font-weight:800}.kpi-card i{font-style:normal;width:48px;height:48px;border-radius:12px;background:#eef4ff;display:grid;place-items:center;color:var(--blue);font-size:24px}.kpi-card .good,.good{color:var(--green)!important}.bad{color:var(--red)!important}.kpi-card.ai{background:var(--blue);color:#fff}.kpi-card.ai b,.kpi-card.ai small,.kpi-card.ai span{color:#fff}
.pill{border:0;border-radius:999px;background:#eef4ff;color:var(--blue);font-weight:900;padding:10px 14px}

.world,.twin,.country-map{height:430px;border-radius:18px;background:linear-gradient(135deg,#f8fafc,#eaf1ff);position:relative;overflow:hidden;border:1px solid var(--line)}
.world svg{position:absolute;inset:0;width:100%;height:100%;opacity:.45}.world path:first-child{fill:#c8d4e1}.world path:last-child{fill:none;stroke:var(--blue);stroke-width:.55;stroke-dasharray:2 2}
.hub,.country-map button{position:absolute;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.85);box-shadow:var(--shadow);padding:10px 12px;color:var(--blue);font-weight:900;text-align:left}
.hub b,.hub span,.country-map b,.country-map span{display:block}.hub span,.country-map span{font-size:12px;color:var(--muted)}.world>i{position:absolute;width:120px;height:2px;background:var(--orange);left:18%;top:48%;animation:route 4s linear infinite}.world>i:nth-of-type(2){left:42%;top:35%;animation-delay:1.1s}.world>i:nth-of-type(3){left:58%;top:64%;animation-delay:2s}@keyframes route{to{transform:translateX(260px);opacity:.1}}
.ai-suggestion,.orange{border-color:rgba(255,137,40,.55)!important}.ai-suggestion{margin-top:20px;padding:20px;border-radius:18px;background:var(--blue);color:#fff;font-weight:800;line-height:1.45}
.bar-row{margin:16px 0}.bar-row>span{font-weight:800;color:var(--muted)}.bar-row>b{float:right;color:var(--blue)}.bar{height:9px;background:#eaf1ff;border-radius:999px;overflow:hidden;margin-top:8px}.bar i{display:block;height:100%;background:var(--blue);border-radius:inherit}
.decision{display:grid;grid-template-columns:40px 1fr;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.decision i{grid-row:span 2;width:32px;height:32px;border-radius:50%;border:2px solid var(--blue);display:grid;place-items:center;font-style:normal;font-weight:900;color:var(--blue)}.decision b{color:var(--blue)}.decision span{color:var(--muted)}
.agent-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.agent-grid.large{grid-template-columns:repeat(3,1fr)}
.agent-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px;display:grid;gap:10px}.agent-card>div{display:flex;justify-content:space-between;gap:10px}.agent-card b{color:var(--blue)}.agent-card span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;font-weight:800}.agent-card em{font-style:normal;color:var(--green);font-weight:900}.mini-bar{height:7px;background:#eaf1ff;border-radius:999px;overflow:hidden}.mini-bar i{display:block;height:100%;background:var(--green)}
.scatter{height:500px;border-radius:18px;background:linear-gradient(#f8fafc,#f8fafc),linear-gradient(90deg,transparent 49.8%,#e2e8f0 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,#e2e8f0 50%,transparent 50.2%);position:relative;border:1px solid var(--line);overflow:hidden}.scatter button{position:absolute;border:0;border-radius:50%;background:rgba(0,52,111,.68)}.scatter button.warn{background:rgba(255,137,40,.45)}.axis{position:absolute;color:var(--muted);font-weight:900}.axis.x{bottom:14px;left:50%}.axis.y{left:14px;top:50%;transform:rotate(-90deg)}
.rec{background:#eef4ff;border:1px solid var(--line);border-radius:14px;padding:14px;margin:12px 0}.rec b,.rec span{display:block}.rec b{color:var(--blue)}.rec span{color:var(--muted);margin-top:6px}
.heatmap{display:grid;grid-template-columns:repeat(12,1fr);gap:7px}.heatmap i{height:22px;border-radius:4px;background:hsl(calc(205 - var(--v)*1.4) 70% 72%)}
.waterfall{height:250px;display:flex;align-items:end;gap:18px;padding:20px;border-radius:18px;background:#f8fafc;border:1px solid var(--line)}.waterfall div{flex:1;text-align:center}.waterfall i{display:block;border-radius:6px 6px 0 0;background:var(--blue);margin:auto}.waterfall i.neg{background:#c91d1d}.waterfall i.pos{background:var(--orange)}.waterfall i.net{background:var(--green)}.waterfall span{display:block;margin-top:8px;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:900}
.range{display:grid;gap:10px;margin:18px 0;color:var(--muted);font-weight:900}.range b{justify-self:end;color:var(--blue)}.range input{width:100%;accent-color:var(--blue)}
.select{display:grid;gap:8px;margin:14px 0;color:var(--muted);font-weight:900}.select select{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;color:var(--ink)}
.impact{border:1px dashed var(--line);border-radius:16px;padding:18px;margin:20px 0;color:var(--muted);text-transform:uppercase;font-weight:900}.impact b{display:block;color:var(--blue);font-size:25px;margin-top:8px}
.package-visual{text-align:center}.box3d{width:min(240px,var(--x));height:min(180px,var(--y));margin:40px auto;border-radius:18px;background:linear-gradient(135deg,#dce9ff,#fff);box-shadow:26px 22px 0 #cbd8e8,0 20px 50px rgba(0,52,111,.15);border:2px solid var(--blue)}
.kpi-inline{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:13px 0}.kpi-inline span{color:var(--muted);font-weight:800}.kpi-inline b{color:var(--blue)}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line);font-size:13px}th{color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:.05em}tr[data-sku]{cursor:pointer}tr[data-sku]:hover{background:#f8fafc}
.lane{display:inline-grid;vertical-align:top;width:24%;min-width:190px;padding:12px}.lane>b{color:var(--blue);margin-bottom:12px}.order{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px}.order span,.order em,.order small{display:block}.order em{font-style:normal;color:var(--muted)}
.product-card b,.product-card span{display:block}.product-card b{font-size:24px;color:var(--blue)}.product-card span{color:var(--muted);margin:8px 0 18px}
.twin:before{content:"";position:absolute;inset:48px;border:1px dashed rgba(0,52,111,.18);border-radius:50%}.warehouse{position:absolute;transform:translate(-50%,-50%);background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;box-shadow:var(--shadow);color:var(--blue);font-weight:900}.warehouse span{display:block;color:var(--muted);font-size:12px}.flow{position:absolute;width:80px;height:3px;background:var(--orange);border-radius:999px;animation:flow 3s linear infinite}.f1{left:18%;top:38%}.f2{left:42%;top:64%;animation-delay:1s}.f3{left:63%;top:42%;animation-delay:1.6s}@keyframes flow{to{transform:translateX(180px);opacity:.15}}
.supplier-matrix{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.supplier-matrix button{border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px;text-align:left}.supplier-matrix b,.supplier-matrix span,.supplier-matrix em{display:block}.supplier-matrix b{color:var(--blue)}.supplier-matrix span{color:var(--muted);font-size:12px}.supplier-matrix i{display:block;height:7px;background:var(--orange);border-radius:999px;margin:10px 0}.supplier-matrix em{font-style:normal;color:var(--muted);font-weight:900}
.ticket{border:1px solid var(--line);border-radius:16px;padding:16px;margin:12px 0;display:grid;grid-template-columns:1fr auto;gap:8px}.ticket b{color:var(--blue)}.ticket span{color:var(--muted)}.ticket button,.row button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;color:var(--blue);font-weight:900}
.portal-preview{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:20px}.portal-preview b,.portal-preview span{display:block}.portal-preview b{font-size:22px;color:var(--blue)}.portal-preview span{color:var(--muted);margin:10px 0}
.country-map{height:360px}.country-map:before{content:"";position:absolute;inset:20px;background:radial-gradient(circle at 35% 45%,rgba(0,52,111,.16),transparent 16%),radial-gradient(circle at 65% 55%,rgba(255,137,40,.15),transparent 18%)}
.impact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:18px}.impact-grid .kpi-inline{background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:16px}
.audit{border-left:3px solid var(--blue);padding:10px 0 10px 16px;margin:10px 0}.audit b,.audit span,.audit p{display:block}.audit b{color:var(--blue)}.audit span{color:var(--muted);font-size:12px}.audit p{margin:6px 0 0}
.filter-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.filter-grid button{border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 10px;color:var(--muted);font-weight:900}.filter-grid button.active{background:var(--blue);color:#fff}
.timeline-list{max-height:620px;overflow:auto}.feed{position:fixed;right:24px;bottom:24px;width:min(420px,calc(100vw - 48px));background:rgba(255,255,255,.88);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);z-index:60;overflow:hidden}.feed header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}.feed header button{border:0;background:#eef4ff;border-radius:999px;padding:7px 10px;color:var(--blue);font-weight:900}.feed-item{padding:13px 16px;border-bottom:1px solid var(--line)}.feed-item b,.feed-item span,.feed-item em,.feed-item small{display:block}.feed-item b{color:var(--blue)}.feed-item span{margin:4px 0}.feed-item em{font-style:normal;color:var(--muted);font-size:12px}.feed-mini{position:fixed;right:24px;bottom:24px;border:1px solid var(--line);border-radius:999px;background:#fff;box-shadow:var(--shadow);padding:12px 16px;color:var(--blue);font-weight:900;z-index:55}
.sim-panel{position:fixed;left:324px;right:24px;bottom:24px;background:rgba(255,255,255,.94);backdrop-filter:blur(22px);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);z-index:70;padding:20px}.sim-panel header{display:flex;justify-content:space-between;gap:16px}.sim-panel h3{margin:4px 0 0;color:var(--blue);font-size:28px}.sim-panel button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 12px;color:var(--blue);font-weight:900}.sim-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.sim-steps div{border-radius:12px;background:#eef4ff;color:var(--muted);padding:12px;font-weight:800}.sim-steps .done{background:var(--blue);color:#fff}.sim-output{background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:16px;color:var(--ink);font-weight:800}
.row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:12px 0}.row b{color:var(--blue)}.row span{color:var(--muted)}

@media(max-width:1180px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;transform:translateX(-105%);transition:.2s}.sidebar.open{transform:none}.menu{display:inline-flex}.topbar{grid-template-columns:auto 1fr auto;padding:0 18px}.search{display:none}.content{padding:24px 18px 110px}.span-3,.span-4,.span-5,.span-6,.span-7,.span-8{grid-column:span 12}.kpi-card{grid-column:span 6}.agent-grid,.agent-grid.large{grid-template-columns:repeat(2,1fr)}.sim-panel{left:18px}.supplier-matrix{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.login-page{grid-template-columns:1fr}.login-hero{min-height:auto;padding:24px}.login-card{margin:24px}.hero-kpis{grid-template-columns:1fr}.section-head{display:block}.section-head h2{font-size:34px}.head-actions{margin-top:16px}.grid{gap:14px}.kpi-card{grid-column:span 12}.agent-grid,.agent-grid.large,.supplier-matrix,.impact-grid{grid-template-columns:1fr}.feed{display:none}.sim-steps{grid-template-columns:1fr}.top-actions b{display:none}.sidebar{width:min(320px,90vw)}.lane{width:100%}}
