/* ASN ERP V3.5.0 — tema unificado inspirado na Visão Geral */
:root{
  --bg-main:#09090b;--bg-secondary:#141417;--bg-tertiary:#1c1c21;
  --bg-elevated:#202026;--border:#2a2a30;--border-soft:#222228;
  --text-main:#f4f4f5;--text-support:#a1a1aa;--text-muted:#71717a;
  --accent:#10b981;--accent-hover:#059669;--accent-soft:rgba(16,185,129,.11);
  --danger:#f75a68;--warning:#f59e0b;--info:#60a5fa;
  --radius:14px;--radius-sm:9px;--shadow:0 18px 45px rgba(0,0,0,.22);
  --sidebar-width:260px;
}
[data-theme="light"]{
  --bg-main:#f6f7f8;--bg-secondary:#fff;--bg-tertiary:#f3f4f6;--bg-elevated:#fff;
  --border:#e4e4e7;--border-soft:#ececef;--text-main:#18181b;--text-support:#52525b;--text-muted:#71717a;
  --accent-soft:rgba(16,185,129,.09);--shadow:0 18px 42px rgba(24,24,27,.08);
}
html{background:var(--bg-main)}
body{
  background:
    radial-gradient(circle at 88% -10%,rgba(16,185,129,.09),transparent 28rem),
    var(--bg-main)!important;
  color:var(--text-main)!important;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
}
.sidebar{
  background:linear-gradient(180deg,var(--bg-secondary),color-mix(in srgb,var(--bg-secondary) 92%,#000 8%))!important;
  border-right:1px solid var(--border)!important;
  padding:24px 18px!important;
}
.sidebar h2{font-size:1rem!important;letter-spacing:.08em!important;margin-bottom:28px!important}
.sidebar a{border-radius:10px!important;padding:11px 13px!important;color:var(--text-support)!important}
.sidebar a:hover{background:var(--bg-tertiary)!important;color:var(--text-main)!important;transform:translateX(2px)}
.sidebar a.active{margin-left:0!important;padding-left:13px!important;border-left:0!important;background:var(--accent-soft)!important;color:var(--accent)!important;box-shadow:inset 3px 0 var(--accent)}
.main-content{padding:30px 34px 48px!important;max-width:calc(100vw - var(--sidebar-width))!important}
.main-content>h1:first-child,.main-content>header h1,.page-title{font-size:1.65rem!important;letter-spacing:-.025em!important}
.toolbar,.table-header,.section-header-row{gap:12px!important}
.action-section,.table-container,.table-header,.filtros-globais,.card,.dash-card,.produto-card,.table-compras,.panel,.v34-panel{
  background:color-mix(in srgb,var(--bg-secondary) 96%,transparent)!important;
  border:1px solid var(--border)!important;
  border-radius:var(--radius)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.015)!important;
}
.action-section,.table-container,.filtros-globais{padding:20px!important}
.action-section{margin-bottom:20px!important}
.dashboard-cards{gap:12px!important;margin-bottom:22px!important}
.dashboard-cards .card,.dash-card{border-left:1px solid var(--border)!important;padding:18px!important;position:relative;overflow:hidden}
.dashboard-cards .card::before,.dash-card::before{content:"";position:absolute;left:0;top:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),transparent 65%);opacity:.85}
.card h3,.dash-card h3{font-size:.72rem!important;letter-spacing:.075em!important;color:var(--text-muted)!important}
.card .value,.dash-card .value{font-size:1.45rem!important;letter-spacing:-.03em!important}
.filtros-globais{align-items:flex-end!important;background:var(--bg-secondary)!important}
.form-group{gap:7px!important}
.form-group label,label{color:var(--text-support)}
input:not([type="checkbox"]):not([type="radio"]),select,textarea,.search-input,.sort-select,.pp-input{
  background:var(--bg-tertiary)!important;color:var(--text-main)!important;border:1px solid var(--border)!important;
  border-radius:10px!important;min-height:42px;outline:none!important;box-shadow:none!important
}
input:focus,select:focus,textarea:focus,.pp-input:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(16,185,129,.10)!important}
button,.btn-submit,.btn-add,.tab-btn,.pp-btn{border-radius:10px!important;transition:transform .15s ease,background .15s ease,border-color .15s ease,opacity .15s ease!important}
button:not(:disabled):active{transform:translateY(1px)}
.btn-submit,.btn-add,.pp-btn-primary,.tab-btn.active{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}
.btn-submit:hover,.btn-add:hover,.pp-btn-primary:hover{background:var(--accent-hover)!important}
.tab-btn{background:transparent!important;border:1px solid var(--border)!important;color:var(--text-support)!important}
.tab-btn:hover{background:var(--bg-tertiary)!important;color:var(--text-main)!important}
.tab-btn.active{color:#fff!important}
.btn-danger{border-radius:10px!important;background:rgba(247,90,104,.13)!important;color:var(--danger)!important;border:1px solid rgba(247,90,104,.25)!important}
.file-dropzone{
  border:1.5px dashed color-mix(in srgb,var(--accent) 70%,var(--border))!important;
  border-radius:16px!important;padding:34px!important;background:linear-gradient(180deg,rgba(16,185,129,.06),rgba(16,185,129,.025))!important
}
.file-dropzone:hover{background:rgba(16,185,129,.09)!important;transform:translateY(-1px)}
.table-container{overflow-x:auto!important}
table{border-collapse:separate!important;border-spacing:0!important}
th{background:color-mix(in srgb,var(--bg-tertiary) 72%,transparent)!important;color:var(--text-muted)!important;font-size:.72rem!important;letter-spacing:.06em!important;border-bottom:1px solid var(--border)!important}
td{border-bottom:1px solid var(--border-soft)!important}
tbody tr:hover td{background:rgba(255,255,255,.018)}
.modal-overlay{backdrop-filter:blur(7px);background:rgba(0,0,0,.68)!important}
.modal-content{background:var(--bg-secondary)!important;border:1px solid var(--border)!important;border-radius:18px!important;box-shadow:var(--shadow)!important}
.modal-header{border-color:var(--border)!important}
.status-badge{border-radius:999px!important;padding:5px 9px!important}
#asn-contexto-cloud-v343{background:var(--accent-soft)!important;border:1px solid rgba(16,185,129,.20)!important;border-radius:12px!important;padding:10px 12px!important;color:var(--text-support)!important}
#asn-paginacao-vendas-v343{color:var(--text-support)!important}
.pp-panel,.pp-card,.pp-summary{border-radius:var(--radius)!important;border-color:var(--border)!important;background:var(--bg-secondary)!important}
/* remove visual de blocos legados escondidos/sem utilidade na operação */
#painel-perfis-custo,#secao-perfis-custo,#painel-acrescimo-custo-conta{display:none!important}
@media(max-width:980px){
  .main-content{padding:22px!important}
  .dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:768px){
  .main-content{margin-left:0!important;max-width:100vw!important;padding:18px 14px 36px!important}
  .dashboard-cards{grid-template-columns:1fr!important}
  .filtros-globais,.toolbar,.table-header{align-items:stretch!important}
}

/* =============================================================
   ASN ERP V3.5.91 — acabamento visual unificado + custo rápido
   ============================================================= */
:root{
  --surface-glass:color-mix(in srgb,var(--bg-secondary) 94%,transparent);
  --surface-hover:color-mix(in srgb,var(--bg-tertiary) 86%,var(--accent) 4%);
  --ring:0 0 0 3px rgba(16,185,129,.11);
}
body{line-height:1.45}
.main-content{width:100%;}
.main-content>h1:first-child,.main-content>header h1,.page-title{font-weight:800!important;color:var(--text-main)!important;margin-bottom:5px!important}
.main-content>p:first-of-type,.page-subtitle{color:var(--text-support)!important}
.sidebar{box-shadow:10px 0 35px rgba(0,0,0,.10)}
.sidebar h2{font-weight:850!important}
.sidebar a{min-height:43px;position:relative}
.sidebar a.active:after{content:"";position:absolute;right:10px;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}
.toolbar{align-items:stretch!important;flex-wrap:wrap!important;background:var(--surface-glass);border:1px solid var(--border);border-radius:16px;padding:12px!important;box-shadow:0 1px 0 rgba(255,255,255,.02)}
.search-input,.sort-select{min-height:46px!important}
.search-input{background:color-mix(in srgb,var(--bg-tertiary) 88%,transparent)!important}
.btn-add,.btn-submit,.pp-btn-primary{font-weight:750!important;box-shadow:0 8px 22px rgba(16,185,129,.10)}
.btn-add:hover,.btn-submit:hover,.pp-btn-primary:hover{transform:translateY(-1px)}
.table-header{padding:18px 20px!important}
.table-header h3,.section-title{font-weight:800!important;letter-spacing:-.015em}
.action-section,.table-container,.table-header,.filtros-globais,.card,.dash-card,.produto-card,.table-compras,.panel,.v34-panel,.pp-panel,.pp-card,.pp-summary{box-shadow:0 10px 30px rgba(0,0,0,.08)!important}
.produto-card{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important}
.produto-card:hover{transform:translateY(-3px)!important;box-shadow:0 16px 36px rgba(0,0,0,.16)!important}
.modal-content{padding:24px!important}
input:not([type="checkbox"]):not([type="radio"]),select,textarea,.search-input,.sort-select,.pp-input{transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
tbody tr:last-child td{border-bottom:0!important}

/* custo rápido */
.asn-quick-cost-launch{min-width:210px;display:flex!important;gap:10px;align-items:center;justify-content:flex-start;padding:8px 14px!important;border:1px solid rgba(16,185,129,.28)!important;background:linear-gradient(135deg,rgba(16,185,129,.13),rgba(16,185,129,.05))!important;color:var(--text-main)!important}
.asn-quick-cost-launch>span:first-child{font-size:1.25rem}.asn-quick-cost-launch>span:last-child{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}.asn-quick-cost-launch strong{font-size:.88rem}.asn-quick-cost-launch small{font-size:.68rem;color:var(--text-support);margin-top:3px}
.asn-quick-cost-launch:hover{border-color:var(--accent)!important;background:rgba(16,185,129,.15)!important;transform:translateY(-1px)}
.asn-card-cost-btn{flex:1;background:none;border:0;border-right:1px solid var(--border);padding:10px;color:var(--accent);cursor:pointer;font-weight:750}.asn-card-cost-btn:hover{background:var(--accent-soft)!important}
.asn-quick-cost-overlay{position:fixed;inset:0;z-index:1000000;background:rgba(0,0,0,.72);backdrop-filter:blur(10px);display:flex;align-items:flex-start;justify-content:center;padding:7vh 18px 28px}.asn-quick-cost-overlay.hidden{display:none!important}
.asn-quick-cost-modal{width:min(720px,100%);max-height:86vh;overflow:auto;background:var(--bg-secondary);border:1px solid var(--border);border-radius:22px;box-shadow:0 28px 80px rgba(0,0,0,.45);padding:24px}
.asn-quick-cost-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.asn-quick-cost-head h2{font-size:1.4rem;letter-spacing:-.025em;margin:2px 0 5px}.asn-quick-cost-head p{font-size:.84rem;color:var(--text-support);max-width:520px}.asn-eyebrow{font-size:.66rem;letter-spacing:.11em;font-weight:850;color:var(--accent)}
.asn-icon-btn{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--border)!important;background:var(--bg-tertiary)!important;color:var(--text-support)!important;border-radius:11px!important}.asn-icon-btn:hover{color:var(--text-main)!important;border-color:var(--text-support)!important}
.asn-quick-cost-searchbox{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:14px;padding:0 13px;margin-bottom:12px}.asn-quick-cost-searchbox:focus-within{border-color:var(--accent);box-shadow:var(--ring)}.asn-quick-cost-searchbox input{border:0!important;background:transparent!important;min-height:50px!important;padding:0!important;box-shadow:none!important}.asn-quick-cost-searchbox kbd{font-size:.66rem;color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:3px 6px}
.asn-quick-cost-results{display:flex;flex-direction:column;gap:6px;max-height:390px;overflow:auto}.asn-quick-cost-result{width:100%;display:grid!important;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;text-align:left;padding:10px 12px!important;border:1px solid transparent!important;background:transparent!important;color:var(--text-main)!important}.asn-quick-cost-result:hover{background:var(--surface-hover)!important;border-color:var(--border)!important}.asn-quick-product-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--bg-tertiary)}.asn-quick-product-main,.asn-quick-product-cost{display:flex;flex-direction:column}.asn-quick-product-main strong{font-size:.9rem}.asn-quick-product-main small,.asn-quick-product-cost small{color:var(--text-muted);font-size:.69rem;margin-top:2px}.asn-quick-product-cost{text-align:right}.asn-quick-product-cost strong{font-size:.88rem}
.asn-empty-state{padding:28px;text-align:center;color:var(--text-support);border:1px dashed var(--border);border-radius:14px}
.asn-quick-cost-selected{margin:14px 0 12px;border:1px solid var(--border);border-radius:14px;background:var(--bg-tertiary);padding:14px}.asn-selected-product{display:flex;align-items:center;justify-content:space-between;gap:18px}.asn-selected-product h3{font-size:1rem;margin:2px 0}.asn-selected-product p{font-size:.74rem;color:var(--text-support)}.asn-selected-cost{text-align:right;display:flex;flex-direction:column}.asn-selected-cost small{font-size:.68rem;color:var(--text-muted)}.asn-selected-cost strong{font-size:1.05rem;color:var(--accent)}
.asn-quick-cost-editor{border-top:1px solid var(--border);padding-top:16px}.asn-quick-cost-editor.hidden,.asn-quick-cost-selected.hidden{display:none!important}.asn-quick-cost-editor>label{display:block;font-size:.78rem;font-weight:750;margin-bottom:7px}.asn-money-input{display:grid;grid-template-columns:auto 1fr;align-items:center;border:1px solid var(--border);border-radius:12px;background:var(--bg-tertiary);padding-left:13px}.asn-money-input:focus-within{border-color:var(--accent);box-shadow:var(--ring)}.asn-money-input span{font-weight:800;color:var(--text-support)}.asn-money-input input{border:0!important;background:transparent!important;box-shadow:none!important;font-size:1.08rem!important;font-weight:800!important;min-height:50px!important}.asn-quick-cost-note{font-size:.74rem;line-height:1.45;color:var(--text-support);background:rgba(96,165,250,.07);border:1px solid rgba(96,165,250,.18);border-radius:10px;padding:10px 12px;margin-top:10px}.asn-quick-cost-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.asn-auto-cost-warning{font-size:.78rem;color:var(--text-support);background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.20);border-radius:10px;padding:11px;margin:12px 0}

@media(max-width:700px){.asn-quick-cost-launch{width:100%;min-width:0}.asn-quick-cost-overlay{padding:14px}.asn-quick-cost-modal{border-radius:16px;padding:17px}.asn-quick-cost-searchbox kbd{display:none}.asn-selected-product{align-items:flex-start}.asn-quick-cost-actions{flex-direction:column-reverse}.asn-quick-cost-actions button{width:100%}.asn-quick-cost-result{grid-template-columns:38px 1fr}.asn-quick-product-cost{grid-column:2;text-align:left;flex-direction:row;gap:6px;align-items:baseline}}
