:root{font-family:Inter,system-ui,-apple-system,sans-serif;background:#0b1220;color:#e7edf7;font-size:14px}*{box-sizing:border-box}body{margin:0;min-height:100vh}header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px max(14px,env(safe-area-inset-right));background:#111a2b;border-bottom:1px solid #26364f}.brand{display:flex;align-items:center;gap:10px}.brand strong{font-size:20px;letter-spacing:-.6px}.brand strong span{color:#ef4444}.brand small{display:block;color:#91a2b9;font-size:10px;letter-spacing:1px}.logo{height:36px;width:36px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,#dc2626,#164e9c);font-size:26px}.pill{padding:7px 9px;border:1px solid #334155;border-radius:100px;font-size:10px;font-weight:700}.muted,.hint{color:#98a9c1}.pill.good{background:#064e3b;color:#b4fadd;border-color:#166c54}.pill.bad{background:#40232d;color:#fecdd3;border-color:#713e4e}.warning{padding:10px 14px;background:#3b2817;color:#ffdda3;border-bottom:1px solid #795324;font-size:12px;font-weight:600}main{padding:12px;max-width:1440px;margin:auto}.panel{background:linear-gradient(175deg,#152033,#0f1726);border:1px solid #26344b;border-radius:14px;box-shadow:0 8px 24px #0002}.box{padding:16px;margin-bottom:12px}.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}.metric{padding:14px}.metric small{display:block;color:#91a2ba;font-size:11px}.metric strong{display:block;font-size:24px;color:#5ee4c1;font-variant-numeric:tabular-nums;margin:9px 0}.columns{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:12px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}h2{font-size:15px;margin:0 0 11px}p{line-height:1.55}.hint{font-size:12px;line-height:1.5;margin:4px 0 12px}label{display:block;color:#a7b8ce;font-size:12px;margin:10px 0 12px;font-weight:600}input,select{display:block;width:100%;margin-top:6px;background:#0b1220;color:#fff;border:1px solid #33435b;padding:11px;border-radius:9px;font:inherit;min-width:0}input:focus,select:focus{outline:2px solid #527fb5}button{cursor:pointer;border:0;border-radius:9px;padding:11px 14px;font-weight:700;color:#fff;touch-action:manipulation}button:disabled{opacity:.42;cursor:not-allowed}.primary{background:#1669a5;width:100%;margin:5px 0}.ghost{background:#25334b;border:1px solid #364762;font-size:12px}.wide{width:100%;margin-top:5px}.controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.controls label{margin:0}.controls select{min-width:140px;padding:8px}.controls span{margin-left:auto;font-size:11px}.chart-wrap{height:340px;background:#0a1220;border:1px solid #1e2e45;border-radius:9px;position:relative;margin-top:12px;overflow:hidden}canvas{display:block;width:100%;height:100%}.indicators{display:flex;gap:10px;flex-wrap:wrap;padding-top:12px;color:#99a9bf;font-size:11px}.indicators b{color:#a5b4fc}.buyrow{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}.up{background:#047857;padding:15px 5px}.down{background:#be123c;padding:15px 5px}.status{padding:11px 12px;background:#0a1220;border:1px solid #26374e;border-radius:8px;line-height:1.5;color:#bed0e6;font-size:12px;margin-top:12px;overflow-wrap:anywhere}.status.ok{border-color:#047857;color:#6ee7b7}.status.error{border-color:#9f1239;color:#fecdd3}.empty{padding:20px 0;color:#91a2ba;font-size:12px}.entry{padding:12px;border-top:1px solid #30415b;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px}.entry small{display:block;color:#91a2ba;margin-top:4px}.entry button{background:#a31a3a;font-size:11px;padding:9px}.entry strong{color:#fff}.log{max-height:170px;overflow:auto;font-family:ui-monospace,monospace;font-size:11px;color:#c3d2e8}.log div{padding:7px 0;border-bottom:1px solid #24334a;overflow-wrap:anywhere}footer{padding:20px;text-align:center;font-size:11px;color:#8a9aae}code{color:#67e8f9}@media(max-width:850px){.columns{grid-template-columns:1fr}.kpis{gap:7px}.metric{padding:11px}.metric strong{font-size:17px}.metric small{font-size:9px}.chart-wrap{height:280px}header{padding:12px}.brand strong{font-size:17px}.brand small{font-size:8px}.pill{font-size:9px;padding:6px 7px}}@media(max-width:380px){.kpis{grid-template-columns:1fr}.chart-wrap{height:250px}.controls span{margin-left:0}}
