:root{--chrome: #d4d0c8;--chrome-light: #ffffff;--chrome-mid: #808080;--chrome-dark: #404040;--desktop: #a9a9a9;--title: #ece9e2;--grid-bg: #000000;--grid-text: #ffffff;--grid-line: #1c1c1c;--call: #e1232b;--put: #2530d9;--up: #2b39e6;--down: #e3202a;--select: #3a3a3a;--buy-win: #2f4fd0;--sell-win: #c8262c;--ok: #19c31d}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--desktop);font-family:Tahoma,Segoe UI,Verdana,sans-serif;font-size:11px;color:#000;overflow:hidden;-webkit-user-select:none;user-select:none}button,input,select{font-family:inherit;font-size:11px}.app{display:flex;flex-direction:column;height:100%}.raised{background:var(--chrome);border:1px solid;border-color:var(--chrome-light) var(--chrome-dark) var(--chrome-dark) var(--chrome-light)}.sunken{border:1px solid;border-color:var(--chrome-mid) var(--chrome-light) var(--chrome-light) var(--chrome-mid)}.btn{background:var(--chrome);border:1px solid;border-color:var(--chrome-light) var(--chrome-dark) var(--chrome-dark) var(--chrome-light);padding:2px 10px;min-height:21px;cursor:pointer}.btn:active{border-color:var(--chrome-dark) var(--chrome-light) var(--chrome-light) var(--chrome-dark)}.btn:disabled{color:var(--chrome-mid);cursor:default}.btn.small{padding:0 6px;min-height:17px}input.field,select.field{background:#fff;border:1px solid;border-color:var(--chrome-mid) var(--chrome-light) var(--chrome-light) var(--chrome-mid);height:19px;padding:0 3px}input.field:read-only{background:#f0f0f0}.menubar{display:flex;background:var(--chrome);padding:1px 2px;border-bottom:1px solid var(--chrome-mid);position:relative;z-index:50}.menu-item{padding:2px 7px;cursor:default;position:relative}.menu-item:hover,.menu-item.open{background:#0a246a;color:#fff}.menu-drop{position:absolute;top:100%;left:0;min-width:210px;background:var(--chrome);color:#000;border:1px solid;border-color:var(--chrome-light) var(--chrome-dark) var(--chrome-dark) var(--chrome-light);box-shadow:2px 2px #00000059;padding:2px}.menu-entry{display:flex;justify-content:space-between;gap:18px;padding:3px 18px;white-space:nowrap}.menu-entry:hover:not(.disabled){background:#0a246a;color:#fff}.menu-entry.disabled{color:var(--chrome-mid)}.menu-sep{height:0;border-top:1px solid var(--chrome-mid);border-bottom:1px solid var(--chrome-light);margin:3px 1px}.toolbar{display:flex;align-items:center;gap:1px;background:var(--chrome);padding:2px 4px;border-bottom:1px solid var(--chrome-mid)}.tool{width:24px;height:22px;display:grid;place-items:center;border:1px solid transparent;background:none;cursor:pointer;font-weight:700;font-size:12px;padding:0}.tool:hover{border-color:var(--chrome-light) var(--chrome-dark) var(--chrome-dark) var(--chrome-light)}.tool:active{border-color:var(--chrome-dark) var(--chrome-light) var(--chrome-light) var(--chrome-dark)}.tool-sep{width:2px;height:18px;border-left:1px solid var(--chrome-mid);border-right:1px solid var(--chrome-light);margin:0 4px}.scripbar{display:flex;align-items:flex-end;gap:6px;background:var(--chrome);padding:2px 6px 4px;border-bottom:1px solid var(--chrome-mid)}.scripbar label{display:flex;flex-direction:column;gap:1px}.workspace{flex:1;position:relative;overflow:hidden;background:var(--desktop)}.mdi{position:absolute;display:flex;flex-direction:column;background:var(--chrome);border:2px solid;border-color:var(--chrome-light) var(--chrome-dark) var(--chrome-dark) var(--chrome-light);box-shadow:1px 1px #000;min-width:200px;min-height:80px}.mdi.focused{z-index:10}.mdi-title{display:flex;align-items:center;justify-content:space-between;height:18px;padding:0 2px 0 4px;background:var(--title);color:#000;font-weight:700;cursor:move;border-bottom:1px solid var(--chrome-mid)}.mdi.focused .mdi-title{background:linear-gradient(90deg,#0a246a,#a6caf0);color:#fff}.mdi-title-buttons{display:flex;gap:2px}.mdi-title-buttons button{width:16px;height:14px;line-height:10px;padding:0;font-size:10px;font-weight:700;background:var(--chrome);border:1px solid;border-color:var(--chrome-light) var(--chrome-dark) var(--chrome-dark) var(--chrome-light);cursor:pointer}.mdi-body{flex:1;overflow:auto;position:relative}.mdi-resize{position:absolute;right:-2px;bottom:-2px;width:12px;height:12px;cursor:nwse-resize}.grid{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;background:var(--grid-bg);color:var(--grid-text);font-family:Tahoma,Segoe UI,sans-serif;font-size:11px}.grid-wrap{background:var(--grid-bg);height:100%;overflow:auto}.grid th{position:sticky;top:0;z-index:2;background:var(--chrome);color:#000;font-weight:400;text-align:left;padding:1px 4px;border-right:1px solid var(--chrome-mid);border-bottom:1px solid var(--chrome-dark);white-space:nowrap}.grid td{padding:0 4px;height:15px;white-space:nowrap;border-bottom:1px solid var(--grid-line);text-align:right}.grid td.l{text-align:left}.grid tr.blank td{height:15px;border-bottom-color:transparent}.grid tr.selected td{background-color:var(--select);outline:1px dotted #fff;outline-offset:-1px}.grid td.sym-ce{background:var(--call);font-weight:700}.grid td.sym-pe{background:var(--put);font-weight:700}.grid td.up{background:var(--up)!important}.grid td.down{background:var(--down)!important}.grid td.neg{color:#ff6b6b}.grid td.pos{color:#6bff7a}.grid td.na{color:#bdbdbd;text-align:left}.list{border-collapse:collapse;width:max-content;min-width:100%;background:#fff;font-size:11px}.list th{position:sticky;top:0;background:var(--chrome);font-weight:400;text-align:left;padding:1px 4px;border:1px solid;border-color:var(--chrome-light) var(--chrome-mid) var(--chrome-mid) var(--chrome-light);white-space:nowrap}.list td{padding:1px 4px;white-space:nowrap;border-bottom:1px solid #eee}.list td.r{text-align:right}.list tr.buy td{color:#1730c8}.list tr.sell td{color:#d01f26}.list tr.selected td{background:#0a246a;color:#fff}.list .empty{color:var(--chrome-mid);text-align:center;padding:10px}.list-wrap{background:#fff;height:100%;overflow:auto}.tabs{display:flex;gap:1px;padding:3px 3px 0;background:var(--chrome)}.tab{padding:2px 10px;border:1px solid;border-bottom:none;border-color:var(--chrome-light) var(--chrome-dark) var(--chrome-dark) var(--chrome-light);cursor:pointer;background:var(--chrome)}.tab.active{font-weight:700;position:relative;top:1px;background:#fff}.status-pill{display:inline-block;padding:0 5px;border-radius:2px;color:#fff;font-weight:700}.status-running{background:#13901a}.status-paused{background:#b98a00}.status-filled{background:#1730c8}.status-cancelled{background:#777}.status-error{background:#c8262c}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000001f;z-index:100;display:grid;place-items:center}.dialog{background:var(--chrome);border:2px solid;border-color:var(--chrome-light) var(--chrome-dark) var(--chrome-dark) var(--chrome-light);box-shadow:3px 3px #0006;min-width:360px;max-width:calc(100vw - 32px)}.dialog-title{background:linear-gradient(90deg,#0a246a,#a6caf0);color:#fff;font-weight:700;padding:3px 6px;display:flex;justify-content:space-between}.dialog-body{padding:8px 10px}.dialog-actions{display:flex;justify-content:flex-end;gap:6px;padding:6px 10px 10px}.form-grid{display:grid;grid-template-columns:auto 1fr;gap:5px 8px;align-items:center}.error-text{color:#b00000;margin-top:6px;white-space:pre-wrap}.strike-list{height:260px;overflow:auto;background:#fff;border:1px solid;border-color:var(--chrome-mid) var(--chrome-light) var(--chrome-light) var(--chrome-mid)}.strike-item{display:flex;gap:6px;align-items:center;padding:1px 6px}.strike-item.atm{background:#fff4b8;font-weight:700}.order-window{position:fixed;left:50%;bottom:30px;transform:translate(-50%);z-index:120;color:#fff;border:2px solid;border-color:#ffffff80 #00000080 #00000080 #ffffff80;box-shadow:3px 3px #00000073;width:min(980px,calc(100vw - 32px))}.order-window.buy{background:var(--buy-win)}.order-window.sell{background:var(--sell-win)}.order-window .ow-title{display:flex;justify-content:space-between;padding:3px 8px;font-weight:700;background:#00000040}.order-window .ow-row{display:flex;flex-wrap:wrap;gap:8px;padding:6px 8px;align-items:flex-end}.order-window label{display:flex;flex-direction:column;gap:1px}.order-window .ow-info{padding:2px 8px 6px;font-size:11px;opacity:.95}.order-window .ow-info b{color:#ffef8a}.sp{display:flex;flex-direction:column;height:100%;background:var(--chrome)}.sp-form{padding:3px 4px;border-bottom:1px solid var(--chrome-mid)}.sp-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:4px 8px;margin-bottom:3px}.sp-group{display:flex;align-items:flex-end;gap:5px;margin:0;padding:1px 5px 4px;border:1px solid;border-color:var(--chrome-mid) var(--chrome-light) var(--chrome-light) var(--chrome-mid)}.sp-group.sp-dim legend{color:var(--chrome-mid)}.sp-group legend{padding:0 3px;color:navy}.sp-f{display:flex;flex-direction:column;gap:1px;white-space:nowrap}.sp-radio{display:flex;align-items:center;gap:2px;white-space:nowrap;padding-bottom:2px}.sp-radio input{margin:0}.sp-buttons{display:flex;flex-wrap:wrap;gap:4px;padding:3px 0 1px}.sp-grid{flex:1;min-height:60px}.sp-check{text-align:center}.sp-check.sp-running{background:#13901a}.sp-check.sp-error{background:#c8262c}.sp-check.sp-done{background:#1730c8}.sp-footer{padding:2px 6px;border-top:1px solid var(--chrome-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}.col-filter{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;max-height:340px;overflow:auto;background:#fff;padding:6px;border:1px solid;border-color:var(--chrome-mid) var(--chrome-light) var(--chrome-light) var(--chrome-mid)}.ctx{position:fixed;z-index:200;background:var(--chrome);border:1px solid;border-color:var(--chrome-light) var(--chrome-dark) var(--chrome-dark) var(--chrome-light);box-shadow:2px 2px #00000059;padding:2px;min-width:190px}.statusbar{display:flex;gap:2px;background:var(--chrome);padding:2px;border-top:1px solid var(--chrome-light)}.statusbar>div{padding:0 6px;height:17px;line-height:15px;white-space:nowrap;overflow:hidden}.seg-ok{background:var(--ok);font-weight:700}.seg-bad{background:#e03030;color:#fff;font-weight:700}.seg-warn{background:#ffd23a;font-weight:700}.statusbar .grow{flex:1}.toast{position:fixed;right:12px;bottom:30px;z-index:300;max-width:420px;padding:6px 10px;border:1px solid #000;box-shadow:2px 2px #0006;background:#ffffe1}.toast.err{background:#ffd8d8}
