:root{--gcc-navy:#08152b;--gcc-blue:#1266ed;--gcc-gold:#c9a227;--gcc-bg:#f5f7fb;--gcc-line:#dce5f4;--gcc-muted:#64748b;--gcc-text:#17233b;--gcc-card:#fff}
body{background:var(--gcc-bg);color:var(--gcc-text)}
.gcc-layout{min-height:100vh;display:grid;grid-template-columns:250px 1fr}
.gcc-sidebar{background:var(--gcc-navy);color:#fff;padding:28px 18px;position:sticky;top:0;height:100vh}
.gcc-brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;font-size:1rem;margin-bottom:34px}.gcc-sidebar .brand-mark{flex:0 0 auto}
.gcc-kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:#9fb4d4;font-weight:800;margin:0 10px 10px}
.gcc-sidebar nav{display:grid;gap:5px}.gcc-sidebar nav a,.gcc-logout{display:block;width:100%;padding:11px 12px;border:0;border-radius:9px;background:transparent;color:#dbe7fb;text-align:left;font:600 .9rem var(--sans);cursor:pointer}
.gcc-sidebar nav a:hover,.gcc-sidebar nav a.active,.gcc-logout:hover{background:rgba(255,255,255,.1);color:#fff}.gcc-logout{margin-top:18px;border:1px solid rgba(255,255,255,.16)}
.gcc-main{min-width:0;padding:34px clamp(20px,4vw,52px)}.gcc-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:26px}
.gcc-header h1{font-size:clamp(2rem,4vw,3rem)}.gcc-header p{margin:.55rem 0 0;color:var(--gcc-muted)}.gcc-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.status-pill{display:inline-flex;align-items:center;padding:.48rem .72rem;border-radius:999px;background:#eef2f7;color:#475569;font-size:.78rem;font-weight:800}.status-pill.ok{background:#ecfdf5;color:#047857}.status-pill.error{background:#fef2f2;color:#b91c1c}
.gcc-alert{margin:0 0 24px;padding:14px 16px;border:1px solid #f0d5a2;background:#fffaf0;border-radius:12px;color:#7a5310}
.stage-strip{background:#fff;border:1px solid var(--gcc-line);border-radius:16px;padding:18px;margin-bottom:42px}.section-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gcc-muted);font-weight:800;margin-bottom:12px}
.stage-list{display:grid;grid-template-columns:repeat(9,minmax(72px,1fr));gap:6px}.stage-item{min-height:68px;border:1px solid var(--gcc-line);border-radius:10px;padding:9px 7px;background:#fbfcfe;font-size:.72rem;font-weight:800;text-align:center;display:flex;align-items:center;justify-content:center}
.gcc-section{margin-top:46px}.section-heading{margin-bottom:18px}.section-heading p:last-child{color:var(--gcc-muted)}
.constraint-card,.data-card,.metric-card{background:var(--gcc-card);border:1px solid var(--gcc-line);border-radius:16px;box-shadow:0 8px 24px rgba(19,44,90,.05)}.constraint-card{padding:24px}
.constraint-title{font-size:1.25rem;font-weight:800;margin-bottom:8px}.constraint-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--gcc-muted);font-size:.84rem}.constraint-notes{margin:16px 0 0}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric-card{padding:18px}.metric-name{font-size:.8rem;color:var(--gcc-muted);min-height:2.5em}.metric-value{font-size:1.55rem;font-weight:800;margin:.45rem 0}.metric-period{font-size:.72rem;color:#94a3b8}.metric-missing{color:#94a3b8;font-style:italic}
.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.data-card{padding:20px;min-width:0}.data-card h3{margin:0 0 12px}.data-list{display:grid;gap:9px}
.data-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #edf1f7;padding-bottom:8px;font-size:.86rem}.data-row:last-child{border-bottom:0}.data-label{color:var(--gcc-muted)}.data-value{font-weight:800;text-align:right}
.empty-state{padding:16px;border:1px dashed var(--gcc-line);border-radius:10px;color:var(--gcc-muted);font-size:.88rem}.gcc-footer{margin:46px 0 8px;color:#7b8799;font-size:.78rem;text-align:center}
@media(max-width:1100px){.stage-list{grid-template-columns:repeat(5,1fr)}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.gcc-layout{display:block}.gcc-sidebar{position:static;height:auto;padding:18px}.gcc-sidebar nav{display:flex;overflow:auto;gap:6px;padding-bottom:5px}.gcc-sidebar nav a{white-space:nowrap}.gcc-logout{width:auto;margin-top:10px}.gcc-main{padding:24px 16px}.gcc-header{flex-direction:column}.stage-list{grid-template-columns:repeat(3,1fr)}.dashboard-grid,.metric-grid{grid-template-columns:1fr}}