:root{
  /* Escalas da revisão visual (Fases 1 e 2). */
  --font-sans:Inter,Geist,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --fs-xs:11px;
  --fs-sm:12px;
  --fs-md:13px;
  --fs-body:15px;
  --fs-lg:18px;
  --fs-xl:24px;
  --fs-display:34px;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --space-7:48px;
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:16px;
  --radius-pill:999px;
  --shadow-subtle:0 1px 2px rgba(16,24,40,.05);
  --shadow-card:0 8px 24px rgba(16,24,40,.07);
  --shadow-floating:0 20px 48px rgba(16,24,40,.16);
  --surface-subtle:#f8fafc;
  --surface-muted:#f2f4f7;
  --text-secondary:var(--ink-soft);
  --text-tertiary:#475467;
  /* Fundação visual única — os aliases preservam os componentes existentes. */
  --bg:#f7f8fa;
  --surface:#fff;
  --ink:#101828;
  --ink-soft:#344054;
  --muted:#667085;
  --line:#e4e7ec;
  --line-strong:#cfd6e1;
  --primary:#1d4ed8;
  --primary-hover:#2563eb;
  --focus:rgba(29,78,216,.12);
  --green:#067647;
  --green-bg:#ecfdf3;
  --green-line:#abefc6;
  --amber:#b54708;
  --amber-bg:#fffaeb;
  --amber-line:#fedf89;
  --red:#b42318;
  --red-bg:#fef3f2;
  --red-line:#fecdca;
  --info:#175cd3;
  --info-bg:#eff8ff;
  --info-line:#b2ddff;

  /* Nomes legados: uma única fonte de verdade durante a migração. */
  --text:var(--ink);
  --soft:var(--bg);
  --blue:var(--primary);
  --premium-bg:var(--bg);
  --premium-surface:var(--surface);
  --premium-text:var(--ink);
  --premium-muted:var(--muted);
  --premium-border:var(--line);
  --premium-border-strong:var(--line-strong);
  --premium-accent:var(--primary);
  --premium-navy:var(--ink);
  --premium-shadow:0 12px 34px rgba(16,24,40,.07);
  --premium-shadow-soft:0 4px 16px rgba(16,24,40,.045);

  /* Tabela de resultado — cores dos segmentos da barra e das linhas. */
  --chart-mercadoria:#4f7ee8;
  --chart-frete:#5aa6cf;
  --chart-imposto:#cb5b51;
  --chart-operacional:#9a8ac3;
  --chart-lucro:#42a083;
  --chart-prejuizo:#f97066;

  /* Botões — fonte única de tipografia, geometria e estados. */
  --btn-font:Inter,Geist,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --btn-size:13px;
  --btn-weight:700;
  --btn-height:44px;
  --btn-padding:10px 18px;
  --btn-radius:12px;
  --btn-bg:#fff;
  --btn-border:var(--line);
  --btn-text:var(--ink-soft);
  --btn-primary-bg:var(--ink);
  --btn-primary-hover:#1d2939;
  --btn-focus:var(--focus);
  --btn-shadow:0 1px 2px rgba(16,24,40,.05);
  --btn-shadow-primary:0 6px 16px rgba(16,24,40,.16);
}

