.dashboard-report{--report-teal:#078c98;--report-bg:#f3f6f8;--report-card:#fff;max-width:1540px!important;background:var(--report-bg);border-radius:20px;padding:30px!important}.dashboard-report>.page-head{align-items:center;margin-bottom:18px}.dashboard-report>.page-head h1{font-size:34px;color:var(--report-teal);letter-spacing:-.035em}.dashboard-report>.page-head p{font-size:13px}.dashboard-report .exec-period{height:44px;border-color:#69bfca;color:#23424a;min-width:156px}.dashboard-report .page-head .btn{min-height:44px}.dashboard-report .card{border:0;border-radius:14px;box-shadow:0 4px 18px rgba(37,67,76,.055)}
.dashboard-nav{position:sticky;top:8px;z-index:8;display:flex;gap:8px;align-items:center;margin:0 0 24px;padding:8px;border:1px solid #dbe9ec;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 5px 18px rgba(12,73,57,.08);backdrop-filter:blur(8px)}
.dashboard-nav button{border:0;border-radius:8px;background:transparent;padding:10px 15px;color:#354b51;font-weight:700;cursor:pointer;white-space:nowrap}.dashboard-nav button.active{background:#e5f5f6;color:var(--report-teal)}
.dashboard-nav button:hover{background:#edf7f7}.dashboard-nav .needs-action{margin-left:0;color:#8a5500}.dashboard-nav b{display:inline-grid;place-items:center;min-width:24px;margin-left:5px;padding:2px 6px;border-radius:12px;background:#f6ddb0}.dashboard-nav:after{content:"BÁO CÁO QUẢN TRỊ";margin-left:auto;padding-right:10px;color:#91a0a5;font-size:10px;font-weight:800;letter-spacing:.08em}
.dashboard-section-title{display:block;margin:32px 2px 13px}.dashboard-section-title>div{display:flex;align-items:center;gap:10px}.dashboard-section-title span{width:5px;height:25px;border-radius:5px;background:var(--report-teal)}.dashboard-section-title h2{margin:0;color:#30444a;font-size:21px;letter-spacing:-.015em}.dashboard-section-title p{margin:5px 0 0 15px;color:#718187;font-size:12px;text-align:left}
.dashboard-chart-note{margin:2px 0 6px;color:var(--muted);font-size:11px}.exec-metrics{grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px}.exec-metric{position:relative;min-height:126px;padding:19px 19px 26px;border:0;border-radius:12px;overflow:hidden;transition:transform .15s,box-shadow .15s}.exec-metric small{font-size:12px}.exec-metric b{margin:6px 0 3px;font-size:29px;color:#34474d;letter-spacing:-.03em}.exec-metric span{font-size:11px}.exec-metric .metric-accent{position:absolute;inset:auto 17px 12px;height:5px;border-radius:5px;background:var(--report-teal)!important;opacity:.82}.exec-metric.metric-negative .metric-accent{background:#e97969!important}.exec-metric.metric-negative span{color:#c74436}.exec-metric span.up:before{content:"▲ ";font-size:8px}.exec-metric span.down:before{content:"▼ ";font-size:8px}.exec-metric:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(12,73,57,.1)}
.exec-line-chart{height:auto!important;min-height:300px;display:block!important;padding:0!important;border-bottom:0!important}.exec-line-chart svg{display:block;width:100%;height:300px;overflow:visible}.trend-kpi-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:7px 0 2px}.trend-kpi-strip>div{display:grid;grid-template-columns:10px 1fr;align-items:center;gap:4px;padding:10px 12px;border:1px solid #e5ecee;border-radius:9px}.trend-kpi-strip i{grid-row:1/3;width:8px;height:8px;border-radius:50%}.trend-kpi-strip span{color:#708086;font-size:11px}.trend-kpi-strip b{font-size:15px}.trend-grid line{stroke:#dce5e7;stroke-width:1}.trend-series polyline{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.trend-series circle{stroke:#fff;stroke-width:2;cursor:help}.trend-labels text{fill:#6e7e83;font-size:11px}.exec-legend{display:none}.executive-grid{gap:18px}.executive-grid>.card{min-height:100%}.forecast-grid>div{background:#eef8f6;border-left:3px solid #50aa91}.exec-alerts button{border-color:#e2e9eb}.exec-actions button{min-height:44px}.exec-target .progress{height:9px;background:#e9eef0}.exec-target .progress i{background:linear-gradient(90deg,#43b6c9,#078c98)}
.monitor-section,.planning-section{border-top:4px solid #46b2c2!important}.monitor-section>.card-head,.planning-section>.card-head{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;gap:10px;align-items:center}.monitor-section>.card-head>div,.planning-section>.card-head>div{min-width:0}.monitor-section .card-head h2,.planning-section .card-head h2{color:#25434a}.monitor-section>.card-head>.btn:not(.dashboard-collapse),.planning-section>.card-head>div:last-child{justify-self:end}.quality-score{border:0;background:#edf8f7}.quality-issues button,.management-actions>div,.scenario-list article{border-color:#e0e8ea}.planning-empty{background:#fafcfd}.snapshot-history{background:#fafcfd;border-radius:10px;padding:13px}
.monitor-section,.planning-section{scroll-margin-top:76px}.exec-metrics,.exec-alerts{scroll-margin-top:76px}.dashboard-collapse{margin-left:8px}.dashboard-collapsed>:not(.card-head){display:none!important}.dashboard-collapsed{padding-bottom:14px}.dashboard-collapsed .card-head{margin-bottom:0}
.management-actions>div{grid-template-columns:64px minmax(140px,1fr) 118px}.planning-grid{align-items:start}.quality-issues button:hover,.exec-actions button:hover,.exec-alerts button:hover{background:var(--sage)}
@media(max-width:1200px){.dashboard-report{padding:20px!important}.exec-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.dashboard-report{margin:-12px;padding:16px!important;border-radius:0}.dashboard-report>.page-head{align-items:flex-start}.dashboard-report>.page-head h1{font-size:26px}.dashboard-nav{overflow-x:auto;top:4px;margin-bottom:18px}.dashboard-nav:after{display:none}.dashboard-nav button{padding:8px 10px}.dashboard-nav::-webkit-scrollbar{height:3px}.dashboard-section-title{margin-top:24px}.exec-metrics{grid-template-columns:1fr}.exec-metric{min-height:108px}.trend-kpi-strip{grid-template-columns:1fr}.exec-line-chart{overflow-x:auto}.exec-line-chart svg{min-width:700px}.monitor-section>.card-head,.planning-section>.card-head{grid-template-columns:1fr auto}.monitor-section>.card-head>div,.planning-section>.card-head>div{grid-column:1/-1}}
