.dashboard-v2{background:#f6f8fc;padding:24px 28px}
.dash-shell{max-width:1360px;gap:16px}
.dash-head{margin-bottom:2px}
.dash-head h1{font-size:24px}
.dash-card,.dash-kpi{border-color:#e8edf5;border-radius:9px;box-shadow:0 8px 24px rgba(16,24,40,.06)}
.dash-kpis{gap:14px}
.dash-kpi{min-height:128px;padding:20px;grid-template-columns:44px minmax(0,1fr);align-content:start;align-items:start;gap:16px}
.dash-kpi>div{display:grid;gap:8px}
.dash-kpi b{font-size:28px}
.dash-kpi em{margin-top:2px}
.kpi-icon{width:36px;height:36px;border-radius:8px;display:block;position:relative;background:#2f80ed;box-shadow:0 8px 16px rgba(47,128,237,.18)}
.kpi-icon:before,.kpi-icon:after{content:"";position:absolute}
.kpi-icon.wallet:before{left:9px;top:11px;width:18px;height:13px;border:2px solid #fff;border-radius:4px}
.kpi-icon.wallet:after{right:8px;top:16px;width:4px;height:4px;background:#fff;border-radius:50%}
.kpi-icon.pay{background:#f59e0b}
.kpi-icon.pay:before{left:9px;top:9px;width:18px;height:18px;border:2px solid #fff;border-radius:4px}
.kpi-icon.pay:after{left:14px;top:14px;width:8px;height:8px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.kpi-icon.activity{background:#22c55e}
.kpi-icon.activity:before{left:9px;top:10px;width:18px;height:16px;border:2px solid #fff;border-radius:3px}
.kpi-icon.activity:after{left:12px;top:15px;width:12px;height:2px;background:#fff;box-shadow:0 5px 0 #fff}
.kpi-icon.todo{background:#8b5cf6}
.kpi-icon.todo:before{left:10px;top:8px;width:16px;height:20px;border:2px solid #fff;border-radius:4px}
.kpi-icon.todo:after{left:14px;top:15px;width:8px;height:2px;background:#fff;box-shadow:0 5px 0 #fff}
.dash-attention{padding:16px 18px}
.dash-grid-main{grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:16px}
.dash-echart{width:100%;height:284px}
.dash-payment{min-height:342px}
.pay-donut-wrap{display:grid;grid-template-columns:132px minmax(0,1fr);gap:18px;align-items:center;margin:8px 0 16px}
.pay-donut{width:118px;height:118px;border-radius:50%;position:relative;box-shadow:inset 0 0 0 1px #eef2f7}
.pay-donut:after{content:"";position:absolute;inset:30px;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px #eef2f7}
.pay-donut span{position:absolute;inset:0;display:grid;place-items:center;z-index:1;font-weight:700;color:#111827}
.pay-lines{margin:0;gap:13px}
.pay-lines p{grid-template-columns:minmax(0,1fr) auto 42px}
.pay-lines b{font-size:16px}
.pay-bar i{background:linear-gradient(90deg,#2f80ed,#1d4ed8)}
.dash-payment>strong{display:block;text-align:right;font-size:22px}
.activity-mini-table{width:100%;border-collapse:collapse;table-layout:fixed}
.activity-mini-table th{padding:2px 8px 10px;font-size:12px;color:#667085;font-weight:650;text-align:left}
.activity-mini-table td{border-top:1px solid #eef2f7;padding:11px 8px;font-size:12px;color:#344054;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.activity-mini-table tbody tr{cursor:pointer}
.activity-mini-table tbody tr:hover{background:#f8fafc}
.activity-mini-table th:first-child,.activity-mini-table td:first-child{width:34%}
.activity-name-cell{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center}
.activity-name-cell img,.activity-thumb-fallback{width:44px;height:32px;border-radius:6px;object-fit:cover;background:linear-gradient(135deg,#dbeafe,#e0f2fe);display:block}
.activity-name-cell span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650;color:#111827}
.status-pill{display:inline-flex;align-items:center;height:22px;border-radius:999px;padding:0 8px;font-style:normal;font-size:12px;background:#f3f4f6;color:#4b5563}
.status-pill.running{background:#eff6ff;color:#1677ff}
.status-pill.done{background:#ecfdf3;color:#027a48}
.status-pill.pending,.status-pill.prepare{background:#fff7ed;color:#b45309}
.status-pill.review{background:#f5f3ff;color:#7c3aed}
.todo-brief article{grid-template-columns:16px minmax(0,1fr) 74px}
.media-strip img{border-radius:7px}
.dash-monthly .monthly-actions .el-button{height:40px}
@media(max-width:1280px){.dash-grid-main{grid-template-columns:1fr}.dash-echart{height:260px}.pay-donut-wrap{grid-template-columns:120px minmax(0,1fr)}}
@media(max-width:760px){.dashboard-v2{padding:16px}.dash-kpi{grid-template-columns:40px minmax(0,1fr)}.dash-echart{height:240px}.pay-donut-wrap{grid-template-columns:1fr}.activity-mini-table{display:block;overflow-x:auto;white-space:nowrap}.activity-mini-table th:first-child,.activity-mini-table td:first-child{width:220px}}
