:root{color-scheme:dark;--bg-primary:#05050a;--bg-card:rgba(255,255,255,.03);--bg-card-hover:rgba(255,255,255,.06);--bg-elevated:#0f0f14;--bg-overlay:rgba(15,15,20,.95);--field:rgba(255,255,255,.05);--text-primary:#fff;--text-secondary:#d7d7e6;--text-muted:#a8a8c0;--text-faint:#8a8aa3;--border-subtle:rgba(255,255,255,.08);--border-strong:#61617a;--accent-blue:#2563eb;--accent-blue-ink:#60a5fa;--text-on-accent:#fff;--state-positive:#34d399;--state-negative:#f43f5e;--state-warn:#fbbf24;--tint-pos:rgba(52,211,153,.14);--tint-neg:rgba(244,63,94,.14);--tint-warn:rgba(251,191,36,.14);--tint-info:rgba(96,165,250,.16);--mesh:radial-gradient(60rem 40rem at 10% -10%,rgba(37,99,235,.14),transparent 60%),radial-gradient(50rem 30rem at 100% 0,rgba(94,234,212,.07),transparent 60%);--shadow:0 8px 32px rgba(0,0,0,.4);--tabh:0px}:root[data-theme=light]{color-scheme:light;--bg-primary:#f4f4f9;--bg-card:#fff;--bg-card-hover:rgba(17,17,24,.05);--bg-elevated:#fff;--bg-overlay:rgba(255,255,255,.97);--field:#fff;--text-primary:#111118;--text-secondary:#3a3a4d;--text-muted:#5c5c73;--text-faint:#66667c;--border-subtle:rgba(17,17,24,.16);--border-strong:#8a8aa0;--accent-blue:#1d4ed8;--accent-blue-ink:#1d4ed8;--state-positive:#03714f;--state-negative:#be123c;--state-warn:#92400e;--tint-pos:rgba(3,113,79,.1);--tint-neg:rgba(190,18,60,.09);--tint-warn:rgba(180,83,9,.12);--tint-info:rgba(29,78,216,.09);--mesh:radial-gradient(60rem 40rem at 10% -10%,rgba(29,78,216,.08),transparent 60%),radial-gradient(50rem 30rem at 100% 0,rgba(13,148,136,.06),transparent 60%);--shadow:0 6px 20px rgba(17,17,24,.08)}*{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--bg-primary);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--mesh),var(--bg-primary);background-attachment:fixed;color:var(--text-primary);font:15px/1.5 Plus Jakarta Sans,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,select,input,a.btn{touch-action:manipulation}:focus-visible{outline:2px solid var(--accent-blue-ink);outline-offset:2px}select option{background:var(--bg-overlay);color:var(--text-primary)}.app{display:flex;min-height:100vh;min-height:100dvh}.side{width:230px;flex:none;position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;gap:1rem;padding:1rem .75rem;background:var(--bg-elevated);border-right:1px solid var(--border-subtle)}.brand{display:flex;align-items:center;gap:.6rem;padding:.25rem .5rem;font-weight:700;font-size:1.05rem;line-height:1.2}.brand img{width:32px;height:32px;border-radius:.5rem;flex:none}.side nav{display:flex;flex-direction:column;gap:.2rem;flex:1;overflow-y:auto}.side nav a{display:flex;align-items:center;gap:.7rem;color:var(--text-muted);text-decoration:none;padding:.55rem .7rem;border-radius:.6rem;transition:background .15s,color .15s}.side nav a .ico{width:1.2rem;text-align:center}.side nav a.on,.side nav a:hover{color:var(--text-primary);background:var(--bg-card-hover)}.side nav a.on{box-shadow:inset 3px 0 0 var(--accent-blue)}.side-foot{display:flex;gap:.4rem;justify-content:space-between;padding-top:.75rem;border-top:1px solid var(--border-subtle)}.ver{padding:0 .5rem;font-size:.7rem;color:var(--text-faint)}.ico{display:inline-flex;align-items:center;justify-content:center;line-height:0}.ico svg{width:20px;height:20px}.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:.6rem;border:0;background:transparent;color:var(--text-muted);cursor:pointer;text-decoration:none;font-size:1.15rem}.iconbtn:hover,.iconbtn.on{color:var(--text-primary);background:var(--bg-card-hover)}main{flex:1;min-width:0;max-width:1100px;margin:0 auto;padding:1.5rem 1.25rem}h2{margin:.25rem 0 1rem;font-size:1.55rem;letter-spacing:-.01em}h3{margin:.1rem 0 .75rem}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:1rem;padding:1rem;margin-bottom:1rem}.toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:0 0 1rem}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.kpis .card{margin:0}.kpi-l{color:var(--text-muted);font-size:.8rem}.kpi-v{font-size:1.5rem;font-weight:700;overflow-wrap:anywhere}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:1rem}.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem .45rem;border-bottom:1px solid var(--border-subtle);white-space:nowrap}th{color:var(--text-muted);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}tbody tr:hover td{background:var(--bg-card-hover)}.pos{color:var(--state-positive)}.neg{color:var(--state-negative)}.mut{color:var(--text-muted)}.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem;align-items:end}label{display:flex;flex-direction:column;gap:.25rem;color:var(--text-muted);font-size:.8rem}input,select{background:var(--field);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:.6rem;padding:.5rem;font:inherit;min-width:0}input:focus,select:focus{outline:none;border-color:var(--accent-blue-ink);box-shadow:0 0 0 3px var(--tint-info)}input[type=checkbox]{accent-color:var(--accent-blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--accent-blue);color:var(--text-on-accent);border:0;border-radius:.6rem;padding:.55rem 1rem;cursor:pointer;font:inherit;font-size:.95rem;font-weight:600;text-decoration:none;transition:filter .15s,background .15s}.btn:hover{filter:brightness(1.1)}.btn:disabled{opacity:.6;cursor:default;filter:none}.btn.alt{background:var(--bg-card-hover);color:var(--text-primary);border:1px solid var(--border-subtle)}.btn.del{background:transparent;color:var(--state-negative);padding:.2rem .5rem}.btn.sm{padding:.25rem .6rem;font-size:.85rem}.btn.edit{background:transparent;color:var(--accent-blue-ink);padding:.2rem .5rem}.btn.edit:hover,.btn.del:hover{background:var(--bg-card-hover);filter:none}.rowact{display:inline-flex;gap:.25rem;align-items:center}.bhead{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;margin-bottom:.5rem}.bhead h3{margin:0}.bact{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}.center{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:1rem}.center .card{max-width:380px;width:100%;text-align:center}.toasts{position:fixed;bottom:calc(1rem + var(--tabh) + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:100;display:flex;flex-direction:column;align-items:center;gap:.4rem;max-width:92vw;pointer-events:none}.toast{background:var(--bg-overlay);border:1px solid var(--border-subtle);padding:.6rem 1rem;border-radius:.6rem;box-shadow:var(--shadow);pointer-events:auto}.toast.bad{border-color:var(--state-negative)}.qr{background:#fff;padding:.5rem;border-radius:.5rem;width:200px;height:200px}.modal{border:1px solid var(--border-subtle);border-radius:1rem;background:var(--bg-overlay);color:var(--text-primary);padding:1.25rem;width:min(680px,94vw);max-height:90vh;overflow:visible}.modal::backdrop{background:#000000a6}.modal h3{margin:0 0 1rem}.actions{grid-column:1/-1;display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.full{grid-column:1/-1}.legend{margin:0;font-size:.75rem;color:var(--text-muted)}.req{color:var(--state-negative);margin-left:.15rem;font-weight:700}.lt{display:flex;align-items:center}.helpwrap{position:relative;display:inline-block;margin-left:.35rem}.help{width:.95rem;height:.95rem;border-radius:50%;border:1px solid var(--border-subtle);background:transparent;color:var(--text-muted);font-size:.6rem;line-height:1;padding:0;cursor:pointer;opacity:.7}.help:hover,.help:focus-visible{opacity:1;color:var(--text-primary);border-color:var(--border-strong)}.tip{display:none;position:absolute;z-index:30;top:1.4rem;left:0;width:250px;background:var(--bg-overlay);border:1px solid var(--border-subtle);padding:.55rem .7rem;border-radius:.6rem;color:var(--text-primary);font-size:.8rem;font-weight:400;line-height:1.4;box-shadow:var(--shadow)}.tip.open{display:block}.prov{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:.75rem 0;border-top:1px solid var(--border-subtle)}.provgroup{border-top:1px solid var(--border-subtle)}.provgroup .prov{border-top:0}.keybox{display:flex;flex-direction:column;gap:.55rem;padding:0 0 .9rem}.keyrow{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.keyrow input{flex:1 1 220px;min-width:0}.keybox .chips a{font-size:.82rem}.prov .mut{font-size:.85rem;max-width:46ch}.provact{display:flex;gap:.75rem;align-items:center}.note{font-size:.8rem;color:var(--text-muted);margin:.5rem 0 0}input.switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:2.6rem;height:1.5rem;border-radius:99px;background:var(--border-strong);position:relative;cursor:pointer;border:0;padding:0;flex:none}input.switch:after{content:"";position:absolute;top:.2rem;left:.2rem;width:1.1rem;height:1.1rem;border-radius:50%;background:#fff;transition:transform .2s}input.switch:checked{background:var(--accent-blue)}input.switch:checked:after{transform:translate(1.1rem)}progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:120px;height:.5rem;border:0;border-radius:99px;background:var(--border-subtle);overflow:hidden;vertical-align:middle}progress::-webkit-progress-bar{background:var(--border-subtle)}progress::-webkit-progress-value{background:var(--accent-blue);border-radius:99px}progress::-moz-progress-bar{background:var(--accent-blue)}.spark{display:inline-block;line-height:0}.tabbar{display:none}.sheet{border:1px solid var(--border-subtle);background:var(--bg-overlay);color:var(--text-primary);padding:0;width:min(420px,100vw);max-height:85dvh;overflow:auto;border-radius:1.25rem 1.25rem 0 0;margin:auto 0 0}.sheet::backdrop{background:#0009}.sheet .grab{width:2.5rem;height:.28rem;border-radius:99px;background:var(--border-strong);margin:.6rem auto .2rem;opacity:.6}.sheet nav{display:flex;flex-direction:column;padding:.4rem .6rem}.sheet nav a{display:flex;align-items:center;gap:.9rem;padding:.85rem .8rem;border-radius:.8rem;color:var(--text-primary);text-decoration:none;font-size:1rem}.sheet nav a .ico{width:1.4rem;color:var(--text-muted)}.sheet .btn .ico svg{width:18px;height:18px}.sheet nav a.on{background:var(--bg-card-hover);box-shadow:inset 3px 0 0 var(--accent-blue)}.sheet .sfoot{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.6rem 1.1rem calc(1rem + env(safe-area-inset-bottom));border-top:1px solid var(--border-subtle)}.sheet .sfoot .btn{flex:1 1 auto}.sheet .sfoot .ver{flex-basis:100%;padding:0;text-align:center}.steps{display:flex;gap:.35rem;margin:0 0 1rem;padding:0;list-style:none;counter-reset:s}.steps li{flex:1;display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem;border-radius:.7rem;border:1px solid var(--border-subtle);color:var(--text-muted);font-size:.85rem;min-width:0}.steps li:before{counter-increment:s;content:counter(s);display:inline-flex;align-items:center;justify-content:center;flex:none;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--bg-card-hover);font-size:.75rem;font-weight:700}.steps li.on{color:var(--text-primary);border-color:var(--accent-blue-ink);background:var(--tint-info)}.steps li.on:before{background:var(--accent-blue);color:#fff}.steps li.done{color:var(--text-primary)}.steps li.done:before{background:var(--tint-pos);color:var(--state-positive)}.steps li button{all:unset;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.steps li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hidden{display:none!important}.drop{position:relative;display:flex;flex-direction:column;align-items:center;gap:.4rem;text-align:center;padding:2rem 1rem;border:2px dashed var(--border-strong);border-radius:1rem;cursor:pointer;color:var(--text-muted);transition:background .15s,border-color .15s}.drop:hover,.drop.over{background:var(--tint-info);border-color:var(--accent-blue-ink);color:var(--text-primary)}.drop:focus-within{outline:2px solid var(--accent-blue-ink);outline-offset:2px}.drop b{font-size:1.05rem;color:var(--text-primary)}.drop .big{font-size:2rem;line-height:1}.drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.chip{display:inline-flex;align-items:center;gap:.25rem;padding:.12rem .55rem;border-radius:99px;font-size:.72rem;font-weight:600;background:var(--field);color:var(--text-muted);border:1px solid var(--border-subtle);white-space:nowrap}.chip.ok{background:var(--tint-pos);color:var(--state-positive);border-color:transparent}.chip.bad{background:var(--tint-neg);color:var(--state-negative);border-color:transparent}.chip.warn{background:var(--tint-warn);color:var(--state-warn);border-color:transparent}.chip.info{background:var(--tint-info);color:var(--accent-blue-ink);border-color:transparent}.chips{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.maprow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:.4rem .9rem;align-items:center;padding:.5rem 0;border-top:1px solid var(--border-subtle)}.maprow:first-of-type{border-top:0}.maprow .ex{grid-column:2;font-size:.75rem;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.sub{color:var(--text-muted);font-size:.85rem;margin:-.4rem 0 .8rem}.stickybar{position:sticky;bottom:calc(var(--tabh) + env(safe-area-inset-bottom));z-index:10;display:flex;gap:.5rem;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:.7rem;margin-top:1rem;border:1px solid var(--border-subtle);border-radius:1rem;background:var(--bg-overlay);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stickybar .grow{flex:1}.inc{display:inline-flex;align-items:center;gap:.5rem;color:inherit;font-size:inherit;flex-direction:row}.msgs{margin:.25rem 0 0;padding:0;list-style:none;font-size:.78rem;white-space:normal}.msgs li.e{color:var(--state-negative)}.msgs li.w{color:var(--state-warn)}.msgs li.i{color:var(--text-muted)}.tabs-filter{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}.tabs-filter button{border:1px solid var(--border-subtle);background:transparent;color:var(--text-muted);padding:.3rem .75rem;border-radius:99px;cursor:pointer;font:inherit;font-size:.82rem}.tabs-filter button.on{background:var(--tint-info);color:var(--text-primary);border-color:var(--accent-blue-ink)}.res{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:.4rem .9rem;align-items:center;padding:.55rem 0;border-top:1px solid var(--border-subtle)}.res .what{min-width:0;overflow-wrap:anywhere}.res .what small{display:block;color:var(--text-muted)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.6rem;margin-bottom:1rem}.stat{padding:.7rem .8rem;border:1px solid var(--border-subtle);border-radius:.8rem;background:var(--bg-card)}.stat b{display:block;font-size:1.4rem;line-height:1.2}.stat span{font-size:.75rem;color:var(--text-muted)}.stat.ok b{color:var(--state-positive)}.stat.bad b{color:var(--state-negative)}.stat.warn b{color:var(--state-warn)}.hero{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}.hero .n{font-size:2.2rem;font-weight:800;line-height:1.1}.pairs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:.8rem}.pair{border:1px solid var(--border-subtle);border-radius:1rem;padding:.8rem;background:var(--bg-card);display:flex;flex-direction:column;gap:.6rem}.pair.ok{border-color:var(--state-positive)}.pair.near,.pair.mismatch,.pair.incomplete{border-color:var(--state-warn)}.pairhead{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;justify-content:space-between}.pairhead strong{min-width:0;overflow-wrap:anywhere}.pairbody{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.5rem;align-items:stretch}.pside{padding:.55rem .65rem;border-radius:.75rem;background:var(--field);border:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.15rem;min-width:0}.pside.out{border-left:3px solid var(--state-negative)}.pside.in{border-left:3px solid var(--state-positive)}.pside.empty{border-style:dashed;border-left-style:dashed;color:var(--text-muted);justify-content:center}.pside .k{font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-weight:700}.pside .q{font-weight:700}.pside .fund{font-weight:600;overflow-wrap:anywhere}.pside .acc{display:flex;align-items:center;gap:.4rem;overflow-wrap:anywhere}.pside .d{font-size:.8rem;color:var(--text-muted)}.okmark{display:flex;justify-content:center;margin-bottom:.5rem}.parrow{display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--accent-blue-ink)}.pairfoot{font-size:.8rem;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between}.pairfoot .okmsg{color:var(--state-positive)}.pairfoot .wmsg{color:var(--state-warn)}.pairfoot select{max-width:100%}.ack{display:flex;flex-direction:row;align-items:flex-start;gap:.6rem;color:var(--text-primary);font-size:.9rem;padding:.7rem;border-radius:.8rem;background:var(--tint-warn);margin-top:.8rem}.ack input{margin-top:.2rem;flex:none}.notice{padding:.8rem .9rem;margin-bottom:1rem;border-radius:.8rem;background:var(--tint-warn);border:1px solid var(--state-warn);color:var(--text-primary);font-size:.9rem}.empty-state{text-align:center;padding:1.5rem 1rem;color:var(--text-muted)}details.fold{margin-top:.6rem}details.fold summary{cursor:pointer;color:var(--text-muted);font-size:.85rem;padding:.3rem 0}.prog{display:flex;flex-direction:column;gap:.5rem;align-items:stretch}.prog progress{width:100%;height:.75rem}@media (prefers-reduced-motion:reduce){*{transition:none!important}}@media (max-width:760px){:root{--tabh:3.9rem}.side{display:none}.app{flex-direction:column}main{padding:1rem .85rem calc(1.5rem + var(--tabh) + env(safe-area-inset-bottom));width:100%}h2{font-size:1.35rem;margin-bottom:.8rem}.card{padding:.85rem;border-radius:.9rem}table:not(.stack) th,table:not(.stack) td{padding:.45rem .3rem;font-size:.84rem}table:not(.stack) th{letter-spacing:0;font-size:.68rem}table:not(.stack) td:first-child{white-space:normal;min-width:5.5rem}.toolbar .btn{flex:1 1 auto}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.kpis .card:first-child{grid-column:1/-1}.kpi-v{font-size:1.2rem}.grid2{grid-template-columns:minmax(0,1fr)}.card{min-width:0}input,select{font-size:16px;min-height:2.75rem;padding:.55rem .65rem}input[type=checkbox]{min-height:0;width:1.25rem;height:1.25rem}input.switch{min-height:0;width:2.6rem;height:1.5rem}.btn{min-height:2.75rem;font-size:1rem}.btn.sm,.btn.edit,.btn.del{min-height:2.4rem}.iconbtn{width:2.75rem;height:2.75rem}.ibtn{width:2.4rem;height:2.4rem;font-size:1.05rem;border:1px solid var(--border-subtle)}.prov{flex-direction:column;align-items:flex-start}.provact{width:100%;justify-content:space-between}.bhead{align-items:flex-start}.bact{width:100%}.bact .btn{flex:1 1 auto}.tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--bg-elevated);border-top:1px solid var(--border-subtle);padding:0 .25rem env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tabbar a,.tabbar button{all:unset;box-sizing:border-box;flex:1 1 0;min-width:0;height:var(--tabh);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;color:var(--text-muted);font-size:.68rem;font-weight:600;cursor:pointer;position:relative;text-align:center}.tabbar a:focus-visible,.tabbar button:focus-visible{outline:2px solid var(--accent-blue-ink);outline-offset:-4px;border-radius:.8rem}.tabbar .ico svg{width:23px;height:23px}.tabbar .on{color:var(--accent-blue-ink)}.tabbar .on:before{content:"";position:absolute;top:0;left:30%;right:30%;height:3px;border-radius:0 0 3px 3px;background:var(--accent-blue)}.stack,.stack tbody{display:block}.stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.stack tbody{display:grid;gap:.6rem}.stack tr{display:grid;grid-template-columns:1fr 1fr;gap:.2rem .9rem;padding:.7rem .8rem;border:1px solid var(--border-subtle);border-radius:.85rem;background:var(--bg-card)}.stack tbody tr:hover td{background:transparent}.stack td{display:flex;flex-direction:column;border:0;padding:.1rem 0;white-space:normal;min-width:0;overflow-wrap:anywhere;font-size:.9rem}.stack td:before{content:attr(data-label);font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.stack td[data-label=""]:before,.stack td.t:before{display:none}.stack td.t{grid-column:1/-1;order:-1;font-weight:700;font-size:1rem;padding-bottom:.3rem;margin-bottom:.1rem;border-bottom:1px solid var(--border-subtle)}.stack td.act{grid-column:1/-1;flex-direction:row;justify-content:flex-end;order:99;padding-top:.3rem;margin-top:.2rem;border-top:1px solid var(--border-subtle)}.stack td.empty{grid-column:1/-1}.stack td:empty{display:none}.card .scroll:has(.stack){overflow:visible}.modal{width:100vw;max-width:none;margin:auto 0 0;border-radius:1.25rem 1.25rem 0 0;border-bottom:0;max-height:92dvh;overflow:auto;padding:1.1rem 1rem calc(1.1rem + env(safe-area-inset-bottom))}.form{grid-template-columns:1fr}.actions{position:sticky;bottom:calc(-1.1rem - env(safe-area-inset-bottom));background:var(--bg-overlay);padding:.7rem 0 .2rem;margin-top:.8rem}.actions .btn{flex:1}.helpwrap{display:contents}.help{width:1.5rem;height:1.5rem;font-size:.8rem;margin-left:.45rem}.lt{flex-wrap:wrap}.tip{position:static;flex:0 0 100%;width:auto;margin-top:.4rem}.modal.tall table{font-size:.85rem}.steps li{padding:.45rem;justify-content:center;flex:none;min-width:2.4rem}.steps li span,.steps li button{display:none}.steps li.on{flex:1;justify-content:flex-start}.steps li.on span,.steps li.on button{display:inline}.maprow,.res{grid-template-columns:1fr}.maprow .ex{grid-column:1}.pairbody{grid-template-columns:1fr}.parrow{transform:rotate(90deg);height:1.6rem}.stickybar{padding:.6rem}.stickybar .btn{flex:1 1 auto}.hero .n{font-size:1.8rem}.drop{padding:1.6rem .8rem}}@media (max-width:380px){.tabbar{padding-left:0;padding-right:0}.tabbar a,.tabbar button{font-size:.62rem}}.dhead{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem}.dhead .toolbar{margin:0}.dtitle{display:flex;gap:.8rem;align-items:center;min-width:0}.dtitle h2{margin:0 0 .3rem;overflow-wrap:anywhere}.dtitle .logo{width:44px;height:44px}.back{display:inline-flex;align-items:center;gap:.4rem;width:fit-content;min-height:2rem;color:var(--text-muted);text-decoration:none;font-size:.9rem}.back:hover{color:var(--text-primary)}.back .ico svg{width:18px;height:18px}.rowlink{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.5rem;color:inherit;text-decoration:none;font-weight:600}.rowlink:hover{color:var(--accent-blue-ink)}.kpi-s{margin-top:.15rem;font-size:.78rem;color:var(--text-muted)}.kv td{white-space:normal;overflow-wrap:anywhere;vertical-align:top}.kv td:first-child{width:40%}.ibtn .ico svg{width:16px;height:16px}.btn .ico svg{width:18px;height:18px}.chart{display:flex;flex-direction:column;gap:.5rem;min-width:0}.chart svg{display:block;width:100%;height:auto;touch-action:pan-y;cursor:crosshair;user-select:none;-webkit-user-select:none}.chart svg.up{color:var(--state-positive)}.chart svg.down{color:var(--state-negative)}.chart-sum{min-height:1.5rem;font-size:.95rem}.chart-sum strong{font-size:1.25rem}.chart-grid{stroke:var(--border-subtle);stroke-width:1;stroke-dasharray:3 4}.chart-t{fill:var(--text-muted);font-size:10.5px;font-family:inherit}.chart-line{fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-g0{stop-color:currentColor;stop-opacity:.28}.chart-g1{stop-color:currentColor;stop-opacity:0}.chart-cross{stroke:var(--text-muted);stroke-width:1;stroke-dasharray:3 3}.chart-dot{fill:var(--text-primary);stroke:var(--bg-primary);stroke-width:2}.chart-tipbg{fill:var(--bg-overlay);stroke:var(--border-strong)}.chart-tipd{fill:var(--text-muted);font-size:10px}.chart-tipv{fill:var(--text-primary);font-size:12px;font-weight:700}.chart-mk{stroke:var(--bg-primary);stroke-width:1.5}.chart-mk.buy,.chart-key.buy:before{fill:var(--accent-blue-ink);background:var(--accent-blue-ink)}.chart-mk.sell,.chart-key.sell:before{fill:var(--state-warn);background:var(--state-warn)}.chart-mk.transfer,.chart-key.transfer:before{fill:#a78bfa;background:#a78bfa}.chart-legend{display:flex;flex-wrap:wrap;gap:.9rem;font-size:.78rem;color:var(--text-muted)}.chart-key{display:inline-flex;align-items:center;gap:.35rem}.chart-key:before{content:"";width:.6rem;height:.6rem;border-radius:50%}.chart .tabs-filter{margin-bottom:0}.chart .tabs-filter button:disabled{opacity:.4;cursor:default}@media (max-width:760px){.dtitle .logo{width:40px;height:40px}.dhead .toolbar .btn{flex:1 1 auto}.chart-sum strong{font-size:1.15rem}}.btn.ib{padding:0;width:2.5rem;height:2.5rem;min-width:2.5rem;flex:none}.btn.ib.sm{width:2.1rem;height:2.1rem;min-width:2.1rem}.btn.ib .ico svg{width:19px;height:19px}.btn.ib.sm .ico svg{width:17px;height:17px}.btn:not(.ib) .ico{margin-right:.1rem}.btn:not(.ib) .ico svg{width:18px;height:18px}.btn.ib.edit,.btn.ib.del{background:transparent}.btn.ib.del{color:var(--state-negative)}.btn.ib.edit{color:var(--accent-blue-ink)}.btn.ib.edit:hover,.btn.ib.del:hover{background:var(--bg-card-hover)}.btn.ib:disabled{opacity:.4}.btn.spin .ico svg{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toolbar.center-row{justify-content:center}.bact .btn.ib,.rowact .btn.ib{flex:none}.prov{display:flex;gap:.75rem;align-items:center}.prov.off{opacity:.62}.provtxt{flex:1;min-width:0}.provtxt .chip{margin-left:.5rem}.rank{display:flex;flex-direction:column;align-items:center;gap:.15rem;flex:none}.ranknum{display:inline-flex;align-items:center;justify-content:center;min-width:1.7rem;height:1.7rem;border-radius:50%;background:var(--tint-info);color:var(--accent-blue-ink);font-weight:800;font-size:.85rem;flex:none}@media (max-width:760px){.btn.ib{width:2.75rem;height:2.75rem;min-width:2.75rem}.btn.ib.sm{width:2.4rem;height:2.4rem;min-width:2.4rem}.prov{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;row-gap:.6rem}.prov .provtxt{order:1;flex:1 1 100%}.rank{flex-direction:row;order:2;gap:.35rem}.prov .provact{order:3;width:auto;margin-left:auto;gap:.6rem}.keyrow .btn:not(.ib){flex:1 1 auto}}.btn.ib.badged{position:relative;overflow:visible}.btn.ib.badged:after{content:"+";position:absolute;top:-.3rem;right:-.3rem;width:1rem;height:1rem;border-radius:50%;background:var(--accent-blue);color:#fff;font-size:.8rem;font-weight:800;line-height:1rem;text-align:center;border:1px solid var(--bg-primary)}.btn.ib.sm.badged:after{width:.9rem;height:.9rem;line-height:.9rem;font-size:.72rem}.logo{width:32px;height:32px;border-radius:.5rem;object-fit:contain;background:#fff;padding:2px;flex:none;vertical-align:middle}.logo.sm{width:20px;height:20px;border-radius:.3rem;padding:1px}.logo.av{display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;padding:0;line-height:1}.logo.av.sm{font-size:.6rem}.av0{background:#1d4ed8}.av1{background:#047857}.av2{background:#b45309}.av3{background:#6d28d9}.av4{background:#be123c}.av5{background:#0e7490}.av6{background:#4d7c0f}.av7{background:#9333ea}.brk{display:inline-flex;align-items:center;gap:.5rem}.logorow{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.logoprev{display:inline-flex}.compact{padding:.5rem}.compact table{font-size:.78rem}.compact th,.compact td{padding:.2rem .4rem}.compact .logo.sm{width:16px;height:16px;border-radius:.25rem}.compact .logo.av.sm{font-size:.5rem}.compact .brk{gap:.4rem}.ibtn{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border:0;border-radius:.4rem;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.85rem;line-height:1;padding:0}.ibtn:hover,.ibtn:focus-visible{background:var(--bg-card-hover);color:var(--text-primary)}.ibtn.danger:hover{color:var(--state-negative)}.ibtn:disabled{opacity:.5;cursor:default}.modal.tall{overflow:auto}.modal.tall h4{margin:1rem 0 .4rem}.modal.tall table{font-size:.85rem}@media (max-width:760px){.compact{padding:.7rem}.compact table{font-size:inherit}.compact th,.compact td{padding:.1rem 0}.compact .logo.sm{width:20px;height:20px}.ibtn{width:2.4rem;height:2.4rem;font-size:1.05rem;border:1px solid var(--border-subtle)}.brk{gap:.5rem}.logorow .btn,.logorow input[type=file]{flex:1 1 100%}}
