
:root{
  /* Layout: app escuro com barra lateral fixa (navegação + perfil), área de trabalho em cartões; emissão em 2 colunas com a nota "ao vivo" */
  --bg:#F6F4F3; --side:#FFFFFF; --surface:#FFFFFF; --surface2:#F3EFEE; --line:#E8E2E1;
  --ink:#1B1717; --muted:#7A706F; --accent:#B3261E; --accent-ink:#FFFFFF; --accent-soft:#FBEDEB; --brand:#8B1E1E;
  --ok:#17845A; --ok-soft:#E4F4EC; --warn:#A06A00; --warn-soft:#FCF3DE; --err:#C0392B; --err-soft:#FDECEA;
  --shadow:0 1px 2px rgba(27,23,23,.04), 0 6px 20px -8px rgba(27,23,23,.10);
  --display:"Manrope", "Segoe UI", Arial, sans-serif; --body:"Manrope", "Segoe UI", Arial, sans-serif; --mono:"Manrope", "Segoe UI", Arial, sans-serif;
  --radius:16px;
  color-scheme: light;
}
*{box-sizing:border-box}
html,body{margin:0; height:100%}
body{background:var(--bg); color:var(--ink); font-family:var(--body); font-size:15px; line-height:1.5; -webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit; color:inherit}
:focus-visible{outline:2px solid var(--accent); outline-offset:2px}
.num{font-variant-numeric:tabular-nums}
.hidden{display:none!important}

.app{display:grid; grid-template-columns:262px minmax(0,1fr); min-height:100%}
.side{background:var(--side); border-right:1px solid var(--line); padding:22px 16px; display:flex; flex-direction:column; gap:26px; position:sticky; top:0; height:100vh; overflow-y:auto}
.logo{display:flex; align-items:center; gap:12px; padding:0 6px}
.logo-mark{width:42px; height:42px; flex:0 0 auto; display:block}
.logo b{display:block; font-family:var(--display); font-weight:600; font-size:18px; line-height:1.1}
.logo span{font-size:12px; color:var(--muted)}
.tabs{display:flex; flex-direction:column; gap:4px}
.tabs button{display:flex; align-items:center; gap:11px; font-size:14px; white-space:nowrap; border:0; background:none; padding:11px 12px; border-radius:12px; cursor:pointer; color:var(--muted); font-weight:600; text-align:left}
.tabs button svg{width:19px; height:19px; flex:0 0 auto}
.tabs button:hover{background:var(--surface); color:var(--ink)}
.tabs button[aria-selected="true"]{background:var(--accent-soft); color:var(--accent)}
.tabs .count{margin-left:auto; background:var(--surface2); color:var(--muted); border-radius:999px; padding:1px 9px; font-size:12px}
.tabs button[aria-selected="true"] .count{background:var(--accent); color:var(--accent-ink)}
.side-foot{margin-top:auto; display:flex; flex-direction:column; gap:10px}
.side-foot small{color:var(--muted); font-size:11.5px; text-transform:uppercase; letter-spacing:.08em; padding:0 4px}
.seg{display:inline-flex; background:var(--surface2); border:1px solid var(--line); border-radius:12px; padding:4px; gap:2px}
.seg button{flex:1; border:0; background:transparent; color:var(--muted); padding:8px 10px; border-radius:9px; cursor:pointer; font-size:13px; font-weight:600}
.seg button[aria-pressed="true"]{background:var(--surface); color:var(--ink); box-shadow:0 1px 3px rgba(27,23,23,.12)}

