:root{--bg:#f4f7fb;--surface:#ffffff;--surface-soft:#eef3f8;--surface-strong:#172033;--border:#d9e2ec;--border-strong:#b7c4d2;--text:#142033;--muted:#64748b;--muted-strong:#475569;--blue:#2563eb;--green:#059669;--red:#dc2626;--amber:#d97706;--teal:#0f766e;--shadow:0 16px 42px rgba(15,23,42,0.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}a{color:inherit;text-decoration:none}.appFrame{display:grid;grid-template-columns:272px minmax(0,1fr);min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;padding:20px;background:#111827;color:#f8fafc;display:flex;flex-direction:column;gap:22px}.brand{display:flex;align-items:center;gap:12px}.brandMark{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;background:#e2e8f0;color:#111827;font-weight:800}.brand span,.label,.sidebarStatus span{display:block;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.brand strong{display:block;margin-top:2px;font-size:15px}.sideNav{display:grid;grid-gap:6px;gap:6px}.sideNav a{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 12px;border-radius:8px;color:#cbd5e1}.sideNav a.active,.sideNav a:hover{background:#1f2937;color:#ffffff}.sidebarStatus{margin-top:auto;display:flex;align-items:center;gap:10px;padding:14px;border:1px solid rgba(203,213,225,.18);border-radius:8px;background:rgba(255,255,255,.04)}.sidebarStatus strong{display:block;margin-top:2px;font-size:14px}.workspace{padding:24px;display:grid;grid-gap:18px;gap:18px}.workspaceHeader{display:flex;align-items:center;justify-content:space-between;gap:18px}.workspaceHeader h1{margin:4px 0 0;font-size:30px;line-height:1.15;letter-spacing:0}.headerActions{gap:10px}.headerActions,.searchBox{display:flex;align-items:center}.searchBox{gap:8px;width:min(390px,42vw);min-height:42px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.searchBox input{width:100%;border:0;outline:0;color:var(--text);background:transparent}.iconButton,.primaryAction{display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer}.primaryAction{gap:8px;min-height:42px;padding:0 14px;border-radius:8px;background:var(--blue);color:white;font-weight:700}.iconButton{width:38px;height:38px;border-radius:8px;background:var(--surface-soft);color:var(--text)}.kpiGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.kpiCard,.panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow)}.kpiCard{display:grid;grid-template-columns:42px minmax(0,1fr);grid-gap:12px;gap:12px;padding:16px}.kpiIcon{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;background:#e8f0ff;color:var(--blue)}.kpiCard strong{display:block;margin-top:4px;font-size:24px}.jobItem span,.kpiCard p,.ledgerItem span,.panel p,.roadmapItem p,.ruleItem span{margin:4px 0 0;color:var(--muted-strong);line-height:1.45}.contentGrid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr);grid-gap:14px;gap:14px}.panel{min-width:0;padding:16px}.panelHead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.panelHead h2{margin:3px 0 0;font-size:18px;line-height:1.2}.segmented{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.segmented button{min-height:34px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:white;color:var(--muted-strong);cursor:pointer}.segmented button.selected{border-color:var(--blue);background:#e8f0ff;color:var(--blue);font-weight:700}.tableWrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:760px}th{padding:10px 8px;background:var(--surface-soft);color:var(--muted);font-size:12px;text-align:left;text-transform:uppercase}td{padding:12px 8px;border-bottom:1px solid var(--border);vertical-align:middle}td span,td strong{display:block}td span{margin-top:3px;color:var(--muted);font-size:13px}.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.status{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 8px;border-radius:8px;font-size:13px;font-weight:700}.statusBlue{background:#e8f0ff;color:var(--blue)}.statusGreen{background:#e9f8f1;color:var(--green)}.statusNeutral{background:#f1f5f9;color:var(--muted-strong)}.statusRed{background:#fee2e2;color:var(--red)}.jobItem,.jobList,.ledgerItem,.ledgerList,.roadmapList,.ruleGrid,.ruleItem,.sidePanels{display:grid;grid-gap:10px;gap:10px}.jobItem,.ledgerItem,.ruleItem{align-items:center;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fbfdff}.jobItem{grid-template-columns:40px minmax(0,1fr) auto}.jobIcon{width:40px;height:40px;display:grid;place-items:center;border-radius:8px;background:var(--surface-soft);color:var(--teal)}.jobMeta{text-align:right}.jobMeta b{display:block;margin-top:3px}.riskHigh{color:var(--red)}.riskLow{color:var(--green)}.lockBadge{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 9px;border-radius:8px;background:#eef2ff;color:#4338ca;font-size:13px;font-weight:700}.ledgerItem{grid-template-columns:minmax(0,1fr) auto}.checksum{text-align:right}.checksum code{display:block;margin-top:3px;color:var(--muted)}.lowerGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);grid-gap:14px;gap:14px}.ruleItem{grid-template-columns:26px minmax(0,1fr)}.ruleItem.ok{background:#f0fdf4;border-color:#bbf7d0}.ruleItem.blocked{background:#fff7ed;border-color:#fed7aa}.roadmapItem{padding:12px;border-left:3px solid var(--blue);background:#fbfdff}.roadmapItem span{color:var(--muted);font-size:12px;font-weight:700}.roadmapItem strong{display:block;margin-top:3px}@media (max-width:1120px){.appFrame{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sideNav{grid-template-columns:repeat(5,minmax(0,1fr))}.contentGrid,.kpiGrid,.lowerGrid{grid-template-columns:1fr}}@media (max-width:760px){.workspace{padding:14px}.headerActions,.panelHead,.workspaceHeader{align-items:stretch;flex-direction:column}.searchBox{width:100%}.sideNav{grid-template-columns:repeat(2,minmax(0,1fr))}.kpiGrid{grid-template-columns:1fr}.jobItem{grid-template-columns:40px minmax(0,1fr)}.jobMeta{grid-column:1/-1;text-align:left}}