:root{
    --bg:#08111f;
    --card:#111c2f;
    --card2:#17243a;
    --text:#f8fafc;
    --muted:#94a3b8;
    --line:rgba(255,255,255,.09);
    --income:#22c55e;
    --expense:#ef4444;
    --warn:#f59e0b;
    --blue:#38bdf8;
    --shadow:0 18px 42px rgba(0,0,0,.28);
    --radius:24px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;background:radial-gradient(circle at top,#13223a 0,#08111f 55%,#050914 100%);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block} button,input,select,textarea{font:inherit}
.app-shell{width:min(980px,100%);margin:0 auto;padding:16px 14px 104px}.content{display:flex;flex-direction:column;gap:16px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 18px}.topbar h1{font-size:18px;margin:2px 0 0}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#67e8f9;font-weight:800}.user-pill{display:flex;flex-direction:column;align-items:flex-end;background:rgba(255,255,255,.07);border:1px solid var(--line);padding:9px 12px;border-radius:999px;min-width:114px}.user-pill span{font-size:13px;font-weight:800;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-pill small{font-size:11px;color:var(--muted)}
.hero-card,.section-card,.filter-card,.login-card{background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-card{padding:22px;display:flex;justify-content:space-between;gap:14px;align-items:flex-start;overflow:hidden;position:relative}.hero-card:after{content:"";position:absolute;right:-40px;top:-50px;width:140px;height:140px;background:rgba(56,189,248,.2);filter:blur(24px);border-radius:50%}.hero-card h2{margin:5px 0 8px;font-size:25px;line-height:1}.hero-card p{margin:0;color:var(--muted);line-height:1.35}.income-mode:after,.launcher-hero:after{background:rgba(34,197,94,.22)}.expense-mode:after{background:rgba(239,68,68,.22)}
.date-chip input,.filter-card input,.filter-card select,.form-stack input,.form-stack select,.form-stack textarea,.voucher-box select{width:100%;background:rgba(15,23,42,.72);border:1px solid var(--line);color:var(--text);border-radius:16px;padding:14px;outline:none}.date-chip{z-index:1}.date-chip input{padding:10px 12px;max-width:145px}.form-stack{display:flex;flex-direction:column;gap:13px}.form-stack label{display:flex;flex-direction:column;gap:7px;color:#cbd5e1;font-weight:700;font-size:13px}.form-stack textarea{resize:vertical}.section-card{padding:17px}.section-card.no-pad{padding:0;overflow:hidden}.padded{padding:17px 17px 0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-head h3{margin:0;font-size:17px}.section-head small,.section-head a{color:var(--muted);font-size:12px;font-weight:800}.section-head a{color:#67e8f9}.muted{color:var(--muted);margin:6px 0}.toast{padding:13px 15px;border-radius:18px;margin-bottom:14px;border:1px solid var(--line);font-weight:800}.toast.success{background:rgba(34,197,94,.15);color:#bbf7d0}.toast.error{background:rgba(239,68,68,.16);color:#fecaca}
.quick-actions{display:grid;gap:13px}.quick-actions.two{grid-template-columns:1fr 1fr}.action-card{border:1px solid var(--line);border-radius:26px;padding:20px 16px;min-height:136px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;box-shadow:var(--shadow);position:relative;overflow:hidden}.action-card.income{background:linear-gradient(150deg,rgba(34,197,94,.28),rgba(15,23,42,.84))}.action-card.expense{background:linear-gradient(150deg,rgba(239,68,68,.28),rgba(15,23,42,.84))}.action-card strong{font-size:20px}.action-card small{color:#cbd5e1}.big-symbol{font-size:58px;line-height:.8;font-weight:900}.massive .action-card{min-height:170px}.massive .big-symbol{font-size:84px}
.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.metric{padding:17px;border-radius:22px;background:rgba(255,255,255,.065);border:1px solid var(--line)}.metric span{display:block;color:var(--muted);font-size:12px;font-weight:800}.metric strong{font-size:22px;display:block;margin-top:6px;letter-spacing:-.04em}.metric.income strong{color:#86efac}.metric.expense strong{color:#fca5a5}.metric.balance strong{color:#93c5fd}.metric.pending strong{color:#fcd34d}
.report-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:2px}.report-pill{white-space:nowrap;border:1px solid var(--line);background:rgba(255,255,255,.07);padding:12px 14px;border-radius:999px;font-size:13px;font-weight:900}.mini-bars{display:flex;flex-direction:column;gap:9px}.bar-line{display:flex;justify-content:space-between;gap:12px;background:rgba(15,23,42,.58);border:1px solid var(--line);border-radius:16px;padding:12px}.bar-line span{color:#cbd5e1}.bar-line strong{white-space:nowrap}
.movement-list{display:flex;flex-direction:column;gap:10px}.movement-card{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;background:rgba(15,23,42,.66);border:1px solid var(--line);border-radius:20px;padding:12px}.movement-icon{width:48px;height:48px;border-radius:17px;background:color-mix(in srgb,var(--accent,#64748b) 25%,transparent);display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent,#64748b) 50%,transparent)}.movement-icon img{width:26px;height:26px}.movement-main{min-width:0}.movement-main strong,.movement-main span,.movement-main small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.movement-main strong{font-size:14px}.movement-main span{color:#cbd5e1;font-size:12px}.movement-main small{color:var(--muted);font-size:11px}.movement-side{text-align:right}.movement-side strong{font-size:14px;white-space:nowrap}.movement-card.income .movement-side strong{color:#86efac}.movement-card.expense .movement-side strong{color:#fca5a5}.status{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase;margin-top:4px}.status.pago{background:rgba(34,197,94,.16);color:#bbf7d0}.status.pendente{background:rgba(245,158,11,.18);color:#fde68a}.status.master{background:rgba(56,189,248,.18);color:#bae6fd}.status.lancador{background:rgba(167,139,250,.18);color:#ddd6fe}.card-actions{display:flex;justify-content:flex-end;gap:8px;margin:-3px 4px 8px}.mini-btn{border:1px solid var(--line);background:rgba(255,255,255,.08);color:var(--text);border-radius:999px;padding:9px 12px;font-weight:900}.mini-btn.danger{color:#fecaca}
.amount-panel{background:linear-gradient(145deg,rgba(15,23,42,.94),rgba(30,41,59,.8));border:1px solid var(--line);border-radius:28px;padding:18px;box-shadow:var(--shadow)}.amount-panel label{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;font-weight:900;letter-spacing:.12em}.amount-display{width:100%;border:0;background:transparent;color:#fff;font-size:43px;font-weight:950;letter-spacing:-.06em;padding:10px 0 16px;outline:none}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.key{border:1px solid var(--line);background:rgba(255,255,255,.075);color:var(--text);border-radius:18px;min-height:56px;font-size:22px;font-weight:900}.key.clear{grid-column:1/4;background:rgba(239,68,68,.14);color:#fecaca;font-size:16px}.icon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px}.icon-choice{border:1px solid var(--line);background:rgba(15,23,42,.66);color:var(--text);border-radius:20px;min-height:92px;padding:12px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;font-size:12px;font-weight:900;position:relative}.icon-choice img{width:31px;height:31px}.icon-choice.selected{outline:3px solid rgba(103,232,249,.8);background:rgba(14,165,233,.18)}.category-choice.selected{outline:3px solid color-mix(in srgb,var(--accent) 75%,white);background:color-mix(in srgb,var(--accent) 16%,rgba(15,23,42,.75))}.voucher-box{padding:0 14px 14px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:rgba(15,23,42,.7);padding:6px;border-radius:18px;border:1px solid var(--line)}.segmented input{position:absolute;opacity:0;pointer-events:none}.segmented label{align-items:center;text-align:center;border-radius:13px;padding:12px;margin:0;color:var(--muted);cursor:pointer}.segmented input:checked+label{background:#f8fafc;color:#0f172a}.btn{border:0;background:linear-gradient(135deg,#67e8f9,#22c55e);color:#052015;font-weight:950;border-radius:18px;padding:15px 18px;box-shadow:0 12px 24px rgba(34,197,94,.18)}.btn.full{width:100%}.btn.small{padding:12px 14px;border-radius:14px}.sticky-save{position:sticky;bottom:90px;z-index:5;font-size:17px}.filter-card{padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.filter-card button{grid-column:1/3}.danger-soft{background:linear-gradient(145deg,rgba(239,68,68,.12),rgba(255,255,255,.035))}.user-list{display:flex;flex-direction:column;gap:10px}.user-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);background:rgba(15,23,42,.6);border-radius:18px}.user-row strong,.user-row span{display:block}.user-row span{color:var(--muted);font-size:12px}
.bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(980px,100%);display:grid;grid-template-columns:repeat(5,1fr);gap:3px;padding:8px 9px calc(8px + env(safe-area-inset-bottom));background:rgba(8,17,31,.94);backdrop-filter:blur(16px);border-top:1px solid var(--line);z-index:20}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#cbd5e1;font-size:10px;font-weight:900;min-height:60px;border-radius:18px}.nav-item img{width:22px;height:22px}.nav-item.primary{color:#fff}.nav-item.plus{background:rgba(34,197,94,.18)}.nav-item.minus{background:rgba(239,68,68,.18)}
.auth-body{display:grid;place-items:center;min-height:100vh;padding:18px}.auth-wrap{width:min(430px,100%)}.login-card{padding:28px}.login-card h1{margin:10px 0 4px}.login-card p{color:var(--muted);margin-top:0}.logo-badge{width:68px;height:68px;border-radius:24px;display:grid;place-items:center;background:rgba(255,255,255,.08);font-size:34px;border:1px solid var(--line)}
@media(min-width:700px){.app-shell{padding-left:24px;padding-right:24px}.metric-grid{grid-template-columns:repeat(4,1fr)}.icon-grid{grid-template-columns:repeat(5,1fr)}.content{gap:20px}.filter-card{grid-template-columns:1fr 1fr 1fr auto}.filter-card button{grid-column:auto}.amount-display{font-size:56px}.section-card{padding:22px}.padded{padding:22px 22px 0}.quick-actions.two{grid-template-columns:1fr 1fr}}
@supports not (background: color-mix(in srgb, red, white)){.movement-icon{background:rgba(255,255,255,.08)}.category-choice.selected{background:rgba(255,255,255,.12)}}

/* V1.0.5 - Modal navegável para tipo de voucher */
body.modal-open{overflow:hidden}
.voucher-summary{padding:0 14px 14px}.voucher-open-btn{width:100%;border:1px solid rgba(103,232,249,.38);background:linear-gradient(145deg,rgba(14,165,233,.16),rgba(15,23,42,.78));color:var(--text);border-radius:20px;padding:14px 16px;text-align:left;display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center}.voucher-open-btn span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:950}.voucher-open-btn strong{font-size:16px}.voucher-open-btn small{grid-column:1/3;color:#67e8f9;font-size:12px;font-weight:900}
.choice-modal{position:fixed;inset:0;z-index:80;display:none;align-items:flex-end;justify-content:center;padding:18px}.choice-modal.is-open{display:flex}.choice-modal-backdrop{position:absolute;inset:0;background:rgba(2,6,23,.72);backdrop-filter:blur(10px)}.choice-modal-panel{position:relative;width:min(560px,100%);max-height:88vh;overflow:auto;background:linear-gradient(145deg,#111c2f,#08111f);border:1px solid var(--line);border-radius:30px 30px 24px 24px;box-shadow:0 28px 70px rgba(0,0,0,.55);padding:16px}.choice-modal-grabber{width:54px;height:5px;border-radius:999px;background:rgba(255,255,255,.22);margin:0 auto 14px}.choice-modal-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}.choice-modal-head h3{margin:4px 0 6px;font-size:23px}.choice-modal-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.35}.modal-x{border:1px solid var(--line);background:rgba(255,255,255,.08);color:var(--text);border-radius:18px;width:44px;height:44px;font-size:28px;line-height:1;font-weight:800}.voucher-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.voucher-option{border:1px solid var(--line);background:rgba(15,23,42,.74);color:var(--text);border-radius:22px;min-height:104px;padding:13px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center}.voucher-option strong{font-size:13px;line-height:1.15}.voucher-option.selected{outline:3px solid rgba(103,232,249,.84);background:rgba(14,165,233,.20)}.voucher-initial{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(103,232,249,.26),rgba(34,197,94,.20));border:1px solid rgba(103,232,249,.30);font-size:15px;font-weight:950;letter-spacing:.02em}
@media(min-width:700px){.choice-modal{align-items:center}.choice-modal-panel{border-radius:30px}.voucher-options-grid{grid-template-columns:repeat(3,1fr)}}


/* V1.0.6 - Logos reais/localizados para vouchers */
.voucher-logo-wrap{width:78px;height:48px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.16);box-shadow:0 8px 20px rgba(0,0,0,.16);padding:7px;overflow:hidden}
.voucher-logo-img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.voucher-logo-wrap .voucher-initial{display:none}
.voucher-logo-wrap.has-error{background:linear-gradient(135deg,rgba(103,232,249,.26),rgba(34,197,94,.20));border:1px solid rgba(103,232,249,.30);padding:0}
.voucher-logo-wrap.has-error .voucher-logo-img{display:none}
.voucher-logo-wrap.has-error .voucher-initial{display:grid;width:42px;height:42px;border-radius:16px;place-items:center;font-size:15px;font-weight:950;letter-spacing:.02em}
.voucher-option{gap:10px}
.voucher-option strong{font-size:12.5px}

/* V1.0.7 - Alinhamento dos logos de voucher + taxas Bruto x Líquido */
.voucher-options-grid{align-items:stretch}
.voucher-option{min-height:124px;padding:13px 8px;justify-content:center;gap:10px}
.voucher-logo-wrap{width:100px;height:60px;border-radius:15px;padding:8px;margin:0 auto 2px;display:grid;place-items:center}
.voucher-logo-img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center center}
.voucher-option strong{display:flex;align-items:center;justify-content:center;text-align:center;min-height:30px;line-height:1.12;font-size:12.5px}
.voucher-option.selected .voucher-logo-wrap{box-shadow:0 0 0 2px rgba(103,232,249,.18),0 10px 24px rgba(0,0,0,.24)}

.report-metrics{grid-template-columns:repeat(2,1fr)}
.net-summary{background:linear-gradient(145deg,rgba(34,197,94,.10),rgba(14,165,233,.06),rgba(15,23,42,.72))}
.net-lines{display:flex;flex-direction:column;gap:10px}.net-lines div{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid var(--line);background:rgba(15,23,42,.48);border-radius:16px;padding:12px 13px}.net-lines span{color:var(--muted);font-size:13px;font-weight:800}.net-lines strong{color:var(--text);font-size:15px;text-align:right}.net-lines .total{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.26)}.net-lines .total span,.net-lines .total strong{color:#bbf7d0}
.payment-report-list,.fee-list{display:flex;flex-direction:column;gap:10px}.payment-report-row,.fee-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);background:rgba(15,23,42,.58);border-radius:18px;padding:13px}.payment-report-row strong,.fee-row strong{display:block}.payment-report-row span,.fee-row span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.payment-report-values{display:flex;flex-direction:column;gap:3px;text-align:right;min-width:124px}.payment-report-values small{color:var(--muted);font-size:11px}.payment-report-values strong{font-size:13px;color:#bbf7d0}.fee-left{display:flex;align-items:center;gap:11px;min-width:0}.fee-icon{width:44px;height:44px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid var(--line);display:grid;place-items:center;flex:0 0 auto}.fee-icon img{width:25px;height:25px;object-fit:contain}.fee-input{width:106px;display:grid!important;grid-template-columns:1fr auto!important;gap:6px!important;align-items:center!important;flex:0 0 auto}.fee-input input{min-width:0;text-align:right;font-weight:900;padding:12px 10px!important}.fee-input small{color:var(--muted);font-weight:900}.fee-help p{margin:6px 0 0;color:var(--muted);line-height:1.45}.check-line{display:flex!important;flex-direction:row!important;gap:10px!important;align-items:flex-start!important}.check-line input{width:auto!important;margin-top:3px}.fee-recalc-box{margin-bottom:92px}.net-note{color:#67e8f9!important}
@media(min-width:700px){.report-metrics{grid-template-columns:repeat(3,1fr)}.voucher-logo-wrap{width:108px;height:62px}.voucher-option{min-height:130px}}

/* BEGIN V1.0.8 dashboard-calendar-modal */
/* V1.0.8 - Dashboard hero melhor distribuído + calendário modal premium */
.admin-hero{display:block;padding:22px 22px 20px}
.admin-hero .hero-copy{position:relative;z-index:1}
.admin-hero .hero-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:6px 0 10px}
.admin-hero h2{margin:0;max-width:200px;line-height:.94}
.admin-hero p{margin:0;max-width:none;color:#cbd5e1;line-height:1.52;text-wrap:balance}
.calendar-form-hidden{display:none}
.date-trigger{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);background:rgba(8,17,31,.88);color:var(--text);border-radius:18px;padding:12px 14px;min-height:54px;box-shadow:var(--shadow);font-weight:900;white-space:nowrap;flex:0 0 auto}
.date-trigger span{font-size:13px;letter-spacing:.01em}
.date-trigger svg{width:18px;height:18px;color:#67e8f9;opacity:.95}
.calendar-modal-panel{padding:16px 16px 18px}
.calendar-head{margin-bottom:16px}
.calendar-head .eyebrow{display:inline-block;margin-bottom:4px}
.calendar-shortcuts{display:flex;gap:10px;overflow:auto;padding:2px 1px 4px;margin-bottom:14px}
.calendar-shortcut{white-space:nowrap;border:1px solid var(--line);background:rgba(255,255,255,.07);color:var(--text);padding:12px 14px;border-radius:999px;font-weight:900}
.calendar-shortcut:active{transform:scale(.98)}
.calendar-picker-card{border:1px solid var(--line);background:rgba(15,23,42,.65);border-radius:22px;padding:16px}
.calendar-picker-card label{display:block;color:#cbd5e1;font-weight:800;font-size:13px;margin-bottom:10px}
.calendar-picker-card input{width:100%;background:rgba(8,17,31,.92);border:1px solid var(--line);color:var(--text);border-radius:18px;padding:14px 15px;outline:none}
.calendar-date-preview{margin:12px 0 0;color:#67e8f9;font-size:14px;font-weight:900}
.calendar-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}
.primary-btn,.secondary-btn{border-radius:18px;padding:14px 16px;font-weight:900;border:1px solid var(--line)}
.primary-btn{background:linear-gradient(90deg,#67e8f9,#22c55e);color:#04111d;border:none}
.secondary-btn{background:rgba(255,255,255,.07);color:var(--text)}
@media(max-width:430px){.admin-hero .hero-topline{gap:10px}.admin-hero h2{max-width:150px;font-size:23px}.date-trigger{padding:11px 12px}.date-trigger span{font-size:12px}}
@media(min-width:700px){.admin-hero .hero-topline{align-items:center}.admin-hero h2{max-width:none}.admin-hero p{max-width:520px}.calendar-modal-panel{max-width:520px}}
/* END V1.0.8 dashboard-calendar-modal */

/* BEGIN V1.0.9 premium-calendar */
/* V1.0.9 - calendário premium próprio, sem datepicker nativo */
.admin-hero{display:block;padding:22px 22px 20px}
.admin-hero .hero-copy{position:relative;z-index:1}
.admin-hero .hero-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:6px 0 10px}
.admin-hero h2{margin:0;max-width:190px;line-height:.94}
.admin-hero p{margin:0;max-width:none;color:#cbd5e1;line-height:1.52;text-wrap:balance}
.calendar-form-hidden{display:none}.date-trigger{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);background:rgba(8,17,31,.88);color:var(--text);border-radius:18px;padding:12px 14px;min-height:54px;box-shadow:var(--shadow);font-weight:900;white-space:nowrap;flex:0 0 auto}.date-trigger span{font-size:13px;letter-spacing:.01em}.date-trigger svg{width:18px;height:18px;color:#67e8f9;opacity:.95}
.premium-calendar-modal{align-items:flex-end}.premium-calendar-panel{padding:16px;width:min(560px,100%);max-height:92vh}.calendar-head{margin-bottom:14px}.premium-calendar-year{display:flex;align-items:center;justify-content:center;gap:16px;margin:4px 0 14px}.premium-calendar-year strong{min-width:86px;text-align:center;font-size:22px;letter-spacing:-.03em}.year-nav{width:46px;height:42px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.07);color:var(--text);font-size:30px;font-weight:900;line-height:1}.month-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.month-card{border:1px solid var(--line);background:rgba(15,23,42,.72);color:#cbd5e1;border-radius:15px;min-height:46px;font-size:13px;font-weight:950;letter-spacing:.04em}.month-card.selected{background:linear-gradient(135deg,rgba(103,232,249,.26),rgba(34,197,94,.19));border-color:rgba(103,232,249,.78);box-shadow:0 0 0 2px rgba(103,232,249,.12) inset;color:#fff}.calendar-board{border:1px solid var(--line);background:linear-gradient(145deg,rgba(15,23,42,.75),rgba(8,17,31,.88));border-radius:24px;padding:14px}.calendar-board-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:13px}.calendar-board-head span{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.calendar-board-head strong{display:block;margin-top:3px;font-size:20px}.calendar-board-head small{color:#67e8f9;font-size:13px;font-weight:950;white-space:nowrap}.calendar-weekdays,.calendar-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-weekdays{margin-bottom:7px}.calendar-weekdays span{height:24px;display:grid;place-items:center;color:#94a3b8;font-size:11px;font-weight:950}.calendar-day{height:38px;border-radius:13px;border:1px solid rgba(255,255,255,.075);background:rgba(255,255,255,.045);color:var(--text);font-size:14px;font-weight:900}.calendar-day.empty{border:0;background:transparent}.calendar-day.today{border-color:rgba(252,211,77,.75);color:#fde68a}.calendar-day.selected{background:linear-gradient(90deg,#67e8f9,#22c55e);border-color:transparent;color:#04111d;box-shadow:0 10px 24px rgba(34,197,94,.22)}.calendar-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.primary-btn,.secondary-btn{border-radius:18px;padding:14px 16px;font-weight:900;border:1px solid var(--line)}.primary-btn{background:linear-gradient(90deg,#67e8f9,#22c55e);color:#04111d;border:none}.secondary-btn{background:rgba(255,255,255,.07);color:var(--text)}
@media(max-width:430px){.admin-hero .hero-topline{gap:10px}.admin-hero h2{max-width:150px;font-size:23px}.date-trigger{padding:11px 12px}.date-trigger span{font-size:12px}.calendar-day{height:36px;border-radius:12px}.month-card{min-height:43px}.premium-calendar-panel{padding:15px}}
@media(min-width:700px){.premium-calendar-modal{align-items:center}.premium-calendar-panel{border-radius:30px}.admin-hero .hero-topline{align-items:center}.admin-hero h2{max-width:none}.admin-hero p{max-width:520px}.calendar-day{height:42px}.month-card-grid{grid-template-columns:repeat(6,1fr)}}
/* END V1.0.9 premium-calendar */

/* BEGIN V1.0.10 no-future-dates */
/* V1.0.10 - bloqueio visual e funcional de datas futuras no calendário premium */
.month-card.disabled,
.month-card:disabled,
.calendar-day.future,
.calendar-day:disabled,
.year-nav.disabled,
.year-nav:disabled{
    filter:grayscale(1);
    opacity:.34;
    cursor:not-allowed;
    pointer-events:none;
    color:#64748b!important;
    border-color:rgba(148,163,184,.12)!important;
    background:linear-gradient(145deg,rgba(15,23,42,.25),rgba(2,6,23,.52))!important;
    box-shadow:none!important;
}
.calendar-day.future::after{content:"";display:block;width:16px;height:2px;background:rgba(148,163,184,.42);border-radius:99px;margin:-2px auto 0}
.month-card.disabled{color:#94a3b8!important;text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:rgba(148,163,184,.45)}
.calendar-day.future.today{border-color:rgba(148,163,184,.12)!important;color:#64748b!important}
.calendar-day.future.selected{background:rgba(15,23,42,.25)!important;color:#64748b!important}
.calendar-board-head small.future-blocked-note{color:#94a3b8!important}
/* END V1.0.10 no-future-dates */

/* BEGIN V1.0.12 ux-mobile-icons */
/* V1.0.12 - UX mobile premium, menu limpo, botões no fim e ícones claros */
html,body{overflow-x:hidden!important}
.app-shell{padding-bottom:calc(128px + env(safe-area-inset-bottom))!important;max-width:100vw!important;overflow-x:hidden!important}
.content{gap:14px!important}

/* Menu inferior premium */
.bottom-nav{left:50%!important;right:auto!important;bottom:0!important;transform:translateX(-50%)!important;width:min(980px,100vw)!important;box-sizing:border-box!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px!important;padding:10px 10px calc(10px + env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,rgba(11,18,32,.82),rgba(3,9,19,.98))!important;border-top:1px solid rgba(103,232,249,.16)!important;box-shadow:0 -16px 38px rgba(0,0,0,.34)!important;z-index:70!important;backdrop-filter:blur(18px)!important}
.nav-item{min-width:0!important;min-height:68px!important;border-radius:20px!important;gap:6px!important;font-size:12px!important;font-weight:950!important;color:#e2e8f0!important;letter-spacing:-.02em!important;padding:6px 3px!important;border:1px solid transparent!important;overflow:hidden!important}
.nav-item span:last-child{display:block!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:11.5px!important;line-height:1.02!important;color:inherit!important}
.nav-icon-wrap{width:34px!important;height:34px!important;border-radius:14px!important;display:grid!important;place-items:center!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important}
.nav-item img{width:25px!important;height:25px!important;object-fit:contain!important;filter:none!important;opacity:1!important;display:block!important}
.nav-item.active{background:rgba(103,232,249,.10)!important;border-color:rgba(103,232,249,.24)!important;color:#fff!important}
.nav-item.active .nav-icon-wrap{background:linear-gradient(145deg,rgba(103,232,249,.28),rgba(34,197,94,.16))!important;border-color:rgba(103,232,249,.32)!important}
.nav-item.primary.plus{background:linear-gradient(145deg,rgba(34,197,94,.26),rgba(15,23,42,.82))!important;color:#fff!important;border-color:rgba(34,197,94,.20)!important}
.nav-item.primary.minus{background:linear-gradient(145deg,rgba(239,68,68,.26),rgba(15,23,42,.82))!important;color:#fff!important;border-color:rgba(239,68,68,.20)!important}
.nav-item.primary.plus .nav-icon-wrap{background:rgba(34,197,94,.18)!important;border-color:rgba(34,197,94,.22)!important}
.nav-item.primary.minus .nav-icon-wrap{background:rgba(239,68,68,.18)!important;border-color:rgba(239,68,68,.22)!important}

/* Lançamentos: botão salvar somente no fim, nunca flutuante */
.sticky-save{position:static!important;bottom:auto!important;z-index:auto!important;margin:0!important}
.final-save-card{padding:14px!important;margin-bottom:10px!important;background:linear-gradient(145deg,rgba(103,232,249,.08),rgba(34,197,94,.06))!important}
.final-save-btn{min-height:58px!important;font-size:18px!important;border-radius:20px!important}
.movement-form-v112{display:flex!important;flex-direction:column!important;gap:13px!important}
.movement-hero{padding:18px 20px!important;min-height:auto!important}
.movement-hero h2{font-size:27px!important;line-height:1!important}
.movement-hero p{font-size:15.5px!important;line-height:1.45!important}
.amount-panel-v112{padding:16px!important;border-radius:26px!important}
.amount-panel-v112 .amount-display{font-size:43px!important;padding:8px 0 14px!important}
.amount-panel-v112 .key{min-height:55px!important;font-size:23px!important;border-radius:18px!important}
.launch-section .padded{padding:15px 16px 0!important}
.compact-head h3{font-size:18px!important}
.compact-head a{font-size:13px!important;color:#67e8f9!important}
.launch-grid-v112{padding:13px!important;gap:10px!important}
.launch-grid-v112 .icon-choice,.category-grid-admin-v112 .icon-choice{min-height:98px!important;border-radius:20px!important;font-size:13px!important;line-height:1.12!important;background:linear-gradient(145deg,rgba(15,23,42,.82),rgba(17,28,47,.72))!important}
.icon-choice img{width:39px!important;height:39px!important;object-fit:contain!important;filter:none!important;opacity:1!important}
.icon-choice span{font-size:13px!important;line-height:1.12!important;color:#f8fafc!important;text-shadow:0 1px 8px rgba(0,0,0,.35)!important}
.payment-grid .icon-choice img{width:42px!important;height:42px!important}
.category-choice.selected,.payment-choice.selected{outline:3px solid rgba(103,232,249,.88)!important;background:linear-gradient(145deg,rgba(14,165,233,.22),rgba(15,23,42,.75))!important}
.launch-details-v112{gap:12px!important}
.launch-details-v112 input,.launch-details-v112 select,.launch-details-v112 textarea{font-size:15.5px!important}
.expense-flow .category-section-v112{order:1}.expense-flow .payment-section-v112{order:2}.expense-flow .amount-panel-v112{order:3}.expense-flow .launch-details-v112{order:4}.expense-flow .final-save-card{order:5}

/* Mais/Categorias: listas primeiro, formulário depois e sem badges antigos */
.more-hero h2{font-size:26px!important}.more-hero p{line-height:1.45!important;text-wrap:balance}
.category-showcase .section-head h3{font-size:19px!important}
.category-grid-admin-v112{padding:15px!important;gap:11px!important}
.admin-tools-card{background:linear-gradient(145deg,rgba(103,232,249,.10),rgba(34,197,94,.05),rgba(15,23,42,.76))!important}
.admin-tool-link{display:grid;grid-template-columns:56px 1fr;gap:13px;align-items:center;border:1px solid var(--line);background:rgba(15,23,42,.62);border-radius:20px;padding:13px;color:var(--text)}
.admin-tool-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:rgba(103,232,249,.12);border:1px solid rgba(103,232,249,.20)}
.admin-tool-icon img{width:36px;height:36px;object-fit:contain}.admin-tool-link strong{display:block;font-size:15px}.admin-tool-link small{display:block;color:#cbd5e1;margin-top:3px;line-height:1.35}
.new-category-card{margin-bottom:16px!important}
.report-row:empty{display:none!important}

@media(max-width:430px){
  .app-shell{padding-left:14px!important;padding-right:14px!important}
  .bottom-nav{padding-left:8px!important;padding-right:8px!important;gap:4px!important}
  .nav-item{font-size:11px!important;min-height:66px!important}
  .nav-icon-wrap{width:32px!important;height:32px!important}.nav-item img{width:24px!important;height:24px!important}
  .launch-grid-v112 .icon-choice,.category-grid-admin-v112 .icon-choice{min-height:92px!important;padding:10px 6px!important}
  .icon-choice img{width:36px!important;height:36px!important}.icon-choice span{font-size:12.5px!important}
}
@media(min-width:700px){.launch-grid-v112,.category-grid-admin-v112{grid-template-columns:repeat(5,1fr)!important}.bottom-nav{max-width:980px!important}}
/* END V1.0.12 ux-mobile-icons */

/* BEGIN V1.0.13 fixed-bottom-nav */
/* END V1.0.13 fixed-bottom-nav */

/* BEGIN V1.0.17 menu-final */
/* V1.0.17 - Menu fixo final, fora do fluxo e com scroll livre */
html,body{height:auto!important;min-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important;position:static!important;transform:none!important;padding-bottom:0!important;}
body{-webkit-overflow-scrolling:touch!important;overscroll-behavior-y:auto!important;}
body.modal-open{overflow:hidden!important;}
.app-shell{width:min(430px,100%)!important;max-width:430px!important;margin:0 auto!important;padding-left:14px!important;padding-right:14px!important;padding-bottom:calc(128px + env(safe-area-inset-bottom))!important;height:auto!important;min-height:auto!important;overflow:visible!important;position:relative!important;transform:none!important;contain:none!important;box-sizing:border-box!important;}
body>.bottom-nav-final{position:fixed!important;left:50%!important;right:auto!important;top:auto!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;width:min(406px,calc(100vw - 24px))!important;max-width:406px!important;height:80px!important;min-height:80px!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:center!important;gap:6px!important;margin:0!important;padding:7px 8px!important;box-sizing:border-box!important;z-index:2147483647!important;pointer-events:auto!important;visibility:visible!important;opacity:1!important;background:linear-gradient(180deg,rgba(9,18,33,.94),rgba(3,8,18,.98))!important;border:1px solid rgba(103,232,249,.18)!important;border-radius:24px!important;box-shadow:0 -18px 50px rgba(0,0,0,.62),0 0 0 1px rgba(255,255,255,.03) inset!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;overflow:visible!important;}
body>.bottom-nav-final .nav-item{min-width:0!important;width:100%!important;height:64px!important;min-height:64px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;padding:4px 2px!important;margin:0!important;border-radius:18px!important;border:1px solid rgba(148,163,184,.18)!important;background:rgba(15,23,42,.72)!important;color:#f8fafc!important;text-decoration:none!important;font-size:12px!important;font-weight:950!important;line-height:1!important;letter-spacing:-.04em!important;box-shadow:none!important;outline:none!important;position:relative!important;overflow:hidden!important;}
body>.bottom-nav-final .nav-icon-wrap{width:35px!important;height:35px!important;min-width:35px!important;flex:0 0 35px!important;display:grid!important;place-items:center!important;border-radius:14px!important;background:linear-gradient(145deg,rgba(103,232,249,.24),rgba(34,197,94,.12))!important;border:1px solid rgba(103,232,249,.28)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 8px 14px rgba(0,0,0,.22)!important;}
body>.bottom-nav-final img{width:24px!important;height:24px!important;max-width:24px!important;max-height:24px!important;object-fit:contain!important;display:block!important;opacity:1!important;filter:none!important;}
body>.bottom-nav-final .nav-label{display:block!important;width:100%!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#eef6ff!important;font-size:11.5px!important;font-weight:950!important;line-height:1!important;}
body>.bottom-nav-final .nav-item.active{background:linear-gradient(145deg,rgba(14,165,233,.26),rgba(15,23,42,.86))!important;border-color:rgba(103,232,249,.70)!important;box-shadow:0 0 0 1px rgba(103,232,249,.18),0 10px 20px rgba(14,165,233,.20)!important;}
body>.bottom-nav-final .nav-item.active .nav-icon-wrap{background:linear-gradient(145deg,rgba(103,232,249,.48),rgba(34,197,94,.18))!important;border-color:rgba(103,232,249,.62)!important;}
body>.bottom-nav-final .nav-shortcut,body>.bottom-nav-final .nav-shortcut.active,body>.bottom-nav-final .nav-shortcut:focus,body>.bottom-nav-final .nav-shortcut:active{background:rgba(15,23,42,.72)!important;border-color:rgba(148,163,184,.18)!important;box-shadow:none!important;color:#f8fafc!important;}
.sticky-save,.final-save-btn{position:static!important;bottom:auto!important;left:auto!important;right:auto!important;z-index:auto!important;margin-top:14px!important;margin-bottom:calc(116px + env(safe-area-inset-bottom))!important;width:100%!important;}
@media(max-width:430px){.app-shell{width:100%!important;max-width:100%!important;}body>.bottom-nav-final{width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;}body>.bottom-nav-final .nav-label{font-size:11px!important;}}
/* END V1.0.17 menu-final */
