:root{--bg:#f4f6f8;--panel:#fff;--ink:#14202b;--muted:#647180;--line:#dfe5ea;--nav:#111b24;--blue:#2269e8;--green:#13795b}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 Segoe UI,Arial,sans-serif}
aside{position:fixed;inset:0 auto 0 0;width:220px;background:var(--nav);color:#fff;padding:25px 18px}
aside h1{font-size:24px;margin:0}.paper{color:#8db7ff;font-size:11px;font-weight:700;letter-spacing:1.5px}
nav{display:grid;gap:5px;margin-top:28px}nav a{color:#b7c1ca;text-decoration:none;padding:10px 12px;border-radius:7px}
nav a:hover,nav a.active{background:#203141;color:#fff}main{margin-left:220px;padding:32px;min-width:850px}
.nav-group{color:#73889a;font-size:10px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;padding:18px 12px 5px}
.port-control{padding:12px;margin-top:3px;border-top:1px solid #203141}.port-control label{display:block;color:#73889a;font-size:10px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:7px}.port-control div{display:flex;gap:6px}.port-control input{width:72px;background:#0d151d;color:#fff;border:1px solid #33475b;border-radius:6px;padding:8px 9px}.port-control button{padding:8px 10px;border-radius:6px;font-size:12px}.lock-control{padding:0 12px}.lock-control button{width:100%;background:#33475b;padding:8px 10px;border-radius:6px;font-size:12px}
header,.panel-head{display:flex;justify-content:space-between;align-items:center}header{margin-bottom:22px}h2{font-size:28px;margin:2px 0}h3{margin:0 0 15px}.eyebrow{color:var(--blue);font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:1px}
p{color:var(--muted)}button,.button{border:0;border-radius:7px;background:var(--blue);color:#fff;padding:10px 15px;font-weight:650;cursor:pointer;text-decoration:none;display:inline-block}
button.secondary,.button.secondary{background:#33475b}.header-actions{display:flex;gap:10px;align-items:center}.scraper-panel p{margin-bottom:0}.notice{background:#e8f3ff;border:1px solid #bdd8ff;color:#154b86;border-radius:9px;padding:13px 15px;margin:-8px 0 18px}
.auto-rank-panel{display:flex;align-items:center;justify-content:space-between;gap:24px}.auto-rank-panel p{margin:0}.auto-rank-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.cards article,.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 1px 2px #0000000d}
.cards article{padding:19px}.cards strong{font-size:27px;display:block}.cards span{color:var(--muted)}
.panel{padding:20px;margin-bottom:18px;overflow:auto}.workflow{display:flex;align-items:center;gap:13px}.workflow span{background:#edf3ff;padding:12px;border-radius:7px}
.compact-panel{max-height:360px}.compact-panel .panel-head{margin-bottom:10px}.compact-panel h3{margin-bottom:0}.compact-panel a{color:var(--blue);font-weight:700;text-decoration:none}
.manual-scan{display:flex;align-items:center;justify-content:space-between;gap:24px}.manual-scan h3{margin-bottom:4px}.manual-scan p{margin:0}.manual-fields{display:grid;grid-template-columns:repeat(2,minmax(230px,1fr));gap:14px;width:min(720px,68%)}.manual-fields label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.manual-fields input,.manual-fields select{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:7px;font:14px Segoe UI,Arial,sans-serif;text-transform:none;background:#fff;color:var(--ink)}
table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:11px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-size:11px;text-transform:uppercase}tbody tr:hover td{background:#f2f7ff}.selectable-row{cursor:pointer}.selectable-row.row-selected td{background:#e8f2ff}.selectable-row.row-selected:hover td{background:#dcecff}input[type=checkbox]{width:20px;height:20px;accent-color:var(--blue);cursor:pointer;vertical-align:middle}td:first-child input[type=checkbox]{margin:0 4px}
.sortable-header{cursor:pointer;user-select:none}.sortable-header:after{content:" ↕";color:#a4afba;font-size:10px}.sortable-header[data-sort-direction="asc"]:after{content:" ▲";color:var(--blue)}.sortable-header[data-sort-direction="desc"]:after{content:" ▼";color:var(--blue)}
.vrp-table td:nth-child(3){max-width:310px;overflow:hidden;text-overflow:ellipsis}.vrp-table th:nth-child(3){max-width:310px}
.status,.pill{font-size:11px;font-weight:700;border-radius:99px;padding:4px 8px;background:#e8edf2}.completed,.submitted,.filled,.exit_filled{background:#dff6eb;color:#126448}.running,.submitting,.cancel_requested,.exit_submitted{background:#e5efff;color:#1957b8}.failed,.exit_failed{background:#ffe5e5;color:#a32323}.staged,.cancelled,.exit_cancelled{background:#fff0cd;color:#7b5600}
.confirm{display:block;background:#fff8e5;border:1px solid #f1d58d;border-radius:7px;padding:12px;margin:12px 0}.confirm input{padding:7px;border:1px solid var(--line);border-radius:5px;min-width:240px}
.table-input{width:92px;padding:7px;border:1px solid var(--line);border-radius:5px}.qty-input{width:70px}.small-button{padding:7px 10px;font-size:12px}
.orders-panel{overflow:hidden}.orders-table-scroll{overflow:auto;max-height:calc(100vh - 260px);padding-bottom:8px}.orders-table{min-width:2600px}.orders-table th:last-child,.orders-table td:last-child{min-width:720px;max-width:920px;white-space:normal;line-height:1.35}.orders-table thead th{position:sticky;top:0;background:var(--panel);z-index:1}
.order-submit-controls{display:flex;align-items:center;gap:12px}.order-submit-controls label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:700}.order-submit-controls .override-check{color:#7b5600}.order-submit-controls .override-check input{width:18px;height:18px}.order-submit-controls select,.order-submit-controls .pin-check input{padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}.order-submit-controls .pin-check input{width:92px}
dl{display:grid;grid-template-columns:160px 1fr;gap:10px}dt{color:var(--muted)}dd{margin:0;font-family:Consolas,monospace}
.form-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:14px}.form-grid label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font:14px Segoe UI,Arial,sans-serif}.form-grid textarea{min-height:38px;resize:vertical}.form-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.quote-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;margin-top:10px}.quote-grid span{background:#f7f9fb;border:1px solid var(--line);border-radius:7px;padding:9px;color:var(--muted)}.quote-grid strong{display:block;color:var(--ink);font-size:15px}.warning-notice{background:#fff0cd;border-color:#f0d37a;color:#725200}.warning-list{margin:0;padding-left:18px;min-width:260px}.warning-list li{white-space:normal}.warning-list .blocking{color:#a32323;font-weight:700}.state-draft,.state-local{background:#e8edf2}.state-validated,.state-submitting,.state-broker_working,.state-exit_submitting{background:#e5efff;color:#1957b8}.state-locally_staged,.state-partially_filled,.state-exit_signalled,.state-exit_staged{background:#fff0cd;color:#7b5600}.state-user_approved,.state-open_protected,.state-closed{background:#dff6eb;color:#126448}.state-cancelled,.state-rejected,.state-error,.state-reconciliation_required{background:#ffe5e5;color:#a32323}.inline-actions{display:flex;gap:8px;flex-wrap:wrap}.inline-confirm{display:flex;gap:8px;align-items:center}.inline-confirm input{min-width:160px;padding:9px 10px;border:1px solid var(--line);border-radius:5px}.safety-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}.safety-grid span{background:#f7f9fb;border:1px solid var(--line);border-radius:7px;padding:10px;color:var(--muted)}.safety-grid strong{display:block;color:var(--ink);font-size:16px}
.exit-shell{display:flex;justify-content:center}.exit-card{width:min(520px,100%);background:#fff}.exit-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}.exit-head h3{margin:0}.exit-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.exit-metrics span{background:#f7f9fb;border:1px solid var(--line);border-radius:7px;padding:10px;color:var(--muted)}.exit-metrics strong{display:block;color:var(--ink);font-size:18px}.exit-form{display:grid;gap:13px}.exit-form label{display:grid;grid-template-columns:145px 1fr;gap:12px;align-items:center}.exit-form label span{color:var(--ink)}.exit-form small{display:block;color:var(--muted);font-size:11px}.exit-form select,.exit-form input[type=text],.exit-form input:not([type]){width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:5px;background:#fff}.exit-check{grid-template-columns:auto 1fr!important;justify-content:start}.exit-check input[type=checkbox]{width:20px;height:20px}.inline-input{grid-template-columns:auto max-content 90px!important}.inline-input input:last-child{min-width:80px}
.auth-body{min-height:100vh;display:grid;place-items:center;background:var(--bg)}.auth-main{margin:0;padding:24px;min-width:0;width:100%;display:grid;place-items:center}.auth-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px #14202b1a;padding:26px}.auth-card h2{margin:4px 0 6px}.auth-form{display:grid;gap:14px;margin-top:18px}.auth-form label{display:grid;gap:7px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.auth-form input{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font:16px Segoe UI,Arial,sans-serif;text-transform:none}.auth-form button:disabled{background:#a9b4bf;cursor:not-allowed}.auth-muted{font-size:13px;margin:12px 0 0}.auth-muted a{color:var(--blue);font-weight:700;text-decoration:none}
