/* ASN ERP V3.4.0 — Visão Geral redesenhada */
.dashboard-v34-shell { padding: 28px 32px 48px !important; }
.dashboard-v34 { width: min(1680px, 100%); margin: 0 auto; }

.v34-topbar { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:22px; }
.v34-eyebrow { color:var(--accent); font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; margin-bottom:7px; }
.v34-topbar h1 { font-size:clamp(1.75rem, 2.2vw, 2.45rem); line-height:1.1; letter-spacing:-.035em; margin:0; }
.v34-date { color:var(--text-support); font-size:.88rem; margin-top:8px; }
.v34-header-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.v34-btn { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:0 14px; border:1px solid var(--border); border-radius:10px; background:var(--bg-secondary); color:var(--text-main); text-decoration:none; font-size:.86rem; font-weight:700; transition:.18s ease; }
.v34-btn:hover { transform:translateY(-1px); border-color:var(--text-support); }
.v34-btn-primary { background:var(--accent); border-color:var(--accent); color:#fff; }
.v34-theme-btn { margin:0 !important; min-height:40px; border-radius:10px !important; }

.v34-filterbar { background:var(--bg-secondary); border:1px solid var(--border); border-radius:14px; padding:14px 16px; margin-bottom:16px; box-shadow:0 10px 30px rgba(0,0,0,.04); }
.v34-filter-main { display:grid; grid-template-columns:minmax(220px, 1.05fr) minmax(190px,.75fr) minmax(300px,1.7fr); gap:14px; align-items:end; }
.v34-filterbar .filter-group { min-width:0; }
.v34-filterbar .filter-group label { font-size:.69rem; letter-spacing:.08em; margin-bottom:1px; }
.v34-filterbar .filter-input { min-height:40px; padding:9px 12px; border-radius:9px; background:var(--bg-tertiary); }
.v34-platform-pills { min-height:40px; display:flex; align-items:center; gap:7px; padding:0 !important; }
.v34-platform-pills label { position:relative; display:inline-flex !important; align-items:center; gap:6px !important; padding:7px 10px; border:1px solid var(--border); border-radius:999px; background:var(--bg-tertiary); font-size:.79rem !important; font-weight:700 !important; color:var(--text-support) !important; transition:.16s ease; }
.v34-platform-pills label:has(input:checked) { color:var(--text-main) !important; border-color:rgba(16,185,129,.55); background:rgba(16,185,129,.08); }
.v34-platform-pills input { accent-color:var(--accent); }
.v34-muted { color:var(--text-support); font-size:.82rem; }

.v34-kpi-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.v34-kpi { position:relative; min-height:132px; padding:17px; border:1px solid var(--border); border-radius:14px; background:var(--bg-secondary); overflow:hidden; }
.v34-kpi::after { content:""; position:absolute; inset:auto -35px -50px auto; width:105px; height:105px; border-radius:50%; background:rgba(255,255,255,.025); }
.v34-kpi-icon { width:30px; height:30px; border-radius:9px; display:flex; align-items:center; justify-content:center; background:var(--bg-tertiary); color:var(--text-support); font-size:.76rem; font-weight:900; margin-bottom:12px; }
.v34-kpi-label { color:var(--text-support); font-size:.71rem; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
.v34-kpi-value { margin-top:5px; font-size:clamp(1.3rem,1.6vw,1.72rem); line-height:1.12; font-weight:850; letter-spacing:-.035em; white-space:nowrap; }
.v34-kpi-note { color:var(--text-support); font-size:.73rem; margin-top:7px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.v34-kpi-revenue { border-color:rgba(59,130,246,.28); }
.v34-kpi-revenue .v34-kpi-value { color:#3b82f6; }
.v34-kpi-profit { border-color:rgba(16,185,129,.3); }
.v34-kpi-profit .v34-kpi-value { color:var(--accent); }
.v34-kpi-alert { border-color:rgba(247,90,104,.25); }
.v34-kpi-alert .v34-kpi-value { color:var(--danger); }

.v34-main-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:16px; margin-bottom:16px; }
.v34-operation-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); gap:16px; margin-bottom:16px; }
.v34-panel { background:var(--bg-secondary); border:1px solid var(--border); border-radius:16px; padding:19px; min-width:0; }
.v34-panel-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:16px; }
.v34-panel-kicker { color:var(--text-support); font-size:.67rem; font-weight:800; text-transform:uppercase; letter-spacing:.095em; margin-bottom:4px; }
.v34-panel h2 { font-size:1.05rem; letter-spacing:-.015em; margin:0; }
.v34-total-cost { text-align:right; min-width:125px; }
.v34-total-cost span { display:block; color:var(--text-support); font-size:.68rem; font-weight:700; text-transform:uppercase; }
.v34-total-cost strong { display:block; margin-top:3px; color:var(--danger); font-size:1rem; }
.v34-financial-content { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,.72fr); gap:18px; align-items:center; }
.v34-breakdown-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.v34-breakdown-item { padding:12px; border:1px solid var(--border); border-radius:11px; background:var(--bg-tertiary); }
.v34-breakdown-item span { color:var(--text-support); font-size:.71rem; display:block; margin-bottom:5px; }
.v34-breakdown-item strong { font-size:.95rem; }
.v34-chart-wrap { position:relative; width:100%; min-width:0; }
.v34-donut-wrap { height:250px; }
.v34-bar-wrap { height:220px; margin-bottom:12px; }
.v34-badge { padding:6px 9px; border-radius:999px; background:var(--bg-tertiary); color:var(--text-support); font-size:.72rem; font-weight:700; white-space:nowrap; }
.v34-link { color:var(--accent); text-decoration:none; font-size:.78rem; font-weight:750; }

