:root{
  --bg:#f3f6fb;--surface:#fff;--surface-2:#f7f9fc;--ink:#132238;--muted:#6b7789;--line:#e4e9f1;
  --primary:#155eef;--primary-dark:#0b4bd4;--navy:#0b1220;--success:#17875d;--danger:#c53a45;
  --shadow:0 12px 30px rgba(18,35,58,.08);--radius:20px;--radius-sm:13px;
  --sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit}.num{font-variant-numeric:tabular-nums}h1,h2,h3,p{margin-top:0}button,input,select,textarea{font:inherit}
.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:270px;background:var(--navy);color:#fff;padding:24px 18px;display:flex;flex-direction:column;z-index:40}.brand{display:flex;align-items:center;gap:12px;padding:4px 8px 28px}.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#3077ff,#155eef);font-weight:800;color:#fff;box-shadow:0 9px 25px rgba(21,94,239,.3)}.brand strong{display:block;font-size:16px}.brand span{display:block;color:#8d9aae;font-size:12px;margin-top:2px}.side-nav{display:grid;gap:8px}.side-nav a{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:13px;text-decoration:none;color:#aab4c4;font-weight:600}.side-nav a:hover,.side-nav a.ativo{background:rgba(255,255,255,.09);color:#fff}.side-nav a.ativo{box-shadow:inset 3px 0 0 #4f8cff}.nav-icon{width:23px;text-align:center;font-size:20px}.sidebar-account{margin-top:auto;padding:14px 10px 0;border-top:1px solid rgba(255,255,255,.09);display:grid;grid-template-columns:38px 1fr 30px;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:50%;background:#233049;display:grid;place-items:center;font-weight:700}.account-copy{min-width:0}.account-copy strong,.account-copy span{display:block}.account-copy strong{font-size:12px}.account-copy span{color:#8d9aae;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout{text-decoration:none;color:#9eabba;text-align:center}.content-shell{margin-left:270px;width:calc(100% - 270px);min-width:0}.topbar{height:72px;padding:0 34px;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(228,233,241,.8);display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:20}.topbar-title span{display:none}.topbar-title strong{font-size:15px}.icon-button{margin-left:auto;width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);cursor:pointer}.menu-button{display:none;margin-left:0}.main-content{max-width:1280px;margin:0 auto;padding:34px 36px 60px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.page-head h1{font-size:30px;line-height:1.15;margin:0 0 7px;letter-spacing:-.7px}.page-head .eyebrow{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1.4px;color:var(--primary);margin-bottom:7px}.page-head .desc{color:var(--muted);font-size:14px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}.stat-card,.card{background:var(--surface);border:1px solid var(--line);box-shadow:0 2px 7px rgba(18,35,58,.025);border-radius:var(--radius)}.stat-card{padding:22px;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;right:-22px;bottom:-30px;width:90px;height:90px;border-radius:50%;background:rgba(21,94,239,.05)}.stat-card .label{font-size:12px;color:var(--muted);font-weight:700;margin-bottom:9px}.stat-card .valor{font-size:26px;line-height:1.2;font-weight:800;letter-spacing:-.7px}.stat-card:first-child .valor{color:var(--primary)}.positivo{color:var(--success)!important}.negativo{color:var(--danger)!important}.card{padding:22px;margin-bottom:22px}.card-title{font-size:13px;font-weight:800;color:var(--ink);margin-bottom:18px}.dist-row{display:grid;grid-template-columns:minmax(145px,190px) 1fr 145px;align-items:center;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}.dist-row:last-child{border-bottom:0}.chip{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:middle}.dist-track{height:8px;background:#edf1f6;border-radius:999px;overflow:hidden}.dist-fill{height:100%;border-radius:999px}.dist-valor{text-align:right;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 15px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-weight:700;font-size:13px;text-decoration:none;cursor:pointer;transition:.18s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(18,35,58,.08)}.btn-primario{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primario:hover{background:var(--primary-dark)}.btn-perigo{color:var(--danger)}.acoes{display:flex;justify-content:flex-end;align-items:center;gap:5px}.acoes form{margin:0}.btn-icone{border:0;background:transparent;color:var(--muted);padding:6px;font-size:12px;cursor:pointer;text-decoration:none;white-space:nowrap}.btn-icone:hover{color:var(--primary)}.btn-icone.perigo:hover{color:var(--danger)}table{width:100%;border-collapse:collapse;font-size:13px}thead th{text-align:left;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.8px;font-weight:800;padding:0 10px 11px;border-bottom:1px solid var(--line)}tbody td{padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--surface-2)}td.valor,th.valor{text-align:right}.badge{display:inline-flex;align-items:center;background:var(--surface-2);border:1px solid var(--line);padding:4px 9px;border-radius:999px;color:var(--muted);font-size:11px;white-space:nowrap}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .full{grid-column:1/-1}.campo{margin-bottom:4px}label{display:block;font-size:11px;font-weight:800;color:var(--muted);margin-bottom:7px}input[type=text],input[type=number],input[type=email],input[type=password],select,textarea{width:100%;min-height:46px;border:1px solid #dce3ed;border-radius:12px;background:#fff;color:var(--ink);padding:11px 13px;outline:none;transition:.15s}textarea{min-height:100px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(21,94,239,.1)}.form-acoes{display:flex;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.alerta{padding:13px 15px;border-radius:12px;margin-bottom:18px;font-size:13px;font-weight:600}.alerta-erro{background:#fff0f1;color:#a72e38;border:1px solid #ffd6da}.alerta-sucesso{background:#ecfbf5;color:#126a49;border:1px solid #c8f0df}.vazio{text-align:center;color:var(--muted);padding:45px 20px}.vazio .icone{font-size:30px;color:var(--primary);margin-bottom:8px}.bottom-nav{display:none}.sidebar-backdrop{display:none}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,rgba(21,94,239,.14),transparent 35%),var(--bg)}.login-card{width:min(100%,420px);padding:34px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.login-card .mark{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;margin:0 auto 18px;background:linear-gradient(145deg,#3077ff,#155eef);color:#fff;font-size:25px;font-weight:800}.login-card h1{text-align:center;font-size:27px;margin-bottom:5px}.login-card .sub{text-align:center;color:var(--muted);font-size:13px;margin-bottom:27px}.login-card .btn-primario{width:100%;margin-top:10px}.cor-preview{display:inline-block;width:36px;height:36px;border-radius:10px;border:1px solid var(--line);vertical-align:middle}.offline-page{min-height:100vh;display:grid;place-content:center;text-align:center;padding:30px;max-width:440px;margin:auto}.offline-page .brand-mark{margin:0 auto 20px}.offline-page h1{font-size:27px;margin-bottom:8px}.offline-page p{color:var(--muted);margin-bottom:22px}
@media(max-width:1000px){.sidebar{transform:translateX(-105%);transition:transform .22s ease}.menu-open .sidebar{transform:translateX(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(7,14,25,.48);opacity:0;visibility:hidden;z-index:35;transition:.2s}.menu-open .sidebar-backdrop{opacity:1;visibility:visible}.content-shell{margin-left:0;width:100%}.menu-button{display:block}.topbar-title span{display:block;color:var(--muted);font-size:10px}.topbar-title strong{display:block;line-height:1.15}.main-content{padding:28px 24px 100px}}
@media(max-width:760px){body{font-size:14px}.topbar{height:64px;padding:0 16px}.main-content{padding:22px 15px calc(100px + env(safe-area-inset-bottom))}.page-head{align-items:flex-start}.page-head h1{font-size:26px}.page-head .desc{font-size:13px;max-width:250px}.page-head>.btn{display:none}.grid-3{grid-template-columns:1fr 1fr;gap:12px}.stat-card{padding:17px}.stat-card:first-child{grid-column:1/-1}.stat-card .valor{font-size:22px}.card{padding:17px;border-radius:17px;margin-bottom:15px;overflow:hidden}.dist-row{grid-template-columns:1fr auto;gap:8px 12px}.dist-track{grid-column:1/-1;grid-row:2}.dist-valor{font-size:12px}.form-grid{grid-template-columns:1fr}.form-acoes{position:sticky;bottom:72px;background:#fff;margin-left:-17px;margin-right:-17px;margin-bottom:-17px;padding:14px 17px;border-top:1px solid var(--line);z-index:5}.form-acoes .btn{flex:1}.bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;left:0;right:0;bottom:0;height:70px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-top:1px solid var(--line);z-index:30}.bottom-nav a{text-decoration:none;color:#8590a1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:21px;height:52px}.bottom-nav small{font-size:9px;font-weight:700}.bottom-nav a.ativo{color:var(--primary)}.bottom-nav .bottom-add{position:relative;top:-14px}.bottom-nav .bottom-add span{width:50px;height:50px;border-radius:17px;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:29px;box-shadow:0 10px 24px rgba(21,94,239,.3)}table,thead,tbody,tr,th,td{display:block}thead{display:none}tbody{display:grid;gap:12px}tbody tr{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}tbody td{border:0;padding:5px 0;display:flex;justify-content:space-between;gap:12px;text-align:right}tbody td:first-child{font-size:15px;font-weight:800;text-align:left;padding-bottom:9px;border-bottom:1px solid var(--line);margin-bottom:4px}tbody td:not(:first-child):before{font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.5px;content:"Detalhe"}tbody td:nth-child(2):before{content:"Categoria"}tbody td:nth-child(3):before{content:"Banco / Itens"}tbody td:nth-child(4):before{content:"Tipo / Total"}tbody td:nth-child(5):before{content:"Valor"}tbody td:nth-child(6):before{content:"Rentabilidade"}tbody td:last-child:before{content:""}td.valor,th.valor{text-align:right}.acoes{width:100%;justify-content:flex-end;border-top:1px dashed var(--line);padding-top:7px;margin-top:3px}.login-card{padding:27px 21px;border-radius:20px}.login-wrap{padding:15px}}
.stat-note,.card-subtitle{display:block;margin-top:7px;color:var(--muted);font-size:.82rem;line-height:1.45}.valor-menor{font-size:1.35rem!important;line-height:1.2;overflow-wrap:anywhere}.dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.dist-local>div:first-child{display:flex;flex-direction:column;gap:3px}.dist-local small,.table-note{display:block;color:var(--muted);font-size:.78rem;margin-top:4px}.filter-grid{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:end}.list-summary{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--border)}
@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:700px){.filter-grid{grid-template-columns:1fr}.filter-grid .btn{width:100%}.list-summary{align-items:flex-start;flex-direction:column;gap:5px}table thead{display:none}table,table tbody,table tr,table td{display:block;width:100%}table tr{padding:15px 0;border-bottom:1px solid var(--border)}table td{border:0!important;padding:7px 0!important;text-align:left!important;display:grid;grid-template-columns:105px 1fr;gap:12px;align-items:start}table td::before{content:attr(data-label);color:var(--muted);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}table td:not([data-label]){display:block}.acoes{justify-content:flex-end;margin-top:8px}.dist-row{grid-template-columns:1fr auto}.dist-row .dist-track{grid-column:1/-1;grid-row:2}.dist-valor{grid-column:2;grid-row:1}}

@media(max-width:760px){tbody td:nth-child(2):before{content:attr(data-label)}tbody td:nth-child(3):before{content:attr(data-label)}tbody td:nth-child(4):before{content:attr(data-label)}tbody td:nth-child(5):before{content:attr(data-label)}tbody td:nth-child(6):before{content:attr(data-label)}tbody td:not([data-label])::before{content:""}}

input[type=date]{width:100%;min-height:46px;border:1px solid #dce3ed;border-radius:12px;background:#fff;color:var(--ink);padding:11px 13px;outline:none}.saldo-atual{margin-top:18px;padding:13px 15px;border-radius:12px;background:var(--surface-2);color:var(--muted)}.saldo-atual strong{color:var(--ink);font-size:1.1rem}.mov-help{display:grid;gap:14px}.mov-help>div{display:grid;grid-template-columns:42px 1fr;column-gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px}.mov-help small{grid-column:2;color:var(--muted)}.mov-icon{grid-row:1/3;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:24px;font-weight:800}.mov-icon.aporte,.mov-badge.aporte{background:#e9f8f1;color:var(--success)}.mov-icon.resgate,.mov-badge.resgate{background:#fff0f1;color:var(--danger)}.mov-badge{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:800}.mov-grid{grid-template-columns:1.2fr .8fr}.btn-icone.positivo{color:var(--success)}.btn-icone.negativo{color:var(--danger)}
@media(max-width:900px){.mov-grid{grid-template-columns:1fr}}
