:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#152a25;background:#f2f5f1;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 15% 10%,#e4eee5,transparent 55%),#f2f5f1}.shell{width:100%;flex:1;display:grid;place-items:center;padding:64px 24px}.card{background:#fff;border:1px solid #dde6df;border-radius:20px;padding:44px;box-shadow:0 16px 48px #213d2a08}.login-card{width:100%;max-width:440px}.brand{display:flex;gap:12px;align-items:center;font-weight:800;font-size:24px;letter-spacing:-1px;color:#206149}.brand span{font-size:12px;letter-spacing:2px;color:#425a50}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#658174;margin:42px 0 12px}h1{font-size:30px;letter-spacing:-1px;font-weight:600;line-height:1.2;margin:0 0 12px}h2{font-size:20px;margin:0 0 8px}.muted{color:#6b7c74;font-size:14px;line-height:1.6}form{display:grid;margin-top:30px}label{font-size:13px;font-weight:600;margin-bottom:9px}input{width:100%;min-height:46px;border:1px solid #cfdbd3;border-radius:8px;background:#fcfdfb;padding:11px 13px;margin-bottom:22px;font:inherit;font-size:15px;color:#152a25}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #72b398;outline-offset:3px}button,.button{border:0;border-radius:8px;background:#235e48;color:white;padding:14px 18px;font:inherit;font-size:14px;font-weight:600;text-decoration:none;display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;min-height:46px}button:hover,.button:hover{background:#194c38}.error{padding:12px;background:#fff0ee;border:1px solid #f2c7c0;border-radius:8px;font-size:13px;color:#94362c}footer{text-align:center;padding:24px;font-size:11px;color:#7b8a80}.dashboard{width:100%;max-width:860px}.dashboard header{display:flex;align-items:center;justify-content:space-between;gap:20px}.logout-form{margin:0}.secondary{background:#edf3ee;color:#365f4d}.secondary:hover{background:#dfeae2}.broker-panel{border:1px solid #dde6df;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;margin:32px 0}.broker-panel p{margin:0}.status{font-size:12px;color:#6b7c74}.status span{color:#86a392;margin-right:6px}@media(max-width:600px){.shell{padding:24px 16px}.card{padding:28px 22px;border-radius:14px}.broker-panel{align-items:stretch;flex-direction:column;padding:20px}h1{font-size:27px}.brand span{font-size:10px}.secondary{padding:12px}.eyebrow{margin-top:32px}}

.connection-state{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;margin:8px 0!important}.connection-state.connected{color:#206149}.connection-state.disconnected{color:#866028}.connection-state.unavailable{color:#6b7c74}.broker-panel .muted{margin-top:6px}

.strategy-panel { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #d9e0e6; }
.strategy-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; }
.strategy-badge { border: 1px solid currentColor; border-radius: 2rem; padding: .4rem .7rem; font-size: .8rem; }
.strategy-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; margin: 1.5rem 0; }
.strategy-grid dt { font-size: .8rem; color: #637084; margin-bottom: .35rem; }
.strategy-grid dd { margin: 0; overflow-wrap: anywhere; }
.history-page { max-width: 1100px; }
.history-page header { flex-wrap: wrap; }
.history-nav { display: flex; flex-wrap: wrap; gap: 1.5rem; margin: 1.5rem 0; }
.history-page a { color: #206149; }
.history-page a[aria-current] { font-weight: 700; text-decoration-thickness: 2px; }
.table-scroll { overflow-x: auto; margin: 1.5rem 0; }
.table-scroll:focus-visible { outline: 3px solid #72b398; outline-offset: 3px; }
.history-page table { width: 100%; border-collapse: collapse; text-align: left; font-size: .875rem; }
.history-page caption { text-align: left; font-weight: 600; padding: .75rem 0; }
.history-page th, .history-page td { padding: .75rem; border-bottom: 1px solid #dde6df; vertical-align: top; overflow-wrap: anywhere; }

select{width:100%;min-height:46px;border:1px solid #cfdbd3;border-radius:8px;background:#fcfdfb;padding:11px 13px;margin-bottom:22px;font:inherit;color:#152a25}
select:focus-visible{outline:3px solid #72b398;outline-offset:3px}
.checkbox-label{display:flex;align-items:center;gap:12px}
.checkbox-label input{width:20px;min-height:20px;height:20px;margin:0}
