:root{--bg:#f4f5f7;--bg2:#ffffff;--bg3:#f9fafb;--bg4:#e5e7eb;--bg-glass: rgba(255, 255, 255, .85);--text:#111827;--text2:#6b7280;--text3:#4b5563;--border:#e5e7eb;--shadow:rgba(17, 24, 39, .05);--shadow-md: 0 4px 14px rgba(17, 24, 39, .06);--accent:#111827;--accent-text:#ffffff;--red:#ef4444;--green:#10b981;--gold:#f59e0b;--red-bg:#fef2f2;--green-bg:#ecfdf5;--gold-bg:#fffbeb;--red-text:#b91c1c;--green-text:#047857;--gold-text:#b45309;--blue-bg:#eff6ff;--blue-text:#1d4ed8;--navbar-h:72px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-card: 20px;--radius-btn: 14px;--bg-card: var(--bg2);--bg-surface: var(--bg3);--bg-input: var(--bg3);--text-primary: var(--text);--text-secondary: var(--text3);--text-muted: var(--text2);--amber: var(--gold)}body.dark{--bg: #0f1115;--bg2: #16191f;--bg3: #1d2128;--bg4: #272c35;--bg-glass: rgba(22, 25, 31, .85);--text: #f3f4f6;--text2: #9ca3af;--text3: #d1d5db;--border: #272c35;--shadow: rgba(0, 0, 0, .4);--shadow-md: 0 4px 14px rgba(0, 0, 0, .5);--accent: #ffffff;--accent-text: #0f1115;--red-bg: #3f1a1a;--green-bg: #103123;--gold-bg: #382712;--red-text: #fca5a5;--green-text: #34d399;--gold-text: #fcd34d;--blue-bg: #1e3a8a;--blue-text: #60a5fa;--bg-card: var(--bg2);--bg-surface: var(--bg3);--bg-input: var(--bg3);--text-primary: var(--text);--text-secondary: var(--text3);--text-muted: var(--text2)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);min-height:100vh;transition:background-color .3s ease}h1,h2,h3,h4,h5,h6,.val,.metric .val,.saldo-val,.perfil-val,.avulsa-total-box .val,.page-title{font-family:var(--font-heading)}.page{max-width:520px;margin:0 auto;padding:1rem;padding-bottom:calc(var(--navbar-h) + 1rem)}.header{text-align:center;margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--border);position:relative}.header h1{font-size:21px;font-weight:700}.header p{font-size:12px;color:var(--text2);margin-top:3px}.header-right{position:absolute;top:0;right:0;display:flex;gap:6px}.btn-icon{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:6px 9px;font-size:15px;cursor:pointer;color:var(--text)}.card{background:var(--bg2);border-radius:var(--radius-card);padding:1.2rem;margin-bottom:1rem;box-shadow:var(--shadow-md);transition:transform .25s ease,box-shadow .25s ease}.card:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--shadow)}.card h2{font-size:16px;font-weight:600;margin-bottom:12px;font-family:var(--font-heading)}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:1rem}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:1rem}.metric{background:var(--bg2);border-radius:16px;padding:12px 10px;text-align:center;box-shadow:var(--shadow-md);transition:transform .25s ease}.metric:hover{transform:translateY(-2px)}.metric .val{font-size:20px;font-weight:700}.metric .lbl{font-size:11px;color:var(--text2);margin-top:4px;font-weight:500}.campo{margin-bottom:10px}.campo label{display:block;font-size:12px;color:var(--text2);margin-bottom:4px;font-weight:500}.campo input,.campo select,.campo textarea{width:100%;font-size:15px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg3);color:var(--text);font-family:var(--font-sans);-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:all .2s ease}.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--green);background:var(--bg2);box-shadow:0 0 0 3px var(--green-bg)}.campo textarea{resize:none;height:60px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.btn-main{width:100%;padding:14px;font-size:15px;font-weight:600;background:var(--accent);border:none;border-radius:var(--radius-btn);color:var(--accent-text);cursor:pointer;margin-top:6px;font-family:var(--font-sans);transition:all .2s ease;box-shadow:0 4px 12px var(--shadow)}.btn-main:hover{transform:translateY(-1px);box-shadow:0 6px 16px var(--shadow)}.btn-main:active{opacity:.9;transform:scale(.97);box-shadow:none}.btn-main:disabled{opacity:.5;transform:none;box-shadow:none}.btn-main.verde{background:var(--green);color:#fff}.btn-sec{width:100%;padding:13px;font-size:14px;font-weight:600;background:var(--bg4);border:none;border-radius:var(--radius-btn);color:var(--text);cursor:pointer;margin-top:6px;font-family:var(--font-sans);transition:all .2s ease}.btn-sec:hover{background:var(--border);transform:translateY(-1px)}.btn-sec:active{transform:scale(.97)}.preco-hint{font-size:13px;color:var(--text2);margin-top:6px;text-align:right}.alerta{background:var(--gold-bg);border:1px solid var(--gold);border-radius:10px;padding:10px 12px;margin-bottom:1rem}.alerta-titulo{font-size:13px;font-weight:600;color:var(--gold-text);margin-bottom:4px}.alerta-item{font-size:12px;color:var(--gold-text);padding:2px 0}.busca-wrap{position:relative;margin-bottom:8px}.busca-wrap input{width:100%;font-size:14px;padding:10px 12px 10px 36px;border:1px solid var(--border);border-radius:10px;background:var(--bg2);color:var(--text);font-family:inherit;-webkit-appearance:none}.busca-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:16px;pointer-events:none}.filtros-row{display:flex;gap:5px;flex-wrap:wrap;align-items:center;margin-bottom:1rem}.filtro-btn{font-size:11px;padding:5px 10px;border:1px solid var(--border);border-radius:20px;background:transparent;color:var(--text2);cursor:pointer;font-family:inherit}.filtro-btn.ativo{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.sort-sel{font-size:11px;padding:5px 10px;border:1px solid var(--border);border-radius:20px;background:var(--bg2);color:var(--text2);cursor:pointer;font-family:inherit;-webkit-appearance:none;margin-left:auto}.perfil-card{background:var(--bg2);border-radius:14px;margin-bottom:10px;overflow:hidden;box-shadow:0 1px 3px var(--shadow)}.perfil-card.tem-pendente{border-left:3px solid var(--red)}.perfil-card.tem-credito{border-left:3px solid var(--green)}.perfil-header{display:flex;align-items:center;gap:10px;padding:13px;cursor:pointer}.avatar{width:40px;height:40px;border-radius:50%;background:var(--blue-bg);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--blue-text);flex-shrink:0}.perfil-info{flex:1;min-width:0}.perfil-nome{font-size:15px;font-weight:600}.perfil-sub{font-size:12px;color:var(--text2);margin-top:1px}.perfil-right{text-align:right;flex-shrink:0}.perfil-val{font-size:16px;font-weight:700}.perfil-status{font-size:11px;margin-top:1px;font-weight:500}.perfil-status.pendente{color:var(--red)}.perfil-status.quitado,.perfil-status.credito{color:var(--green)}.chevron{font-size:11px;color:var(--border);margin-left:4px;transition:transform .2s;display:inline-block}.chevron.aberto{transform:rotate(180deg)}.saldo-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:10px 13px;background:var(--bg3);border-bottom:1px solid var(--border)}.saldo-val{font-size:15px;font-weight:700}.saldo-val.pos{color:var(--green)}.saldo-val.neg{color:var(--red)}.saldo-btns{display:flex;gap:6px;flex-wrap:wrap}.btn-saldo{font-size:11px;padding:5px 8px;border-radius:8px;border:1px solid var(--border);background:var(--bg2);color:var(--text);cursor:pointer;font-family:inherit;font-weight:500}.btn-saldo.cred{background:var(--green-bg);color:var(--green-text);border-color:var(--green)}.movs{padding:6px 0}.mov-item{display:flex;align-items:center;gap:8px;padding:6px 13px;border-bottom:1px solid var(--bg);font-size:12px;color:var(--text2)}.mov-ico{width:18px;text-align:center}.mov-desc{flex:1}.mov-val{font-weight:600;color:var(--green)}.compra-item{display:flex;align-items:flex-start;gap:8px;padding:10px 13px;border-bottom:1px solid var(--bg)}.compra-data{font-size:12px;color:var(--text2);min-width:36px;padding-top:2px}.compra-desc{flex:1;font-size:13px;line-height:1.4}.compra-obs{font-size:11px;color:var(--text2);font-style:italic;margin-top:2px}.compra-val{font-size:13px;font-weight:600;min-width:44px;text-align:right;padding-top:2px}.compra-btns{display:flex;gap:4px;align-items:center;flex-shrink:0}.badge{font-size:10px;padding:3px 7px;border-radius:20px;font-weight:600;white-space:nowrap}.badge.pago{background:var(--green-bg);color:var(--green-text)}.badge.deve{background:var(--red-bg);color:var(--red-text)}.btn-sm{font-size:14px;padding:5px 8px;border:1px solid var(--border);border-radius:8px;background:var(--bg3);color:var(--text3);cursor:pointer;font-family:inherit}.btn-del{font-size:18px;background:none;border:none;color:var(--border);cursor:pointer;padding:4px;line-height:1}.divider{height:1px;background:var(--border);margin:8px 0}.vazio{text-align:center;padding:2rem 1rem;color:var(--text2);font-size:14px}.dash-periodo{display:flex;gap:6px;margin-bottom:1rem}.dash-periodo button{flex:1;padding:8px 4px;font-size:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg2);color:var(--text2);cursor:pointer;font-family:inherit}.chart-wrap{position:relative;height:180px;margin-top:8px}.rank-item{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.rank-item:last-child{border-bottom:none}.rank-pos{font-size:13px;font-weight:700;color:var(--text2);width:20px;text-align:center}.rank-nome{flex:1;font-size:13px;font-weight:500}.rank-val{font-size:13px;font-weight:600}.est-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg2);border-radius:12px;margin-bottom:8px;border:1px solid var(--border)}.est-item.baixo{border-color:var(--red)}.est-nome{font-size:14px;font-weight:500}.est-sub{font-size:11px;color:var(--text2);margin-top:2px}.est-btns{display:flex;gap:5px;margin-top:8px}.est-qtd{text-align:right}.est-num{font-size:20px;font-weight:700}.est-item.baixo .est-num{color:var(--red)}.est-un{font-size:11px;color:var(--text2)}.gasto-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.gasto-ico{font-size:18px;width:26px;text-align:center}.gasto-info{flex:1}.gasto-desc{font-size:13px;font-weight:500}.gasto-data{font-size:11px;color:var(--text2);margin-top:1px}.gasto-val{font-size:14px;font-weight:700;color:var(--red)}.avulsa-total-box{background:var(--green-bg);border-radius:12px;padding:14px;text-align:center;margin-bottom:1rem}.avulsa-total-box .val{font-size:26px;font-weight:700;color:var(--green-text)}.avulsa-total-box .lbl{font-size:12px;color:var(--green-text);margin-top:2px}.avulsa-item{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--border)}.avulsa-prod{font-size:13px;font-weight:500}.avulsa-data{font-size:11px;color:var(--text2)}.avulsa-val{font-size:14px;font-weight:700;color:var(--green)}.hist-linha{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px;color:var(--text2)}.hist-linha:last-child{border-bottom:none}.hist-linha span{font-weight:600;color:var(--text)}.exp-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.btn-exp{padding:11px;font-size:13px;background:var(--bg2);border:1px solid var(--border);border-radius:10px;color:var(--text);cursor:pointer;font-family:inherit;font-weight:500}.btn-exp.ativo{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.preview{background:var(--bg2);border-radius:10px;padding:12px;font-size:12px;color:var(--text3);white-space:pre-wrap;line-height:1.7;max-height:220px;overflow-y:auto;border:1px solid var(--border)}.cfg-section{margin-bottom:1.4rem}.cfg-section h3{font-size:12px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.cfg-row{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg2);border-radius:12px;margin-bottom:8px;border:1px solid var(--border)}.cfg-row label{font-size:14px;font-weight:500}.cfg-row input{width:80px;font-size:15px;padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg3);color:var(--text);font-family:inherit;text-align:right}.combo-card{background:var(--bg2);border-radius:12px;padding:12px;margin-bottom:8px;border:1px solid var(--border)}.combo-nome{font-size:14px;font-weight:600;margin-bottom:4px}.combo-info{font-size:12px;color:var(--text2)}.combo-preco{font-size:15px;font-weight:700;color:var(--green);margin-top:4px}.combo-btns{display:flex;gap:6px;margin-top:8px}.promo-card{background:var(--bg2);border-radius:12px;padding:12px;margin-bottom:8px;border:1px solid var(--border)}.promo-card.ativa{border-color:var(--green)}.promo-nome{font-size:14px;font-weight:600}.promo-info{font-size:12px;color:var(--text2);margin-top:2px}.promo-badge{display:inline-block;font-size:10px;padding:2px 7px;border-radius:10px;font-weight:600;margin-top:4px}.promo-badge.ativa{background:var(--green-bg);color:var(--green-text)}.promo-badge.inativa{background:var(--bg4);color:var(--text2)}.nome-wrap{position:relative}.sugestoes{position:absolute;z-index:50;background:var(--bg2);border:1px solid var(--border);border-radius:10px;width:100%;max-height:150px;overflow-y:auto;box-shadow:0 4px 12px var(--shadow)}.sug-item{padding:10px 14px;font-size:14px;cursor:pointer}.sug-item:active{background:var(--bg4)}.sync{font-size:10px;margin-top:3px}.sync-ok{color:var(--green)}.sync-err{color:var(--red)}.sync-loading{color:var(--text2)}.dre-linha{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:13px;border-bottom:1px solid var(--border)}.dre-linha:last-child{border-bottom:none}.dre-separador{height:1px;background:var(--border);margin:4px 0}.dre-total{font-weight:700;font-size:14px;padding-top:10px}.page-content{max-width:520px;margin:0 auto;padding:1rem;padding-bottom:calc(var(--navbar-h) + 1.5rem)}.page-title{font-size:22px;font-weight:700;color:var(--text)}.page-subtitle{font-size:12px;color:var(--text2);margin-top:3px}.skeleton{background:linear-gradient(90deg,var(--bg4) 25%,var(--bg3) 50%,var(--bg4) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.page-content{animation:pageFade .22s ease both}@keyframes pageFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.stagger-list>*{animation:itemFade .28s ease both}.stagger-list>*:nth-child(1){animation-delay:0ms}.stagger-list>*:nth-child(2){animation-delay:40ms}.stagger-list>*:nth-child(3){animation-delay:70ms}.stagger-list>*:nth-child(4){animation-delay:95ms}.stagger-list>*:nth-child(5){animation-delay:115ms}.stagger-list>*:nth-child(6){animation-delay:.13s}.stagger-list>*:nth-child(7){animation-delay:.14s}.stagger-list>*:nth-child(8){animation-delay:.15s}.stagger-list>*:nth-child(n+9){animation-delay:.16s}@keyframes itemFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.empty-state{text-align:center;padding:3rem 1rem}.empty-state-icon{font-size:48px;margin-bottom:12px}.empty-state-text{font-size:14px;color:var(--text2);white-space:pre-line;line-height:1.6}.dash-periodo button.ativo{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}@supports (padding-bottom: env(safe-area-inset-bottom)){.page,.page-content{padding-bottom:calc(var(--navbar-h) + env(safe-area-inset-bottom) + .5rem)}nav{padding-bottom:env(safe-area-inset-bottom);height:calc(var(--navbar-h) + env(safe-area-inset-bottom))}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:1rem;overflow-y:auto;animation:modal-fade-in .2s ease}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-container{background:var(--bg2);border-radius:var(--radius-card);width:100%;max-width:440px;box-shadow:0 20px 60px #0006;animation:modal-slide-up .25s ease;margin:auto}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 0;position:sticky;top:0;background:var(--bg2);z-index:1;border-radius:var(--radius-card) var(--radius-card) 0 0}.modal-title{font-size:16px;font-weight:700;font-family:var(--font-heading);color:var(--text);margin:0}.modal-close{background:var(--bg3);border:1px solid var(--border);border-radius:8px;color:var(--text2);font-size:16px;cursor:pointer;padding:4px 10px;transition:all .15s ease}.modal-close:hover{background:var(--bg4);color:var(--text)}.modal-body{padding:16px 20px 24px}.modal-label{font-size:11px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.8px;display:block;margin-bottom:5px}.modal-input{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:14px;padding:10px 12px;font-family:var(--font-sans);outline:none;transition:all .2s ease;box-sizing:border-box}.modal-input:focus{border-color:var(--green);background:var(--bg2);box-shadow:0 0 0 3px var(--green-bg)}.modal-btn-primary{background:var(--green);color:#000;border:none;border-radius:10px;padding:11px 18px;font-weight:700;font-size:14px;cursor:pointer;font-family:var(--font-sans);width:100%;transition:all .15s ease}.modal-btn-primary:hover{opacity:.9;transform:translateY(-1px)}.modal-btn-primary:active{transform:scale(.98)}.modal-btn-primary:disabled{opacity:.5;transform:none}.modal-btn-secondary{background:var(--bg3);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:11px 18px;font-weight:600;font-size:14px;cursor:pointer;font-family:var(--font-sans);width:100%;transition:all .15s ease}.modal-btn-secondary:hover{background:var(--bg4)}.modal-row{display:flex;gap:8px}.row-between{display:flex;align-items:center;justify-content:space-between}.row-start{display:flex;align-items:flex-start;justify-content:space-between}.row-gap{display:flex;align-items:center;gap:8px}.col-gap{display:flex;flex-direction:column;gap:8px}.btn-action{background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:12px;padding:5px 10px;cursor:pointer;font-family:var(--font-sans);transition:background .15s}.btn-action:hover{background:var(--bg4)}.pill{display:inline-block;font-size:10px;font-weight:700;padding:2px 7px;border-radius:99px;white-space:nowrap}.pill-green{background:var(--green-bg);color:var(--green-text)}.pill-amber{background:var(--gold-bg);color:var(--gold-text)}.pill-red{background:var(--red-bg);color:var(--red-text)}.pill-blue{background:var(--blue-bg);color:var(--blue-text)}.pill-indigo{background:#6366f11f;color:#818cf8}.pill-muted{background:var(--bg4);color:var(--text2)}.card-list{background:var(--bg-card);border-radius:16px;border:1px solid var(--border);overflow:hidden}.section-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.cart-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg3);border-radius:10px;margin-bottom:6px;border:1px solid var(--border)}.cart-item-info{flex:1;font-size:13px;color:var(--text)}.cart-item-val{font-size:13px;font-weight:700;color:var(--green);margin:0 8px}.cart-item-del{background:none;border:none;color:var(--red);font-size:16px;cursor:pointer;padding:2px 6px}.cart-total{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--green-bg);border-radius:10px;margin-top:8px;font-weight:700;font-size:14px;color:var(--green-text)}
