/* Control Centre page styles on top of the Eyes On theme (eyes-theme.css + common.css). No new palette. */
.portal-chrome { padding-top: 4.5rem; }
.client-manage-bar { position: sticky; top: 4.5rem; z-index: 1020; background: #f8f9fa; border-bottom: 1px solid rgba(0, 0, 0, .08); margin-bottom: 1rem; }
.portal-chrome > main.container-xxl { padding-top: 1rem; }
.navbar-portal .navbar-brand-wrap { text-decoration: none; text-align: left; max-width: min(100%, 360px); }
.global-notice-wrap { position: fixed; left: 50%; transform: translateX(-50%); width: min(92vw, 780px); z-index: 1060; pointer-events: none; text-align: center; }
.global-notice { text-align: center; margin: 0; box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15); }
.data-notice { border-left: 4px solid #c9a200; }
.env-badge { background: #f08a1d; color: #fff; font-size: .7rem; letter-spacing: .03em; }
.nav-planned { opacity: .75; border-style: dashed; }

/* KPI tiles (as the Run Creator) */
.kpi { background: #fff; border: 1px solid #dee2e6; border-radius: .6rem; padding: .7rem .9rem; height: 100%; }
.kpi .n { font-family: 'Bitter', serif; font-size: 1.6rem; font-weight: 700; line-height: 1; }
.kpi .l { font-size: .75rem; color: var(--portal-text-muted); }

/* Job tiles: border colour from heartbeat age */
.job-tile { background: #fff; border: 1px solid #dee2e6; border-left: 5px solid #adb5bd; border-radius: .5rem; padding: .6rem .8rem; height: 100%; }
.job-tile.state-ok { border-left-color: #198754; }
.job-tile.state-late { border-left-color: #f0ad1d; }
.job-tile.state-down { border-left-color: #dc3545; }
.job-tile.state-off { border-left-color: #ced4da; opacity: .8; }
.job-tile .name { font-weight: 600; font-size: .9rem; }
.job-tile .meta { font-size: .75rem; color: var(--portal-text-muted); }
.state-dot { display: inline-block; width: .6rem; height: .6rem; border-radius: 50%; background: #adb5bd; vertical-align: middle; }
.state-dot.state-ok { background: #198754; }
.state-dot.state-late { background: #f0ad1d; }
.state-dot.state-down { background: #dc3545; }

.table-compact td, .table-compact th { padding: .3rem .5rem; font-size: .85rem; vertical-align: middle; }
.num { text-align: right; font-variant-numeric: tabular-nums; }
.mono { font-family: SFMono-Regular, Menlo, Consolas, monospace; font-size: .8rem; }
.json-cell { max-width: 32rem; white-space: pre-wrap; word-break: break-word; }
.proc-tag { display: inline-block; font-size: .7rem; font-weight: 700; padding: .05rem .4rem; border-radius: .25rem; border: 1px solid #dee2e6; }
.proc-tag.legacy { background: #f8f9fa; color: #495057; }
.proc-tag.mcc { background: #d1f0ec; color: #00515a; border-color: #9fd8d1; }
.proc-tag.paused { background: #fff3cd; color: #664d03; border-color: #ffe69c; }
