/* Neutral surfaces; Graemo lime is reserved for actions and chart marks. */
.cm-app,.cm-workspace-main,.sa-app,.sa-workspace{background:#080808;color:#eee}
.cm-sidebar,.sa-sidebar{background:#151515;border-color:#333}
.cm-header,.sa-header,.cm-footer,.sa-footer{background:#080808;border-color:#383838;color:#bdbdbd}
.cm-kpi,.cm-attention>button,.cm-section,.sa-panel,.sa-kpi{background:#181818;border-color:#383838;color:#eee}
.cm-kpi>strong,.sa-kpi strong{color:#fff}.cm-kpi.lime>strong,.cm-primary{color:#111}
.cm-app :is(.cm-muted,.cm-eyebrow,.cm-kpi small,.cm-kpi>span,.cm-footer,.cm-page-heading p){color:#aaa}
.cm-app :is(.cm-sidebar nav a,.cm-sidebar-bottom a,.cm-sidebar-bottom button){color:#bbb}
.cm-app .cm-sidebar nav a[aria-current]{color:#111;background:var(--graemo-green)}
.cm-app :is(.cm-table td,.cm-table th,.cm-row-link small,.cm-row-link strong){color:#ddd;border-color:#383838}
.cm-app .cm-table tr:hover td{background:#202020}
.cm-app :is(.cm-field input,.cm-field select,.cm-field textarea,.cm-filter input,.cm-filter select){background:#202020;color:#eee;border-color:#666}
.cm-app :is(.cm-field,.cm-filter,.cm-checks label,.cm-hours-form>span){color:#bbb}
.cm-court-card,.cm-game-card,.demand-card{background:#ededeb;color:#111}
.cm-bars i,.cm-hour-bars b,.ops-source-bars b{background:var(--graemo-green)}
.admin-chart-section{margin:32px 0;padding-top:24px;border-top:1px solid #444}
.admin-chart-section h2{font-size:24px}.admin-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.metric-chart{background:#181818;color:#eee;margin:0;padding:24px;min-width:0}
.metric-chart h3{font-size:18px}.metric-chart figcaption p,.chart-empty{font-size:12px;color:#aaa;line-height:1.5;margin-top:10px}
.metric-bars{display:flex;align-items:end;gap:6px;height:210px;padding-top:28px;margin-top:20px}
.metric-bar{flex:1;min-width:0;height:100%;position:relative;display:flex;flex-direction:column;justify-content:end;align-items:center;outline-offset:2px}
.metric-bar i{display:block;width:75%;height:var(--bar-height);max-height:calc(100% - 22px);background:var(--graemo-green);min-height:0}
.metric-bar small{height:22px;padding-top:8px;font-size:10px;color:#aaa;white-space:nowrap}
.metric-tooltip{display:none;position:absolute;bottom:100%;left:50%;transform:translateX(-50%);z-index:1;background:#eee;color:#111;padding:6px;font-size:12px;white-space:nowrap;pointer-events:none}
.metric-bar:hover .metric-tooltip,.metric-bar:focus .metric-tooltip{display:block}
.metric-chart details{margin-top:20px;font-size:12px;color:#bbb}.metric-chart summary{cursor:pointer;padding:10px 0}.metric-chart table{width:100%;border-collapse:collapse}.metric-chart th,.metric-chart td{text-align:left;padding:8px;border-bottom:1px solid #444}
.chart-period,.currency-setting{display:grid;gap:8px;color:inherit;font-size:14px;margin:16px 0}.chart-period select,.currency-setting select{color:inherit;background:#222;border:0;border-bottom:1px solid #666;padding:10px}
.currency-setting small{font-size:12px;line-height:1.5;color:#999;max-width:560px}.editorial-modal .currency-setting select{background:#ddd;color:#111}.editorial-modal .currency-setting small{color:#555}
@media(max-width:767px){.admin-chart-grid{grid-template-columns:1fr}.metric-chart{padding:16px}.metric-bars{gap:3px}.metric-bar small{font-size:8px}.admin-chart-section h2{font-size:22px}.metric-tooltip{white-space:normal;min-width:80px}.chart-period{width:100%}}
.cm-court-label{background:#181818}.cm-court-row,.cm-slot{border-color:#383838}.cm-court-label small{color:#aaa}.cm-slot{color:#888}.cm-slot:hover:not(:disabled){background:#303030;color:var(--graemo-green)}
.cm-reservation.cm-confirmed{background:#333;color:#eee;border-left-color:var(--graemo-green)}.cm-reservation.cm-open-game{background:var(--graemo-green);color:#111;border-left-color:#111}.cm-reservation.cm-blocked{background:#292929;color:#bbb;border-left-color:#777}
.cm-app .ops-staff-switch select{background:#222;color:#eee}

.metric-bar{padding-bottom:22px}.metric-bar i{flex-shrink:0;max-height:100%}.metric-bar small{position:absolute;bottom:0;left:0;right:0;text-align:center}
@media(max-width:430px){.pay-revenue-kpis{grid-template-columns:minmax(0,1fr)!important}.pay-revenue-kpis strong{font-size:28px;overflow-wrap:anywhere}}
