/* GGI Terminal additions on top of the GGI Live styles */
.accent{color:var(--accent)}
.brand.big{font-size:26px;text-align:center}
.fl{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);margin-top:8px}
.fl input,.fl select{color:var(--text);font-size:14px}
.authwrap{position:fixed;inset:0;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px 24px}
.authcard{width:100%;max-width:400px;display:flex;flex-direction:column;gap:10px}
.aform{display:flex;flex-direction:column;gap:10px}
.aform form{display:flex;flex-direction:column;gap:10px}
.aform h2{margin:4px 0 0;font-size:18px}
.aform .seg{align-self:center}
.brandedit{border-bottom:1px solid var(--line);padding-bottom:10px}
.linkbtn{border:0;background:none;color:var(--accent);cursor:pointer;padding:4px;align-self:center;font-size:13px}
.qrbox{display:flex;justify-content:center}.qrbox svg{width:200px;height:200px;border-radius:8px}
.secret{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.secret code{font-size:13px;word-break:break-all}
#authMsg.err{color:var(--red)}
.steps.small li{margin-bottom:4px}

.symtabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;max-width:60vw}
.symtabs button{border:0;background:transparent;padding:6px 10px;border-radius:6px;cursor:pointer;color:var(--muted);white-space:nowrap}
.symtabs button.on{background:var(--panel2);color:var(--text)}
.menu{flex-wrap:wrap}
.stub{display:flex;align-items:center;justify-content:center}
.stubtext{text-align:center;max-width:460px;padding:20px}
.paywall{position:fixed;inset:0;z-index:30;cursor:pointer;background:transparent}

