:root{--bg:#080807;--card:#151411;--gold:#d6a94f;--gold2:#f5d58e;--cream:#fff6df;--muted:#a79f8e;--green:#32c67a;--red:#ec5b55;--line:#3c3425;font-family:Inter,Segoe UI,Roboto,sans-serif;color:var(--cream);background:var(--bg)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:#050505}body{margin:0;min-height:100dvh;background:radial-gradient(circle at 50% -10%,#3a2a10 0,transparent 34%),var(--bg)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}.hidden{display:none!important}
#app-shell{min-height:100dvh;max-width:620px;margin:auto;background:linear-gradient(180deg,#0b0a08,#080807);box-shadow:0 0 80px #000;position:relative;overflow:hidden}.auth-shell{padding:24px 18px 50px}.brand-hero{text-align:center;padding:22px 0 26px}.brand-mark{width:116px;height:116px;border:2px solid var(--gold);margin:auto;border-radius:28px 28px 42px 42px;display:grid;place-items:center;position:relative;background:#090806;box-shadow:0 0 42px #d6a94f22}.brand-mark span{font:700 55px Georgia;color:var(--gold2)}.brand-mark i{position:absolute;bottom:-15px;background:var(--gold);color:#111;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-style:normal}.brand-name{font:700 24px Georgia;letter-spacing:.13em;margin:27px 0 5px;color:var(--gold2)}.brand-hero small{color:var(--gold);letter-spacing:.2em}
.auth-card{background:linear-gradient(145deg,#171510,#0f0e0c);border:1px solid var(--line);border-radius:28px;padding:26px 20px;box-shadow:0 24px 50px #0008}.section-title span,.page-heading small{color:var(--gold);font-size:.75rem;font-weight:900;letter-spacing:.15em}.section-title h1{font:700 clamp(1.8rem,8vw,2.5rem) Georgia;margin:8px 0 8px}.section-title p{color:var(--muted);margin:0 0 20px}.auth-card label,.modal-form label{display:block;font-weight:800;margin:18px 0 8px;color:#e8dcc4}.auth-card input,.modal-form input,.modal-form select{width:100%;height:58px;border:1px solid #665538;border-radius:16px;background:#0b0a08;color:#fff;padding:0 16px;font-size:1rem;outline:none}.auth-card input:focus,.modal-form input:focus,.modal-form select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #d6a94f22}.password-field{position:relative}.password-field input{padding-right:58px}.eye{position:absolute;right:6px;top:6px;width:46px;height:46px;border:0;background:transparent;color:var(--gold);font-size:1.35rem}.hint{display:block;color:var(--muted);margin-top:7px;font-weight:500}.primary-button,.secondary-button{width:100%;min-height:60px;border-radius:17px;font-weight:900;font-size:1.05rem}.primary-button{border:0;background:linear-gradient(110deg,#c9963d,#f4d68f,#c68b31);color:#171006;margin-top:16px;box-shadow:0 12px 28px #d6a94f22}.primary-button span{float:right}.secondary-button{margin-top:13px;background:transparent;border:1px solid var(--gold);color:var(--gold2)}.back-link{background:transparent;border:0;color:var(--gold2);padding:0 0 16px;font-weight:800}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.two-fields label{min-width:0}
.app-header{height:86px;padding:calc(16px + env(safe-area-inset-top)) 18px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:#0a0907ed;backdrop-filter:blur(18px);z-index:10}.app-header div{display:flex;flex-direction:column}.app-header small{color:var(--gold);letter-spacing:.15em;font-weight:900}.app-header strong{font-size:1.25rem;margin-top:4px}.avatar{width:48px;height:48px;border:1px solid var(--gold);border-radius:16px;background:#211a0e;color:var(--gold2);font-size:1.2rem;font-weight:900;text-transform:uppercase}.app-main{padding:18px 16px calc(102px + env(safe-area-inset-bottom))}.screen{display:none}.screen.active{display:block;animation:screenIn .35s ease}@keyframes screenIn{from{opacity:0;transform:translateY(12px)}}
.balance-card{padding:24px;border-radius:28px;background:radial-gradient(circle at 90% 0,#6b4b16 0,transparent 45%),linear-gradient(145deg,#251c0c,#120f09);border:1px solid #6d542c;box-shadow:0 20px 45px #0008}.balance-card>small{color:var(--gold2);letter-spacing:.14em;font-weight:900}.balance-card>strong{display:block;font:700 clamp(2.2rem,10vw,3.4rem) Georgia;margin:12px 0 20px}.balance-card>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.balance-card span{display:flex;flex-direction:column;color:var(--muted);padding:12px;background:#ffffff0a;border-radius:14px}.balance-card b{color:#fff;margin-top:5px}.today-card{display:flex;justify-content:space-between;align-items:center;margin:14px 0 28px;padding:18px;border-radius:20px;background:var(--card);border:1px solid var(--line)}.today-card>div:first-child{display:flex;flex-direction:column}.today-card small{color:var(--gold);font-weight:900}.today-card strong{font-size:1.55rem;margin:4px 0}.today-card span{color:var(--muted)}.cuts-badge{width:78px;height:78px;border-radius:50%;background:#d6a94f18;border:1px solid var(--gold);display:grid;place-content:center;text-align:center}.cuts-badge b{font-size:1.5rem;color:var(--gold2)}.cuts-badge span{font-size:.75rem}.app-main h2{font:700 1.2rem Georgia;margin:24px 2px 14px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick{min-height:145px;border:1px solid var(--line);border-radius:22px;background:var(--card);color:#fff;text-align:left;padding:17px;display:flex;flex-direction:column}.quick>span{font-size:2rem;color:var(--gold)}.quick b{font-size:1rem;margin:7px 0}.quick small{color:var(--muted);line-height:1.35}.quick.expense>span{color:var(--red)}.section-row{display:flex;align-items:center;justify-content:space-between}.section-row button{border:0;background:transparent;color:var(--gold);font-weight:800}
.transaction-list{display:grid;gap:9px}.transaction{min-height:76px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:11px;padding:12px;background:var(--card);border:1px solid #2c271e;border-radius:17px}.transaction-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-weight:900;font-size:1.25rem}.transaction-icon.positive{background:#143823;color:var(--green)}.transaction-icon.negative{background:#421d1a;color:var(--red)}.transaction div{min-width:0;display:flex;flex-direction:column}.transaction div b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction div small{color:var(--muted);margin-top:5px}.transaction>strong{font-size:.9rem;white-space:nowrap}.positive-text{color:var(--green)}.negative-text{color:var(--red)}.empty{text-align:center;padding:32px 10px;color:var(--muted);display:flex;flex-direction:column;align-items:center}.empty span{font-size:2rem;color:var(--gold)}.empty b{color:#eee;margin:9px}.page-heading{display:flex;align-items:center;gap:14px;margin-bottom:20px}.page-heading button{width:46px;height:46px;border-radius:15px;border:1px solid var(--line);background:var(--card);color:var(--gold);font-size:1.3rem}.page-heading h1{margin:4px 0 0;font:700 2rem Georgia}.filter-tabs{display:grid;grid-template-columns:1fr 1fr;background:#13110e;border-radius:16px;padding:5px}.filter-tabs button{height:48px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-weight:900}.filter-tabs button.active{background:var(--gold);color:#171006}.period-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.period-summary span{display:flex;flex-direction:column;padding:15px;background:var(--card);border-radius:16px;color:var(--muted)}.period-summary b{color:#fff;margin-top:6px}.excel-button{width:100%;height:54px;margin-bottom:14px;border-radius:15px;border:1px solid #3ba66b;background:#102b1c;color:#73e6a7;font-weight:900}.profile-card{text-align:center;padding:34px;border:1px solid var(--line);border-radius:26px;background:var(--card);display:flex;flex-direction:column;align-items:center}.profile-avatar{width:84px;height:84px;border-radius:28px;display:grid;place-items:center;background:#2b210f;border:1px solid var(--gold);font-size:2rem;color:var(--gold2);font-weight:900;text-transform:uppercase}.profile-card strong{font-size:1.3rem;margin:16px 0 5px}.profile-card span{color:var(--muted)}.danger-button{width:100%;height:58px;border-radius:16px;border:1px solid #7c302a;background:#321412;color:#ff8c85;font-weight:900;margin-top:16px}
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(620px,100%);height:76px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);background:#0a0907f5;border-top:1px solid var(--line);backdrop-filter:blur(18px);z-index:20}.bottom-nav button{border:0;background:transparent;color:#8f897e;font-size:.72rem;font-weight:800;display:flex;flex-direction:column;align-items:center;gap:4px}.bottom-nav button span{font-size:1.35rem}.bottom-nav button.active{color:var(--gold2)}.bottom-nav .main-action span{width:42px;height:42px;margin-top:-22px;border-radius:15px;display:grid;place-items:center;background:var(--gold);color:#171006;box-shadow:0 8px 25px #d6a94f55}
.modal{position:fixed;inset:0;background:#000c;z-index:100;display:grid;place-items:end center;padding:16px;backdrop-filter:blur(8px)}.modal-card{width:min(540px,100%);max-height:90dvh;overflow:auto;border-radius:28px 28px 20px 20px;padding:25px 20px;background:linear-gradient(150deg,#201b12,#0e0d0a);border:1px solid #7b6033;box-shadow:0 0 65px #000;animation:modalIn .3s ease}@keyframes modalIn{from{transform:translateY(35px);opacity:0}}.modal-icon{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;background:var(--gold);color:#171006;font-size:1.7rem;font-weight:900}.modal-card h2{font:700 1.65rem Georgia;margin:16px 0 7px}.modal-card>p{color:var(--muted);line-height:1.5;margin:0 0 7px}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.modal-actions:has(:only-child){grid-template-columns:1fr}.modal-actions button{min-height:54px;border-radius:15px;font-weight:900}.modal-confirm{border:0;background:var(--gold);color:#171006}.modal-cancel{border:1px solid #665538;background:transparent;color:#fff}.modal-form{margin-top:14px}.modal-form label{margin:11px 0 5px}.welcome-overlay{position:fixed;inset:0;z-index:200;background:radial-gradient(circle,#3c2b0d,#080807 65%);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:.45s}.welcome-overlay.show{opacity:1}.welcome-scissors{font-size:5rem;color:var(--gold);animation:cut 1s ease infinite alternate}@keyframes cut{to{transform:rotate(-15deg) scale(1.12)}}.welcome-overlay strong{font:700 2.4rem Georgia;margin:24px 0 8px;color:var(--gold2)}.welcome-overlay span{color:#d6cbb4}
@media(min-width:621px){body{padding:24px 0}.modal{place-items:center}.modal-card{border-radius:28px}}@media(max-width:430px){.two-fields{grid-template-columns:1fr}}@media(max-width:370px){.quick-grid{grid-template-columns:1fr}.transaction{grid-template-columns:40px 1fr}.transaction>strong{grid-column:2}.brand-name{font-size:20px}}

/* Controles móveis refinados */
.eye{color:transparent;font-size:0}.eye:before{content:'';position:absolute;width:24px;height:15px;left:11px;top:15px;border:2px solid var(--gold);border-radius:70% 20% 70% 20%;transform:rotate(45deg)}.eye:after{content:'';position:absolute;width:7px;height:7px;left:20px;top:20px;background:var(--gold2);border-radius:50%}.eye.showing:before{opacity:.55}.eye.showing:after{transform:scale(.78)}
.modal-form select{appearance:none;-webkit-appearance:none;padding-right:52px;background-color:#0b0a08;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%),linear-gradient(to right,#3e3424,#3e3424);background-position:calc(100% - 23px) 25px,calc(100% - 17px) 25px,calc(100% - 48px) 11px;background-size:6px 6px,6px 6px,1px 36px;background-repeat:no-repeat}.modal-form select option{background:#171510;color:#fff}
.daily-summary-button{width:100%;min-height:76px;margin-top:12px;padding:14px 16px;border:1px solid #665538;border-radius:20px;background:linear-gradient(120deg,#211b10,#15130e);color:#fff;display:grid;grid-template-columns:44px 1fr 24px;align-items:center;gap:12px;text-align:left}.daily-summary-button>span{width:44px;height:44px;border-radius:14px;background:#d6a94f22;color:var(--gold2);display:grid;place-items:center;font-size:1.35rem}.daily-summary-button div{display:flex;flex-direction:column;gap:4px}.daily-summary-button small{color:var(--muted);line-height:1.3}.daily-summary-button i{color:var(--gold);font-style:normal;font-size:1.2rem}
.summary-values{display:grid;grid-template-columns:1fr 1fr;gap:10px}.summary-values label{min-width:0}.form-note{display:block;color:var(--muted);line-height:1.4;margin-top:7px}
@media(max-width:430px){.summary-values{grid-template-columns:1fr}}
