.dash-grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr);align-items:stretch;display:grid}.dash-grid>.card{flex-direction:column;display:flex}.dash-grid .card-body{flex:1}.dash-section{gap:var(--space-2);flex-direction:column;display:flex}.dash-kv{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;border-bottom:1px dashed var(--color-border);display:flex}.dash-kv:last-child{border-bottom:none}.dash-chip-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.dash-project-row{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;display:flex}.dash-project-meta{gap:var(--space-1);flex-direction:column;display:flex}.dash-card-head{flex-direction:column;gap:2px;min-width:0;display:flex}.dash-card-title{font-size:var(--text-base);color:var(--color-text);font-weight:650}.dash-card-sub{font-size:var(--text-xs);color:var(--color-text-tertiary)}.dash-health-grid{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.dash-health-tile{padding:var(--space-3) var(--space-2);border-radius:var(--radius-md);text-align:center;background:var(--color-bg);border:1px solid var(--color-border)}.dash-health-num{font-size:var(--text-2xl);color:var(--color-text);font-variant-numeric:tabular-nums;font-weight:700;line-height:1.1}.dash-health-label{font-size:var(--text-xs);color:var(--color-text-secondary);align-items:center;gap:5px;margin-top:4px;font-weight:550;display:inline-flex}.dash-health-label:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.dash-health-tile.success{background:var(--color-success-bg);border-color:var(--color-success-bg)}.dash-health-tile.success .dash-health-num,.dash-health-tile.success .dash-health-label{color:var(--color-success)}.dash-health-tile.warning{background:var(--color-warning-bg);border-color:var(--color-warning-bg)}.dash-health-tile.warning .dash-health-num,.dash-health-tile.warning .dash-health-label{color:var(--color-warning)}.dash-health-tile.danger{background:var(--color-danger-bg);border-color:var(--color-danger-bg)}.dash-health-tile.danger .dash-health-num,.dash-health-tile.danger .dash-health-label{color:var(--color-danger)}.dash-status-row{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px dashed var(--color-border);display:flex}.dash-status-row:last-child{border-bottom:none}.dash-status-row .badge{flex-shrink:0;justify-content:flex-start;min-width:76px}.dash-status-track{background:var(--color-bg-muted);border-radius:var(--radius-full);flex:1;height:10px;overflow:hidden}.dash-status-fill{border-radius:var(--radius-full);background:var(--color-primary);height:100%;transition:width .3s}.dash-status-count{text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;min-width:24px;font-weight:600}.dash-footer-note{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px dashed var(--color-border);font-size:var(--text-xs);color:var(--color-text-tertiary)}.dash-empty{padding:var(--space-6) var(--space-4);animation:.3s fadeInUp}.dash-empty .empty-icon{width:48px;height:48px;margin-bottom:var(--space-2);font-size:22px}.dash-error-box{text-align:center;padding:var(--space-12) var(--space-4)}.dash-error-icon{margin-bottom:var(--space-4);opacity:.4;font-size:40px}.dash-error-title{margin-bottom:var(--space-2)}.dash-error-retry{margin-top:var(--space-4)}.dash-sysrow{align-items:center;gap:var(--space-2);display:flex}.ring-chart{align-items:center;gap:var(--space-1);flex-direction:column;display:flex}.ring-chart-label{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:12px;overflow:hidden}.bar-row{margin-bottom:var(--space-2)}.bar-row-head{justify-content:space-between;margin-bottom:2px;font-size:13px;display:flex}.bar-row-label{text-overflow:ellipsis;white-space:nowrap;max-width:75%;overflow:hidden}.bar-row-value{font-variant-numeric:tabular-nums;font-weight:600}.bar-row-track{background:var(--color-bg-muted);border-radius:var(--radius-full);height:10px;overflow:hidden}.bar-row-fill{border-radius:var(--radius-full);height:100%;transition:width .3s}.bar-row-fill.tone-primary{background:var(--color-primary);background:linear-gradient(90deg, var(--color-primary-dark), var(--color-primary-light))}.bar-row-fill.tone-success{background:var(--color-success);background:linear-gradient(90deg, var(--color-success), color-mix(in srgb, var(--color-success) 62%, transparent))}.bar-row-fill.tone-warning{background:var(--color-warning);background:linear-gradient(90deg, var(--color-warning), color-mix(in srgb, var(--color-warning) 62%, transparent))}.bar-row-fill.tone-danger{background:var(--color-danger);background:linear-gradient(90deg, var(--color-danger), color-mix(in srgb, var(--color-danger) 62%, transparent))}.trend-line{gap:var(--space-1);flex-direction:column;display:flex}.trend-empty{padding:var(--space-4);text-align:center;color:var(--color-text-secondary);font-size:13px}.trend-x-labels{color:var(--color-text-secondary);padding:0 var(--space-1);justify-content:space-between;font-size:11px;display:flex}.risk-list{gap:var(--space-2);flex-direction:column;display:flex}.risk-item{border:1px solid var(--color-border);border-left:4px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);cursor:pointer;transition:box-shadow var(--transition), border-color var(--transition), transform var(--transition), background var(--transition)}.risk-item.critical{border-left-color:var(--color-danger);background:var(--color-danger-bg)}.risk-item.warning{border-left-color:var(--color-warning);background:var(--color-warning-bg)}.risk-item:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.risk-item.critical:hover{border-color:var(--color-danger)}.risk-item.warning:hover{border-color:var(--color-warning)}.risk-item-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.risk-item-msg{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:13px}.risk-item-actions{margin-top:var(--space-2)}.approver-preview{margin-top:var(--space-3);padding:var(--space-3);background:var(--color-bg-muted);border-radius:var(--radius)}.form-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.quick-link-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.quick-link-card{align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-bg-soft);cursor:pointer;text-align:left;font:inherit;transition:all var(--transition-fast);border:1px solid transparent;width:100%;display:flex}.quick-link-card:hover{background:var(--color-primary-bg);border-color:var(--color-primary-border);box-shadow:var(--shadow-xs)}.quick-link-card:active{transform:scale(.98)}.quick-link-icon{background:var(--color-primary-bg);border-radius:var(--radius);width:40px;height:40px;transition:transform var(--transition-fast), background var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.quick-link-card:hover .quick-link-icon{background:var(--color-surface);transform:scale(1.06)}.quick-link-label{font-size:var(--text-sm);color:var(--color-text);font-weight:600}.quick-link-desc{font-size:var(--text-xs);color:var(--color-text-tertiary)}.quick-link-empty{text-align:center;padding:var(--space-6);color:var(--color-text-tertiary)}