/* SF Pro system font stack — nativa no iOS/macOS, fallback pra outros sistemas */
:root {
  --font-sf: 'Plus Jakarta Sans', -apple-system, 'SF Pro Display', 'Helvetica Neue', 'Inter', 'Segoe UI', Arial, sans-serif;
  --font-mono: 'JetBrains Mono', 'SF Mono', 'Fira Code', monospace;
}

/* Hierarquia tipográfica SF Pro conforme diretrizes */
h1,h2,h3,.screen-title,.section-title,.modal-title,.prem-sheet-title,
.home-greeting,.balance-val,.hero-balance { font-weight:600 } /* Semibold — títulos */

.btn,.tab,.nav-label,button:not(.icon-btn) { font-weight:500 } /* Medium — botões/menus */

p,.desc,.label,.hint,.sub,.caption,
.tx-desc,.event-title,.bill-desc { font-weight:400 } /* Regular — textos descritivos */
:root{--bg:#eef4fa;--bg2:#e6eef7;--white:rgba(255,255,255,.62);--white-solid:#fff;--sky:#2d6c97;--sky2:#1c4a6e;--sky-lt:#d4e6f5;--sky-xl:#e8f1f9;--ink:#16283a;--ink2:#4a5d72;--ink3:#8595a8;--ink4:#b8cce0;--green:#0f9d63;--red:#dc4a44;--orange:#cf8417;--border:rgba(120,150,190,.22);--glass-bright:rgba(255,255,255,.8);--glass-line:rgba(255,255,255,.9);--shadow:0 8px 24px rgba(40,70,110,.1);--shadow2:0 14px 36px rgba(40,70,110,.16);--r:14px;--r2:20px;--r3:26px}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{width:100%;height:100%;overflow:hidden;background:radial-gradient(115% 75% at 82% -8%,#d4e6f5 0%,transparent 55%),radial-gradient(95% 65% at 0% 108%,#dce8f3 0%,transparent 52%),linear-gradient(165deg,#eef4fa 0%,#e6eef7 52%,#f0f5fb 100%);font-family:var(--font-sf);font-weight:400;color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
/* ACCESSIBILITY — font scaling */
body.font-scale-1 #content{font-size:106%}
body.font-scale-2 #content{font-size:113%}
body.font-scale-1 #content .fin-pill-val,body.font-scale-1 #content .balance-val{letter-spacing:-.02em}
body.font-scale-2 #content .fin-pill-val,body.font-scale-2 #content .balance-val{letter-spacing:-.03em}
#app{width:100%;height:100%;display:none;flex-direction:column;overflow:hidden}
/* HEADER */
#header{background:rgba(238,244,250,.7);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.6);padding:14px 20px 12px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.logo{font-size:18px;font-weight:800;letter-spacing:-.01em;color:var(--sky2)}
.logo span{color:var(--ink3);font-weight:500;font-size:13px;letter-spacing:.08em}
#clock-display{font-family:var(--font-mono);font-size:20px;font-weight:600;color:var(--ink);line-height:1;text-align:right}
#date-display{font-size:10px;font-weight:600;color:var(--ink3);letter-spacing:.12em;text-transform:uppercase;margin-top:2px;text-align:right}
/* NAV */
#nav{display:flex;gap:6px;padding:10px 16px;background:rgba(238,244,250,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.4);flex-shrink:0;overflow-x:auto;scrollbar-width:none}
#nav::-webkit-scrollbar{display:none}
.tab{flex-shrink:0;padding:8px 13px;border-radius:13px;border:1px solid var(--glass-line);font-family:var(--font-sf);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink2);cursor:pointer;background:rgba(255,255,255,.5);transition:all .2s;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;box-shadow:inset 0 1px 0 #fff}
.tab svg{opacity:.7;transition:opacity .2s}
.tab.active{background:linear-gradient(160deg,#2d6c97,#1c4a6e);border-color:transparent;color:#fff;box-shadow:0 5px 16px rgba(28,74,110,.3),inset 0 1px 0 rgba(255,255,255,.3)}
.tab.active svg{opacity:1}
.tab:active{transform:scale(.95)}
/* CONTENT */
#content{flex:1;overflow-y:auto;padding:16px;scrollbar-width:none}
#content::-webkit-scrollbar{display:none}
.screen{display:none;animation:fadeIn .25s ease}
.screen.active{display:block;min-height:100%}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
/* CARDS */
.card{position:relative;background:linear-gradient(160deg,var(--glass-bright),rgba(255,255,255,.5) 62%);backdrop-filter:blur(20px) saturate(155%);-webkit-backdrop-filter:blur(20px) saturate(155%);border:1px solid var(--glass-line);border-radius:var(--r2);padding:18px;margin-bottom:12px;box-shadow:0 12px 30px rgba(40,70,110,.12),inset 0 1px 0 #fff,inset 0 0 0 1px var(--border);overflow:hidden}
.card::before{content:'';position:absolute;left:0;right:0;top:0;height:42%;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0));pointer-events:none;border-radius:var(--r2) var(--r2) 0 0}
.card>*{position:relative;z-index:1}
.card-title{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);margin-bottom:14px}
.card-title.blue{color:var(--sky)}
.calc-tab{flex:1;text-align:center;padding:11px 8px;border-radius:13px 13px 0 0;font-size:12px;font-weight:800;letter-spacing:.03em;color:var(--ink3);cursor:pointer;background:rgba(255,255,255,.4);transition:all .2s}
.calc-tab.active{color:var(--sky);background:rgba(255,255,255,.85);box-shadow:0 -2px 8px rgba(40,70,110,.06)}
.calc-row{display:flex;gap:8px;margin-bottom:9px;align-items:center}
.calc-card{background:var(--glass-bright);border:1px solid var(--glass-line);border-radius:var(--r2);padding:16px;box-shadow:var(--shadow);margin-bottom:14px}
/* INPUTS */
input,textarea,select{width:100%;background:var(--sky-xl);border:1.5px solid var(--border);border-radius:var(--r);padding:11px 14px;color:var(--ink);font-family:var(--font-sf);font-size:14px;font-weight:500;outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none}
input:focus,textarea:focus,select:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(45,125,210,.12)}
input::placeholder,textarea::placeholder{color:var(--ink4)}
select option{background:#fff}
textarea{resize:none}
label{font-size:11px;font-weight:700;color:var(--ink3);letter-spacing:.08em;text-transform:uppercase;display:block;margin-bottom:5px}
.form-group{margin-bottom:11px}
.input-row{display:flex;gap:8px;margin-bottom:11px}
.input-row>*{flex:1}
/* BUTTONS */
.btn{width:100%;padding:13px 20px;border-radius:100px;border:none;background:var(--sky);color:#fff;font-family:var(--font-sf);font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;box-shadow:0 3px 14px rgba(45,125,210,.35);transition:all .2s}
.btn:active{background:var(--sky2);transform:scale(.98)}
.btn-ghost{background:transparent;border:1.5px solid var(--border);color:var(--ink2);box-shadow:none}
.btn-ghost:active{background:var(--sky-xl)}
.btn-green{background:var(--green);box-shadow:0 3px 14px rgba(24,160,88,.3)}
.btn-danger{background:var(--red);box-shadow:0 3px 14px rgba(224,66,45,.25)}
/* SECTION TITLE */
.section-title{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);margin:20px 0 11px 2px}
.section-title:first-child{margin-top:0}
/* EMPTY */
.empty{text-align:center;padding:36px 20px;color:var(--ink4);font-size:13px;font-weight:600}
.empty-icon{font-size:30px;margin-bottom:10px;opacity:.5}
/* STATS GRID */
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.stat-box{position:relative;background:linear-gradient(160deg,var(--glass-bright),rgba(255,255,255,.5) 62%);backdrop-filter:blur(20px) saturate(155%);-webkit-backdrop-filter:blur(20px) saturate(155%);border:1px solid var(--glass-line);border-radius:var(--r2);padding:17px;box-shadow:0 10px 26px rgba(40,70,110,.1),inset 0 1px 0 #fff,inset 0 0 0 1px var(--border);overflow:hidden}
.stat-box::before{content:'';position:absolute;left:0;right:0;top:0;height:44%;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0));pointer-events:none;border-radius:var(--r2) var(--r2) 0 0}
.stat-box>*{position:relative;z-index:1}
.stat-num{font-size:27px;font-weight:800;color:var(--sky2);line-height:1;letter-spacing:-.02em}
.stat-label{font-size:10px;font-weight:700;color:var(--ink3);letter-spacing:.1em;text-transform:uppercase;margin-top:4px}
/* BRIEFING */
.briefing-wrap{background:linear-gradient(160deg,rgba(173,210,240,.85),rgba(255,255,255,.5) 70%);backdrop-filter:blur(20px) saturate(155%);-webkit-backdrop-filter:blur(20px) saturate(155%);border:1px solid var(--glass-line);border-radius:var(--r2);padding:20px;margin-bottom:16px;position:relative;overflow:hidden;box-shadow:0 12px 30px rgba(40,70,110,.14),inset 0 1px 0 #fff}
.briefing-wrap::before{content:'';position:absolute;left:0;right:0;top:0;height:44%;background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,0));pointer-events:none;border-radius:var(--r2) var(--r2) 0 0}
.briefing-tag{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sky);margin-bottom:10px;display:flex;align-items:center;gap:7px;position:relative;z-index:1}
.live-dot{width:6px;height:6px;border-radius:50%;background:#5cf09a;animation:live 1.5s ease-in-out infinite;flex-shrink:0}
@keyframes live{0%,100%{opacity:1}50%{opacity:.3}}
#briefing-text{font-size:15px;font-weight:500;color:#1a3550;line-height:1.6;position:relative;z-index:1}
#briefing-text strong{font-weight:700;color:var(--sky2)}
/* FINANCE */
.balance-hero{border-radius:var(--r3);padding:22px 20px;margin-bottom:14px;box-shadow:0 4px 24px rgba(24,160,88,.25)}
.balance-hero.pos{background:linear-gradient(135deg,#18a058 0%,#0e7040 100%)}
.balance-hero.neg{background:linear-gradient(135deg,var(--red) 0%,#b02010 100%);box-shadow:0 4px 24px rgba(224,66,45,.25)}
.balance-label{font-size:10px;font-weight:800;color:rgba(255,255,255,.7);letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px}
.balance-value{font-size:42px;font-weight:900;color:#fff;letter-spacing:-.02em;line-height:1}
.balance-sub{font-size:12px;font-weight:600;color:rgba(255,255,255,.7);margin-top:6px}
.fin-pills{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.fin-pill{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r2);padding:14px;box-shadow:var(--shadow)}
.fin-pill-val{font-size:20px;font-weight:900;letter-spacing:-.01em}
.fin-pill-val.green{color:var(--green)}
.fin-pill-val.red{color:var(--red)}
.fin-pill-label{font-size:10px;font-weight:700;color:var(--ink3);letter-spacing:.1em;text-transform:uppercase;margin-top:3px}
.tx-item{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1.5px solid var(--border)}
.tx-item:last-child{border-bottom:none}
.tx-icon{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.tx-info{flex:1}
.tx-name{font-size:13px;font-weight:700;color:var(--ink)}
.tx-cat{font-size:11px;font-weight:500;color:var(--ink3);margin-top:1px}
.tx-amount{font-family:var(--font-mono);font-size:13px;font-weight:700}
.tx-amount.pos{color:var(--green)}
.tx-amount.neg{color:var(--red)}
.tx-del{color:var(--ink4);cursor:pointer;font-size:14px;padding:4px}
.tx-del:active{color:var(--red)}
.bar-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.bar-label{font-size:11px;font-weight:600;color:var(--ink2);min-width:90px}
.bar-track{flex:1;height:7px;background:var(--sky-xl);border-radius:4px;overflow:hidden}
.bar-fill{height:100%;border-radius:4px;transition:width .6s ease}
.bar-val{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--ink2);min-width:56px;text-align:right}
/* PIE CHART */
.pie-wrap{display:flex;align-items:center;gap:16px;padding:8px 0}
.pie-legend{flex:1;display:flex;flex-direction:column;gap:6px}
.pie-legend-item{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;color:var(--ink2)}
.pie-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}
/* MONTH NAV */
.month-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.month-nav-btn{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--border);background:var(--white);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;color:var(--sky)}
.month-nav-btn:active{background:var(--sky-xl)}
.month-label{font-size:14px;font-weight:800;color:var(--ink);letter-spacing:.02em}
/* RECURRING */
.recur-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:100px;font-size:9px;font-weight:800;background:#e8f4ff;color:var(--sky);letter-spacing:.06em;margin-left:6px}
/* GOALS */
.goal-cat-btn{padding:6px 14px;border-radius:20px;border:1.5px solid var(--border);background:var(--white);font-size:11px;font-weight:700;cursor:pointer;color:var(--ink3);white-space:nowrap;transition:all .2s;flex-shrink:0}
.goal-cat-btn.active{background:#2d3494;color:#fff;border-color:#2d3494}
.goal-card-new{background:var(--white);border-radius:16px;padding:16px;margin-bottom:10px;border:1.5px solid var(--border)}
.goal-card-new.done{border-color:var(--green)}
.goal-card-new.late{border-color:var(--red)}
.goal-prog-bar{height:10px;background:var(--bg2);border-radius:10px;overflow:hidden;margin:10px 0 6px}
.goal-prog-fill{height:100%;border-radius:10px;background:linear-gradient(90deg,#2d3494,#d4af37);transition:width .6s cubic-bezier(.34,1.56,.64,1)}
.goal-prog-fill.done{background:linear-gradient(90deg,var(--green),#0e7040)}
.goal-prazo-tag{display:inline-flex;padding:3px 8px;border-radius:20px;font-size:9px;font-weight:800;letter-spacing:.04em}
.goal-marco-row{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px;color:var(--ink2)}
.goal-marco-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}
.goal-marco-dot.done{background:var(--green);border-color:var(--green)}
.goal-item{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r2);padding:16px;margin-bottom:10px;box-shadow:var(--shadow)}
.goal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}
.goal-name{font-size:15px;font-weight:800;color:var(--ink)}
.goal-emoji{font-size:22px}
.goal-amounts{display:flex;justify-content:space-between;margin-bottom:8px}
.goal-current{font-size:18px;font-weight:900;color:var(--sky)}
.goal-target{font-size:13px;font-weight:600;color:var(--ink3);align-self:flex-end}
.goal-bar{height:10px;background:var(--sky-xl);border-radius:5px;overflow:hidden;margin-bottom:6px}
.goal-fill{height:100%;border-radius:5px;background:linear-gradient(90deg,var(--sky),#18a058);transition:width .6s ease}
.goal-pct{font-size:11px;font-weight:700;color:var(--sky)}
.goal-del{color:var(--ink4);cursor:pointer;font-size:16px;padding:4px}
.goal-del:active{color:var(--red)}
.goal-add-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:100px;border:1.5px solid var(--sky);background:var(--sky-xl);color:var(--sky);font-size:11px;font-weight:800;cursor:pointer;margin-top:6px;width:auto}
/* INVESTMENTS */
.inv-hero{background:linear-gradient(135deg,#0f3460 0%,#1a5faa 100%);border-radius:var(--r3);padding:22px 20px;margin-bottom:14px;box-shadow:0 4px 24px rgba(15,52,96,.3)}
.inv-hero-label{font-size:10px;font-weight:800;color:rgba(255,255,255,.6);letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px}
.inv-hero-val{font-size:38px;font-weight:900;color:#fff;letter-spacing:-.02em;line-height:1}
.inv-hero-sub{font-size:12px;font-weight:600;color:rgba(255,255,255,.7);margin-top:8px;display:flex;gap:16px;flex-wrap:wrap}
.inv-hero-gain{color:#5cf09a;font-weight:800}
.inv-hero-loss{color:#ff7b7b;font-weight:800}
.inv-summary-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:14px}
.inv-sum-box{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r2);padding:12px 10px;text-align:center;box-shadow:var(--shadow)}
.inv-sum-val{font-size:14px;font-weight:900;color:var(--sky);font-family:var(--font-mono)}
.inv-sum-label{font-size:9px;font-weight:700;color:var(--ink3);letter-spacing:.1em;text-transform:uppercase;margin-top:3px}
.inv-tabs{display:flex;gap:6px;margin-bottom:14px}
.inv-tab{flex:1;padding:9px;border-radius:var(--r);text-align:center;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border:1.5px solid var(--border);cursor:pointer;background:var(--white);color:var(--ink3);transition:all .2s}
.inv-tab.active{background:var(--sky);border-color:var(--sky);color:#fff;box-shadow:0 2px 10px rgba(45,125,210,.3)}
.inv-item{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r2);padding:16px;margin-bottom:10px;box-shadow:var(--shadow)}
.inv-item-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.inv-item-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.inv-item-name{font-size:15px;font-weight:800;color:var(--ink)}
.inv-item-type{font-size:10px;font-weight:700;color:var(--ink3);letter-spacing:.1em;text-transform:uppercase;margin-top:1px}
.inv-item-del{margin-left:auto;color:var(--ink4);cursor:pointer;font-size:16px;padding:4px}
.inv-item-del:active{color:var(--red)}
.inv-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.inv-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:10px}
.inv-cell{background:var(--sky-xl);border-radius:var(--r);padding:10px 12px}
.inv-cell-label{font-size:9px;font-weight:800;color:var(--ink3);letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px}
.inv-cell-val{font-size:13px;font-weight:800;color:var(--ink);font-family:var(--font-mono)}
.inv-cell-val.green{color:var(--green)}
.inv-cell-val.red{color:var(--red)}
.inv-cell-val.orange{color:var(--orange)}
.tax-section{background:#fff8f0;border:1.5px solid #fde8cc;border-radius:var(--r);padding:12px;margin-top:8px}
.tax-title{font-size:10px;font-weight:800;color:var(--orange);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
.tax-row{display:flex;justify-content:space-between;margin-bottom:4px;font-size:12px}
.tax-row-label{font-weight:600;color:var(--ink2)}
.tax-row-val{font-weight:800;font-family:var(--font-mono);color:var(--ink)}
.tax-row-val.red{color:var(--red)}
.tax-row-val.green{color:var(--green)}
.tax-divider{height:1px;background:#fde8cc;margin:6px 0}
.risk-bar{display:flex;align-items:center;gap:8px;margin-top:8px}
.risk-label{font-size:10px;font-weight:700;color:var(--ink3);min-width:50px}
.risk-dots{display:flex;gap:4px}
.risk-dot{width:10px;height:10px;border-radius:50%;background:var(--border)}
.risk-dot.fill-low{background:#18a058}
.risk-dot.fill-med{background:var(--orange)}
.risk-dot.fill-high{background:var(--red)}
.quote-upd{font-size:9px;font-weight:600;color:var(--ink4);margin-top:6px;letter-spacing:.06em}
/* AGENDA */
.event-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1.5px solid var(--border)}
.event-item:last-child{border-bottom:none}
.event-time{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--sky);min-width:46px;padding-top:1px}
.event-dot{width:9px;height:9px;border-radius:50%;margin-top:4px;flex-shrink:0}
.event-info{flex:1}
.event-title{font-size:14px;font-weight:700;color:var(--ink)}
.event-desc{font-size:11px;font-weight:500;color:var(--ink3);margin-top:2px}
.event-del{color:var(--ink4);cursor:pointer;font-size:16px;padding:4px}
.event-del:active{color:var(--red)}
.color-row{display:flex;gap:6px;flex-wrap:wrap}
.cpill{padding:6px 13px;border-radius:100px;font-size:11px;font-weight:700;border:1.5px solid var(--border);cursor:pointer;transition:all .15s;color:var(--ink2);background:var(--sky-xl)}
.cpill.sel{border-color:var(--sky);background:var(--sky);color:#fff}
/* BILLS */
.bill-item{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1.5px solid var(--border)}
.bill-item:last-child{border-bottom:none}
.bill-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.bill-info{flex:1}
.bill-name{font-size:13px;font-weight:700;color:var(--ink)}
.bill-due{font-size:10px;font-weight:600;color:var(--orange);margin-top:1px}
.bill-amount{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--red)}
.bill-del{color:var(--ink4);cursor:pointer;font-size:14px;padding:4px}
/* NOTES */
.note-item{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r2);padding:16px;margin-bottom:10px;cursor:pointer;box-shadow:var(--shadow);transition:border-color .2s}
.note-item:active{border-color:var(--sky)}
.note-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}
.note-title-disp{font-size:15px;font-weight:800;color:var(--ink)}
.note-body-disp{font-size:12px;font-weight:500;color:var(--ink3);line-height:1.5}
.note-date{font-size:10px;font-weight:600;color:var(--ink4);margin-top:8px;letter-spacing:.08em}
.note-del{color:var(--ink4);cursor:pointer;font-size:15px;padding:2px 0 2px 8px}
.note-del:active{color:var(--red)}
/* TASKS */
.task-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1.5px solid var(--border)}
.task-item:last-child{border-bottom:none}
.task-check{width:22px;height:22px;border-radius:7px;border:2px solid var(--border);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;font-size:12px;color:transparent;background:var(--sky-xl)}
.task-check.done{background:var(--sky);border-color:var(--sky);color:#fff}
.task-text{flex:1;font-size:14px;font-weight:600;color:var(--ink);transition:all .2s}
.task-text.done{color:var(--ink4);text-decoration:line-through}
.task-prio{font-size:9px;font-weight:800;letter-spacing:.1em;padding:3px 9px;border-radius:100px;text-transform:uppercase}
.task-prio.alta{background:#ffe4e0;color:var(--red)}
.task-prio.media{background:#fff3dc;color:var(--orange)}
.task-prio.baixa{background:var(--sky-xl);color:var(--sky)}
.task-prio.q1{background:#fdecec;color:#c0392b}
.task-prio.q2{background:#e7f6ec;color:#157a45}
.task-prio.q3{background:#fff3e0;color:#b9701a}
.task-prio.q4{background:#eef1f6;color:#5b6b82}
.task-del{color:var(--ink4);cursor:pointer;font-size:14px;padding:4px}
.task-del:active{color:var(--red)}
/* VOICE BTN */
#voice-btn{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:100;width:68px;height:68px;border-radius:50%;background:linear-gradient(135deg,var(--sky),var(--sky2));border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px rgba(45,125,210,.55),0 0 0 3px rgba(45,125,210,.15);transition:all .25s}
#voice-btn:active{transform:translateX(-50%) scale(.93)}
#voice-btn.listening{background:linear-gradient(135deg,var(--red),#c0392b);box-shadow:0 8px 32px rgba(224,66,45,.55),0 0 0 8px rgba(224,66,45,.15);animation:voicePulse 1.2s ease-in-out infinite}
@keyframes voicePulse{0%,100%{box-shadow:0 8px 32px rgba(224,66,45,.55),0 0 0 8px rgba(224,66,45,.15)}50%{box-shadow:0 8px 32px rgba(224,66,45,.7),0 0 0 16px rgba(224,66,45,.08)}}
#voice-btn.listening{background:var(--red);box-shadow:0 6px 24px rgba(224,66,45,.5);animation:pulse-btn 1s infinite}
@keyframes pulse-btn{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
/* VOICE MODAL */
#voice-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:200;background:rgba(13,31,60,.5);backdrop-filter:blur(8px);display:none;align-items:flex-end;justify-content:center;padding:20px}
#voice-modal.show{display:flex}
.voice-sheet{background:var(--white);border-radius:var(--r3) var(--r3) var(--r2) var(--r2);padding:28px 24px;width:100%;max-width:480px;animation:slideUp .28s ease;border:1.5px solid var(--border);box-shadow:var(--shadow2)}
@keyframes slideUp{from{transform:translateY(80px);opacity:0}to{transform:translateY(0);opacity:1}}
.voice-title{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--sky);text-align:center;margin-bottom:18px}
.voice-wave{display:flex;align-items:center;justify-content:center;gap:5px;height:48px;margin-bottom:18px}
.wave-bar{width:5px;background:var(--sky);border-radius:3px;animation:wave .8s ease-in-out infinite}
.wave-bar:nth-child(1){height:14px;animation-delay:0s}.wave-bar:nth-child(2){height:28px;animation-delay:.1s}.wave-bar:nth-child(3){height:42px;animation-delay:.2s}.wave-bar:nth-child(4){height:28px;animation-delay:.3s}.wave-bar:nth-child(5){height:14px;animation-delay:.4s}.wave-bar:nth-child(6){height:28px;animation-delay:.5s}.wave-bar:nth-child(7){height:42px;animation-delay:.6s}
@keyframes wave{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.25)}}
#voice-transcript{font-size:16px;font-weight:600;color:var(--ink2);text-align:center;min-height:48px;line-height:1.5;margin-bottom:10px}
#voice-result{font-size:12px;font-weight:700;color:var(--sky);text-align:center;min-height:20px;letter-spacing:.06em}
.voice-hints{margin-top:16px;background:var(--sky-xl);border-radius:var(--r);padding:14px;font-size:11px;font-weight:500;color:var(--ink2);line-height:1.8}
.voice-hints strong{color:var(--sky);font-weight:800;display:block;margin-bottom:4px;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
/* ALARM */
#alarm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:300;background:rgba(240,246,255,.97);backdrop-filter:blur(20px);display:none;flex-direction:column;align-items:center;justify-content:center;padding:32px}
#alarm-overlay.show{display:flex;animation:fadeIn .3s ease}
.alarm-icon{font-size:64px;animation:ring .4s ease-in-out infinite;margin-bottom:20px}
@keyframes ring{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}
.alarm-time{font-size:64px;font-weight:900;color:var(--sky);letter-spacing:-.02em;line-height:1}
.alarm-title{font-size:22px;font-weight:800;color:var(--ink);margin:10px 0 32px;text-align:center}
/* TOAST */
#toast{position:fixed;bottom:96px;left:50%;transform:translateX(-50%) translateY(16px);background:var(--sky);color:#fff;padding:10px 22px;border-radius:100px;font-size:12px;font-weight:700;letter-spacing:.06em;opacity:0;transition:all .28s;z-index:500;white-space:nowrap;box-shadow:0 4px 16px rgba(45,125,210,.4)}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
/* NOTE EDITOR */
#note-editor{position:fixed;top:0;left:0;right:0;bottom:0;z-index:200;background:var(--bg);display:none;flex-direction:column;padding:20px;padding-top:56px}
#note-editor.show{display:flex}
#note-editor-close{position:absolute;top:18px;left:18px;font-size:24px;cursor:pointer;color:var(--ink2);padding:4px}
#note-editor-title-field{font-family:var(--font-sf);font-size:24px;font-weight:800;color:var(--ink);background:transparent;border:none;outline:none;margin-bottom:14px;width:100%}
#note-editor-body-field{flex:1;background:transparent;border:none;outline:none;font-family:var(--font-sf);font-size:16px;font-weight:500;color:var(--ink2);line-height:1.7;resize:none;width:100%}
/* CAT MODAL */
#cat-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:250;background:rgba(13,31,60,.5);backdrop-filter:blur(8px);display:none;align-items:flex-end;justify-content:center;padding:20px}
#cat-modal.show{display:flex}
.cat-modal-sheet{background:var(--white);border-radius:var(--r3) var(--r3) var(--r2) var(--r2);padding:24px;width:100%;max-width:480px;animation:slideUp .28s ease;border:1.5px solid var(--border);box-shadow:var(--shadow2)}
.cat-modal-title{font-size:13px;font-weight:800;color:var(--sky);letter-spacing:.12em;text-transform:uppercase;text-align:center;margin-bottom:18px}
/* EMOJI PICKER */
#emoji-picker-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:350;background:rgba(13,31,60,.5);backdrop-filter:blur(8px);display:none;align-items:flex-end;justify-content:center;padding:20px}
#emoji-picker-modal.show{display:flex}
.emoji-sheet{background:var(--white);border-radius:var(--r3) var(--r3) var(--r2) var(--r2);padding:20px;width:100%;max-width:480px;animation:slideUp .28s ease;border:1.5px solid var(--border);box-shadow:var(--shadow2);max-height:70vh;display:flex;flex-direction:column}
.emoji-sheet-title{font-size:12px;font-weight:800;color:var(--sky);letter-spacing:.12em;text-transform:uppercase;text-align:center;margin-bottom:12px;flex-shrink:0}
.emoji-search{margin-bottom:12px;flex-shrink:0}
.emoji-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;overflow-y:auto;flex:1}
.emoji-btn{width:100%;aspect-ratio:1;border:none;background:transparent;font-size:22px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}
.emoji-btn:active,.emoji-btn:hover{background:var(--sky-xl)}
#export-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:250;background:rgba(13,31,60,.5);backdrop-filter:blur(8px);display:none;align-items:flex-end;justify-content:center;padding:20px}
#export-modal.show{display:flex}
.export-sheet{background:var(--white);border-radius:var(--r3) var(--r3) var(--r2) var(--r2);padding:24px;width:100%;max-width:480px;animation:slideUp .28s ease;border:1.5px solid var(--border);box-shadow:var(--shadow2)}
/* DATALIST */
input[list]{background-image:none}
/* PROGRESS */
.progress-bar{height:8px;background:var(--sky-xl);border-radius:4px;overflow:hidden;margin:6px 0}
.progress-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--sky),#18a058);transition:width .6s ease}
/* WEEKLY SUMMARY */
.week-summary{background:linear-gradient(135deg,#fff8f0,#fff3e0);border:1.5px solid #fde8cc;border-radius:var(--r2);padding:16px;margin-bottom:12px}
.week-summary-title{font-size:10px;font-weight:800;color:var(--orange);letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px}
.week-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.week-row-label{font-size:12px;font-weight:600;color:var(--ink2)}
.week-row-val{font-size:13px;font-weight:800;font-family:var(--font-mono)}
/* BILLS ENHANCED */
.bills-summary{border-radius:var(--r2);padding:18px;margin-bottom:14px}
.bills-summary.danger{background:linear-gradient(135deg,#fde8e6,#fbd0cc);border:1.5px solid #f5b8b3}
.bills-summary.ok{background:linear-gradient(135deg,#e6f9f0,#ccf2e0);border:1.5px solid #a3e8c4}
.bs-title{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);margin-bottom:10px}
.bs-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.bs-box{background:rgba(255,255,255,.7);border-radius:var(--r);padding:10px;text-align:center}
.bs-val{font-size:16px;font-weight:900;font-family:var(--font-mono)}
.bs-val.red{color:var(--red)}.bs-val.orange{color:var(--orange)}.bs-val.green{color:var(--green)}
.bs-label{font-size:9px;font-weight:700;color:var(--ink3);letter-spacing:.1em;text-transform:uppercase;margin-top:2px}
.bill-card{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r2);padding:16px;margin-bottom:10px;box-shadow:var(--shadow)}
.bill-card.atrasada{border-color:#f5b8b3;background:#fffafa}
.bill-card.negociacao{border-color:#b3d4f5;background:#f5faff}
.bill-card.resolver{border-color:#fde8cc;background:#fffaf5}
.bill-card-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.bill-card-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.bill-card-name{font-size:15px;font-weight:800;color:var(--ink)}
.bill-card-sub{font-size:10px;font-weight:700;color:var(--ink3);letter-spacing:.08em;text-transform:uppercase;margin-top:1px}
.bill-card-del{margin-left:auto;color:var(--ink4);cursor:pointer;font-size:16px;padding:4px}
.bill-card-del:active{color:var(--red)}
.bill-status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:100px;font-size:10px;font-weight:800;letter-spacing:.06em}
.status-emdia{background:#e6f9f0;color:var(--green)}
.status-atrasado{background:#fde8e6;color:var(--red)}
.status-negociacao{background:#eaf3ff;color:var(--sky)}
.status-resolver{background:#fff3dc;color:var(--orange)}
.status-renegociado{background:#f3e8ff;color:#8b5cf6}
.status-quitado{background:#e6f9f0;color:var(--green)}
.status-pendente{background:#fff3dc;color:var(--orange)}
.financ-progress{margin:10px 0}
.financ-labels{display:flex;justify-content:space-between;font-size:10px;font-weight:700;color:var(--ink3);margin-bottom:4px}
.financ-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.financ-cell{background:var(--sky-xl);border-radius:var(--r);padding:10px 12px}
.financ-cell-label{font-size:9px;font-weight:800;color:var(--ink3);letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px}
.financ-cell-val{font-size:13px;font-weight:800;color:var(--ink);font-family:var(--font-mono)}
.financ-obs{background:#f8f9fa;border-radius:var(--r);padding:10px;margin-top:8px;font-size:12px;font-weight:500;color:var(--ink2);line-height:1.5}
/* INDEXADORES */
.idx-panel{background:linear-gradient(135deg,#0f3460,#1a5faa);border-radius:var(--r2);padding:16px;margin-bottom:14px}
.idx-title{font-size:10px;font-weight:800;color:rgba(255,255,255,.6);letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}
.idx-refresh{background:none;border:1px solid rgba(255,255,255,.3);border-radius:100px;color:rgba(255,255,255,.8);font-size:10px;font-weight:700;padding:3px 10px;cursor:pointer}
.idx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.idx-box{background:rgba(255,255,255,.1);border-radius:var(--r);padding:10px;text-align:center}
.idx-name{font-size:9px;font-weight:800;color:rgba(255,255,255,.6);letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}
.idx-val{font-size:18px;font-weight:900;color:#fff;font-family:var(--font-mono)}
.idx-period{font-size:9px;color:rgba(255,255,255,.5);margin-top:2px}
/* ══════ PREMIUM ══════ */
:root{
  --prem-gold:#c8a951;
  --prem-silver:#a8b8c8;
  --prem-blue:#1a3a6c;
  --prem-royal:#2351a4;
  --prem-shine:#e8f0ff;
}
.premium-badge{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 10px;border-radius:100px;
  background:linear-gradient(135deg,#1a3a6c,#2351a4);
  border:1px solid #a8b8c8;
  font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:#e8f0ff;
}
.premium-badge svg{width:10px;height:10px}
.premium-lock{
  position:absolute;top:0;left:0;right:0;bottom:0;
  background:rgba(7,15,35,.92);
  border-radius:inherit;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:28px 24px;z-index:10;
  backdrop-filter:blur(4px);
}
.premium-lock-icon{font-size:40px;margin-bottom:14px;animation:float 3s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.premium-lock-title{
  font-family:var(--font-sf);font-size:20px;font-weight:900;
  background:linear-gradient(135deg,#a8b8c8,#e8f0ff,#a8b8c8);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;text-align:center;margin-bottom:8px;
}
.premium-lock-sub{font-size:12px;font-weight:500;color:rgba(255,255,255,.6);text-align:center;line-height:1.6;margin-bottom:20px}
.premium-features{width:100%;margin-bottom:20px}
.premium-feat-item{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.premium-feat-item:last-child{border-bottom:none}
.premium-feat-check{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#2351a4,#1a3a6c);border:1px solid #a8b8c8;display:flex;align-items:center;justify-content:center;font-size:10px;color:#e8f0ff;flex-shrink:0}
.premium-feat-text{font-size:12px;font-weight:600;color:rgba(255,255,255,.85)}
.btn-premium{
  width:100%;padding:14px;border-radius:100px;border:none;
  background:linear-gradient(135deg,#1a3a6c,#2351a4,#1a3a6c);
  background-size:200% auto;
  color:#e8f0ff;font-family:var(--font-sf);
  font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 4px 20px rgba(35,81,164,.5),0 0 0 1px #a8b8c8;
  animation:shimmer 3s linear infinite;
}
@keyframes shimmer{0%{background-position:0% 50%}100%{background-position:200% 50%}}
.btn-premium:active{transform:scale(.97)}
.premium-tab-badge{
  display:inline-flex;align-items:center;
  margin-left:4px;vertical-align:middle;
}
.screen-premium-wrap{position:relative}
/* Premium modal */
#premium-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:400;background:rgba(7,15,35,.85);backdrop-filter:blur(10px);display:none;align-items:flex-end;justify-content:center;padding:20px}
#premium-modal.show{display:flex}
.premium-sheet{
  background:linear-gradient(180deg,#0d1f3c,#07111f);
  border:1px solid rgba(168,184,200,.3);
  border-radius:28px 28px 20px 20px;
  padding:32px 24px 28px;width:100%;max-width:480px;
  animation:slideUp .3s ease;
  position:relative;overflow:hidden;
}
.premium-sheet::before{
  content:'';position:absolute;top:-80px;left:50%;transform:translateX(-50%);
  width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(35,81,164,.3),transparent 70%);
  pointer-events:none;
}
.prem-sheet-badge{text-align:center;margin-bottom:20px}
.prem-sheet-title{font-size:26px;font-weight:900;text-align:center;margin-bottom:8px;background:linear-gradient(135deg,#a8b8c8,#e8f0ff,#a8b8c8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.prem-sheet-sub{font-size:13px;color:rgba(255,255,255,.55);text-align:center;line-height:1.6;margin-bottom:24px}
.prem-price{text-align:center;margin-bottom:24px}
.prem-price-val{font-size:42px;font-weight:900;color:#e8f0ff}
.prem-price-period{font-size:13px;color:rgba(255,255,255,.5);margin-top:2px}
.prem-divider{height:1px;background:rgba(168,184,200,.15);margin:16px 0}
/* DARK MODE */
[data-theme="dark"]{--bg:#0a0e16;--bg2:#0d1117;--white:#f5f8fc;--sky:#2d7dd2;--sky2:#1a5faa;--sky-lt:#d6e9ff;--sky-xl:#eaf3ff;--ink:#0d1f3c;--ink2:#3a5070;--ink3:#8099b8;--ink4:#d0e2f5;--green:#18a058;--red:#e0422d;--orange:#e07d1a;--border:#d0e2f5;--shadow:0 2px 16px rgba(0,0,0,.5);--shadow2:0 4px 32px rgba(0,0,0,.7)}
[data-theme="dark"] body{background:#0a0e16}
[data-theme="dark"] #header,[data-theme="dark"] #nav{background:#0d1117}
[data-theme="dark"] #header .logo,[data-theme="dark"] #clock-display{color:#f5f8fc}
[data-theme="dark"] .tab{color:#8099b8}
[data-theme="dark"] .tab.active{background:var(--sky);color:#fff}
[data-theme="dark"] .section-title,[data-theme="dark"] .dash-section-title{color:#8099b8}
[data-theme="dark"] input,[data-theme="dark"] textarea,[data-theme="dark"] select{background:#fff;border-color:#d0e2f5;color:#0d1f3c}
[data-theme="dark"] select option{background:#fff;color:#0d1f3c}
/* LOGIN */
#login-screen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:radial-gradient(115% 75% at 82% -8%,#d4e6f5 0%,transparent 55%),radial-gradient(95% 65% at 0% 108%,#dce8f3 0%,transparent 52%),linear-gradient(165deg,#eef4fa 0%,#e6eef7 52%,#f0f5fb 100%);display:none;flex-direction:column;align-items:center;justify-content:center;padding:32px;overflow-y:auto}
.login-logo{font-family:var(--font-sf);font-size:30px;font-weight:800;color:var(--sky2);letter-spacing:-.02em;margin-bottom:4px}
.login-sub{font-size:13px;color:var(--ink2);letter-spacing:.02em;margin-bottom:30px;font-weight:500}
.login-card{position:relative;background:linear-gradient(160deg,var(--glass-bright),rgba(255,255,255,.5) 64%);backdrop-filter:blur(24px) saturate(155%);-webkit-backdrop-filter:blur(24px) saturate(155%);border:1px solid var(--glass-line);border-radius:28px;padding:30px;width:100%;max-width:380px;box-shadow:0 20px 50px rgba(40,70,110,.16),inset 0 1px 0 #fff,inset 0 0 0 1px var(--border);overflow:hidden}
.login-card::before{content:'';position:absolute;left:0;right:0;top:0;height:36%;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0));pointer-events:none;border-radius:28px 28px 0 0}
.login-card>*{position:relative;z-index:1}
.login-title{font-size:11px;font-weight:700;color:var(--ink3);letter-spacing:.14em;text-transform:uppercase;text-align:center;margin-bottom:18px}
.login-input{width:100%;background:rgba(255,255,255,.7);border:1px solid var(--border);border-radius:14px;padding:14px 16px;color:var(--ink);font-family:var(--font-sf);font-size:15px;font-weight:500;outline:none;margin-bottom:10px;-webkit-appearance:none;transition:all .2s}
.login-input::placeholder{color:#9aa8bc}
.login-input:focus{border-color:var(--sky);background:#fff;box-shadow:0 0 0 4px rgba(45,108,151,.1)}
.login-btn{width:100%;padding:15px;border-radius:14px;border:none;background:linear-gradient(160deg,#2d6c97,#1c4a6e);color:#fff;font-family:var(--font-sf);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;margin-bottom:10px;transition:all .2s;box-shadow:0 10px 24px rgba(28,74,110,.3),inset 0 1px 0 rgba(255,255,255,.3)}
.login-btn:active{transform:scale(.98)}
.login-btn.outline{background:rgba(255,255,255,.8);border:1px solid var(--border);color:var(--ink);box-shadow:inset 0 1px 0 #fff}
.login-btn.bio{background:linear-gradient(135deg,#18a058,#0e7040)}
.login-divider{display:flex;align-items:center;gap:10px;margin:14px 0;color:#9aa8bc;font-size:11px;font-weight:600}
.login-divider::before,.login-divider::after{content:'';flex:1;height:1px;background:var(--border)}
.login-error{color:#f85149;font-size:11px;font-weight:700;text-align:center;min-height:16px;margin-bottom:6px}
.login-recover{text-align:center;font-size:12px;color:var(--sky);cursor:pointer;margin-top:12px;font-weight:700}
/* AGENDA CALENDAR */
.cal-day{min-height:44px;border-radius:8px;padding:4px;cursor:pointer;position:relative;background:var(--bg);border:1.5px solid transparent;transition:all .15s;display:flex;flex-direction:column;align-items:center}
.cal-day:active{transform:scale(.93)}
.cal-day.other-month{opacity:.3}
.cal-day.today{border-color:var(--sky);background:var(--sky-lt)}
.cal-day.selected{background:var(--sky);border-color:var(--sky2)}
.cal-day.selected .cal-day-num{color:#fff}
.cal-day.has-events::after{content:'';width:5px;height:5px;border-radius:50%;background:var(--sky);position:absolute;bottom:3px}
.cal-day.today.has-events::after{background:var(--sky2)}
.cal-day.selected.has-events::after{background:#fff}
.cal-day-num{font-size:12px;font-weight:700;color:var(--ink);line-height:1.4}
.cal-day.today .cal-day-num{color:var(--sky);font-weight:900}
.cal-event-dot{width:4px;height:4px;border-radius:50%;margin:1px auto}
.cal-day-event-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg);border-radius:var(--r);margin-bottom:6px;border-left:3px solid var(--sky)}
.cal-day-event-time{font-size:11px;font-weight:700;color:var(--ink3);min-width:40px}
.cal-day-event-title{font-size:13px;font-weight:700;color:var(--ink);flex:1}
.ios-toggle{position:relative;display:inline-block;width:44px;height:26px;flex-shrink:0}
.ios-toggle input{opacity:0;width:0;height:0;position:absolute}
.ios-toggle-slider{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(120,150,190,.25);border-radius:26px;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;border:1.5px solid rgba(120,150,190,.3)}
.ios-toggle-slider:before{content:'';position:absolute;height:20px;width:20px;left:2px;bottom:2px;background:white;border-radius:50%;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px rgba(0,0,0,.3)}
.ios-toggle input:checked + .ios-toggle-slider{background:#34c759;border-color:#2db34a}
.ios-toggle input:checked + .ios-toggle-slider:before{transform:translateX(18px)}
.ios-toggle-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.ios-toggle-label{font-size:12px;color:var(--ink2);line-height:1.4;flex:1}
/* USER AVATAR */
.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--sky);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#fff;cursor:pointer;transition:transform .15s;flex-shrink:0}
.user-avatar:active{transform:scale(.92)}
/* PROFILE MODAL */
#profile-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:250;background:rgba(13,31,60,.5);backdrop-filter:blur(8px);display:none;align-items:flex-end;justify-content:center;padding:20px}
#profile-modal.show{display:flex}
.profile-sheet{background:var(--white);border-radius:var(--r3) var(--r3) var(--r2) var(--r2);padding:28px 24px;width:100%;max-width:480px;animation:slideUp .28s ease;border:1.5px solid var(--border)}
/* DASHBOARD */
.dash-card{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r2);padding:16px;margin-bottom:12px;box-shadow:var(--shadow)}
.dash-section-title{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);margin:16px 0 8px}
/* AI */
.ai-insight-item{display:flex;gap:10px;padding:12px 0;border-bottom:1.5px solid var(--border)}
.ai-insight-item:last-child{border-bottom:none}
/* IMPORT */
.import-drop{border:2px dashed var(--border);border-radius:var(--r2);padding:32px;text-align:center;cursor:pointer;transition:all .2s;background:var(--sky-xl)}
.import-drop:active{border-color:var(--sky);background:var(--sky-lt)}
/* SCREEN TRANSITIONS — iPhone style */
#content{overflow-y:auto;position:relative;-webkit-overflow-scrolling:touch}
.screen{display:none;animation:none}
.screen.active{display:block}
.screen.slide-in-right{animation:slideInFromRight .32s cubic-bezier(.25,.46,.45,.94) forwards}
.screen.slide-in-left{animation:slideInFromLeft .32s cubic-bezier(.25,.46,.45,.94) forwards}
.screen.slide-out-right{animation:slideOutToRight .32s cubic-bezier(.25,.46,.45,.94) forwards}
.screen.slide-out-left{animation:slideOutToLeft .32s cubic-bezier(.25,.46,.45,.94) forwards}
@keyframes slideInFromRight{from{transform:translateX(100%);opacity:.6}to{transform:translateX(0);opacity:1}}
@keyframes slideInFromLeft{from{transform:translateX(-100%);opacity:.6}to{transform:translateX(0);opacity:1}}
@keyframes slideOutToRight{from{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0}}
@keyframes slideOutToLeft{from{transform:translateX(0);opacity:1}to{transform:translateX(-100%);opacity:0}}
/* BOTTOM SHEET — transactions list */
#txlist-sheet{position:fixed;top:0;left:0;right:0;bottom:0;z-index:300;background:rgba(13,31,60,.5);backdrop-filter:blur(8px);display:none;align-items:flex-end;justify-content:center}
#txlist-sheet.show{display:flex}
.txlist-panel{background:var(--white);border-radius:28px 28px 0 0;width:100%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;animation:slideUp .3s ease;border-top:1.5px solid var(--border)}
.txlist-handle{width:36px;height:4px;background:var(--border);border-radius:2px;margin:12px auto 0}
.txlist-header{padding:16px 20px 12px;flex-shrink:0}
.txlist-title{font-size:16px;font-weight:900;color:var(--ink)}
.txlist-total{font-size:13px;font-weight:700;margin-top:2px}
.txlist-body{overflow-y:auto;padding:0 16px 20px;flex:1}
.txlist-cat-group{margin-bottom:4px;border-radius:var(--r2);overflow:hidden;border:1.5px solid var(--border)}
.txlist-cat-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;cursor:pointer;background:var(--bg);user-select:none}
.txlist-cat-header:active{background:var(--bg2)}
.txlist-cat-icon{font-size:18px;margin-right:8px}
.txlist-cat-name{font-size:13px;font-weight:700;color:var(--ink);flex:1}
.txlist-cat-total{font-size:13px;font-weight:800;font-family:var(--font-mono)}
.txlist-cat-arrow{font-size:10px;color:var(--ink3);margin-left:8px;transition:transform .2s}
.txlist-cat-arrow.open{transform:rotate(180deg)}
.txlist-items{display:none;background:var(--white)}
.txlist-items.open{display:block}
.txlist-item{display:flex;align-items:center;padding:10px 14px;border-top:1px solid var(--border)}
.txlist-item-desc{flex:1;font-size:12px;font-weight:600;color:var(--ink2)}
.txlist-item-date{font-size:10px;color:var(--ink3);margin-right:10px}
.txlist-item-val{font-size:12px;font-weight:800;font-family:var(--font-mono)}
/* FAB LABELS — high contrast fix */
.fab-label{position:absolute;right:72px;background:#0d1f3c;color:#fff;padding:6px 14px;border-radius:100px;font-size:12px;font-weight:800;white-space:nowrap;opacity:0;transform:translateX(10px);transition:all .3s;pointer-events:none;box-shadow:0 3px 12px rgba(0,0,0,.3);letter-spacing:.03em}
/* PTAX indicator */
.ptax-badge{display:flex;align-items:center;gap:6px;background:var(--white);border:1.5px solid var(--border);border-radius:var(--r);padding:8px 12px;margin-bottom:12px}
.ptax-flag{font-size:16px}
.ptax-val{font-size:15px;font-weight:900;color:var(--ink);font-family:var(--font-mono)}
.ptax-label{font-size:9px;font-weight:800;color:var(--ink3);letter-spacing:.1em;text-transform:uppercase}
/* VOICE — click to start/stop */
#voice-modal .voice-record-btn{width:72px;height:72px;border-radius:50%;border:none;margin:16px auto;display:flex;align-items:center;justify-content:center;cursor:pointer;background:linear-gradient(135deg,var(--sky),var(--sky2));box-shadow:0 6px 24px rgba(45,125,210,.45);transition:all .2s}
#voice-modal .voice-record-btn.recording{background:linear-gradient(135deg,var(--red),#c0392b);animation:voicePulse 1.2s ease-in-out infinite}
#fab-container{position:fixed;bottom:28px;right:20px;z-index:100;display:flex;flex-direction:column;align-items:center;gap:12px}
#fab-main{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--sky),var(--sky2));border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 28px rgba(45,125,210,.5),0 0 0 3px rgba(45,125,210,.12);transition:all .3s;position:relative;z-index:2}
#fab-main:active{transform:scale(.93)}
#fab-main.open{background:linear-gradient(135deg,#3a3a5c,#1a1a35);box-shadow:0 8px 28px rgba(0,0,0,.4)}
#fab-main.listening{background:linear-gradient(135deg,var(--red),#c0392b);box-shadow:0 8px 32px rgba(224,66,45,.6),0 0 0 8px rgba(224,66,45,.15);animation:voicePulse 1.2s ease-in-out infinite}
@keyframes voicePulse{0%,100%{box-shadow:0 8px 32px rgba(224,66,45,.6),0 0 0 8px rgba(224,66,45,.15)}50%{box-shadow:0 8px 32px rgba(224,66,45,.8),0 0 0 18px rgba(224,66,45,.07)}}
.fab-sub{width:52px;height:52px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.25);transition:all .35s cubic-bezier(.34,1.56,.64,1);position:relative;z-index:2;opacity:0;transform:scale(0) translateY(20px);pointer-events:none}
.fab-sub:active{transform:scale(.9)!important}
#fab-income{background:linear-gradient(135deg,#18a058,#0e7040)}
#fab-expense{background:linear-gradient(135deg,#e0422d,#b83020)}
#fab-container.open .fab-sub{opacity:1;transform:scale(1) translateY(0);pointer-events:auto}
#fab-container.open #fab-expense{transition-delay:.05s}
#fab-container.open #fab-income{transition-delay:.1s}
.fab-label{position:absolute;right:64px;background:var(--ink);color:#fff;padding:5px 12px;border-radius:100px;font-size:11px;font-weight:700;white-space:nowrap;opacity:0;transform:translateX(8px);transition:all .3s;pointer-events:none}
#fab-label-expense{bottom:148px}
#fab-label-income{bottom:212px}
#fab-label-voice{bottom:276px}
#fab-container.open .fab-label{opacity:1;transform:translateX(0)}
#fab-container.open #fab-label-expense{transition-delay:.05s}
#fab-container.open #fab-label-income{transition-delay:.1s}
#fab-container.open #fab-label-voice{transition-delay:.15s}
#fab-container.open #fab-expense{transition-delay:.05s}
#fab-container.open #fab-income{transition-delay:.1s}
#fab-container.open #fab-voice{transition-delay:.15s}
#fab-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1;display:none;background:rgba(13,31,60,.25);backdrop-filter:blur(2px)}
#fab-container.open #fab-backdrop{display:block}
/* HOME BACK BTN */
#home-back-btn{position:fixed;bottom:28px;left:20px;z-index:99;width:46px;height:46px;border-radius:50%;background:var(--white);border:1.5px solid var(--border);cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.1);transition:all .2s}
#home-back-btn:active{transform:scale(.92)}
#home-back-btn svg{width:20px;height:20px;fill:var(--ink3)}
/* QUICK ADD MODAL */
#quick-add-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:350;background:rgba(13,31,60,.5);backdrop-filter:blur(10px);display:none;align-items:flex-end;justify-content:center;padding:20px}
#quick-add-modal.show{display:flex}
.quick-add-sheet{background:var(--white);border-radius:28px 28px 20px 20px;padding:28px 24px;width:100%;max-width:480px;animation:slideUp .28s ease;border:1.5px solid var(--border)}
.quick-add-type-label{font-size:14px;font-weight:900;text-align:center;margin-bottom:20px}
.quick-add-type-label.income{color:var(--green)}
.quick-add-type-label.expense{color:var(--red)}
.quick-amount-input{width:100%;text-align:center;font-size:36px;font-weight:900;font-family:var(--font-mono);border:none;border-bottom:2.5px solid var(--border);background:transparent;color:var(--ink);outline:none;padding:8px 0;margin-bottom:16px}
.quick-amount-input:focus{border-bottom-color:var(--sky)}
.camera-btn{width:100%;padding:14px;border-radius:var(--r2);border:2px dashed var(--sky);background:var(--sky-xl);color:var(--sky);font-family:var(--font-sf);font-size:13px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;margin-bottom:12px}
.camera-btn:active{background:var(--sky-lt);transform:scale(.98)}
.camera-preview{width:100%;border-radius:var(--r2);margin-bottom:12px;display:none;position:relative}
.camera-preview img{width:100%;border-radius:var(--r2);border:2px solid var(--sky)}
.camera-preview-del{position:absolute;top:8px;right:8px;background:var(--red);color:#fff;border:none;border-radius:50%;width:28px;height:28px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.ai-scan-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(13,31,60,.7);border-radius:var(--r2);display:none;align-items:center;justify-content:center;flex-direction:column;gap:10px}
.ai-scan-overlay.active{display:flex}
.ai-scan-pulse{width:48px;height:48px;border-radius:50%;background:var(--sky);animation:pulse 1.2s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(.9);opacity:.7}50%{transform:scale(1.1);opacity:1}}
.ai-results-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:var(--r2);padding:16px;margin-bottom:12px;display:none}
.ai-results-title{font-size:11px;font-weight:800;color:rgba(255,255,255,.7);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.ai-result-item{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.ai-result-item:last-child{border-bottom:none}
.ai-result-check{width:20px;height:20px;border-radius:4px;border:2px solid rgba(255,255,255,.5);flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;background:rgba(255,255,255,.1)}
.ai-result-check.checked{background:#18a058;border-color:#18a058}
.ai-result-text{font-size:12px;font-weight:600;color:#fff;line-height:1.5;flex:1}
.ai-result-tag{display:inline-block;padding:2px 8px;border-radius:100px;font-size:9px;font-weight:800;letter-spacing:.08em;margin-left:6px}
.tag-agenda{background:rgba(45,125,210,.4);color:#a8d4ff}
.tag-tarefa{background:rgba(24,160,88,.4);color:#a8f0c8}
.tag-compra{background:rgba(224,125,26,.4);color:#ffd8a8}
.tag-financas{background:rgba(224,66,45,.4);color:#ffc8c0}
.usage-bar-wrap{margin-bottom:8px}
.usage-bar-label{font-size:10px;font-weight:700;color:var(--ink3);display:flex;justify-content:space-between;margin-bottom:4px}
.usage-bar{height:4px;background:var(--sky-xl);border-radius:2px;overflow:hidden}
.usage-bar-fill{height:100%;background:var(--sky);border-radius:2px;transition:width .4s}
.seg-toggle{display:flex;gap:0;border:1.5px solid var(--border);border-radius:12px;overflow:hidden}
.seg-toggle button{flex:1;border:none;background:var(--white);color:var(--ink3);font-family:inherit;font-size:12px;font-weight:700;padding:9px 4px;cursor:pointer;transition:all .15s}
.seg-toggle button.seg-on{background:var(--sky);color:#fff}
.eisen-quad{border-radius:var(--r2);padding:14px;margin-bottom:12px;border:1.5px solid var(--border)}
.eisen-quad-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.eisen-quad-title{font-size:13px;font-weight:900;letter-spacing:.02em}
.eisen-quad-sub{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;opacity:.7}
.eisen-quad-count{font-size:11px;font-weight:800;background:rgba(255,255,255,.6);border-radius:20px;padding:2px 9px}
.eisen-task{display:flex;align-items:center;gap:10px;background:var(--white);border-radius:12px;padding:10px 12px;margin-bottom:7px}
.eisen-task:last-child{margin-bottom:0}
.eisen-empty{font-size:12px;color:var(--ink3);text-align:center;padding:10px 0;font-style:italic}
.q1{background:#fdecec;border-color:#f3c4c4}
.q2{background:#e7f6ec;border-color:#bfe6cd}
.q3{background:#fff3e0;border-color:#f6dcb0}
.q4{background:#eef1f6;border-color:#d6dde8}
.ai-bubble{max-width:85%;padding:11px 14px;border-radius:16px;font-size:14px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.ai-bubble.ai-bot{align-self:flex-start;background:var(--sky-xl);color:var(--ink);border-bottom-left-radius:5px}
.ai-bubble.ai-user{align-self:flex-end;background:var(--sky);color:#fff;border-bottom-right-radius:5px}
.ai-bubble.ai-action{align-self:flex-start;background:#fff;border:1.5px solid var(--border);color:var(--ink2);font-size:13px;font-style:italic}
.ai-typing{align-self:flex-start;color:var(--ink3);font-size:13px;font-style:italic;padding:4px 8px}
/* ══════ INSIGHTS CARROSSEL (Início) ══════ */
#insights-track::-webkit-scrollbar{display:none}
.insight-card{flex:0 0 86%;scroll-snap-align:center;border-radius:var(--r2);padding:16px 18px;min-height:96px;display:flex;flex-direction:column;justify-content:center;box-shadow:var(--shadow);position:relative;overflow:hidden}
.insight-card .ic-icon{font-size:22px;margin-bottom:8px}
.insight-card .ic-title{font-size:13px;font-weight:900;margin-bottom:4px;letter-spacing:.01em}
.insight-card .ic-text{font-size:12px;font-weight:500;line-height:1.5;opacity:.92}
.insight-dot{width:6px;height:6px;border-radius:50%;background:var(--ink4);transition:all .2s}
.insight-dot.on{background:var(--sky);width:18px;border-radius:3px}

/* ══════ CHAT IA FLUTUANTE ══════ */
#fab-main{width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 32px rgba(118,75,162,.45),0 0 18px 2px rgba(118,75,162,.35),0 0 0 1px rgba(255,255,255,.12) inset;transition:transform .2s}
#fab-main:active{transform:scale(.92)}

#splash-screen{position:fixed;inset:0;z-index:9999;background:radial-gradient(115% 75% at 82% -8%,#d4e6f5 0%,transparent 55%),radial-gradient(95% 65% at 0% 108%,#dce8f3 0%,transparent 52%),linear-gradient(165deg,#eef4fa 0%,#e6eef7 52%,#f0f5fb 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;transition:opacity .45s ease}
#splash-screen.hide{opacity:0;pointer-events:none}
.sp-wrap{width:120px;height:120px;border-radius:30px;background:linear-gradient(135deg,#8ab4f8 0%,#6c63ff 55%,#a78bf0 100%);display:flex;align-items:center;justify-content:center;box-shadow:0 16px 44px rgba(108,99,255,.4),0 0 0 1px rgba(255,255,255,.18) inset;animation:spBreathe 3s ease-in-out infinite}
@keyframes spBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
.sp-wrap svg{width:72px;height:72px;overflow:visible}
.sp-draw{fill:none;stroke:#fff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;animation:spDraw 3s ease-in-out infinite}
.sp-bar{fill:#fff;opacity:0;transform-origin:50% 58px;animation:spBar 3s ease-in-out infinite}
.sp-bar.b2{animation-delay:.12s}.sp-bar.b3{animation-delay:.24s}.sp-bar.b4{animation-delay:.36s}
@keyframes spDraw{0%{stroke-dashoffset:var(--len)}35%{stroke-dashoffset:0}85%{stroke-dashoffset:0;opacity:1}97%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:var(--len);opacity:0}}
@keyframes spBar{0%,38%{opacity:0;transform:scaleY(0)}52%{opacity:1;transform:scaleY(1.12)}58%{transform:scaleY(1)}85%{opacity:1;transform:scaleY(1)}97%,100%{opacity:0;transform:scaleY(1)}}
.sp-name{font-size:24px;font-weight:800;letter-spacing:-.02em;color:#1c4a6e}
@media (prefers-reduced-motion:reduce){.sp-wrap,.sp-draw,.sp-bar{animation:none}.sp-draw{stroke-dashoffset:0}.sp-bar{opacity:1}}

#ai-chat-sheet{position:fixed;inset:0;z-index:600;background:rgba(13,31,60,.45);backdrop-filter:blur(8px);display:none;align-items:flex-end;justify-content:center}
#ai-chat-sheet.show{display:flex}
.ai-chat-panel{background:var(--white);border-radius:24px 24px 0 0;width:100%;max-width:480px;height:78vh;display:flex;flex-direction:column;animation:slideUp .3s ease;border-top:1.5px solid var(--border);overflow:hidden}
.ai-chat-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1.5px solid var(--border);flex-shrink:0;background:var(--white)}
.ai-chat-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;flex-shrink:0}
#ai-chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--bg)}
.ai-chat-inputbar{display:flex;gap:8px;padding:12px;border-top:1.5px solid var(--border);background:var(--white);flex-shrink:0}
.ai-chat-chips{display:flex;gap:7px;padding:10px 12px 2px;overflow-x:auto;flex-shrink:0;background:var(--white);-webkit-overflow-scrolling:touch;scrollbar-width:none}
.ai-chat-chips::-webkit-scrollbar{display:none}
.ai-chip{flex-shrink:0;white-space:nowrap;border:1px solid var(--glass-line);background:rgba(255,255,255,.7);color:var(--ink2);font-size:12px;font-weight:600;padding:8px 13px;border-radius:100px;cursor:pointer;transition:all .15s;box-shadow:inset 0 1px 0 #fff}
.ai-chip:active{transform:scale(.95);background:var(--sky-xl);color:var(--sky)}
.ai-chat-inputbar input{flex:1;border:1.5px solid var(--border);border-radius:100px;padding:12px 16px;font-family:inherit;font-size:15px;background:var(--bg);color:var(--ink);outline:none}
.ai-chat-inputbar input:focus{border-color:var(--sky)}
#ai-chat-attach{background:var(--bg);border:1.5px solid var(--border);border-radius:50%;width:42px;height:42px;flex-shrink:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--ink3);transition:all .15s}
#ai-chat-attach:active{transform:scale(.92);background:var(--border)}
#ai-chat-attach.has-result{color:var(--sky);border-color:var(--sky)}
#ai-chat-send{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;width:46px;height:46px;flex-shrink:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:background .2s}

/* ── Resumo de importação de extrato (confirmação) ── */
.extrato-summary{background:var(--white);border:1.5px solid var(--border);border-radius:16px;padding:14px;margin:8px 0;max-width:88%;align-self:flex-start}
.extrato-summary .es-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-weight:800;font-size:13px;color:var(--ink)}
.extrato-summary .es-stats{display:flex;gap:8px;margin-bottom:10px}
.extrato-summary .es-stat{flex:1;border-radius:10px;padding:8px 10px;text-align:center}
.extrato-summary .es-stat.in{background:#e7f6ec}
.extrato-summary .es-stat.out{background:#fde8e6}
.extrato-summary .es-stat .es-val{font-size:14px;font-weight:900}
.extrato-summary .es-stat.in .es-val{color:#157a45}
.extrato-summary .es-stat.out .es-val{color:#b02010}
.extrato-summary .es-stat .es-lbl{font-size:9px;font-weight:700;color:var(--ink3);text-transform:uppercase;letter-spacing:.04em}
.extrato-summary .es-list{max-height:180px;overflow-y:auto;border-top:1px solid var(--border);padding-top:8px;margin-bottom:10px}
.extrato-summary .es-item{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;padding:4px 0;color:var(--ink2)}
.extrato-summary .es-item .es-item-desc{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:8px}
.extrato-summary .es-item .es-item-val{font-weight:700;flex-shrink:0}
.extrato-summary .es-item .es-item-val.in{color:#157a45}
.extrato-summary .es-item .es-item-val.out{color:#b02010}
.extrato-summary .es-actions{display:flex;gap:8px}
.extrato-summary .es-btn{flex:1;border:none;border-radius:100px;padding:9px;font-family:inherit;font-weight:800;font-size:12px;cursor:pointer}
.extrato-summary .es-btn.confirm{background:linear-gradient(160deg,#2d6c97,#1c4a6e);color:#fff;box-shadow:0 5px 16px rgba(28,74,110,.32),inset 0 1px 0 rgba(255,255,255,.25)}
.extrato-summary .es-btn.confirm:active{transform:scale(.97)}
.extrato-summary .es-btn.cancel{background:#eef2f7;color:#3a4a5c;border:1px solid #d6e0ea}
.extrato-processing{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink3);font-style:italic;align-self:flex-start;padding:8px 0}
#ai-chat-send:active{transform:scale(.93)}
#ai-chat-send.recording{background:linear-gradient(135deg,#e0422d,#c0392b);animation:chatMicPulse 1.2s ease-in-out infinite}
@keyframes chatMicPulse{0%,100%{box-shadow:0 0 0 0 rgba(224,66,45,.5)}50%{box-shadow:0 0 0 10px rgba(224,66,45,0)}}
.ai-chat-listening{display:none;align-items:center;gap:8px;padding:6px 16px;background:#fde8e6;color:#b02010;font-size:12px;font-weight:700}
.ai-chat-listening.show{display:flex}
.ai-chat-listening .lwave{display:inline-flex;gap:3px;align-items:center}
.ai-chat-listening .lwave span{width:3px;height:12px;background:#e0422d;border-radius:2px;animation:lwaveAnim .8s ease-in-out infinite}
.ai-chat-listening .lwave span:nth-child(2){animation-delay:.15s}
.ai-chat-listening .lwave span:nth-child(3){animation-delay:.3s}
.ai-chat-listening .lwave span:nth-child(4){animation-delay:.45s}
@keyframes lwaveAnim{0%,100%{transform:scaleY(.4)}50%{transform:scaleY(1)}}
.ai-bubble{max-width:82%;padding:11px 14px;border-radius:16px;font-size:14px;font-weight:500;line-height:1.5;word-wrap:break-word}
.ai-bubble.ai-bot{align-self:flex-start;background:var(--white);color:var(--ink);border:1.5px solid var(--border);border-bottom-left-radius:5px}
.ai-bubble.ai-user{align-self:flex-end;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom-right-radius:5px}
.ai-bubble.ai-typing{align-self:flex-start;background:var(--white);color:var(--ink3);border:1.5px solid var(--border);font-style:italic}
.ai-bubble.ai-action{align-self:flex-start;background:#e7f6ec;color:#157a45;font-size:12px;font-weight:700;border:1.5px solid #bfe6cd}
