/* SG Finance Pessoal — responsive premium shell */
:root{--sg-blue:#155EEF;--sg-blue-2:#0B4DBB;--sg-teal:#14B8A6;--sg-ink:#0F172A;--sg-muted:#64748B;--sg-line:#E2E8F0;--sg-surface:#FFF;--sg-bg:#F5F8FC;--sg-shadow:0 18px 50px rgba(15,23,42,.08)}
body{background:var(--sg-bg);color:var(--sg-ink);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}
.sg-mobile-menu-btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(15,23,42,.1);border-radius:12px;background:#fff;color:var(--sg-ink);box-shadow:0 8px 24px rgba(15,23,42,.08);cursor:pointer;z-index:10002}.sg-mobile-menu-btn span,.sg-mobile-menu-btn span:before,.sg-mobile-menu-btn span:after{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;content:"";transition:.2s}.sg-mobile-menu-btn span:before{transform:translateY(-6px)}.sg-mobile-menu-btn span:after{transform:translateY(4px)}
.sg-mobile-backdrop{display:none;position:fixed;inset:0;background:rgba(15,23,42,.38);backdrop-filter:blur(3px);z-index:9998}.sg-mobile-backdrop.is-open{display:block}.sg-mobile-sidebar{z-index:9999}.sg-mobile-header{display:none}
.card,.panel,.section-card,.dashboard-card{border:1px solid rgba(148,163,184,.18)!important;box-shadow:var(--sg-shadow)!important;border-radius:18px!important;background:rgba(255,255,255,.96)}
.compact-form,.transaction-quick-form{gap:12px}.form-row{display:flex;gap:10px;flex-wrap:wrap}.form-row>*{flex:1 1 180px;min-width:0}.account-card-options{display:flex;gap:20px;flex-wrap:wrap;padding:4px 0}.account-card-options label{display:flex;gap:8px;align-items:center;color:#334155;font-size:14px}.nested-settings{padding:14px;border:1px solid #dbe5f0;border-radius:14px;background:#f8fbff}.transaction-type-toggle{display:flex;gap:8px;margin-bottom:12px}.transaction-type-toggle label{cursor:pointer}.transaction-type-toggle input{position:absolute;opacity:0}.transaction-type-toggle span{display:inline-flex;padding:9px 16px;border:1px solid #dbe5f0;border-radius:999px;background:#fff;color:#475569}.transaction-type-toggle input:checked+span{background:#e9f1ff;border-color:#93b4ff;color:#155eef;font-weight:700}.transaction-main-fields{display:grid;grid-template-columns:160px minmax(180px,2fr) minmax(160px,1fr) 150px;gap:10px}.transaction-secondary-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.transaction-list{margin-top:16px}.transaction-row-premium{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:14px 4px;border-bottom:1px solid #edf2f7}.tx-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-weight:800}.tx-icon.income{background:#e7f8f3;color:#0f9d82}.tx-icon.expense{background:#fff0f1;color:#d64550}.tx-main{min-width:0}.tx-main strong,.tx-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-main small{margin-top:4px;color:#718096}.tx-amount.income{color:#0b8f76}.tx-amount.expense{color:#d64550}.tx-actions{display:flex;gap:4px}.icon-button{width:34px;height:34px;border:1px solid #dbe5f0;border-radius:10px;background:#fff;color:#334155;cursor:pointer}.icon-button.danger{color:#c73d48}.account-item-premium{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px 4px;border-bottom:1px solid #edf2f7}.account-item-premium strong,.account-item-premium small,.account-badges{display:block}.account-item-premium small{color:#64748b;margin-top:3px}.account-badges{color:#155eef;font-size:12px;margin-top:4px}.empty-state{padding:30px;text-align:center;color:#64748b}
@media (min-width:769px){.sg-mobile-sidebar{position:sticky!important;top:0;height:100vh;overflow-y:auto}}
@media (max-width:768px){body{overflow-x:hidden}.sg-mobile-header{display:flex;position:sticky;top:0;height:68px;padding:10px 14px;align-items:center;gap:12px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(148,163,184,.2);z-index:9997}.sg-mobile-header .sg-mobile-brand{font-weight:800;color:var(--sg-blue);font-size:15px;letter-spacing:-.02em}.sg-mobile-menu-btn{display:flex}.sg-mobile-sidebar{position:fixed!important;left:0;top:0;bottom:0;width:min(86vw,330px);height:100dvh!important;overflow-y:auto;background:#fff;box-shadow:24px 0 60px rgba(15,23,42,.18);transform:translateX(-105%);transition:transform .24s ease;overscroll-behavior:contain}.sg-mobile-sidebar.is-open{transform:translateX(0)}main{width:100%!important;min-width:0!important;padding-left:14px!important;padding-right:14px!important}.app-shell,.app-layout,.layout,.dashboard-layout{display:block!important;width:100%!important;min-width:0!important}.dashboard,.content,.main-content{width:100%!important;min-width:0!important}.transaction-main-fields,.transaction-secondary-fields{grid-template-columns:1fr}.transaction-row-premium{grid-template-columns:38px minmax(0,1fr) auto}.tx-actions{grid-column:2 / -1;justify-content:flex-end}.form-row{display:grid;grid-template-columns:1fr}.form-row>*{width:100%}.card,.panel,.section-card,.dashboard-card{border-radius:15px!important}h1{font-size:28px!important;line-height:1.12!important}h2{font-size:21px!important}h3{font-size:17px!important}.grid,.cards-grid,.dashboard-grid{grid-template-columns:1fr!important}table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.modal,.dialog{width:calc(100vw - 28px)!important;max-width:none!important}}
@media (max-width:420px){.sg-mobile-header{height:62px}.sg-mobile-brand{font-size:14px!important}main{padding:12px!important}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* refinamentos de contas, extrato, categorias e lançamentos */
.statement-filters{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.statement-filters select{max-width:300px}.statement-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 18px}.statement-card{padding:16px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fbff}.statement-card span,.statement-card strong{display:block}.statement-card span{color:#64748b;font-size:12px}.statement-card strong{margin-top:6px}.read-only-label{font-size:11px;color:#94a3b8}.tx-icon.future{background:#fff7ed;color:#c2410c}.color-picker{display:flex;align-items:center;gap:10px;min-width:220px}.color-dots{display:flex;gap:7px;flex-wrap:wrap}.color-dot{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.color-dot.selected{outline:2px solid #0f172a;outline-offset:2px}.save-account-button{max-width:220px!important;margin-top:4px}.category-config{min-height:500px}.dynamic-config-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}.dynamic-config-form>*{flex:1 1 220px}.category-tree{display:grid;gap:10px;margin-top:12px}.category-group{border:1px solid #e2e8f0;border-radius:14px;padding:10px;background:#fbfdff}.category-line{display:grid;grid-template-columns:12px 1fr auto;gap:10px;align-items:center;padding:7px 4px}.category-line.sub{padding-left:24px}.category-line small{color:#94a3b8}.category-dot{width:10px;height:10px;border-radius:50%}.subscription-card{display:flex;flex-direction:column;gap:6px;padding:16px;background:#f8fbff;border:1px solid #dbe5f0;border-radius:14px;margin:12px 0}.subscription-card span{font-size:18px;font-weight:800;color:#155eef}.subscription-card small{color:#64748b}.transaction-row-premium.read-only{grid-template-columns:42px minmax(0,1fr) auto auto}.transactions-workspace .transaction-quick-form{border:1px solid #e2e8f0;padding:16px;border-radius:16px;background:#fbfdff;margin-top:14px}.transactions-workspace .transaction-quick-form input,.transactions-workspace .transaction-quick-form select{background:#fff}
@media(max-width:768px){.statement-summary{grid-template-columns:1fr 1fr}.transaction-row-premium.read-only{grid-template-columns:38px minmax(0,1fr);}.read-only-label{grid-column:2}.save-account-button{max-width:100%!important}}

.account-workspace .compact-form .form-row{display:grid;grid-template-columns:1.1fr 1.3fr 1fr 1fr 150px;align-items:center}.account-card-options input[type=checkbox]{width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;flex:0 0 18px!important;accent-color:#155EEF}.account-card-options label{white-space:nowrap}.account-workspace .form-row input,.account-workspace .form-row select{min-height:46px}.account-workspace .nested-settings .form-row{grid-template-columns:repeat(6,minmax(110px,1fr))}.save-account-button{display:inline-flex!important;justify-content:center;align-items:center;padding:12px 22px!important;min-height:44px!important}
@media(max-width:1000px){.account-workspace .compact-form .form-row,.account-workspace .nested-settings .form-row{grid-template-columns:1fr 1fr}}

/* Lançamentos — leitura rápida e ação contextual */
.transactions-workspace{padding:24px}.transactions-workspace .section-head{align-items:center;margin-bottom:18px}.transactions-workspace .section-head h2{font-size:24px;margin:0 0 4px}.transactions-workspace .section-head .muted{font-size:13px}.transactions-workspace .primary-button{border-radius:12px;min-height:42px;padding:0 18px;font-weight:700}.transactions-workspace .transaction-quick-form{box-shadow:0 12px 30px rgba(15,23,42,.05)}.transaction-main-fields input:first-child{font-size:18px;font-weight:700}.transaction-row-premium{min-height:68px;transition:background .15s ease,transform .15s ease}.transaction-row-premium:hover{background:#f8fbff;border-radius:12px;transform:translateY(-1px)}.tx-actions .icon-button{opacity:.72;transition:.15s}.transaction-row-premium:hover .tx-actions .icon-button{opacity:1}.transactions-workspace .empty-state{border:1px dashed #dbe5f0;border-radius:14px;background:#fbfdff}.account-workspace .compact-form{padding-top:4px}.account-workspace .compact-form>button{max-width:220px}.account-card-options{margin:4px 0 6px}.account-card-options label{font-size:13px}.account-card-options input[type=checkbox]{appearance:none!important;-webkit-appearance:none!important;border:1.5px solid #94a3b8!important;border-radius:5px!important;background:#fff!important;position:relative}.account-card-options input[type=checkbox]:checked{background:#155EEF!important;border-color:#155EEF!important}.account-card-options input[type=checkbox]:checked:after{content:'✓';position:absolute;inset:0;color:#fff;font-size:13px;line-height:17px;text-align:center;font-weight:800}.color-picker{min-height:46px;padding:0 4px}.color-picker>span{font-size:12px;color:#64748b}.save-account-button{width:auto!important}


/* Padronização visual global — campos arredondados e compactos */
.main input:not([type=hidden]),.main select,.main textarea{border:1px solid #cbd5e1!important;border-radius:12px!important;background:#fff!important;color:#0f172a!important;min-height:44px;padding:10px 12px!important;box-sizing:border-box;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.main input:not([type=hidden]):focus,.main select:focus,.main textarea:focus{border-color:#7aa2f7!important;box-shadow:0 0 0 3px rgba(37,99,235,.10)!important}.main select{appearance:auto}.main button{border-radius:12px}.transaction-quick-form input:not([type=hidden]),.transaction-quick-form select{min-height:42px}.transaction-type-toggle label span{transition:.15s}.transaction-type-toggle input[value="RECEITA"]:checked+span{background:#dcfce7;border-color:#86efac;color:#15803d}.transaction-type-toggle input[value="DESPESA"]:checked+span{background:#fee2e2;border-color:#fca5a5;color:#b91c1c}.statement-filters select{min-width:250px}.transferenciasView .form-row select{min-height:46px}.account-workspace .compact-form .form-row{display:grid;grid-template-columns:1.05fr 1.25fr 1fr 1fr 170px;align-items:center}.account-workspace .compact-form .form-row>*{flex:none}.account-workspace .compact-form{gap:10px}.account-workspace .account-card-options{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px}.account-workspace .save-account-button{min-width:180px!important;margin-left:auto}.account-workspace .color-picker{justify-content:flex-start}.account-workspace .color-dots{max-width:180px}.account-workspace .color-dot{width:30px;height:30px}.category-config .dynamic-config-form{align-items:center}.category-config .dynamic-config-form input,.category-config .dynamic-config-form select{min-height:44px}.category-config .dynamic-config-form button{min-height:44px;padding:0 22px}.category-config .color-dots{gap:8px}.category-config .color-dot{width:30px;height:30px}.category-line{grid-template-columns:12px minmax(0,1fr) auto auto}.category-edit-button{min-width:72px;height:32px;padding:0 10px!important;font-size:12px}.transactions-workspace .transaction-secondary-fields{grid-template-columns:1.1fr 1.1fr 1.2fr}.transaction-secondary-fields select:disabled{background:#f1f5f9!important;color:#94a3b8!important;cursor:not-allowed}.transaction-type-toggle{gap:8px}.transaction-type-toggle span{min-width:94px;justify-content:center}
@media(max-width:1100px){.account-workspace .compact-form .form-row{grid-template-columns:1fr 1fr}.account-workspace .save-account-button{margin-left:0}.transactions-workspace .transaction-secondary-fields{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:768px){.transactions-workspace .transaction-secondary-fields{grid-template-columns:1fr}.account-workspace .compact-form .form-row{grid-template-columns:1fr}.account-workspace .color-dots{max-width:none}.account-workspace .save-account-button{width:100%!important}.statement-filters select{min-width:0;max-width:none;width:100%}}

/* Dinheiro e dias — padrão financeiro global */
.field-with-reference{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.field-with-reference>span{font-size:12px;font-weight:700;color:#475569;line-height:1.2}.field-with-reference input{width:100%}.money-input{font-variant-numeric:tabular-nums}.day-input{text-align:center;font-variant-numeric:tabular-nums}.account-workspace .card-fields{grid-template-columns:1.1fr 1.2fr .8fr .8fr .8fr!important;align-items:end}.account-workspace .card-fields .field-with-reference{min-width:0}.account-workspace .form-row:has(.field-with-reference){align-items:end}
@media(min-width:769px){.account-workspace .compact-form .form-row{grid-template-columns:1.05fr 1.25fr 1fr 1fr 170px!important}.account-workspace .nested-settings .card-fields{grid-template-columns:1.1fr 1.2fr .8fr .8fr .8fr!important}.account-workspace{overflow:visible}}
@media(max-width:768px){.account-workspace .card-fields{grid-template-columns:1fr!important}.field-with-reference>span{font-size:11px}}


/* Contas — desktop-first enquanto a versão PWA permanece em etapa posterior */
.account-desktop-page{width:100%;max-width:none;overflow:visible}.account-desktop-page .section-head{margin-bottom:18px}.account-desktop-page .account-desktop-form{display:block!important;padding:20px;border:1px solid #e2e8f0;border-radius:16px;background:#fbfdff}.account-desktop-page .account-main-grid{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,1.1fr) minmax(200px,1.25fr) minmax(160px,.9fr);gap:14px;align-items:end}.account-desktop-page .account-main-grid .field-with-reference{min-width:0}.account-desktop-page .account-color-field{min-width:150px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.account-desktop-page .color-control{display:flex;align-items:center;min-height:44px}.account-desktop-page .account-color-field .color-dots{max-width:36px;overflow:visible}.account-desktop-page .account-color-field .color-dot{width:32px;height:32px}.account-desktop-page .account-options-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding-top:16px;border-top:1px solid #e7edf4}.account-desktop-page .account-card-options{padding:0;background:transparent;border:0;margin:0;gap:24px}.account-desktop-page .account-form-actions{display:flex;align-items:center;gap:8px}.account-desktop-page .account-form-actions button{min-height:42px}.account-desktop-page .save-account-button{min-width:150px!important;margin:0!important}.account-desktop-page .credit-card-desktop{margin-top:18px;padding:18px 18px 20px}.account-desktop-page .nested-settings-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.account-desktop-page .nested-settings-head strong,.account-desktop-page .nested-settings-head span{display:block}.account-desktop-page .nested-settings-head span{font-size:12px;color:#64748b;margin-top:3px}.account-desktop-page .card-fields{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(180px,1.2fr) 160px 160px 160px;gap:14px;align-items:end}.account-desktop-page .field-with-reference>span{font-size:12px;font-weight:700;color:#475569}.account-desktop-page .accounts-list{margin-top:8px}.account-desktop-page #accountsList{margin-bottom:16px}.account-desktop-page #accountsList:empty{margin-bottom:0}.account-desktop-page #accountsList .account-item-premium{padding:13px 8px}.account-desktop-page #cardsList .item{min-height:56px}
@media(min-width:769px){.account-desktop-page .account-desktop-form .form-row{display:block}.account-desktop-page .account-main-grid{grid-template-columns:minmax(150px,1fr) minmax(180px,1.1fr) minmax(200px,1.25fr) minmax(160px,.9fr)}.account-desktop-page .credit-card-desktop .card-fields{grid-template-columns:minmax(180px,1.3fr) minmax(180px,1.2fr) 160px 160px 160px}.account-desktop-page .account-options-row{flex-wrap:nowrap}}
@media(max-width:1100px) and (min-width:769px){.account-desktop-page .account-main-grid{grid-template-columns:170px minmax(200px,1fr) minmax(220px,1.2fr);}.account-desktop-page .money-field{grid-column:1}.account-desktop-page .account-color-field{grid-column:2}.account-desktop-page .credit-card-desktop .card-fields{grid-template-columns:1.2fr 1.2fr 1fr 1fr 1fr}}
@media(max-width:768px){.account-desktop-page .account-desktop-form{padding:14px}.account-desktop-page .account-main-grid{grid-template-columns:1fr}.account-desktop-page .account-options-row{display:block}.account-desktop-page .account-form-actions{margin-top:14px}.account-desktop-page .save-account-button{width:auto!important}.account-desktop-page .credit-card-desktop .card-fields{grid-template-columns:1fr}}


/* Configurações — grupo visual único na versão desktop */
#contasConfigView,#cadastrosView,#notificacoesView,#preferenciasView{max-width:none;width:100%}#contasConfigView>.card,#cadastrosView>.card,#notificacoesView>.card,#preferenciasView>.card{border-radius:16px}#contasConfigView .section-head,#cadastrosView .section-head,#notificacoesView .section-head,#preferenciasView .section-head{align-items:center}#contasConfigView input,#contasConfigView select,#cadastrosView input,#cadastrosView select,#notificacoesView input,#notificacoesView select,#notificacoesView textarea,#preferenciasView input,#preferenciasView select{min-height:42px}#cadastrosView .dashboard-grid,#notificacoesView .dashboard-grid,#preferenciasView .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#cadastrosView .form,#notificacoesView .form,#preferenciasView .form{gap:12px}#cadastrosView .card,#notificacoesView .card,#preferenciasView .card{padding:20px}
@media(max-width:900px) and (min-width:769px){#cadastrosView .dashboard-grid,#notificacoesView .dashboard-grid,#preferenciasView .dashboard-grid{grid-template-columns:1fr}}
@media(max-width:768px){#cadastrosView .dashboard-grid,#notificacoesView .dashboard-grid,#preferenciasView .dashboard-grid{grid-template-columns:1fr}}

/* Paleta de cores padrão — seletor em grade */
.square-color-picker{position:relative;width:42px;height:42px;display:grid;place-items:center;z-index:20}.color-current{width:32px!important;height:32px!important;min-height:32px!important;padding:0!important;border:3px solid #fff!important;border-radius:50%!important;box-shadow:0 0 0 1px #cbd5e1,0 3px 8px rgba(15,23,42,.14)!important;cursor:pointer!important}.color-grid{position:absolute;left:0;top:48px;width:174px;padding:10px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:#fff;border:1px solid #dbe5f0;border-radius:12px;box-shadow:0 14px 30px rgba(15,23,42,.16);z-index:100}.color-grid[hidden]{display:none}.color-grid-dot{width:32px!important;height:32px!important;min-height:32px!important;padding:0!important;border:2px solid #fff!important;border-radius:6px!important;box-shadow:0 0 0 1px #cbd5e1!important;cursor:pointer!important}.color-grid-dot:hover,.color-grid-dot.selected{box-shadow:0 0 0 2px #0f172a,0 3px 7px rgba(15,23,42,.18)!important;transform:none!important}.account-desktop-page .account-color-field .color-control{min-height:44px;overflow:visible}.account-desktop-page .account-color-field .square-color-picker{margin-left:2px}.dynamic-config-form .color-picker{min-width:220px}.category-config .square-color-picker{margin-left:2px}

/* Ajuste final — seletor de cor não aumenta nem estoura o formulário */
.account-desktop-page,.account-desktop-page .account-desktop-form,.account-desktop-page .account-main-grid{min-width:0;box-sizing:border-box}
.account-desktop-page .account-main-grid>*{min-width:0;max-width:100%;box-sizing:border-box}
.account-desktop-page .account-color-field{position:relative;min-width:0}
.account-desktop-page .account-color-field .color-control{position:relative;min-width:42px;width:42px;overflow:visible}
.account-desktop-page .color-grid{left:0;right:auto;max-width:calc(100vw - 32px);box-sizing:border-box}
@media(min-width:769px) and (max-width:1100px){.account-desktop-page .account-main-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.account-desktop-page .account-main-grid .money-field{grid-column:auto}.account-desktop-page .account-main-grid .account-color-field{grid-column:auto}.account-desktop-page .account-options-row{flex-wrap:wrap}.account-desktop-page .account-form-actions{margin-left:auto}}
@media(min-width:769px){.account-desktop-page .account-desktop-form{width:100%;overflow:visible}.account-desktop-page .account-main-grid{width:100%}.account-desktop-page .account-color-field .color-control{flex:0 0 42px}}

/* Navegação interna de Configurações */
.settings-tabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px;margin:-2px 0 20px;background:#f3f7fb;border:1px solid #dce6f0;border-radius:12px;overflow-x:auto}.settings-tab{appearance:none;border:0;background:transparent;color:#526173;font-weight:700;padding:9px 14px;border-radius:9px;white-space:nowrap;cursor:pointer}.settings-tab:hover{background:#e8eef6;color:#172033}.settings-tab.active{background:#fff;color:#0f172a;box-shadow:0 2px 8px rgba(15,23,42,.10);border:1px solid #dbe4ee}@media(max-width:768px){.settings-tabs{flex-wrap:nowrap;overflow-x:auto}.settings-tab{padding:8px 12px}}

/* Cartão da conta — seleção única e configuração compacta */
.account-card-type{display:flex;flex-direction:column;gap:7px;min-width:0}.account-card-type-label{font-size:12px;font-weight:700;color:#526173}.account-card-type-options{display:flex;gap:7px;flex-wrap:wrap}.account-card-type-options label{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid #d8e2ed;border-radius:10px;background:#f8fafc;color:#334155;font-weight:700;cursor:pointer}.account-card-type-options label:has(input:checked){border-color:#2f72df;background:#eaf2ff;color:#1554b4;box-shadow:0 2px 7px rgba(37,99,235,.12)}.account-card-type-options input{accent-color:#2563eb;margin:0}.credit-card-desktop{border:1px solid #dbe5f0!important;background:linear-gradient(180deg,#f8fbff 0%,#f2f7fc 100%)!important;border-radius:14px!important;box-shadow:inset 0 1px 0 #fff,0 5px 14px rgba(15,23,42,.05)!important}.credit-card-desktop .nested-settings-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.credit-card-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#eaf2ff;color:#1554b4;font-size:11px;font-weight:800}.credit-card-desktop .card-fields{grid-template-columns:180px 110px 110px!important;justify-content:start;gap:14px!important}.credit-card-desktop .card-fields .field-with-reference:first-child{grid-column:span 1}@media(max-width:900px){.credit-card-desktop .card-fields{grid-template-columns:180px 110px 110px!important}}@media(max-width:600px){.account-card-type-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.account-card-type-options label{justify-content:center;padding:8px 6px}.credit-card-desktop .card-fields{grid-template-columns:1fr!important}}

/* Rádio de tipo de cartão sem marcação retangular nativa */
.account-card-type-options input[type="radio"]{appearance:none;-webkit-appearance:none;width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;padding:0!important;margin:0!important;border:2px solid #9fb0c4!important;border-radius:50%!important;background:#fff!important;box-shadow:none!important;position:relative}.account-card-type-options input[type="radio"]:checked{border-color:#2563eb!important;background:#fff!important;box-shadow:inset 0 0 0 4px #fff,0 0 0 1px #2563eb!important}.account-card-type-options input[type="radio"]:focus{outline:none!important;box-shadow:inset 0 0 0 4px #fff,0 0 0 2px rgba(37,99,235,.22)!important}.account-card-type-options label:has(input:checked){box-shadow:0 2px 7px rgba(37,99,235,.12)}

/* Listagem administrativa das contas: editar/desativar sem exclusão */
.accounts-list-head,.account-row{display:grid;grid-template-columns:minmax(240px,2fr) minmax(150px,1fr) minmax(130px,1fr) minmax(90px,.7fr) minmax(180px,1fr);align-items:center;gap:16px}.accounts-list-head{padding:10px 14px;color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e5edf5}.account-row{padding:14px;border-bottom:1px solid #edf2f7;background:#fff}.account-row:last-child{border-bottom:0}.account-row-main{display:flex;align-items:center;gap:10px;min-width:0}.account-row-main>div{min-width:0}.account-row-main strong,.account-row-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-row-main small{color:#718096;margin-top:3px}.account-row>b{font-size:14px;color:#172033}.account-status{display:inline-flex;align-items:center;width:max-content;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.account-status.active{background:#e8f7ee;color:#15803d}.account-status.inactive{background:#eef2f6;color:#64748b}.account-row-actions{display:flex;justify-content:flex-end;gap:7px}.secondary-button.small{padding:7px 10px;font-size:12px;border-radius:9px}.danger-outline{color:#b42318!important;border-color:#f2b8b3!important}.empty-state{padding:24px;text-align:center;color:#64748b}@media(max-width:1050px){.accounts-list-head{display:none}.account-row{grid-template-columns:minmax(0,1fr) auto;gap:9px 14px}.account-row>span,.account-row>b{grid-column:2}.account-row-main{grid-row:1 / span 3}.account-row-actions{grid-column:1 / -1;justify-content:flex-start}}@media(max-width:600px){.account-row{grid-template-columns:1fr}.account-row-main{grid-row:auto}.account-row>span,.account-row>b{grid-column:auto}.account-row-actions{grid-column:auto}}

/* O cadastro de conta permanece fechado no carregamento; abre somente por Nova conta/Editar. */
.account-desktop-page .account-desktop-form[hidden]{display:none!important}

/* Campos de dia do cartao: largura compacta, proporcional ao valor informado. */
.account-workspace .card-fields .day-input{width:110px;max-width:110px;box-sizing:border-box}

/* Cartao de credito: manter os tres campos juntos mesmo em tela larga. */
.account-desktop-page .credit-card-desktop .card-fields{grid-template-columns:180px 110px 110px!important;justify-content:start!important;gap:14px!important}

/* Categorias: subcategorias recolhidas por padrao e expandidas sob demanda. */
.category-config .category-group{overflow:hidden;padding:0;background:#fff;box-shadow:0 2px 10px rgba(15,23,42,.04)}
.category-config .category-parent-line{grid-template-columns:30px 12px minmax(0,1fr) auto auto;min-height:54px;padding:10px 12px;background:linear-gradient(90deg,#f8fbff,#fff);border-radius:14px;cursor:default}
.category-config .category-toggle{width:30px;height:30px;border:1px solid #dbe5f0;background:#fff;color:#475569;display:grid;place-items:center;padding:0;border-radius:9px;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}
.category-config .category-toggle:hover{background:#eff6ff;border-color:#93c5fd;color:#2563eb}
.category-config .category-toggle[aria-expanded="true"]{background:#2563eb;border-color:#2563eb;color:#fff}
.category-config .category-chevron{font-size:22px;line-height:1;transform:translateX(1px);transition:transform .16s ease}
.category-config .category-toggle[aria-expanded="true"] .category-chevron{transform:rotate(90deg) translateX(1px)}
.category-config .category-count{font-size:11px;font-weight:600;color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:4px 9px;white-space:nowrap}
.category-config .category-subtree{padding:3px 12px 10px 54px;background:#fff;border-top:1px solid #eef2f7}
.category-config .category-subtree[hidden]{display:none}
.category-config .category-line.sub{grid-template-columns:18px 10px minmax(0,1fr) auto auto;padding:9px 8px;border-bottom:1px solid #f1f5f9}
.category-config .category-line.sub:last-child{border-bottom:0}
.category-config .category-sub-branch{width:10px;height:24px;border-left:2px solid #dbe5f0;border-bottom:2px solid #dbe5f0;border-radius:0 0 0 7px}
.category-config .category-empty{padding:12px 8px;color:#94a3b8;font-size:12px;font-style:italic}

/* Categorias e confirmações: controles compactos e consistentes com o visual do produto. */
.category-config .category-toggle{position:relative;width:34px;height:34px;border-radius:50%;border:1px solid #d6e1ee;background:#f8fbff;color:#2563eb;box-shadow:0 2px 7px rgba(37,99,235,.08);font-size:0;transition:all .18s ease}
.category-config .category-toggle::before{content:'+';font-size:19px;font-weight:700;line-height:1}
.category-config .category-toggle[aria-expanded="true"]{background:#2563eb;color:#fff;border-color:#2563eb;box-shadow:0 5px 12px rgba(37,99,235,.22)}
.category-config .category-toggle[aria-expanded="true"]::before{content:'−'}
.category-config .category-toggle:hover{transform:scale(1.04);background:#eff6ff}
.category-config .category-toggle[aria-expanded="true"]:hover{background:#1d4ed8}
.sg-modal[hidden]{display:none!important}
.sg-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px}
.sg-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.42);backdrop-filter:blur(3px)}
.sg-modal-card{position:relative;width:min(430px,calc(100vw - 32px));background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 24px 70px rgba(15,23,42,.24);padding:24px;display:grid;grid-template-columns:44px 1fr;gap:14px;animation:sgModalIn .16s ease-out}
.sg-modal-icon{width:44px;height:44px;border-radius:14px;background:#fff7ed;color:#ea580c;border:1px solid #fed7aa;display:grid;place-items:center;font-weight:800}
.sg-modal-content h3{margin:2px 0 6px;font-size:17px;color:#0f172a}.sg-modal-content p{margin:0;color:#64748b;line-height:1.5;font-size:14px}.sg-modal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.sg-modal-actions button{min-width:96px}.danger-button{background:#dc2626!important;border-color:#dc2626!important}.danger-button:hover{background:#b91c1c!important;border-color:#b91c1c!important}
@keyframes sgModalIn{from{opacity:0;transform:translateY(7px) scale(.98)}to{opacity:1;transform:none}}

/* Refinos da navegacao e lancamento rapido. */
.topbar-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.theme-toggle{width:42px!important;height:42px!important;min-width:42px!important;padding:0!important;border-radius:12px!important;border:1px solid #dbe5f0!important;background:#fff!important;color:#f59e0b!important;display:grid!important;place-items:center!important;box-shadow:0 2px 8px rgba(15,23,42,.06)!important}.lamp-icon{font-size:18px;line-height:1;position:relative;color:#f59e0b}.lamp-icon:before{content:'💡';font-size:19px}.lamp-icon{font-size:0}.sg-dark-theme{background:#0f172a!important;color:#e2e8f0!important}.sg-dark-theme .main,.sg-dark-theme .topbar{background:#0f172a!important;color:#e2e8f0!important}.sg-dark-theme .card,.sg-dark-theme .transactions-workspace{background:#111827!important;border-color:#334155!important;color:#e2e8f0!important}.sg-dark-theme .muted,.sg-dark-theme small{color:#94a3b8!important}.sg-dark-theme .main input:not([type=hidden]),.sg-dark-theme .main select,.sg-dark-theme .main textarea{background:#1e293b!important;color:#e2e8f0!important;border-color:#475569!important}.sg-dark-theme .theme-toggle{background:#1e293b!important;border-color:#475569!important;color:#fbbf24!important}.category-config .dynamic-config-form>button,.category-config .config-submit-button{width:150px!important;min-width:150px!important;max-width:150px!important;flex:0 0 150px!important;justify-self:start}.sg-modal.quick-launch-modal .quick-launch-card{width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto}.quick-launch-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.quick-launch-head h3{margin:3px 0 0}.quick-close{border:0!important;background:#f1f5f9!important;color:#475569!important;width:34px!important;height:34px!important;border-radius:10px!important;font-size:22px!important;padding:0!important}.quick-launch-form{grid-column:1/-1}.quick-kind{margin-bottom:16px}.quick-main-grid,.quick-secondary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.quick-launch-form label{display:grid;gap:6px;color:#475569;font-size:12px;font-weight:600}.quick-launch-form label>input,.quick-launch-form label>select{width:100%}.quick-secondary-grid{margin-top:12px}.quick-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.quick-launch-message{margin-top:8px}.history-notification{display:flex!important;justify-content:space-between;align-items:flex-start}.history-notification small{display:block;color:#94a3b8;margin-top:5px}.transaction-row-premium .tx-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.transaction-row-premium .tx-actions .icon-button{width:36px!important;height:36px!important;border:1px solid #dbe5f0!important;border-radius:10px!important;background:#fff!important;color:#2563eb!important;display:grid!important;place-items:center!important;font-size:0!important;padding:0!important;box-shadow:0 1px 4px rgba(15,23,42,.06)}.transaction-row-premium .tx-actions .icon-button:before{font-size:16px}.transaction-row-premium .tx-actions [data-edit-tx]:before{content:'✎'}.transaction-row-premium .tx-actions [data-delete-tx]:before{content:'🗑'}.transaction-row-premium .tx-actions .danger:before{filter:saturate(.8)}.transaction-row-premium .tx-actions .icon-button:hover{background:#eff6ff!important;border-color:#93c5fd!important}.transaction-row-premium .tx-actions .danger:hover{background:#fef2f2!important;border-color:#fca5a5!important;color:#dc2626!important}
@media(max-width:800px){.quick-main-grid,.quick-secondary-grid{grid-template-columns:1fr}.topbar-actions{gap:6px}}

/* Ajustes do modal de Novo Lançamento: sem rolagem interna e campos no padrão visual do PWA. */
.quick-launch-card.no-scroll{overflow:visible!important;max-height:none!important}
.quick-launch-card{box-sizing:border-box;padding:24px!important}
.quick-launch-form .quick-field{box-sizing:border-box;width:100%;min-height:44px;border:1px solid #d7e1ec!important;border-radius:10px!important;background:#fff!important;color:#172033!important;padding:10px 12px!important;font:inherit!important;outline:none!important;box-shadow:none!important}
.quick-launch-form .quick-field:focus{border-color:#2563eb!important;box-shadow:0 0 0 3px rgba(37,99,235,.10)!important}
.quick-launch-form label>span{font-size:12px;font-weight:600;color:#526176}
.quick-launch-form .quick-field::placeholder{color:#9aa8ba}
.quick-launch-form .transaction-type-toggle label span{min-height:40px;display:flex;align-items:center;justify-content:center}
.quick-launch-card .quick-actions .primary-button,.quick-launch-card .quick-actions .secondary-button{min-height:42px;padding:10px 16px}
.transaction-row-premium .tx-actions .icon-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;text-align:center!important;vertical-align:middle!important;font-family:Arial,sans-serif!important}
.transaction-row-premium .tx-actions .icon-button:before{display:block!important;line-height:1!important;margin:0!important;transform:none!important}

.statement-future-summary{margin:16px 0 12px}.statement-future-card{padding:18px 20px;border:1px solid #bfdbfe;border-radius:16px;background:linear-gradient(135deg,#eff6ff,#f8fbff);display:flex;flex-direction:column;gap:5px}.statement-future-card span{font-size:12px;font-weight:700;color:#1d4ed8;text-transform:uppercase;letter-spacing:.04em}.statement-future-card strong{font-size:25px;color:#0f172a}.statement-future-card small{color:#64748b}.statement-filters{align-items:end}.statement-filters label{display:flex;flex-direction:column;gap:5px;min-width:150px}.statement-filters label span,.history-filters label span{font-size:12px;font-weight:700;color:#526176}.history-filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:16px 0}.history-filters label{display:flex;flex-direction:column;gap:5px}.nav-sub{padding-left:28px!important;font-size:13px!important;color:#64748b!important}.history-filters input{min-height:44px}
@media(max-width:768px){.statement-filters label{width:100%}.statement-filters button{width:100%}.statement-future-card strong{font-size:22px}.history-filters label{width:100%}.history-filters button{width:100%}}

.transaction-row-premium .tx-icon.transfer,.transaction-row-premium .tx-amount.transfer{color:#7c3aed}.history-item{margin-bottom:10px}.history-inline-editor{margin:0 0 12px 44px;padding:16px;border:1px solid #dbe4ef;border-radius:12px;background:#f8fafc}.history-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.history-editor-grid label{display:flex;flex-direction:column;gap:5px}.history-editor-grid label span{font-size:12px;font-weight:700;color:#526176}.history-editor-grid input,.history-editor-grid select{min-height:40px;border:1px solid #d7e1ec;border-radius:9px;background:#fff;padding:8px 10px}.history-editor-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.history-inline-editor .message{margin-top:10px}@media(max-width:768px){.history-inline-editor{margin-left:0}.history-editor-grid{grid-template-columns:1fr}.history-editor-actions{flex-direction:column}.history-editor-actions button{width:100%}}

.tx-actions .icon-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:38px!important;height:38px!important;padding:0!important;line-height:1!important;font-size:0!important;flex:0 0 38px}.tx-actions .action-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block}.tx-actions .history-delete-button{color:#dc2626}.tx-actions .history-edit-button{color:#2563eb}.tx-actions .icon-button:hover .action-icon{stroke-width:2.2}

.report-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.report-menu-card{appearance:none;text-align:left;background:#fff;border:1px solid #dbe4ef;border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:.18s}.report-menu-card:hover{border-color:#2563eb;box-shadow:0 8px 22px rgba(15,23,42,.08);transform:translateY(-1px)}.report-menu-card strong{font-size:16px;color:#172033}.report-menu-card span{font-size:13px;color:#64748b}.report-workspace{display:flex;flex-direction:column;gap:18px}.report-filter-form{display:flex;align-items:flex-end;gap:12px}.report-filter-form label{display:flex;flex-direction:column;gap:6px;min-width:180px}.report-filter-form label span{font-size:12px;font-weight:700;color:#526176}.report-paper{width:min(100%,820px);margin:0 auto;background:#fff;border:1px solid #d9e0e8;box-shadow:0 14px 38px rgba(15,23,42,.10);min-height:1050px;padding:30px;color:#172033}.report-paper-inner{min-height:990px;display:flex;flex-direction:column}.report-brand{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:2px solid #172033}.report-brand img{width:38px;height:38px}.report-brand div{display:flex;flex-direction:column}.report-brand strong{font-size:15px}.report-brand span{font-size:11px;color:#64748b}.report-title-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:24px 0}.report-title-row h1{font-size:25px;margin:0 0 5px}.report-title-row p{margin:0;color:#64748b;font-size:13px}.report-actions{display:flex;gap:8px}.report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px}.report-kpi{border:1px solid #e1e7ef;border-radius:10px;padding:12px;background:#f8fafc}.report-kpi small,.report-object small,.report-line small{display:block;font-size:10px;color:#64748b;text-transform:capitalize}.report-kpi strong{display:block;margin-top:4px;font-size:16px}.report-section{border-top:1px solid #e5eaf0;padding:15px 0}.report-section h3{font-size:14px;margin:0 0 10px;text-transform:capitalize}.report-line{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:9px 0;border-bottom:1px solid #eef2f6}.report-line strong,.report-object strong{display:block;font-size:12px;margin-top:3px}.report-object{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.report-object span{padding:10px;background:#f8fafc;border-radius:8px}.report-muted{color:#94a3b8;font-size:12px}.report-footer{margin-top:auto;padding-top:18px;border-top:1px solid #e5eaf0;font-size:10px;color:#94a3b8}@media(max-width:768px){.report-menu-grid{grid-template-columns:1fr}.report-filter-form{flex-direction:column;align-items:stretch}.report-filter-form label{min-width:0}.report-paper{padding:20px;min-height:900px}.report-title-row{flex-direction:column}.report-kpis{grid-template-columns:repeat(2,1fr)}.report-line{grid-template-columns:repeat(2,1fr)}.report-object{grid-template-columns:1fr}.report-actions{width:100%}.report-actions button{flex:1}}@media print{body.printing-report *{visibility:hidden!important}body.printing-report .print-target,body.printing-report .print-target *{visibility:visible!important}body.printing-report .print-target{position:absolute!important;left:0!important;top:0!important;width:210mm!important;min-height:297mm!important;margin:0!important;padding:14mm!important;border:0!important;box-shadow:none!important;background:#fff!important}.report-paper-inner{min-height:269mm}.report-actions{display:none!important}@page{size:A4;margin:0}}