*{box-sizing:border-box}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body{margin:0;background:var(--bg);color:var(--text);font:var(--fs-body) var(--font-sans);font-variant-numeric:tabular-nums}
.app{max-width:1600px;margin:auto;padding:24px}
.top{display:flex;justify-content:space-between;gap:18px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:16px}
.brand{font-size:20px;font-weight:900}.brand span{color:var(--blue)}
h1{font-size:27px;margin:3px 0 0}
.actions{display:flex;gap:8px;flex-wrap:wrap}
button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:var(--btn-height);
  padding:var(--btn-padding);
  border:1px solid var(--btn-border);
  border-radius:var(--btn-radius);
  background:var(--btn-bg);
  color:var(--btn-text);
  font-family:var(--btn-font);
  font-size:var(--btn-size);
  font-weight:var(--btn-weight);
  line-height:1;
  box-shadow:var(--btn-shadow);
  cursor:pointer;
  transition:transform .16s ease-out,border-color .16s ease-out,box-shadow .16s ease-out,background .16s ease-out,color .16s ease-out;
}
button.primary{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:#fff;box-shadow:var(--btn-shadow-primary)}
button:hover{transform:translateY(-1px);border-color:var(--line-strong);background:#fafbfc;box-shadow:0 6px 14px rgba(16,24,40,.07)}
button.primary:hover{background:var(--btn-primary-hover);border-color:var(--btn-primary-hover);box-shadow:0 10px 22px rgba(16,24,40,.20)}
button:focus-visible{outline:0;border-color:var(--primary);box-shadow:0 0 0 4px var(--btn-focus)}
button:disabled{cursor:not-allowed;opacity:.45;transform:none;box-shadow:none}
.company,.workspace,.card{border:1px solid var(--line);border-radius:12px;background:#fff}
.company{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:14px}
.company div{padding:11px;border-right:1px solid var(--line)}
.company div:last-child{border:0}
.company small,.metric small,.result small,.meta small{display:block;color:#475569;font-size:11px;text-transform:uppercase;font-weight:800}
.workspace{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:10px 14px;background:var(--soft);margin-bottom:16px}
.field{display:flex;flex-direction:column;gap:5px}
.field label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:800;color:#475569}
.ws-sep{color:#94a3b8;font-weight:700;font-size:14px;flex:0 0 auto}
.status-chip,.pending-chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:0;max-width:100%;padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#475467;font-size:14px;font-weight:750;box-shadow:none;cursor:pointer;text-align:left;white-space:nowrap}
.status-chip:before,.pending-chip:before{content:"";flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:currentColor}
.ws-input{min-width:0}
#pending-chip.is-empty{color:#98a2b3}
.current-quote{display:flex;flex-direction:column;gap:3px;min-width:0}
.current-quote small{color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:800}
.current-quote strong{font-size:15px;overflow-wrap:anywhere}
.current-quote span{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}
.app-footer .save{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--green);font-weight:700}
.app-footer .save:before{content:"";flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px rgba(18,183,106,.12)}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:18px;align-items:start}
.card{padding:18px;margin-bottom:16px}
.card h2{font-size:18px;margin:0 0 14px}
.split{display:grid;grid-template-columns:1.3fr 1fr;gap:14px}
.supplier-band{--country-accent:var(--line);--country-tint:#fff;--country-stripe:linear-gradient(90deg,var(--line),var(--line));position:relative;margin-bottom:10px;padding:16px 12px 12px;border:1px solid var(--line);border-radius:11px;background:var(--country-tint);overflow:hidden;transition:background-color .2s ease,border-color .2s ease}
.supplier-band[data-country="china"]{--country-accent:#DE2910;--country-tint:rgba(222,41,16,.05);--country-stripe:linear-gradient(90deg,#DE2910 0 78%,#FFDE00 78% 100%)}
.supplier-band[data-country="brasil"]{--country-accent:#009C3B;--country-tint:rgba(0,156,59,.05);--country-stripe:linear-gradient(90deg,#009C3B 0 40%,#FFDF00 40% 68%,#002776 68% 100%)}
.supplier-band[data-country="paraguai"]{--country-accent:#D52B1E;--country-tint:rgba(213,43,30,.05);--country-stripe:linear-gradient(90deg,#D52B1E 0 33.333%,#fff 33.333% 66.666%,#0038A8 66.666% 100%)}
.supplier-country-stripe{position:absolute;inset:0 0 auto;height:4px;background:var(--country-stripe);pointer-events:none}
.supplier-band.is-country-switching .supplier-country-stripe{animation:supplier-country-fade .2s ease}
@keyframes supplier-country-fade{from{opacity:.25}to{opacity:1}}
.supplier-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.supplier-fields.trade-hidden{grid-template-columns:repeat(4,minmax(0,1fr))}
.product-supplier-section .field{gap:3px}
.product-supplier-section .field label{font-size:10px;letter-spacing:.03em}
.product-supplier-section input,.product-supplier-section select{min-height:36px;padding:7px 9px;border-radius:7px}
.panel,.channel{border:1px solid var(--line);border-radius:11px;padding:14px}
.panel-title{font-weight:900;margin-bottom:12px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:11px}
.full{grid-column:1/-1}
input,select{width:100%;min-height:41px;border:1px solid var(--line);border-radius:8px;padding:9px 10px;font:inherit;background:#fff}
input:focus,select:focus{outline:3px solid #dbeafe;border-color:#60a5fa}
input[readonly]{background:#f8fafc;color:#334155}
.country{display:flex;align-items:center;gap:7px;border-color:var(--country-accent);font-weight:800;transition:border-color .2s ease}
.flag{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid rgba(16,24,40,.08);border-radius:50%;background:#fff;font-size:22px;line-height:1;box-shadow:0 1px 2px rgba(16,24,40,.08)}
.board{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.channel{display:flex;flex-direction:column;gap:11px;transition:border-color .15s,box-shadow .15s}
.channel.selected{outline:3px solid #dbeafe;border-color:#60a5fa}
.channel.best{box-shadow:inset 0 0 0 2px #10b981}
.channel-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.logo{font-size:20px;font-weight:900}
.logo.dhl{color:#d40511;background:#ffcc00;padding:5px 9px}
.logo.fedex{color:#4d148c}.logo.fedex i{color:#f60;font-style:normal}
.logo.ups{color:#5f3b14}
.logo.ml{background:#ffe600;color:#2d3277;border-radius:999px;padding:7px 10px}
.logo.shopee{color:#ee4d2d}
.logo.tiktok{color:#111}
.choose{display:flex;gap:6px;align-items:center;font-size:11px;font-weight:800}
.choose input{width:auto;min-height:auto}
.meta{display:grid;gap:7px;padding-top:9px;border-top:1px solid rgba(100,116,139,.22)}
.meta strong,.result strong{font-variant-numeric:tabular-nums}
.result{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px;background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:13px}

.freight-card.dhl{background:#fff8d6;border-color:#efd45d;border-top:4px solid #ffcc00}
.freight-card.fedex{background:linear-gradient(135deg,#f6f0ff 0%,#fff3e8 100%);border-color:#d9c5ef;border-top:4px solid #4d148c}
.freight-card.ups{background:#f7efe7;border-color:#d4bda7;border-top:4px solid #5f3b14}
.market-card.ml{background:#fffbdc;border-color:#ead85d;border-top:4px solid #ffe600}
.market-card.shopee{background:#fff1eb;border-color:#f4b29c;border-top:4px solid #ee4d2d}
.market-card.tiktok{background:#f3f4f6;border-color:#9ca3af;border-top:4px solid #111827}

.summary{position:sticky;top:16px}
.decision{text-align:center;padding:16px;border-radius:12px;margin-bottom:12px}
.decision.good{background:#ecfdf5;color:var(--green)}
.decision.warn{background:#fffbeb;color:var(--amber)}
.decision.bad{background:#fef2f2;color:var(--red)}
.decision b{display:block;font-size:25px;margin:4px}
.metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.metric{border:1px solid var(--line);border-radius:9px;padding:11px}
.metric strong{font-size:15px;font-variant-numeric:tabular-nums}
.metric.full{grid-column:1/-1}
.money{background:#111827;color:#fff;border-radius:11px;padding:14px;margin-top:13px}
.bar{display:flex;height:26px;border-radius:6px;overflow:hidden;background:#334155;margin:10px 0}
.bar i{display:block}.p{background:var(--chart-mercadoria)}.f{background:var(--chart-frete)}.t{background:var(--chart-imposto)}.c{background:var(--chart-operacional)}.l{background:var(--chart-lucro)}.loss{background:var(--chart-prejuizo)}
.money-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:8px;align-items:center;font-size:11px;margin-top:6px}
.money-row:before{content:"";flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--row-color,currentColor);align-self:center}
.money-row.seg-mercadoria{--row-color:var(--chart-mercadoria)}
.money-row.seg-frete{--row-color:var(--chart-frete)}
.money-row.seg-imposto{--row-color:var(--chart-imposto)}
.money-row.seg-operacional{--row-color:var(--chart-operacional)}
.money-row.seg-lucro{--row-color:var(--chart-lucro)}
.money-row.seg-prejuizo{--row-color:var(--chart-prejuizo)}
.diag{margin-top:13px}
.diag p{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:7px 0;margin:0}
.pill{font-size:11px;font-weight:900;border-radius:99px;padding:3px 7px;background:var(--soft)}
.report{display:none}
.app-footer{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:8px;padding:17px 12px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
.app-footer strong{color:var(--text)}

.quotes-app{max-width:1400px}
.quotes-page-card{min-height:420px}
.quotes-toolbar{display:grid;grid-template-columns:1fr 190px 190px auto;gap:11px;margin-bottom:14px}
.quotes-list{display:flex;flex-direction:column;gap:10px}
.saved{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px 22px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:13px;background:#fff}
.saved small{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}
.saved b{overflow-wrap:anywhere}
.saved-product-row{display:flex;align-items:center;gap:9px;min-width:0;flex-wrap:wrap}
.saved-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px 14px;margin-top:7px;color:var(--muted);font-size:12px}
.saved-metrics{display:flex;gap:24px}
.saved-metrics small{margin-bottom:2px}
.saved-metrics b{white-space:nowrap;font-variant-numeric:tabular-nums}
.quote-country{display:inline-flex;align-items:center;gap:4px;width:max-content;max-width:100%;padding:3px 7px;border:1px solid var(--country-accent,var(--line));border-radius:999px;background:#fff;color:#344054;font-size:10px;font-weight:800;line-height:1.2;white-space:nowrap}
.quote-country>span{font-size:14px;line-height:1}
.saved-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.saved-actions button{min-width:0}
.saved-pending{grid-column:1/-1;padding-top:9px;border-top:1px solid var(--line)}
.status-pill{display:inline-flex;padding:5px 8px;border-radius:99px;background:#eff6ff;color:#1d4ed8;font-size:11px}
.quotes-empty{padding:45px 20px;border:1px dashed #cbd5e1;border-radius:10px;color:var(--muted);text-align:center}

@media(max-width:1150px){
  .saved{grid-template-columns:minmax(0,1fr) auto}
  .saved-actions{justify-content:flex-start}
}

@media(max-width:1050px){
  .layout{grid-template-columns:1fr}
  .summary{position:static}
  .split,.board{grid-template-columns:1fr}
  .supplier-fields,.supplier-fields.trade-hidden{grid-template-columns:repeat(3,minmax(0,1fr))}
  .company{grid-template-columns:1fr 1fr}
}

@media(max-width:650px){
  .app{padding:12px}
  .top{align-items:flex-start;flex-direction:column}
  .workspace{flex-direction:column;align-items:stretch}
  .company,.quotes-toolbar,.saved{grid-template-columns:1fr}
  .workspace .status-chip,.workspace .pending-chip,.workspace .ws-input,.workspace .decision-bar,.workspace .decision-risk{justify-content:center}
  .actions button{flex:1}
  .metrics{grid-template-columns:1fr}
  .supplier-fields,.supplier-fields.trade-hidden{grid-template-columns:repeat(2,minmax(0,1fr))}
  .metric.full{grid-column:auto}
  .saved-actions{justify-content:flex-start}
}
/* Authentication gate shared by the static pages. */
.auth-gate{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;color:#fff;background:
  radial-gradient(circle at 88% -10%,rgba(37,99,235,.55),transparent 44%),
  radial-gradient(circle at 4% 118%,rgba(23,92,211,.42),transparent 46%),
  linear-gradient(160deg,#101828 8%,#13203f 62%,#101828 100%);
  overflow:auto}.auth-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(350px,.85fr);width:min(100%,1080px);border:1px solid rgba(255,255,255,.14);border-radius:24px;background:rgba(13,20,38,.66);box-shadow:0 34px 96px rgba(0,0,0,.5);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);overflow:hidden}.auth-brand{display:flex;flex-direction:column;justify-content:center;gap:20px;padding:56px 50px;background:linear-gradient(150deg,rgba(29,78,216,.18),transparent 55%)}.auth-logo{width:58px;height:58px;border-radius:14px;box-shadow:0 10px 26px rgba(0,0,0,.35)}.auth-brand-name{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#cbd5e1}.auth-brand-name span{color:var(--primary)}.auth-brand h1{margin:0;font-size:38px;line-height:1.05;letter-spacing:-.04em;font-weight:800;color:#fff}.auth-tagline{margin:0;color:#cbd5e1;font-size:15px;line-height:1.6}.auth-points{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:12px}.auth-points li{display:flex;align-items:center;gap:10px;color:#e2e8f0;font-size:13.5px;font-weight:600}.auth-dot{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px rgba(29,78,216,.22)}.auth-panel{display:flex;flex-direction:column;justify-content:center;padding:56px 46px;background:#fff;color:var(--ink)}.auth-panel h2{margin:0 0 6px;font-size:26px;letter-spacing:-.03em;font-weight:800;color:#101828}.auth-panel>p{margin:0 0 26px;color:var(--muted);font-size:13.5px;line-height:1.55}.auth-panel form{display:grid;gap:16px}.auth-panel label{display:grid;gap:7px;font-size:12.5px;font-weight:700;color:var(--ink-soft)}.auth-panel input{width:100%;min-height:50px;padding:11px 13px;border:1px solid var(--line-strong);border-radius:12px;background:#fff;color:#182230;font-size:15px;font-family:inherit;box-shadow:0 1px 2px rgba(16,24,40,.03);transition:border-color .15s ease,box-shadow .15s ease}.auth-panel input:hover{border-color:#c2cad6}.auth-panel input:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 4px var(--focus)}.auth-panel button{min-height:50px;margin-top:4px}.auth-message{min-height:1.4em;margin:14px 0 0;font-size:12.5px;line-height:1.4;color:var(--muted)}.auth-message.error{color:var(--red)}@media(max-width:860px){.auth-shell{grid-template-columns:1fr;max-width:440px}.auth-brand{padding:34px 30px 28px;gap:14px}.auth-brand h1{font-size:30px}.auth-tagline{font-size:13.5px}.auth-points{display:none}.auth-panel{padding:32px 30px 38px}}@media(max-width:480px){.auth-gate{padding:14px}.auth-shell{border-radius:18px}.auth-brand{padding:26px 22px 22px}.auth-brand h1{font-size:26px}.auth-panel{padding:28px 22px 34px}}