.content{min-width:0; display:flex; flex-direction:column}
.topbar{display:flex; justify-content:space-between; align-items:center; gap:12px 20px; flex-wrap:wrap; padding:16px 32px; border-bottom:1px solid var(--line); background:rgba(246,244,243,.88); backdrop-filter:blur(8px); position:sticky; top:0; z-index:10}
.proto{display:inline-flex; align-items:center; gap:8px; font-size:12.5px; color:var(--warn); background:var(--warn-soft); border-radius:999px; padding:5px 12px}
.proto::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--warn)}
.prest{display:flex; align-items:center; gap:10px; font-size:13px; color:var(--muted)}
.prest select{background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:9px 12px; max-width:360px; color:var(--ink)}
.prest .fixed{background:var(--surface); border:1px solid var(--line); color:var(--ink); padding:8px 14px; border-radius:12px}
main{width:100%; max-width:1200px; padding:32px 32px 72px}
h1{font-family:var(--display); font-weight:800; font-size:32px; line-height:1.15; margin:0 0 6px; letter-spacing:-.02em; text-wrap:balance}
h2{font-size:15px; margin:0 0 12px; font-weight:700}
.sub{color:var(--muted); margin:0 0 26px}

.card{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow)}
.grid2{display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:24px; align-items:start}
.stack{display:flex; flex-direction:column; gap:18px}
.row{display:flex; gap:14px; flex-wrap:wrap}
.row > *{flex:1 1 170px}
label{display:block; font-size:12.5px; font-weight:600; color:var(--muted); margin-bottom:6px}
.hint{font-size:12.5px; color:var(--muted); margin-top:6px}
input,select,textarea{width:100%; background:#FCFBFB; border:1px solid var(--line); border-radius:12px; padding:11px 13px; transition:border-color .15s, box-shadow .15s}
textarea{resize:vertical; min-height:80px}
input:focus,select:focus,textarea:focus{border-color:var(--accent); outline:none; box-shadow:0 0 0 4px var(--accent-soft)}
input::placeholder,textarea::placeholder{color:#ADA4A3}
.btn{border:1px solid var(--line); background:var(--surface); padding:10px 18px; border-radius:12px; cursor:pointer; font-weight:600; transition:transform .1s, filter .15s, border-color .15s}
.btn:hover{border-color:var(--muted)}
.btn:active{transform:translateY(1px)}
.btn.primary{background:var(--accent); border-color:var(--accent); color:var(--accent-ink)}
.btn.primary:hover{filter:brightness(1.08)}
.btn.big{padding:16px 22px; font-size:16px; width:100%; border-radius:14px; box-shadow:0 10px 24px -10px rgba(179,38,30,.55)}
.btn.ghost{border-color:transparent; background:transparent; color:var(--accent); padding:6px 10px}
.btn.ghost:hover{background:var(--accent-soft)}
.btn:disabled{opacity:.4; cursor:not-allowed; box-shadow:none}

.step{display:flex; gap:14px; align-items:flex-start; padding-bottom:22px; border-bottom:1px solid var(--line)}
.step:last-of-type{border-bottom:0}
.step-n{flex:0 0 30px; height:30px; border-radius:10px; background:var(--surface); color:var(--muted); display:grid; place-items:center; font-weight:700; font-size:13px; margin-top:-3px; border:1px solid var(--line)}
.step-n.done{background:var(--accent); border-color:var(--accent); color:var(--accent-ink)}
.step-body{flex:1; min-width:0}
.chips{display:flex; flex-wrap:wrap; gap:8px}
.chip{border:1px solid var(--line); background:var(--surface); border-radius:12px; padding:9px 15px; cursor:pointer; font-size:14px; font-weight:600; color:var(--ink)}
.chip:hover{border-color:var(--muted)}
.chip[aria-pressed="true"]{background:var(--accent-soft); border-color:var(--accent); color:var(--accent)}
.chip.add{border-style:dashed; color:var(--muted); background:transparent}

.combo{position:relative}
.combo-list{position:absolute; z-index:5; left:0; right:0; top:calc(100% + 6px); background:var(--surface); border:1px solid var(--line); border-radius:12px; box-shadow:0 18px 40px rgba(27,23,23,.14); max-height:290px; overflow:auto; padding:6px}
.combo-item{padding:10px 12px; cursor:pointer; display:flex; justify-content:space-between; gap:10px; border-radius:9px}
.combo-item:hover,.combo-item.active{background:var(--accent-soft)}
.combo-item small{color:var(--muted); font-family:var(--mono); font-size:12px}
.selected-tom{display:flex; justify-content:space-between; align-items:center; gap:10px; border:1px solid var(--line); border-radius:12px; padding:12px 14px; background:var(--surface2)}
.selected-tom b{display:block}
.selected-tom small{color:var(--muted)}

.money{position:relative}
.money span{position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--muted); font-weight:600}
.money input{padding-left:44px; font-size:24px; font-weight:700; letter-spacing:-.01em}

.nota{border-radius:20px; background:var(--surface); border:1px solid var(--line); overflow:hidden; position:sticky; top:96px; box-shadow:0 24px 50px -24px rgba(27,23,23,.22)}
.nota-head{background:linear-gradient(120deg,#8B1E1E 0%, #B3261E 55%, #D65A4E 100%); color:#fff; padding:18px 22px; display:flex; justify-content:space-between; align-items:center}
.nota-head b{font-family:var(--display); font-size:19px; font-weight:600}
.nota-head span{font-size:11.5px; background:rgba(0,0,0,.2); padding:4px 10px; border-radius:999px}
.nota-body{padding:20px 22px; display:flex; flex-direction:column; gap:14px; font-size:14px}
.nota-sec small{display:block; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.09em; margin-bottom:3px; font-weight:700}
.nota-total{display:flex; justify-content:space-between; align-items:baseline; background:var(--accent-soft); border-radius:12px; padding:14px 16px}
.nota-total span{color:var(--muted); font-size:13px}
.nota-total b{font-family:var(--display); font-size:30px; font-weight:600}
.empty{color:var(--muted); font-style:italic}
.check{display:flex; gap:9px; align-items:center; font-size:13px}
.check.ok{color:var(--ok)} .check.no{color:var(--muted)}

.tbl-wrap{overflow-x:auto}
table{width:100%; border-collapse:collapse; font-size:14px}
th{text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); font-weight:700; padding:10px 14px; border-bottom:1px solid var(--line)}
td{padding:14px; border-bottom:1px solid var(--line); vertical-align:middle}
tbody tr:hover td{background:#FCFAFA}
tr:last-child td{border-bottom:0}
td.r,th.r{text-align:right}
.pill{display:inline-block; white-space:nowrap; border-radius:999px; padding:3px 11px; font-size:12px; font-weight:700}
.pill.ok{background:var(--ok-soft); color:var(--ok)}
.pill.err{background:var(--err-soft); color:var(--err)}
.pill.warn{background:var(--warn-soft); color:var(--warn)}
.pill.n{background:var(--surface2); color:var(--ink); font-family:var(--mono); font-weight:500}

.tiles{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:14px; margin-bottom:22px}
.tile{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px; position:relative; overflow:hidden; box-shadow:var(--shadow)}
.tile:first-child{background:linear-gradient(140deg,#8B1E1E,#C6463B); border-color:transparent; color:#fff}
.tile:first-child small,.tile:first-child .delta,.tile:first-child .pos,.tile:first-child .neg{color:rgba(255,255,255,.85)}
.tile small{color:var(--muted); font-size:12.5px; font-weight:600}
.tile b{display:block; font-family:var(--display); font-weight:600; font-size:30px; margin-top:4px; letter-spacing:-.01em}

.lookup{display:flex; gap:8px}
.lookup input{font-family:var(--mono); font-size:18px; letter-spacing:.5px}
.found{border:1px solid #A9DCC4; background:var(--ok-soft); border-radius:14px; padding:16px; display:flex; flex-direction:column; gap:10px}
.found h3{margin:0; font-size:16px}
.kv{display:grid; grid-template-columns:110px 1fr; gap:5px 12px; font-size:13.5px}
.kv dt{color:var(--muted)} .kv dd{margin:0}
.msg{border-radius:12px; padding:11px 14px; font-size:13.5px}
.msg.err{background:var(--err-soft); color:var(--err)}
.msg.info{background:var(--warn-soft); color:var(--warn)}
.samples{display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; align-items:center}
.samples button{font-family:var(--mono); font-size:12px; border:1px dashed var(--line); background:none; border-radius:8px; padding:5px 9px; cursor:pointer; color:var(--muted)}
.samples button:hover{color:var(--accent); border-color:var(--accent)}

.overlay{position:fixed; inset:0; background:rgba(27,23,23,.35); backdrop-filter:blur(4px); display:none; align-items:center; justify-content:center; padding:16px; z-index:20}
.overlay.open{display:flex}
.dialog{background:var(--surface); border:1px solid var(--line); border-radius:20px; max-width:520px; width:100%; padding:28px; max-height:90%; overflow:auto; box-shadow:0 40px 80px rgba(27,23,23,.25)}
.dialog h2{font-family:var(--display); font-size:24px; font-weight:600}
.success-mark{width:56px; height:56px; border-radius:16px; background:var(--ok-soft); color:var(--ok); display:grid; place-items:center; font-size:28px; margin-bottom:14px}
.toast{position:fixed; bottom:24px; left:50%; transform:translateX(-50%); background:var(--ink); color:#fff; padding:11px 20px; border-radius:12px; font-size:14px; font-weight:600; opacity:0; pointer-events:none; transition:opacity .2s; z-index:30}
.toast.show{opacity:1}
.between{display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap}
input[type="checkbox"]{accent-color:var(--accent)}

@media (max-width:1000px){.grid2{grid-template-columns:1fr} .nota{position:static}}
@media (max-width:760px){
  .app{grid-template-columns:1fr}
  .side{position:static; height:auto; padding:14px 16px; gap:14px}
  .tabs{flex-direction:row; overflow-x:auto}
  .tabs button{flex:0 0 auto}
  .side-foot{margin-top:0}
  .topbar,main{padding-left:16px; padding-right:16px}
  h1{font-size:28px}
}
@media (prefers-reduced-motion: reduce){*{transition:none!important}}

.nav-group{display:flex; flex-direction:column; gap:4px}
.nav-title{font-size:11px; text-transform:uppercase; letter-spacing:.09em; color:var(--muted); font-weight:700; padding:0 12px 4px}
.side .tabs{gap:18px}
.count.alert{background:var(--err-soft)!important; color:var(--err)!important}
.page-head{display:flex; justify-content:space-between; align-items:flex-end; gap:16px; flex-wrap:wrap; margin-bottom:22px}
.page-head .sub{margin:0}
.month-nav{display:flex; align-items:center; gap:6px}
.month-nav button{width:38px; height:42px; border-radius:12px; border:1px solid var(--line); background:var(--surface); cursor:pointer; font-size:18px; color:var(--muted)}
.month-nav button:hover{color:var(--accent); border-color:var(--accent)}
.month-nav .m{min-width:150px; text-align:center; font-weight:700; text-transform:capitalize; background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:9px 14px}
.tiles.five{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.tile .delta{font-size:12.5px; color:var(--muted); margin-top:2px}
.pos{color:var(--ok)} .neg{color:var(--err)}
.fin-grid{display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:20px; align-items:start}
@media (max-width:1000px){.fin-grid{grid-template-columns:1fr}}
.chart svg{width:100%; height:auto; display:block}
.legend{display:flex; gap:16px; font-size:12.5px; color:var(--muted); margin-bottom:8px}
.legend i{display:inline-block; width:10px; height:10px; border-radius:3px; margin-right:6px; vertical-align:-1px}
.catbar{display:grid; grid-template-columns:1fr auto; gap:4px 12px; align-items:center; font-size:13.5px}
.catbar .bar{grid-column:1 / -1; height:8px; border-radius:99px; background:var(--surface2); overflow:hidden; margin-bottom:8px}
.catbar .bar span{display:block; height:100%; background:var(--accent); border-radius:99px}
.filters{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:14px}
.origem{font-size:11.5px; color:var(--muted); background:var(--surface2); border-radius:6px; padding:1px 7px; margin-left:6px; white-space:nowrap}
.addbar{display:grid; grid-template-columns:2fr 1.3fr 1fr 1fr auto; gap:10px; align-items:end}
@media (max-width:900px){.addbar{grid-template-columns:1fr 1fr}}
.addbar .opts{display:flex; gap:14px; flex-wrap:wrap; grid-column:1 / -1; font-size:13px}
.addbar .opts label{display:flex; align-items:center; gap:7px; margin:0; font-weight:500; color:var(--ink)}
.addbar .opts input[type=number]{width:64px; padding:5px 8px}
.drop{border:2px dashed var(--line); border-radius:16px; padding:28px; text-align:center; background:var(--surface); cursor:pointer; transition:border-color .15s, background .15s; display:block}
.drop:hover,.drop.over{border-color:var(--accent); background:var(--accent-soft)}
.drop b{display:block; font-size:16px; margin-bottom:4px; color:var(--ink)}
.drop span{color:var(--muted); font-size:13.5px}
.imp-row.dup td{opacity:.5}
.imp-row select{padding:7px 9px; font-size:13.5px; min-width:170px}
.val{font-weight:700; white-space:nowrap}
.val.c{color:var(--ok)} .val.d{color:var(--ink)}
.matchtag{display:inline-flex; align-items:center; gap:6px; font-size:12px; color:var(--ok); font-weight:700}
.sticky-foot{position:sticky; bottom:16px; margin-top:16px; background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:14px 18px; box-shadow:0 12px 30px -10px rgba(27,23,23,.25); display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap}
.list-mini{display:flex; flex-direction:column}
.list-mini div{display:flex; justify-content:space-between; gap:10px; padding:10px 0; border-bottom:1px solid var(--line); font-size:14px}
.list-mini div:last-child{border-bottom:0}
.list-mini small{color:var(--muted); display:block}


.das-card{display:block; text-align:left; width:100%; border:1px solid var(--line); background:var(--surface2); border-radius:14px; padding:12px 14px; cursor:pointer; font:inherit; color:var(--ink)}
.das-card:hover{border-color:var(--accent)}
.das-card small{display:block; font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); font-weight:700}
.das-card b{display:block; font-size:16px; margin:2px 0 6px}
.das-card .row2{display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:12.5px; color:var(--muted)}
.das-card.late{background:var(--err-soft); border-color:#F2B8B1}
.tabs .count{white-space:nowrap}
.count.n{background:var(--surface2)!important;color:var(--muted)!important}
.count.okc{background:var(--ok-soft)!important; color:var(--ok)!important}
.count.warnc{background:var(--warn-soft)!important; color:var(--warn)!important}
.das-hero{display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:20px; margin-bottom:20px}
@media (max-width:1000px){.das-hero{grid-template-columns:1fr}}
.das-main{display:flex; flex-direction:column; gap:14px}
.das-main .big{font-family:var(--display); font-size:40px; font-weight:600; line-height:1.1}
.alert-late{display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; background:var(--err-soft); border:1px solid #F2B8B1; color:var(--err); border-radius:14px; padding:14px 18px; margin-bottom:20px}
.alert-late b{color:var(--err)}
.calc{display:grid; grid-template-columns:1fr auto; gap:8px 16px; font-size:14px}
.calc .t{border-top:1px solid var(--line); padding-top:10px; font-weight:700; font-size:16px}
.linha{font-family:var(--mono); font-size:13px; background:var(--surface2); border-radius:10px; padding:10px 12px; word-break:break-all}

.opt-cards{display:grid; grid-template-columns:1fr 1fr; gap:16px}
@media (max-width:900px){.opt-cards{grid-template-columns:1fr}}
.opt{border:1.5px solid var(--line); border-radius:16px; padding:18px; background:var(--surface); cursor:pointer; text-align:left; font:inherit; color:var(--ink); display:flex; flex-direction:column; gap:6px}
.opt:hover{border-color:var(--muted)}
.opt[aria-pressed="true"]{border-color:var(--accent); background:var(--accent-soft)}
.opt b{font-size:15.5px}
.opt span{font-size:13.5px; color:var(--muted)}
.opt .tag{align-self:flex-start; font-size:11.5px; font-weight:700; color:var(--accent); background:var(--surface); border:1px solid var(--accent); border-radius:999px; padding:1px 9px}
.steps-v{display:flex; flex-direction:column; gap:14px}
.steps-v .st{display:flex; gap:12px; align-items:flex-start}
.steps-v .n{flex:0 0 28px; height:28px; border-radius:9px; display:grid; place-items:center; font-weight:700; font-size:13px; background:var(--surface2); color:var(--muted); border:1px solid var(--line)}
.steps-v .n.done{background:var(--ok); border-color:var(--ok); color:#fff}
.svc{display:flex; justify-content:space-between; align-items:center; padding:9px 0; border-bottom:1px solid var(--line); font-size:14px}
.svc:last-child{border-bottom:0}
.termo{background:var(--surface2); border-radius:12px; padding:14px; font-size:13.5px; line-height:1.55; max-height:220px; overflow:auto}
.info-bar{display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; background:var(--warn-soft); color:var(--warn); border-radius:14px; padding:12px 16px; margin-bottom:18px; font-size:14px}

/* ---- login / onboarding / estados ---- */
.auth{min-height:100%; display:grid; place-items:center; padding:24px; background:var(--bg)}
.auth-box{width:100%; max-width:420px; background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:32px; box-shadow:var(--shadow)}
.auth-box .logo{padding:0; margin-bottom:22px}
.auth-box h1{font-size:26px}
.auth-links{display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-top:14px; font-size:13.5px}
.auth-links a{color:var(--accent); font-weight:600; text-decoration:none}
.loading{min-height:100%; display:grid; place-items:center; color:var(--muted)}
.user-chip{display:flex; align-items:center; gap:10px; font-size:13px; color:var(--muted)}
.amb{display:inline-flex; align-items:center; gap:6px; font-size:12.5px; border-radius:999px; padding:5px 12px; font-weight:600}
.amb.h{background:var(--warn-soft); color:var(--warn)}
.amb.p{background:var(--ok-soft); color:var(--ok)}
.amb::before{content:""; width:7px; height:7px; border-radius:50%; background:currentColor}
.spin{display:inline-block; width:14px; height:14px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:sp .7s linear infinite; vertical-align:-2px}
@keyframes sp{to{transform:rotate(360deg)}}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px}
@media (max-width:700px){.form-grid{grid-template-columns:1fr}}
.form-grid .full{grid-column:1/-1}
a.btn{text-decoration:none; color:inherit; display:inline-flex; align-items:center; justify-content:center}
a.btn.ghost{color:var(--accent)}

/* ---- MAP-Emitte: barra lateral escura (cinza puxando pro preto) ---- */
:root{--side:#1E1E20; --side-ink:#F2F2F3; --side-muted:#9A9AA0; --side-hover:rgba(255,255,255,.07); --side-line:rgba(255,255,255,.10)}
.side{background:var(--side); border-right:0; color:var(--side-ink); overflow-x:hidden}
.side .logo b{color:#fff; letter-spacing:.2px}
.side .logo span{color:var(--side-muted)}
.side .nav-title{color:#76767C}
.side .tabs button{color:#C8C8CD}
.side .tabs button:hover{background:var(--side-hover); color:#fff}
.side .tabs button[aria-selected="true"]{background:var(--accent); color:#fff; box-shadow:0 6px 16px -8px rgba(179,38,30,.7)}
.side .tabs .count{background:rgba(255,255,255,.09); color:#C8C8CD}
.side .tabs button[aria-selected="true"] .count{background:rgba(255,255,255,.22); color:#fff}
.side .count.alert{background:rgba(192,57,43,.25)!important; color:#FF9A8F!important}
.side-foot{border-top:1px solid var(--side-line); padding-top:14px}
.side-foot small{color:var(--side-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.side .btn{background:transparent; border-color:rgba(255,255,255,.18); color:#fff}
.side .btn:hover{background:var(--side-hover)}
.side::-webkit-scrollbar{width:8px} .side::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12); border-radius:8px}
.auth-logo{display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center; margin-bottom:18px}
.auth-logo img{width:240px; height:auto}
.auth-logo b{display:block; font-family:var(--display); font-weight:600; font-size:20px}
.auth-logo span{font-size:12.5px; color:var(--muted)}

/* fonte única (Manrope) em todo o sistema; números alinhados */
.num,.tile b,.money input,table td{font-variant-numeric:tabular-nums}
.tile b,.logo b,.auth-logo b{font-weight:800; letter-spacing:-.01em}
