:root{
  --cni-blue:#004A98;
  --cni-blue-2:#0069c8;
  --cni-cyan:#00A3E0;
  --cni-yellow:#F6C500;
  --cni-green:#009846;
  --ink:#0f1f35;
  --text:#24364f;
  --muted:#65758c;
  --bg:#f3f7fb;
  --surface:#ffffff;
  --soft:#eaf3fc;
  --line:#dbe7f3;
  --radius:22px;
  --shadow:0 18px 45px rgba(0,74,152,.08);
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);font-size:14px;font-weight:400}
.app-shell{display:flex;min-height:100vh}.side-nav{width:234px;background:#fff;border-right:1px solid var(--line);padding:22px 18px;display:flex;flex-direction:column;gap:8px;position:sticky;top:0;height:100vh;box-shadow:10px 0 30px rgba(0,45,90,.06);z-index:10}.nav-logo{width:62px;height:auto;margin:0 0 18px}.nav-button{width:100%;min-height:46px;border-radius:14px;border:1px solid transparent;background:transparent;color:#3a4c66;font-size:13px;font-weight:600;cursor:pointer;transition:.18s;display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px}.nav-ico{width:26px;height:26px;border-radius:9px;background:#eff6ff;color:var(--cni-blue);display:inline-flex;align-items:center;justify-content:center;font-weight:800}.nav-button:hover,.nav-button.active{background:#eef6ff;color:var(--cni-blue);border-color:#cfe5fb}.nav-button.active .nav-ico{background:var(--cni-blue);color:#fff}main{flex:1;padding:24px 34px 58px;min-width:0}.hero-header{position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(135deg,#0a58d6 0%,#245bff 52%,#004a98 100%);box-shadow:0 24px 60px rgba(0,74,152,.22);color:#fff;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:28px}.hero-header:after{content:"";position:absolute;right:-90px;top:-120px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.12)}.hero-bgmark{position:absolute;right:56px;bottom:-28px;font-size:110px;line-height:1;font-weight:900;color:rgba(255,255,255,.08);letter-spacing:-.08em}.hero-brand{position:relative;z-index:1;display:flex;align-items:center;gap:26px;min-width:0}.brand-logo{width:240px;max-width:28vw;height:auto;background:#fff;border-radius:18px;padding:12px;box-shadow:0 10px 28px rgba(0,0,0,.10)}.hero-eyebrow{color:#dff1ff}.eyebrow{margin:0 0 7px;text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;font-weight:700;color:var(--cni-blue)}h1{margin:0;font-size:32px;line-height:1.05;color:#fff;letter-spacing:-.035em;font-weight:700}h2{margin:0;font-size:25px;line-height:1.12;letter-spacing:-.025em;font-weight:700;color:var(--ink)}h3{margin:0;font-size:17px;line-height:1.25;font-weight:700;color:var(--ink)}h4{margin:12px 0 8px;font-size:14px;color:var(--cni-blue)}.subtitle{margin:8px 0 0;color:#d7eaff;font-size:14px;line-height:1.45;font-weight:400}.hero-metrics{position:relative;z-index:1;display:flex;align-items:stretch;gap:12px}.hero-metrics>div{min-width:150px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.24);border-radius:18px;padding:12px 14px;backdrop-filter:blur(8px)}.hero-metrics span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#d3edff;font-weight:700}.hero-metrics strong{display:block;margin-top:5px;font-size:14px;color:#fff;white-space:nowrap}.ghost-button{height:44px;border:1px solid rgba(255,255,255,.38);background:#fff;color:var(--cni-blue);border-radius:999px;padding:0 18px;font-weight:700;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.08)}.view{display:none}.view.active{display:block}.page-kicker{display:flex;align-items:center;gap:14px;margin:0 0 18px}.page-kicker p{margin:0;color:var(--cni-blue);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.filters{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;align-items:end;margin-bottom:16px}.filters-wide{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.filters label{display:flex;flex-direction:column;gap:7px;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:var(--muted)}input,select{height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);font-size:13px;padding:0 12px;outline:none;min-width:0;font-weight:400}input:focus,select:focus{border-color:var(--cni-cyan);box-shadow:0 0 0 3px rgba(0,163,224,.14)}.scope-note{border:1px solid #cfe5fb;background:#f1f8ff;color:#385575;padding:13px 16px;border-radius:16px;margin:-4px 0 18px;line-height:1.45;font-size:13px}.method-note{margin:0 0 18px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.kpi-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px 18px 16px;min-height:124px;overflow:hidden}.kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--cni-blue),var(--cni-cyan))}.kpi .label{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:#52647d;font-weight:700}.kpi .value{display:block;margin-top:12px;font-size:clamp(23px,2.4vw,30px);font-weight:700;letter-spacing:-.04em;color:#10233d;line-height:1.05;word-break:break-word}.kpi .hint{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.35;font-weight:400}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:1fr 1fr}.grid.uneven{grid-template-columns:.9fr 1.4fr}.spaced{margin-top:20px}.panel-title{display:flex;justify-content:space-between;gap:14px;margin-bottom:16px;align-items:flex-start}.panel-title span{font-size:10.5px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.bar-list{display:flex;flex-direction:column;gap:11px}.bar-row{display:grid;grid-template-columns:minmax(145px,210px) 1fr minmax(84px,110px);gap:11px;align-items:center;font-size:12.5px}.bar-label{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#26384f}.bar-track{height:13px;background:#edf5fb;border:1px solid #dce9f4;border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,var(--cni-blue),var(--cni-cyan));border-radius:999px}.bar-fill.green{background:linear-gradient(90deg,#00a651,#68c680)}.bar-value{text-align:right;font-variant-numeric:tabular-nums;color:#506179;font-weight:600;white-space:nowrap}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px}.data-table th,.data-table td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.data-table th{font-size:10.2px;text-transform:uppercase;letter-spacing:.04em;color:#60728a;background:#f7fbff;position:sticky;top:0;z-index:1;font-weight:700}.data-table th.sortable{cursor:pointer}.data-table th.sortable:hover{color:var(--cni-blue)}.data-table td.num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.table-search{width:100%;margin:-4px 0 14px;height:40px}.ncm-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:18px}.query-panel{position:sticky;top:22px;height:calc(100vh - 68px);overflow:auto}.mini-filters{display:grid;grid-template-columns:1fr;gap:9px;margin-top:10px}.result-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}.result-item{border:1px solid var(--line);background:#fff;border-radius:16px;padding:13px;cursor:pointer;transition:.16s}.result-item:hover,.result-item.active{border-color:var(--cni-cyan);box-shadow:0 10px 22px rgba(0,128,208,.12)}.result-item strong{display:block;color:var(--cni-blue);font-size:13.5px;margin-bottom:7px}.result-item span{display:block;color:var(--muted);font-size:12px;line-height:1.42}.detail-panel{min-height:600px}.empty-state{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);font-size:15px;line-height:1.5}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.95fr);gap:18px;align-items:start}.detail-title-card{padding:22px;border:1px dashed #cbdced;border-radius:22px;background:#fbfdff}.detail-title-card h2{font-size:25px;color:#263d5e;font-weight:700}.detail-title-card .subtitle{color:#5d708d;line-height:1.5}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.chip{border-radius:999px;background:#eef6ff;color:var(--cni-blue);padding:7px 10px;font-size:11.5px;font-weight:700}.chip.warn{background:#fff4dc;color:#805600}.detail-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.mini-kpi{border:1px solid var(--line);border-radius:16px;background:#fff;padding:13px;min-height:92px;overflow:hidden}.mini-kpi span{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:700;letter-spacing:.03em}.mini-kpi strong{display:block;margin-top:8px;font-size:clamp(16px,1.6vw,20px);line-height:1.12;word-break:break-word;color:#17314f}.chart-card{border:1px solid var(--line);border-radius:20px;padding:18px;background:#fbfdff;min-width:0}.svg-chart{width:100%;height:300px;display:block}.immediate-box{display:flex;align-items:center;gap:18px;min-height:260px;justify-content:center;background:linear-gradient(135deg,#f7fbff,#ffffff);border:1px solid #d8e9f8;border-radius:18px;padding:28px}.immediate-pill{width:132px;height:132px;border-radius:50%;background:linear-gradient(135deg,#00a651,#4cc274);color:#fff;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:700;box-shadow:0 16px 34px rgba(0,166,81,.22)}.immediate-box h4{font-size:20px;color:#17314f;margin:0 0 8px}.immediate-box p{max-width:340px;margin:0;color:#5d708d;line-height:1.55}.flags-panel{margin-top:16px}.flag-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.flag{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:9px 11px;min-height:43px}.flag span:first-child{font-size:11.5px;font-weight:600;color:var(--muted)}.flag .flag-icon{font-weight:700;color:#b6c7d9}.flag.on{border-color:#b9e5ce;background:#f2fff7}.flag.on .flag-icon{color:#00a651}.quota-callout{margin-top:16px;padding:15px;border-radius:16px;border:1px solid #ffe0a6;background:#fff8e8;color:#6e4700;display:flex;flex-direction:column;gap:7px}.quota-callout strong{font-weight:700}.small-link{align-self:flex-start;border:0;background:#004a98;color:#fff;border-radius:999px;padding:8px 12px;font-size:12px;cursor:pointer}.quota-table-wrap{max-height:410px;overflow:auto}.quota-group{margin-bottom:12px;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.quota-group summary{list-style:none;cursor:pointer;padding:14px 16px;display:flex;flex-direction:column;gap:5px}.quota-group summary::-webkit-details-marker{display:none}.quota-group summary span{font-weight:700;color:var(--cni-blue)}.quota-group summary small{font-size:12px;color:var(--muted);font-weight:400}.quota-group[open] summary{border-bottom:1px solid var(--line);background:#f7fbff}.quota-group h4{padding:0 16px;margin:14px 0 8px}.quota-group .quota-table-wrap{margin:0 12px 14px}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.text-panel p{color:var(--muted);line-height:1.65;font-weight:400}.muted{color:var(--muted)}[data-tip]{position:relative;cursor:help}[data-tip]:hover:after{content:attr(data-tip);position:absolute;left:0;bottom:calc(100% + 10px);z-index:99;width:280px;padding:12px;border-radius:12px;background:#061b33;color:#fff;font-size:12px;line-height:1.45;box-shadow:0 12px 28px rgba(0,0,0,.22);text-transform:none;letter-spacing:0;font-weight:500}.empty-msg{padding:22px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);text-align:center}.small-note{font-size:12px;color:var(--muted);line-height:1.45;margin-top:10px}
@media(max-width:1360px){.hero-header{display:block}.hero-metrics{margin-top:18px;flex-wrap:wrap}.brand-logo{max-width:240px}.filters{grid-template-columns:repeat(2,1fr)}.grid.two,.grid.uneven,.ncm-layout,.detail-grid{grid-template-columns:1fr}.query-panel{position:relative;height:auto}.method-grid{grid-template-columns:repeat(2,1fr)}.kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:840px){.side-nav{display:none}main{padding:16px}.hero-brand{display:block}.brand-logo{width:210px;max-width:100%;margin-bottom:14px}.hero-metrics{display:grid}.filters,.kpi-grid,.kpi-grid.three,.detail-kpis,.flag-grid,.method-grid{grid-template-columns:1fr}.bar-row{grid-template-columns:1fr}.bar-value{text-align:left}.data-table{font-size:12px}.panel{padding:18px}h1{font-size:27px}h2{font-size:22px}.immediate-box{display:block;text-align:center}.immediate-pill{margin:0 auto 18px}}
/* v4 refinements */
.side-nav{padding-top:18px}
.nav-logo{display:none!important}
.nav-ornament{width:44px;height:44px;border-radius:18px;margin:0 auto 16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;gap:4px}
.nav-ornament span{width:6px;height:6px;border-radius:50%;background:#00a3e0;box-shadow:10px 0 0 #7fc8a9,20px 0 0 #f5c542;transform:translateX(-10px)}
.hero-header{background:radial-gradient(circle at 92% 0%,rgba(255,255,255,.18),transparent 28%),linear-gradient(135deg,#004a98 0%,#005bbb 44%,#0077d9 100%);border:0;color:#fff;padding:26px 30px;box-shadow:0 18px 46px rgba(0,74,152,.22)}
.hero-header h1,.hero-header .subtitle,.hero-header .hero-eyebrow{color:#fff}.hero-header .subtitle{opacity:.92}.hero-bgmark{color:rgba(255,255,255,.06);right:36px;top:8px}
.brand-logo-white{width:210px;max-width:24vw;object-fit:contain;margin-right:8px;filter:none;border-radius:0;background:transparent;box-shadow:none}.hero-brand{gap:20px}.hero-eyebrow{color:#e2f4ff!important}.ghost-button{background:#fff;color:#004a98}.page-kicker{padding-left:2px}.page-kicker:before{content:"";width:28px;height:28px;border-radius:11px;background:linear-gradient(135deg,#004a98,#00a3e0);box-shadow:0 8px 18px rgba(0,74,152,.15);flex:0 0 auto}.page-kicker p{font-size:10px}.page-kicker h2{font-weight:650;letter-spacing:-.02em}.grid.one{grid-template-columns:1fr;margin-bottom:18px}.overview-top-grid{align-items:start}.cron-scroll{max-height:390px;overflow:auto;padding-right:4px}.compact-bars{display:grid;grid-template-columns:1fr 1fr;column-gap:28px}.compact-bars .bar-row{grid-template-columns:minmax(170px,260px) 1fr minmax(78px,100px)}
select option{font-weight:400}.bar-label{font-weight:450}.data-table td,.text-panel p,.scope-note,.small-note{font-weight:400}.data-table th{font-weight:650}.panel-title h3{font-weight:650}.kpi .value{font-size:clamp(22px,2.1vw,28px);font-weight:750}.kpi .label,.mini-kpi span{font-weight:650}.mini-kpi strong{font-weight:650}.result-item strong{font-weight:650}.flag span:first-child{font-weight:500}.flag-icon{font-weight:650}.country-flag{font-size:15px;margin-right:6px}.immediate-box.compact-immediate{min-height:230px;justify-content:flex-start}.immediate-box.compact-immediate .immediate-pill{width:116px;height:116px;font-size:30px;flex:0 0 auto}.mini-timeline{margin-top:16px;display:grid;grid-template-columns:58px 1fr 54px;align-items:center;gap:10px;font-size:12px;color:#516783}.mini-timeline div{height:10px;background:#e7f1f9;border-radius:999px;overflow:hidden}.mini-timeline i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#00a651,#68c680)}.quota-group summary{background:#fbfdff}.quota-group:not([open]) summary:hover{background:#f2f8ff}.scope-note{font-size:12.5px}.filters label{font-weight:650}.bar-row{font-size:12px}.data-table{font-size:12px}.detail-title-card h2{font-size:23px}.hero-metrics strong{font-weight:650}.hero-metrics span{font-weight:650}.nav-button span:last-child{font-weight:600}.nav-ico{font-size:16px}
@media(max-width:1360px){.brand-logo-white{max-width:260px;width:240px}.compact-bars{grid-template-columns:1fr}.hero-brand{align-items:flex-start}.hero-metrics{margin-top:18px}}
@media(max-width:840px){.brand-logo-white{width:210px}.compact-bars{grid-template-columns:1fr}.page-kicker:before{display:none}}

/* v5 overview balance */
.balanced-overview-grid{align-items:stretch}
.cron-panel,.stack-panels .panel{height:100%}
.stack-panels{display:grid;grid-template-rows:1fr 1fr;gap:18px;min-height:100%}
.compact-overview-bars{gap:10px}
.compact-overview-bars .bar-row{grid-template-columns:minmax(160px,220px) 1fr minmax(96px,116px);gap:10px}
.segment-panel .bar-list,.division-panel .bar-list{justify-content:center;height:calc(100% - 4px)}
.segment-panel .panel-title,.division-panel .panel-title{margin-bottom:14px}
.segment-panel .bar-row,.division-panel .bar-row{font-size:12px}
@media(min-width:1361px){.cron-panel{min-height:620px}.stack-panels{min-height:620px}.segment-panel,.division-panel{display:flex;flex-direction:column}.segment-panel .bar-list,.division-panel .bar-list{flex:1}.division-panel .bar-list .bar-row:last-child,.segment-panel .bar-list .bar-row:last-child{margin-bottom:0}}
@media(max-width:1360px){.stack-panels{grid-template-rows:auto}}
/* v6 executive symmetry and partner-flow toggle */
.balanced-overview-grid{grid-template-columns:minmax(560px,1.05fr) minmax(520px,.95fr);align-items:stretch}
.balanced-overview-grid>.panel,.balanced-overview-grid>.stack-panels{min-height:650px}
.stack-panels{display:grid;grid-template-rows:1fr 1fr;gap:18px}
.segment-panel,.division-panel{display:flex;flex-direction:column;min-height:316px}
.segment-panel .panel-title,.division-panel .panel-title{min-height:48px;margin-bottom:12px}
.harmonic-bars{flex:1;justify-content:space-evenly;gap:12px}
.harmonic-bars .bar-row{grid-template-columns:minmax(150px,220px) minmax(190px,1fr) minmax(86px,112px);min-height:32px}
.cron-panel{display:flex;flex-direction:column}
.cron-panel .cron-scroll{flex:1;max-height:560px;padding-right:7px}
.country-partners-panel .panel-title{align-items:center}
.segmented-control{display:inline-flex;align-items:center;gap:4px;background:#eef6ff;border:1px solid #cfe5fb;border-radius:999px;padding:4px;white-space:nowrap}
.segmented-control button{height:28px;border:0;border-radius:999px;background:transparent;color:#426080;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:0 10px;cursor:pointer}
.segmented-control button.active{background:var(--cni-blue);color:#fff;box-shadow:0 6px 14px rgba(0,74,152,.18)}
@media(max-width:1360px){.balanced-overview-grid{grid-template-columns:1fr}.balanced-overview-grid>.panel,.balanced-overview-grid>.stack-panels{min-height:auto}.segment-panel,.division-panel{min-height:auto}.harmonic-bars{justify-content:flex-start}.country-partners-panel .panel-title{align-items:flex-start}.segmented-control{margin-top:4px;flex-wrap:wrap;border-radius:14px}}

/* v7 refinements */
.balanced-overview-grid{grid-template-columns:minmax(560px,1fr) minmax(560px,1fr);gap:18px;align-items:stretch}
.balanced-overview-grid>.cron-panel,.balanced-overview-grid>.stack-panels{min-height:610px}
.cron-panel .cron-scroll{max-height:520px;overflow:auto;padding-right:8px}
.stack-panels{grid-template-rows:1fr 1fr;gap:18px}
.segment-panel,.division-panel{min-height:296px;padding-bottom:20px}
.segment-panel .panel-title,.division-panel .panel-title{min-height:42px;margin-bottom:6px}
.compact-overview-bars{flex:1;justify-content:center;gap:9px}
.compact-overview-bars .bar-row{grid-template-columns:minmax(150px,220px) minmax(190px,1fr) minmax(90px,112px);min-height:28px}
.country-bar-full{max-height:720px;overflow:auto;padding-right:6px}
.clickable-row{cursor:pointer;transition:background .15s ease}
.clickable-row:hover td{background:#f1f8ff}
.ncm2013-box{margin-top:14px;border:1px solid #dbe7f3;background:#f8fbff;border-radius:16px;padding:12px 13px}
.ncm2013-box>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#60728a;font-weight:700;margin-bottom:8px}
.ncm2013-tags{margin-top:0;gap:6px;max-height:94px;overflow:auto;padding-right:4px}
.ncm2013-chip{background:#fff;color:#004a98;border:1px solid #cfe5fb;font-weight:650}
.detail-kpis.trade-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
#topTradeTable .data-table th,#topTradeTable .data-table td{white-space:normal}
#topTradeTable .data-table td.num{white-space:nowrap}
@media(max-width:1360px){.balanced-overview-grid{grid-template-columns:1fr}.balanced-overview-grid>.cron-panel,.balanced-overview-grid>.stack-panels{min-height:auto}.segment-panel,.division-panel{min-height:auto}.compact-overview-bars{justify-content:flex-start}.detail-kpis.trade-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:840px){.detail-kpis.trade-kpis{grid-template-columns:1fr}}
/* v8 state analysis and layout polish */
.table-fill-panel{display:flex;flex-direction:column;min-height:560px}.table-fill-panel .quota-table-wrap{max-height:none;flex:1;min-height:460px}.overview-table-panel{min-height:620px}.overview-table-panel .quota-table-wrap{min-height:520px}.grid.two{align-items:start}.balanced-overview-grid{grid-template-columns:1fr 1fr;align-items:stretch}.balanced-overview-grid .cron-panel{min-height:640px}.balanced-overview-grid .stack-panels{height:640px}.stack-panels{display:grid;grid-template-rows:1fr 1fr;gap:18px}.segment-panel,.division-panel{min-height:0;display:flex;flex-direction:column}.segment-panel .panel-title,.division-panel .panel-title{margin-bottom:8px}.segment-panel .bar-list,.division-panel .bar-list{flex:1;overflow:auto;padding-right:4px}.compact-overview-bars{gap:9px}.compact-overview-bars .bar-row{grid-template-columns:minmax(175px,230px) 1fr minmax(88px,104px);min-height:28px}.cron-scroll{max-height:548px;overflow:auto;padding-right:6px}.state-scroll{max-height:440px;overflow:auto;padding-right:6px}.states-grid{align-items:stretch}.state-chart-panel{min-height:520px;display:flex;flex-direction:column}.state-chart-panel .bar-list{flex:1}.clickable-row{cursor:pointer}.clickable-row:hover td{background:#f1f8ff}.filters-wide{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.method-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
@media(max-width:1360px){.balanced-overview-grid{grid-template-columns:1fr}.balanced-overview-grid .stack-panels,.balanced-overview-grid .cron-panel{height:auto;min-height:0}.table-fill-panel,.overview-table-panel{min-height:0}.table-fill-panel .quota-table-wrap,.overview-table-panel .quota-table-wrap{min-height:0;max-height:520px}.state-chart-panel{min-height:0}.state-scroll{max-height:420px}}

/* v9 structural consolidation and layout polish */
.balanced-overview-grid{grid-template-columns:1fr 1fr;align-items:start}
.cron-panel{min-height:600px;max-height:600px;display:flex;flex-direction:column}
.cron-panel .cron-scroll{flex:1;max-height:none;overflow:auto;padding-right:6px}
.stack-panels{display:grid;grid-template-rows:minmax(210px,.82fr) minmax(340px,1.18fr);gap:18px;min-height:600px;max-height:600px}
.stack-panels .panel{display:flex;flex-direction:column;min-height:0}
.stack-panels .panel-title{margin-bottom:10px}
.segment-panel .bar-list,.division-panel .bar-list{height:auto!important;justify-content:flex-start!important;flex:1;min-height:0}
.segment-panel .compact-overview-bars{overflow:hidden;gap:12px;padding-top:2px}
.division-panel .compact-overview-bars{overflow:auto;gap:11px;padding-right:6px}
.compact-overview-bars .bar-row{grid-template-columns:minmax(190px,250px) 1fr minmax(86px,106px);min-height:24px}
.overview-bottom-grid{grid-template-columns:1fr 1fr;align-items:stretch;margin-top:18px}
.overview-table-panel,.overview-state-panel{min-height:500px;max-height:500px;display:flex;flex-direction:column}
.overview-table-panel #topTradeTable,.overview-state-panel #summaryStateBar{flex:1;min-height:0;overflow:auto}
.overview-table-panel .quota-table-wrap{max-height:none;height:100%;overflow:auto}
.state-scroll-soft{max-height:390px;overflow:auto;padding-right:6px}
.bilateral-main-grid{grid-template-columns:1fr 1fr;align-items:stretch}.bilateral-main-grid>.panel{min-height:640px;max-height:640px;display:flex;flex-direction:column}.bilateral-table-panel #bilateralTable,.country-partners-panel #countryBar{flex:1;min-height:0;overflow:auto}.bilateral-table-panel .quota-table-wrap{max-height:none;height:100%;overflow:auto}.country-bar-full{max-height:none!important;padding-right:6px}.states-inline-cards{margin-top:18px}.states-grid{align-items:stretch}.states-grid>.panel{min-height:450px;max-height:450px;display:flex;flex-direction:column}.states-grid .bar-list,.states-grid #stateNcmTable{flex:1;min-height:0;overflow:auto}.states-grid .quota-table-wrap{height:100%;max-height:none;overflow:auto}.quota-top-grid{grid-template-columns:.9fr 1.35fr;align-items:stretch}.quota-left-stack{display:grid;grid-template-rows:auto 1fr;gap:18px}.quota-guidance{min-height:260px;display:flex;flex-direction:column;justify-content:center}.quota-guidance p{color:var(--muted);line-height:1.65;margin:0 0 10px}.chart-scroll-wrap{width:100%;overflow-x:auto;overflow-y:hidden;padding-bottom:8px}.chart-scroll-wrap .wide-chart{min-width:900px;height:330px}.chart-card{overflow:hidden}.svg-chart text{paint-order:stroke;stroke:#fff;stroke-width:2.4px;stroke-linejoin:round}.data-table tbody tr.clickable-row{cursor:pointer}.data-table tbody tr.clickable-row:hover{background:#f3f9ff}.state-chart-panel .bar-row{grid-template-columns:minmax(190px,260px) 1fr minmax(86px,110px)}
@media(max-width:1360px){.balanced-overview-grid,.overview-bottom-grid,.bilateral-main-grid,.states-grid,.quota-top-grid{grid-template-columns:1fr}.cron-panel,.stack-panels,.overview-table-panel,.overview-state-panel,.bilateral-main-grid>.panel,.states-grid>.panel{min-height:auto;max-height:none}.stack-panels{max-height:none;grid-template-rows:auto}.overview-table-panel #topTradeTable,.overview-state-panel #summaryStateBar,.bilateral-table-panel #bilateralTable,.country-partners-panel #countryBar{max-height:520px}.quota-left-stack{grid-template-rows:auto}}


/* v10 refinamento de simetria e leitura */
.balanced-overview-grid{grid-template-columns:minmax(620px,1fr) minmax(620px,1fr)!important;align-items:stretch!important}
.balanced-overview-grid .cron-panel{min-height:640px!important;max-height:640px!important}
.balanced-overview-grid .stack-panels{min-height:640px!important;max-height:640px!important;grid-template-rows:238px 384px!important;gap:18px!important}
.segment-panel,.division-panel{min-height:0!important;overflow:hidden}
.segment-panel .panel-title,.division-panel .panel-title{margin-bottom:8px!important;min-height:auto!important}
.segment-panel .compact-overview-bars{justify-content:flex-start!important;gap:13px!important;overflow:hidden!important;padding-top:4px!important}
.division-panel .compact-overview-bars{justify-content:flex-start!important;gap:10px!important;overflow:auto!important;padding-right:7px!important}
.segment-panel .bar-row,.division-panel .bar-row{grid-template-columns:minmax(185px,255px) minmax(220px,1fr) minmax(92px,112px)!important;min-height:27px!important}
.overview-bottom-grid{grid-template-columns:minmax(620px,1fr) minmax(620px,1fr)!important;align-items:stretch!important;margin-top:18px!important}
.overview-table-panel,.overview-state-panel{min-height:520px!important;max-height:520px!important;display:flex!important;flex-direction:column!important}
.overview-table-panel .quota-table-wrap,.overview-state-panel .bar-list{flex:1!important;min-height:0!important;max-height:none!important;overflow:auto!important}
.overview-table-panel .table-search{margin-bottom:12px!important}
.bilateral-main-grid{grid-template-columns:minmax(620px,1fr) minmax(620px,1fr)!important;align-items:stretch!important}
.bilateral-main-grid>.panel{min-height:700px!important;max-height:700px!important;display:flex!important;flex-direction:column!important}
.bilateral-table-panel #bilateralTable,.country-partners-panel #countryBar{flex:1!important;min-height:0!important;overflow:auto!important}
.bilateral-table-panel .quota-table-wrap{height:100%!important;max-height:none!important;overflow:auto!important}
.state-uf-panel{min-height:360px!important;max-height:360px!important;display:flex!important;flex-direction:column!important}
.state-uf-panel .state-uf-bars{flex:1!important;min-height:0!important;overflow:auto!important}
.state-uf-bars .bar-row{grid-template-columns:minmax(210px,300px) 1fr minmax(90px,115px)!important}
.states-detail-grid{grid-template-columns:minmax(560px,1fr) minmax(620px,1fr)!important;align-items:stretch!important}
.states-detail-grid>.panel{min-height:560px!important;max-height:560px!important;display:flex!important;flex-direction:column!important}
.states-detail-grid .bar-list,.state-ncm-panel #stateNcmTable{flex:1!important;min-height:0!important;overflow:auto!important}
.state-ncm-panel .quota-table-wrap{height:100%!important;max-height:none!important;overflow:auto!important}
.quota-top-grid{align-items:stretch!important}
.quota-left-stack{grid-template-rows:minmax(250px,auto) 1fr!important}
.quota-guidance{min-height:250px!important}
.chart-scroll-wrap{border:1px solid #e4eff8;border-radius:16px;background:#ffffff;padding:10px 8px 4px;margin-top:4px}
.chart-scroll-wrap .wide-chart{min-width:1040px!important;height:350px!important}
.chart-card .small-note{margin-top:12px!important}
@media(max-width:1360px){.balanced-overview-grid,.overview-bottom-grid,.bilateral-main-grid,.states-detail-grid{grid-template-columns:1fr!important}.balanced-overview-grid .cron-panel,.balanced-overview-grid .stack-panels,.overview-table-panel,.overview-state-panel,.bilateral-main-grid>.panel,.state-uf-panel,.states-detail-grid>.panel{min-height:auto!important;max-height:none!important}.balanced-overview-grid .stack-panels{grid-template-rows:auto!important}.overview-table-panel .quota-table-wrap,.bilateral-table-panel .quota-table-wrap,.state-ncm-panel .quota-table-wrap{max-height:520px!important}}

/* v11 refinements */
.clear-filters-btn{display:none;height:42px;align-self:end;border:1px solid #b9d8f4;background:#fff;color:var(--cni-blue);border-radius:12px;padding:0 16px;font-size:12px;font-weight:700;letter-spacing:.02em;cursor:pointer;box-shadow:0 6px 14px rgba(0,74,152,.08);transition:.16s;white-space:nowrap}
.clear-filters-btn.visible{display:inline-flex;align-items:center;justify-content:center}
.clear-filters-btn:hover{background:#eef7ff;border-color:#79bde9;transform:translateY(-1px)}
.clear-filters-mini{width:100%;margin-top:2px}
.bilateral-table-panel .data-table th:nth-child(3),.bilateral-table-panel .data-table td:nth-child(3){min-width:150px}
.states-detail-grid{grid-template-columns:minmax(560px,1fr) minmax(560px,1fr)!important;align-items:stretch!important}
.states-detail-grid>.panel{min-height:520px!important;max-height:520px!important;display:flex!important;flex-direction:column!important}
.states-detail-grid .bar-list{flex:1!important;overflow:auto!important;min-height:0!important}
.state-chart-panel .panel-title{margin-bottom:12px!important}
.quota-rules-first{margin-top:0;max-height:520px;display:flex;flex-direction:column}
.quota-rules-first #quotaRuleTables{flex:1;min-height:0;overflow:auto;padding-right:4px}
.quota-info-grid{grid-template-columns:1fr 1fr!important;align-items:stretch!important}
.quota-info-grid>.panel{min-height:315px;max-height:315px;display:flex;flex-direction:column}
.quota-info-grid .quota-table-wrap{flex:1;min-height:0;overflow:auto;max-height:none}
.quota-guidance{justify-content:flex-start!important;min-height:315px!important;max-height:315px!important}
.quota-guidance p{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 10px}
.quota-ncm-panel-wide{min-height:520px;display:flex;flex-direction:column}
.quota-ncm-panel-wide #quotaNcmTable{flex:1;min-height:0;overflow:auto}
.quota-ncm-panel-wide .quota-table-wrap{height:100%;max-height:none;overflow:auto}
.exclusion-callout{border-color:#ffd6a6;background:#fff9ed;color:#704100}
.chart-card .svg-chart text{font-weight:600}
.chart-scroll-wrap .wide-chart{min-width:1100px!important;height:360px!important}
@media(max-width:1360px){.quota-info-grid,.states-detail-grid{grid-template-columns:1fr!important}.quota-info-grid>.panel,.quota-guidance,.quota-rules-first,.quota-ncm-panel-wide,.states-detail-grid>.panel{min-height:auto!important;max-height:none!important}.quota-rules-first #quotaRuleTables{max-height:520px}.clear-filters-btn{width:100%}}


/* v12 fixes: cotas layout, tooltips, CTA */
#quotaSummaryTable{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}
#quotaSummaryTable>.quota-table-wrap{flex:1;min-height:0;max-height:100%!important;overflow:auto!important}
.quota-info-grid>.panel{overflow:hidden}
.quota-ncm-panel-wide{min-height:390px!important;max-height:430px!important}
.quota-ncm-panel-wide #quotaNcmTable{flex:1;min-height:0;max-height:330px!important;overflow:auto!important}
.quota-ncm-panel-wide .quota-table-wrap{max-height:330px!important;overflow:auto!important}
.quota-ncm-panel-wide .data-table th,.quota-ncm-panel-wide .data-table td{padding-top:8px!important;padding-bottom:8px!important;font-size:11.5px!important}
.quota-rules-first{max-height:500px!important}
.quota-callout .quota-cta{margin-top:8px;align-self:flex-start}
.flag-panel-note{margin:-5px 0 12px;color:var(--muted);font-size:12px;line-height:1.45}
.flag-grid .flag{position:relative}
.flag-grid .flag[data-tip]:hover:after{left:auto!important;right:0!important;bottom:calc(100% + 8px)!important;width:300px!important;z-index:150!important}
.flag-grid .flag:nth-child(odd)[data-tip]:hover:after{left:0!important;right:auto!important}
.flags-panel[data-tip]:hover:after{display:none!important}
.empty-msg strong{line-height:1.35}
@media(max-width:1360px){.quota-ncm-panel-wide{max-height:none!important}.quota-ncm-panel-wide #quotaNcmTable,.quota-ncm-panel-wide .quota-table-wrap{max-height:430px!important}}

/* v13: tariff-base projected curve */
.curve-tabs{display:inline-flex;gap:6px;padding:5px;background:#eef6ff;border:1px solid #d9eafa;border-radius:999px;margin:-2px 0 14px}
.curve-tab{border:0;background:transparent;color:#506179;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:700;cursor:pointer;transition:.18s;white-space:nowrap}
.curve-tab:hover{color:var(--cni-blue);background:#fff}
.curve-tab.active{background:#fff;color:var(--cni-blue);box-shadow:0 4px 12px rgba(0,74,152,.10)}
.curve-panel{display:none}
.curve-panel.active{display:block}
.tariff-base-chart text{font-family:Arial,Helvetica,sans-serif}
.chart-card .curve-panel .small-note strong{font-weight:700;color:#17314f}

/* v15 refinements: smooth tariff-base curve */
.smooth-tariff-chart .chart-value-label rect{fill:#fff;stroke:#dbe7f3;filter:drop-shadow(0 3px 8px rgba(0,74,152,.10))}
.smooth-tariff-chart .chart-value-label text{font-size:11.5px;font-weight:700;fill:#12385f}
.curve-panel .small-note strong{font-weight:700}

/* v16: cronogramas 18*, 25* e 30* sem curva acumulada */
.special-only-card .special-rule-message{margin:8px 0 16px;text-align:left;line-height:1.55;background:#f7fbff}
.special-only-card .quota-callout{margin-top:0}

/* v17 additions */
.nav-group-title{margin:14px 8px 4px;font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:#7890aa;font-weight:700}
.bar-pct{display:block;font-size:10.5px;color:#7890aa;font-weight:600;margin-top:2px;white-space:nowrap}.bar-value{line-height:1.1}.ncm-trade-insights{margin:16px 0}.inner-panel{box-shadow:none;background:#fbfdff}.mini-line-chart{height:230px}.four-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.curator-card{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.curator-card p{margin:0;color:var(--muted);line-height:1.55}.curator-list{display:flex;gap:12px;flex-wrap:wrap}.curator-list span{background:#f1f8ff;border:1px solid #cfe5fb;border-radius:16px;padding:12px 14px;color:#17314f;font-weight:600}.curator-list a{color:var(--cni-blue);font-weight:600;text-decoration:none}.export-result-item strong{color:#0062bd}.chart-value-label rect{fill:#fff;stroke:#d7e5f1}.chart-value-label text{font-size:10px;font-weight:700;fill:#12385f}.smooth-tariff-chart .chart-value-label text{font-size:10.5px}.quota-rules-first .quota-group{margin-bottom:10px}
@media(max-width:1200px){.four-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.curator-card{grid-template-columns:1fr}.ncm-trade-insights{grid-template-columns:1fr}}


/* ======================== v18 visual refinements ======================== */
.trade-kpis.four-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;align-items:stretch}.trade-kpis.four-kpis .mini-kpi{min-height:96px}.ncm-trade-insights.grid.one{grid-template-columns:1fr!important}.partners-clean-bars{min-height:190px;justify-content:center}.partners-clean-bars .bar-row{grid-template-columns:minmax(180px,260px) 1fr minmax(95px,120px)}.export-four-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.quota-rules-first #exportQuotaRuleTables{flex:1;min-height:0;overflow:auto;padding-right:4px;max-height:460px}.quota-rules-first #exportQuotaRuleTables .quota-table-wrap{max-height:320px;overflow:auto}.quota-rules-first #exportQuotaRuleTables .quota-group summary small{font-size:12px;line-height:1.35}.quota-rules-first #exportQuotaRuleTables h4{font-size:13px;color:var(--cni-blue);margin:12px 14px 8px}.nav-button .nav-ico{font-family:Arial,Helvetica,sans-serif}.bar-value .bar-pct{font-size:10.5px;color:#6f86a1;font-weight:600}.state-uf-bars .bar-value{min-width:116px}.country-bar-full .bar-value,.state-scroll .bar-value{min-width:116px}.export-result-item span:first-of-type,.result-item span:first-of-type{line-height:1.4}
@media(max-width:1300px){.trade-kpis.four-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.partners-clean-bars .bar-row{grid-template-columns:1fr}}

/* v19 adjustments */
.export-four-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:stretch}
.export-four-kpis .mini-kpi{min-height:104px;display:flex;flex-direction:column;justify-content:center}
.export-four-kpis .mini-kpi strong{font-size:clamp(18px,1.4vw,24px);line-height:1.12;word-break:normal;overflow-wrap:anywhere}
.export-four-kpis .tariff-base-kpi strong{font-size:clamp(17px,1.15vw,22px);line-height:1.15}
.export-four-kpis .mini-kpi span{max-width:100%;white-space:normal;line-height:1.25}
#exportDetail .detail-title-card .eyebrow{line-height:1.35;word-break:break-word}
#exportDetail .ncm-trade-insights{display:none!important}
.quota-table-clean{max-height:360px!important;overflow:auto!important;margin:0 12px 16px!important}
.quota-info-table{width:100%!important;table-layout:fixed!important}
.quota-info-table th:first-child,.quota-info-table td:first-child{width:28%!important}
.quota-info-table th:nth-child(2),.quota-info-table td:nth-child(2){width:72%!important}
#exportQuotaSummaryTable .data-table th:nth-child(2),#exportQuotaSummaryTable .data-table td:nth-child(2){width:150px;white-space:nowrap}
#exportQuotaNcTable .data-table th,#exportQuotaNcTable .data-table td{vertical-align:top}
#exportQuotaNcTable .data-table td.num{white-space:nowrap}
@media(max-width:1360px){.export-four-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.export-four-kpis{grid-template-columns:1fr!important}}
/* v20 NC/SH6 refinement */
.product-desc{font-size:16px;color:#3f5572;margin-top:8px;line-height:1.5}.export-four-kpis .tariff-base-kpi strong{font-size:clamp(18px,1.4vw,24px);line-height:1.15;word-break:normal;overflow-wrap:anywhere}.detail-title-card .eyebrow + h2{letter-spacing:-.02em}

/* v21 refinements */
.export-title-card .eyebrow{color:var(--cni-blue);font-size:11px;letter-spacing:.08em}
.export-title-card h2{margin-top:3px}
.nc2026-description{margin:12px 0 4px;padding:12px 14px;border:1px solid #d8e9f8;background:#f7fbff;border-radius:14px}
.nc2026-description span{display:block;color:#60728a;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700;margin-bottom:4px}
.nc2026-description p{margin:0;color:#263d5e;font-size:14px;line-height:1.45;font-weight:500}
.quota-clean-block{padding:0 14px 14px}
.quota-clean-block h4{margin:14px 0 10px;padding:0;color:var(--cni-blue);font-size:14px}
.quota-info-list{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.quota-info-row{display:grid;grid-template-columns:minmax(160px,260px) 1fr;gap:18px;padding:12px 14px;border-bottom:1px solid var(--line);align-items:start}
.quota-info-row:last-child{border-bottom:0}
.quota-info-row span{color:#52647d;font-size:11.5px;font-weight:700;text-transform:none;letter-spacing:0}
.quota-info-row strong{color:#17314f;font-size:12.5px;line-height:1.45;font-weight:500;white-space:pre-wrap}
#exportQuotaRuleTables .quota-group summary small{font-size:12.5px}

/* v22 refinements */
.direct-quota-list .quota-info-row span{font-weight:600;color:#0b4b93;min-width:190px}
.direct-quota-list .quota-info-row strong{font-weight:500;color:#102a43}

/* v23 quota matrix and export curve refinements */
.quota-matrix-block{margin-top:14px;border-top:1px solid var(--line,#d6e4f2);padding-top:12px}
.quota-matrix-block h4{font-size:14px;font-weight:800;color:#004A98;margin:0 0 10px 0}
.quota-matrix-wrap{max-height:360px;overflow:auto;border:1px solid var(--line,#d6e4f2);border-radius:14px;background:#fff}
.quota-matrix-table{min-width:720px;margin:0}
.quota-matrix-table thead th{position:sticky;top:0;background:#f4f8fc;z-index:2;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#536b86;white-space:normal;line-height:1.25}
.quota-matrix-table td{vertical-align:top;line-height:1.45}
.quota-observation-cell{background:#fbfdff;color:#334155}


/* v24 quota and export curve refinements */
.v24-quota-block{padding:0!important;margin-top:0!important;border-top:0!important}
.v24-quota-block .quota-table-clean{margin:0 0 12px 0!important;max-height:330px!important;border-radius:12px!important}
.v24-quota-block .quota-matrix-table th,.v24-quota-block .quota-matrix-table td{padding:8px 10px!important;font-size:11.8px!important;line-height:1.28!important;vertical-align:top!important}
.v24-quota-block .quota-matrix-table thead th{font-size:10.5px!important;line-height:1.2!important}
#exportQuotaRuleTables .quota-group summary{min-height:52px!important}
#exportQuotaRuleTables .quota-group summary small{margin-top:4px!important}
.linear-text-msg{min-height:170px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;line-height:1.55}
.linear-text-msg strong{font-size:16px;color:#17314f}
.linear-text-msg span{max-width:460px;color:#60728a}
#exportNcm .immediate-box{min-height:260px}
#exportNcm .chart-card .small-note{margin-top:12px}

/* ======================== v25 refinements ======================== */
/* Ajuste das tabelas de cotas UE: evita que a última coluna fique estreita e verticalizada. */
#exportQuotaRuleTables .quota-table-wrap,
#exportQuotaRuleTables .quota-matrix-wrap{
  overflow-x:auto;
  overflow-y:auto;
  max-height:430px;
}
#exportQuotaRuleTables .quota-matrix-table{
  width:max-content;
  min-width:100%;
  table-layout:auto;
  border-collapse:collapse;
}
#exportQuotaRuleTables .quota-matrix-table th,
#exportQuotaRuleTables .quota-matrix-table td{
  min-width:150px;
  max-width:340px;
  white-space:normal;
  word-break:normal;
  overflow-wrap:break-word;
  vertical-align:top;
  line-height:1.35;
  padding:10px 14px;
}
#exportQuotaRuleTables .quota-matrix-table th:last-child,
#exportQuotaRuleTables .quota-matrix-table td:last-child{
  min-width:260px;
  max-width:380px;
}
#exportQuotaRuleTables .quota-matrix-table th:first-child,
#exportQuotaRuleTables .quota-matrix-table td:first-child{
  min-width:150px;
}
#exportQuotaRuleTables .v25-empty-cell{
  color:transparent;
}


/* ======================== v26 definitive fixes ======================== */
/* Cotas UE: força largura real por coluna e impede a última coluna de ficar verticalizada. */
#exportQuotaRuleTables .v26-quota-scroll{
  overflow-x:auto!important;
  overflow-y:auto!important;
  max-height:420px!important;
  border:1px solid var(--line,#d6e4f2)!important;
  border-radius:14px!important;
  background:#fff!important;
  margin:0 12px 16px!important;
}
#exportQuotaRuleTables table.v26-quota-table{
  table-layout:auto!important;
  width:max-content!important;
  min-width:1200px!important;
  border-collapse:collapse!important;
}
#exportQuotaRuleTables table.v26-quota-table th,
#exportQuotaRuleTables table.v26-quota-table td{
  width:auto!important;
  min-width:170px!important;
  max-width:420px!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  line-height:1.35!important;
  padding:9px 14px!important;
  vertical-align:top!important;
}
#exportQuotaRuleTables table.v26-quota-table th:last-child,
#exportQuotaRuleTables table.v26-quota-table td:last-child{
  min-width:360px!important;
  max-width:520px!important;
}
#exportQuotaRuleTables table.v26-quota-table th{
  position:sticky!important;
  top:0!important;
  z-index:2!important;
  background:#f4f8fc!important;
  color:#536b86!important;
  font-size:10.5px!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}
#exportQuotaRuleTables .v26-empty-cell{color:transparent!important;}
#exportNcm .immediate-box.compact-immediate{min-height:260px!important;}
#exportNcm .immediate-pill{flex:0 0 132px;}

/* ======================== v27 visual fix: círculo do cronograma 0 ======================== */
#exportNcm .immediate-box.compact-immediate{
  display:grid!important;
  grid-template-columns:132px minmax(0,1fr)!important;
  align-items:center!important;
  justify-content:center!important;
  gap:24px!important;
}
#exportNcm .immediate-pill,
#exportNcm .immediate-box .immediate-pill{
  width:132px!important;
  height:132px!important;
  min-width:132px!important;
  min-height:132px!important;
  max-width:132px!important;
  max-height:132px!important;
  aspect-ratio:1/1!important;
  flex:0 0 132px!important;
  border-radius:9999px!important;
  line-height:1!important;
  box-sizing:border-box!important;
  transform:none!important;
}
@media(max-width:900px){
  #exportNcm .immediate-box.compact-immediate{grid-template-columns:1fr!important;text-align:center!important;justify-items:center!important;}
}

/* ======================== v28 definitive visual fix: perfect SVG circle ======================== */
#exportNcm .v28-immediate-box{
  display:grid!important;
  grid-template-columns:132px minmax(0,1fr)!important;
  align-items:center!important;
  gap:24px!important;
  min-height:260px!important;
}
#exportNcm .v28-immediate-svg{
  width:132px!important;
  height:132px!important;
  min-width:132px!important;
  min-height:132px!important;
  max-width:132px!important;
  max-height:132px!important;
  display:block!important;
  flex:0 0 132px!important;
  line-height:0!important;
  aspect-ratio:1 / 1!important;
  filter:drop-shadow(0 16px 34px rgba(0,166,81,.22));
}
#exportNcm .v28-immediate-svg svg{
  width:132px!important;
  height:132px!important;
  display:block!important;
  overflow:visible!important;
}
#exportNcm .v28-immediate-box .immediate-pill{display:none!important;}
@media(max-width:900px){
  #exportNcm .v28-immediate-box{grid-template-columns:1fr!important;text-align:center!important;justify-items:center!important;}
}

/* ======================== v31 refinamentos ======================== */
.hero-brand .subtitle{display:none!important;}
.hero-brand h1{margin-top:4px!important;}
#exportNcm .v31-export-title-card h2{max-width:940px;}
#exportNcm .v31-export-title-card .chips{margin-top:16px;}
#exportQuotaSummaryTable .quota-table-wrap{max-height:260px;overflow:auto;}
#exportQuotaSummaryTable table{min-width:100%;}
#exportQuotaSummaryTable th,#exportQuotaSummaryTable td{white-space:normal;}
#exportQuotaNcTable .quota-table-wrap{max-height:420px;overflow:auto;}

/* ======================== v32 resumo executivo integrado ======================== */
.offer-split-note{margin-top:14px;margin-bottom:14px;}
.offer-summary-grid{align-items:stretch;margin-top:14px;}
.offer-summary-panel{display:flex;flex-direction:column;gap:14px;min-height:0;}
.offer-summary-panel .cron-scroll{max-height:380px;overflow:auto;padding-right:4px;}
.offer-card-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.offer-mini-card{border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);padding:14px 16px;min-height:96px;box-shadow:0 8px 22px rgba(0,74,152,.04);}
.offer-mini-card span{display:block;text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:800;color:#60758f;margin-bottom:8px;}
.offer-mini-card strong{display:block;font-size:25px;line-height:1;color:#001f45;}
.offer-mini-card small{display:block;margin-top:8px;color:#5b6f88;font-size:12px;line-height:1.25;}
.compact-panel-title{padding-top:2px;margin-top:0;border-top:1px solid #e8f1fb;padding-top:14px;}
.overview-commerce-grid{margin-top:18px;}
#exportCronChart .bar-fill{background:linear-gradient(90deg,#0076c8,#00a3e0);}
#exportCronChart .bar-pct,#cronChart .bar-pct{font-weight:700;color:#506a86;}
@media(max-width:1150px){.offer-summary-grid,.overview-commerce-grid{grid-template-columns:1fr!important}.offer-card-row{grid-template-columns:1fr 1fr 1fr;}}
@media(max-width:760px){.offer-card-row{grid-template-columns:1fr;}.offer-summary-panel .cron-scroll{max-height:320px;}}

/* v33 — refinamentos do Resumo Executivo */
.offer-mini-card{
  position:relative!important;
  overflow:hidden!important;
  border:1px solid var(--line)!important;
  border-radius:22px!important;
  background:#fff!important;
  padding:18px 18px 16px!important;
  min-height:124px!important;
  box-shadow:none!important;
}
.offer-mini-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:linear-gradient(180deg,var(--cni-blue),var(--cni-cyan));
}
.offer-mini-card span{
  font-size:10.5px!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
  color:#52647d!important;
  font-weight:700!important;
  margin-bottom:12px!important;
}
.offer-mini-card strong{
  display:block!important;
  margin-top:12px!important;
  font-size:clamp(23px,2.1vw,28px)!important;
  font-weight:750!important;
  letter-spacing:-.04em!important;
  color:#10233d!important;
  line-height:1.05!important;
}
.offer-mini-card small{
  margin-top:7px!important;
  color:var(--muted)!important;
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:400!important;
}
.overview-executive-grid{
  align-items:start!important;
  margin-top:18px;
}
.overview-stack{
  display:flex;
  flex-direction:column;
  gap:18px;
  min-width:0;
}
.overview-left-stack .segment-panel,
.overview-left-stack .overview-table-panel,
.overview-right-stack .division-panel,
.overview-right-stack .overview-state-panel{
  min-height:auto!important;
}
.overview-left-stack .segment-panel .bar-list,
.overview-left-stack .segment-panel .compact-overview-bars{
  flex:0 0 auto!important;
  height:auto!important;
  justify-content:flex-start!important;
}
.overview-table-panel #topTradeTable{
  max-height:540px;
  overflow:auto;
}
.overview-state-panel #summaryStateBar{
  max-height:520px;
  overflow:auto;
}
@media(max-width:1360px){
  .overview-executive-grid{grid-template-columns:1fr!important;}
  .overview-stack{gap:18px;}
}

/* v34 — Resumo Executivo em blocos narrativos */
#overview .offer-split-note{display:none!important;}
.overview-section-heading{
  margin:24px 0 12px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
}
.overview-section-heading p{
  margin:0 0 6px;
  color:var(--cni-blue);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:11px;
}
.overview-section-heading h3{
  margin:0;
  font-size:20px;
  letter-spacing:-.02em;
}
.overview-commerce-block{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  margin-top:0;
}
.overview-segment-wide,
.overview-state-wide{
  min-height:auto!important;
  max-height:none!important;
  display:flex!important;
  flex-direction:column!important;
}
.overview-segment-wide .panel-title,
.overview-state-wide .panel-title{
  margin-bottom:14px!important;
}
.overview-segment-wide .compact-overview-bars{
  flex:0 0 auto!important;
  height:auto!important;
  overflow:visible!important;
  gap:13px!important;
}
.bilateral-segment-wide{
  width:100%;
  min-width:0;
}
.bilateral-segment-wide .bar-row{
  grid-template-columns:minmax(210px,300px) 1fr minmax(90px,120px)!important;
}
.overview-detail-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  align-items:stretch!important;
  gap:18px!important;
}
.overview-detail-grid .overview-sector-panel,
.overview-detail-grid .overview-table-panel{
  min-height:620px!important;
  max-height:620px!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.overview-detail-grid .overview-sector-panel .bar-list,
.overview-detail-grid .overview-table-panel #topTradeTable{
  flex:1!important;
  min-height:0!important;
  overflow:auto!important;
}
.overview-detail-grid .overview-table-panel .quota-table-wrap{
  height:100%!important;
  max-height:none!important;
  overflow:auto!important;
}
.overview-detail-grid .overview-table-panel .table-search{
  margin-bottom:12px!important;
}
.overview-state-wide{
  min-height:440px!important;
  max-height:440px!important;
  overflow:hidden!important;
}
.overview-state-wide #summaryStateBar{
  flex:1!important;
  min-height:0!important;
  max-height:none!important;
  overflow:auto!important;
  padding-right:6px!important;
}
.overview-state-wide .bar-row{
  grid-template-columns:minmax(210px,300px) 1fr minmax(90px,120px)!important;
}
@media(max-width:1360px){
  .overview-detail-grid{grid-template-columns:1fr!important;}
  .overview-detail-grid .overview-sector-panel,
  .overview-detail-grid .overview-table-panel,
  .overview-state-wide{
    min-height:auto!important;
    max-height:none!important;
  }
  .overview-detail-grid .overview-sector-panel .bar-list,
  .overview-detail-grid .overview-table-panel #topTradeTable,
  .overview-state-wide #summaryStateBar{
    max-height:520px!important;
  }
}
@media(max-width:700px){
  .bilateral-segment-wide .bar-row{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
  }
  .bilateral-segment-wide .bar-track{
    grid-column:1 / -1;
  }
}

/* ======================== v36 ajustes Resumo Executivo ======================== */
.overview-section-heading-simple{
  margin:24px 0 10px;
}
.overview-section-heading-simple p{
  margin:0;
}

/* ======================== v37: regras de origem e cards NC ======================== */
.origin-rule-panel{
  margin-top:18px;
  border:1px solid var(--line,#d6e4f2);
  border-radius:20px;
  background:#fff;
}
.origin-rule-panel .panel-title{align-items:flex-start;}
.origin-rule-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:2px 0 12px;
}
.origin-rule-meta span{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:#eef6ff;
  border:1px solid #d6e8fb;
  color:#12447a;
  font-size:12px;
  font-weight:700;
}
.origin-rule-body{
  padding:16px 18px;
  border:1px dashed #c8ddf4;
  border-radius:16px;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
  color:#183554;
  font-size:14px;
  line-height:1.55;
  max-height:240px;
  overflow:auto;
}
.three-kpis,
.export-three-kpis{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.export-three-kpis .mini-kpi strong{
  overflow-wrap:anywhere;
}
#euScheduleDescriptionTable .table-wrap{
  max-height:420px;
  overflow:auto;
}
#euScheduleDescriptionTable .data-table td:nth-child(3){
  white-space:normal;
  line-height:1.45;
}
@media (max-width: 1100px){
  .three-kpis,.export-three-kpis{grid-template-columns:1fr;}
}

/* v38: tooltip e legibilidade do card Tarifa MFN */
.tariff-mfn-kpi[data-tip]{cursor:help}
.tariff-mfn-kpi strong{font-size:clamp(14px,1.15vw,18px);line-height:1.12;overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.origin-rule-body{line-height:1.55}

/* v39: visibilidade do tooltip da Tarifa MFN */
.export-three-kpis,
.detail-kpis{
  overflow:visible!important;
}
.tariff-mfn-kpi{
  position:relative!important;
  overflow:visible!important;
  z-index:30!important;
}
.tariff-mfn-kpi[data-tip]:hover:after{
  display:block!important;
  left:50%!important;
  right:auto!important;
  bottom:calc(100% + 12px)!important;
  transform:translateX(-50%)!important;
  width:min(320px, 80vw)!important;
  white-space:normal!important;
  text-align:left!important;
  z-index:9999!important;
  pointer-events:none!important;
}
.v39-sugar-rule{
  text-align:left;
  line-height:1.55;
}
.v39-sugar-rule strong{
  display:block;
  margin-bottom:8px;
  color:#17314f;
}

/* v40: padronização visual dos cards de cronograma da Oferta UE */
.v40-rule-card .panel-title{align-items:flex-start;gap:14px}
.v40-rule-card .panel-title span{white-space:nowrap}
.v40-rule-message{ text-align:left; line-height:1.58; background:#f7fbff; color:#4d617a; }
.v40-rule-message strong{color:#17314f}
.curve-panel .small-note{max-width:100%;}
.tariff-mfn-kpi[data-tip]:hover:after{content:attr(data-tip)!important;}

/* ======================== v45: experiência responsiva completa ======================== */
.mobile-topbar,.mobile-nav-backdrop,.mobile-drawer-header{display:none}
button,input,select,summary,.result-item{touch-action:manipulation}
.quota-table-wrap,.chart-scroll-wrap,.result-list,.bar-list{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}

@media(max-width:1024px){
  body{overflow-x:hidden}
  .app-shell{display:block;width:100%}
  .mobile-topbar{
    position:fixed;inset:0 0 auto 0;z-index:1000;height:64px;display:grid;
    grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;gap:10px;
    padding:8px 12px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));
    background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);
    box-shadow:0 8px 28px rgba(0,45,90,.10);backdrop-filter:blur(14px)
  }
  .mobile-menu-toggle,.mobile-export-button{
    width:46px;height:46px;border:1px solid #cfe1f1;border-radius:14px;
    background:#f5faff;color:var(--cni-blue);cursor:pointer
  }
  .mobile-menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
  .mobile-menu-toggle span{display:block;width:20px;height:2px;border-radius:99px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
  body.mobile-nav-open .mobile-menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  body.mobile-nav-open .mobile-menu-toggle span:nth-child(2){opacity:0}
  body.mobile-nav-open .mobile-menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .mobile-export-button{font-size:11px;font-weight:800;letter-spacing:.04em}
  .mobile-page-context{min-width:0}
  .mobile-page-context span,.mobile-page-context strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobile-page-context span{color:#6a7d94;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
  .mobile-page-context strong{margin-top:3px;color:#17314f;font-size:14px;line-height:1.15}
  .side-nav{
    position:fixed;inset:0 auto 0 0;z-index:1100;display:flex!important;width:min(88vw,340px);height:100dvh;
    padding:22px 18px max(24px,env(safe-area-inset-bottom));overflow-y:auto;transform:translateX(-105%);
    transition:transform .24s ease;box-shadow:18px 0 50px rgba(0,31,69,.22);pointer-events:none
  }
  body.mobile-nav-open .side-nav{transform:translateX(0);pointer-events:auto}
  .mobile-nav-backdrop{
    position:fixed;inset:0;z-index:1050;width:100%;height:100%;border:0;padding:0;
    background:rgba(2,22,44,.46);opacity:0;pointer-events:none;transition:opacity .22s ease
  }
  body.mobile-nav-open .mobile-nav-backdrop{display:block;opacity:1;pointer-events:auto}
  body.mobile-nav-open{overflow:hidden}
  .mobile-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;color:#17314f}
  .mobile-drawer-header strong{font-size:15px}
  .mobile-drawer-header button{
    width:44px;height:44px;border:1px solid #cfe1f1;border-radius:14px;background:#f5faff;
    color:var(--cni-blue);font-size:27px;line-height:1;cursor:pointer
  }
  .side-nav .nav-ornament{margin:0 0 12px 8px}
  .side-nav .nav-button{min-height:50px;font-size:14px}
  .side-nav .nav-group-title{margin-top:16px}
  main{width:100%;padding:84px 22px 48px}
  .hero-header{margin-bottom:22px}
  .hero-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-metrics>div{min-width:0}
  .hero-metrics strong{white-space:normal}
  .hero-header .ghost-button{display:none}
  .filters-wide{grid-template-columns:repeat(2,minmax(0,1fr))}
  input,select,.clear-filters-btn,.ghost-button,.small-link,.curve-tab{min-height:46px}
  .result-item{min-height:48px}
}

@media(max-width:700px){
  main{padding:78px 12px max(38px,env(safe-area-inset-bottom))}
  .hero-header{padding:20px 18px;border-radius:20px}
  .hero-bgmark{right:12px;top:18px;font-size:76px}
  .brand-logo-white{width:170px!important;max-width:72vw!important;margin-bottom:16px}
  h1{font-size:clamp(23px,7vw,28px);line-height:1.08}
  h2{font-size:21px}
  .hero-metrics{grid-template-columns:1fr 1fr;gap:8px}
  .hero-metrics>div{padding:11px 12px;border-radius:14px}
  .hero-metrics strong{font-size:12.5px;line-height:1.3}
  .page-kicker{margin-bottom:14px}.page-kicker h2{line-height:1.2}
  .panel{padding:16px;border-radius:18px}
  .filters,.filters-wide,.kpi-grid,.kpi-grid.three,.detail-kpis,.trade-kpis.four-kpis,
  .export-four-kpis,.three-kpis,.export-three-kpis,.flag-grid,.method-grid,.offer-card-row{grid-template-columns:1fr!important}
  .filters{gap:10px}.kpi-grid{gap:10px}
  .kpi{min-height:104px;padding:16px 16px 14px;border-radius:18px}.kpi .value{font-size:24px}
  .panel-title{flex-wrap:wrap;gap:7px 12px;margin-bottom:13px}.panel-title>span{width:100%;line-height:1.35}
  .bar-list{gap:14px}
  .bar-row,.compact-overview-bars .bar-row,.overview-state-wide .bar-row,.state-chart-panel .bar-row,
  .state-uf-bars .bar-row,.partners-clean-bars .bar-row{
    grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;
    gap:6px 10px!important;min-height:0!important
  }
  .bar-label{grid-column:1;grid-row:1;min-width:0;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3}
  .bar-value,.state-uf-bars .bar-value,.country-bar-full .bar-value,.state-scroll .bar-value{
    grid-column:2;grid-row:1;min-width:0;text-align:right;align-self:start
  }
  .bar-track{grid-column:1/-1;grid-row:2;height:12px}.bar-pct{text-align:right}
  .quota-table-wrap,.chart-scroll-wrap{max-width:100%;overflow-x:auto!important;scrollbar-gutter:stable}
  .quota-table-wrap>.data-table{min-width:680px}
  .quota-info-table{table-layout:auto!important}
  .quota-info-table th:first-child,.quota-info-table td:first-child,.quota-info-table th:nth-child(2),.quota-info-table td:nth-child(2){width:auto!important}
  .chart-scroll-wrap .wide-chart{min-width:740px!important;height:300px!important}
  .chart-card{padding:14px;border-radius:16px}.svg-chart{min-height:260px}
  .curve-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr;border-radius:16px}
  .curve-tab{padding:9px 8px;white-space:normal;line-height:1.25}
  .query-panel{max-height:none;overflow:visible}
  #ncmResults,#exportResults{max-height:430px;overflow:auto;padding-right:3px}
  .detail-panel{min-height:260px}.detail-title-card{padding:16px;border-radius:16px}
  .detail-title-card h2{font-size:21px;overflow-wrap:anywhere}
  .immediate-box,#exportNcm .immediate-box{min-height:0!important;padding:20px 16px}
  .immediate-pill,.immediate-box.compact-immediate .immediate-pill{width:104px;height:104px;font-size:27px}
  .quota-group summary{min-height:54px;padding:13px 14px}.quota-group .quota-table-wrap{margin:0 8px 12px}
  .quota-rules-first,.quota-info-grid>.panel,.quota-guidance,.quota-ncm-panel-wide,
  .overview-detail-grid .overview-sector-panel,.overview-detail-grid .overview-table-panel,.overview-state-wide,
  .bilateral-main-grid>.panel,.states-detail-grid>.panel{min-height:auto!important;max-height:none!important}
  .scope-note,.origin-rule-body,.small-note,.text-panel p{font-size:13px;line-height:1.55}.origin-rule-body{max-height:none}
  [data-tip].tooltip-open:after{
    content:attr(data-tip)!important;display:block!important;position:fixed!important;inset:auto 14px 76px 14px!important;
    width:auto!important;max-width:none!important;transform:none!important;padding:14px!important;border-radius:14px!important;
    background:#061b33!important;color:#fff!important;font-size:13px!important;line-height:1.45!important;
    text-align:left!important;text-transform:none!important;letter-spacing:0!important;white-space:normal!important;
    z-index:2000!important;box-shadow:0 18px 44px rgba(0,0,0,.28)!important;pointer-events:none!important
  }
}

/* ======================== v63: simulação de tarifa informada ======================== */
.custom-tariff-enabled .curve-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
.custom-tariff-enabled .curve-tab{min-width:0;white-space:normal;line-height:1.25}
.custom-tariff-panel{min-width:0}
.custom-tariff-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px;border:1px solid #cfe5fb;border-radius:16px;background:linear-gradient(135deg,#f3f9ff 0%,#fbfdff 100%)}
.custom-tariff-intro h4{margin:3px 0 7px;color:#17314f;font-size:17px}
.custom-tariff-intro p:last-child{margin:0;color:#50647d;font-size:12.5px;line-height:1.5}
.custom-tariff-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 14px;border:1px solid var(--cni-blue);border-radius:999px;background:#fff;color:var(--cni-blue);font-size:12px;font-weight:750;line-height:1.2;text-decoration:none;white-space:nowrap;transition:.18s}
.custom-tariff-link:hover{background:var(--cni-blue);color:#fff;box-shadow:0 8px 18px rgba(0,74,152,.16);transform:translateY(-1px)}
.custom-tariff-link:focus-visible,.custom-tariff-submit:focus-visible,.custom-tariff-reset:focus-visible,.custom-tariff-input-wrap input:focus-visible{outline:3px solid rgba(0,163,224,.28);outline-offset:3px}
.custom-tariff-form{margin-top:14px;padding:15px 16px 10px;border:1px solid #dbe8f5;border-radius:16px;background:#fff}
.custom-tariff-form-grid{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:14px;align-items:end}
.custom-tariff-field{display:flex;flex-direction:column;gap:7px;min-width:0;color:#315170;font-size:12px;font-weight:750}
.custom-tariff-input-wrap{position:relative;display:block}
.custom-tariff-input-wrap input{width:100%;min-width:0;min-height:44px;padding:10px 40px 10px 12px;border:1px solid #bdd4e8;border-radius:12px;background:#fbfdff;color:#17314f;font-size:15px;font-weight:700}
.custom-tariff-input-wrap input[aria-invalid="true"]{border-color:#c94848;background:#fffafa}
.custom-tariff-input-wrap>span{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:#60758f;font-size:13px;font-weight:800;pointer-events:none}
.custom-tariff-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.custom-tariff-submit,.custom-tariff-reset{min-height:44px;padding:10px 16px;border-radius:12px;font-size:12px;font-weight:750;cursor:pointer}
.custom-tariff-submit{border:1px solid var(--cni-blue);background:var(--cni-blue);color:#fff}
.custom-tariff-submit:hover{border-color:#0062bd;background:#0062bd}
.custom-tariff-reset{border:1px solid #cfe0ef;background:#fff;color:#315170}
.custom-tariff-reset:hover{border-color:#9ebbd4;background:#f5faff}
.custom-tariff-error{min-height:18px;margin:7px 0 0;color:#a43030;font-size:11.5px;line-height:1.4}
.custom-tariff-output:not(:empty){margin-top:14px}
.custom-tariff-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.custom-tariff-summary article{min-width:0;padding:12px 13px;border:1px solid #d7e9e7;border-radius:14px;background:#f6fbfa}
.custom-tariff-summary span{display:block;margin-bottom:5px;color:#60758f;font-size:10.5px;font-weight:750;letter-spacing:.03em;text-transform:uppercase}
.custom-tariff-summary strong{display:block;color:#006d69;font-size:18px;overflow-wrap:anywhere}
.custom-tariff-chart-wrap{min-width:0;padding:5px 0 0}
.custom-tariff-single{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:1px solid #cce5e2;border-radius:16px;background:#f4fbfa}
.custom-tariff-single span{color:#50647d;font-size:12.5px}
.custom-tariff-single strong{color:#007f7b;font-size:28px}
.custom-tariff-disclaimer{margin:13px 0 0;padding:11px 13px;border-left:3px solid #e0a530;border-radius:0 10px 10px 0;background:#fffaf0;color:#6b5a34;font-size:11.8px;line-height:1.5}
@media(max-width:700px){
  .custom-tariff-enabled .curve-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .custom-tariff-enabled .custom-tariff-tab{grid-column:1/-1}
  .custom-tariff-intro,.custom-tariff-form-grid{grid-template-columns:minmax(0,1fr);align-items:stretch}
  .custom-tariff-link{width:100%;white-space:normal}
  .custom-tariff-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .custom-tariff-summary article:last-child{grid-column:1/-1}
}
@media(max-width:420px){
  .custom-tariff-enabled .curve-tabs,.custom-tariff-summary{grid-template-columns:minmax(0,1fr)!important}
  .custom-tariff-enabled .custom-tariff-tab,.custom-tariff-summary article:last-child{grid-column:auto}
  .custom-tariff-actions{align-items:stretch;flex-direction:column}
  .custom-tariff-submit,.custom-tariff-reset{width:100%}
  .custom-tariff-single{align-items:flex-start;flex-direction:column}
  .custom-tariff-single strong{font-size:24px}
}

@media(max-width:420px){
  .mobile-topbar{grid-template-columns:44px minmax(0,1fr) 42px;gap:8px;padding-left:8px;padding-right:8px}
  .mobile-menu-toggle{width:44px;height:44px}.mobile-export-button{width:42px;height:44px}
  .mobile-page-context span{font-size:9px}.mobile-page-context strong{font-size:13px}
  .hero-metrics{grid-template-columns:1fr}.panel,.hero-header{padding-left:14px;padding-right:14px}
  .curve-tabs{grid-template-columns:1fr}.quota-table-wrap>.data-table{min-width:620px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ======================== v46: correções de responsividade dos cards e rankings ======================== */
.result-list .result-item{
  flex:0 0 auto;
  height:auto;
  min-height:48px;
}
.result-item span{
  overflow-wrap:anywhere;
  word-break:normal;
}
.bar-list,.bar-row,.bar-row>*{min-width:0}
.bar-list .bar-row{flex:0 0 auto}
.bar-track{width:100%;max-width:100%}
.country-bar-full .bar-label{
  display:flex;
  align-items:center;
  gap:8px;
}
.country-flag{
  display:inline-block;
  width:22px;
  height:17px;
  margin:0;
  flex:0 0 22px;
  object-fit:cover;
  border-radius:2px;
  box-shadow:0 0 0 1px rgba(15,31,53,.12);
}

@media(max-width:1024px){
  .bilateral-main-grid,.states-detail-grid,.country-partners-panel,.state-uf-panel,
  #countryBar,#stateBar,#summaryStateBar{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  #countryBar,#stateBar,#summaryStateBar{
    overflow-x:hidden!important;
    overflow-y:auto!important;
    scrollbar-gutter:stable;
  }
  #countryBar .bar-row,#stateBar .bar-row,#summaryStateBar .bar-row{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    gap:7px 10px!important;
    min-height:0!important;
  }
  #countryBar .bar-label,#stateBar .bar-label,#summaryStateBar .bar-label{
    grid-column:1;
    grid-row:1;
    min-width:0;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    line-height:1.3;
  }
  #countryBar .bar-value,#stateBar .bar-value,#summaryStateBar .bar-value{
    grid-column:2;
    grid-row:1;
    min-width:0!important;
    max-width:42vw;
    text-align:right;
    align-self:start;
    white-space:nowrap;
  }
  #countryBar .bar-track,#stateBar .bar-track,#summaryStateBar .bar-track{
    grid-column:1/-1;
    grid-row:2;
  }
  .country-bar-full,.state-uf-bars{
    max-height:min(70dvh,620px)!important;
    padding-right:4px;
  }
}

@media(max-width:700px){
  #ncmResults,#exportResults{
    display:flex;
    flex-direction:column;
    max-height:min(58dvh,520px);
  }
  .result-list .result-item{
    padding:14px;
    border-radius:16px;
  }
  .result-list .result-item strong{line-height:1.25}
  .result-list .result-item span{line-height:1.45}
  #countryBar .bar-value,#stateBar .bar-value,#summaryStateBar .bar-value{
    max-width:46vw;
    font-size:11.5px;
  }
}

/* ======================== v51: bandeiras, seletores e refinamentos móveis ======================== */
.country-picker{position:relative;width:100%;min-width:0;text-transform:none}
.country-picker-trigger,.country-picker-menu{display:none}
.country-picker-current,.country-picker-option,.country-bar-full .bar-label,.partners-clean-bars .bar-label{
  align-items:center;
  min-width:0;
}
.country-picker-current,.country-picker-option{display:flex;gap:9px}
.country-picker-current>span:last-child,.country-picker-option>span:last-child,
.country-bar-full .bar-label>span,.partners-clean-bars .bar-label>span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.country-picker-eu{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;height:17px;
  border-radius:3px;background:#0754a3;color:#fff;font-size:8px;font-weight:800;letter-spacing:.02em;
  box-shadow:0 0 0 1px rgba(15,31,53,.12)
}
.mobile-drawer-header{justify-content:flex-end!important}

#ncmPartnerBar .bar-label{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start;
  gap:12px!important;
  min-width:0;
  line-height:1.25;
}
#ncmPartnerBar .bar-label .country-flag{
  display:block;
  flex:0 0 24px;
  width:24px;
  height:18px;
  margin:0!important;
  object-fit:cover;
  border:1px solid rgba(15,49,82,.12);
  border-radius:2px;
}
#ncmPartnerBar .bar-label>span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media(min-width:1025px){
  .country-picker{height:42px}
  .country-picker .country-select-native{
    position:absolute!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;
    opacity:0!important;pointer-events:none!important;clip-path:inset(50%)!important
  }
  .country-picker-trigger{
    display:flex;width:100%;height:42px;align-items:center;justify-content:space-between;gap:10px;
    padding:0 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);
    font:400 13px Arial,Helvetica,sans-serif;text-align:left;cursor:pointer
  }
  .country-picker-trigger:hover{border-color:#b9d5eb}
  .country-picker-trigger:focus-visible{outline:0;border-color:var(--cni-cyan);box-shadow:0 0 0 3px rgba(0,163,224,.14)}
  .country-picker-current{flex:1}
  .country-picker-chevron{flex:0 0 auto;color:#46617d;font-size:16px;line-height:1;transform:translateY(-1px)}
  .country-picker-menu{
    position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:500;max-height:360px;overflow-y:auto;
    padding:6px;background:#fff;border:1px solid #c9dceb;border-radius:12px;box-shadow:0 18px 40px rgba(15,45,78,.2)
  }
  .country-picker.open .country-picker-menu{display:block}
  .country-picker-option{
    width:100%;min-height:36px;padding:8px;border:0;border-radius:8px;background:#fff;color:#203751;
    font:400 13px Arial,Helvetica,sans-serif;text-align:left;cursor:pointer
  }
  .country-picker-option:hover,.country-picker-option:focus-visible{outline:0;background:#eef6ff}
  .country-picker-option.selected{background:#0754a3;color:#fff}
}

@media(max-width:1024px){
  .country-picker{height:auto}
  .country-picker .country-select-native{display:block;width:100%}
}

@media(max-width:700px){
  #bilateral .bilateral-main-grid,#bilateral .bilateral-main-grid>.panel,
  #bilateralTable,#countryBar,.country-partners-panel{width:100%!important;max-width:100%!important;min-width:0!important}
  #bilateral .bilateral-main-grid>.panel{overflow:hidden}
  #bilateralTable{overflow:hidden}
  #bilateralTable>.quota-table-wrap{
    display:block;width:100%!important;max-width:100%!important;min-height:0!important;max-height:520px!important;
    overflow-x:auto!important;overflow-y:auto!important;scrollbar-gutter:stable
  }
  #bilateralTable>.quota-table-wrap>.data-table{width:max-content!important;min-width:920px!important}
  .country-partners-panel{padding-left:14px;padding-right:14px}
  #countryBar{overflow-x:hidden!important;overflow-y:auto!important;padding-right:2px}
  #countryBar .bar-row{
    width:100%!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;
    gap:7px 10px!important
  }
  #countryBar .bar-label,#ncmPartnerBar .bar-label{display:flex;align-items:center;gap:8px;min-width:0}
  #countryBar .bar-value{max-width:none!important;white-space:nowrap;text-align:right}
  #countryBar .bar-track{width:100%!important;max-width:100%!important;grid-column:1/-1!important}
  #ncmPartnerBar .bar-row{
    grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;gap:7px 10px!important
  }
  #ncmPartnerBar .bar-value{grid-column:2;grid-row:1;text-align:right}
  #ncmPartnerBar .bar-track{grid-column:1/-1;grid-row:2}
}

/* ======================== v54: contenção dos slicers em telas estreitas ======================== */
@media(max-width:1024px){
  html,body,.app-shell,main,.view,
  .filters,.filters-wide,.mini-filters,.query-panel{
    min-width:0!important;
    max-width:100%!important;
  }
  .filters,.filters-wide,.mini-filters{
    width:100%!important;
  }
  .filters>label,
  .filters>.clear-filters-btn,
  .mini-filters>select,
  .mini-filters>input,
  .mini-filters>button,
  .mini-filters>.country-picker,
  .query-panel>input{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .filters>label>select,
  .filters>label>input,
  .filters>label>.country-picker,
  .country-picker .country-select-native{
    display:block;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .filters select,.filters input,
  .mini-filters select,.mini-filters input,
  .query-panel>input{
    text-overflow:ellipsis;
  }
}

@media(max-width:700px){
  .filters,.filters-wide{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

/* v60: bandeiras SVG nos rótulos que refletem o país selecionado */
.country-context-label{
  display:inline-flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
}
.country-context-flag{
  display:inline-block;
  width:16px;
  height:12px;
  flex:0 0 16px;
  object-fit:cover;
  border-radius:2px;
  box-shadow:0 0 0 1px rgba(15,31,53,.14);
}

/* ======================== v55: início compacto do menu móvel ======================== */
@media(max-width:1024px){
  .side-nav{
    padding-top:max(12px,env(safe-area-inset-top));
  }
  .mobile-drawer-header{
    flex:0 0 44px;
    margin-bottom:4px;
  }
  .side-nav .nav-ornament{
    position:absolute;
    top:max(12px,env(safe-area-inset-top));
    left:26px;
    margin:0;
  }
}

/* ======================== v56: cabeçalho institucional sem marca decorativa ======================== */
.hero-header{
  background:linear-gradient(118deg,#003f83 0%,#005cae 38%,#087ac8 70%,#1597d3 100%);
}
.hero-header::after{
  content:none;
}
.hero-bgmark{
  display:none!important;
}

/* ======================== v57: consultas e curvas otimizadas para celular ======================== */
@media(max-width:700px){
  .ncm-layout{
    row-gap:34px!important;
  }
  .ncm-layout>.query-panel,
  .ncm-layout>.detail-panel-wrap>.detail-panel{
    box-shadow:0 8px 22px rgba(0,45,90,.08);
  }
  .ncm-layout>.query-panel{
    position:relative;
    top:0;
    z-index:1;
  }
  .ncm-layout>.detail-panel-wrap{
    position:relative;
    z-index:0;
    margin-top:2px;
  }
  #ncmDetail,#exportDetail{
    scroll-margin-top:78px;
  }
  #ncmResults,#exportResults{
    padding-bottom:12px;
    scroll-padding-block:14px;
  }
  .chart-card .curve-panel.active{
    min-width:0;
  }
  .mobile-schedule-chart{
    display:block;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:4px 0 0;
  }
  .mobile-chart-scroll{
    max-width:100%;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:8px 4px 6px;
    border:1px solid #e4eff8;
    border-radius:14px;
    background:#fff;
    scrollbar-gutter:auto;
  }
  .mobile-chart-scroll .mobile-schedule-chart.wide-chart{
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    max-width:none!important;
  }
  .chart-card .curve-panel>.small-note{
    margin-top:18px!important;
  }
}

/* ======================== v58: composição compacta e cronogramas longos no celular ======================== */
@media(max-width:700px){
  .ncm-layout{
    row-gap:14px!important;
    min-width:0;
  }
  .ncm-layout>.query-panel{
    min-width:0;
  }
  .ncm-layout>.detail-panel-wrap{
    width:100%;
    min-width:0;
    max-width:100%;
    margin-top:0;
    overflow:hidden;
  }
  .ncm-layout>.detail-panel-wrap>.detail-panel,
  .ncm-layout .detail-grid,
  .ncm-layout .chart-card,
  .ncm-layout .curve-panel{
    width:100%;
    min-width:0;
    max-width:100%;
  }
  .ncm-layout .curve-tabs{
    width:100%;
    min-width:0;
    max-width:100%;
  }
  .mobile-chart-scroll{
    display:block;
    width:100%;
    min-width:0;
    max-width:100%;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain;
  }
  .mobile-chart-scroll .mobile-schedule-chart.wide-chart{
    max-width:none!important;
  }
  .ncm-layout .chart-card .small-note{
    max-width:100%;
    overflow-wrap:anywhere;
  }
}

/* ======================== v59: responsividade móvel universal sem largura excedente ======================== */
@media(max-width:1024px){
  html,body,.app-shell,main,.view{
    max-width:100%;
    min-width:0;
  }
  .ncm-layout{
    grid-template-columns:minmax(0,1fr)!important;
    row-gap:14px!important;
    width:100%;
    min-width:0;
    max-width:100%;
  }
  .ncm-layout>.query-panel,
  .ncm-layout>.detail-panel-wrap,
  .ncm-layout>.detail-panel-wrap>.detail-panel,
  .ncm-layout .detail-grid,
  .ncm-layout .chart-card,
  .ncm-layout .curve-panel{
    width:100%;
    min-width:0;
    max-width:100%;
  }
  .ncm-layout>.query-panel{
    position:relative;
    top:0;
    height:auto;
  }
  .ncm-layout>.detail-panel-wrap{
    margin-top:0;
    overflow:hidden;
  }
  .ncm-layout .detail-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .ncm-layout .chart-card{
    overflow:hidden;
  }
  .ncm-layout .curve-tabs{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%;
    min-width:0;
    max-width:100%;
  }
  .ncm-layout .curve-tab{
    min-width:0;
    max-width:100%;
    overflow-wrap:anywhere;
  }
  .ncm-layout .mobile-schedule-chart{
    display:block;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
  }
  .ncm-layout .chart-card .small-note{
    width:100%;
    min-width:0;
    max-width:100%;
    overflow-wrap:anywhere;
  }
}

@media(min-width:360px) and (max-width:1024px){
  #ncmDetail .detail-kpis,
  #exportDetail .detail-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px;
  }
  #ncmDetail .detail-kpis .mini-kpi,
  #exportDetail .detail-kpis .mini-kpi{
    min-height:82px;
    padding:12px;
  }
}

@media(max-width:359px){
  #ncmDetail .detail-kpis,
  #exportDetail .detail-kpis{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

/* ======================== v60: consulta da tarifa vigente na Camex ======================== */
.camex-tariff-panel{
  margin-top:16px;
  padding:17px 18px;
  border-color:#cfe5fb;
  background:linear-gradient(135deg,#f3f9ff 0%,#fbfdff 100%);
  box-shadow:none;
}
.camex-tariff-copy h3{
  font-size:15px;
  color:#17314f;
}
.camex-tariff-copy>p:last-child{
  margin:7px 0 0;
  color:#50647d;
  font-size:12.5px;
  line-height:1.5;
}
.camex-tariff-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:max-content;
  max-width:100%;
  min-height:40px;
  margin-top:13px;
  padding:9px 14px;
  border:1px solid var(--cni-blue);
  border-radius:999px;
  background:var(--cni-blue);
  color:#fff;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  text-decoration:none;
  transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s;
}
.camex-tariff-link:hover{
  border-color:#0062bd;
  background:#0062bd;
  box-shadow:0 8px 18px rgba(0,74,152,.18);
  transform:translateY(-1px);
}
.camex-tariff-link:focus-visible{
  outline:3px solid rgba(0,163,224,.28);
  outline-offset:3px;
}
.camex-tariff-link span{
  font-size:15px;
  line-height:1;
}

@media(max-width:700px){
  .camex-tariff-panel{
    padding:16px;
  }
  .camex-tariff-link{
    width:100%;
  }
}

/* ======================== v61: projeções tarifárias por componentes na Oferta UE ======================== */
.eu-tariff-components{
  display:grid;
  gap:14px;
}
.eu-component-card{
  min-width:0;
  padding:15px;
  border:1px solid #dbe8f5;
  border-radius:16px;
  background:#fbfdff;
}
.eu-component-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:8px;
}
.eu-component-heading p,
.eu-component-final p{
  margin:0;
  color:#315170;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.eu-component-heading h4{
  margin:4px 0 0;
  color:#17314f;
  font-size:14px;
}
.eu-component-heading>span{
  flex:0 0 auto;
  padding:5px 9px;
  border-radius:999px;
  background:#eaf4ff;
  color:#004a98;
  font-size:11px;
  font-weight:700;
}
.eu-component-svg{
  width:100%;
  height:auto;
}
.eu-component-final{
  display:flex;
  min-height:128px;
  flex-direction:column;
  justify-content:center;
}
.eu-component-final strong{
  margin-top:8px;
  color:#004a98;
  font-size:30px;
  line-height:1.1;
}
.eu-component-final span{
  margin-top:7px;
  color:#64748b;
  font-size:12px;
}
.eu-component-warning{
  margin:13px 0 0;
  padding:11px 13px;
  border-left:3px solid #00a3e0;
  border-radius:0 10px 10px 0;
  background:#f1f8ff;
  color:#3f5873;
  font-size:12px;
  line-height:1.5;
}
.eu-fixed-preference{
  display:flex;
  align-items:center;
  gap:18px;
  padding:18px;
  border:1px solid #ccead9;
  border-radius:16px;
  background:linear-gradient(135deg,#f2fbf5,#fbfefc);
}
.eu-fixed-preference-value{
  display:grid;
  width:84px;
  height:84px;
  flex:0 0 84px;
  place-items:center;
  border-radius:50%;
  background:#16aa55;
  color:#fff;
  font-size:24px;
  font-weight:800;
}
.eu-fixed-preference h4{
  margin:0;
  color:#17314f;
  font-size:15px;
}
.eu-fixed-preference p{
  margin:6px 0 0;
  color:#50647d;
  font-size:12.5px;
  line-height:1.5;
}
.eu-reduction-chart{
  width:100%;
  height:auto;
}
.eu-formula-intro{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-bottom:12px;
  color:#50647d;
  font-size:12.5px;
  line-height:1.5;
}
.eu-formula-intro strong{
  color:#17314f;
  font-size:14px;
}
.eu-formula-table-wrap{
  max-height:430px;
  overflow:auto;
  border:1px solid #dce8f4;
  border-radius:14px;
}
.eu-formula-table-wrap>.eu-formula-table{
  min-width:100%;
  table-layout:fixed;
}
.eu-formula-table th:first-child,
.eu-formula-table td:first-child{
  width:96px;
}
.eu-formula-table td:last-child{
  color:#17314f;
  font-weight:600;
}
.eu-scenario-picker{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:14px;
  color:#315170;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.eu-scenario-picker select{
  width:100%;
  min-height:42px;
  padding:9px 38px 9px 12px;
  border:1px solid #cdddec;
  border-radius:11px;
  background:#fff;
  color:#17314f;
  font:inherit;
  font-size:13px;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
}
.eu-scenario-panel{
  display:none;
}
.eu-scenario-panel.active{
  display:block;
}
.eu-scenario-label{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:10px;
}
.eu-scenario-label strong{
  color:#17314f;
  font-size:13px;
}
.eu-scenario-label span{
  color:#64748b;
  font-size:12px;
}
.eu-source-disclosure{
  margin-top:13px;
  border:1px solid #dce8f4;
  border-radius:12px;
  background:#fbfdff;
}
.eu-source-disclosure summary{
  padding:11px 13px;
  color:#315170;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}
.eu-source-disclosure p{
  margin:0;
  padding:0 13px 13px;
  color:#50647d;
  font-size:12px;
  line-height:1.55;
}
.eu-rule-support{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top:13px;
  padding:11px 13px;
  border:1px solid #dbe8f5;
  border-radius:12px;
  background:#f7fbff;
}
.eu-rule-support strong{
  color:#17314f;
  font-size:12px;
}
.eu-rule-support span{
  color:#50647d;
  font-size:12px;
  line-height:1.5;
}
.eu-special-fixed-value{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px;
  border:1px solid #cfe5fb;
  border-radius:16px;
  background:#f4f9ff;
}
.eu-special-fixed-value span{
  color:#50647d;
  font-size:12.5px;
}
.eu-special-fixed-value strong{
  color:#004a98;
  font-size:28px;
}

@media(max-width:700px){
  .v61-expanded-curve .curve-tabs{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .eu-component-heading,
  .eu-special-fixed-value{
    align-items:flex-start;
    flex-direction:column;
  }
  .eu-component-heading>span{
    flex-basis:auto;
  }
  .eu-fixed-preference{
    align-items:flex-start;
  }
  .eu-fixed-preference-value{
    width:68px;
    height:68px;
    flex-basis:68px;
    font-size:20px;
  }
  .eu-formula-table-wrap{
    max-width:100%;
  }
  .eu-formula-table-wrap>.eu-formula-table{
    min-width:100%;
  }
  .eu-special-fixed-value strong{
    font-size:24px;
  }
}

/* Consulta por NCM: cursor de ajuda somente em cards com tooltip. */
#ncmDetail .trade-kpis.four-kpis > .mini-kpi:not([data-tip]),
#ncmDetail .trade-kpis.four-kpis > .mini-kpi:not([data-tip]) > span,
#ncmDetail .trade-kpis.four-kpis > .mini-kpi:not([data-tip]) > strong{
  cursor:default;
}

/* ======================== v60 local: comércio por NC e país ======================== */
#exportDetail .v60-export-kpis{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px;
}
#exportDetail .v60-nc-trade-insights{
  display:grid!important;
  margin:16px 0;
}
#exportPartnerBar .bar-label{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
#exportPartnerBar .country-flag{
  display:block;
  flex:0 0 24px;
  width:24px;
  height:18px;
  object-fit:cover;
  border:1px solid rgba(15,49,82,.12);
  border-radius:2px;
}
#exportPartnerBar .bar-label>span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.v60-bridge-note{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin:14px 0 4px;
  padding:12px 14px;
  border:1px solid #cfe5fb;
  border-radius:14px;
  background:#f3f9ff;
  color:#46617d;
  font-size:12px;
  line-height:1.5;
}
.v60-bridge-note strong{color:#17314f;font-size:12.5px}
.v60-bridge-warning{border-color:#f0d08b;background:#fff9eb;color:#6e5320}
.v60-bridge-warning strong{color:#73500b}
.mini-filters>.v60-country-picker{min-width:0}

@media(max-width:1500px){
  #exportDetail .v60-export-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:1200px){
  #exportDetail .v60-export-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #exportDetail .v60-nc-trade-insights{grid-template-columns:1fr!important}
}
@media(max-width:700px){
  #exportDetail .v60-export-kpis{grid-template-columns:1fr!important}
  #exportPartnerBar .bar-row{grid-template-columns:1fr}
  #exportPartnerBar .bar-value{text-align:left}
}

/* ======================== v46.3 local: fluxo dos parceiros e perspectiva Brasil ======================== */
.query-panel{scrollbar-gutter:stable}
.partner-panel-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.partner-panel-controls{
  display:flex;
  align-items:flex-end;
  gap:10px;
  flex:0 0 auto;
}
.partner-panel-controls>span{
  color:var(--muted);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding-bottom:10px;
  white-space:nowrap;
}
.partner-panel-controls label{
  display:flex;
  flex-direction:column;
  gap:5px;
  color:var(--muted);
  font-size:9.5px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.partner-flow-select{
  width:210px;
  height:38px;
  font-size:12px;
  text-transform:none;
  letter-spacing:0;
}
.partner-panel-header h3{max-width:390px}

@media(max-width:700px){
  .partner-panel-header,.partner-panel-controls{align-items:stretch;flex-direction:column}
  .partner-panel-controls>span{padding-bottom:0}
  .partner-flow-select{width:100%}
}

/* ======================== v46.5: carregamento e nova hierarquia ======================== */
body.is-loading{overflow:hidden}
.app-loading{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:24px;
  background:linear-gradient(135deg,#eff7ff 0%,#f8fbff 52%,#e8f4ff 100%);
  transition:opacity .24s ease,visibility .24s ease;
}
.app-loading.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.app-loading-card{
  width:min(420px,100%);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:34px 30px 30px;
  border:1px solid #cfe1f3;
  border-radius:24px;
  background:#fff;
  box-shadow:0 24px 70px rgba(0,74,152,.16);
}
.app-loading-card>img{width:116px;height:auto;margin-bottom:24px}
.app-loading-spinner{
  width:42px;
  height:42px;
  margin-bottom:18px;
  border:4px solid #d9eafa;
  border-top-color:var(--cni-blue);
  border-radius:50%;
  animation:app-loading-spin .85s linear infinite;
}
.app-loading-card strong{color:#17314f;font-size:19px}
.app-loading-card p{min-height:20px;margin:8px 0 18px;color:#5b6f88;font-size:13px;line-height:1.5}
.app-loading-progress{width:100%;height:7px;overflow:hidden;border-radius:999px;background:#e6f0f8}
.app-loading-progress span{display:block;width:4%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--cni-blue),var(--cni-cyan));transition:width .2s ease}
.app-loading-card button{margin-top:18px;border:0;border-radius:999px;background:var(--cni-blue);color:#fff;padding:10px 18px;font-weight:700;cursor:pointer}
.app-loading.has-error .app-loading-spinner{animation:none;border-color:#e0a8a8;border-top-color:#b42318}
@keyframes app-loading-spin{to{transform:rotate(360deg)}}

.overview-sector-wide{margin-top:18px}
.bilateral-segment-wide{margin-top:0}
.bilateral-sector-ncm-grid,.bilateral-state-partner-grid{align-items:stretch}
.bilateral-sector-ncm-grid>.panel,.bilateral-state-partner-grid>.panel{min-width:0}
#exportDetail .v465-export-kpis{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px}
#exportDetail .eu-component-svg .chart-value-label text{font-size:12.5px}
.official-source-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.official-source-list a{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid #d5e6f5;border-radius:16px;background:#f8fbff;color:inherit;text-decoration:none;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.official-source-list a:hover,.official-source-list a:focus-visible{border-color:var(--cni-cyan);transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,74,152,.10);outline:none}
.official-source-list strong{color:var(--cni-blue);font-size:15px}
.official-source-list span{color:var(--muted);font-size:12.5px;line-height:1.5}

@media(max-width:1024px){
  .bilateral-sector-ncm-grid,.bilateral-state-partner-grid{grid-template-columns:minmax(0,1fr)!important}
  #exportDetail .v465-export-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
  .app-loading{padding:16px}
  .app-loading-card{padding:28px 20px 24px;border-radius:20px}
  .official-source-list{grid-template-columns:minmax(0,1fr)}
  #exportDetail .v465-export-kpis{grid-template-columns:minmax(0,1fr)!important}
}
@media(prefers-reduced-motion:reduce){
  .app-loading,.app-loading-progress span,.official-source-list a{transition:none}
  .app-loading-spinner{animation-duration:1.8s}
}

/* ======================== v46.7: simetria dos blocos de comércio ======================== */
#bilateral .bilateral-sector-ncm-grid,
#bilateral .bilateral-state-partner-grid{
  align-items:stretch!important;
}

/* ======================== v46.8: metodologia e ordem das cotas ======================== */
.method-offers-panel{margin-bottom:18px}
.method-offers-panel p:last-child{margin-bottom:0}
.text-panel a{color:var(--cni-blue);font-weight:650;text-decoration:underline;text-underline-offset:2px}
.quota-info-grid + .quota-rules-first{margin-top:20px!important}
.official-source-list{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1360px){.official-source-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.official-source-list{grid-template-columns:minmax(0,1fr)}}

/* ======================== v46.9: fontes oficiais agrupadas ======================== */
.official-source-section + .official-source-section{
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid var(--border);
}
.official-source-section h4{
  margin:0 0 12px;
  color:var(--text);
  font-size:15px;
}
.official-source-section .official-source-list{grid-template-columns:minmax(0,1fr)}
.official-source-section .official-source-list.commerce-sources{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){.official-source-section .official-source-list.commerce-sources{grid-template-columns:minmax(0,1fr)}}
#bilateral .bilateral-sector-ncm-grid>.panel,
#bilateral .bilateral-state-partner-grid>.panel{
  display:flex!important;
  flex-direction:column!important;
  height:740px!important;
  min-height:740px!important;
  max-height:740px!important;
  overflow:hidden!important;
}
#bilateral #stateSectorBar,
#bilateral #stateBar,
#bilateral #countryBar{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  padding-right:6px;
  scrollbar-gutter:stable;
  gap:8px!important;
}
#bilateral #stateSectorBar .bar-row,
#bilateral #stateBar .bar-row,
#bilateral #countryBar .bar-row{
  min-height:32px!important;
}
#bilateral .bilateral-table-panel #bilateralTable{
  display:flex!important;
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}
#bilateral .bilateral-table-panel #bilateralTable .quota-table-wrap{
  flex:1 1 auto!important;
  width:100%;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  overflow:auto!important;
  scrollbar-gutter:stable;
}
@media(max-width:700px){
  #bilateral .bilateral-sector-ncm-grid>.panel,
  #bilateral .bilateral-state-partner-grid>.panel{
    height:640px!important;
    min-height:640px!important;
    max-height:640px!important;
  }
}

/* ======================== v47: exportação exclusiva de Comércio Bilateral ======================== */
#downloadBtn[hidden],#mobileExportBtn[hidden]{display:none!important}
.hero-metrics:not(.export-enabled){justify-content:flex-end}
@media(max-width:1360px) and (min-width:1025px){
  .hero-metrics:not(.export-enabled){justify-content:flex-end}
}
@media(max-width:1024px){
  .mobile-topbar:not(.export-enabled){grid-template-columns:46px minmax(0,1fr)}
}
@media(max-width:420px){
  .mobile-topbar:not(.export-enabled){grid-template-columns:44px minmax(0,1fr)}
}

/* ======================== v47.2: espaçamento entre regra especial e simulação ======================== */
.custom-tariff-enabled .quota-callout + .custom-tariff-panel{margin-top:16px}
