:root{color-scheme:dark;--bg:#0b0c0f;--panel:#17191f;--panel2:#1d2028;--text:#f4f5f7;--muted:#9298a5;--line:#2b2e38;--accent:#9b8cff;--green:#65d6a4;--red:#ff858e;--gold:#e9c879}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 18% 0%,#29243e 0%,transparent 38%),radial-gradient(ellipse at 100% 45%,#182b31 0%,transparent 36%),linear-gradient(145deg,#090a0d 0%,#111319 52%,#090b0e 100%);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}.app-shell{width:min(100%,620px);margin:0 auto;padding:calc(env(safe-area-inset-top) + 24px) 20px calc(env(safe-area-inset-bottom) + 28px)}.topbar,.card-heading,.section-heading,.period-row,.period-controls,.quick-actions,.dialog-header,.dialog-actions,.app-footer{display:flex;align-items:center;justify-content:space-between}.topbar{margin-bottom:28px}.eyebrow,.period-label{font-size:10px;letter-spacing:1.5px;color:var(--muted);font-weight:700;margin:0 0 7px}.topbar h1{font-size:25px;letter-spacing:-.8px;margin:0;font-weight:650}.icon-button,.eye-button,.close-button{border:0;background:transparent;color:#c7c9d0;cursor:pointer}.icon-button{font-size:24px;letter-spacing:2px;width:42px;height:42px;border-radius:14px;background:#ffffff0b}.period-row{margin-bottom:13px}.period-label{margin:0}.period-controls{gap:8px}.period-controls select{background:#1b1d25;border:1px solid #30333d;color:#f0f1f4;padding:9px 12px;border-radius:11px;font-size:12px;outline:none}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.balance-card{min-width:0;padding:17px 15px 15px;border:1px solid #ffffff13;border-radius:19px;background:linear-gradient(145deg,#22242d 0%,#171920 100%);box-shadow:0 12px 35px #0003}.primary-card{background:linear-gradient(145deg,#302b49 0%,#1b1c27 80%);border-color:#a99aff33}.reserve-card{background:linear-gradient(145deg,#243c3a 0%,#191f23 85%);border-color:#75d9b233}.card-heading{font-size:11px;color:#c4c6ce;gap:6px}.eye-button{font-size:16px;padding:2px 0 2px 8px;color:#b6b9c4}.amount{font-size:clamp(19px,5vw,25px);font-weight:700;letter-spacing:-.8px;margin:16px 0 9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-footnote{font-size:9px;color:#9da2af;margin:0;line-height:1.45}.quick-actions{gap:7px;margin:18px 0 30px}.text-action{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;min-height:43px;background:#ffffff08;border:1px solid #ffffff12;border-radius:13px;color:#e8e9ed;font-size:11px;font-weight:600;padding:7px 3px;white-space:nowrap}.action-symbol{font-size:17px;font-weight:500}.income{color:var(--green)}.expense{color:var(--red)}.reserve{color:var(--gold)}.withdraw{color:#a9b9ff}.section-heading{margin-bottom:14px}.section-heading h2{font-size:17px;letter-spacing:-.3px;margin:0;font-weight:620}.section-heading .eyebrow{margin-bottom:5px}.categories-section{margin-bottom:30px}.category-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.category-item{background:#ffffff08;border:1px solid #ffffff10;border-radius:14px;padding:12px}.category-top{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:11px;color:#e6e7eb}.category-value{font-size:12px;font-weight:650;margin-top:8px}.category-bar{height:3px;border-radius:4px;background:#ffffff13;margin-top:9px;overflow:hidden}.category-bar span{display:block;height:100%;background:linear-gradient(90deg,#8e80ff,#67cdb7);border-radius:4px}.count-pill{font-size:10px;color:#b9bbc4;background:#ffffff10;border:1px solid #ffffff12;border-radius:20px;padding:5px 9px}.transaction-list{display:flex;flex-direction:column;gap:8px}.transaction-item{display:flex;align-items:center;gap:11px;padding:12px 2px;border-bottom:1px solid #ffffff10}.transaction-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:12px;background:#ffffff0c;color:#b9b1ff;font-size:16px}.transaction-main{flex:1;min-width:0}.transaction-name{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-meta{font-size:10px;color:var(--muted);margin-top:4px}.transaction-value{font-size:12px;font-weight:650;white-space:nowrap}.positive{color:var(--green)}.negative{color:var(--red)}.empty-state{padding:25px 10px;text-align:center;color:var(--muted);font-size:12px;border:1px dashed #ffffff1c;border-radius:14px}.app-footer{font-size:9px;color:#7f8490;margin-top:28px}.dialog{width:min(92vw,430px);border:1px solid #ffffff20;border-radius:22px;background:#191b22;color:var(--text);padding:21px;box-shadow:0 25px 80px #0009}.dialog::backdrop{background:#0009;backdrop-filter:blur(5px)}.dialog-header{margin-bottom:20px}.dialog-header h2{font-size:20px;margin:0}.close-button{font-size:27px}.dialog label{display:block;color:#c6c8d0;font-size:11px;margin:14px 0}.dialog input,.dialog select{display:block;width:100%;margin-top:7px;padding:13px 12px;background:#101217;border:1px solid #343742;border-radius:11px;color:#fff;font-size:14px;outline:none}.dialog input:focus,.dialog select:focus{border-color:#9587ff}.dialog-actions{gap:9px;margin-top:22px}.button-primary,.button-secondary{flex:1;border:0;border-radius:12px;padding:13px;font-weight:650;font-size:12px}.button-primary{background:#a397ff;color:#171522}.button-secondary{background:#ffffff12;color:#e5e6ea}.menu-dialog{max-width:390px}.menu-help,.privacy-note{font-size:11px;color:var(--muted);line-height:1.5}.menu-option{width:100%;display:flex;align-items:center;gap:13px;text-align:left;background:#ffffff09;border:1px solid #ffffff12;border-radius:13px;color:#bcb3ff;padding:14px;margin-top:9px;font-size:19px}.menu-option span{display:flex;flex-direction:column;gap:4px;color:#f1f1f4}.menu-option strong{font-size:12px}.menu-option small{font-size:10px;color:var(--muted)}.privacy-note{margin-top:18px}.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 22px);transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#f1efff;color:#1b1930;padding:11px 16px;border-radius:12px;font-size:11px;font-weight:650;transition:.2s;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:360px){.app-shell{padding-left:14px;padding-right:14px}.quick-actions{gap:5px}.text-action{font-size:10px}.balance-card{padding:14px 11px}.card-heading{font-size:10px}}

.delete-transaction{flex:0 0 30px;width:30px;height:30px;border:1px solid #ffffff18;border-radius:9px;background:#ffffff08;color:#ff8d98;font-size:20px;line-height:1;cursor:pointer;margin-left:3px}.delete-transaction:active{background:#ff667722}

/* Ajustes de enquadramento e foco no iPhone */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
button, input, select, textarea { font-family: inherit; }
.dialog input, .dialog select, .dialog textarea,
.period-controls select, input, select, textarea {
  font-size: 16px;
}
.app-shell { width: min(100%, 620px); padding-left: clamp(14px, 4vw, 20px); padding-right: clamp(14px, 4vw, 20px); }
.summary-grid { min-width: 0; }
.balance-card { min-width: 0; overflow: hidden; }
.amount { font-size: clamp(16px, 4.4vw, 25px); letter-spacing: -0.5px; }
.quick-actions { min-width: 0; gap: clamp(4px, 1.5vw, 7px); }
.text-action { min-width: 0; font-size: clamp(9px, 2.8vw, 11px); gap: 4px; }
.category-item { min-width: 0; overflow: hidden; }
.category-top span { overflow-wrap: anywhere; }
.transaction-item { min-width: 0; }
.transaction-main { min-width: 0; }
.transaction-value { font-size: clamp(10px, 3vw, 12px); }
@media (max-width: 360px) {
  .app-shell { padding-left: 12px; padding-right: 12px; }
  .summary-grid { gap: 7px; }
  .balance-card { padding: 14px 10px 12px; }
  .card-heading { font-size: 10px; }
  .quick-actions { gap: 4px; }
  .text-action { flex-direction: column; min-height: 52px; font-size: 9px; }
  .action-symbol { font-size: 16px; line-height: 1; }
  .category-list { gap: 7px; }
  .category-item { padding: 10px; }
}


/* Card de movimentação mensal */
.monthly-chart-card{margin:0 0 22px;padding:17px 16px 14px;border:1px solid #ffffff13;border-radius:19px;background:linear-gradient(145deg,#22242d 0%,#171920 100%);box-shadow:0 12px 35px #0003;min-width:0;}
.monthly-chart-card .section-heading{margin-bottom:18px;}
.monthly-chart{display:flex;flex-direction:column;gap:17px;}
.monthly-chart-item{min-width:0;}
.monthly-chart-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:12px;color:#dfe1e7;}
.monthly-chart-top strong{font-size:12px;font-weight:650;color:#f4f5f7;white-space:nowrap;font-variant-numeric:tabular-nums;}
.monthly-chart-track{height:10px;border-radius:20px;background:#ffffff12;overflow:hidden;}
.monthly-chart-track span{display:block;height:100%;border-radius:20px;min-width:0;transition:width .25s ease;}
.monthly-chart-track .income-bar{background:linear-gradient(90deg,#328c70,#65d6a4);}
.monthly-chart-track .expense-bar{background:linear-gradient(90deg,#b85861,#ff858e);}
.monthly-chart-track .reserve-bar{background:linear-gradient(90deg,#a77b32,#e9c879);}
.chart-note{font-size:10px;line-height:1.45;color:var(--muted);margin:14px 0 0;}
@media(max-width:360px){.monthly-chart-card{padding:14px 12px}.monthly-chart-top,.monthly-chart-top strong{font-size:11px}}


/* Outras movimentações: card recolhível por inteiro */
.other-movements-section{margin:0 0 22px;min-width:0;}
.other-movements-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;border:1px solid #ffffff18;border-radius:14px;background:#ffffff09;color:#e8e9ed;font-size:12px;font-weight:650;text-align:left;cursor:pointer;}
.other-movements-toggle span:last-child{font-size:19px;color:var(--accent);line-height:1;}
.other-movements-content[hidden]{display:none!important;}
.other-movements-card{margin:10px 0 0;}
.other-period-note{font-size:10px;color:var(--muted);margin:-5px 0 16px;}
.bet-deposit-bar{background:linear-gradient(90deg,#a77b32,#e9c879);}
.bet-withdraw-bar{background:linear-gradient(90deg,#328c70,#65d6a4);}
.bet-net-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 0 12px;margin-top:14px;border-top:1px solid #ffffff12;font-size:11px;color:#c5c8d0;}
.bet-net-row strong{font-size:13px;font-variant-numeric:tabular-nums;color:var(--green);}
.bet-net-row strong.negative{color:var(--red);}
.bet-lifetime{display:flex;flex-direction:column;gap:5px;padding:13px 14px;border:1px solid #ffffff12;border-radius:13px;background:#ffffff08;}
.bet-lifetime .eyebrow{margin:0;font-size:9px;}
.bet-lifetime strong{font-size:22px;letter-spacing:-.5px;font-variant-numeric:tabular-nums;}
.bet-lifetime span{font-size:9px;color:var(--muted);}
/* Campos de data com a mesma caixa, largura e altura dos demais campos */
.dialog label{min-width:0;}
.dialog input,.dialog select{width:100%;min-width:0;height:50px;min-height:50px;line-height:1.2;padding:0 12px;margin-top:7px;box-sizing:border-box;}
.dialog input[type="date"]{-webkit-appearance:none;appearance:none;display:block;text-align:left;text-align-last:left;padding-right:12px;color-scheme:dark;}
.dialog [hidden]{display:none!important;}
@media(max-width:360px){.bet-lifetime strong{font-size:20px}.other-movements-toggle{padding:11px 12px}}
