
:root{
  --bg:#0d1117;
  --panel:#131826;
  --panel2:#1a2035;
  --border:#1e2a3a;
  --text:#e2e8f0;
  --muted:#94a3b8;
  --dim:#64748b;
  --green:#00b894;
  --blue:#38bdf8;
  --amber:#f59e0b;
  --violet:#a78bfa;
  --danger:#ef4444;
}

/* XPT — DOCAS E VAGAS */
.xpt-page-head{align-items:center}.xpt-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.xpt-legend{display:flex;gap:20px;align-items:center;padding:4px 2px 14px;color:#667085;font-size:12px;font-weight:700}.xpt-legend span{display:flex;align-items:center;gap:7px}.xpt-dot{width:10px;height:10px;border-radius:3px;background:#3483fa}.xpt-dot.shared{background:#ffe600;border:1px solid #b99f00}.xpt-dot.empty{background:#d8dee8}.xpt-audit-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;margin-bottom:14px;border-radius:12px;background:#071c42;color:#fff}.xpt-audit-banner span{display:flex;align-items:center;gap:8px}.xpt-audit-banner .btn{color:#fff;border-color:#526583}.xpt-dock-grid{display:grid;grid-template-columns:repeat(4,minmax(230px,1fr));gap:14px;align-items:start}.xpt-dock-card{background:#fff;border:1px solid #dbe3ef;border-top:4px solid #3483fa;border-radius:16px;box-shadow:0 8px 22px rgba(31,50,81,.07);overflow:hidden;min-height:285px;display:flex;flex-direction:column}.xpt-dock-card.is-shared{border-top-color:#ffe600;box-shadow:0 8px 22px rgba(105,90,0,.12)}.xpt-dock-card.is-empty{border-top-color:#cfd7e3;background:#f7f9fc}.xpt-dock-card>header{display:flex;align-items:center;justify-content:space-between;padding:14px 15px;border-bottom:1px solid #e8edf4}.xpt-dock-card>header div{display:flex;align-items:baseline;gap:7px}.xpt-dock-card>header small{font-size:10px;font-weight:850;color:#667085;letter-spacing:.12em}.xpt-dock-card>header strong{font-size:26px;color:#071c42}.xpt-route-count{font-size:11px;font-weight:800;background:#eaf2ff;color:#2563ad;padding:5px 8px;border-radius:999px}.xpt-service-line{display:flex;gap:5px;flex-wrap:wrap;padding:9px 12px;background:#f7f9fc;min-height:39px}.xpt-service-line span{font-size:10px;font-weight:850;color:#344054;background:#fff;border:1px solid #dbe3ef;padding:3px 7px;border-radius:6px}.xpt-route-list{padding:9px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;flex:1;align-content:start;max-height:310px;overflow:auto}.xpt-route{position:relative;text-align:left;border:1px solid #dbe3ef;border-left:4px solid #3483fa;background:#fff;border-radius:9px;padding:8px;color:#071c42;min-width:0}.xpt-route:hover{box-shadow:0 4px 12px rgba(25,50,90,.12);transform:translateY(-1px)}.xpt-route.confirmed{background:#eaf8f0;border-color:#20ad69}.xpt-route b,.xpt-route small,.xpt-route span{display:block;overflow:hidden;text-overflow:ellipsis}.xpt-route b{font-size:12px;white-space:nowrap}.xpt-route small{font-size:10px;color:#667085;margin:4px 0}.xpt-route span{font-size:9px;color:#475467}.xpt-route i{position:absolute;right:7px;bottom:6px;color:#12a65d}.xpt-route i svg{width:15px;height:15px}.xpt-empty-dock{grid-column:1/-1;text-align:center;color:#98a2b3;padding:46px 8px;font-size:12px}.xpt-dock-card>footer{display:flex;justify-content:space-between;align-items:center;padding:9px 13px;border-top:1px solid #e8edf4;font-size:11px;font-weight:800;color:#475467}.xpt-dock-card>footer b{color:#876f00;background:#fff6b3;padding:3px 6px;border-radius:5px}.xpt-no-data{grid-column:1/-1}.xpt-audit-banner.hidden{display:none}
@media(max-width:1300px){.xpt-dock-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}.xpt-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.xpt-dock-grid{grid-template-columns:repeat(2,minmax(210px,1fr))}}
@media(max-width:600px){.xpt-dock-grid,.xpt-kpis{grid-template-columns:1fr}.xpt-page-head{align-items:flex-start}.xpt-page-head .panel-inline{width:100%}.xpt-page-head .btn{flex:1}.xpt-legend{flex-wrap:wrap}}
@media print{.sidebar,.topbar,.xpt-page-head .panel-inline,.xpt-audit-banner,.xpt-legend{display:none!important}.content{padding:0!important;margin:0!important}.page{display:none!important}#page-xpt{display:block!important}.xpt-dock-grid{grid-template-columns:repeat(4,1fr);gap:7px}.xpt-dock-card{box-shadow:none;break-inside:avoid;min-height:220px}.xpt-route-list{max-height:none}.xpt-kpis{grid-template-columns:repeat(4,1fr)}}
.confirmed-cycles{margin:14px 0 20px;padding:16px;border:1px solid #a7e1c3;border-radius:14px;background:linear-gradient(135deg,#f1fcf6,#e8f8f0)}.confirmed-cycles-title{display:flex;align-items:center;gap:10px;color:#08783f;margin-bottom:12px}.confirmed-cycles-title>svg{width:25px;height:25px}.confirmed-cycles-title strong,.confirmed-cycles-title span{display:block}.confirmed-cycles-title span{font-size:11px;margin-top:3px;color:#397357}.confirmed-cycle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.confirmed-cycle-grid article{display:flex;align-items:center;gap:10px;padding:12px;background:#fff;border:1px solid #bde8d0;border-radius:11px}.confirmed-cycle-grid article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#e1f6ea;color:#099451}.confirmed-cycle-grid article>span svg{width:17px;height:17px}.confirmed-cycle-grid article>div{flex:1}.confirmed-cycle-grid article strong,.confirmed-cycle-grid article small{display:block}.confirmed-cycle-grid article small{margin-top:3px;color:#627469}.confirmed-cycle-grid article>b{font-size:9px;color:#08783f;background:#dcf7e8;padding:5px 7px;border-radius:999px;white-space:nowrap}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:"Segoe UI",system-ui,sans-serif;min-height:100%}
button,input,select{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.view{min-height:100vh}
.login-view{display:grid;place-items:center;padding:24px;background:
radial-gradient(circle at 20% 20%,rgba(0,184,148,.1),transparent 30%),
radial-gradient(circle at 80% 15%,rgba(56,189,248,.08),transparent 30%),var(--bg)}
.login-card{width:min(420px,100%);background:linear-gradient(180deg,#141b2b,#101622);border:1px solid var(--border);border-radius:22px;padding:34px;box-shadow:0 24px 80px rgba(0,0,0,.5)}
.brand-mark{font-size:3rem;text-align:center}
.login-card h1{text-align:center;margin:10px 0 4px}.login-card h1 span,.topbar h1 span{color:var(--green)}
.login-card p{text-align:center;color:var(--muted);margin:0 0 28px}
label{display:block;font-size:.78rem;color:var(--muted);font-weight:700;margin:14px 0 6px}
input,select{width:100%;background:#0d1117;border:1px solid var(--border);border-radius:9px;color:var(--text);padding:10px 12px;outline:none}
input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(0,184,148,.1)}
.demo-box{margin-top:18px;background:rgba(56,189,248,.06);border:1px solid rgba(56,189,248,.18);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:.78rem}
.btn{border:1px solid transparent;border-radius:9px;padding:9px 14px;font-weight:700;color:var(--text);background:#202a3f}
.btn.primary{background:var(--green);color:#04100d}
.btn.primary:hover{filter:brightness(1.08)}
.btn.ghost{background:#0d1117;border-color:var(--border)}
.btn.danger-soft{background:rgba(239,68,68,.1);color:#fca5a5;border-color:rgba(239,68,68,.2)}
.btn.full{width:100%;margin-top:20px}
.icon-btn{background:transparent;border:0;color:var(--text);font-size:1.3rem}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#1a1a2e,#16213e);border-bottom:2px solid var(--green);padding:14px 22px;box-shadow:0 4px 24px rgba(0,0,0,.4)}
.topbar h1{font-size:1.25rem;margin:0}.topbar p{font-size:.76rem;color:var(--muted);margin:3px 0 0}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:12px}
.update-block{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.update-block small{color:var(--dim)}
.date-badge{background:rgba(0,184,148,.15);color:var(--green);border:1px solid rgba(0,184,148,.3);padding:4px 10px;border-radius:999px;font-weight:800;font-size:.76rem}
.shell{display:flex;min-height:calc(100vh - 70px)}
.sidebar{width:245px;border-right:1px solid var(--border);background:#101622;padding:18px;position:sticky;top:70px;height:calc(100vh - 70px)}
.profile{display:flex;align-items:center;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:12px}.avatar{width:38px;height:38px;border-radius:10px;background:rgba(0,184,148,.14);display:grid;place-items:center;color:var(--green);font-weight:900}.profile small{display:block;color:var(--dim);margin-top:2px}
nav{display:grid;gap:6px}.nav-item{border:0;background:transparent;color:var(--muted);text-align:left;padding:10px 11px;border-radius:9px;font-weight:700}.nav-item:hover,.nav-item.active{background:rgba(0,184,148,.1);color:var(--green)}
.content{flex:1;min-width:0;padding:24px}
.page{max-width:1500px;margin:auto}
.page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.page-head h2{margin:0;font-size:1.4rem}.page-head p{margin:4px 0 0;color:var(--muted);font-size:.83rem}.head-actions{display:flex;gap:8px}
.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;margin-bottom:16px}.kpi-grid.compact{grid-template-columns:repeat(5,minmax(130px,1fr))}
.kpi{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden}.kpi::before{content:"";display:block;height:3px;background:var(--green)}.kpi.blue::before{background:var(--blue)}.kpi.amber::before{background:var(--amber)}.kpi.violet::before{background:var(--violet)}
.kpi-body{padding:13px}.kpi-value{font-size:1.55rem;font-weight:900}.kpi-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--dim);font-weight:800;margin-top:4px}.kpi-sub{font-size:.68rem;color:#475569;margin-top:2px}
.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:16px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.panel-head h3{margin:0;font-size:.9rem}.panel-head small{color:var(--dim)}.panel-inline{display:flex;align-items:center;gap:8px}.panel-inline input{width:220px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.share-list{display:grid;gap:10px}.share-row2{display:grid;grid-template-columns:130px 70px 1fr 45px;gap:9px;align-items:center;font-size:.78rem}.share-row2 strong{overflow:hidden;text-overflow:ellipsis}.bar{height:7px;border-radius:99px;background:#0d1117;overflow:hidden}.bar > span{display:block;height:100%;background:linear-gradient(90deg,var(--green),#06d6a0);border-radius:99px}
.vehicle-row{display:grid;grid-template-columns:1fr 90px 90px;gap:8px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:.78rem}.vehicle-row:last-child{border-bottom:0}.vehicle-row b:nth-child(2){color:var(--amber)}.vehicle-row b:nth-child(3){color:var(--blue)}
.cycle-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.cycle-card{background:#0f1521;border:1px solid var(--border);border-radius:10px;padding:14px}.cycle-card strong{font-size:1rem}.cycle-card small{display:block;color:var(--dim);margin-top:5px}
.status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:.68rem;font-weight:900;letter-spacing:.03em}.status.draft{background:rgba(245,158,11,.12);color:var(--amber)}.status.published{background:rgba(0,184,148,.12);color:var(--green)}.status.wait{background:rgba(148,163,184,.1);color:var(--muted)}
.upload-box{border:1.5px dashed #2a394f;border-radius:18px;background:linear-gradient(180deg,rgba(19,24,38,.75),rgba(13,17,23,.75));padding:48px 20px;text-align:center;margin-bottom:18px;transition:.2s}.upload-box.drag{border-color:var(--green);background:rgba(0,184,148,.05)}.upload-icon{font-size:3rem}.upload-box h3{margin:10px 0 4px}.upload-box p{color:var(--muted);margin:0 0 18px}
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:9px}.table-wrap.tall{max-height:calc(100vh - 260px)}table{border-collapse:collapse;width:100%;font-size:.78rem}thead{position:sticky;top:0;z-index:2}th{background:#0d1117;color:var(--dim);text-transform:uppercase;letter-spacing:.04em;font-size:.64rem;padding:10px;text-align:left;white-space:nowrap}td{padding:9px 10px;border-top:1px solid rgba(255,255,255,.04);color:#cbd5e1;vertical-align:top}tbody tr:hover td{background:rgba(0,184,148,.04)}td select{min-width:150px;padding:6px}
.panel-actions{display:flex;justify-content:flex-end;padding-top:12px}
.toolbar{display:grid;grid-template-columns:1fr 220px 240px;gap:10px;margin-bottom:12px}
.bulk-bar{display:flex;align-items:center;gap:10px;background:rgba(0,184,148,.08);border:1px solid rgba(0,184,148,.24);border-radius:10px;padding:10px 12px;margin-bottom:12px}.bulk-bar select{width:240px}
.carrier-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.carrier-card{background:#0f1521;border:1px solid var(--border);border-radius:10px;padding:14px}.carrier-card strong{display:block}.carrier-card small{color:var(--dim)}.user-row{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:10px;padding:12px;border-bottom:1px solid var(--border);align-items:center}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:14px;overflow:auto}.tab{border:0;background:transparent;color:var(--muted);padding:10px 16px;border-bottom:3px solid transparent;font-weight:800}.tab.active{color:var(--green);border-bottom-color:var(--green)}
.wave-strip{display:flex;gap:8px;overflow:auto;margin-bottom:14px}.wave{min-width:120px;background:var(--panel);border:1px solid var(--border);border-radius:9px;padding:8px 10px;text-align:center}.wave.live{background:rgba(0,184,148,.1);border-color:rgba(0,184,148,.45)}.wave.soon{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.35)}.wave.past{opacity:.4}.wave b{display:block;font-size:.72rem}.wave span{font-size:.78rem;color:var(--muted)}
.empty-state{text-align:center;padding:50px 20px}.empty-state .emoji{font-size:3rem}.empty-state h3{margin-bottom:5px}.empty-state p{color:var(--muted)}
.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.7);display:grid;place-items:center;padding:20px}.modal{width:min(440px,100%);background:#141b2b;border:1px solid var(--border);border-radius:16px;padding:20px}.modal h3{margin-top:0}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
#toast{position:fixed;right:20px;bottom:20px;z-index:200;display:grid;gap:8px}.toast-item{background:#111827;border:1px solid var(--border);border-left:3px solid var(--green);padding:11px 14px;border-radius:9px;box-shadow:0 12px 32px rgba(0,0,0,.4);font-size:.8rem;min-width:220px}
.mobile-only{display:none}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.kpi-grid.compact{grid-template-columns:repeat(3,1fr)}.carrier-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){
  .mobile-only{display:block}.sidebar{position:fixed;left:-260px;z-index:60;top:70px;transition:.2s;box-shadow:20px 0 50px rgba(0,0,0,.5)}.sidebar.open{left:0}
  .content{padding:14px}.topbar{padding:12px}.topbar-right .btn.ghost{display:none}.update-block{display:none}.two-col{grid-template-columns:1fr}.cycle-status-grid{grid-template-columns:repeat(2,1fr)}.toolbar{grid-template-columns:1fr}.carrier-cards{grid-template-columns:1fr}.bulk-bar{align-items:stretch;flex-direction:column}.bulk-bar select{width:100%}
}
@media(max-width:560px){
  .topbar h1{font-size:1.05rem}.topbar p{display:none}.kpi-grid,.kpi-grid.compact{grid-template-columns:repeat(2,1fr)}.page-head{align-items:flex-start;flex-direction:column}.head-actions{width:100%}.head-actions .btn{flex:1}.panel{padding:12px}
  .table-wrap table{min-width:800px}.user-row{grid-template-columns:1fr}.share-row2{grid-template-columns:90px 55px 1fr 35px}
}


/* V2 — fluxo de distribuição linha a linha */
.publish-readiness{
  display:flex;align-items:center;gap:8px;
  background:#0d1117;border:1px solid var(--border);
  padding:8px 11px;border-radius:9px;color:var(--muted);
  font-size:.76rem;font-weight:700
}
.readiness-dot{width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 3px rgba(245,158,11,.1)}
.publish-readiness.ready{color:var(--green);border-color:rgba(0,184,148,.3);background:rgba(0,184,148,.05)}
.publish-readiness.ready .readiness-dot{background:var(--green);box-shadow:0 0 0 3px rgba(0,184,148,.1)}
.btn:disabled{opacity:.38;cursor:not-allowed;filter:none!important}
.distribution-progress{
  display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:center;
  background:linear-gradient(135deg,#121827,#0f1521);
  border:1px solid var(--border);border-radius:11px;padding:12px 14px;margin-bottom:12px
}
.distribution-progress > div:first-child{display:flex;gap:10px;align-items:baseline}
.distribution-progress strong{font-size:.82rem}
.distribution-progress span{font-size:.72rem;color:var(--muted)}
.progress-track{height:8px!important;background:#0d1117;border-radius:999px;overflow:hidden}
.progress-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--green),#06d6a0);border-radius:999px;transition:width .25s}
.carrier-select.unassigned{border-color:rgba(245,158,11,.45);background:rgba(245,158,11,.05);color:#fbbf24}
.carrier-select.assigned{border-color:rgba(0,184,148,.28);background:rgba(0,184,148,.04)}
.publish-summary{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-bottom:13px;margin-bottom:5px;border-bottom:1px solid var(--border)}
.publish-summary small{display:block;color:var(--dim);margin-top:3px}
@media(max-width:820px){
  .distribution-progress{grid-template-columns:1fr}
  .publish-readiness{width:100%;justify-content:center}
  .page-head .head-actions{flex-direction:column}
  .publish-summary{align-items:stretch;flex-direction:column}
}

/* =========================================================
   V3 PREMIUM — identidade inspirada no Mercado Livre
   ========================================================= */
:root{
  --bg:#f5f5f5;
  --panel:#ffffff;
  --panel2:#fff;
  --border:#e6e6e6;
  --text:#333333;
  --muted:#666666;
  --dim:#8c8c8c;
  --green:#00a650;
  --blue:#3483fa;
  --amber:#ffe600;
  --violet:#6c5ce7;
  --danger:#f23d4f;
  --meli-yellow:#ffe600;
  --meli-blue:#2d3277;
  --meli-blue-soft:#3483fa;
}
html,body{background:#f5f5f5;color:var(--text)}
body{
  background:
    radial-gradient(circle at 15% 0%,rgba(255,230,0,.15),transparent 24%),
    linear-gradient(#f5f5f5,#f5f5f5);
}
.login-view{
  background:
    linear-gradient(180deg,var(--meli-yellow) 0 235px,#f5f5f5 235px 100%);
}
.login-card{
  background:#fff;
  border:0;
  border-radius:18px;
  box-shadow:0 18px 60px rgba(0,0,0,.16);
  padding:38px;
  margin-top:38px;
}
.meli-logo-lockup{display:flex;align-items:center;justify-content:center;gap:10px}
.meli-handshake{
  width:62px;height:42px;border:2px solid var(--meli-blue);border-radius:50%;
  display:grid;place-items:center;font-size:1.5rem;color:var(--meli-blue);
}
.meli-wordmark{font-size:1.55rem;font-weight:800;color:var(--meli-blue);letter-spacing:-.04em}
.login-divider{height:1px;background:#eee;margin:23px 0}
.login-card h1{color:#333;font-weight:800}
.login-card h1 span,.topbar h1 span{color:var(--meli-blue-soft)}
.login-card p{color:#777}
label{color:#555}
input,select{
  background:#fff;color:#333;border:1px solid #d8d8d8;border-radius:8px;
}
input:focus,select:focus{border-color:var(--meli-blue-soft);box-shadow:0 0 0 3px rgba(52,131,250,.12)}
.demo-box{
  background:#f8f8f8;border:1px solid #ececec;color:#666
}
.btn{border-radius:8px}
.btn.primary{
  background:var(--meli-blue-soft);color:white;
  box-shadow:0 3px 10px rgba(52,131,250,.18)
}
.btn.primary:hover{background:#2968c8}
.btn.ghost{background:white;border-color:#ddd;color:#444}
.btn.danger-soft{background:#fff0f1;color:#d3263a;border-color:#ffd3d8}
.topbar{
  background:var(--meli-yellow);
  border-bottom:0;
  color:#333;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
  padding:13px 22px;
}
.header-brand-line{display:flex;align-items:center;gap:12px}
.header-meli-mark{
  width:48px;height:34px;border:2px solid var(--meli-blue);border-radius:50%;
  display:grid;place-items:center;font-size:1.15rem;
}
.topbar h1{color:#333}
.topbar p{color:#5c5c5c}
.topbar .btn.ghost{background:rgba(255,255,255,.75);border-color:rgba(0,0,0,.08)}
.topbar .btn.danger-soft{background:rgba(255,255,255,.65);color:#b42332;border-color:rgba(0,0,0,.08)}
.date-badge{background:var(--meli-blue);color:#fff;border:0}
.sidebar{
  background:#fff;border-right:1px solid #e6e6e6;
  box-shadow:4px 0 18px rgba(0,0,0,.025)
}
.profile{border-color:#eee}
.avatar{background:#fff6a8;color:var(--meli-blue);border:1px solid #f3df37}
.profile small{color:#999}
.nav-item{color:#666}
.nav-item:hover,.nav-item.active{
  background:#eef5ff;color:var(--meli-blue-soft)
}
.content{background:transparent}
.page-head h2{color:#333}
.page-head p{color:#777}
.panel,.kpi{
  background:#fff;border:1px solid #e8e8e8;
  box-shadow:0 4px 16px rgba(0,0,0,.035);
}
.kpi::before{background:var(--meli-blue-soft)}
.kpi.blue::before{background:var(--meli-blue-soft)}
.kpi.amber::before{background:var(--meli-yellow)}
.kpi.violet::before{background:var(--meli-blue)}
.kpi-value{color:#333}
.kpi-label{color:#777}
.kpi-sub{color:#aaa}
.panel-head h3{color:#333}
.panel-head small{color:#999}
.share-row2{color:#555}
.bar{background:#ececec}
.bar > span{background:linear-gradient(90deg,var(--meli-blue-soft),#74a8ff)}
.vehicle-row{border-color:#eee;color:#555}
.cycle-card,.carrier-card{
  background:#fafafa;border-color:#e8e8e8;
}
.status.draft{background:#fff8cc;color:#725f00}
.status.published{background:#e8f7ef;color:#008744}
.status.wait{background:#f1f1f1;color:#777}
.upload-box{
  background:#fff;border:1.5px dashed #cfcfcf;
  box-shadow:0 4px 18px rgba(0,0,0,.025)
}
.upload-box.drag{border-color:var(--meli-blue-soft);background:#f5f9ff}
.table-wrap{border-color:#e7e7e7;background:#fff}
th{background:#f7f7f7;color:#737373;border-bottom:1px solid #e6e6e6}
td{color:#444;border-color:#eee}
tbody tr:hover td{background:#f8fbff}
.toolbar input,.toolbar select{background:#fff}
.distribution-progress{
  background:#fff;border-color:#e8e8e8;
  box-shadow:0 4px 16px rgba(0,0,0,.03)
}
.progress-track{background:#ececec!important}
.progress-track span{background:linear-gradient(90deg,var(--meli-blue-soft),#74a8ff)!important}
.publish-readiness{background:#fff;border-color:#e3e3e3;color:#777}
.publish-readiness.ready{color:#008744;border-color:#bde8d1;background:#f5fff9}
.carrier-select.unassigned{border-color:#f0cf00;background:#fffbed;color:#7a6500}
.carrier-select.assigned{border-color:#bdd4ff;background:#f7faff}
.tabs{border-color:#ddd}
.tab{color:#777}
.tab.active{color:var(--meli-blue-soft);border-bottom-color:var(--meli-blue-soft)}
.wave{background:#fff;border-color:#e6e6e6;box-shadow:0 2px 8px rgba(0,0,0,.025)}
.wave.live{background:#eef8f2;border-color:#9ed6b6}
.wave.soon{background:#fff9d7;border-color:#f0da45}
.modal-backdrop{background:rgba(38,38,38,.62);backdrop-filter:blur(4px)}
.modal{
  background:#fff;border:0;color:#333;
  box-shadow:0 24px 80px rgba(0,0,0,.24)
}
.modal-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.modal-kicker{font-size:.66rem;color:var(--meli-blue-soft);font-weight:900;letter-spacing:.08em}
.modal-close{border:0;background:#f5f5f5;width:34px;height:34px;border-radius:50%;font-size:1.2rem;color:#666}
.user-modal{width:min(690px,100%)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.form-field.full-span{grid-column:1/-1}
.password-line{display:grid;grid-template-columns:1fr auto;gap:8px}
.small-btn{padding:8px 12px}
.check-field{margin-top:10px}
.check-label{display:flex;align-items:center;gap:8px;margin:0;color:#444;cursor:pointer}
.check-label input{width:auto}
.user-create-note{
  margin-top:16px;padding:12px;border-radius:9px;
  border:1px solid #d7e6ff;background:#f5f9ff;
  font-size:.76rem;color:#666
}
.user-create-note strong{display:block;color:var(--meli-blue-soft);margin-bottom:3px}
.user-status-actions{display:flex;gap:6px;flex-wrap:wrap}
.action-btn{padding:6px 9px;font-size:.7rem}
.credential-pop{
  border:1px solid #e6e6e6;background:#fafafa;border-radius:10px;
  padding:10px;margin-top:8px;color:#444
}
.credential-pop code{font-weight:800;color:var(--meli-blue)}
@media(max-width:620px){
  .form-grid{grid-template-columns:1fr}
  .form-field.full-span{grid-column:auto}
  .password-line{grid-template-columns:1fr}
  .users-table{min-width:850px}
}

/* ==========================================================
   V4 — VISUAL DO DASHBOARD GERADO
   ========================================================== */
:root{
  --ml-yellow:#ffe600;
  --ml-navy:#08265b;
  --ml-navy-dark:#061f4d;
  --ml-blue:#3483fa;
  --ml-text:#101b3a;
  --ml-muted:#6b7280;
  --ml-border:#e4e7ec;
  --ml-bg:#f7f8fa;
}
html,body{background:var(--ml-bg)!important;color:var(--ml-text)!important}
body{background:linear-gradient(115deg,#fff 0%,#f9fafc 55%,#f5f7fa 100%)!important}
.login-view{background:linear-gradient(180deg,var(--ml-yellow) 0 260px,#f5f5f5 260px 100%)!important}
.login-card{width:min(430px,calc(100% - 28px));border-radius:18px!important;box-shadow:0 22px 80px rgba(0,0,0,.18)!important}
.login-ml-logo{display:block;width:190px;max-height:115px;object-fit:contain;margin:0 auto}
.login-card h1 span{color:#2d3277!important}
.shell{min-height:100vh!important}
.topbar{
  position:fixed!important;left:270px!important;right:0!important;top:0!important;height:78px!important;
  padding:0 34px!important;background:linear-gradient(100deg,#fff4ad 0%,var(--ml-yellow) 58%,#ffdc00 100%)!important;
  color:var(--ml-text)!important;border:0!important;box-shadow:none!important;z-index:40!important
}
.topbar-left,.topbar-right{height:100%}
.header-copy h1{margin:0;font-size:1.35rem!important;font-weight:800!important;color:#0f1a39!important}
.header-copy p{display:block!important;margin:4px 0 0!important;color:#4a5367!important;font-size:.77rem!important}
.topbar-right{gap:12px!important}
.top-icon,.user-menu-arrow{
  border:0;background:transparent;color:#071839;font-weight:900;display:grid;place-items:center
}
.top-icon{width:36px;height:36px;border-radius:50%;font-size:1.15rem}
.top-icon:hover{background:rgba(255,255,255,.38)}
.top-icon.notifications-on{background:#071c42!important;color:#ffe600!important;box-shadow:0 5px 14px rgba(7,28,66,.24)}
.notification-center{position:relative}.notification-center>.top-icon{position:relative}.notification-badge{position:absolute;right:-3px;top:-4px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#d92d20;color:#fff;border:2px solid #ffe600;font-size:9px;font-weight:900}.notification-badge.hidden{display:none}.notification-popover{position:absolute;right:0;top:48px;width:min(390px,calc(100vw - 24px));background:#fff;border:1px solid #dce3ed;border-radius:16px;box-shadow:0 24px 70px rgba(7,28,66,.24);z-index:1000;overflow:hidden;color:#101828}.notification-popover.hidden{display:none}.notification-popover>header{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;border-bottom:1px solid #e8edf4;background:#f8fafc}.notification-popover>header>div{display:flex;flex-direction:column;gap:2px}.notification-popover>header strong{font-size:15px}.notification-popover>header small{font-size:11px;color:#667085}.notification-close{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:#475467;cursor:pointer}.notification-close:hover{background:#e9edf3}.notification-close svg{width:17px}.notification-list{max-height:420px;overflow:auto}.notification-item{display:grid;grid-template-columns:38px 1fr;gap:10px;padding:13px 15px;border-bottom:1px solid #edf0f5}.notification-item.unread{background:#f5f9ff}.notification-item.read{opacity:.7}.notification-item-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#eaf2ff;color:#2875da}.notification-item-icon svg{width:18px}.notification-item strong{font-size:12px}.notification-item p{font-size:11px;line-height:1.45;color:#475467;margin:3px 0}.notification-item small{font-size:9px;color:#98a2b3}.notification-read{display:flex;align-items:center;gap:5px;margin-top:8px;border:0;background:transparent;color:#2474dc;font-size:10px;font-weight:850;cursor:pointer;padding:0}.notification-read svg{width:14px}.notification-popover>footer{padding:11px 14px;background:#f8fafc}.notification-popover>footer .btn{width:100%;justify-content:center}.notification-popover>footer .notifications-on{color:#b42331;border-color:#f5b8bd;background:#fff4f4}.notification-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:38px 20px;color:#98a2b3}.notification-empty svg{width:27px;height:27px}.notification-empty strong{font-size:12px;color:#475467}.notification-empty span{font-size:10px}
.top-user{display:flex;align-items:center;gap:10px;margin-left:9px}
.top-avatar{width:38px;height:38px;border-radius:50%;background:#12326f;color:white;display:grid;place-items:center;font-size:.78rem;font-weight:800}
.top-user-copy{min-width:105px}
.top-user-copy strong{display:block;font-size:.77rem;color:#10182d}
.top-user-copy small{display:block;font-size:.68rem;color:#4b5261;margin-top:3px}
.user-menu-arrow{width:24px;height:30px;font-size:1.15rem}

.sidebar{
  position:fixed!important;left:0!important;top:0!important;bottom:0!important;
  width:270px!important;height:100vh!important;padding:0 10px 18px!important;
  background:linear-gradient(180deg,#09285f 0%,#062453 55%,#041e49 100%)!important;
  border:0!important;box-shadow:none!important;z-index:50!important;display:flex!important;flex-direction:column!important
}
.sidebar-logo{
  height:78px;margin:0 -10px 12px;padding:6px 22px;
  background:var(--ml-yellow);display:flex;align-items:center
}
.sidebar-logo img{width:175px;height:62px;object-fit:contain;object-position:left center}
.sidebar-nav{display:grid!important;gap:7px!important;padding:0!important}
.nav-item{
  min-height:48px!important;display:flex!important;align-items:center!important;gap:13px!important;
  padding:0 14px!important;border-radius:7px!important;color:#fff!important;font-size:.78rem!important;
  background:transparent!important;font-weight:500!important
}
.nav-item:hover{background:rgba(255,255,255,.08)!important}
.nav-item.active{
  color:var(--ml-yellow)!important;background:linear-gradient(90deg,rgba(60,117,204,.28),rgba(56,94,155,.2))!important;
  box-shadow:inset 2px 0 0 #2f83ff!important
}
.nav-ico{display:inline-grid;place-items:center;width:22px;font-size:1.22rem;color:inherit}
.sidebar-bottom{margin-top:auto}
.logout-nav{width:100%;margin-bottom:12px}
.sidebar-footer-brand{border-top:1px solid rgba(255,255,255,.16);padding:14px 7px 0;display:flex;align-items:center;gap:8px;color:#fff}
.sidebar-footer-brand img{width:42px;height:32px;object-fit:contain;filter:none}
.sidebar-footer-brand strong{display:block;font-size:.68rem}
.sidebar-footer-brand small{display:block;color:#c9d4e8;font-size:.58rem;margin-top:2px}

.content{margin-left:270px!important;padding:108px 24px 24px!important;background:transparent!important;width:calc(100% - 270px)!important}
.page{max-width:1540px!important;margin:0 auto!important}
.premium-page-head{margin-bottom:27px!important}
.page-head h2{font-size:1.35rem!important;color:#121b38!important;font-weight:800!important}
.page-head p{font-size:.76rem!important;color:#6e7890!important;margin-top:5px!important}
.active-program-selector{
  min-width:285px;height:47px;border:1px solid #d9dde6;border-radius:8px;background:#fff;
  display:flex;align-items:center;justify-content:space-between;padding:0 14px;color:#3f4960;font:inherit;font-size:.78rem;cursor:pointer
}
.active-program-selector:hover{border-color:#9db7db;background:#f8fbff;box-shadow:0 5px 16px rgba(6,27,66,.09)}
.calendar-ico{color:#53627d}

.premium-kpis{
  grid-template-columns:repeat(6,minmax(145px,1fr))!important;gap:16px!important;margin-bottom:20px!important
}
.premium-kpi{
  min-height:124px!important;display:flex!important;align-items:center!important;gap:15px!important;
  padding:18px 15px!important;border:1px solid #e1e5ec!important;border-radius:10px!important;
  background:#fff!important;box-shadow:0 2px 8px rgba(16,24,40,.025)!important
}
.premium-kpi::before{display:none!important}
.premium-kpi-icon{
  flex:0 0 51px;width:51px;height:51px;border-radius:11px;display:grid;place-items:center;
  background:#eef3ff;color:#2267e8;font-size:1.65rem;font-weight:800
}
.premium-kpi.green .premium-kpi-icon{background:#edf9ea;color:#1a9b3c}
.premium-kpi.violet .premium-kpi-icon{background:#f4ecff;color:#7b36d9}
.premium-kpi.yellow .premium-kpi-icon{background:#fff8df;color:#f4b400}
.premium-kpi.orange .premium-kpi-icon{background:#fff0e9;color:#f15c28}
.premium-kpi.indigo .premium-kpi-icon{background:#eef1ff;color:#2f5ee7}
.premium-kpi-copy{min-width:0}
.premium-kpi .kpi-label{font-size:.64rem!important;color:#59657c!important;font-weight:700!important;letter-spacing:.02em!important}
.premium-kpi .kpi-value{font-size:1.45rem!important;color:#101936!important;font-weight:700!important;margin-top:5px}
.premium-kpi .kpi-sub{font-size:.64rem!important;color:#8b94a5!important;margin-top:5px}

.panel{
  border:1px solid #e1e5ec!important;border-radius:10px!important;background:#fff!important;
  box-shadow:0 2px 8px rgba(16,24,40,.02)!important
}
.cycle-overview-panel{display:grid!important;grid-template-columns:1.55fr .95fr!important;gap:34px!important;padding:22px!important;margin-bottom:22px!important}
.panel-title-block h3{font-size:.86rem;margin:0;color:#111a37}
.panel-title-block p{font-size:.68rem;color:#828da4;margin:7px 0 0}
.premium-cycle-grid{grid-template-columns:repeat(4,1fr)!important;gap:0!important;margin-top:28px}
.premium-cycle-card{
  background:#fff!important;border:0!important;border-right:1px solid #e2e5eb!important;border-radius:0!important;padding:5px 17px!important;
  min-height:92px
}
.premium-cycle-card:first-child{padding-left:5px!important}
.premium-cycle-card:last-child{border-right:0!important}
.cycle-card-top{display:flex;align-items:center;gap:12px}
.cycle-card-top strong{font-size:.86rem}
.mini-status{font-size:.58rem;padding:4px 9px;border-radius:999px;background:#f1f3f6;color:#5f697a}
.mini-status.on{background:#e8f7ef;color:#008f47}
.cycle-number{font-size:.86rem;font-weight:800;margin-top:15px;color:#536176}
.premium-cycle-card small{font-size:.64rem!important;color:#8a94a7!important}
.no-program-cta{
  align-self:center;min-height:168px;border-radius:12px;padding:24px;display:flex;align-items:center;gap:20px;
  background:linear-gradient(120deg,#fffdf2,#fff7e4)
}
.cta-icon{
  flex:0 0 72px;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;
  background:#fff;color:#e8b600;font-size:2rem
}
.no-program-cta h3{font-size:.9rem;margin:0;color:#111a37}
.no-program-cta p{font-size:.68rem;color:#758098;margin:10px 0 16px}
.ml-yellow{background:var(--ml-yellow)!important;color:#111!important;box-shadow:none!important;padding:11px 18px!important}
.ml-yellow:hover{background:#f4dd00!important}

.overview-bottom-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}
.insight-panel{min-height:342px;padding:20px!important}
.empty-insight{
  min-height:245px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  color:#7b859a;gap:8px
}
.empty-insight-icon{font-size:2.5rem;color:#9ba4b4;line-height:1}
.empty-insight-icon.pie{font-size:3rem;color:#d5d9e1}
.empty-insight-icon.truck{font-size:3rem;color:#9ba4b4}
.empty-insight strong{font-size:.74rem;color:#526079;font-weight:500;margin-top:7px}
.empty-insight span{font-size:.64rem;line-height:1.75;color:#8b95a8}
.link-btn{margin-top:28px;border:0;background:transparent;color:#1767d7;font-size:.7rem;cursor:pointer}
.overview-info{
  margin-top:20px;border:1px solid #bdd2fa;border-radius:5px;background:#f9fbff;color:#2361c8;
  min-height:45px;display:flex;align-items:center;justify-content:center;font-size:.68rem
}

/* demais páginas no mesmo visual */
.page:not(#page-overview) .page-head{margin-bottom:22px!important}
.toolbar,.distribution-progress,.upload-box,.publish-readiness{box-shadow:none!important}
.upload-box{border-radius:10px!important}
.table-wrap{border-radius:8px!important}
th{background:#f7f8fa!important;color:#667085!important}
td{color:#344054!important}
.btn.primary{background:#3483fa!important}
.btn.primary:hover{background:#2968c8!important}
.carrier-card{border-radius:9px!important}
.placeholder-panel{min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.placeholder-icon{font-size:3rem;color:#a6afbf}
.placeholder-panel h3{font-size:.9rem;color:#3d4960}
.placeholder-panel p{font-size:.72rem;color:#8b95a8}

/* carrier portal keeps brand but shows carrier name */
#page-carrier-programming .kpi-grid{grid-template-columns:repeat(4,1fr)!important}
#page-carrier-programming .kpi{border-radius:10px!important}

/* responsive */
@media(max-width:1250px){
  .premium-kpis{grid-template-columns:repeat(3,1fr)!important}
  .cycle-overview-panel{grid-template-columns:1fr!important}
  .overview-bottom-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .sidebar{left:-270px!important;transition:left .2s}.sidebar.open{left:0!important}
  .topbar{left:0!important}
  .content{margin-left:0!important;width:100%!important;padding:100px 14px 20px!important}
  .mobile-only{display:block!important}
  .overview-bottom-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .premium-kpis{grid-template-columns:1fr 1fr!important}
  .premium-cycle-grid{grid-template-columns:1fr 1fr!important}
  .premium-cycle-card{border-bottom:1px solid #e5e7eb!important;border-right:0!important}
  .top-user-copy{display:none}
  .active-program-selector{min-width:100%;width:100%}
  .premium-page-head{flex-direction:column!important}
}

/* CONFIRMAÇÃO DE ATENDIMENTO E NOSHOWS */
.attendance-actions{display:flex;gap:7px;min-width:205px}.attendance-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #cbd5e1;background:#fff;color:#475467;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:800;cursor:pointer;transition:.15s}.attendance-btn svg{width:14px;height:14px}.attendance-btn.confirm:hover,.attendance-btn.confirm.selected{background:#e8f8ef;border-color:#14a864;color:#08783f}.attendance-btn.noshow:hover,.attendance-btn.noshow.selected{background:#fff0f1;border-color:#e54855;color:#b42331}.attendance-btn:disabled{opacity:.55;cursor:wait}.noshow-panel{margin-top:15px}.noshow-panel>.panel-head input{min-width:285px}.noshow-group{border:1px solid #dce3ed;border-radius:14px;overflow:hidden;margin-top:14px}.noshow-group>header{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;background:#f7f9fc;border-bottom:1px solid #dce3ed}.noshow-group>header>div{display:flex;align-items:center;gap:10px}.noshow-group>header>b{font-size:11px;color:#b42331;background:#fff0f1;border:1px solid #fecdd3;border-radius:999px;padding:5px 9px}.noshow-carrier-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#eaf2ff;color:#2875da}.noshow-carrier-icon svg{width:17px;height:17px}.noshow-group .table-wrap{border:0;border-radius:0}.noshow-group table{margin:0}.noshow-group tbody tr:last-child td{border-bottom:0}@media(max-width:700px){.attendance-actions{min-width:180px;flex-direction:column}.noshow-panel>.panel-head input{min-width:0}.noshow-panel>.panel-head .panel-inline{width:100%;flex-direction:column}.noshow-panel>.panel-head select,.noshow-panel>.panel-head input{width:100%}}

/* ==========================================================
   V8 — CONTRASTE EXECUTIVO + ÍCONES VETORIAIS
   ========================================================== */
:root{
  --ml-bg:#dfe5ec;
  --ml-card:#f1f4f7;
  --ml-card-strong:#e9edf2;
  --ml-line:#c9d1dc;
  --ml-text:#0b1733;
  --ml-muted:#536077;
  --ml-navy:#061b42;
  --ml-navy-2:#0a2d68;
  --ml-shadow:0 9px 25px rgba(6,27,66,.11);
  --ml-shadow-hover:0 15px 38px rgba(6,27,66,.16);
}

html,body{background:var(--ml-bg)!important}
body{
  background:
    radial-gradient(circle at 84% 4%,rgba(52,131,250,.09),transparent 28%),
    linear-gradient(135deg,#d7dee7 0%,#e5e9ee 48%,#d8e0e8 100%)!important;
}

.content{background:rgba(214,222,232,.35)!important}
.topbar{
  background:linear-gradient(105deg,#f2d900 0%,#ffe600 42%,#e9cd00 100%)!important;
  box-shadow:0 5px 22px rgba(6,27,66,.16)!important;
}
.sidebar{
  background:
    radial-gradient(circle at 0 0,rgba(45,104,205,.22),transparent 26%),
    linear-gradient(180deg,#071f4d 0%,#041a3f 62%,#02132f 100%)!important;
  box-shadow:8px 0 28px rgba(4,20,49,.18)!important;
}
.sidebar-logo{background:linear-gradient(105deg,#f3da00,#ffe600 65%,#e5c900)!important}
.nav-item{color:#dbe5f4!important}
.nav-item:hover{background:rgba(91,149,239,.15)!important;color:#fff!important}
.nav-item.active{
  color:#ffe600!important;
  background:linear-gradient(90deg,rgba(52,131,250,.35),rgba(38,78,145,.18))!important;
  box-shadow:inset 3px 0 0 #ffe600,0 7px 18px rgba(0,0,0,.15)!important;
}

.panel,.premium-kpi,.distribution-progress,.wave,.carrier-card{
  background:linear-gradient(145deg,#f4f6f8,#e9edf2)!important;
  border-color:var(--ml-line)!important;
  box-shadow:var(--ml-shadow)!important;
}
.premium-kpi:hover{border-color:#aeb9c8!important}
.premium-cycle-card{background:transparent!important;border-color:#c9d1dc!important}
.premium-cycle-card:hover{background:rgba(255,255,255,.34)!important}
.cycle-card,.carrier-card{background:#e7ebf0!important;border-color:#c8d0db!important}
.no-program-cta{
  background:linear-gradient(125deg,#efe9c9,#e8dfad)!important;
  border-color:#d7c86d!important;
}
.cta-icon{background:#f6f1d7!important;color:#8b6d00!important}
.overview-info{background:#dce7f6!important;border-color:#9bb7df!important;color:#164e9f!important}
.insight-panel{background:linear-gradient(155deg,#f1f4f7,#e6ebf0)!important}
.empty-insight-icon{color:#65738a!important}
.empty-insight-icon.pie{color:#748198!important}

input,select,.btn.ghost,.publish-readiness{
  background:#e8ecf1!important;
  border-color:#bcc6d2!important;
  color:#17233e!important;
}
input::placeholder{color:#68758a}
input:hover,select:hover,.btn.ghost:hover{border-color:#98a6b8!important;background:#f0f2f5!important}
.table-wrap{background:#e9edf2!important;border-color:#bbc5d1!important}
th{background:#d8dee6!important;color:#3d4b63!important;border-bottom-color:#bcc6d2!important}
td{color:#1f2e49!important;border-color:#ced5de!important}
tbody tr:nth-child(even) td{background:rgba(220,226,234,.42)}
tbody tr:hover td{background:#d8e5f5!important}
.progress-track{background:#c8d0da!important}
.status.wait{background:#d4dae2!important;color:#425069!important}
.mini-status{background:#d8dde4!important;color:#44516a!important}
.modal{background:linear-gradient(145deg,#f2f4f7,#e5e9ee)!important;color:#14213b!important}
.modal-close{background:#d9dee5!important;color:#26344d!important}
.user-create-note{background:#dce7f5!important;border-color:#aac0df!important;color:#46546a!important}

.nav-ico svg,.top-icon svg,.user-menu-arrow svg,.calendar-ico svg{width:19px;height:19px}
.nav-ico svg{stroke-width:1.9}
.top-icon,.user-menu-arrow{color:#0b234f!important}
.premium-kpi-icon svg{width:25px;height:25px}
.cta-icon svg{width:31px;height:31px}
.upload-icon{
  width:70px;height:70px;margin:0 auto;display:grid;place-items:center;border-radius:18px;
  background:#d9e5f6;color:#2267bf
}
.upload-icon svg{width:34px;height:34px}
.placeholder-icon,.empty-state .emoji,.empty-insight-icon{
  width:62px;height:62px;display:grid;place-items:center;margin-inline:auto;border-radius:17px;
  background:#dbe1e8;color:#52627a
}
.placeholder-icon svg,.empty-state .emoji svg,.empty-insight-icon svg{width:30px;height:30px}
.empty-insight-icon.pie,.empty-insight-icon.truck{font-size:inherit}
.tab span svg{width:14px;height:14px;vertical-align:-2px}
.ml-yellow{display:inline-flex;align-items:center;gap:8px}
.ml-yellow svg{width:16px;height:16px}

@media(max-width:900px){
  .sidebar{box-shadow:16px 0 40px rgba(4,20,49,.32)!important}
}

/* ==========================================================
   V7 — POLIMENTO PREMIUM
   ========================================================== */
:root{
  --ml-yellow:#ffe600;
  --ml-yellow-deep:#f5d900;
  --ml-navy:#08265b;
  --ml-navy-2:#0b2f70;
  --ml-blue:#3483fa;
  --ml-blue-hover:#2968c8;
  --ml-text:#15203b;
  --ml-muted:#718096;
  --ml-line:#e9edf3;
  --ml-soft:#f6f8fb;
  --ml-card:#ffffff;
  --ml-shadow:0 8px 26px rgba(13,34,68,.055);
  --ml-shadow-hover:0 14px 34px rgba(13,34,68,.09);
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:Inter,"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* LOGIN */
.login-view{
  background:
    linear-gradient(180deg,var(--ml-yellow) 0 250px,#f4f5f7 250px 100%)!important;
}
.login-card{
  width:min(430px,calc(100% - 28px))!important;
  padding:38px 38px 34px!important;
  border:1px solid rgba(15,23,42,.035)!important;
  border-radius:20px!important;
  box-shadow:0 28px 80px rgba(25,33,46,.18)!important;
}
.login-ml-logo{
  width:176px!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  filter:drop-shadow(0 5px 9px rgba(32,48,90,.08));
}
.login-divider{
  margin:24px 0 28px!important;
  background:#edf0f3!important;
}
.login-card h1{
  font-size:1.7rem!important;
  letter-spacing:-.035em!important;
  color:#202b47!important;
}
.login-card p{
  max-width:320px;
  margin-left:auto!important;
  margin-right:auto!important;
  line-height:1.45!important;
  color:#768097!important;
}
.login-card input{
  height:45px;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.login-card .btn.primary{
  min-height:44px;
  font-size:.88rem;
  box-shadow:0 8px 20px rgba(52,131,250,.22)!important;
}

/* SIDEBAR */
.sidebar{
  background:
    radial-gradient(circle at 0 0,rgba(44,94,175,.2),transparent 25%),
    linear-gradient(180deg,#092861 0%,#062454 58%,#041b43 100%)!important;
}
.sidebar-logo{
  height:82px!important;
  padding:7px 20px!important;
  background:linear-gradient(100deg,#ffeb35 0%,var(--ml-yellow) 75%)!important;
  box-shadow:inset 0 -1px 0 rgba(0,0,0,.06);
}
.sidebar-logo img{
  width:178px!important;
  height:66px!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:drop-shadow(0 4px 5px rgba(15,38,88,.06));
}
.sidebar-nav{
  gap:5px!important;
}
.nav-item{
  min-height:46px!important;
  border-radius:10px!important;
  font-weight:500!important;
  letter-spacing:-.01em;
  transition:background .18s ease,color .18s ease,transform .18s ease!important;
}
.nav-item:hover{
  background:rgba(255,255,255,.085)!important;
  transform:translateX(2px);
}
.nav-item.active{
  background:linear-gradient(90deg,rgba(58,117,215,.32),rgba(45,79,142,.16))!important;
  box-shadow:
    inset 3px 0 0 #67a1ff,
    0 5px 14px rgba(0,0,0,.07)!important;
}
.nav-ico{
  opacity:.95;
}
.sidebar-footer-brand{
  opacity:.92;
}
.sidebar-footer-brand img{
  width:48px!important;
  height:34px!important;
  object-fit:contain!important;
}

/* TOPBAR */
.topbar{
  height:82px!important;
  background:
    linear-gradient(105deg,#fff6ac 0%,#ffe82a 26%,var(--ml-yellow) 66%,#ffdc00 100%)!important;
  box-shadow:0 1px 0 rgba(26,33,47,.06),0 5px 18px rgba(23,33,54,.035)!important;
}
.header-copy h1{
  font-size:1.4rem!important;
  letter-spacing:-.035em;
}
.header-copy p{
  font-size:.75rem!important;
  color:#566179!important;
}
.top-icon{
  transition:background .18s ease,transform .18s ease!important;
}
.top-icon:hover{
  background:rgba(255,255,255,.5)!important;
  transform:translateY(-1px);
}
.top-avatar{
  box-shadow:0 6px 16px rgba(10,38,91,.16);
}

/* CONTENT */
.content{
  padding-top:112px!important;
}
.page{
  max-width:1580px!important;
}
.page-head h2{
  font-size:1.48rem!important;
  letter-spacing:-.035em!important;
}
.page-head p{
  font-size:.78rem!important;
}

/* CARDS E KPIs */
.panel,
.premium-kpi,
.distribution-progress{
  border-color:var(--ml-line)!important;
  box-shadow:var(--ml-shadow)!important;
}
.premium-kpi{
  min-height:126px!important;
  border-radius:13px!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.premium-kpi:hover{
  transform:translateY(-2px);
  box-shadow:var(--ml-shadow-hover)!important;
  border-color:#dfe5ee!important;
}
.premium-kpi-icon{
  border-radius:14px!important;
  box-shadow:inset 0 0 0 1px rgba(44,62,80,.035);
}
.premium-kpi .kpi-value{
  font-size:1.55rem!important;
  letter-spacing:-.025em;
}
.panel{
  border-radius:13px!important;
}
.cycle-overview-panel{
  gap:40px!important;
  padding:25px!important;
}
.premium-cycle-card{
  transition:background .18s ease;
}
.premium-cycle-card:hover{
  background:#fafcff!important;
}
.mini-status{
  font-weight:600;
  padding:5px 9px!important;
}
.no-program-cta{
  border:1px solid #fff3bf;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.cta-icon{
  box-shadow:0 8px 20px rgba(234,189,0,.08);
}
.ml-yellow{
  border-radius:8px!important;
  font-weight:700!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.ml-yellow:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(220,184,0,.16)!important;
}

/* INSIGHTS */
.insight-panel{
  min-height:350px!important;
}
.empty-insight{
  color:#8993a7!important;
}
.empty-insight-icon{
  filter:drop-shadow(0 5px 8px rgba(69,83,110,.06));
}
.link-btn{
  font-weight:600;
}
.link-btn:hover{
  text-decoration:underline;
}

/* FORMULÁRIOS */
input,select{
  border-color:#dce1e7!important;
  border-radius:9px!important;
}
input:hover,select:hover{
  border-color:#c8d0db!important;
}
input:focus,select:focus{
  border-color:var(--ml-blue)!important;
  box-shadow:0 0 0 3px rgba(52,131,250,.12)!important;
}
.btn{
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease!important;
}
.btn:not(:disabled):hover{
  transform:translateY(-1px);
}
.btn.primary{
  border-radius:9px!important;
  box-shadow:0 6px 16px rgba(52,131,250,.16)!important;
}
.btn.ghost{
  border-color:#dfe4eb!important;
}

/* TABELAS */
.table-wrap{
  border:1px solid #e7ebf0!important;
  box-shadow:0 3px 12px rgba(20,35,60,.025);
}
th{
  height:43px;
  font-weight:700!important;
  letter-spacing:.025em!important;
}
td{
  height:46px;
}
tbody tr{
  transition:background .15s ease;
}
tbody tr:hover td{
  background:#f8fbff!important;
}

/* DISTRIBUIÇÃO */
.distribution-progress{
  border-radius:12px!important;
}
.carrier-select.unassigned{
  font-weight:650;
}
.carrier-select.assigned{
  color:#245eb5;
  font-weight:650;
}
.progress-track{
  height:9px!important;
}
.progress-track span{
  background:linear-gradient(90deg,#3483fa,#60a0ff)!important;
}

/* MODAIS */
.modal{
  border-radius:18px!important;
  box-shadow:0 28px 90px rgba(16,24,40,.26)!important;
}
.modal-close{
  transition:background .15s ease,transform .15s ease;
}
.modal-close:hover{
  background:#eceff3!important;
  transform:rotate(4deg);
}

/* ESTADOS */
.status{
  font-weight:750!important;
  padding:5px 10px!important;
}
.status.published{
  background:#eaf8f0!important;
  color:#058847!important;
}
.status.wait{
  background:#f2f4f7!important;
  color:#667085!important;
}

/* SCROLLBAR */
*{
  scrollbar-width:thin;
  scrollbar-color:#cfd7e3 transparent;
}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:#cfd7e3;border-radius:999px;border:2px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-track{background:transparent}

/* RESPONSIVO */
@media(max-width:1250px){
  .premium-kpis{gap:12px!important}
}
@media(max-width:900px){
  .topbar{height:72px!important}
  .content{padding-top:95px!important}
  .sidebar-logo{height:72px!important}
}
@media(max-width:650px){
  .login-card{padding:30px 22px 26px!important}
  .login-ml-logo{width:150px!important}
  .premium-kpis{grid-template-columns:1fr!important}
  .premium-kpi{min-height:106px!important}
  .cycle-overview-panel{padding:17px!important}
  .no-program-cta{padding:18px!important;align-items:flex-start!important}
  .cta-icon{width:54px;height:54px;flex-basis:54px}
}

/* XPT whiteboard */
.xpt-board-controls{flex-wrap:wrap;justify-content:flex-end}.xpt-board-controls .xpt-zoom-btn{min-width:42px;padding-inline:11px}.xpt-board-controls>#xptZoomLabel{min-width:48px;text-align:center;font-size:12px;color:#344054}.xpt-board-viewport{position:relative;width:100%;max-height:none;overflow:auto;padding:16px;border:1px solid #cfd9e8;border-radius:16px;background-color:#f9fbfe;background-image:radial-gradient(#cbd7e7 1px,transparent 1px);background-size:20px 20px;box-shadow:inset 0 1px 8px rgba(24,50,86,.06);cursor:grab}.xpt-board-viewport:active{cursor:grabbing}.xpt-dock-grid{display:grid!important;grid-template-columns:repeat(6,286px)!important;gap:14px!important;width:max-content!important;align-items:start!important;transform-origin:top left}.xpt-dock-card{min-height:0!important;height:max-content!important}.xpt-route-list{max-height:none!important;overflow:visible!important}.xpt-route{cursor:pointer}.xpt-no-data{grid-column:1/-1;width:calc(100vw - 360px)}body.xpt-menu-collapsed .sidebar{transform:translateX(-100%)!important;pointer-events:none}body.xpt-menu-collapsed .content{margin-left:0!important;width:100%!important}body.xpt-menu-collapsed .topbar{padding-left:30px!important}.sidebar,.content{transition:transform .22s ease,margin-left .22s ease,width .22s ease}.xpt-board-viewport::-webkit-scrollbar{height:12px;width:12px}.xpt-board-viewport::-webkit-scrollbar-thumb{background:#9eabc0;border:3px solid #edf2f8;border-radius:999px}.xpt-board-viewport::-webkit-scrollbar-track{background:#edf2f8;border-radius:999px}
@media(max-width:900px){.xpt-board-controls{justify-content:flex-start}.xpt-board-controls .btn span{display:none}.xpt-board-viewport{padding:10px}.xpt-dock-grid{grid-template-columns:repeat(6,270px)!important}}
@media print{.xpt-board-controls,.xpt-board-viewport::-webkit-scrollbar{display:none!important}.xpt-board-viewport{overflow:visible;border:0;padding:0;background:#fff}.xpt-dock-grid{zoom:.55!important;grid-template-columns:repeat(6,286px)!important}}

.xpt-dock-grid{display:block!important;width:1810px!important}.xpt-board-sheet{width:1810px;margin-bottom:18px}.xpt-sheet-grid{display:grid;grid-template-columns:repeat(6,286px);gap:14px;align-items:start}.xpt-print-header,.xpt-print-legend{display:none}.xpt-dock-shifts{display:flex;gap:4px;margin-left:auto}.xpt-shift,.xpt-shift-badge{display:inline-flex!important;align-items:center;justify-content:center;border-radius:5px;font-weight:900;line-height:1}.xpt-shift{padding:4px 6px;font-size:9px}.xpt-shift-badge{position:absolute;right:6px;top:6px;padding:4px 5px;font-size:8px;font-style:normal}.xpt-shift.am,.xpt-shift-badge.am{color:#8a5200;background:#fff0bd;border:1px solid #f2bd42}.xpt-shift.pm,.xpt-shift-badge.pm{color:#134d9c;background:#dcecff;border:1px solid #75aaf0}.xpt-shift-badge.\—{display:none!important}.xpt-route.shift-am{border-left-color:#f0aa1d}.xpt-route.shift-pm{border-left-color:#3483fa}.xpt-route>b{padding-right:30px}

@media print{
  @page{size:A4 landscape;margin:5mm}
  html,body{width:287mm!important;margin:0!important;padding:0!important;background:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  #appView,.shell,.content,#page-xpt{display:block!important;width:100%!important;margin:0!important;padding:0!important;background:#fff!important}
  .topbar,.sidebar,.xpt-page-head,.xpt-kpis,.xpt-audit-banner,.xpt-legend{display:none!important}
  .xpt-board-viewport{display:block!important;width:100%!important;overflow:visible!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;background:#fff!important}
  .xpt-dock-grid{display:block!important;width:100%!important;zoom:1!important}
  .xpt-board-sheet{display:block!important;width:100%!important;height:198mm!important;margin:0!important;overflow:hidden!important;break-after:page!important;page-break-after:always!important}
  .xpt-board-sheet:last-child{break-after:auto!important;page-break-after:auto!important}
  .xpt-print-header{height:15mm;display:flex!important;align-items:center;gap:3mm;padding:1.5mm 2mm;margin-bottom:1.5mm;border-radius:2mm;background:#071f4d!important;color:#fff!important}
  .xpt-print-header img{width:22mm;height:12mm;object-fit:contain;background:#ffe600;border-radius:1.5mm;padding:.7mm}.xpt-print-header>div{flex:1}.xpt-print-header h1{margin:0;font-size:13pt;color:#fff!important}.xpt-print-header p{margin:1mm 0 0;font-size:7pt;color:#dce8fa!important}.xpt-print-header aside{text-align:right}.xpt-print-header aside strong,.xpt-print-header aside span,.xpt-print-header aside small{display:block}.xpt-print-header aside strong{font-size:8pt}.xpt-print-header aside span,.xpt-print-header aside small{margin-top:.8mm;font-size:6pt;color:#dce8fa!important}
  .xpt-print-legend{display:flex!important;align-items:center;gap:1.5mm;height:6mm;padding:0 1mm;font-size:6pt}.xpt-print-legend span{margin-right:3mm;color:#475467}
  .xpt-sheet-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:1.3mm!important;width:100%!important;align-items:start!important}
  .xpt-dock-card{display:flex!important;min-width:0!important;border-radius:1.5mm!important;border-width:.35mm!important;border-top-width:1mm!important;box-shadow:none!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .xpt-dock-card>header{padding:1.3mm 1.5mm!important}.xpt-dock-card>header small{font-size:5pt!important}.xpt-dock-card>header strong{font-size:13pt!important}.xpt-route-count{font-size:5pt!important;padding:1mm 1.2mm!important}
  .xpt-service-line{padding:1mm!important;min-height:6mm!important;gap:.7mm!important}.xpt-service-line>span{font-size:5pt!important;padding:.7mm 1mm!important}.xpt-dock-shifts{gap:.6mm}.xpt-shift{font-size:5pt!important;padding:.7mm 1mm!important}
  .xpt-route-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.65mm!important;padding:1mm!important;max-height:none!important;overflow:visible!important}
  .xpt-route{min-height:5.2mm!important;padding:.8mm 1mm!important;border-radius:1mm!important;border-width:.25mm!important;border-left-width:.8mm!important;box-shadow:none!important}.xpt-route b{font-size:5.6pt!important;padding-right:7mm!important;line-height:1.1!important}.xpt-route small{display:none!important}.xpt-route span{font-size:4.5pt!important;margin-top:.6mm!important;line-height:1!important}.xpt-shift-badge{right:.7mm!important;top:.7mm!important;padding:.6mm .8mm!important;font-size:4.5pt!important}
  .xpt-dock-card>footer{padding:1mm 1.3mm!important;font-size:5pt!important}.xpt-dock-card>footer b{padding:.6mm .8mm!important;font-size:4.5pt!important}
}

/* Fluid dock reflow while zooming; print keeps two fixed groups of six. */
@media screen{
  .xpt-dock-grid{display:grid!important;grid-template-columns:repeat(var(--xpt-columns,6),286px)!important;gap:14px!important;width:max-content!important;align-items:start!important}
  .xpt-board-sheet,.xpt-sheet-grid{display:contents!important}
}
@media print{
  .xpt-dock-grid{display:block!important;width:100%!important}
  .xpt-board-sheet{display:block!important}
  .xpt-sheet-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important}
}

/* XPT board sizing and shared-service totals */
.xpt-board-viewport{height:calc(100vh - 285px)!important;min-height:480px!important;max-height:none!important}.xpt-dock-card>footer.shared-totals{align-items:flex-start;gap:7px}.xpt-service-totals{display:grid;gap:4px;flex:1}.xpt-service-totals>span{display:flex!important;align-items:center;justify-content:space-between;gap:6px;padding:4px 6px;border-radius:6px;background:#fff9ce;border:1px solid #ecdc72}.xpt-service-totals strong{color:#655500;font-size:9px}.xpt-service-totals small{color:#655500;font-size:8px;white-space:nowrap}
@media print{
  .xpt-board-viewport{height:auto!important;min-height:0!important}
  .xpt-board-sheet{width:133.333%!important;height:auto!important;min-height:260mm!important;overflow:visible!important;zoom:.75!important;break-after:page!important;page-break-after:always!important}
  .xpt-board-sheet:last-child{break-after:auto!important;page-break-after:auto!important}
  .xpt-service-totals{gap:.5mm!important}.xpt-service-totals>span{padding:.5mm .7mm!important;border-radius:.6mm!important}.xpt-service-totals strong{font-size:4.5pt!important}.xpt-service-totals small{font-size:4pt!important}
}
