:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f6f7f4;color:#17201b;--bg: #f6f7f4;--surface: #ffffff;--surface-strong: #eef4ee;--text: #17201b;--muted: #607066;--border: #dfe6df;--green: #168a52;--green-dark: #0f6d40;--blue: #2f6fbd;--amber: #b66b12;--red: #b93f35;--shadow: 0 14px 40px rgba(23, 32, 27, .08)}*{box-sizing:border-box}html,body,#root{max-width:100%;overflow-x:hidden}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}button,textarea{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:wait;opacity:.68}.app-root{min-height:100vh;display:grid;place-items:center;color:var(--text)}.loading-state{font-size:15px;font-weight:700}.dashboard{width:min(1600px,100%);min-height:100vh;padding:20px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}.brand,.topbar-status,.panel-heading,.button-row,.pack-summary{display:flex;align-items:center}.brand{gap:12px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;color:#fff;background:var(--green);box-shadow:var(--shadow)}h1,h2,h3,p{margin:0}h1{font-size:20px;line-height:1.1}.brand p{color:var(--muted);font-size:13px;margin-top:2px}.topbar-status{gap:8px;flex-wrap:wrap;justify-content:flex-end}.mode-chip,.status-chip,.mode-dot,.risk-pill{display:inline-flex;align-items:center;gap:6px;min-height:28px;border-radius:999px;padding:0 10px;font-size:12px;font-weight:700;white-space:nowrap;text-transform:capitalize}.mode-chip,.mode-dot{color:var(--green-dark);background:#e3f3e9}.status-chip{color:var(--blue);background:#e7f0ff}.status-awaiting_sync_approval,.status-awaiting_action_approval{color:var(--amber);background:#fff0d8}.status-completed{color:var(--green-dark);background:#e3f3e9}.error-banner{padding:10px 12px;margin-bottom:14px;border:1px solid #f0cbc7;border-radius:8px;color:var(--red);background:#fff4f3;font-size:13px}.workspace{width:100%;max-width:100%;min-width:0;display:grid;grid-template-columns:minmax(260px,.88fr) minmax(460px,1.5fr) minmax(320px,1fr);gap:14px;align-items:start}.rail{display:grid;gap:14px;min-width:0}.panel{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);padding:14px;overflow:hidden}.panel-heading{justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;color:var(--text)}.label{display:block;margin-bottom:2px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}h2{font-size:15px;line-height:1.2}h3{font-size:13px;line-height:1.25}.mission-panel textarea{width:100%;max-width:100%;resize:vertical;min-height:104px;border:1px solid var(--border);border-radius:8px;padding:11px;color:var(--text);background:#fbfcfa;font-size:14px;line-height:1.45}.mission-meta{display:flex;justify-content:space-between;gap:8px;margin:10px 0;color:var(--muted);font-size:12px;font-weight:700}.button-row{gap:8px;flex-wrap:wrap}.primary-button,.icon-text-button,.approve-button,.reject-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;padding:0 12px;font-size:13px;font-weight:800}.primary-button{min-width:142px;color:#fff;background:var(--green)}.icon-text-button{min-width:92px;color:var(--text);background:var(--surface-strong)}.connector-list,.approval-list,.audit-list,.compact-table{display:grid;gap:8px}.connector-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:10px;padding:10px;border:1px solid var(--border);border-left-width:4px;border-radius:8px;background:#fbfcfa}.connector-fresh{border-left-color:var(--green)}.connector-stale,.connector-failed{border-left-color:var(--amber);background:#fff9ef}.connector-status{color:var(--green)}.connector-stale .connector-status,.connector-failed .connector-status{color:var(--amber)}.connector-row p,.connector-row span,.approval-row p,.approval-row span,.empty-state,.forecast-summary,.reasoning-box p,.audit-row p,.text-action p{color:var(--muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.connector-row span{display:block;overflow-wrap:anywhere}.connector-meta{display:grid;gap:2px;justify-items:end;font-size:12px;color:var(--muted);white-space:nowrap}.connector-meta strong{color:var(--text);text-transform:capitalize}.approval-row{padding:11px;border:1px solid var(--border);border-radius:8px;background:#fbfcfa}.approval-row h3,.approval-row p{margin-bottom:5px}.approval-actions{margin-top:10px}.approve-button,.reject-button{min-width:104px}.approve-button{color:#fff;background:var(--green)}.reject-button{color:var(--red);background:#fff0ef}.plan-list{margin:0 0 12px;padding-left:20px;color:var(--text);font-size:12px;line-height:1.55}.plan-list li+li{margin-top:5px}.audit-row{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;padding-top:8px;border-top:1px solid var(--border)}.audit-row>span{color:var(--muted);font-size:11px;font-weight:700}.audit-row strong{display:block;color:var(--blue);font-size:12px;overflow-wrap:anywhere}.audit-row div{min-width:0}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.metric{display:grid;gap:6px;min-height:96px;align-content:center;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fbfcfa}.metric svg{color:var(--green)}.metric span{color:var(--muted);font-size:12px;font-weight:700}.metric strong{color:var(--text);font-size:23px;line-height:1}.forecast-summary{margin-bottom:12px;padding:10px;border-radius:8px;background:#eef4ee}.reasoning-box{display:grid;gap:6px;margin-bottom:12px;padding:11px;border:1px solid #d9e6ef;border-radius:8px;background:#f2f7fb}.reasoning-box h3{color:var(--blue)}.risk-table,.compact-table{width:100%}.table-row{display:grid;grid-template-columns:minmax(140px,1fr) 72px 58px 76px;align-items:center;gap:8px;min-height:36px;border-bottom:1px solid var(--border);color:var(--text);font-size:12px}.table-head{min-height:30px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.risk-pill{justify-content:center;min-height:24px;padding:0 8px}.risk-high{color:var(--red);background:#fff0ef}.risk-medium{color:var(--amber);background:#fff0d8}.risk-low{color:var(--green-dark);background:#e3f3e9}.pack-summary{gap:8px;flex-wrap:wrap;margin-bottom:12px}.pack-summary span{min-height:28px;display:inline-flex;align-items:center;border-radius:999px;padding:0 10px;color:var(--green-dark);background:#e3f3e9;font-size:12px;font-weight:800}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.action-section{min-height:130px;padding:11px;border:1px solid var(--border);border-radius:8px;background:#fbfcfa}.action-section h3{display:flex;gap:7px;align-items:center;margin-bottom:8px}.compact-row{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:26px;color:var(--muted);font-size:12px}.compact-row strong{color:var(--text);white-space:nowrap}.text-action p{overflow-wrap:anywhere}@media(max-width:1180px){.workspace{grid-template-columns:minmax(280px,.9fr) minmax(420px,1.3fr)}.rail-right{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.dashboard{padding:12px}.topbar,.workspace,.rail-right,.action-grid,.metric-grid{grid-template-columns:1fr}.topbar{display:flex;flex-direction:column;align-items:flex-start}.topbar-status{justify-content:flex-start;width:100%}.mode-chip,.status-chip{max-width:100%;white-space:normal}.workspace{display:grid}.table-row{grid-template-columns:minmax(120px,1fr) 56px 52px 70px}.connector-row{grid-template-columns:24px minmax(0,1fr)}.connector-meta{grid-column:2;justify-items:start;grid-template-columns:repeat(3,max-content);gap:8px}}@media(max-width:500px){.brand{align-items:flex-start}.brand p{max-width:250px}.mission-meta{display:grid}.mission-panel textarea{font-size:13px}.mission-panel .mode-dot{display:none}.audit-row{grid-template-columns:42px minmax(0,1fr);gap:7px}.audit-row p{max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.primary-button,.icon-text-button,.approve-button,.reject-button{flex:1 1 136px}.risk-table{overflow-x:auto}.table-row{grid-template-columns:minmax(96px,1fr) 48px 44px 58px}}