.v34-compact-table-wrap { overflow:auto; border:1px solid var(--border); border-radius:11px; }
.v34-compact-table { width:100%; min-width:600px; border-collapse:collapse; }
.v34-compact-table th { background:var(--bg-tertiary); padding:9px 11px; font-size:.65rem; letter-spacing:.055em; }
.v34-compact-table td { padding:10px 11px; font-size:.79rem; }
.v34-compact-table tbody tr:last-child td { border-bottom:none; }
.v34-empty { text-align:center; color:var(--text-support); padding:24px !important; }

.v34-operation-card { display:flex; flex-direction:column; }
.v34-operation-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; margin-bottom:12px; }
.v34-operation-stats > div { border:1px solid var(--border); background:var(--bg-tertiary); border-radius:11px; padding:12px; }
.v34-operation-stats span { display:block; color:var(--text-support); font-size:.7rem; }
.v34-operation-stats strong { display:block; margin-top:4px; font-size:1.22rem; }
.v34-quick-actions { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; }
.v34-action-tile { min-height:88px; display:grid; grid-template-columns:34px 1fr; grid-template-rows:auto auto; column-gap:9px; align-content:center; padding:12px; border:1px solid var(--border); border-radius:11px; background:var(--bg-tertiary); color:var(--text-main); text-decoration:none; transition:.16s ease; }
.v34-action-tile:hover { border-color:var(--accent); transform:translateY(-1px); }
.v34-action-tile > span { grid-row:1 / 3; font-size:1.3rem; align-self:center; }
.v34-action-tile strong { font-size:.78rem; align-self:end; }
.v34-action-tile small { color:var(--text-support); font-size:.66rem; line-height:1.25; margin-top:2px; }

.v34-details { border:1px solid var(--border); border-radius:14px; background:var(--bg-secondary); margin-bottom:12px; overflow:hidden; }
.v34-details > summary { cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:15px 18px; user-select:none; }
.v34-details > summary::-webkit-details-marker { display:none; }
.v34-details > summary > span:first-child { display:flex; flex-direction:column; gap:3px; }
.v34-details > summary strong { font-size:.9rem; }
.v34-details > summary small { color:var(--text-support); font-size:.72rem; font-weight:500; }
.v34-summary-action { color:var(--accent); font-size:.74rem; font-weight:800; white-space:nowrap; }
.v34-details[open] .v34-summary-action { font-size:0; }
.v34-details[open] .v34-summary-action::after { content:"Recolher"; font-size:.74rem; }
.v34-details-body { border-top:1px solid var(--border); padding:16px 18px 18px; }
.v34-section-header { margin:0 0 14px !important; padding-bottom:11px !important; }
.v34-kanban { margin:0 !important; padding-bottom:4px !important; }
.v34-kanban .kanban-col { min-width:265px; }

/* melhora a legibilidade do dashboard sem alterar as demais telas */
.dashboard-v34 .status-badge { white-space:nowrap; }
.dashboard-v34 .kanban-board { gap:12px; }
.dashboard-v34 .kanban-col { padding:12px; }
.dashboard-v34 .kanban-col h3 { margin-bottom:10px; }

@media (max-width: 1380px) {
  .v34-kpi-grid { grid-template-columns:repeat(3,1fr); }
  .v34-financial-content { grid-template-columns:1fr; }
  .v34-donut-wrap { height:220px; }
}
@media (max-width: 1080px) {
  .dashboard-v34-shell { padding:22px !important; }
  .v34-filter-main { grid-template-columns:1fr 1fr; }
  .v34-platform-filter { grid-column:1 / -1; }
  .v34-main-grid, .v34-operation-grid { grid-template-columns:1fr; }
}
@media (max-width: 760px) {
  .dashboard-v34-shell { padding:16px !important; }
  .v34-topbar { flex-direction:column; }
  .v34-header-actions { width:100%; justify-content:flex-start; }
  .v34-filter-main { grid-template-columns:1fr; }
  .v34-platform-filter { grid-column:auto; }
  .v34-kpi-grid { grid-template-columns:repeat(2,1fr); }
  .v34-financial-content { grid-template-columns:1fr; }
  .v34-breakdown-grid, .v34-quick-actions { grid-template-columns:1fr; }
}
@media (max-width: 460px) {
  .v34-kpi-grid { grid-template-columns:1fr; }
  .v34-header-actions .v34-btn { flex:1; }
}
