:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f5f5f7;background:#070708}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 0,#252529 0,#0b0b0d 32%,#050506 78%)}.hidden{display:none!important}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.loginbox{width:min(410px,100%);padding:34px;background:#151517dd;border:1px solid #2d2d31;border-radius:28px;box-shadow:0 30px 100px #0009}.logo{width:52px;height:52px;border-radius:15px;background:#f5f5f7;color:#09090a;display:grid;place-items:center;font-weight:850;margin-bottom:25px}.loginbox h1{margin:0;font-size:30px}.loginbox p{margin:7px 0 25px;color:#95959d}.loginbox input,.loginbox button{width:100%;padding:14px 15px;border-radius:13px;font:inherit}.loginbox input{background:#0e0e10;color:white;border:1px solid #343439;margin-bottom:10px}.loginbox button{border:0;background:#f5f5f7;color:#080809;font-weight:750;cursor:pointer}#err{color:#ff6b6b;min-height:20px;margin-top:10px}#app{max-width:1420px;margin:auto;padding:27px}header{display:flex;align-items:center;justify-content:space-between;margin:8px 0 25px}header small{letter-spacing:.18em;color:#888891}header h1{margin:5px 0 0;font-size:31px}.headright{display:flex;gap:10px;align-items:center}.status,.logout{padding:10px 14px;border-radius:999px;border:1px solid #303035;background:#171719;color:#ddd}.logout{cursor:pointer}.topgrid{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:14px}.metric,.panel{background:#151517d9;border:1px solid #29292e;border-radius:22px;box-shadow:0 18px 55px #0004}.metric{padding:22px}.metric span,.rows span,.healthgrid span{font-size:11px;color:#92929a;text-transform:uppercase;letter-spacing:.07em}.metric b{display:block;font-size:27px;margin:9px 0 5px}.metric.primary b{font-size:43px}.metric small{color:#96969e}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.panel{padding:21px;margin-top:14px}.twocol .panel{margin-top:0}.title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.title h2{font-size:18px;margin:0}.title>span{font-size:11px;color:#85858d;max-width:50%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rows{display:grid;grid-template-columns:1fr 1fr;gap:9px}.rows>div,.healthgrid>div{padding:13px;background:#0f0f11;border:1px solid #242428;border-radius:14px}.rows b,.healthgrid b{display:block;margin-top:5px;font-size:13px;word-break:break-word}.rows .wide{grid-column:1/-1}.healthgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.ok{color:#71e49b!important}.warn{color:#ffd166!important}.bad{color:#ff7070!important}.neutral{color:#b5b5bc!important}@media(max-width:960px){.topgrid{grid-template-columns:1fr 1fr}.twocol{grid-template-columns:1fr}.healthgrid{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){#app{padding:15px}.topgrid{grid-template-columns:1fr}.rows{grid-template-columns:1fr}.rows .wide{grid-column:auto}.healthgrid{grid-template-columns:1fr 1fr}.metric.primary b{font-size:38px}header{align-items:flex-start;gap:12px}.headright{flex-direction:column;align-items:flex-end}}.portfolioTableWrap{overflow-x:auto}.portfolioTable{width:100%;border-collapse:collapse;min-width:760px}.portfolioTable th{text-align:left;color:#8d8d96;font-size:11px;text-transform:uppercase;letter-spacing:.07em;padding:12px;border-bottom:1px solid #29292e}.portfolioTable td{padding:15px 12px;border-bottom:1px solid #222226;font-size:13px}.historyHead{display:flex;justify-content:space-between;margin:22px 4px 10px;color:#92929a;font-size:11px}.chartBox{height:220px;background:#0f0f11;border:1px solid #242428;border-radius:15px;padding:10px;color:#f5f5f7}.chartBox svg{width:100%;height:100%}.winnerBox{padding:18px;background:#0f0f11;border:1px solid #29292e;border-radius:16px;margin-bottom:10px}.winnerBox span,.signalCard span,.signalBottom span{font-size:11px;color:#92929a;letter-spacing:.07em}.winnerBox b{display:block;font-size:32px;margin:5px 0}.signalGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.signalCard,.signalBottom>div{padding:15px;background:#0f0f11;border:1px solid #242428;border-radius:14px}.signalCard b{display:block;font-size:22px;margin:7px 0}.signalCard small{color:#92929a}.signalBottom{display:grid;grid-template-columns:2fr 1fr 1fr;gap:9px;margin-top:9px}.signalBottom b{display:block;margin-top:6px;font-size:13px}@media(max-width:800px){.signalGrid{grid-template-columns:1fr 1fr}.signalBottom{grid-template-columns:1fr}}@media(max-width:520px){.signalGrid{grid-template-columns:1fr}}
.journalFilters{display:flex;gap:9px;align-items:end;flex-wrap:wrap;margin-bottom:14px}.journalFilters label{font-size:10px;color:#92929a;letter-spacing:.06em}.journalFilters input{display:block;margin-top:5px;background:#0f0f11;border:1px solid #29292e;color:#eee;padding:9px 10px;border-radius:10px}.journalFilters button{width:auto;padding:10px 15px;border-radius:10px;border:1px solid #303035;background:#f5f5f7;color:#0b0b0c;font-weight:700}.journalFilters .journalClear{background:#151517;color:#ddd}.journalWrap{overflow-x:auto}.journalTable{width:100%;border-collapse:collapse;min-width:1180px}.journalTable th{text-align:left;color:#8e8e97;font-size:10px;letter-spacing:.07em;text-transform:uppercase;padding:11px;border-bottom:1px solid #29292e}.journalTable td{font-size:12px;padding:13px 11px;border-bottom:1px solid #222226;vertical-align:top;max-width:260px}

/* STEP16_EXECUTION_VIEW_V150 */
.execFlow{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-bottom:16px}.execFlow>div{padding:14px;background:#0f0f11;border:1px solid #242428;border-radius:14px;min-width:0}.execFlow span{display:block;font-size:10px;color:#92929a;letter-spacing:.07em}.execFlow b{display:block;font-size:14px;margin:7px 0;word-break:break-word}.execFlow small{display:block;color:#92929a;font-size:11px;word-break:break-word}.execTableWrap{overflow-x:auto}.execTable{width:100%;border-collapse:collapse;min-width:1250px}.execTable th{text-align:left;color:#8e8e97;font-size:10px;letter-spacing:.07em;text-transform:uppercase;padding:11px;border-bottom:1px solid #29292e}.execTable td{font-size:12px;padding:13px 11px;border-bottom:1px solid #222226;vertical-align:top}.execTable td small{color:#92929a}@media(max-width:1100px){.execFlow{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.execFlow{grid-template-columns:1fr 1fr}}

/* INTEGRITY_CLEANUP_UI_V151 */
#execViewStatus{max-width:70%;text-align:right}

/* PROVENANCE_HARDENING_UI_V154 */
.shadowPlanRow{opacity:.72}
.shadowPlanRow td:nth-child(2) b{color:#f4c95d}

/* EXECUTION_VIEW_UI_V155 */
.shadowPlanRow{opacity:.68}
.shadowPlanRow td:nth-child(2) b{color:#f4c95d}
.shadowPlanRow td{background:rgba(244,201,93,.02)}

/* MASTER_PLAN_STEP17_SYSTEM_HEALTH_UI_V163 */
.healthSystemGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px}
.healthMetric,.healthGrid>div{padding:15px;background:#0f0f11;border:1px solid #242428;border-radius:14px;min-width:0}
.healthMetric span,.healthGrid span{display:block;font-size:10px;color:#92929a;letter-spacing:.07em}
.healthMetric b,.healthGrid b{display:block;font-size:18px;margin:7px 0}
.healthMetric small,.healthGrid small{display:block;color:#92929a;font-size:11px;word-break:break-word}
.healthGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
#systemHealthPanel{margin-top:18px}
@media(max-width:1100px){.healthSystemGrid,.healthGrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.healthSystemGrid,.healthGrid{grid-template-columns:1fr}}

/* MASTER_PLAN_STEP18_CONTROLS_UI_V170 */
.controlsState{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.controlsState>div{padding:15px;background:#0f0f11;border:1px solid #242428;border-radius:14px}
.controlsState span,.controlsActions label span{display:block;font-size:10px;color:#92929a;letter-spacing:.07em}
.controlsState b{display:block;font-size:18px;margin:7px 0}
.controlsState small{display:block;color:#92929a;font-size:11px}
.controlsActions{display:flex;gap:9px;align-items:end;flex-wrap:wrap}
.controlsActions label{min-width:180px}
.controlsActions input{width:100%;box-sizing:border-box;margin-top:6px;padding:11px 12px;border-radius:10px;border:1px solid #34343a;background:#111115;color:#fff}
.controlsActions button{padding:11px 14px;border-radius:10px;border:1px solid #34343a;background:#17171b;color:#fff;font-weight:700;cursor:pointer}
.controlsActions button:hover{background:#202026}
.controlsActions .dangerSoft{border-color:#74313c;color:#ff6b7b;background:#2a1117}
.controlsNote{margin-top:11px;color:#858590;font-size:11px}
@media(max-width:850px){.controlsState{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.controlsState{grid-template-columns:1fr}}