.periods{justify-content:center;margin:6px 0 12px}
.center-t{text-align:center}
.disc{background:var(--green);color:#fff;border-radius:6px;padding:0 6px;font-size:11px;margin-left:4px}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.plan{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:8px}
.plan.hot{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.plan h3{margin:0;font-size:17px}
.plan .price{font-size:28px;font-weight:700}.plan .price small{font-size:13px;font-weight:400;color:var(--muted)}
.plan .old{color:var(--muted);text-decoration:line-through;font-size:13px}
.plan ul{margin:0;padding-left:18px;font-size:13px;flex:1}.plan li{margin:3px 0}
.badge{display:inline-block;font-size:11px;border-radius:6px;padding:1px 6px;background:var(--panel2);color:var(--muted)}
.badge.ok{background:var(--green);color:#fff}.badge.bad{background:var(--red);color:#fff}.badge.acc{background:var(--accent);color:#fff}

/* master cabinet */
.mwrap{max-width:1200px;margin:0 auto;padding:12px 16px 40px}
.mtop{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px}
.kpi b{display:block;font-size:22px}
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th,.tbl td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tbl th{color:var(--muted);font-weight:500;font-size:12px;position:sticky;top:0;background:var(--bg)}
.tbl tr.click{cursor:pointer}.tbl tr.click:hover td{background:var(--panel2)}
.tblwrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin-top:10px}
.mono{font-family:ui-monospace,Consolas,monospace;font-size:12px;word-break:break-all}
.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
@media (max-width:640px){.symtabs{max-width:100%;order:9;width:100%}.brand.big{font-size:22px}}
.costeps{margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--panel2);font-size:13px}
.costeps.err{color:var(--red)}.costeps.ok{color:var(--green);font-weight:600}
#coChain{margin:4px 0 6px}
.row.wrap{flex-wrap:wrap}
a.btn{text-decoration:none;display:inline-flex;align-items:center;color:var(--text)}
.card.sub>.badge,.card.sub>b+.badge{align-self:flex-start}
.depgrid{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;margin-top:10px}
.depgrid .qrbox svg{width:150px;height:150px}
.depamt{font-size:22px}.depamt b{font-size:26px}
.deprules{padding-left:18px;margin:10px 0 0}.deprules li{margin:3px 0}
#coDepAddr{font-size:13px}
@media (max-width:520px){.depgrid{grid-template-columns:1fr;justify-items:center;text-align:center}}
.bad-t{color:var(--red)}

/* terminal: second bar, coin tabs, grouped tools */
.app .lvtop{flex-wrap:nowrap}
.lvbar{display:flex;align-items:center;gap:12px;padding:3px 10px;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap}
.symtabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;min-width:0;flex:1 1 auto}
.stab{display:flex;align-items:center;gap:2px;padding:4px 4px 4px 10px;border-radius:6px;cursor:pointer;color:var(--muted);white-space:nowrap;font-weight:600;font-size:13px;border:1px solid transparent}
.stab:hover{background:var(--panel2)}
.stab.on{background:var(--panel2);color:var(--text);border-color:var(--line)}
.stab .sx{border:0;background:transparent;color:var(--muted);cursor:pointer;width:18px;height:18px;border-radius:4px;padding:0;line-height:1;font-size:14px}
.stab .sx:hover{background:var(--line);color:var(--text)}
.stab.add{padding:4px 10px;background:transparent;border:1px dashed var(--line);font-size:15px}
.tgrp{position:relative;display:flex}
.tools .tgrp>.tmore{position:absolute;right:-3px;bottom:1px;width:12px;height:12px;flex:none;font-size:11px;color:var(--muted);padding:0;border-radius:3px;line-height:1}
.tools .tgrp>.tmore:hover{background:var(--panel2);color:var(--text)}
.tfly{position:fixed;z-index:60;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:6px;min-width:250px}
.tfly .tflyh{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:4px 8px}
.tools .tfly button{width:100%;height:34px;flex:none;justify-content:flex-start;gap:10px;padding:0 8px;color:var(--text)}
.tools .tfly button span{font-size:13px;white-space:nowrap}
.tools .tfly button:hover{background:var(--panel2)}
.tools .tfly button.on{background:var(--accent);color:#fff}
#indList .chips{flex-wrap:wrap}
#indSearch{margin-bottom:8px}
.rpbar .btn.buy,.rpbar .btn.sell{min-width:54px}
#botWarn{color:var(--red)}
@media (max-width:640px){.app .lvtop{flex-wrap:wrap}.symtabs{order:9;flex-basis:100%}}
.menu{flex-wrap:nowrap;gap:6px}
.menu .btn{min-height:32px;padding:4px 10px;font-size:13px}
.mwrapbtn{position:relative}
.menupop{position:absolute;right:0;top:38px;z-index:70;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:6px;min-width:220px;display:flex;flex-direction:column}
.menupop button{border:0;background:transparent;text-align:left;padding:9px 10px;border-radius:6px;cursor:pointer;color:var(--text);white-space:nowrap}
.menupop button:hover{background:var(--panel2)}
@media (max-width:820px){.lvmain .chartwrap{flex:1 0 58vh;height:auto}}
@media (max-width:560px){.menu .btn[data-m]{font-size:0;padding:4px 8px}.menu .btn[data-m]::first-letter{font-size:16px}}
.app .lvtop .brand{white-space:nowrap}
/* premium */
.chartbox{width:100%;min-height:60px;margin:6px 0 14px}
.sychips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.sych{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:14px;padding:3px 4px 3px 10px;font-size:12px;background:var(--panel2)}
.sych.off{opacity:.5}
.sych button{border:0;background:transparent;cursor:pointer;padding:0 3px;font-size:12px;color:var(--text)}
.cabtabs button{border:1px solid var(--line);background:var(--panel2);border-radius:16px;padding:5px 12px;cursor:pointer;color:var(--text)}
.cabtabs button.on{background:var(--accent);border-color:var(--accent);color:#fff}
.conrow{padding:8px 0;border-bottom:1px solid var(--line)}
.nowrap{white-space:nowrap}
.kpi{display:flex;flex-direction:column;gap:2px}
/* drawing templates */
.tplmenu{position:fixed;z-index:80;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:6px;min-width:240px;display:flex;flex-direction:column}
.tplmenu button{border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:6px;cursor:pointer;color:var(--text)}
.tplmenu button:hover{background:var(--panel2)}
.tplmenu .tplh{font-size:11px;color:var(--muted);text-transform:uppercase;padding:6px 10px 2px}
.tplrow{display:flex}.tplrow button:first-child{flex:1}
.sbextra{display:inline-flex;gap:4px}
