:root{--blue:#0b5ed7;--blue2:#06469f;--pale:#edf5ff;--ink:#172033;--muted:#6e7b91;--line:#dce4ef;--green:#1c9a62;--red:#d33b52;--shadow:0 16px 42px rgba(27,65,110,.12)}*{box-sizing:border-box}html{background:#f5f8fc}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:linear-gradient(180deg,#edf5ff 0,#f8fafd 280px);min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1240px)/2));position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;border:0;background:transparent;font-size:20px;font-weight:850;color:var(--blue2)}.mini-logo,.logo{display:grid;place-items:center;background:var(--blue);color:white;border-radius:13px}.mini-logo{width:38px;height:38px}.logo{width:64px;height:64px;margin:auto;font-size:35px;box-shadow:0 12px 26px #0b5ed744}.top-actions{display:flex;gap:10px;align-items:center}.icon-btn,.avatar{border:1px solid var(--line);background:#fff;width:42px;height:42px;border-radius:14px;position:relative}.avatar{background:var(--blue);color:#fff;font-weight:800}.badge{position:absolute;top:-6px;right:-6px;background:var(--red);color:#fff;border:2px solid #fff;border-radius:50%;font-size:10px;min-width:20px;height:20px;display:grid;place-items:center}main{max-width:1240px;margin:auto;padding:28px 20px 80px}.hero{display:flex;align-items:flex-end;justify-content:space-between;margin:16px 0 28px}.eyebrow,.list-head small,.panel-title small,.cart-title small,.finish-box small{font-size:11px;font-weight:850;letter-spacing:.12em;color:var(--blue)}h1,h2,h3,p{margin-top:0}.hero h2{font-size:34px;margin:6px 0}.hero p{color:var(--muted);margin:0}.primary{border:0;border-radius:13px;background:var(--blue);color:#fff;padding:13px 18px;font-weight:800;box-shadow:0 7px 18px #0b5ed733}.primary:hover{background:var(--blue2)}.primary:disabled{background:#b5c0ce;box-shadow:none;cursor:not-allowed}.outline{border:1px solid #b8cbe4;background:#fff;color:var(--blue);border-radius:12px;padding:11px 15px;font-weight:750}.list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.list-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 5px 18px rgba(30,62,100,.05);cursor:pointer;transition:.2s}.list-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.list-card .card-top{display:flex;justify-content:space-between;align-items:center}.list-card .cart-icon{width:46px;height:46px;border-radius:14px;background:var(--pale);display:grid;place-items:center}.list-card h3{margin:16px 0 6px}.list-card p{color:var(--muted);font-size:13px}.mini-progress{height:7px;background:#edf0f5;border-radius:9px;overflow:hidden}.mini-progress i{display:block;height:100%;background:var(--blue)}.empty{background:#fff;border:1px dashed #b8c8da;border-radius:22px;text-align:center;padding:56px 20px}.empty>span{font-size:42px}.empty p{color:var(--muted)}.list-head{display:flex;align-items:center;gap:15px;margin:5px 0 18px}.back{width:43px;height:43px;border-radius:13px;background:#fff;border:1px solid var(--line);font-size:30px}.title-wrap{flex:1}.title-wrap h2{margin:3px 0;font-size:26px}.title-wrap p{font-size:13px;color:var(--muted);margin:0}.progress-card{background:linear-gradient(105deg,var(--blue2),var(--blue));color:#fff;padding:18px 22px;border-radius:17px;display:grid;grid-template-columns:1fr auto;align-items:center;margin-bottom:20px;box-shadow:0 10px 26px #0b5ed733}.progress-card span{opacity:.75;font-size:13px}.progress-card>b{font-size:21px}.progress{grid-column:1/-1;background:#ffffff30;height:8px;border-radius:8px;margin-top:10px;overflow:hidden}.progress i{display:block;height:100%;width:0;background:#fff;border-radius:8px;transition:.3s}.shopping-layout{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(480px,1.45fr);gap:20px;align-items:start}.catalog-panel,.cart-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 6px 22px rgba(21,54,96,.06)}.panel-title,.cart-title{display:flex;align-items:center;justify-content:space-between}.panel-title h3,.cart-title h3{margin:3px 0 14px}.square{width:40px;height:40px;border:0;background:var(--blue);color:#fff;border-radius:12px;font-size:22px}.search{display:flex;align-items:center;gap:8px;background:#f5f7fb;border:1px solid var(--line);border-radius:12px;padding:0 12px}.search input{border:0;background:transparent;outline:0;width:100%;padding:12px 0}.categories{display:flex;gap:7px;overflow-x:auto;padding:13px 1px 8px;scrollbar-width:thin}.category{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:20px;padding:7px 11px;color:#596579;font-size:12px}.category.active{background:var(--blue);border-color:var(--blue);color:#fff}.products{height:min(48vh,430px);overflow-y:auto;padding:5px 4px 5px 0;scrollbar-width:thin}.product{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:10px 5px;border-bottom:1px solid #edf1f6}.product .emoji{width:38px;height:38px;border-radius:11px;background:var(--pale);display:grid;place-items:center}.product strong{display:block;font-size:13px}.product small{color:var(--muted);font-size:11px}.add-btn{border:1px solid #bad0ec;background:#fff;color:var(--blue);border-radius:10px;padding:7px 10px;font-weight:800}.star{border:0;background:transparent;padding:2px;color:#c4cad2}.star.on{color:#f5b700}.pill{background:#fff1d7;color:#a66400;border-radius:16px;padding:5px 9px;font-size:11px;font-weight:800}.pill.green{background:#e1f6ec;color:#087748}.items{display:grid;gap:9px}.item{border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;grid-template-columns:44px 1fr auto;gap:11px;align-items:center}.item.done{background:#f4fbf8;border-color:#c8eadb}.item.done .item-name{text-decoration:line-through;color:#7e8d85}.check-btn{width:42px;height:42px;border-radius:12px;border:1px solid #b8cae1;background:#eef5ff;color:var(--blue);font-size:20px}.done .check-btn{background:var(--green);color:#fff;border-color:var(--green)}.item-name{font-weight:750}.item-meta{color:var(--muted);font-size:12px;margin-top:3px}.item-actions{display:flex;gap:6px;align-items:center}.price{width:86px;border:1px solid var(--line);border-radius:10px;padding:8px}.trash{border:0;background:transparent;color:var(--red);font-size:17px}.checked-section{margin-top:22px}.compact{padding:35px 15px;border:0}.compact>span{font-size:32px}.finish-box{border-top:1px solid var(--line);margin-top:20px;padding-top:17px;display:grid;grid-template-columns:1fr auto;align-items:center}.finish-box strong{display:block;font-size:22px;margin-top:4px}.finish-box p{grid-column:1/-1;text-align:right;font-size:11px;color:var(--muted);margin:6px 0 0}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 15%,#d8eaff,transparent 30%),radial-gradient(circle at 85% 80%,#c6ddff,transparent 30%),#eff6ff}.brand-card{width:min(430px,100%);background:#fff;border:1px solid #d8e3f1;border-radius:24px;padding:34px;box-shadow:var(--shadow);text-align:center}.brand-card h1{color:var(--blue2);margin:16px 0 5px}.brand-card>p{color:var(--muted)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f0f4f9;padding:4px;border-radius:12px;margin:25px 0 17px}.auth-tabs button{border:0;background:transparent;padding:9px;border-radius:9px;color:var(--muted)}.auth-tabs .active{background:#fff;color:var(--blue);font-weight:800;box-shadow:0 2px 8px #4562a21a}.auth-form{text-align:left;display:grid;gap:13px}.auth-form label{font-size:12px;font-weight:750;color:#536076}.auth-form input{width:100%;margin-top:5px;padding:12px;border:1px solid var(--line);border-radius:11px;outline:0}.auth-form input:focus{border-color:var(--blue)}dialog{border:0;padding:0;border-radius:20px;width:min(480px,calc(100% - 30px));box-shadow:var(--shadow)}dialog::backdrop{background:#0c213d99}.modal-card{padding:26px;position:relative}.close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:24px}.modal-card h2{margin-right:30px}.modal-form{display:grid;gap:12px}.modal-form label{font-size:12px;font-weight:750}.modal-form input,.modal-form select{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;margin-top:4px}.drawer{position:fixed;right:-420px;top:0;width:min(390px,100%);height:100vh;background:#fff;z-index:50;box-shadow:-20px 0 40px #1b375830;transition:.25s;padding:20px}.drawer.open{right:0}.drawer-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.drawer-head button{border:0;background:transparent;font-size:26px}.event{padding:13px 4px;border-bottom:1px solid var(--line)}.event p{font-size:13px;margin:0}.event small{color:var(--muted)}.toast{position:fixed;top:82px;left:50%;transform:translate(-50%,-20px);background:#14233a;color:#fff;padding:11px 16px;border-radius:11px;z-index:100;opacity:0;pointer-events:none;transition:.25s;box-shadow:var(--shadow)}.toast.show{opacity:1;transform:translate(-50%,0)}
.text-btn{border:0;background:transparent;color:var(--blue);font-weight:750;padding:5px}.auth-form label small{display:block;color:var(--muted);font-weight:500;margin-top:4px;line-height:1.35}
@media(max-width:900px){.shopping-layout{grid-template-columns:1fr}.catalog-panel{position:relative}.products{height:350px}.list-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.topbar{height:62px;padding:0 14px}.brand{font-size:17px}.mini-logo{width:34px;height:34px}main{padding:18px 12px 80px}.hero{align-items:center}.hero h2{font-size:26px}.hero .primary{padding:11px;font-size:12px}.list-grid{grid-template-columns:1fr}.list-head{display:grid;grid-template-columns:auto 1fr}.list-head .outline{grid-column:1/-1}.progress-card{border-radius:14px}.shopping-layout{display:flex;flex-direction:column}.catalog-panel,.cart-panel{width:100%;padding:14px;border-radius:15px}.categories{margin-right:-14px;padding-right:14px}.products{height:320px}.finish-box{position:sticky;bottom:8px;background:#fff;padding:14px 2px 4px}.item{grid-template-columns:42px 1fr}.item-actions{grid-column:2;justify-content:flex-end}.auth-shell{padding:12px}.brand-card{padding:26px 20px}.toast{top:70px;width:calc(100% - 24px);text-align:center}}

/* v1.0.4: baixa explícita e preço monetário amigável no celular */
.item{grid-template-columns:minmax(150px,1fr) auto;gap:12px}
.item-copy{min-width:0}
.item-actions{display:flex;gap:8px;align-items:flex-end}
.check-btn{width:auto;height:43px;min-width:116px;padding:0 13px;border-radius:11px;border:1px solid var(--blue);background:var(--blue);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:14px;font-weight:800}
.check-btn span{font-size:17px}
.check-btn:disabled{opacity:.6;cursor:wait}
.done .check-btn{background:#fff;color:var(--green);border-color:var(--green)}
.price-field{display:grid;gap:3px;color:var(--muted);font-size:10px;font-weight:750}
.price{width:108px;height:43px;padding:8px 10px;text-align:right;font-variant-numeric:tabular-nums}
.price:focus{outline:2px solid #0b5ed733;border-color:var(--blue)}
.trash{height:43px;padding:0 6px;font-size:19px}
@media(max-width:600px){.item{grid-template-columns:1fr;gap:9px}.item-actions{grid-column:auto;width:100%}.price-field{flex:1}.price{width:100%}.check-btn{min-width:112px}}

/* v1.1.0: quantidades, preços anteriores e relatórios */
.hero-actions{display:flex;gap:10px;align-items:center}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.last-price-hint{color:var(--muted);font-size:13px;background:var(--pale);border-radius:10px;padding:10px 12px}
.report-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}
.report-summary article{background:linear-gradient(120deg,var(--blue2),var(--blue));color:#fff;border-radius:17px;padding:20px;box-shadow:0 10px 24px #0b5ed72b}
.report-summary small{display:block;font-size:10px;font-weight:850;letter-spacing:.1em;opacity:.75;margin-bottom:7px}
.report-summary strong{font-size:25px}
.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.report-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 6px 22px rgba(21,54,96,.06)}
.report-heading small{font-size:10px;font-weight:850;letter-spacing:.12em;color:var(--blue)}
.report-heading h3{margin:4px 0 12px}
.report-list{display:grid;gap:8px}
.report-entry{border:1px solid var(--line);border-radius:13px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.report-entry>div:first-child{min-width:0}
.report-entry strong{display:block}
.report-entry small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.report-value{text-align:right;white-space:nowrap}
.report-value .text-btn{display:block;margin-left:auto;font-size:11px}
.price-compare{text-align:right;white-space:nowrap}
.variation{display:inline-block;margin-top:4px;font-size:10px;font-weight:800;border-radius:10px;padding:3px 6px}
.variation.up{background:#ffe7e9;color:#b62336}.variation.down{background:#e1f6ec;color:#087748}.variation.same{background:#edf1f6;color:#596579}
.report-empty{text-align:center;color:var(--muted);padding:32px 15px;font-size:13px}
.report-items{display:grid;gap:7px;max-height:45vh;overflow-y:auto}
.report-items>div{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:9px 0}
.report-items span strong,.report-items span small{display:block}.report-items span small{color:var(--muted);font-size:11px;margin-top:3px}
.report-total{display:flex;align-items:center;justify-content:space-between;border-top:2px solid var(--blue);margin-top:14px;padding-top:12px;font-size:19px}
@media(max-width:900px){.report-grid{grid-template-columns:1fr}}
@media(max-width:600px){.hero{align-items:flex-start;gap:15px}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions button{white-space:nowrap}.report-summary{grid-template-columns:1fr}.report-summary article{padding:16px}.report-summary strong{font-size:22px}.report-panel{padding:14px}.report-entry{align-items:flex-start}.form-row{grid-template-columns:1fr}.add-btn{font-size:11px;padding:7px 8px}}

/* v1.2.0: administração, catálogo próprio e modo offline */
.offline-badge{background:#fff0ce;color:#8a5600;border:1px solid #f3cf7c;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:850}
.list-card-actions,.catalog-actions{display:flex;align-items:center;gap:8px}
.list-delete{width:28px;height:28px;border:1px solid #f2c7cd;border-radius:9px;background:#fff5f6;color:var(--red);font-size:18px;line-height:1}
.mini-action{border:1px solid #b8cbe4;background:#fff;color:var(--blue);border-radius:10px;padding:8px 10px;font-size:11px;font-weight:800;white-space:nowrap}
.manage-list{display:grid;gap:9px;max-height:min(60vh,620px);overflow-y:auto;padding-right:3px}
.manage-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:13px;padding:13px;background:#fff}
.manage-row>div:first-child{min-width:0}.manage-row>div:last-child{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.manage-row strong,.manage-row small{display:block}.manage-row small{color:var(--muted);font-size:11px;margin-top:4px;overflow-wrap:anywhere}
.manage-row.inactive{background:#f5f6f8;opacity:.78}
.danger-link{border:0;background:transparent;color:var(--red);font-weight:750;padding:5px}
.admin-tabs{display:flex;gap:7px;overflow-x:auto;margin:0 0 14px;padding:2px 1px 6px;scrollbar-width:thin}
.admin-tabs button{border:1px solid var(--line);background:#fff;color:#596579;border-radius:12px;padding:10px 15px;font-weight:750;white-space:nowrap}
.admin-tabs button.active{border-color:var(--blue);background:var(--blue);color:#fff}
.admin-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 6px 22px rgba(21,54,96,.06)}
.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}
.admin-heading small{font-size:10px;font-weight:850;letter-spacing:.12em;color:var(--blue)}.admin-heading h3{margin:4px 0 0}.admin-heading>span{color:var(--muted);font-size:12px;white-space:nowrap}
.admin-badge{display:inline-block;background:#e3efff;color:var(--blue2);border-radius:7px;padding:2px 5px;font-size:9px;vertical-align:2px}
.switch-label{display:flex!important;align-items:center;gap:9px;background:#f5f7fb;border:1px solid var(--line);border-radius:10px;padding:11px}
.switch-label input{width:auto!important;margin:0!important;accent-color:var(--blue)}
.temporary-password{display:flex;align-items:center;gap:10px;background:var(--pale);border-radius:13px;padding:12px}
.temporary-password code{flex:1;font-size:16px;font-weight:800;overflow-wrap:anywhere}
@media(max-width:600px){.top-actions{gap:6px}.top-actions .icon-btn,.top-actions .avatar{width:38px;height:38px}.offline-badge{padding:5px 7px;font-size:10px}.catalog-actions{gap:5px}.mini-action{padding:7px 8px}.manage-row{align-items:flex-start;flex-direction:column}.manage-row>div:last-child{width:100%;justify-content:flex-start}.admin-panel{padding:13px}.admin-heading{align-items:flex-start}.temporary-password{align-items:stretch;flex-direction:column}}

/* v1.3.0: orçamento, modelos recorrentes, código de barras, push e backups */
.list-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.budget-status{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid #ffffff38;font-size:12px}
.budget-status strong{font-size:13px}.budget-status.over{color:#fff4bd}.compact-button{padding:8px 12px;font-size:12px;box-shadow:none}
.admin-note{background:var(--pale);border-radius:11px;padding:11px 13px;color:var(--muted);font-size:12px}
.download-link{text-decoration:none;display:inline-block}.barcode-video{display:block;width:100%;max-height:48vh;object-fit:cover;background:#111;border-radius:14px;margin:12px 0}
.notification-state{display:grid;gap:4px;background:#f5f7fb;border:1px solid var(--line);border-radius:13px;padding:14px;margin:15px 0}
.notification-state.enabled{background:#eaf8f1;border-color:#bce3d1}.notification-state small{color:var(--muted);font-size:11px}
@media(max-width:900px){.list-head{align-items:flex-start;flex-wrap:wrap}.list-head-actions{width:100%;justify-content:flex-start;margin-left:58px}}
@media(max-width:600px){.hero-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.hero-actions .install-dashboard,.hero-actions .primary{grid-column:1/-1}.list-head-actions{grid-column:1/-1;margin-left:0;display:grid;grid-template-columns:1fr 1fr}.list-head-actions button:last-child{grid-column:1/-1}.catalog-actions{flex-wrap:wrap;justify-content:flex-end}.catalog-actions .mini-action{font-size:10px}.budget-status{align-items:flex-start;flex-direction:column;gap:3px}.barcode-video{max-height:38vh}}

/* v1.3.1: senhas visíveis, guias móveis e pesos em kg */
.password-wrap{display:block;position:relative;width:100%}
.password-wrap input{padding-right:48px!important}
.password-toggle{position:absolute;right:6px;top:8px;width:36px;height:34px;border:0;border-radius:9px;background:transparent;display:grid;place-items:center;font-size:17px;line-height:1;box-shadow:none}
.password-toggle:hover{background:var(--pale)}
.shopping-tabs{display:none}
.weight-hint{grid-column:1/-1;margin:-4px 0 0;padding:8px 10px;border-radius:9px;background:var(--pale);color:var(--muted);font-size:11px}
.subtotal-preview{display:flex;align-items:center;justify-content:space-between;margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;font-size:12px}.subtotal-preview span{color:var(--muted)}.subtotal-preview strong{font-size:15px;color:var(--blue2)}
@media(max-width:900px){.shopping-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#e8eef7;border:1px solid var(--line);border-radius:14px;padding:5px;margin:-8px 0 14px;position:sticky;top:70px;z-index:12}.shopping-tabs button{border:0;border-radius:10px;background:transparent;color:#657287;padding:11px 8px;font-size:12px;font-weight:800}.shopping-tabs button.active{background:#fff;color:var(--blue);box-shadow:0 3px 10px #1e406518}.shopping-layout{display:block}.shopping-layout .mobile-tab-hidden{display:none}.catalog-panel,.cart-panel{width:100%}}
@media(max-width:600px){.shopping-tabs{top:64px}.shopping-tabs button{font-size:11px;padding:10px 5px}}

/* v1.4.0: identidade Larume */
:root{--blue:#1769e0;--blue2:#123a70;--pale:#eef5ff;--ink:#10223c;--muted:#5b667a;--line:#dce5f0;--gold:#d9a441;--shadow:0 16px 42px rgba(18,58,112,.13)}
html{background:#f7f9fc}
body{background:linear-gradient(180deg,#eef5ff 0,#f7f9fc 280px)}
.auth-shell{background:radial-gradient(circle at 20% 15%,#dceaff,transparent 30%),radial-gradient(circle at 85% 80%,#f7e9c7,transparent 30%),#f7f9fc}
.logo,.mini-logo{display:block;object-fit:contain;background:#123a70;color:transparent;padding:0;overflow:hidden}
.logo{box-shadow:0 12px 28px rgba(18,58,112,.25)}
.brand{color:var(--blue2);letter-spacing:.01em}
.primary{box-shadow:0 7px 18px rgba(23,105,224,.22)}
.progress-card,.report-summary article{box-shadow:0 10px 26px rgba(18,58,112,.2)}
.price:focus{outline-color:rgba(23,105,224,.22)}

/* v1.6.0: busca flexível e comandos de voz */
.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}
.search-row .search{min-width:0}
.voice-btn{border:1px solid #b8cbe4;background:#fff;color:var(--blue2);border-radius:12px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;font-size:12px;font-weight:800;min-height:42px;transition:.2s}
.voice-btn:hover{border-color:var(--blue);color:var(--blue)}
.voice-btn.listening{background:#fff0f2;border-color:#dc3545;color:#bd2130;box-shadow:0 0 0 4px rgba(220,53,69,.12);animation:voice-pulse 1.2s ease-in-out infinite}
.voice-btn.unsupported{opacity:.72}
.voice-hint{margin:6px 2px 0;color:var(--muted);font-size:10px;line-height:1.35}
.cart-title-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.compact-voice{min-height:34px;padding:6px 10px;font-size:11px}
.cart-voice-hint{text-align:right;margin:0 0 9px}
.products{transition:opacity .15s}
.products.loading{opacity:.48}
.voice-result{display:grid;gap:4px;background:#eef5ff;border:1px solid #cbdcf3;border-radius:12px;padding:12px;color:var(--muted);font-size:12px}
.voice-result span{color:var(--blue);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.voice-result strong{color:var(--ink);font-size:14px}
.voice-result small{color:var(--muted)}
.voice-choices{display:grid;gap:8px;max-height:45vh;overflow-y:auto}
.voice-choices button{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ink)}
.voice-choices button:hover{border-color:var(--blue);background:var(--pale)}
.voice-choices button span{min-width:0}.voice-choices button strong{margin-left:5px}.voice-choices button small{color:var(--muted);white-space:nowrap}
@keyframes voice-pulse{50%{box-shadow:0 0 0 7px rgba(220,53,69,.06)}}
@media(max-width:600px){.voice-btn{padding:0 10px}.cart-title-actions{flex-direction:column;align-items:flex-end;gap:5px}.compact-voice{min-height:32px;padding:5px 8px;font-size:10px}.cart-voice-hint{text-align:left}.voice-choices button{align-items:flex-start;flex-direction:column;gap:4px}.voice-choices button small{white-space:normal}}

/* v2.0.3: instalação guiada do PWA */
.install-app{width:100%;margin-top:18px;border:1px solid #bfd2ea;background:linear-gradient(135deg,#f7fbff,#edf5ff);border-radius:15px;padding:10px 12px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;color:var(--blue2);transition:.18s}.install-app:hover{border-color:#8db5e5;transform:translateY(-1px);box-shadow:0 7px 18px #174d8d12}.install-app-icon{width:40px;height:40px;border-radius:12px;background:var(--blue);color:#fff;display:grid;place-items:center}.install-app-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.install-app-copy{min-width:0}.install-app-copy strong,.install-app-copy small{display:block}.install-app-copy strong{font-size:12px}.install-app-copy small{color:var(--muted);font-size:10px;margin-top:3px}.install-app-arrow{font-size:24px;color:#6d87a6}.install-dashboard{display:inline-flex;align-items:center;justify-content:center;gap:5px}.install-dashboard span{font-size:17px;line-height:1}.install-help{display:grid;gap:9px;margin:16px 0}.install-help article{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:9px;background:#f5f8fc;border:1px solid var(--line);border-radius:12px;padding:10px;text-align:left}.install-help article>b{width:28px;height:28px;border-radius:9px;background:var(--blue);color:#fff;display:grid;place-items:center}.install-help article strong,.install-help article small{display:block}.install-help article small{color:var(--muted);font-size:10px;margin-top:3px;line-height:1.45}

/* v2.0.0: módulo Larume Financeiro */
.module-nav{display:flex;align-items:center;gap:5px;background:#f0f3f7;border:1px solid var(--line);border-radius:13px;padding:4px}
.module-nav button{border:0;background:transparent;color:#647083;border-radius:9px;padding:7px 12px;font-size:12px;font-weight:800;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px}
.module-nav button.active{background:#fff;color:var(--blue2);box-shadow:0 3px 10px #213e6415}
.finance-mode .module-nav button.active{background:#111827;color:#fff}
.module-symbol{width:19px;height:19px;display:inline-grid;place-items:center;flex:0 0 19px}.shopping-symbol{font-size:15px;line-height:1}.finance-symbol svg{width:21px;height:21px;overflow:visible}.finance-symbol .home-line,.finance-symbol .money-mark{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.finance-symbol .money-coin{fill:#f2bc4b;stroke:currentColor;stroke-width:1.35}.finance-symbol .money-mark{stroke-width:1.15}
.finance-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:12px 0 22px}
.finance-head h2{font-size:32px;margin:5px 0}.finance-head p{color:var(--muted);margin:0}
.finance-eyebrow,.finance-section-title small,.finance-report-toolbar small,.finance-breakdowns small{font-size:10px;font-weight:900;letter-spacing:.13em;color:#111827}
.finance-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.finance-head-actions select{height:40px;border:1px solid #c8d0dc;background:#fff;border-radius:11px;padding:0 11px;color:#111827;font-weight:750;max-width:190px}
.finance-primary{border:0;border-radius:12px;background:#111827;color:#fff;padding:12px 16px;font-weight:800;box-shadow:0 7px 18px #1118272c}
.finance-primary:hover{background:#000}.finance-primary:disabled{background:#a7adb7;box-shadow:none;cursor:not-allowed}
.finance-outline{border:1px solid #aeb7c4;background:#fff;color:#111827;border-radius:12px;padding:11px 14px;font-weight:800}
.finance-tools{display:flex;align-items:center;gap:2px;background:#f1f3f6;border:1px solid #dce1e8;border-radius:12px;padding:3px}.finance-tool{height:32px;border:0;background:transparent;color:#4d596a;border-radius:9px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:10px;font-weight:800;white-space:nowrap}.finance-tool:hover{background:#fff;color:#111827;box-shadow:0 2px 8px #182c4512}.finance-tool svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.finance-new-action{min-height:40px;padding:9px 13px;display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:11px}
.finance-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:#e8ebf0;border:1px solid #d5dbe4;border-radius:15px;padding:5px;margin-bottom:16px}
.finance-tabs button{border:0;border-radius:11px;background:transparent;color:#657083;padding:12px;font-weight:850}
.finance-tabs button.active{background:#111827;color:#fff;box-shadow:0 5px 14px #11182730}
.finance-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.finance-summary article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px;box-shadow:0 5px 18px #1b344e0b}
.finance-summary article span{display:block;color:var(--muted);font-size:11px;font-weight:800;margin-bottom:7px}.finance-summary article strong{font-size:22px}
.finance-summary .income{border-top:4px solid #14875c}.finance-summary .expense{border-top:4px solid #c73548}.finance-summary .investment{border-top:4px solid #c28a20}.finance-summary .balance-positive{background:#effaf5;border-color:#bfe5d2;border-top:4px solid #14875c}.finance-summary .balance-negative{background:#fff2f3;border-color:#f0c7cd;border-top:4px solid #c73548}
.finance-report-panel,.finance-list-panel,.finance-side section{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 6px 22px #1536600f}
.finance-report-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.finance-report-toolbar h3{margin:4px 0 0}
.finance-periods{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.finance-periods button{border:1px solid #d0d6df;background:#fff;color:#657083;border-radius:10px;padding:8px 10px;font-size:11px;font-weight:800}.finance-periods button.active{background:#111827;border-color:#111827;color:#fff}.finance-periods input{border:1px solid #d0d6df;border-radius:10px;padding:7px;color:#111827}
.finance-comparison{display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:15px;padding:15px 17px;margin:16px 0}.finance-comparison>div{display:grid;gap:4px}.finance-comparison>div:last-child{text-align:right}.finance-comparison span{font-size:10px;font-weight:900;letter-spacing:.08em}.finance-comparison strong{font-size:16px}.finance-comparison small{color:var(--muted);font-size:11px}.finance-comparison b{font-size:18px}.finance-comparison.green{background:#ecf9f3;border:1px solid #b9e4cf;color:#096944}.finance-comparison.red{background:#fff0f2;border:1px solid #efc1c8;color:#ae2439}
.finance-chart{border:1px solid #e3e7ed;border-radius:14px;padding:12px;overflow-x:auto}.finance-chart svg{display:block;width:100%;min-width:650px;height:auto}.finance-chart-legend{display:flex;justify-content:flex-end;gap:14px;color:var(--muted);font-size:10px;font-weight:800}.finance-chart-legend .income{color:#14875c}.finance-chart-legend .expense{color:#c73548}.finance-chart-legend .investment{color:#c28a20}.finance-grid line{stroke:#e9edf2;stroke-width:1}.finance-grid text,.finance-chart-group text{fill:#758092;font-size:9px}.finance-chart-date{font-weight:750}.finance-chart-value{font-size:8px!important;font-weight:900;fill:#3d4859!important;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;pointer-events:none}.finance-chart-group rect{transition:.18s;cursor:pointer}.finance-chart-group:hover rect,.finance-chart-group:focus rect{filter:brightness(.9);transform:translateY(-2px)}.finance-chart-empty{display:grid;place-items:center;min-height:170px;color:var(--muted);font-size:12px;text-align:center}
.finance-breakdowns{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;margin-top:20px}.finance-breakdowns h3{margin:4px 0 12px}
.finance-bars{display:grid;gap:7px}.finance-bars button{position:relative;overflow:hidden;border:1px solid #e1e6ed;background:#fff;border-radius:11px;padding:10px 11px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.finance-bars button>span,.finance-bars button>strong{position:relative;z-index:2}.finance-bars button i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px}.finance-bars button small{display:block;color:var(--muted);font-size:9px;margin:3px 0 0 14px}.finance-bars button>b{position:absolute;left:0;bottom:0;height:3px;opacity:.85}
.finance-people{display:grid;gap:8px}.finance-people article{border:1px solid #e1e6ed;border-radius:11px;padding:11px}.finance-people article>strong{display:block;margin-bottom:9px}.finance-person-groups{display:grid;gap:7px}.finance-person-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.finance-person-group>small{flex:0 0 58px;color:#7a8493;font-size:8px;font-weight:900;letter-spacing:.08em}.finance-people span{font-size:9px;font-weight:800;padding:4px 6px;border-radius:7px}.finance-people .income{background:#e7f7f0;color:#08734b}.finance-people .benefit-income{background:#e9f1fc;color:#365e87}.finance-people .expense{background:#ffeaed;color:#ac293d}.finance-people .benefit-expense{background:#f0eafd;color:#5d3b92}.finance-people .investment{background:#fff3d8;color:#8b620a}
.finance-content-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr);gap:18px;margin-top:18px;align-items:start}.finance-side{display:grid;gap:18px}.finance-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.finance-section-title h3{margin:4px 0 0}
.finance-entries{display:grid;gap:8px}.finance-entry{display:grid;grid-template-columns:5px minmax(0,1fr) auto auto;align-items:center;gap:12px;border:1px solid #e0e5ec;border-radius:13px;padding:11px}.finance-entry .kind-marker{align-self:stretch;border-radius:5px}.finance-entry>div:nth-child(2){min-width:0}.finance-entry>div:nth-child(2)>strong,.finance-entry>div:nth-child(2)>small{display:block}.finance-entry>div:nth-child(2)>small{color:var(--muted);font-size:10px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-entry-value{text-align:right}.finance-entry-value strong,.finance-entry-value small{display:block}.finance-entry-value small{color:var(--muted);font-size:9px;margin-top:3px}.finance-entry-actions{display:flex;gap:4px}.finance-icon{width:33px;height:33px;border:1px solid #d7dde6;border-radius:9px;background:#fff;color:#111827;font-weight:900}.finance-icon.danger{color:#bd2e43}.finance-status{display:inline-block!important;width:max-content;margin-top:6px;padding:3px 6px;border-radius:7px;font-size:9px!important;font-weight:850}.finance-status.settled{background:#e6f7ef;color:#08734b}.finance-status.overdue{background:#ffe7ea;color:#ad293d}.finance-status.planned{background:#edf0f4;color:#5f6a79}
.finance-reminders{display:grid;gap:7px}.finance-reminder{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid #e1e6ed;border-radius:11px;padding:9px}.finance-reminder>span{width:27px;height:27px;border-radius:8px;background:#eff1f5;display:grid;place-items:center;font-weight:900}.finance-reminder strong,.finance-reminder small{display:block}.finance-reminder small{font-size:9px;color:var(--muted);margin-top:3px}.finance-reminder>b{font-size:11px}.finance-reminder.overdue{border-color:#efc3ca;background:#fff5f6}.finance-reminder.overdue>span{background:#ffe2e6;color:#ac293d}.finance-reminder.paused{opacity:.62}
.finance-empty{text-align:center;color:var(--muted);padding:26px 12px;font-size:12px}.finance-empty>span{display:block;font-size:27px;margin-bottom:7px}.finance-empty .finance-primary{margin-top:5px}
.finance-form{grid-template-columns:1fr 1fr}.finance-form .wide{grid-column:1/-1}.finance-form textarea{width:100%;min-height:80px;resize:vertical;padding:11px;border:1px solid var(--line);border-radius:10px;margin-top:4px;font:inherit}.document-detected{display:grid;gap:4px;background:#eff7f3;border:1px solid #c6e4d5;border-radius:12px;padding:11px;margin-bottom:13px}.document-detected span{font-size:10px;font-weight:900;letter-spacing:.06em}.document-detected strong{color:#08734b}.document-detected small{color:var(--muted)}
.document-upload{position:relative;margin:14px 0}.document-upload input{position:absolute;opacity:0;pointer-events:none}.document-upload label{border:2px dashed #aeb7c4;border-radius:15px;padding:24px;text-align:center;display:grid;gap:5px;cursor:pointer}.document-upload label span{font-size:28px}.document-upload label small{color:var(--muted)}.document-upload img{display:block;max-width:100%;max-height:38vh;object-fit:contain;border-radius:12px;margin:12px auto 0}.finance-read-status{color:var(--muted);font-size:11px;margin-top:10px}.ocr-text{margin-top:12px;color:var(--muted);font-size:11px}.ocr-text pre{white-space:pre-wrap;max-height:180px;overflow:auto;background:#f4f6f8;border-radius:10px;padding:10px}
/* v2.0.1: administração financeira e lançamentos em primeiro plano */
.finance-content-primary{margin-top:0;margin-bottom:18px}.finance-admin-tabs,.finance-category-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;background:#e8ebf0;border:1px solid #d5dbe4;border-radius:12px;padding:4px;margin:14px 0}.finance-admin-tabs button,.finance-category-tabs button{border:0;background:transparent;border-radius:9px;padding:9px;color:#657083;font-weight:850}.finance-admin-tabs button.active,.finance-category-tabs button.active{background:#111827;color:#fff}.finance-admin-content{min-height:180px}.finance-admin-loading,.finance-admin-muted{color:var(--muted);font-size:11px}.finance-admin-note{background:#f1f3f6;border:1px solid #dce1e8;border-radius:12px;padding:12px;margin-bottom:13px}.finance-admin-note strong,.finance-admin-note p{display:block;margin:0}.finance-admin-note p{color:var(--muted);font-size:11px;margin-top:4px}.finance-admin-members{display:grid;gap:7px;margin-top:14px}.finance-admin-members>small{font-size:9px;font-weight:900;letter-spacing:.12em}.finance-admin-members>span{display:flex;justify-content:space-between;border:1px solid #e1e6ed;border-radius:10px;padding:9px 11px;font-size:11px}.finance-admin-members b{color:var(--muted);font-size:9px}.finance-category-form{display:grid;grid-template-columns:150px minmax(0,1fr) auto auto;gap:7px;margin-bottom:12px}.finance-category-form select,.finance-category-form input{border:1px solid #cfd6df;border-radius:10px;padding:10px;min-width:0}.finance-category-admin-list,.finance-audit-list{display:grid;gap:7px;max-height:52vh;overflow:auto}.finance-category-admin-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e0e5ec;border-radius:11px;padding:9px 10px}.finance-category-admin-list article.inactive{opacity:.6;background:#f5f6f8}.finance-category-admin-list strong,.finance-category-admin-list small{display:block}.finance-category-admin-list small{font-size:9px;color:var(--muted);margin-top:3px}.finance-category-admin-list article>div:last-child{display:flex;gap:5px}.finance-category-admin-list .finance-icon{width:auto;padding:0 9px}.finance-audit-list>article{border:1px solid #e0e5ec;border-radius:11px;padding:10px}.finance-audit-list>article.reversed{opacity:.65}.finance-audit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.finance-audit-head strong,.finance-audit-head small{display:block}.finance-audit-head small{font-size:9px;color:var(--muted);margin-top:4px}.finance-audit-state{font-size:8px;color:var(--muted);font-weight:850;text-align:right}.finance-audit-list details{margin-top:8px}.finance-audit-list summary{cursor:pointer;color:#596577;font-size:10px;font-weight:800}.finance-audit-changes{display:grid;gap:5px;margin-top:8px}.finance-audit-changes>div{display:grid;grid-template-columns:100px minmax(0,1fr) 18px minmax(0,1fr);gap:5px;align-items:center;background:#f5f6f8;border-radius:8px;padding:6px;font-size:9px}.finance-audit-changes b{text-align:center;color:var(--muted)}
#financeView.is-loading{opacity:.7;pointer-events:none}
.finance-card-tool{color:#315b84;background:#eaf2fb}.finance-card-tool:hover{color:#173e67;background:#fff}
.finance-card-invoice-row{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid #dbe4ee;border-radius:11px;padding:9px;background:#fff;text-align:left;color:inherit;cursor:pointer}.finance-card-invoice-row:hover{border-color:#9db9d8;background:#f8fbff}.finance-card-invoice-row>span{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;background:#eaf2fb;color:#315b84;font-weight:900}.finance-card-invoice-row strong,.finance-card-invoice-row small{display:block}.finance-card-invoice-row strong{font-size:11px}.finance-card-invoice-row small{margin-top:3px;color:var(--muted);font-size:9px}.finance-card-invoice-row>b{font-size:11px;white-space:nowrap}.finance-card-invoice-row.settled{border-color:#c9e5d7;background:#f6fcf9}.finance-card-invoice-row.settled>span{background:#e2f5eb;color:#08734b}.finance-card-invoice-row.projected{border-color:#c9d9ef;background:#f6f9ff}.finance-card-invoice-row.projected>span{background:#e8f0fc;color:#315b84}
.finance-card-invoice-filter{display:flex;align-items:center;gap:6px;margin-top:7px;color:var(--muted);font-size:9px;font-weight:800}.finance-card-invoice-filter select{max-width:180px;padding:6px 8px;border:1px solid #cfd6df;border-radius:8px;background:#fff;color:#334155;font:inherit;font-size:9px}.card-invoice-recurring{display:flex!important;align-items:center;gap:4px;line-height:1.25}.card-invoice-recurring input{width:auto!important;margin:0!important;accent-color:#315b84}
.card-invoice-modal{max-width:100%}.card-invoice-modal>h2{margin-bottom:14px}.card-invoice-form{max-height:68vh;overflow:auto;padding:2px 3px 2px 0}.card-invoice-warning{margin:10px 0;padding:10px;border:1px solid #ecd49b;border-radius:11px;background:#fff7e2;color:#76560d;font-size:10px;line-height:1.45}.card-invoice-items-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;grid-column:1/-1;margin-top:4px;padding-top:13px;border-top:1px solid #e5e9ee}.card-invoice-items-heading small,.card-invoice-items-heading strong{display:block}.card-invoice-items-heading small{color:#718096;font-size:8px;font-weight:900;letter-spacing:.08em}.card-invoice-items-heading strong{margin-top:4px;font-size:11px}.card-invoice-items{display:grid;gap:7px;grid-column:1/-1}.card-invoice-item{display:grid;grid-template-columns:96px minmax(130px,1fr) 92px 118px 33px;align-items:end;gap:6px;padding:9px;border:1px solid #e0e5ec;border-radius:11px;background:#fafbfd}.card-invoice-item label{min-width:0;color:#566276;font-size:9px;font-weight:800}.card-invoice-item input{width:100%;box-sizing:border-box;margin-top:4px;padding:8px 7px;border:1px solid #cfd6df;border-radius:8px;background:#fff;font:inherit;font-size:11px}.card-invoice-item .card-invoice-description{min-width:0}.card-invoice-item>[data-card-item-remove]{width:33px;height:33px}.card-invoice-installments{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:4px}.card-invoice-installments i{font-style:normal;color:var(--muted)}.card-invoice-detail-head{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:12px 0}.card-invoice-detail-head>div{padding:10px;border:1px solid #dfe5ed;border-radius:11px;background:#f8fafc}.card-invoice-detail-head small,.card-invoice-detail-head strong{display:block}.card-invoice-detail-head small{color:#738096;font-size:8px;font-weight:900;letter-spacing:.07em}.card-invoice-detail-head strong{margin-top:4px;font-size:13px}.card-invoice-tracking{display:grid;gap:4px;padding:11px;border:1px solid #d7e5f3;border-radius:11px;background:#f1f7fd;color:#315b84;font-size:10px}.card-invoice-tracking span,.card-invoice-tracking b{color:#5d7087;font-size:9px}.card-invoice-detail-list{display:grid;gap:6px;max-height:48vh;overflow:auto;margin:12px 0}.card-invoice-detail-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px;border-bottom:1px solid #e8ecf1}.card-invoice-detail-list strong,.card-invoice-detail-list small{display:block}.card-invoice-detail-list strong{font-size:11px}.card-invoice-detail-list small{margin-top:3px;color:var(--muted);font-size:9px}.card-invoice-detail-list>b{white-space:nowrap;font-size:11px}.card-invoice-detail-list .credit{color:#08734b}.card-invoice-detail-actions{display:grid;gap:7px}
@media(max-width:1000px){.finance-summary{grid-template-columns:repeat(2,1fr)}.finance-content-grid{grid-template-columns:1fr}.finance-side{grid-template-columns:1fr 1fr}.finance-head{align-items:flex-start;flex-direction:column}.finance-head-actions{justify-content:flex-start}}
@media(max-width:760px){.module-nav button{width:44px;height:36px;padding:0}.module-nav .module-label{display:none}.module-nav .module-symbol{width:21px;height:21px;flex-basis:21px}.shopping-symbol{font-size:16px}.finance-symbol svg{width:23px;height:23px}.finance-tabs button{font-size:11px;padding:10px 4px}.finance-summary{grid-template-columns:1fr 1fr}.finance-summary article{padding:13px}.finance-summary article strong{font-size:17px}.finance-report-toolbar,.finance-comparison{align-items:flex-start;flex-direction:column}.finance-comparison>div:last-child{text-align:left}.finance-periods{justify-content:flex-start}.finance-breakdowns{grid-template-columns:1fr}.finance-entry{grid-template-columns:5px minmax(0,1fr) auto}.finance-entry-value{grid-column:3}.finance-entry-actions{grid-column:2/-1;justify-content:flex-end}.finance-side{grid-template-columns:1fr}.finance-form{grid-template-columns:1fr}.finance-form .wide{grid-column:auto}}
@media(max-width:520px){.topbar{gap:7px}.module-nav{margin-left:auto}.top-actions{gap:4px}.finance-head-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;gap:8px}.finance-head-actions select{grid-column:1/-1;max-width:none;width:100%}.finance-tools{grid-column:1;justify-self:start}.finance-tool{width:34px;padding:0}.finance-tool span{display:none}.finance-new-action{grid-column:2;min-height:40px;padding:9px 12px}.finance-tabs{position:sticky;top:64px;z-index:13}.finance-summary{gap:8px}.finance-summary article span{font-size:9px}.finance-report-panel,.finance-list-panel,.finance-side section{padding:13px}.finance-periods input{width:100%}.finance-chart{margin:0 -4px}.finance-entry{gap:8px}.finance-entry>div:nth-child(2)>small{white-space:normal}.finance-section-title{align-items:flex-start}.finance-section-title .finance-primary{font-size:10px;padding:9px}.finance-chart-legend{justify-content:flex-start;flex-wrap:wrap}.document-upload label{padding:18px}.finance-category-form{grid-template-columns:1fr 1fr}.finance-category-form input{grid-column:1/-1}.finance-audit-head{flex-direction:column}.finance-audit-changes>div{grid-template-columns:1fr}.finance-audit-changes b{text-align:left}}
@media(max-width:760px){.card-invoice-item{grid-template-columns:1fr 1fr;align-items:end}.card-invoice-item .card-invoice-description{grid-column:1/-1}.card-invoice-item>[data-card-item-remove]{justify-self:end}.card-invoice-form{max-height:70vh}}
@media(max-width:520px){.card-invoice-detail-head{grid-template-columns:1fr 1fr}.card-invoice-item{grid-template-columns:1fr 1fr}.card-invoice-item label:first-child{grid-column:1/-1}.card-invoice-item>[data-card-item-remove]{grid-column:2}.card-invoice-items-heading{align-items:flex-start}.card-invoice-items-heading .finance-outline{padding:9px 10px;font-size:10px}}

/* v3.23.1: limites por categoria e busca de categorias */
.finance-limits-panel{margin:0 0 18px;padding:16px;border:1px solid #dce4ed;border-radius:15px;background:#fff}.finance-limits-panel .finance-section-title p{margin:4px 0 0;color:var(--muted);font-size:10px}.finance-limits{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:10px;margin-top:13px}.finance-limit-card{padding:13px;border:1px solid #d8e7df;border-radius:13px;background:#f7fcf9}.finance-limit-card.exceeded{border-color:#efb9c1;background:#fff2f3;box-shadow:0 5px 15px #b4233812}.finance-limit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.finance-limit-head small{display:block;color:#08734b;font-size:8px;font-weight:900;letter-spacing:.09em}.finance-limit-card.exceeded .finance-limit-head small{color:#b42338}.finance-limit-head h4{margin:4px 0 2px;font-size:14px}.finance-limit-head span{color:var(--muted);font-size:9px}.finance-limit-values{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}.finance-limit-values div{min-width:0}.finance-limit-values small,.finance-limit-values strong{display:block}.finance-limit-values small{color:var(--muted);font-size:8px}.finance-limit-values strong{margin-top:3px;font-size:13px}.finance-limit-card.exceeded .finance-limit-values div:last-child strong{color:#b42338}.finance-limit-progress{height:7px;margin-top:12px;overflow:hidden;border-radius:99px;background:#dcebe2}.finance-limit-progress b{display:block;height:100%;border-radius:inherit;background:#16845b}.finance-limit-card.exceeded .finance-limit-progress{background:#f1cfd3}.finance-limit-card.exceeded .finance-limit-progress b{background:#c73548}.finance-limit-guidance{margin:11px 0 4px;color:#334155;font-size:10px;line-height:1.4}.finance-limit-history{color:var(--muted);font-size:9px}.finance-limit-group-card{border-color:#cbdced;background:#f7faff}.finance-limit-group-items{display:grid;gap:5px;margin-top:12px;padding-top:10px;border-top:1px solid #dfe7f0}.finance-limit-group-items>small{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.08em}.finance-limit-group-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid #e7edf4;font-size:10px}.finance-limit-group-item:last-child{border-bottom:0}.finance-limit-group-item b{font-size:10px;white-space:nowrap}.finance-limit-group-item i{color:var(--muted);font-style:normal}.finance-limit-group-item.exceeded{color:#b42338}.finance-limit-form-block{grid-column:1/-1;width:100%;min-width:0;margin:0;padding:0;border:0}.finance-limit-group-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.finance-limit-group-heading strong{font-size:11px}.finance-limit-group-rows{display:grid;gap:8px}.finance-limit-group-row{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(105px,1fr) 34px;gap:7px;align-items:end;padding:9px;border:1px solid #e0e6ee;border-radius:11px;background:#f8fafc}.finance-limit-group-row label{font-size:10px}.finance-limit-group-row .finance-icon{margin-bottom:1px}.finance-limit-form-help{display:block;margin-top:7px;color:var(--muted);font-size:9px;line-height:1.4}.finance-category-search{width:100%;box-sizing:border-box;margin:0 0 10px;padding:10px 11px;border:1px solid #cfd6df;border-radius:10px;background:#fff;color:inherit;font:inherit;font-size:11px}.finance-category-search:focus{outline:2px solid #c9ddf4;border-color:#7ca8d4}
.finance-limit-actions{display:flex;align-items:center;gap:5px}.finance-limit-actions .finance-icon{width:30px;height:30px;padding:0}.finance-limit-form-block{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:600px){.finance-limits-panel{padding:13px}.finance-limits-panel .finance-section-title{align-items:flex-start}.finance-limits-panel .finance-section-title .finance-primary{white-space:nowrap}.finance-limits{grid-template-columns:1fr}.finance-limit-values strong{font-size:12px}}
@media(max-width:480px){.finance-limit-group-row{grid-template-columns:minmax(0,1fr) 34px}.finance-limit-group-row label:nth-child(2){grid-column:1}.finance-limit-group-row .finance-icon{grid-column:2;grid-row:1 / span 2;align-self:center}}

/* v2.1.0: ferramentas compactas, alertas financeiros e voz */
.list-head-actions.list-tools{width:auto;margin-left:auto;display:flex;align-items:center;gap:2px;background:#f1f3f6;border:1px solid #dce1e8;border-radius:12px;padding:3px}.list-tool{height:32px;border:0;background:transparent;color:#4d596a;border-radius:9px;padding:0 9px;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:10px;font-weight:800;white-space:nowrap}.list-tool:hover{background:#fff;color:var(--blue2);box-shadow:0 2px 8px #182c4512}.list-tool svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.finance-voice-tool{color:#72520c;background:#f9edcf}.finance-voice-tool:hover{color:#5d4106;background:#fff5dc}.finance-voice-tool.listening{color:#fff;background:#b42338;animation:voice-pulse 1s infinite}.finance-voice-tool.unsupported{opacity:.55}.voice-detected{display:grid;gap:4px;background:#fff7e3;border:1px solid #ead4a0;border-radius:12px;padding:11px;margin-bottom:13px}.voice-detected span{font-size:10px;font-weight:900;letter-spacing:.06em;color:#72520c}.voice-detected strong{color:#513a08}.voice-detected small{color:var(--muted)}.event-source{display:inline-flex;align-items:center;width:max-content;margin-bottom:5px;padding:3px 6px;border-radius:7px;background:#edf0f4;color:#5f6a79;font-size:8px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.event.finance{border-left:3px solid #d9a441;padding-left:10px}.event.finance .event-source{background:#fff2cf;color:#7c5809}
@media(max-width:900px){.list-head-actions.list-tools{width:auto;margin-left:58px;justify-content:flex-start}}
@media(max-width:600px){.list-head-actions.list-tools{grid-column:1/-1;width:max-content;max-width:100%;margin-left:0}.list-tool{width:38px;height:34px;padding:0}.list-tool span{display:none}.list-tool svg{width:17px;height:17px}}

/* v2.2.0: Central da Família */
.home-welcome{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,.6fr);align-items:center;gap:30px;min-height:330px;margin:8px 0 20px;padding:42px 48px;border-radius:28px;background:linear-gradient(125deg,#0d315f 0%,#155ab7 64%,#287ce9 100%);color:#fff;box-shadow:0 22px 55px rgba(18,58,112,.24)}
.home-welcome:before,.home-welcome:after{content:"";position:absolute;border-radius:50%;background:#ffffff0d}.home-welcome:before{width:310px;height:310px;right:-100px;top:-130px}.home-welcome:after{width:220px;height:220px;left:43%;bottom:-175px}
.home-welcome-copy,.family-hub-icon{position:relative;z-index:1}.home-eyebrow{font-size:10px;font-weight:900;letter-spacing:.18em;color:#bcd9ff}.home-welcome h2{font-size:42px;line-height:1.05;margin:10px 0 12px}.home-welcome p{max-width:670px;margin:0;color:#e4efff;line-height:1.65}.home-welcome-actions{display:flex;align-items:center;gap:9px;margin-top:24px}.home-primary,.home-secondary{min-height:43px;border-radius:12px;padding:0 16px;font-size:12px;font-weight:850}.home-primary{border:0;background:#f2bc4b;color:#182433;box-shadow:0 8px 20px #071b3438}.home-primary:hover{background:#ffd477}.home-primary span{margin-left:7px}.home-secondary{border:1px solid #ffffff55;background:#ffffff12;color:#fff}.home-secondary:hover{background:#ffffff20}
.family-hub-icon{width:min(250px,100%);aspect-ratio:1;justify-self:end;display:grid;place-items:center;border:1px solid #ffffff2c;border-radius:35%;background:linear-gradient(145deg,#ffffff1f,#ffffff08);box-shadow:inset 0 1px #ffffff35,0 24px 45px #061d3e3d;transform:rotate(2deg)}.family-hub-icon svg{width:78%;height:78%;transform:rotate(-2deg)}.hub-roof,.hub-wallet-line,.hub-spark{fill:none;stroke:#fff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.hub-house{fill:#ffffff10;stroke:#fff;stroke-width:4;stroke-linejoin:round}.hub-door{fill:none;stroke:#bcd9ff;stroke-width:4;stroke-linejoin:round}.hub-wallet{fill:#f2bc4b;stroke:#fff;stroke-width:3}.hub-wallet-line{stroke:#172c48;stroke-width:2.5}.hub-coin{fill:#172c48}.hub-spark{stroke:#f2bc4b;stroke-width:4}
.home-modules{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}.home-module-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:22px;padding:23px;box-shadow:0 8px 26px #1536600e}.home-module-card:after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;right:-70px;bottom:-80px;background:#1769e00a}.home-module-card.finance:after{background:#1118270c}.home-module-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.home-module-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center}.home-module-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.home-module-card.shopping .home-module-icon{background:#e9f3ff;color:#1769e0}.home-module-card.finance .home-module-icon{background:#111827;color:#f2bc4b}.home-module-state{padding:5px 8px;border-radius:999px;background:#f2f5f9;color:#687487;font-size:9px;font-weight:850}.home-module-card>small,.home-section-heading small,.home-install-panel small{font-size:9px;font-weight:900;letter-spacing:.14em;color:#66748a}.home-module-card h3{font-size:22px;margin:5px 0 9px}.home-module-card>p{color:var(--muted);font-size:12px;line-height:1.55}.home-module-card ul{display:grid;gap:7px;margin:15px 0 20px;padding:0;list-style:none}.home-module-card li{position:relative;padding-left:19px;color:#435269;font-size:11px}.home-module-card li:before{content:"✓";position:absolute;left:0;top:-1px;font-weight:950;color:#14875c}.home-module-card>button{position:relative;z-index:1;width:100%;border:0;border-radius:12px;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:850}.home-module-card.shopping>button{background:#eaf3ff;color:#145ebf}.home-module-card.finance>button{background:#111827;color:#fff}.home-module-card>button:hover{filter:brightness(.96)}
.home-guide{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 8px 26px #1536600e;margin-bottom:20px}.home-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:18px}.home-section-heading h3{font-size:22px;margin:5px 0 0}.home-section-heading>p{max-width:430px;margin:0;color:var(--muted);font-size:11px;line-height:1.5;text-align:right}.voice-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.voice-guide-grid article{display:flex;align-items:flex-start;gap:11px;border:1px solid #e2e8f0;border-radius:14px;padding:14px;background:#f9fbfd}.guide-number{flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:#123a70;color:#fff;display:grid;place-items:center;font-size:9px;font-weight:900}.voice-guide-grid strong,.voice-guide-grid p{display:block}.voice-guide-grid strong{font-size:11px}.voice-guide-grid p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.voice-guide-note{display:flex;align-items:center;gap:10px;margin-top:12px;border-radius:12px;background:#fff8e7;border:1px solid #ead7a8;padding:11px 13px;color:#665019;font-size:10px;line-height:1.5}.voice-guide-note svg{flex:0 0 21px;width:21px;height:21px;fill:none;stroke:#8b650c;stroke-width:1.7;stroke-linecap:round}
.home-install-panel{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:16px;border-radius:22px;padding:20px 22px;background:linear-gradient(120deg,#f3f6fa,#fff);border:1px solid #dce4ee;box-shadow:0 8px 26px #1536600d}.home-install-visual{width:58px;height:58px;border-radius:17px;background:#123a70;color:#fff;display:grid;place-items:center;box-shadow:0 8px 18px #123a7030}.home-install-visual svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.home-install-panel h3{margin:4px 0 3px;font-size:18px}.home-install-panel p{margin:0;color:var(--muted);font-size:11px}.home-install-button{border:0;border-radius:13px;background:#1769e0;color:#fff;min-height:43px;padding:0 15px;display:flex;align-items:center;gap:12px;font-size:11px;font-weight:850;box-shadow:0 7px 18px #1769e02c}.home-install-button b{font-size:18px}.home-install-button:hover{background:#123a70}
@media(max-width:900px){.home-welcome{grid-template-columns:minmax(0,1fr) 190px;padding:34px}.home-welcome h2{font-size:35px}.home-modules{grid-template-columns:1fr}.voice-guide-grid{grid-template-columns:1fr}.home-section-heading{align-items:flex-start;flex-direction:column;gap:6px}.home-section-heading>p{text-align:left}.family-hub-icon{width:190px}}
@media(max-width:600px){.home-welcome{grid-template-columns:1fr;min-height:0;padding:26px 20px;border-radius:22px}.home-welcome h2{font-size:30px}.home-welcome-actions{display:grid;grid-template-columns:1fr 1fr}.family-hub-icon{display:none}.home-module-card,.home-guide{padding:18px;border-radius:18px}.home-module-card h3,.home-section-heading h3{font-size:19px}.home-install-panel{grid-template-columns:48px minmax(0,1fr);padding:16px}.home-install-visual{width:48px;height:48px;border-radius:14px}.home-install-visual svg{width:27px;height:27px}.home-install-button{grid-column:1/-1;width:100%;justify-content:space-between}.home-install-panel p{line-height:1.45}}

.home-quickstart{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 8px 26px #1536600e;margin-bottom:20px}.quickstart-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quickstart-grid article{display:flex;align-items:flex-start;gap:11px;border:1px solid #e2e8f0;border-radius:14px;padding:14px}.quickstart-grid article>b{flex:0 0 31px;width:31px;height:31px;border-radius:10px;background:#edf4ff;color:#1769e0;display:grid;place-items:center;font-size:11px}.quickstart-grid strong{font-size:11px}.quickstart-grid p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.45}
@media(max-width:900px){.quickstart-grid{grid-template-columns:1fr}}
@media(max-width:600px){.home-quickstart{padding:18px;border-radius:18px}}

/* v3.0.0: módulo Objetivos */
:root{--purple:#4c1d95;--purple2:#6d28d9;--purple3:#8b5cf6;--purple-pale:#f3efff}
.goals-mode .module-nav button.active{background:var(--purple);color:#fff}.goals-symbol svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.goals-mode{background:#f8f6fc}
.home-modules{grid-template-columns:repeat(3,1fr)}.home-module-card.goals:after{background:#6d28d912}.home-module-card.goals .home-module-icon{background:var(--purple);color:#fff}.home-module-card.goals>button{background:var(--purple-pale);color:var(--purple)}.voice-guide-grid{grid-template-columns:repeat(4,1fr)}
.goals-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:12px 0 22px}.goals-head h2{font-size:32px;margin:5px 0}.goals-head p{color:var(--muted);margin:0}.goals-eyebrow{font-size:10px;font-weight:900;letter-spacing:.14em;color:var(--purple2)}.goals-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.goals-head-actions select{height:40px;border:1px solid #d5cbe5;background:#fff;border-radius:11px;padding:0 11px;color:var(--purple);font-weight:750;max-width:190px}.goals-primary{border:0;border-radius:12px;background:var(--purple);color:#fff;padding:12px 16px;font-weight:800;box-shadow:0 7px 18px #4c1d952b}.goals-primary:hover{background:#351168}.goals-primary:disabled{background:#aaa1b8;box-shadow:none}.goals-tools{display:flex;align-items:center;gap:2px;background:#f1edf7;border:1px solid #e1d8ed;border-radius:12px;padding:3px}.goals-tool{height:32px;border:0;background:transparent;color:#655873;border-radius:9px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:10px;font-weight:800;white-space:nowrap}.goals-tool:hover{background:#fff;color:var(--purple);box-shadow:0 2px 8px #2f164414}.goals-tool svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.goals-voice-tool{background:#e8ddfa;color:var(--purple)}.goals-voice-tool.listening{color:#fff;background:#b42338;animation:voice-pulse 1s infinite}.goals-voice-tool.unsupported{opacity:.55}
.goals-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.goals-summary article{position:relative;overflow:hidden;background:#fff;border:1px solid #e4ddec;border-radius:17px;padding:18px;box-shadow:0 7px 22px #3f20600c}.goals-summary article:after{content:"";position:absolute;width:65px;height:65px;border-radius:50%;right:-26px;bottom:-34px;background:#7c3aed0b}.goals-summary span,.goals-summary strong{display:block}.goals-summary span{font-size:9px;font-weight:900;letter-spacing:.08em;color:#746681;text-transform:uppercase}.goals-summary strong{font-size:22px;margin-top:7px;color:#25173a}.goals-summary .saved{border-bottom:3px solid #6d28d9}.goals-summary .monthly{background:linear-gradient(130deg,#3c126f,#6d28d9);border-color:#4c1d95;color:#fff}.goals-summary .monthly span,.goals-summary .monthly strong{color:#fff}
.goals-capacity{display:flex;align-items:center;gap:13px;border:1px solid #ddd3e9;background:#fff;border-radius:16px;padding:14px 17px;margin-bottom:24px}.capacity-icon{flex:0 0 39px;width:39px;height:39px;border-radius:12px;background:#eee8f5;color:var(--purple);display:grid;place-items:center;font-weight:950}.goals-capacity small,.goals-capacity strong,.goals-capacity p{display:block}.goals-capacity small{font-size:8px;font-weight:900;letter-spacing:.12em;color:#796c87}.goals-capacity strong{font-size:13px;margin-top:2px}.goals-capacity p{font-size:10px;color:var(--muted);margin:3px 0 0}.goals-capacity.comfortable{border-color:#bfe3d2;background:#f3fbf7}.goals-capacity.comfortable .capacity-icon{background:#dff4ea;color:#08734b}.goals-capacity.attention{border-color:#ecd9a9;background:#fffaf0}.goals-capacity.attention .capacity-icon{background:#f9edcf;color:#7a570b}.goals-capacity.stretch{border-color:#ecc4cb;background:#fff7f8}.goals-capacity.stretch .capacity-icon{background:#ffe3e7;color:#ac293d}
.goals-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:12px}.goals-section-heading small{font-size:9px;font-weight:900;letter-spacing:.13em;color:var(--purple2)}.goals-section-heading h3{font-size:21px;margin:4px 0 0}.goals-section-heading>span{font-size:10px;color:var(--muted);font-weight:800}.goals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.goal-card{background:#fff;border:1px solid #e2dbea;border-radius:20px;padding:19px;box-shadow:0 8px 25px #3a1b580c;cursor:pointer;transition:.18s}.goal-card:hover{transform:translateY(-2px);box-shadow:0 14px 32px #3a1b5818;border-color:#cfc0df}.goal-card.attention{border-color:#e9c3ca}.goal-card.completed{border-color:#bde1d0}.goal-card-top,.goal-badges,.goal-money-line,.goal-progress-meta,.goal-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.goal-icon{width:43px;height:43px;border-radius:14px;background:linear-gradient(140deg,var(--purple),var(--purple2));color:#fff;display:grid;place-items:center;font-size:19px;font-weight:950;box-shadow:0 8px 16px #4c1d9526}.goal-icon.large{width:52px;height:52px;border-radius:16px;font-size:23px}.goal-badges{justify-content:flex-end;flex-wrap:wrap}.goal-status,.goal-priority{padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900;white-space:nowrap}.goal-status.building{background:#eeeaf4;color:#655873}.goal-status.on-track{background:#e2f4eb;color:#08734b}.goal-status.ahead{background:#e8edff;color:#4055a6}.goal-status.attention{background:#ffe7ea;color:#ac293d}.goal-status.completed{background:#dff4ea;color:#08734b}.goal-status.paused{background:#eeeef0;color:#686b72}.goal-priority{background:#fff0d1;color:#7e5907}.goal-card>small{display:block;margin-top:15px;color:#7b6e89;font-size:9px;font-weight:800}.goal-card h3{font-size:18px;margin:5px 0 14px}.goal-money-line strong{font-size:20px;color:#2f174d}.goal-money-line span{font-size:10px;color:var(--muted)}.goal-progress{height:8px;border-radius:10px;background:#eee9f5;overflow:hidden;margin:9px 0 6px}.goal-progress i{display:block;height:100%;border-radius:10px;background:linear-gradient(90deg,var(--purple),var(--purple3));transition:.3s}.goal-progress-meta{font-size:9px;color:var(--muted)}.goal-progress-meta b{color:var(--purple)}.goal-next{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;background:#f8f5fc;border-radius:13px;padding:11px;margin:15px 0}.goal-next small,.goal-next strong,.goal-next div>span{display:block}.goal-next small{font-size:7px;font-weight:900;letter-spacing:.1em;color:#81748d}.goal-next strong{font-size:14px;margin:3px 0}.goal-next div>span{font-size:8px;color:var(--muted);text-transform:capitalize}.financial-pill{max-width:105px;border-radius:8px;padding:5px 7px;text-align:center;font-size:7px;font-weight:900}.financial-pill.comfortable{background:#dff4ea;color:#08734b}.financial-pill.attention{background:#fff0ce;color:#825a05}.financial-pill.stretch{background:#ffe5e8;color:#a72b3d}.financial-pill.unknown{background:#ebe8ef;color:#706577}.goal-card-footer{border-top:1px solid #eee9f3;padding-top:12px}.goal-card-footer>span{font-size:9px;color:var(--muted)}.goal-card-footer button{border:0;background:transparent;color:var(--purple);font-size:10px;font-weight:900;padding:4px}.goal-card-footer button b{margin-left:4px}.goal-card-footer button:disabled{color:#87918b}.goals-empty{text-align:center;background:#fff;border:1px dashed #c8b9d9;border-radius:22px;padding:52px 20px}.goals-empty>span{font-size:38px;color:var(--purple)}.goals-empty p{color:var(--muted)}
.goal-form{grid-template-columns:1fr 1fr}.goal-form .wide{grid-column:1/-1}.goal-form textarea{width:100%;min-height:78px;resize:vertical;padding:11px;border:1px solid var(--line);border-radius:10px;margin-top:4px;font:inherit}.goal-plan-preview{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 12px;background:#f4effb;border:1px solid #ded2ed;border-radius:12px;padding:11px}.goal-plan-preview small{font-size:8px;font-weight:900;letter-spacing:.1em;color:#756484}.goal-plan-preview strong{grid-column:2;grid-row:1/3;color:var(--purple);font-size:16px}.goal-plan-preview span{font-size:9px;color:var(--muted)}.goal-finance-note{display:flex;align-items:center;gap:9px;background:#f4effb;border:1px solid #ded2ed;border-radius:11px;padding:10px;color:#5d4770;font-size:10px}.goal-finance-note b{width:28px;height:28px;border-radius:9px;background:var(--purple);color:#fff;display:grid;place-items:center}.goal-voice-detected{display:grid;gap:4px;background:#f3edfb;border:1px solid #d8c7ec;border-radius:12px;padding:11px;margin-bottom:13px}.goal-voice-detected span{font-size:9px;font-weight:900;letter-spacing:.07em;color:var(--purple)}.goal-voice-detected strong{color:#3d1d63}.goal-voice-detected small{color:var(--muted)}.goals-outline{border:1px solid #d2c5e0;background:#fff;color:var(--purple);border-radius:10px;padding:9px 12px;font-size:10px;font-weight:850}.goals-outline.danger{color:#ae2f43;border-color:#ecc5cc}
dialog:has(.goal-detail-head){width:min(780px,calc(100% - 24px))}.goal-detail-head{display:flex;align-items:center;gap:12px;margin-right:32px}.goal-detail-head h2{margin:3px 0 6px}.goal-detail-head small{color:var(--muted);font-size:10px}.goal-detail-progress{background:linear-gradient(125deg,#351168,#6d28d9);color:#fff;border-radius:16px;padding:15px;margin:17px 0}.goal-detail-progress>div:first-child{display:flex;align-items:baseline;gap:6px}.goal-detail-progress strong{font-size:22px}.goal-detail-progress span{font-size:10px;opacity:.75}.goal-detail-progress b{margin-left:auto}.goal-detail-progress .goal-progress{background:#ffffff2b}.goal-detail-progress .goal-progress i{background:#fff}.goal-detail-progress p{font-size:9px;margin:5px 0 0;opacity:.78;text-align:right}.goal-detail-actions{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:15px}.goal-detail-section{border-top:1px solid #e8e0ef;padding-top:14px;margin-top:14px}.goal-detail-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:10px}.goal-detail-title small{font-size:8px;font-weight:900;letter-spacing:.12em;color:var(--purple2)}.goal-detail-title h3{margin:3px 0 0}.goal-detail-title>span{font-size:9px;color:var(--muted)}.goal-milestones,.goal-months{display:grid;gap:7px;max-height:280px;overflow:auto}.goal-milestones article{display:grid;grid-template-columns:31px minmax(0,1fr) 28px;align-items:center;gap:9px;border:1px solid #e5ddec;border-radius:11px;padding:8px}.goal-milestones article.done{background:#f0faf5;border-color:#c6e7d6}.goal-milestones article>button:first-child{width:30px;height:30px;border:1px solid #cbbade;border-radius:9px;background:#fff;color:#fff}.goal-milestones article.done>button:first-child{background:#15845a;border-color:#15845a}.goal-milestones strong,.goal-milestones small{display:block}.goal-milestones small{font-size:8px;color:var(--muted);margin-top:3px}.milestone-delete{border:0;background:transparent;color:#b52c41;font-size:17px}.goal-months article{display:grid;grid-template-columns:33px minmax(0,1fr) minmax(110px,.55fr);align-items:center;gap:9px;border:1px solid #e5ddec;border-radius:11px;padding:9px}.goal-months article.confirmed{background:#f1faf6;border-color:#c7e5d6}.goal-months article.late{background:#fff7f8;border-color:#eccbd0}.goal-months article>button{width:32px;height:32px;border:1px solid #cab7dc;border-radius:10px;background:#fff;color:var(--purple);font-weight:950}.goal-months article.confirmed>button{background:#15845a;border-color:#15845a;color:#fff}.goal-months strong,.goal-months small{display:block}.goal-months small{font-size:8px;color:var(--muted);margin-top:3px}.goal-months article>div:last-child{text-align:right}.goal-notes{background:#f7f4fa;border-radius:11px;padding:11px;margin-top:14px}.goal-notes small{font-size:8px;font-weight:900;letter-spacing:.1em;color:#7c6b88}.goal-notes p{font-size:10px;color:var(--muted);margin:5px 0 0}.goals-muted{font-size:10px;color:var(--muted)}.goal-voice-choices{display:grid;gap:8px}.goal-voice-choices button{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid #e2d8ec;background:#fff;border-radius:12px;padding:9px;text-align:left}.goal-voice-choices button>span{width:35px;height:35px;border-radius:10px;background:var(--purple);color:#fff;display:grid;place-items:center}.goal-voice-choices small{color:var(--muted)}.event.goals{border-left:3px solid var(--purple2);padding-left:10px}.event.goals .event-source{background:#efe8fa;color:var(--purple)}#goalsView.is-loading{opacity:.68;pointer-events:none}
@media(max-width:1050px){.home-modules,.goals-grid{grid-template-columns:1fr 1fr}.voice-guide-grid{grid-template-columns:1fr 1fr}.goals-head{align-items:flex-start;flex-direction:column}.goals-head-actions{justify-content:flex-start}}
@media(max-width:760px){.goals-symbol svg{width:23px;height:23px}.goals-summary{grid-template-columns:1fr 1fr}.goals-grid{grid-template-columns:1fr}.goal-form{grid-template-columns:1fr}.goal-form .wide{grid-column:auto}}
@media(max-width:600px){.home-welcome-actions{grid-template-columns:1fr 1fr}.home-welcome-actions .goals-home-action{grid-column:1/-1}.home-modules,.voice-guide-grid{grid-template-columns:1fr}.goals-head-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;gap:8px}.goals-head-actions select{grid-column:1/-1;max-width:none;width:100%}.goals-tools{grid-column:1;justify-self:start}.goals-tool{width:36px;padding:0}.goals-tool span{display:none}.goals-primary{padding:11px 13px;font-size:11px}.goals-summary{gap:8px}.goals-summary article{padding:13px}.goals-summary strong{font-size:17px}.goals-capacity{align-items:flex-start;padding:12px}.goals-capacity p{line-height:1.45}.goal-card{padding:16px}.goal-months article{grid-template-columns:32px minmax(0,1fr)}.goal-months article>div:last-child{grid-column:2;text-align:left}.goal-detail-actions{display:grid;grid-template-columns:1fr 1fr}.goal-detail-actions button:last-child{grid-column:1/-1}}

/* v3.1.0: cards alinhados, categorias e compartilhamento por objetivo */
.home-module-card{display:flex;flex-direction:column}.home-module-card h3{min-height:52px}.home-module-card>p{min-height:58px}.home-module-card>button{margin-top:auto}
.goal-category-field{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:6px;align-items:center}.goal-category-field button{height:38px;border:1px solid #d2c5e0;border-radius:10px;background:#f4effb;color:var(--purple);font-size:20px;font-weight:800}.goal-category-field button:hover{background:#e9def7}
.goal-privacy-note,.goal-share-scope{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border:1px solid #d8c9e7;border-radius:12px;background:#f7f3fb;padding:11px 12px;color:#513c65}.goal-privacy-note b,.goal-share-scope b{font-size:10px}.goal-privacy-note span,.goal-share-scope span{max-width:380px;color:var(--muted);font-size:9px;line-height:1.45}.goal-contributor-note{display:grid;gap:4px;border:1px solid #ddd3e9;border-radius:10px;background:#f8f5fc;padding:10px 11px}.goal-contributor-note b{font-size:8px;letter-spacing:.09em;color:#796c87;text-transform:uppercase}.goal-contributor-note span{font-size:11px;font-weight:800}
.goal-sharing{display:inline-flex;margin-left:5px;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900}.goal-sharing.family{background:#e8f2ff;color:#195da8}.goal-sharing.private{background:#f0e8fb;color:#5f259f}.goal-card.shared{border-color:#cdbce0;background:linear-gradient(155deg,#fff 65%,#f7f2fc)}.financial-pill.private{background:#eee7f7;color:#5b337c}
.goals-shared-section{margin-top:30px;padding-top:24px;border-top:1px solid #e1d8eb}.goals-shared-note{display:flex;align-items:flex-start;gap:10px;margin:0 0 14px;padding:11px 13px;border:1px solid #ddd1e9;border-radius:12px;background:#f8f5fc;color:#5f506b;font-size:10px;line-height:1.45}.goals-shared-note b{color:var(--purple)}
.goal-participants{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.goal-participants article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid #e5ddec;border-radius:11px;padding:8px}.goal-participants article>span{width:34px;height:34px;border-radius:10px;background:#ece4f5;color:var(--purple);display:grid;place-items:center;font-weight:900}.goal-participants strong,.goal-participants small{display:block}.goal-participants small{margin-top:2px;color:var(--muted);font-size:8px}.goal-participants button{width:27px;height:27px;border:0;border-radius:8px;background:#fff0f2;color:#ae2f43;font-size:17px}.goal-participants>p{grid-column:1/-1;color:var(--muted);font-size:10px}
@media(max-width:600px){.home-module-card h3,.home-module-card>p{min-height:0}.goal-privacy-note,.goal-share-scope{flex-direction:column;gap:5px}.goal-participants{grid-template-columns:1fr}.goals-shared-section{margin-top:22px;padding-top:18px}}

/* v3.2.0: metas integradas ao valor e arquivamento financeiro */
#goalTargetModeHelp{display:block;margin-top:5px;color:var(--muted);font-size:9px;line-height:1.4}.goal-composed-total input{background:#f2edf8;color:var(--purple);font-weight:850}.goal-draft-section{border:1px solid #ded4e9;border-radius:15px;background:#faf8fc;padding:13px}.goal-draft-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.goal-draft-head small,.goal-draft-head strong{display:block}.goal-draft-head small{font-size:8px;font-weight:900;letter-spacing:.11em;color:var(--purple2)}.goal-draft-head strong{margin-top:3px;font-size:12px}.goal-draft-milestones{display:grid;gap:8px}.goal-draft-milestones article{display:grid;grid-template-columns:31px minmax(150px,1.4fr) minmax(130px,1fr) minmax(125px,.8fr) 29px;align-items:end;gap:7px;border:1px solid #e3dbea;border-radius:11px;background:#fff;padding:9px}.goal-draft-milestones article>span{align-self:center;width:30px;height:30px;border-radius:9px;background:#eee7f6;color:var(--purple);display:grid;place-items:center;font-size:8px;font-weight:900}.goal-draft-milestones label{font-size:8px}.goal-draft-milestones input{height:36px}.goal-draft-milestones article>button{width:29px;height:29px;margin-bottom:3px;border:0;border-radius:8px;background:#fff0f2;color:#ae2f43;font-size:17px}.goal-value-mode{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:-3px 0 14px;border:1px solid #dcd0e8;border-radius:12px;background:#f8f4fc;padding:10px 12px}.goal-value-mode b{font-size:10px;color:var(--purple)}.goal-value-mode span{max-width:450px;color:var(--muted);font-size:9px;line-height:1.45;text-align:right}.milestone-actions{display:flex;align-items:center;gap:3px}.milestone-actions button{width:27px;height:27px;border:0;border-radius:8px;background:#f1ebf7;color:var(--purple);font-size:13px}.milestone-actions .milestone-delete{background:#fff0f2;color:#ae2f43;font-size:17px}.goal-milestones article{grid-template-columns:31px minmax(0,1fr) auto}.goal-archive-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0}.goal-archive-options button{display:grid;gap:5px;border:1px solid #d9cce6;border-radius:13px;background:#f9f6fc;padding:13px;text-align:left;color:#462f59}.goal-archive-options button:hover{border-color:#a88abd;background:#f2eafa}.goal-archive-options button.danger{border-color:#ebc5cb;background:#fff7f8;color:#8f2334}.goal-archive-options b{font-size:11px}.goal-archive-options span{font-size:9px;line-height:1.45;color:var(--muted)}.goal-archive-note{margin-top:12px;color:var(--muted);font-size:9px}
@media(max-width:760px){.goal-draft-milestones article{grid-template-columns:31px minmax(0,1fr) 29px}.goal-draft-milestones article label{grid-column:2}.goal-draft-milestones article>button{grid-column:3;grid-row:1}.goal-draft-milestones article>span{grid-row:1}.goal-value-mode{flex-direction:column;gap:5px}.goal-value-mode span{text-align:left}.goal-archive-options{grid-template-columns:1fr}}

/* Objetivos 3.3 — formulário fluido e prazos reais por meta */
.goal-draft-section{container-type:inline-size;max-width:100%;min-width:0;box-sizing:border-box}.goal-draft-milestones,.goal-draft-milestones article,.goal-draft-milestones label,.goal-draft-deadline{min-width:0;max-width:100%;box-sizing:border-box}.goal-draft-milestones article{grid-template-columns:31px minmax(0,1.35fr) minmax(0,1fr) minmax(0,1.35fr) 29px;width:100%;overflow:hidden}.goal-draft-milestones input,.goal-draft-milestones select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.goal-draft-deadline{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;align-items:end}.goal-draft-deadline label{display:grid;align-content:end}.goal-form-v330>*{min-width:0}.goal-form-v330 input,.goal-form-v330 select,.goal-form-v330 textarea{max-width:100%;box-sizing:border-box}.goal-deadline-limit{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #ded4e9;border-radius:11px;background:#faf8fc;padding:10px 12px}.goal-deadline-limit b{font-size:9px;color:var(--purple)}.goal-deadline-limit span{font-size:9px;color:var(--muted)}.goal-milestone-alert{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-3px 0 14px;border:1px solid #e8b9c0;border-radius:12px;background:#fff4f5;padding:11px 13px;color:#92283a}.goal-milestone-alert b{font-size:10px}.goal-milestone-alert span{font-size:9px;text-align:right}.goal-milestones article.overdue{background:#fff7f8;border-color:#e8b9c0}.milestone-deadline-status{display:inline-flex!important;width:max-content;margin-top:5px!important;border-radius:999px;padding:3px 7px;font-size:7px!important;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.milestone-deadline-status.active{background:#f0eafa;color:var(--purple)}.milestone-deadline-status.done{background:#dff3e9;color:#16704f}.milestone-deadline-status.overdue{background:#ffe1e5;color:#a22338}.goal-milestone-form #milestoneDeadlineField{min-width:0}.goal-milestone-form #milestoneDeadlineField label{height:100%}
@container (max-width:620px){.goal-draft-milestones article{grid-template-columns:31px minmax(0,1fr) 29px;align-items:start}.goal-draft-milestones article>span{grid-column:1;grid-row:1}.goal-draft-milestones article>label,.goal-draft-milestones article>.goal-draft-deadline{grid-column:2}.goal-draft-milestones article>button{grid-column:3;grid-row:1}.goal-draft-deadline{grid-template-columns:1fr 1fr}}
@container (max-width:410px){.goal-draft-head{align-items:flex-start;flex-direction:column}.goal-draft-head button{width:100%}.goal-draft-deadline{grid-template-columns:1fr}.goal-draft-milestones article{grid-template-columns:27px minmax(0,1fr) 27px;padding:8px;gap:6px}}
@media(max-width:620px){.goal-milestone-alert,.goal-deadline-limit{align-items:flex-start;flex-direction:column;gap:5px}.goal-milestone-alert span{text-align:left}}

/* Objetivos 3.4 — edição direta, custo por pessoa e escala móvel */
html,body{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.goal-draft-cost{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:6px;min-width:0;align-items:end}.goal-draft-cost label{display:grid;min-width:0}.goal-draft-cost>span{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:6px;color:var(--muted);font-size:8px}.goal-draft-cost>span strong{color:var(--purple);font-size:10px}.goal-milestone-cost{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.65fr);gap:8px;border:1px solid #ded4e9;border-radius:12px;background:#faf8fc;padding:11px}.goal-milestone-cost label{min-width:0}.goal-cost-total{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e5ddec;padding-top:9px}.goal-cost-total span{font-size:9px;color:var(--muted);font-weight:800}.goal-cost-total strong{color:var(--purple);font-size:15px}.goal-milestones [data-milestone-edit][role="button"]{min-width:0;cursor:pointer;border-radius:8px;padding:3px 5px;margin:-3px -5px;transition:.16s}.goal-milestones [data-milestone-edit][role="button"]:hover,.goal-milestones [data-milestone-edit][role="button"]:focus{background:#f1ebf7;outline:1px solid #d8cae5}.milestone-actions button[data-milestone-edit]{background:var(--purple);color:#fff}
@container (max-width:620px){.goal-draft-milestones article>.goal-draft-cost{grid-column:2}.goal-draft-cost{grid-template-columns:minmax(0,1fr) 78px}}
@container (max-width:410px){.goal-draft-cost{grid-template-columns:1fr}.goal-draft-cost>span{grid-column:1}}
@media(max-width:760px){body,main,.topbar,.modal-card,.drawer{max-width:100%}main{width:100%}dialog,dialog:has(.goal-detail-head){width:calc(100% - 20px);max-width:calc(100% - 20px)}.modal-card{padding:22px 16px}.modal-form input:not([type="checkbox"]):not([type="radio"]),.modal-form select,.modal-form textarea,.search input{font-size:16px!important}.goal-milestone-cost{grid-template-columns:1fr}.goal-cost-total{grid-column:1}.goal-milestones article{max-width:100%;overflow:hidden}.goal-milestones [data-milestone-edit][role="button"]{overflow-wrap:anywhere}}

/* Compras 3.5 — baixa por categoria, quantidade editável e itens já adicionados */
.cart-categories{display:flex;gap:7px;overflow-x:auto;padding:4px 1px 13px;scrollbar-width:thin}.cart-category{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:20px;padding:7px 11px;color:#596579;font-size:11px;font-weight:750}.cart-category span{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:3px;padding:0 5px;border-radius:999px;background:#edf1f6;color:#657287;font-size:9px}.cart-category.active{background:var(--blue);border-color:var(--blue);color:#fff}.cart-category.active span{background:#ffffff2e;color:#fff}.item-category-group{display:grid;gap:8px;min-width:0}.item-category-group+.item-category-group{margin-top:13px;padding-top:13px;border-top:1px solid #edf1f6}.item-category-heading{display:flex;align-items:center;gap:7px;padding:0 3px}.item-category-heading>span{width:27px;height:27px;border-radius:9px;background:var(--pale);display:grid;place-items:center;font-size:13px}.item-category-heading strong{font-size:11px;color:var(--blue2)}.item-category-heading small{margin-left:auto;color:var(--muted);font-size:9px;font-weight:750}.item-category-items{display:grid;gap:9px}.category-empty{margin:7px 0 12px;padding:13px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:11px;text-align:center}.item-quantity-field{display:grid;gap:3px;color:var(--muted);font-size:10px;font-weight:750}.item-quantity{width:92px;height:43px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;text-align:right;font-variant-numeric:tabular-nums}.item-quantity:focus{outline:2px solid #0b5ed733;border-color:var(--blue)}.item-actions{flex-wrap:wrap;justify-content:flex-end}.product.already-listed{background:#f5f9ff}.product-list-state{display:block!important;margin-top:3px;color:#1769e0!important;font-weight:850}.add-btn.in-list{max-width:116px;border-color:#9fc3ed;background:#eaf3ff;color:#155ca9;font-size:10px;line-height:1.2;white-space:normal}.item-highlight{animation:item-highlight 1.8s ease}@keyframes item-highlight{0%,45%{border-color:#0b5ed7;box-shadow:0 0 0 4px #0b5ed722;background:#edf5ff}100%{box-shadow:none}}
@media(max-width:1100px){.item{grid-template-columns:1fr}.item-actions{grid-column:auto;justify-content:flex-start}.item-quantity-field,.price-field{flex:1 1 105px}.check-btn{flex:1 1 125px}}
@media(max-width:600px){.cart-categories{margin-right:-14px;padding-right:14px}.item-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 34px;gap:7px}.item-quantity-field,.price-field{min-width:0}.item-quantity,.price{width:100%;font-size:16px}.check-btn{grid-column:1/-1;width:100%}.trash{grid-column:3;grid-row:1;width:34px}.product{grid-template-columns:38px minmax(0,1fr)}.product .add-btn{grid-column:2;width:100%;max-width:none}}

/* Compras e notificações 3.6 — unidade editável e push verificado */
.item-unit-field{display:grid;gap:3px;color:var(--muted);font-size:10px;font-weight:750}.item-unit{width:78px;height:43px;padding:8px;border:1px solid var(--line);border-radius:10px;background:#fff}.item-unit:focus{outline:2px solid #0b5ed733;border-color:var(--blue)}.notification-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}.notification-actions button{width:100%}.notification-help{margin:13px 0 0;padding:11px;border-radius:11px;background:#f5f7fb;color:var(--muted);font-size:10px;line-height:1.45}
@media(max-width:1100px){.item-unit-field{flex:0 1 88px}}
@media(max-width:600px){.item-actions{grid-template-columns:minmax(0,1.1fr) minmax(82px,.8fr) 34px}.item-quantity-field{grid-column:1;grid-row:1}.item-unit-field{grid-column:2;grid-row:1;min-width:0}.item-unit{width:100%;font-size:16px}.price-field{grid-column:1/3;grid-row:2}.check-btn{grid-column:1/-1;grid-row:3}.trash{grid-column:3;grid-row:1}.notification-actions{grid-template-columns:1fr}}

/* Correção 3.12.0 — largura móvel do cabeçalho e da baixa */
.topbar,.brand,.module-nav,.top-actions,.cart-panel,.cart-title,.cart-title>div,.item,.item-copy,.item-actions,.item-actions>*{min-width:0}
.cart-categories{max-width:100%;overscroll-behavior-inline:contain;scroll-padding-inline:1px 22px}
.item,.item-actions{max-width:100%}.item-copy{overflow-wrap:anywhere}.item-quantity,.item-unit,.price{max-width:100%;box-sizing:border-box}
@media(max-width:520px){
  .topbar{height:62px;padding:0 8px;gap:6px}
  .brand{flex:0 1 auto;gap:7px;font-size:16px}
  .mini-logo{width:32px;height:32px;border-radius:11px}
  .module-nav{flex:0 0 auto;margin-left:0;gap:3px;padding:3px}
  .module-nav button{width:38px;height:34px;min-height:34px;padding:0}
  .top-actions{flex:0 0 auto;gap:3px}
  .top-actions .icon-btn,.top-actions .avatar{width:34px;height:34px;border-radius:11px}
  .offline-badge{position:absolute;top:66px;right:8px}
  .cart-categories{width:100%;margin-right:0;padding-right:22px}
  .item{width:100%;overflow:hidden}
  .item-actions{width:100%;grid-template-columns:minmax(0,1fr) minmax(78px,.72fr) 32px}
  .item-actions label{width:100%}
  .price-field{grid-column:1/-1}
  .trash{width:32px}
}
@media(max-width:380px){.brand>span{display:none}.topbar{padding-inline:7px;gap:5px}.module-nav button{width:37px}.top-actions .icon-btn,.top-actions .avatar{width:33px;height:33px}}

/* Financeiro 3.12.0 — recorrência editável */
.finance-recurrence-help{margin:0;padding:10px 11px;border:1px solid #d9dee6;border-radius:11px;background:#f4f6f9;color:#5e697a;font-size:10px;line-height:1.45}

/* Financeiro 3.7 — gráfico, recorrentes e navegação mensal */
.finance-summary article{display:flex;flex-direction:column;min-width:0}.finance-recurring-total{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:11px;padding-top:9px;border-top:1px solid #f0cbd0;color:#9e2838;font-size:9px;font-weight:800}.finance-summary .finance-recurring-total span{display:inline;margin:0;color:inherit;font-size:inherit}.finance-recurring-total b{font-size:11px;white-space:nowrap}.finance-report-filters{display:grid;gap:7px;justify-items:end;max-width:min(100%,760px);min-width:0}.finance-top-filters{width:100%;max-width:none;box-sizing:border-box;justify-items:start;margin-bottom:16px;padding:13px 15px;border:1px solid #dce2ea;border-radius:16px;background:#fff;box-shadow:0 5px 18px #1b344e08}.finance-filter-heading{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#566276}.finance-filter-heading>span{font-size:9px;font-weight:900;letter-spacing:.09em}.finance-filter-heading small{font-size:9px;font-weight:650;letter-spacing:0}.finance-month-filters{display:flex;align-items:center;gap:3px;width:max-content;max-width:100%;box-sizing:border-box;padding:4px;border:1px solid #d7dde6;border-radius:12px;background:#f1f3f6;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.finance-month-filters button{flex:0 0 auto;min-width:39px;border:0;border-radius:8px;background:transparent;color:#687486;padding:7px 6px;font-size:9px;font-weight:900}.finance-month-filters button:hover{background:#fff;color:#111827}.finance-month-filters button.active{background:#111827;color:#fff;box-shadow:0 2px 8px #11182728}.finance-month-filters .finance-year-button{min-width:48px;border-left:1px solid #d4dae3;border-radius:0 8px 8px 0;margin-left:2px}.finance-date-filter{display:flex;align-items:center;gap:6px;border:1px solid #d0d6df;border-radius:10px;padding-left:9px;background:#fff;color:#657083;font-size:9px;font-weight:800;white-space:nowrap}.finance-date-filter.active{border-color:#111827;box-shadow:0 0 0 2px #11182712}.finance-date-filter input{border:0!important;padding-left:2px!important}.finance-periods button.active{background:#111827;border-color:#111827;color:#fff}
/* Financeiro 3.8 — recorrências padronizadas nos três cards */
.finance-summary .income .finance-recurring-total{border-top-color:#c8e4d8;color:#147652}.finance-summary .expense .finance-recurring-total{border-top-color:#f0cbd0;color:#9e2838}.finance-summary .investment .finance-recurring-total{border-top-color:#ead9b5;color:#976914}
@media(max-width:1000px){.finance-report-toolbar{flex-direction:column}.finance-report-filters{width:100%;justify-items:start}.finance-month-filters{width:100%}.finance-periods{justify-content:flex-start}}
@media(max-width:600px){.finance-filter-heading small{display:none}.finance-month-filters{width:100%;max-width:100%}.finance-month-filters button{min-width:42px}.finance-periods{width:100%}.finance-date-filter{width:100%;justify-content:space-between;box-sizing:border-box}.finance-date-filter input{width:auto!important;min-width:148px}}

/* Relatórios 3.24 — filtros, dashboards e exportação */
.reports-mode{background:#f6f8fc}.reports-mode .module-nav button.active{background:#123a70;color:#fff}.reports-symbol{font-size:20px;font-weight:900;line-height:1;color:currentColor}.reporting-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:12px 0 22px;padding:25px 28px;border:1px solid #dbe3ef;border-radius:20px;background:linear-gradient(135deg,#fff,#f2f6fc);box-shadow:0 9px 26px #123a700d}.reporting-eyebrow{font-size:9px;font-weight:900;letter-spacing:.14em;color:#35649a}.reporting-head h2{margin:6px 0 5px;color:#102b50;font-size:25px}.reporting-head p{margin:0;color:#64738a;font-size:11px}.reporting-head-actions{display:flex;align-items:center;gap:8px}.reporting-head-actions select{min-width:165px;height:39px;border:1px solid #c9d5e4;border-radius:10px;background:#fff;padding:0 10px;font-weight:800;color:#15365e}.reporting-tool,.reporting-secondary,.reporting-primary,.reporting-apply{border:1px solid #c8d5e5;border-radius:10px;background:#fff;color:#173c69;min-height:39px;padding:0 13px;font-size:10px;font-weight:900;cursor:pointer}.reporting-primary{border-color:#122d54;background:#122d54;color:#fff;box-shadow:0 5px 13px #122d5425}.reporting-apply{background:#dfeeff;border-color:#9fc3eb;color:#15558f}.reporting-builder,.reporting-panel{border:1px solid #dbe3ed;border-radius:17px;background:#fff;box-shadow:0 7px 18px #123a7008}.reporting-builder{padding:18px 20px;margin-bottom:16px}.reporting-builder-head,.reporting-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.reporting-builder-head small,.reporting-panel-head small{color:#5c7596;font-size:8px;font-weight:900;letter-spacing:.14em}.reporting-builder-head h3,.reporting-panel-head h3{margin:5px 0 0;color:#15355d;font-size:15px}.reporting-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.reporting-filters{display:grid;grid-template-columns:1.15fr repeat(2,minmax(125px,.75fr)) repeat(4,minmax(130px,1fr)) auto;gap:8px;align-items:end;margin-top:17px;padding-top:15px;border-top:1px solid #e8edf4}.reporting-filters label,.reporting-custom-comparison label{display:grid;gap:5px;color:#66758b;font-size:9px;font-weight:850}.reporting-filters input,.reporting-filters select,.reporting-custom-comparison input{width:100%;height:37px;box-sizing:border-box;border:1px solid #ccd8e6;border-radius:9px;background:#fff;padding:0 9px;color:#17365c;font:inherit;font-size:10px}.reporting-filters input:focus,.reporting-filters select:focus,.reporting-custom-comparison input:focus{outline:2px solid #2b74bd25;border-color:#2b74bd}.reporting-custom-comparison{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.reporting-custom-comparison label{min-width:160px}.reporting-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.reporting-kpi{display:grid;gap:7px;min-width:0;padding:16px 17px;border:1px solid #dce4ee;border-top:3px solid #32669e;border-radius:14px;background:#fff;box-shadow:0 6px 16px #123a7007}.reporting-kpi small{font-size:9px;font-weight:900;letter-spacing:.08em;color:#6b7b90;text-transform:uppercase}.reporting-kpi strong{color:#102b50;font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reporting-kpi span{font-size:9px;color:#7b8797;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reporting-kpi.income{border-top-color:#15916b}.reporting-kpi.expense{border-top-color:#d0475a}.reporting-kpi.investment{border-top-color:#b27b16}.reporting-kpi.positive{border-top-color:#15916b}.reporting-kpi.negative{border-top-color:#d0475a}.reporting-main-grid,.reporting-saved-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:16px;margin-bottom:16px}.reporting-panel{padding:18px 20px;min-width:0}.reporting-trend{display:flex;align-items:end;gap:8px;min-height:205px;padding:20px 4px 3px;overflow-x:auto}.reporting-trend-column{display:grid;grid-template-rows:16px 1fr 18px;align-items:end;gap:5px;min-width:48px;height:175px;text-align:center}.reporting-trend-column span{font-size:8px;color:#536c8c;white-space:nowrap;transform:rotate(-45deg);transform-origin:center}.reporting-trend-column i{display:block;width:32px;min-height:8px;margin:0 auto;border-radius:7px 7px 2px 2px;background:linear-gradient(#3577b9,#1b4e8a)}.reporting-trend-column i.negative{background:linear-gradient(#d76170,#b72e45)}.reporting-trend-column small{font-size:8px;color:#7b8796;white-space:nowrap}.reporting-breakdown{display:grid;gap:11px;margin-top:17px}.reporting-bar-row{display:grid;gap:5px}.reporting-bar-row>div,.reporting-person-row>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.reporting-bar-row span,.reporting-person-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#2a4464;font-size:10px;font-weight:800}.reporting-bar-row strong,.reporting-person-row strong{font-size:10px;color:#102b50;white-space:nowrap}.reporting-bar-row i,.reporting-person-row i{display:block;height:7px;overflow:hidden;border-radius:999px;background:#e9eff6}.reporting-bar-row i b,.reporting-person-row i b{display:block;height:100%;border-radius:inherit;background:#3a76ae}.reporting-bar-row small{color:#8a96a5;font-size:8px}.reporting-person-row{display:grid;gap:5px}.reporting-person-row i{flex:1}.reporting-comparison{display:grid;gap:0;margin-top:15px}.reporting-comparison-row{display:grid;grid-template-columns:minmax(100px,1fr) auto auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #edf1f6}.reporting-comparison-row span{font-size:10px;font-weight:800;color:#385574}.reporting-comparison-row strong{font-size:12px;color:#102b50}.reporting-comparison-row small{color:#8390a0;font-size:9px;white-space:nowrap}.reporting-comparison-row b.up{color:#15916b}.reporting-comparison-row b.down{color:#c43e50}.reporting-comparison-note,.reporting-empty{margin:14px 0 0;color:#8290a2;font-size:10px;line-height:1.45}.reporting-saved-list{display:grid;gap:8px;margin-top:15px}.reporting-saved-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid #e0e7f0;border-radius:11px;background:#fbfcfe}.reporting-saved-item>div:first-child{display:grid;gap:4px;min-width:0}.reporting-saved-item strong{color:#173b67;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reporting-saved-item small{color:#7d8b9e;font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reporting-saved-item>div:last-child{display:flex;gap:4px;flex:0 0 auto}.reporting-saved-item button{border:1px solid #cbd9e9;border-radius:7px;background:#fff;color:#245482;padding:6px 8px;font-size:8px;font-weight:850;cursor:pointer}.reporting-saved-item button.danger{color:#a72d42;border-color:#f0cbd1}.reporting-widget-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:12px;border:1px solid #dce5ef;border-radius:11px}.reporting-widget-choices legend{padding:0 4px;color:#5c7596;font-size:9px;font-weight:900}.reporting-widget-choices label,.checkbox-line{display:flex!important;grid-template:none!important;align-items:center;gap:7px!important;color:#4b627d!important;font-size:10px!important}.reporting-widget-choices input,.checkbox-line input{width:auto!important;height:auto!important}
@media(max-width:1100px){.reporting-filters{grid-template-columns:repeat(4,minmax(125px,1fr))}.reporting-apply{grid-column:span 2}.reporting-head{padding:20px}.reporting-main-grid,.reporting-saved-grid{grid-template-columns:1fr}}
@media(max-width:700px){.reporting-head,.reporting-builder-head,.reporting-panel-head{align-items:flex-start;flex-direction:column}.reporting-head-actions,.reporting-actions{width:100%;justify-content:stretch}.reporting-head-actions>*{flex:1}.reporting-actions>*{flex:1}.reporting-filters{grid-template-columns:1fr 1fr}.reporting-filters label:first-child{grid-column:1/-1}.reporting-apply{grid-column:1/-1}.reporting-summary{grid-template-columns:1fr 1fr}.reporting-kpi strong{font-size:16px}.reporting-panel{padding:15px}.reporting-custom-comparison{justify-content:stretch}.reporting-custom-comparison label{min-width:0;flex:1}.reporting-widget-choices{grid-template-columns:1fr}.reporting-saved-item{align-items:flex-start;flex-direction:column}.reporting-saved-item>div:last-child{width:100%}.reporting-saved-item button{flex:1}}
@media(max-width:520px){.module-nav{max-width:calc(100vw - 158px);overflow-x:auto}.module-nav button{flex:0 0 38px}.reporting-head h2{font-size:21px}.reporting-filters{grid-template-columns:1fr}.reporting-filters label:first-child{grid-column:auto}.reporting-summary{grid-template-columns:1fr 1fr}.reporting-comparison-row{grid-template-columns:1fr auto}.reporting-comparison-row small{grid-column:1/-1}.reporting-actions{display:grid;grid-template-columns:1fr 1fr}.reporting-actions button:last-child{grid-column:1/-1}}

/* v3.25.5: dashboards com cards personalizados e abertura de visões salvas */
.reporting-workspace{margin:0 0 16px;padding:18px 20px;border:1px solid #bcd3ec;border-radius:17px;background:linear-gradient(135deg,#f7fbff,#fff);box-shadow:0 8px 22px #123a700d}.reporting-workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.reporting-workspace-head small{color:#35649a;font-size:8px;font-weight:900;letter-spacing:.14em}.reporting-workspace-head h3{margin:5px 0 3px;color:#15355d;font-size:17px}.reporting-workspace-head p{margin:0;color:#718096;font-size:10px}.reporting-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.reporting-card{min-width:0;padding:14px;border:1px solid #dbe5f0;border-radius:14px;background:#fff;box-shadow:0 5px 15px #123a7008}.reporting-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:12px}.reporting-card-head small{display:block;color:#6481a4;font-size:7px;font-weight:900;letter-spacing:.12em}.reporting-card-head h4{margin:4px 0 0;color:#173b67;font-size:12px;overflow:hidden;text-overflow:ellipsis}.reporting-card-head>span{color:#8a96a5;font-size:8px;white-space:nowrap}.reporting-card-value{font-size:23px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reporting-card-value.income{color:#08734b}.reporting-card-value.expense{color:#b52f45}.reporting-card-value.investment{color:#986c0c}.reporting-card-value.positive{color:#08734b}.reporting-card-value.negative{color:#b52f45}.reporting-card-caption{color:#7e8b9b;font-size:9px}.reporting-card-list{display:grid;gap:8px}.reporting-card-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;align-items:center}.reporting-card-list span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#365573;font-size:9px;font-weight:800}.reporting-card-list b{font-size:9px;color:#173b67;white-space:nowrap}.reporting-card-list i{grid-column:1/-1;display:block;height:5px;overflow:hidden;border-radius:99px;background:#e8eff6}.reporting-card-list i em{display:block;height:100%;border-radius:inherit;background:#3a76ae}.reporting-card-list small{grid-column:1/-1;color:#8995a4;font-size:8px}.reporting-card-list.comparison>div{grid-template-columns:minmax(0,1fr) auto auto;padding-bottom:7px;border-bottom:1px solid #edf1f5}.reporting-card-list.comparison>div:last-child{border-bottom:0;padding-bottom:0}.reporting-card-list.comparison small{font-size:8px;font-weight:850}.reporting-card-list.comparison .up{color:#16845b}.reporting-card-list.comparison .down{color:#b52f45}.reporting-card-list.entries>div{grid-template-columns:minmax(0,1fr) auto}.reporting-card-list.entries small{grid-column:1/-1}.reporting-card-trend{display:flex;align-items:end;gap:8px;height:145px;overflow-x:auto;padding:20px 2px 0}.reporting-card-trend>div{display:grid;grid-template-rows:16px 1fr 16px;align-items:end;gap:4px;min-width:38px;height:125px;text-align:center}.reporting-card-trend b{font-size:7px;color:#5d7390;white-space:nowrap;transform:rotate(-45deg)}.reporting-card-trend i{display:block;width:24px;min-height:8px;margin:auto;border-radius:6px 6px 2px 2px;background:linear-gradient(#3a76ae,#173b67)}.reporting-card-trend i.negative{background:linear-gradient(#d76170,#b72e45)}.reporting-card-trend small{font-size:7px;color:#8995a4;white-space:nowrap}.reporting-card-empty,.reporting-card-loading,.reporting-card-error{margin:0;color:#8190a1;font-size:10px;line-height:1.45}.reporting-card-error{display:grid;gap:5px;border-color:#f0cbd1;background:#fff7f8}.reporting-card-error strong{color:#a72d42}.reporting-card-error small{color:#bd5364}
dialog:has(.reporting-builder-modal){width:min(760px,calc(100% - 24px))}.reporting-builder-modal h2{margin-bottom:5px}.reporting-modal-kicker{color:#35649a;font-size:8px;font-weight:900;letter-spacing:.14em}.reporting-modal-intro{margin:0 0 14px;color:#718096;font-size:10px;line-height:1.45}.reporting-modal-form{gap:10px}.reporting-modal-field{display:grid!important;gap:4px!important;min-width:0}.reporting-modal-field small{color:#8190a1;font-size:9px;font-weight:600}.reporting-modal-form textarea{display:block;width:100%;min-height:64px;box-sizing:border-box;margin-top:0;padding:10px;border:1px solid var(--line);border-radius:10px;resize:vertical;font:inherit;font-size:12px}.reporting-builder-note{display:grid;gap:3px;padding:10px 11px;border:1px solid #cfe1f4;border-radius:11px;background:#f3f8fe}.reporting-builder-note strong{color:#245482;font-size:10px}.reporting-builder-note span{color:#6d7d91;font-size:9px;line-height:1.4}.reporting-widget-drafts{display:grid;gap:8px;max-height:43vh;overflow:auto;padding:1px 3px 1px 0}.reporting-widget-draft{display:grid;gap:8px;padding:10px;border:1px solid #dce5ef;border-radius:12px;background:#fbfcfe}.reporting-widget-draft-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.reporting-widget-draft-head strong{color:#173b67;font-size:10px}.reporting-widget-draft-head>div{display:flex;gap:4px}.reporting-widget-draft-head button{width:27px;height:27px;border:1px solid #cbd9e9;border-radius:7px;background:#fff;color:#245482;font-weight:900}.reporting-widget-draft-head button.danger{color:#a72d42;border-color:#f0cbd1}.reporting-widget-fields,.reporting-widget-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.reporting-widget-filter-grid{grid-template-columns:repeat(5,minmax(0,1fr));padding-top:8px;border-top:1px solid #e9eef4}.reporting-widget-draft label{display:grid;gap:4px;color:#66758b;font-size:8px;font-weight:850}.reporting-widget-draft input,.reporting-widget-draft select{width:100%;height:32px;box-sizing:border-box;border:1px solid #ccd8e6;border-radius:8px;background:#fff;padding:0 7px;color:#17365c;font:inherit;font-size:9px}.reporting-add-widget{border:1px dashed #8fb3d9;border-radius:10px;background:#f7fbff;color:#245482;min-height:36px;font-size:10px;font-weight:900}.reporting-add-widget:hover{background:#eaf4ff}
@media(max-width:900px){.reporting-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reporting-widget-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.reporting-workspace{padding:15px}.reporting-workspace-head{align-items:flex-start;flex-direction:column}.reporting-workspace-head .reporting-tool{width:100%}.reporting-card-grid{grid-template-columns:1fr}.reporting-widget-fields,.reporting-widget-filter-grid{grid-template-columns:1fr 1fr}.reporting-widget-filter-grid label:last-child{grid-column:1/-1}}
@media(max-width:480px){.reporting-widget-fields,.reporting-widget-filter-grid{grid-template-columns:1fr}.reporting-widget-filter-grid label:last-child{grid-column:auto}}

/* Financeiro 3.12.0 — período no topo e painéis recolhíveis */
.finance-section-actions{display:flex;align-items:center;gap:6px}.finance-collapse-toggle{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border:1px solid #d5dce5;border-radius:10px;background:#f5f7fa;color:#4f5c6e;cursor:pointer}.finance-collapse-toggle:hover{background:#e9edf3;color:#111827}.finance-collapse-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}.finance-collapse-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}.finance-collapse-toggle:focus-visible{outline:3px solid #11182722;border-color:#111827}.finance-collapsible-content[hidden]{display:none!important}.finance-section-title:has(+.finance-collapsible-content[hidden]){margin-bottom:0}.finance-report-toolbar:has(+.finance-collapsible-content[hidden]){margin-bottom:0}.finance-breakdown-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.finance-breakdown-heading h3{margin:4px 0 0}.finance-breakdown-heading:has(+.finance-collapsible-content[hidden]){margin-bottom:0}.finance-top-filters{margin-top:-6px}
@media(max-width:760px){.finance-head{margin-bottom:14px}.finance-top-filters{margin-top:0;padding:11px 12px;border-radius:14px}.finance-collapse-toggle{width:36px;height:36px;flex-basis:36px}.finance-section-title,.finance-report-toolbar,.finance-breakdown-heading{align-items:center}.finance-section-title h3,.finance-report-toolbar h3,.finance-breakdown-heading h3{font-size:16px}.finance-section-actions .finance-primary{min-height:36px}}

/* Compras 3.9 — compartilhamento direto com contatos conhecidos */
.share-section{display:grid;gap:11px}.share-section-title{display:grid;gap:3px}.share-section-title strong{font-size:13px}.share-section-title small{color:var(--muted);font-size:10px;line-height:1.45}.share-contacts{display:grid;gap:7px;max-height:250px;overflow-y:auto;padding-right:2px}.share-contact{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid var(--line);border-radius:13px;padding:9px;background:#fff}.share-contact>span{width:38px;height:38px;border-radius:11px;background:var(--pale);color:var(--blue2);display:grid;place-items:center;font-weight:900}.share-contact strong,.share-contact small{display:block}.share-contact strong{font-size:12px}.share-contact small{margin-top:3px;color:var(--muted);font-size:9px}.share-contact button{border:1px solid #b8cbe4;border-radius:10px;background:#fff;color:var(--blue);padding:8px 10px;font-size:10px;font-weight:850}.share-contact button:hover{background:var(--pale)}.share-contact button:disabled{border-color:#dce3eb;background:#f3f5f8;color:#7a8595;cursor:default}.share-contact.already-shared{background:#f7f9fc}.share-divider{display:flex;align-items:center;gap:9px;margin:15px 0;color:#8994a5;font-size:9px;font-weight:900}.share-divider:before,.share-divider:after{content:"";height:1px;flex:1;background:var(--line)}.share-empty{margin:0;border:1px dashed #cbd6e3;border-radius:12px;padding:14px;color:var(--muted);font-size:10px;line-height:1.45}.share-copy-button{width:100%;margin-top:9px;box-shadow:none}
@media(max-width:520px){.share-contact{grid-template-columns:36px minmax(0,1fr)}.share-contact>span{width:36px;height:36px}.share-contact button{grid-column:2;width:100%}.share-contacts{max-height:220px}}

/* Compras e Financeiro 3.10 — busca na baixa, tela estável e saldos restritos */
.cart-search{margin:2px 0 12px}.cart-search-clear{flex:0 0 30px;width:30px;height:30px;border:0;border-radius:9px;background:#e8edf4;color:#526075;font-size:19px;line-height:1}.cart-search-clear:hover{background:#dce4ee;color:#123a70}.cart-search input[type="search"]::-webkit-search-cancel-button{display:none}.item{overflow-anchor:none}.finance-card-breakdown{display:grid;gap:5px;margin-top:11px;padding-top:9px;border-top:1px solid #dce9e3}.finance-card-breakdown small{display:flex;align-items:center;justify-content:space-between;gap:7px;color:#4f6d60;font-size:9px;font-weight:800}.finance-summary .finance-card-breakdown span{display:inline;margin:0;color:inherit;font-size:inherit}.finance-card-breakdown b{font-size:10px;white-space:nowrap}.finance-card-breakdown .restricted{color:#566f94}.finance-summary .expense .expense-breakdown{border-top-color:#f0cbd0}.finance-summary .expense .expense-breakdown small{color:#9e2838}.finance-summary .expense .expense-breakdown .restricted{color:#566f94}.finance-summary article>.finance-recurring-total{margin-top:auto}.finance-card-breakdown+.finance-recurring-total{margin-top:8px}.benefit-balance{border-top-color:#cbddec}.finance-summary .benefit-balance small{color:#365e87}
@media(max-width:600px){.cart-search{margin-right:0}.finance-summary article{min-height:128px}.finance-card-breakdown small{align-items:flex-start;flex-direction:column;gap:2px}.finance-card-breakdown b{font-size:10px}.finance-summary article>.finance-recurring-total{margin-top:auto}}

/* Financeiro 3.13 — origem real dos pagamentos e uso dos benefícios */
.benefit-balance em{display:block;margin:-1px 0 3px;color:#58738f;font-size:8px;font-style:normal;font-weight:700;line-height:1.35}.benefit-balance em b{color:#a92d40;font-size:inherit}.finance-payment-form{gap:14px}.finance-payment-help{display:grid;gap:4px;padding:12px;border:1px solid #cfd9e5;border-radius:12px;background:#f3f7fb;color:#43546a}.finance-payment-help b{font-size:11px}.finance-payment-help span{font-size:10px;line-height:1.45}.finance-payment-form .finance-primary{width:100%}#financePaymentSourceField>small,#shoppingPaymentSource>small{display:block;margin-top:5px;color:var(--muted);font-size:9px;font-weight:600;line-height:1.4}
@media(max-width:600px){.finance-summary article:last-child{min-height:168px}.benefit-balance em{font-size:7.5px}.finance-payment-help{padding:10px}}

/* Financeiro 3.13.1 — participação familiar separada por origem */
@media(max-width:520px){.finance-person-group>small{flex-basis:100%;margin-bottom:-2px}.finance-person-group{gap:5px}.finance-people span{font-size:8.5px}}

/* Larume 3.14.1 — exclusão completa de recorrências financeiras */
.home-welcome-meta{display:flex;align-items:center;gap:9px}.home-hero-version{padding:4px 7px;border:1px solid #ffffff3d;border-radius:999px;background:#ffffff12;color:#e6f1ff;font-size:8px;font-weight:850;letter-spacing:.05em}.home-updates{margin-bottom:20px;padding:24px;border:1px solid #d8e2ee;border-radius:22px;background:linear-gradient(135deg,#f8fbff,#fff);box-shadow:0 8px 26px #1536600e}.home-updates-head{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px;margin-bottom:17px}.home-updates-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#123a70,#1769e0);color:#fff;box-shadow:0 8px 18px #123a7025}.home-updates-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.home-updates-head small{font-size:9px;font-weight:900;letter-spacing:.14em;color:#66748a}.home-updates-head h3{margin:4px 0 3px;font-size:20px}.home-updates-head p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.home-version-badge{align-self:start;padding:7px 10px;border:1px solid #bcd2ee;border-radius:999px;background:#eaf3ff;color:#145ebf;font-size:9px;white-space:nowrap}.home-release-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:9px}.home-release{min-width:0;border:1px solid #dfe6ef;border-radius:14px;background:#fff;overflow:hidden}.home-release.current{border-color:#9ec1ec;box-shadow:0 5px 14px #1769e00d}.home-release summary{display:grid;grid-template-columns:34px minmax(0,1fr) auto 18px;align-items:center;gap:9px;padding:12px;cursor:pointer;list-style:none}.home-release summary::-webkit-details-marker{display:none}.home-release-marker{width:33px;height:33px;border-radius:10px;display:grid;place-items:center;background:#eef3f8;color:#59708c;font-size:11px}.home-release.current .home-release-marker{background:#1769e0;color:#fff}.home-release summary small,.home-release summary strong{display:block}.home-release summary small{color:#788699;font-size:8px;font-weight:850;letter-spacing:.06em}.home-release summary strong{margin-top:3px;font-size:11px}.home-release summary>b{padding:4px 6px;border-radius:7px;background:#e4f5ed;color:#08734b;font-size:7px}.home-release summary>i{color:#6f7d90;font-style:normal;font-size:16px;transition:transform .18s}.home-release[open] summary>i{transform:rotate(180deg)}.home-release ul{display:grid;gap:6px;margin:0;padding:0 13px 13px 58px;list-style:none}.home-release li{position:relative;color:#536176;font-size:9px;line-height:1.45}.home-release li:before{content:"✓";position:absolute;left:-14px;color:#16845b;font-weight:900}
@media(max-width:760px){.home-release-list{grid-template-columns:1fr}}
@media(max-width:600px){.home-updates{padding:17px;border-radius:18px}.home-updates-head{grid-template-columns:42px minmax(0,1fr);gap:10px}.home-updates-icon{width:42px;height:42px;border-radius:13px}.home-updates-head h3{font-size:18px}.home-updates-head p{margin-top:4px}.home-version-badge{grid-column:1/-1;justify-self:start}.home-release summary{grid-template-columns:32px minmax(0,1fr) auto 16px;padding:10px}.home-release-marker{width:31px;height:31px}.home-release ul{padding:0 11px 11px 53px}}

/* v3.23.1: Concierge da família */
.assistant-voice-tool{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #bcd0e7;border-radius:12px;background:#fff;color:#123a70;font-weight:850;cursor:pointer}.assistant-voice-tool:hover{background:#edf5ff;border-color:#8eb5df}.assistant-voice-tool.listening{border-color:#d36a79;background:#fff0f2;color:#b2253a}.assistant-voice-tool.unsupported{opacity:.55;cursor:not-allowed}@media(max-width:600px){.assistant-form{grid-template-columns:minmax(0,1fr) auto auto!important}.assistant-voice-tool span:last-child{display:none}.assistant-voice-tool{min-width:44px!important;padding:0 10px}}
.home-assistant{margin-bottom:20px;padding:24px;border:1px solid #cdddf0;border-radius:22px;background:linear-gradient(135deg,#f5f9ff,#fff);box-shadow:0 10px 28px #1536600d}.home-assistant-head{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px}.home-assistant-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#123a70,#1769e0);color:#f2bc4b;font-size:25px;font-weight:900;box-shadow:0 8px 18px #123a7025}.home-assistant-head small{font-size:9px;font-weight:900;letter-spacing:.14em;color:#66748a}.home-assistant-head h3{margin:4px 0 3px;font-size:20px}.home-assistant-head p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.home-assistant-status{align-self:start;padding:7px 10px;border:1px solid #e5c982;border-radius:999px;background:#fff8e7;color:#765a13;font-size:9px;white-space:nowrap}.home-assistant-status.configured{border-color:#b8dfce;background:#e8f7ef;color:#08734b}.assistant-messages{display:grid;gap:9px;max-height:330px;overflow-y:auto;margin:19px 0 12px;padding:2px 3px 2px 0;scroll-behavior:smooth}.assistant-message{max-width:86%;padding:11px 13px;border-radius:15px;background:#fff;border:1px solid #dfe7f1;color:#33445a;box-shadow:0 4px 12px #15366008}.assistant-message p{margin:0;font-size:11px;line-height:1.55}.assistant-message.user{justify-self:end;background:#123a70;border-color:#123a70;color:#fff;border-bottom-right-radius:5px}.assistant-message.assistant{justify-self:start;border-bottom-left-radius:5px}.assistant-richtext{display:grid;gap:8px;min-width:0}.assistant-richtext p{margin:0;font-size:11px;line-height:1.55}.assistant-richtext h4{margin:0;color:#173d70;font-size:11px;line-height:1.4}.assistant-richtext strong{font-weight:850;color:inherit}.assistant-richtext code{padding:2px 4px;border-radius:4px;background:#edf3fa;font-size:10px}.assistant-richtext ul{display:grid;gap:4px;margin:0;padding-left:17px}.assistant-richtext li{font-size:11px;line-height:1.45}.assistant-table-wrap{max-width:100%;overflow-x:auto;border:1px solid #e1e9f2;border-radius:9px}.assistant-richtext table{width:100%;min-width:230px;border-collapse:collapse;font-size:10px}.assistant-richtext th,.assistant-richtext td{padding:6px 8px;border-bottom:1px solid #edf1f5;text-align:left;vertical-align:top}.assistant-richtext th{background:#f4f8fc;color:#55708f;font-size:9px;font-weight:850;white-space:nowrap}.assistant-richtext td:last-child,.assistant-richtext th:last-child{text-align:right;white-space:nowrap}.assistant-richtext tbody tr:last-child td{border-bottom:0}.assistant-message.user .assistant-richtext h4{color:#fff}.assistant-message.user .assistant-richtext code{background:#ffffff1c}.assistant-action{margin-top:10px;padding:10px;border:1px solid #e8d49b;border-radius:11px;background:#fffaf0;color:#4c3c15}.assistant-action.closed{border-color:#cfe4da;background:#f2fbf6;color:#26543f}.assistant-action>strong{display:block;font-size:10px}.assistant-action>p{margin:4px 0 8px;font-size:10px}.assistant-action>small{display:block;font-size:9px;line-height:1.4}.assistant-action button{border:0;border-radius:8px;padding:7px 10px;font-size:10px;font-weight:850;cursor:pointer}.assistant-confirm{background:#1769e0;color:#fff}.assistant-cancel{margin-left:6px;background:#edf1f5;color:#4c5c70}.assistant-prompts{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.assistant-prompts button{border:1px solid #cddced;border-radius:999px;padding:7px 10px;background:#fff;color:#1d5ba5;font-size:10px;cursor:pointer}.assistant-prompts button:hover{background:#eaf3ff}.assistant-form{display:flex;gap:8px}.assistant-form input{min-width:0;flex:1;height:43px;border:1px solid #cbd8e7;border-radius:12px;padding:0 13px;background:#fff;color:#1c2b3d;font-size:11px;outline:0}.assistant-form input:focus{border-color:#1769e0;box-shadow:0 0 0 3px #1769e01a}.assistant-form button{flex:0 0 auto;min-width:76px}.assistant-form button:disabled{opacity:.55;cursor:wait}.assistant-help{margin:10px 0 0;color:#788699;font-size:9px;line-height:1.45}
@media(max-width:600px){.home-assistant{padding:17px;border-radius:18px}.home-assistant-head{grid-template-columns:42px minmax(0,1fr);gap:10px}.home-assistant-icon{width:42px;height:42px;border-radius:13px;font-size:22px}.home-assistant-head h3{font-size:18px}.home-assistant-status{grid-column:1/-1;justify-self:start}.assistant-message{max-width:94%}.assistant-form{display:grid;grid-template-columns:minmax(0,1fr) auto}.assistant-form button{min-width:70px}.assistant-prompts{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px}.assistant-prompts button{white-space:nowrap}}

.assistant-history{margin-top:13px;border-top:1px solid #dfe7f1;padding-top:10px}.assistant-history summary{color:#5f7188;cursor:pointer;font-size:10px;font-weight:850}.assistant-history-item{display:grid;grid-template-columns:74px minmax(0,1fr);gap:7px;padding:7px 0;border-bottom:1px solid #edf1f5;color:#52647a;font-size:9px;line-height:1.4}.assistant-history-item strong{color:#1769e0}.assistant-history-empty{display:block;margin-top:8px;color:#8793a2;font-size:9px}

/* Financeiro 3.25.5 — fechamento mensal com saldo real */
.finance-month-close-modal{display:grid;gap:13px}.finance-month-close-kicker{color:#1769e0;font-size:9px;font-weight:900;letter-spacing:.14em}.finance-month-close-modal h2{margin:0}.finance-month-close-modal p{margin:0;color:#4f6075;font-size:11px;line-height:1.5}.finance-month-close-balance{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 10px;padding:13px 14px;border:1px solid #c9e1d5;border-radius:13px;background:#f1fbf5;color:#145c3e}.finance-month-close-balance.negative{border-color:#efc6cc;background:#fff4f5;color:#a02639}.finance-month-close-balance strong{font-size:11px}.finance-month-close-balance b{font-size:17px}.finance-month-close-balance span{grid-column:1/-1;color:#607385;font-size:9px}.finance-month-close-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.finance-month-close-option{display:grid;gap:5px;min-height:82px;padding:12px;border:1px solid #c9d8e8;border-radius:12px;background:#fff;color:#173d70;text-align:left;cursor:pointer}.finance-month-close-option:hover,.finance-month-close-option.is-selected{border-color:#1769e0;background:#f2f7ff;box-shadow:0 0 0 3px #1769e014}.finance-month-close-option:disabled{opacity:.55;cursor:wait}.finance-month-close-option strong{font-size:11px}.finance-month-close-option small{color:#64758a;font-size:9px;line-height:1.4}.finance-month-close-note{color:#78889b;font-size:9px;line-height:1.45}@media(max-width:520px){.finance-month-close-options{grid-template-columns:1fr}.finance-month-close-balance b{font-size:15px}}
