:root{color-scheme:dark;font-family:Geist,Segoe UI,system-ui,sans-serif;background:#0d1420;color:#edf4ff;font-synthesis:none;--background: #0d1420;--panel: #151f2e;--edge: #273549;--muted: #a4b3c8;--accent: #53e1ce}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,a.button{font:inherit}button,a.button,input,select{color:inherit;background:#111b2a;border:1px solid #34445b;border-radius:8px;padding:9px 12px}button,a.button{cursor:pointer;text-decoration:none;font-weight:600}button:hover,a.button:hover{border-color:var(--accent)}button:disabled{cursor:wait;opacity:.55}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input,select{min-width:0;width:100%}input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);margin:0}label{display:grid;gap:6px;color:var(--muted);font-size:.82rem;font-weight:600}.primary{background:var(--accent);color:#09221f;border-color:var(--accent)}.primary:hover{background:#81f0df}.subtle,.text-button{background:transparent;color:var(--accent);border:0}.shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;padding:24px 16px 16px;background:#101926;border-right:1px solid var(--edge);overflow:auto}.brand,.login-brand,.profile{display:flex;gap:12px;align-items:center}.brand{padding:0 6px 30px}.brand-mark{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px;font-size:25px;color:var(--accent);border:1px solid #28665f;border-radius:11px;background:#153632}.brand b,.login-brand b{display:block;font-size:1.25rem;letter-spacing:.09em}.brand span,.login-brand span,.profile span{display:block;color:var(--muted);font-size:.75rem}.sidebar nav{display:grid;gap:5px}.sidebar nav button{display:flex;align-items:center;text-align:left;gap:12px;padding:10px 11px;background:transparent;border:1px solid transparent;color:var(--muted);font-size:.88rem}.sidebar nav button:hover,.sidebar nav button.active{border-color:#265952;color:var(--accent);background:#17322f}.sidebar nav i{width:18px;text-align:center;font-style:normal;font-size:1.05rem}.sidebar nav .subnav{margin-left:28px;font-size:.78rem;padding:6px 7px}.count{margin-left:auto;border-radius:20px;padding:1px 6px;color:#ffc3c3;background:#4e2631}.profile{margin-top:auto;padding:25px 3px 10px;min-width:0}.profile>div:last-child{min-width:0}.profile strong{display:block;font-size:.8rem}.profile span{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.avatar{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;background:#223449;border-radius:50%;font-size:.72rem}.logout{font-size:.8rem;text-align:left;color:var(--muted)}.topbar{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 28px;border-bottom:1px solid var(--edge);background:#111a28}.topbar label{display:flex;align-items:center;gap:10px;min-width:0}.topbar select{width:auto;max-width:40vw}.top-status{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.badge{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--edge);border-radius:30px;padding:5px 9px;font-size:.72rem;white-space:nowrap}.badge i{width:6px;height:6px;border-radius:50%;background:currentColor}.ok{background:#16352b;color:#86e9b6;border-color:#285843}.warning{background:#3a2b20;color:#f7ce8a;border-color:#63482d}.danger{background:#402330;color:#ffb6bc;border-color:#693745}.neutral{background:#1e2c3e;color:#b8c9df}.menu-toggle{display:none}.content{max-width:1600px;margin:0 auto;padding:28px;display:grid;align-content:start;gap:19px}.page-heading,.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.page-heading{align-items:end;padding:4px 0 3px}.page-heading label{min-width:min(220px,100%)}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.45rem,3vw,2.35rem);line-height:1.16;letter-spacing:-.035em}h2{font-size:1.1rem;letter-spacing:-.01em}h3{font-size:.95rem}.page-heading p,.panel-heading p{color:var(--muted);margin:0 0 7px;font-size:.85rem}.panel-heading p{margin:5px 0 0}.panel{background:var(--panel);border:1px solid var(--edge);border-radius:13px;min-width:0}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric{display:grid;align-content:start;gap:9px;padding:17px}.metric-icon{display:grid;place-items:center;width:31px;height:31px;background:#1b3a3b;border-radius:8px;color:#75ebd8}.metric-icon.amber{color:#ffd38a;background:#392d24}.metric-icon.green{color:#9be8ba;background:#223c35}.metric-icon.red{color:#ffacb6;background:#4a2631}.metric>span:nth-child(2){color:#c4d1e4;font-size:.83rem}.metric strong{font-size:clamp(1.15rem,2.3vw,1.85rem);font-variant-numeric:tabular-nums;letter-spacing:-.035em}.metric strong small,.metric>small{color:var(--muted);font-size:.72rem;letter-spacing:0}.metric .text-button{justify-self:start;padding:0;font-size:.74rem;text-align:left}.trend,.catalog{display:grid;gap:15px;padding:19px}.chart-controls,.series-controls,.actions,.row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.series-controls{align-self:end;min-height:37px}.check{display:inline-flex;align-items:center;gap:7px}.trend canvas{display:block;width:100%;height:246px;border:1px solid #27374a;border-radius:9px;background:#101a28}.interactive-chart{position:relative;min-width:0}.interactive-chart canvas{cursor:grab;touch-action:pan-y}.interactive-chart canvas:active{cursor:grabbing}.chart-controls{align-items:end}.chart-tooltip{position:absolute;top:8px;transform:translate(clamp(-100%,-10vw,0px));pointer-events:none;max-width:min(275px,80%);background:#0d1725;color:#edf4ff;border:1px solid #435a72;border-radius:8px;padding:9px;font-size:.75rem;z-index:1}.chart-tooltip div{margin-top:5px}.chart-tooltip i{display:inline-block;width:7px;height:7px;border-radius:50%}.chart-tooltip small{display:block;color:var(--muted)}.price-table{max-height:24rem}.st-source{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:14px}.st-source pre,.st-source textarea{background:#0d1725;color:#edf4ff;border:1px solid #34445b;border-radius:8px;padding:12px;font:.85rem/1.6 Consolas,monospace}.st-source pre{overflow:auto}.st-source textarea{width:100%;resize:vertical;-moz-tab-size:4;tab-size:4}.st-code{min-width:0}.st-code-shell{display:grid;grid-template-columns:48px minmax(0,1fr);height:400px;overflow:hidden;border:1px solid #34445b;border-radius:6px;background:#1e1e1e}.st-code-shell:focus-within{outline:2px solid #659eff;outline-offset:2px}.st-code-shell .st-code-gutter,.st-source .st-code-highlight,.st-source .st-code-shell textarea{box-sizing:border-box;min-height:0;margin:0;border:0;border-radius:0;padding:12px;font:14px/22px Consolas,monospace;white-space:pre;-moz-tab-size:4;tab-size:4}.st-code-shell .st-code-gutter{grid-area:1/1;padding-inline:0;overflow:hidden;text-align:center;color:#a1afc3;background:#26313c}.st-code-gutter .st-error-line{background:#712b36;color:#fff}.st-source .st-code-highlight,.st-source .st-code-shell textarea{grid-area:1/2;min-width:0;height:100%}.st-source .st-code-highlight{overflow:hidden;pointer-events:none;background:transparent}.st-source .st-code-shell textarea{z-index:1;overflow:auto;background:transparent;color:transparent;caret-color:#fff;resize:none;outline:none}.st-code-shell textarea::selection{background:#4777a47a}.st-token-control{color:#d39dde}.st-token-keyword{color:#77b7ef}.st-token-variable{color:#9cdcfe}.st-token-comment{color:#94b681}.st-token-number{color:#b5cea8}.st-code-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}@media(max-width:740px){.st-source{grid-template-columns:minmax(0,1fr)}}.legend{display:flex;flex-wrap:wrap;gap:13px;font-size:.82rem}.legend span{display:inline-flex;gap:6px;align-items:center}.legend i{width:8px;height:8px;border-radius:50%}.legend small,.hint{color:var(--muted)}.hint{font-size:.78rem;line-height:1.45}.empty{color:var(--muted);text-align:center;padding:24px 12px;border:1px dashed #3a4b60;border-radius:9px;font-size:.88rem}.chart-empty{display:grid;place-items:center;min-height:160px}.error,.notice{white-space:pre-line;padding:11px 13px;border-radius:8px;line-height:1.4}.error{background:#442736;color:#ffc3cc}.notice{background:#153933;color:#98f6e4}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.83rem;text-align:left}th,td{padding:11px 9px;border-bottom:1px solid var(--edge)}th{color:var(--muted);font-weight:600;white-space:nowrap}td code{overflow-wrap:anywhere}.row-actions button{padding:5px 8px;font-size:.78rem;white-space:nowrap}.filter{max-width:320px}.editor{display:grid;gap:14px;padding:15px;background:#111b29;border:1px solid var(--edge);border-radius:9px}.fields{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}fieldset{min-width:0;border:1px solid #3d5068;border-radius:8px;padding:12px}fieldset legend{padding:0 7px;color:#c9d6e8}fieldset>button,fieldset>.check{margin:8px 8px 0 0}.events>div{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--edge);padding:12px 0;font-size:.84rem}.events time{color:var(--muted)}.device-web-panel{width:100%;height:65vh;border:1px solid var(--edge);background:#fff}.login{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:20px;background:radial-gradient(ellipse at 50% 8%,#1c3c45,var(--background) 60%)}.login-panel{width:min(100%,400px);display:grid;gap:17px;padding:26px}@media(max-width:1040px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:740px){.shell{display:block}.sidebar{display:none;position:static;height:auto;border-right:none;border-bottom:1px solid var(--edge)}.sidebar.expanded{display:flex}.menu-toggle{display:inline-block;font-size:.8rem;white-space:nowrap}.topbar,.content{padding:12px}.topbar{gap:6px;flex-wrap:wrap}.topbar label{gap:4px}.topbar select{max-width:52vw}.top-status{justify-content:flex-start}.page-heading,.panel-heading{align-items:flex-start;flex-wrap:wrap}.metric,.trend,.catalog{padding:12px}.metrics{gap:8px}.trend canvas{height:205px}}
