:root{
  --ac:#3BF58A;--ac2:rgba(59,245,138,.14);--ac3:rgba(59,245,138,.45);
  --sans:"Archivo",system-ui,sans-serif;
  --bg:#060607;--tx:#e9e9ec;--mu:#8b8b93;--mu2:#5d5d64;--w:#fff;
  --p:rgba(255,255,255,.04);--p2:rgba(255,255,255,.07);--p3:rgba(255,255,255,.11);
  --ln:rgba(255,255,255,.08);--ln2:rgba(255,255,255,.15);
  --blur:saturate(160%) blur(26px);
  --r:20px;--r2:14px;--r3:10px;
  --sh:0 1px 0 rgba(255,255,255,.07) inset,0 30px 60px -24px rgba(0,0,0,.75);
  --glow:0 0 22px rgba(255,255,255,.35);
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --ease:cubic-bezier(.2,.8,.2,1)
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;background:var(--bg);color:var(--tx);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}
button{cursor:pointer;background:none;border:0}
a{color:inherit}
.num,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.hid{display:none!important}
::selection{background:var(--ac);color:#000}
::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:9px}

/* fundo */
.bg{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.bg i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;animation:drift 26s ease-in-out infinite alternate}
.bg i:nth-child(1){width:46vw;height:46vw;left:-12vw;top:-16vw;background:radial-gradient(circle,#5b5b63,transparent 65%)}
.bg i:nth-child(2){width:38vw;height:38vw;right:-10vw;top:22vh;background:radial-gradient(circle,#3BF58A,transparent 62%);opacity:.13;animation-duration:32s;animation-delay:-8s}
.bg i:nth-child(3){width:52vw;height:52vw;left:28vw;bottom:-30vw;background:radial-gradient(circle,#3d3d44,transparent 65%);animation-duration:38s;animation-delay:-14s}
.bg:after{content:"";position:absolute;inset:0;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.bg b{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse at 50% 40%,#000 20%,transparent 75%)}
@keyframes drift{to{transform:translate(8vw,6vh) scale(1.15)}}

/* vidro */
.glass,.card,aside,.top,.mnav,.ticker,.drawer,.toast{background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.025) 40%,rgba(255,255,255,.035));backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--ln);box-shadow:var(--sh)}
.glass,.card{position:relative;border-radius:var(--r)}
.glass:before,.card:before,aside:before,.top:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(140deg,rgba(255,255,255,.26),transparent 30%,transparent 70%,rgba(255,255,255,.08));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}

.inp{width:100%;background:rgba(0,0,0,.28);border:1px solid var(--ln);border-radius:var(--r3);padding:11px 13px;outline:0;transition:border-color .2s,background .2s,box-shadow .2s}
.inp::placeholder{color:var(--mu2)}
.inp:hover{border-color:var(--ln2)}
.inp:focus{border-color:var(--ac);background:rgba(0,0,0,.4);box-shadow:0 0 0 4px var(--ac2)}
select.inp{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#999 50%),linear-gradient(-45deg,transparent 50%,#999 50%);background-size:5px 5px;background-position:calc(100% - 15px) 52%,calc(100% - 10px) 52%;background-repeat:no-repeat;padding-right:28px}
select option{background:#111;color:#eee}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 14px;border-radius:var(--r3);border:1px solid var(--ln);background:var(--p2);font-size:12px;font-weight:500;transition:transform .15s,background .2s,border-color .2s,box-shadow .2s;white-space:nowrap}
.btn:hover{background:var(--p3);border-color:var(--ln2)}
.btn:active{transform:scale(.97)}
.btn.pri{background:linear-gradient(180deg,#6dffab,var(--ac));color:#03140a;border-color:var(--ac);font-weight:700;box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 8px 26px -8px var(--ac3)}
.btn.pri:hover{box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 10px 34px -4px var(--ac3)}
.btn.sm{padding:6px 10px;font-size:11.5px;border-radius:9px}
.btn.ghost{background:transparent}
.btn svg{width:15px;height:15px}
.big,.btn.full{width:100%;padding:13px;font-size:13px}
.shake{animation:shake .4s}@keyframes shake{25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}
@keyframes up{from{opacity:0;transform:translateY(16px)}}
@keyframes pulse{50%{opacity:.3}}
@keyframes gdfade{from{opacity:0}}

/* LOGIN */
#login{position:fixed;inset:0;z-index:5;overflow:auto;display:grid;place-items:center;padding:24px}
#lcv{position:fixed;inset:0;width:100%;height:100%;opacity:.7;mask-image:linear-gradient(transparent 30%,#000 75%)}
.lwrap{position:relative;width:min(1080px,100%);display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.hero{animation:up .8s var(--ease) backwards}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px}
.brand .ic{width:26px;height:26px;color:#fff;filter:drop-shadow(0 0 6px rgba(255,255,255,.6));flex:none}
.brand b{font-weight:700;font-size:15px;line-height:1.1;letter-spacing:-.02em}
.brand small{display:block;font-size:10.5px;color:var(--mu);font-weight:400}
.pill{font-size:10.5px;font-weight:500;padding:3px 9px;border-radius:99px;border:1px solid var(--ln2);color:var(--mu);background:var(--p)}
.hero h1{margin:34px 0 18px;font-size:clamp(34px,4.2vw,60px);line-height:1;letter-spacing:-.035em;font-weight:800;font-variation-settings:"wdth" 118}
.hero h1 span{color:var(--ac);text-shadow:0 0 40px var(--ac3)}
.hero p{color:var(--mu);font-size:14px;max-width:480px;line-height:1.7}
.hstats{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}
.hstats div{padding:14px 18px;min-width:130px;border-radius:var(--r2)}
.hstats b{display:block;font:600 22px var(--mono);letter-spacing:-.04em;color:var(--ac)}
.hstats span{font-size:11px;color:var(--mu)}
.lcard{padding:30px;animation:up .8s .12s var(--ease) backwards}
.lh{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.lh b{font-size:19px;letter-spacing:-.03em}
.live{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--mu)}
.live i{width:7px;height:7px;border-radius:50%;background:var(--ac);box-shadow:0 0 10px var(--ac);animation:pulse 1.8s infinite}
.lcard .sub{color:var(--mu);font-size:12px;margin-bottom:22px}
.fld{display:block;margin-bottom:14px}
.fld span{display:flex;justify-content:space-between;font-size:11px;color:var(--mu);margin-bottom:7px}
.fld a{color:var(--mu);text-decoration:none}.fld a:hover{color:#fff}
.err{font-size:12px;color:#fff;background:rgba(255,255,255,.08);border:1px solid var(--ln2);border-radius:var(--r3);padding:8px 12px;margin-bottom:12px}
.err:empty{display:none}
.lfoot{display:flex;justify-content:space-between;margin-top:18px;font-size:10.5px;color:var(--mu2)}
.lfoot b{color:var(--mu);font-weight:500}

/* APP */
#app{position:relative;z-index:2;display:grid;grid-template-columns:252px 1fr;gap:14px;height:100%;padding:14px}
aside{position:relative;border-radius:var(--r);display:flex;flex-direction:column;padding:18px 12px;gap:2px;overflow:auto;animation:up .6s var(--ease) backwards}
aside .brand{padding:4px 8px 18px}
.nav{display:flex;align-items:center;gap:11px;padding:10px 12px;color:#a6a6ad;font-weight:500;position:relative;transition:.2s;width:100%;text-align:left;border-radius:11px;font-size:12.5px}
.nav svg{width:17px;height:17px;flex:none}
.nav:hover{color:#fff;background:var(--p)}
.nav.on{color:#fff;background:linear-gradient(90deg,var(--ac2),rgba(255,255,255,.03));font-weight:600;box-shadow:inset 0 0 0 1px rgba(59,245,138,.22)}
.nav.on svg{color:var(--ac);filter:drop-shadow(0 0 6px var(--ac3))}
.nav.on:before{content:"";position:absolute;left:-12px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--ac);box-shadow:0 0 12px var(--ac)}
.nav .bd{margin-left:auto;font-size:10px;font-weight:600;background:rgba(255,255,255,.12);color:#fff;padding:1px 7px;border-radius:99px;min-width:22px;text-align:center}
.nav.on .bd{background:var(--ac);color:#000}
.nav-sep{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mu2);padding:16px 12px 6px}
aside .me{margin-top:auto;padding:12px;border:1px solid var(--ln);border-radius:var(--r2);background:var(--p);display:flex;gap:10px;align-items:center;font-size:12px}
.av{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,.04));border:1px solid var(--ln2);font-size:11px;font-weight:600;flex:none}
main{overflow:auto;height:100%;border-radius:var(--r)}
.top{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:14px;padding:12px 18px;border-radius:18px;margin-bottom:14px;animation:up .6s .05s var(--ease) backwards}
.top h1{font-size:21px;font-weight:800;letter-spacing:-.02em;font-variation-settings:"wdth" 115}
.top .crumb{font-size:10.5px;color:var(--mu);letter-spacing:.06em}
.top .sp{flex:1}
.clock{font-size:11px;color:var(--mu);text-align:right;line-height:1.35}
.clock b{color:#fff;font:600 15px var(--mono)}
.burger{display:none}
.wrapc{padding:0 0 90px;display:grid;gap:14px}
.view{animation:vin .45s var(--ease)}
@keyframes vin{from{opacity:0;transform:translateY(10px)}}

.grid{display:grid;gap:14px}
.g4{grid-template-columns:repeat(4,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.g21{grid-template-columns:2fr 1fr;align-items:start}.g12{grid-template-columns:1fr 2fr}
.card{padding:20px;overflow:hidden;opacity:0;animation:cin .7s var(--ease) forwards}
@keyframes cin{from{opacity:0;transform:translateY(16px) scale(.99)}to{opacity:1;transform:none}}
.card h3{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--mu);display:flex;align-items:center;gap:8px;margin-bottom:14px}
.card h3:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ac);box-shadow:0 0 8px var(--ac);flex:none}
.card h3 .r{margin-left:auto;display:flex;gap:6px;text-transform:none;letter-spacing:0}
.kpi{min-height:136px;transition:transform .3s var(--ease),border-color .3s}
.kpi:hover{transform:translateY(-3px);border-color:var(--ln2)}
.kpi .v{font-family:var(--mono);font-size:30px;font-weight:600;letter-spacing:-.05em;color:#fff;margin-top:2px;font-variant-numeric:tabular-nums}
.kpi.hero .v{font-size:40px;font-weight:700;color:var(--ac);text-shadow:0 0 28px var(--ac3)}
.kpi .v small{font-size:13px;color:var(--mu);margin-left:4px}
.kpi .d{font-size:11.5px;color:var(--mu);margin-top:6px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.up,.dn{font-family:var(--mono);font-weight:600;color:#03140a;background:var(--ac);padding:1px 7px;border-radius:99px;font-size:10.5px}
.dn{background:rgba(255,255,255,.12);color:#fff}
.up:before{content:"↑ "}.dn:before{content:"↓ "}
.kpi canvas{position:absolute;right:0;bottom:0;width:55%;height:46px;opacity:.7}
.kpi.hero{background:linear-gradient(150deg,rgba(59,245,138,.16),rgba(255,255,255,.03) 55%,rgba(59,245,138,.05));border-color:rgba(59,245,138,.25)}
.kpi.hero:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.08),transparent);animation:sheen 5s infinite}
@keyframes sheen{60%,100%{left:130%}}
.chart{width:100%;height:250px;display:block}
.seg{display:flex;padding:3px;border-radius:99px;background:rgba(0,0,0,.3);border:1px solid var(--ln)}
.seg button{padding:3px 11px;font-size:11px;color:var(--mu);border-radius:99px;transition:.2s}
.seg button.on{background:var(--ac);color:#03140a;font-weight:600}

.list{display:grid}
.li{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--ln)}
.li:last-child{border:0}
.li .t{flex:1;min-width:0}
.li .t b{display:block;font-weight:600;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.li .t small{font-size:11px;color:var(--mu)}
.li .n{font-family:var(--mono);font-size:12.5px;font-weight:500;text-align:right;font-variant-numeric:tabular-nums}
.bar{height:4px;border-radius:9px;background:rgba(255,255,255,.08);margin-top:7px;position:relative;overflow:hidden}
.bar i{position:absolute;inset:0;width:0;border-radius:9px;background:linear-gradient(90deg,rgba(59,245,138,.35),var(--ac));box-shadow:0 0 10px var(--ac3);transition:width 1.3s var(--ease)}
.tg{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:500;padding:2px 9px;border-radius:99px;border:1px solid var(--ln2);color:#c4c4ca;white-space:nowrap;background:var(--p)}
.tg.w{background:#fff;color:#000;border-color:#fff;font-weight:600}
.tg.k{background:transparent;color:var(--mu);border-color:var(--ln)}
.tg.bl{background:#fff;color:#000;border-color:#fff;font-weight:600;animation:blink 1.4s ease-in-out infinite}
@keyframes blink{50%{background:rgba(255,255,255,.12);color:#fff}}
.tg i{width:6px;height:6px;border-radius:50%;background:currentColor}
.alert{display:flex;gap:12px;padding:12px 14px;border:1px solid var(--ln);border-radius:var(--r2);margin-bottom:8px;background:rgba(255,255,255,.03);animation:cin .5s backwards;align-items:flex-start;transition:border-color .2s,background .2s}
.alert:hover{border-color:var(--ln2);background:rgba(255,255,255,.05)}
.alert.crit{border-color:rgba(255,255,255,.35);background:linear-gradient(90deg,rgba(255,255,255,.09),rgba(255,255,255,.02));box-shadow:inset 3px 0 0 #fff}
.alert svg{width:18px;height:18px;flex:none;margin-top:1px}
.alert b{display:block;font-size:12.5px}
.alert small{color:var(--mu);font-size:11px}
.alert .act{margin-left:auto}

table{width:100%;border-collapse:separate;border-spacing:0}
th{font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--mu);text-align:left;padding:10px 12px;border-bottom:1px solid var(--ln);white-space:nowrap}
td{padding:11px 12px;border-bottom:1px solid var(--ln);vertical-align:middle;font-size:12.5px}
tbody tr{transition:background .15s;animation:cin .4s backwards}
tbody tr:hover{background:rgba(255,255,255,.035)}
td.r,th.r{text-align:right}
.tw{overflow:auto;margin:0 -20px -20px}
.tw table{min-width:640px}
.tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tools .inp{width:auto;flex:1;min-width:180px;padding:9px 12px}
.ring{width:118px;height:118px;flex:none;filter:drop-shadow(0 0 10px rgba(255,255,255,.15))}
.ring circle{fill:none;stroke-width:10;stroke-linecap:butt}
.legend{display:grid;gap:8px;font-size:12px}
.legend div{display:flex;align-items:center;gap:8px}
.legend i{width:10px;height:10px;flex:none;border-radius:3px}
.legend span{margin-left:auto}
.emp{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.emp .card{padding:16px}
.emp .top2{display:flex;gap:10px;align-items:center;margin-bottom:12px}
.st{width:8px;height:8px;border-radius:50%;display:inline-block}
.st.on{background:var(--ac);box-shadow:0 0 8px var(--ac);animation:pulse 2s infinite}.st.ps{border:1px solid #fff}.st.off{background:#444}
.kv{display:flex;justify-content:space-between;font-size:12px;padding:3px 0;color:var(--mu)}
.kv b{color:var(--tx);font-family:var(--mono);font-weight:500;font-variant-numeric:tabular-nums}

/* drawer / toast */
.ov{position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);z-index:50;animation:gdfade .2s}
.drawer{position:fixed;top:12px;right:12px;bottom:12px;width:min(520px,calc(100% - 24px));z-index:51;display:flex;flex-direction:column;border-radius:var(--r);background:rgba(22,22,26,.72);border-color:var(--ln2);animation:dr .4s var(--ease)}
@keyframes dr{from{transform:translateX(110%)}}
.drawer header{padding:18px 20px;border-bottom:1px solid var(--ln);display:flex;align-items:center;gap:12px}
.drawer header h2{font-size:17px;letter-spacing:-.03em}
.drawer .bd{padding:20px;overflow:auto;flex:1;display:grid;gap:16px;align-content:start}
.drawer footer{padding:14px 20px;border-top:1px solid var(--ln);display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.drawer .card{opacity:1}
.x{margin-left:auto;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--ln2);border-radius:10px}
#toasts{position:fixed;right:20px;bottom:20px;z-index:60;display:grid;gap:8px;width:min(340px,calc(100% - 40px))}
.toast{border-left:2px solid var(--ac)!important;border-radius:var(--r2);background:rgba(28,28,32,.72);border-color:var(--ln2);padding:12px 14px;display:flex;gap:10px;animation:tin .45s var(--ease);font-size:12.5px}
.toast.w{border-color:rgba(255,255,255,.4)}
.toast small{display:block;color:var(--mu);font-size:11px}
.toast.bye{animation:tout .3s forwards}
@keyframes tin{from{opacity:0;transform:translateY(16px) scale(.97)}}@keyframes tout{to{opacity:0;transform:translateX(30px)}}
.ticker{overflow:hidden;border-radius:99px;white-space:nowrap;font-size:11.5px;color:var(--mu);padding:9px 0;opacity:0;animation:cin .6s forwards;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.ticker div{display:inline-block;animation:tick 60s linear infinite;padding-left:100%}
.ticker b{color:var(--ac);font-weight:600}
@keyframes tick{to{transform:translateX(-100%)}}
.pdv-item{display:grid;grid-template-columns:1fr 60px 90px 30px;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid var(--ln);font-size:12.5px}
.flash{animation:flash 1.1s}@keyframes flash{0%{box-shadow:0 0 0 1px var(--ac),0 0 40px var(--ac3)}}
.empty{padding:30px;text-align:center;color:var(--mu);font-size:12px}
.mnav{display:none}

@media(max-width:1180px){.g4{grid-template-columns:repeat(2,1fr)}.g21,.g12,.g3{grid-template-columns:1fr}}
@media(max-width:860px){
  #lcv{opacity:.4}
  .lwrap{grid-template-columns:1fr;gap:28px}
  .hero h1{margin:24px 0 12px}.hero p{font-size:13px}.hstats{margin-top:20px}.hstats div{min-width:0;flex:1;padding:10px 12px}
  .lcard{padding:22px}
  #app{grid-template-columns:1fr;padding:10px}
  aside{position:fixed;top:10px;bottom:10px;left:10px;width:min(290px,80%);z-index:40;transform:translateX(-112%);transition:transform .4s var(--ease);background:rgba(20,20,24,.82);animation:none}
  aside.open{transform:none}
  .burger{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--ln2);border-radius:10px;flex:none}
  .top{padding:10px 12px;gap:10px;margin-bottom:10px}.top .crumb{display:none}.clock{display:none}
  .top h1{font-size:17px}
  #newsale span{display:none}
  .wrapc{padding-bottom:110px;gap:10px}
  .grid{gap:10px}
  .g2{grid-template-columns:1fr}
  .g4 .kpi.hero,.g4 .kpi:last-child{grid-column:span 2}
  .card{padding:16px}
  .kpi{min-height:118px}
  .kpi .v{font-size:22px}.kpi.hero .v{font-size:32px}
  .mnav{display:flex;position:fixed;left:50%;transform:translateX(-50%);bottom:calc(14px + env(safe-area-inset-bottom));z-index:30;padding:6px;gap:2px;border-radius:99px;width:min(420px,calc(100% - 24px));background:rgba(22,22,26,.7)}
  .mnav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:9.5px;color:var(--mu);padding:7px 0;border-radius:99px;transition:.25s var(--ease)}
  .mnav button svg{width:18px;height:18px}
  .mnav button.on{background:var(--ac);color:#03140a;font-weight:600}
  #toasts{bottom:96px;right:12px;width:calc(100% - 24px)}
  .tw{margin:0}.tw table{min-width:0}.tw thead{display:none}
  .tw tr{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;padding:12px 0;border-bottom:1px solid var(--ln)}
  .tw td{border:0;padding:2px 0;font-size:12.5px}
  .tw td[data-l]:before{content:attr(data-l);display:block;font-size:9.5px;letter-spacing:.06em;color:var(--mu);text-transform:uppercase}
  .tw td.r{text-align:left}
  .tw td.full{grid-column:1/-1}
}

.ticker,.tg,th,.crumb,.lfoot,.nav-sep,td .mono,.clock{font-family:var(--mono)}
.card h3{font-family:var(--mono)}
.brand b,.lh b{font-variation-settings:"wdth" 115;font-weight:800;letter-spacing:-.01em}
.tg.ok{background:var(--ac2);color:var(--ac);border-color:rgba(59,245,138,.3)}
.alert.good{border-color:rgba(59,245,138,.3);box-shadow:inset 3px 0 0 var(--ac)}
.alert.good svg{color:var(--ac)}
.av{font-family:var(--mono)}
