/* Borion Finance — estilos principais extraídos do index.html */

:root{
  --bg:#060a10;
  --panel:#0c131a;
  --panel-2:#101821;
  --border:#1c2733;
  --border-strong:#2a3949;
  --text:#f3f5f7;
  --muted:#96a3b1;
  --muted-2:#667383;
  --green:#22c55e;
  --green-dark:#0c5a35;
  --blue:#4d82ff;
  --blue-dark:#142a60;
  --red:#ff5a5f;
  --red-dark:#601b1e;
  --accent:#22c55e;
  --gold:#c9a45c;
  --gold-dark:#7d5c2a;
  --gold-bright:#e8c98a;
  --gold-text:#1a1200;
  --radius:16px;
  --radius-sm:10px;
  --shadow-lg:0 18px 48px rgba(0,0,0,.32);
  --shadow-md:0 10px 28px rgba(0,0,0,.22);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{scrollbar-width:thin;scrollbar-color:rgba(201,164,92,.3) transparent;}
html::-webkit-scrollbar{width:9px;height:9px;}
html::-webkit-scrollbar-thumb{background:rgba(201,164,92,.3);border-radius:999px;border:2px solid var(--bg);background-clip:padding-box;}
html::-webkit-scrollbar-thumb:hover{background:rgba(201,164,92,.46);background-clip:padding-box;}
html::-webkit-scrollbar-track{background:transparent;}
html[data-theme="light"]{scrollbar-color:rgba(122,85,29,.32) transparent;}
html[data-theme="light"]::-webkit-scrollbar-thumb{background:rgba(122,85,29,.32);background-clip:padding-box;}
html[data-theme="light"]::-webkit-scrollbar-thumb:hover{background:rgba(122,85,29,.48);background-clip:padding-box;}
body{
  background:
    radial-gradient(circle at top left, rgba(201,164,92,.08), transparent 26%),
    radial-gradient(circle at top right, rgba(77,130,255,.06), transparent 22%),
    linear-gradient(180deg,#060a10 0%, #081019 100%);
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  min-height:100vh;
  position:relative;
}
body::before{
  content:'';
  position:fixed;
  inset:0;
  background-image:url('../icon-512-maskable.png');
  background-size:min(42vw, 540px);
  background-position:center 58%;
  background-repeat:no-repeat;
  opacity:.055;
  filter:grayscale(.05);
  z-index:0;
  pointer-events:none;
}
button{font-family:inherit;cursor:pointer;}
input,select{font-family:inherit;}
#root{min-height:100vh;min-height:100dvh;position:relative;z-index:1;}

/* ---------- GATE (login/profiles) ---------- */
.gate-wrap{
  min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;
  padding:24px;
  background:
    radial-gradient(circle at 50% 20%, rgba(201,164,92,.13) 0%, rgba(6,10,16,.08) 34%, rgba(6,10,16,.88) 72%),
    linear-gradient(135deg,#05080d 0%,#08111a 52%,#05080d 100%);
}
.gate-box{width:100%;max-width:440px;}
.gate-logo{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:30px;position:relative;}
.gate-logo::before{content:"";position:absolute;width:184px;height:184px;top:-24px;border-radius:50%;border:1px solid rgba(201,164,92,.16);box-shadow:0 0 52px rgba(201,164,92,.08);pointer-events:none;}
.gate-logo img{width:146px;height:146px;max-width:100%;object-fit:contain;filter:drop-shadow(0 14px 34px rgba(0,0,0,.42));}
.gate-logo .logo-fallback{
  width:64px;height:64px;border-radius:16px;
  background:linear-gradient(135deg,var(--gold),var(--gold-dark));
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:26px;color:#fff;
}
.gate-logo .appname{font-size:20px;font-weight:800;letter-spacing:.4px;color:#f5f7fa;}
.gate-card{background:linear-gradient(180deg,rgba(16,24,33,.86),rgba(8,13,20,.9));backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.07);box-shadow:0 24px 70px rgba(0,0,0,.42);border-radius:20px;padding:30px;}
.gate-title{font-size:18px;font-weight:700;margin:0 0 6px;}
.gate-sub{color:var(--muted);font-size:13px;margin:0 0 20px;}
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;}
.profile-chip{
  background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:16px 10px;display:flex;flex-direction:column;align-items:center;gap:8px;
  transition:border-color .15s;
}
.profile-chip:hover{border-color:var(--gold);}
.profile-avatar{
  width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:16px;color:#fff;
}
.profile-name{font-size:13px;font-weight:600;text-align:center;word-break:break-word;}
.profile-chip.add{color:var(--muted);}
.profile-chip.add .profile-avatar{background:var(--panel);border:1px dashed var(--muted-2);color:var(--muted);}
.field{margin-bottom:14px;}
.field label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:6px;font-weight:600;}
.field input[type=text],.field input[type=password],.field input[type=email],.field input[type=number],.field input[type=date],.field input[type=month],.field select{
  width:100%;background:rgba(16,24,33,.96);border:1px solid rgba(255,255,255,.06);border-radius:12px;
  padding:11px 12px;color:var(--text);font-size:14px;outline:none;
}
.field input:focus,.field select:focus{border-color:var(--gold);}
.field-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);margin-bottom:14px;}
/* V5.39.0 — alternador "on/off" com 2 opções nomeadas (ex: Despesa fixa vs Despesa variável). */
.segmented-toggle{display:flex;gap:0;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--panel-2);}
.segmented-toggle .seg-btn{flex:1;border:none;background:transparent;color:var(--muted);font-size:12.5px;font-weight:700;padding:9px 10px;cursor:pointer;transition:background-color .15s ease,color .15s ease;}
.segmented-toggle .seg-btn+.seg-btn{border-left:1px solid var(--border);}
.segmented-toggle .seg-btn.active{background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:#0d0a04;}
.money-input{text-align:right;font-weight:700;letter-spacing:.3px;}
.btn{
  border:none;border-radius:12px;padding:12px 18px;font-size:14px;font-weight:650;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;letter-spacing:.1px;
  transition:transform .16s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease;
}
.btn:active{transform:translateY(1px) scale(.99);}
.btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg),0 0 0 4px rgba(201,164,92,.55);}
.btn-primary{background:linear-gradient(180deg,#d3b173,#c79c50);color:var(--gold-text);box-shadow:0 10px 24px rgba(201,164,92,.20),inset 0 1px 0 rgba(255,255,255,.18);}
.btn-primary:hover{background:linear-gradient(180deg,#dec188,#d4aa5e);box-shadow:0 14px 30px rgba(201,164,92,.28),inset 0 1px 0 rgba(255,255,255,.22);transform:translateY(-1px);}
.btn-secondary{background:rgba(16,24,33,.96);color:var(--text);border:1px solid rgba(255,255,255,.07);box-shadow:0 6px 16px rgba(0,0,0,.16);}
.btn-secondary:hover{border-color:rgba(255,255,255,.18);background:rgba(22,31,41,.98);transform:translateY(-1px);box-shadow:0 10px 22px rgba(0,0,0,.22);}
.btn-danger{background:rgba(255,90,95,.08);color:var(--red);border:1px solid rgba(255,90,95,.18);}
.btn-danger:hover{background:rgba(239,68,68,.16);border-color:rgba(255,90,95,.34);transform:translateY(-1px);}
.btn-danger-solid{background:linear-gradient(180deg,#ff7a7e,#e6484e);color:#fff;box-shadow:0 10px 24px rgba(230,72,78,.28),inset 0 1px 0 rgba(255,255,255,.18);}
.btn-danger-solid:hover{background:linear-gradient(180deg,#ff9599,#f0565c);box-shadow:0 14px 30px rgba(230,72,78,.36);transform:translateY(-1px);}
.btn-danger-solid:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg),0 0 0 4px rgba(255,90,95,.5);}
.btn-block{width:100%;}
.btn-sm{padding:8px 12px;font-size:12.5px;border-radius:9px;gap:6px;}
.row-btns{display:flex;gap:10px;margin-top:6px;}
.gate-error{color:var(--red);font-size:13px;margin:0 0 12px;}
.link-btn{background:none;border:none;color:var(--muted);font-size:12.5px;text-decoration:underline;padding:0;}
.link-btn:hover{color:var(--text);}
.limit-note{font-size:12px;color:var(--muted-2);margin-top:10px;text-align:center;}

/* ---------- APP SHELL ---------- */
.shell{display:flex;min-height:100vh;}
.sidebar{
  width:248px;flex-shrink:0;background:linear-gradient(180deg, rgba(11,17,24,.96), rgba(10,15,22,.92));backdrop-filter:blur(10px);border-right:1px solid rgba(255,255,255,.06);
  display:flex;flex-direction:column;padding:22px 16px;position:sticky;top:0;height:100vh;box-shadow:12px 0 30px rgba(0,0,0,.18);
}
.sb-logo{display:flex;align-items:center;gap:12px;padding:2px 10px 24px;margin-bottom:4px;}
.sb-logo img{width:38px;height:38px;border-radius:12px;object-fit:contain;box-shadow:0 8px 18px rgba(0,0,0,.26);}
.sb-logo .logo-fallback{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--gold),var(--gold-dark));display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:14px;}
.sb-logo .name{font-weight:800;font-size:15px;letter-spacing:.2px;color:#f7f8fa;}
.sb-nav{display:flex;flex-direction:column;gap:2px;flex:1;}
.sb-item{
  display:flex;align-items:center;gap:12px;padding:11px 12px 11px 14px;border-radius:11px;
  color:var(--muted);font-size:14px;font-weight:550;border:none;background:none;text-align:left;width:100%;
  position:relative;transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
.sb-item .ic{width:18px;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-size:15px;opacity:.9;transition:transform .2s ease,opacity .2s ease;}
.sb-item .ic svg{display:block;}
.sb-item:hover{background:rgba(255,255,255,.03);color:var(--gold-bright);}
.sb-item:hover .ic{transform:translateX(3px);opacity:1;}
.sb-item.active{
  background:linear-gradient(90deg, rgba(201,164,92,.16), rgba(201,164,92,.05));
  color:var(--gold-bright);font-weight:700;
  box-shadow:inset 0 0 0 1px rgba(201,164,92,.18);
}
.sb-item.active::before{content:'';position:absolute;left:-6px;top:8px;bottom:8px;width:3px;border-radius:999px;background:linear-gradient(180deg,var(--gold-bright),var(--gold));}
@keyframes navActivate{ from{opacity:.35; transform:scale(.985);} to{opacity:1; transform:scale(1);} }
.sb-footer{border-top:1px solid rgba(255,255,255,.06);padding-top:14px;margin-top:14px;}
.sb-profile{display:flex;align-items:center;gap:9px;padding:6px 8px;}
.sb-profile .profile-avatar{width:32px;height:32px;font-size:13px;}
.sb-profile .pname{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sb-profile .pswitch{margin-left:auto;background:none;border:none;color:var(--muted);font-size:16px;}

.main{flex:1;min-width:0;padding:30px 34px;padding-top:calc(30px + env(safe-area-inset-top));}
.sidebar{padding-top:calc(20px + env(safe-area-inset-top));}
#install-banner{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:12px 14px;border-radius:12px;z-index:300;display:flex;gap:12px;align-items:center;box-shadow:0 8px 24px rgba(0,0,0,.4);font-size:13px;max-width:90vw;animation:toastIn .25s ease;}
#install-banner button{border:none;border-radius:8px;font-weight:700;font-size:12.5px;cursor:pointer;}
#install-banner .ib-yes{background:var(--gold);color:var(--gold-text);padding:7px 12px;}
#install-banner .ib-no{background:none;color:var(--muted);font-size:18px;padding:0 2px;}
#install-banner.install-banner-ios{max-width:min(94vw,420px);line-height:1.5;text-align:left;}
#install-banner.install-banner-ios .ios-share-ic{display:inline-block;transform:translateY(-1px);}
#install-banner.install-banner-ios .ib-no{align-self:flex-start;}
.exit-save-banner{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:290;background:linear-gradient(180deg,rgba(20,29,39,.98),rgba(9,14,20,.98));border:1px solid rgba(201,164,92,.28);box-shadow:0 16px 38px rgba(0,0,0,.42),0 0 0 1px rgba(201,164,92,.07) inset;border-radius:16px;padding:12px;max-width:min(92vw,390px);display:flex;gap:12px;align-items:flex-start;animation:toastIn .22s ease;}
.exit-save-banner .esb-icon{width:34px;height:34px;border-radius:12px;background:rgba(201,164,92,.14);color:var(--gold-bright);display:flex;align-items:center;justify-content:center;font-weight:900;flex:0 0 auto;}
.exit-save-banner .esb-title{font-weight:800;font-size:13.5px;margin-bottom:2px;color:var(--text);}
.exit-save-banner .esb-text{font-size:12px;color:var(--muted);line-height:1.35;margin-bottom:9px;}
.exit-save-banner .esb-actions{display:flex;gap:8px;flex-wrap:wrap;}
.exit-save-banner button{border:none;border-radius:10px;font-weight:750;font-size:12px;cursor:pointer;padding:7px 10px;}
.exit-save-banner .esb-save{background:var(--gold);color:var(--gold-text);}
.exit-save-banner .esb-close{background:rgba(255,255,255,.06);color:var(--muted);}
@media(max-width:620px){.exit-save-banner{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));max-width:none;}}
.topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;flex-wrap:wrap;gap:16px;}
.topbar .hello{color:var(--muted);font-size:13px;margin:0 0 6px;letter-spacing:.3px;}
.topbar h1{font-size:24px;margin:0;font-weight:800;display:flex;align-items:center;gap:8px;letter-spacing:-.02em;}
.topbar h1 .eye{color:var(--muted-2);font-size:16px;cursor:pointer;user-select:none;transition:color .15s;display:inline-flex;align-items:center;}
.topbar h1 .eye:hover{color:var(--gold-bright);}
.value-mask{display:inline-block;letter-spacing:2px;color:var(--muted-2);font-weight:700;}
.toast-undo{display:flex;align-items:center;gap:14px;}
.toast-undo button{background:var(--gold);color:var(--gold-text);border:none;border-radius:8px;padding:6px 12px;font-weight:700;font-size:12px;white-space:nowrap;}
.month-nav{display:flex;align-items:center;gap:12px;background:rgba(12,19,26,.78);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:8px 16px;box-shadow:var(--shadow-md);}
.month-nav button{background:none;border:none;color:var(--muted);font-size:15px;}
.month-nav button:hover{color:var(--text);}
.month-nav .mlabel{font-weight:700;font-size:13.5px;min-width:120px;text-align:center;}
.month-nav-wrap{display:flex;flex-direction:column;align-items:center;gap:3px;}
.month-nav-wrap .clock-label{font-size:10.5px;color:var(--muted);opacity:.75;white-space:nowrap;text-align:center;}

.cards-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:22px;}
.indicators-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;}
.card-sm{padding:15px 17px;min-width:0;}
.card-sm .clabel{margin-bottom:6px;}
.card-sm .cval{font-size:18px;}
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:1100px){.indicators-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:900px){.dash-grid{grid-template-columns:1fr;}.dash-grid .panel-box{grid-column:1/-1 !important;}}
.card{
  background:linear-gradient(180deg, rgba(18,28,38,.98), rgba(10,16,24,.97));border:1px solid rgba(255,255,255,.065);border-radius:20px;
  padding:20px 22px;flex:1;min-width:190px;position:relative;overflow:hidden;box-shadow:var(--shadow-md);
  animation:cardIn .35s ease;
}
.card::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at top right, rgba(255,255,255,.04), transparent 36%);}
@keyframes cardIn{ from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);} }
.card.hero-green{background:linear-gradient(180deg, rgba(201,164,92,.12), rgba(16,24,33,.98) 24%, rgba(12,19,26,.98));border-color:rgba(201,164,92,.22);}
.card.hero-blue{background:linear-gradient(180deg, rgba(77,130,255,.12), rgba(16,24,33,.98) 24%, rgba(12,19,26,.98));border-color:rgba(77,130,255,.22);}
.card.hero-red{background:linear-gradient(180deg, rgba(255,90,95,.12), rgba(16,24,33,.98) 24%, rgba(12,19,26,.98));border-color:rgba(255,90,95,.22);}
.card.hero-gold{background:linear-gradient(180deg, rgba(201,164,92,.12), rgba(16,24,33,.98) 24%, rgba(12,19,26,.98));border-color:rgba(201,164,92,.22);}
.card .clabel{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;letter-spacing:.6px;color:var(--muted);text-transform:uppercase;margin-bottom:10px;}
.card .cval{font-size:24px;font-weight:800;color:var(--text);letter-spacing:-.02em;}
.card .badge{width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:15px;background:rgba(255,255,255,.035);border:1px solid currentColor;box-shadow:inset 0 0 0 999px rgba(255,255,255,.02),0 10px 22px rgba(0,0,0,.18);}
.card .adjust-link{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.06);color:var(--text);font-size:11px;font-weight:700;padding:5px 10px;border-radius:20px;}
.progress-outer{background:rgba(255,255,255,.25);border-radius:6px;height:6px;margin-top:12px;overflow:hidden;}
.progress-inner{background:#fff;height:100%;border-radius:6px;transition:width .5s ease;}
.progress-pct{font-size:11px;color:rgba(255,255,255,.85);margin-top:4px;text-align:right;}

.panel-box{background:linear-gradient(180deg, rgba(18,28,38,.97), rgba(10,16,24,.97));border:1px solid rgba(255,255,255,.065);border-radius:20px;padding:21px;box-shadow:var(--shadow-md);}
.panel-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:var(--text);margin:0 0 4px;letter-spacing:-.01em;}
.panel-title::before{content:"";width:3px;height:14px;border-radius:999px;background:linear-gradient(180deg,var(--gold-bright),var(--gold));box-shadow:0 0 14px rgba(201,164,92,.22);}
.panel-title .dot{width:8px;height:8px;border-radius:50%;}
.grid2{display:grid;grid-template-columns:1.6fr 1fr;gap:18px;align-items:start;}
.grid2b{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;align-items:start;}
@media(max-width:900px){.grid2,.grid2b{grid-template-columns:1fr;}}

.tabs{display:flex;gap:6px;margin-bottom:16px;background:rgba(12,19,26,.78);padding:4px;border-radius:12px;width:fit-content;border:1px solid rgba(255,255,255,.05);}
.tab-btn{background:none;border:none;color:var(--muted);padding:8px 16px;border-radius:9px;font-size:13px;font-weight:600;transition:background-color .15s,color .15s;}
.tab-btn.active{background:rgba(255,255,255,.04);color:var(--gold-bright);box-shadow:inset 0 0 0 1px rgba(201,164,92,.16);}

.list-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--border);gap:10px;}
.list-row:last-child{border-bottom:none;}
.list-row .lname{font-size:13.5px;color:var(--text);font-weight:500;}
.list-row .lval{font-size:13.5px;font-weight:700;white-space:nowrap;}
.list-row .lmeta{font-size:11px;color:var(--muted);}
.ledit{background:none;border:none;color:var(--muted);font-size:13px;padding:6px 8px;border-radius:8px;line-height:1;transition:color .18s ease,background-color .18s ease,transform .18s ease;}
.ledit:hover{color:var(--gold-bright);background:rgba(201,164,92,.10);transform:translateX(2px);}
.empty-note{color:var(--muted-2);font-size:13px;text-align:center;padding:20px 0;}

table{width:100%;border-collapse:collapse;font-size:13px;}
thead th{text-align:left;color:var(--muted);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;padding:0 8px 10px;border-bottom:1px solid var(--border);}
tbody td{padding:10px 8px;border-bottom:1px solid var(--border);color:var(--text);}
tbody tr:last-child td{border-bottom:none;}
.cat-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);}
.cat-pill .dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.val-pos{color:var(--green);font-weight:700;}
.val-neg{color:var(--text);font-weight:700;}
.invest-rend-pos{color:var(--green);font-weight:800;}
.invest-rend-neg{color:var(--red);font-weight:800;}
.invest-rend-pct{font-size:10.5px;color:currentColor;opacity:.92;}
.tbl-actions{display:flex;justify-content:flex-end;}
.tbl-actions button{background:none;border:none;color:var(--muted);font-size:13px;padding:6px 8px;border-radius:8px;transition:color .18s ease,background-color .18s ease,transform .18s ease;}
.tbl-actions button:hover{color:var(--gold-bright);background:rgba(201,164,92,.10);transform:translateX(2px);}
.tbl-foot{display:flex;justify-content:space-between;padding:12px 8px 0;font-weight:700;font-size:13.5px;}
.tbl-foot .v{color:var(--green);}

.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;flex-wrap:wrap;gap:10px;}
.toolbar-left{font-size:14px;font-weight:800;letter-spacing:-.01em;}
.toolbar-left::before{content:"";display:inline-block;width:3px;height:13px;border-radius:999px;background:var(--gold);margin-right:8px;vertical-align:-2px;opacity:.9;}
.toolbar-right{display:flex;gap:8px;}
.btn-outline{background:rgba(12,19,26,.78);border:1px solid rgba(255,255,255,.07);color:var(--text);border-radius:12px;padding:9px 15px;font-size:12.5px;font-weight:650;display:inline-flex;align-items:center;gap:7px;box-shadow:var(--shadow-md);transition:border-color .2s ease,color .2s ease,background-color .2s ease,transform .16s ease,box-shadow .2s ease;}
.btn-outline:hover{border-color:rgba(201,164,92,.42);color:var(--gold-bright);background:rgba(201,164,92,.06);transform:translateY(-1px);box-shadow:0 12px 26px rgba(0,0,0,.24);}
.btn-outline:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg),0 0 0 4px rgba(201,164,92,.5);}

.donut-wrap{display:flex;flex-direction:column;align-items:center;}
.donut-hole-wrap{width:170px;height:170px;position:relative;margin-bottom:6px;}
.donut-svg{width:100%;height:100%;overflow:visible;}
.donut-svg path{animation:donutGrow .5s ease backwards;transition:opacity .15s;cursor:pointer;}
.donut-svg path:hover{opacity:.85;}
@keyframes donutGrow{ from{opacity:0; transform:scale(.85); transform-origin:100px 100px;} to{opacity:1; transform:scale(1);} }
.donut-hole{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:96px;height:96px;border-radius:50%;background:var(--panel-2);display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;}
.donut-hole .dtop{font-size:20px;font-weight:800;}
.donut-hole .dbot{font-size:10.5px;color:var(--muted);}
.legend{width:100%;margin-top:10px;}
.legend-item{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:5px 0;opacity:0;animation:legendFadeIn .4s ease forwards;cursor:default;}
@keyframes legendFadeIn{ from{opacity:0; transform:translateX(-6px);} to{opacity:1; transform:translateX(0);} }
.legend-item:hover .ln{color:var(--gold-bright);}
.legend-item .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.legend-item .lp{color:var(--muted);width:34px;flex-shrink:0;}
.legend-item .ln{flex:1;color:var(--text);transition:color .15s;}
.legend-item .lv{color:var(--muted);font-size:11.5px;}
#chart-tooltip{position:fixed;pointer-events:none;z-index:400;background:#f4f0e8;color:#14171a;padding:9px 14px;border-radius:10px;font-size:12.5px;font-weight:600;box-shadow:0 10px 24px rgba(0,0,0,.4);display:none;white-space:nowrap;}

.chart-block{width:100%;}
.bar-chart-svg,.line-chart-svg{width:100%;height:auto;overflow:visible;}
.chart-axis-label{font-size:9px;fill:var(--muted);}
.bar-chart-svg rect{animation:fadeInChart .4s ease backwards;transition:opacity .15s;cursor:pointer;}
.bar-chart-svg rect:hover{opacity:.8;}
@keyframes fadeInChart{from{opacity:0;}to{opacity:1;}}
.line-chart-svg polyline{animation:lineDraw .7s ease;}
.line-chart-svg circle{transition:r .15s;cursor:pointer;}
.line-chart-svg circle:hover{r:6;}
@keyframes lineDraw{from{opacity:0;}to{opacity:1;}}
.chart-legend{display:flex;gap:14px;margin-top:8px;font-size:11.5px;color:var(--muted);flex-wrap:wrap;justify-content:center;}
.chart-legend-item{display:flex;align-items:center;gap:6px;}
.chart-legend-item .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}

.card-entity{background:linear-gradient(180deg, rgba(18,28,38,.97), rgba(10,16,24,.97));border:1px solid rgba(255,255,255,.065);border-radius:20px;padding:19px 21px;margin-bottom:16px;box-shadow:var(--shadow-md);}
.card-entity-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:10px;}
.card-entity-head .cehl{display:flex;align-items:center;gap:10px;}
.bank-badge{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;color:#fff;flex-shrink:0;box-shadow:0 10px 20px rgba(0,0,0,.22);}
.cehl .info div:first-child{font-weight:700;font-size:14.5px;}
.cehl .info div:last-child{font-size:11.5px;color:var(--muted);}
.installment-row{display:grid;grid-template-columns:1.4fr .9fr .8fr .6fr .4fr;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid var(--border);font-size:12.8px;}
.installment-row:last-child{border-bottom:none;}
.installment-row.ih{color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;}
.installment-row.muted{opacity:.55;}
.installment-row button{background:none;border:none;color:var(--muted);padding:5px 7px;border-radius:8px;transition:color .18s ease,background-color .18s ease,transform .18s ease;}
.installment-row button:hover{color:var(--gold-bright);background:rgba(201,164,92,.10);transform:translateX(2px);}
.card-entity details{margin-top:8px;}
.card-entity summary{cursor:pointer;font-size:12px;color:var(--muted);padding:8px 0 2px;list-style:none;}
.card-entity summary::-webkit-details-marker{display:none;}
.card-entity summary:hover{color:var(--text);}
.card-entity summary:before{content:'▸ ';}
.card-entity details[open] summary:before{content:'▾ ';}

.settings-section{margin-bottom:26px;}
.settings-section h3{font-size:14px;margin:0 0 4px;}
.settings-section .desc{font-size:12.5px;color:var(--muted);margin:0 0 14px;}
.logo-row{display:flex;align-items:center;gap:16px;}
.logo-preview{width:60px;height:60px;border-radius:14px;object-fit:cover;background:var(--panel);border:1px solid var(--border);}
.cat-manage-group{margin-bottom:18px;}
.cat-manage-group h4{font-size:12.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin:0 0 8px;}
.cat-tag{display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:6px 8px 6px 12px;font-size:12.5px;margin:0 6px 8px 0;}
.cat-tag button{background:none;border:none;color:var(--muted);font-size:12px;padding:0 2px;}
.cat-tag button:hover{color:var(--red);}
.profile-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);}
.profile-row:last-child{border-bottom:none;}
.profile-row .info{flex:1;}
.profile-row .info .n{font-weight:700;font-size:13.5px;}
.profile-row .info .e{font-size:11.5px;color:var(--muted);}
.info-box{background:rgba(59,107,240,.1);border:1px solid rgba(59,107,240,.3);border-radius:10px;padding:12px 14px;font-size:12.5px;color:#a9bdf7;margin-top:10px;line-height:1.5;}

/* quick category add */
.quickcat-box{margin-top:8px;display:flex;gap:8px;}
.quickcat-box input{flex:1;background:var(--panel-2);border:1px solid var(--gold);border-radius:10px;padding:9px 10px;color:var(--text);font-size:13px;outline:none;}

/* modal */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;animation:overlayIn .18s ease;}
@keyframes overlayIn{ from{opacity:0;} to{opacity:1;} }
.modal-box{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:26px;width:100%;max-width:400px;max-height:88vh;overflow-y:auto;animation:modalIn .22s cubic-bezier(.2,.9,.3,1.2);}
@keyframes modalIn{ from{opacity:0; transform:translateY(10px) scale(.98);} to{opacity:1; transform:translateY(0) scale(1);} }
.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;}
.modal-head h2{font-size:17px;margin:0;}
.modal-head button{background:none;border:none;color:var(--muted);font-size:18px;}
.modal-sub{color:var(--muted);font-size:12.5px;margin:0 0 18px;}

.modal-overlay{cursor:default;}
.modal-box{cursor:default;}
.modal-head button{width:30px;height:30px;border-radius:10px;display:flex;align-items:center;justify-content:center;transition:background-color .18s ease,color .18s ease,transform .18s ease;}
.modal-head button:hover{background:rgba(201,164,92,.12);color:var(--gold-bright);transform:rotate(4deg) scale(1.03);}
.modal-nudge{animation:modalNudge .22s ease;}
@keyframes modalNudge{0%{transform:translateX(0) scale(1);}35%{transform:translateX(-4px) scale(1.003);}70%{transform:translateX(4px) scale(1.003);}100%{transform:translateX(0) scale(1);}}
.field{position:relative;}
.field:has(.money-input)::after{
  content:'R$';position:absolute;left:12px;bottom:11px;min-width:30px;height:24px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;letter-spacing:.02em;
  color:var(--gold-text);background:linear-gradient(180deg,var(--gold-bright),var(--gold));box-shadow:0 5px 14px rgba(201,164,92,.18);pointer-events:none;
}
.field:has(.money-input) .money-input{padding-left:54px!important;}
.field input[type=date],.field input[type=month]{padding-right:46px!important;}
.field input[type=date]::-webkit-calendar-picker-indicator,.field input[type=month]::-webkit-calendar-picker-indicator{
  opacity:1;cursor:pointer;width:20px;height:20px;padding:5px;border-radius:10px;
  background-color:rgba(201,164,92,.14);filter:sepia(1) saturate(1.8) hue-rotate(350deg) brightness(1.16);
  transition:background-color .18s ease,transform .18s ease,filter .18s ease;
}
.field input[type=date]::-webkit-calendar-picker-indicator:hover,.field input[type=month]::-webkit-calendar-picker-indicator:hover{
  background-color:rgba(201,164,92,.26);transform:scale(1.08);filter:sepia(1) saturate(2.2) hue-rotate(350deg) brightness(1.3);
}
.field input[type=color]{width:54px;height:34px;border:none;border-radius:10px;background:transparent;padding:0;cursor:pointer;box-shadow:0 0 0 1px var(--border),0 6px 16px rgba(0,0,0,.18);}
.field input[type=color]::-webkit-color-swatch-wrapper{padding:0;}
.field input[type=color]::-webkit-color-swatch{border:none;border-radius:10px;}

.toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%);
  background:var(--panel-2);border:1px solid var(--border);color:var(--text);
  padding:12px 20px;border-radius:10px;font-size:13px;z-index:200;box-shadow:0 8px 24px rgba(0,0,0,.4);
  animation:toastIn .25s ease;
}
@keyframes toastIn{ from{opacity:0; transform:translate(-50%,8px);} to{opacity:1; transform:translate(-50%,0);} }
.gold-box{background:rgba(204,161,96,.1);border:1px solid rgba(204,161,96,.35);border-radius:10px;padding:12px 14px;font-size:12.5px;color:#e9d3ab;margin-top:10px;line-height:1.5;}

/* splash screen */
#splash{
  position:fixed;inset:0;
  background:radial-gradient(circle at 50% 30%,rgba(204,161,96,.10),transparent 32%),linear-gradient(180deg,#05070a 0%,#070c12 100%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:999;
}
#splash img{width:auto;height:120px;max-width:70vw;object-fit:contain;margin-bottom:22px;filter:drop-shadow(0 0 26px rgba(204,161,96,.30));}
#splash .splash-num{font-size:32px;font-weight:800;color:var(--gold);letter-spacing:.4px;font-variant-numeric:tabular-nums;}
#splash .splash-tag{font-size:12px;color:var(--muted);margin-top:10px;letter-spacing:1px;text-transform:uppercase;}

/* settings: color + font customization */
.color-swatch-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:6px;}
.color-swatch-item{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px;color:var(--muted);text-align:center;width:70px;}
.color-swatch-item input[type=color]{width:42px;height:42px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:none;cursor:pointer;padding:0;box-shadow:0 10px 22px rgba(0,0,0,.20);}

/* reconnect backup folder banner */
.reconnect-banner{background:rgba(204,161,96,.12);border:1px solid rgba(204,161,96,.4);border-radius:10px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;font-size:12.5px;color:#e9d3ab;flex-wrap:wrap;}

/* choice modal buttons (import merge/replace) */
.choice-btn{display:block;width:100%;text-align:left;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:10px;color:var(--text);font-size:13.5px;font-weight:600;}
.choice-btn:hover{border-color:var(--gold);}
.choice-btn .cb-desc{display:block;font-weight:400;font-size:11.5px;color:var(--muted);margin-top:3px;}
.choice-btn.danger:hover{border-color:var(--red);}
.filter-chip-row{display:flex;flex-wrap:wrap;gap:8px;}
.filter-chip-btn{background:var(--panel);border:1px solid var(--border);color:var(--muted);border-radius:20px;padding:7px 14px;font-size:12.5px;font-weight:600;transition:all .15s;}
.filter-chip-btn.active{background:rgba(204,161,96,.18);border-color:var(--gold);color:var(--gold-bright);}
.btn-outline.filter-active{border-color:var(--gold);color:var(--gold-bright);}

/* sino de notificações */
.bell-btn{position:relative;background:rgba(12,19,26,.78);border:1px solid rgba(255,255,255,.06);border-radius:16px;width:42px;height:42px;font-size:15px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-md);color:var(--muted);transition:color .2s ease,border-color .2s ease;}
.bell-btn:hover{border-color:rgba(201,164,92,.36);color:var(--gold-bright);}
.bell-badge{position:absolute;top:-3px;right:-3px;background:var(--red);color:#fff;font-size:9.5px;font-weight:800;border-radius:10px;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;padding:0 3px;}
.notif-panel{position:fixed;top:76px;right:34px;width:340px;max-height:70vh;overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,.5);z-index:250;padding:8px;animation:modalIn .18s ease;}
.bank-filter-panel{position:fixed;top:76px;width:270px;max-height:60vh;overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,.5);z-index:250;padding:14px;animation:modalIn .18s ease;right:calc(34px + 148px);}
.bf-head{font-size:12.5px;font-weight:700;color:var(--text);margin-bottom:8px;}
.bf-row{display:flex;align-items:center;gap:8px;font-size:13px;padding:6px 2px;cursor:pointer;color:var(--text);}
.bf-row input{cursor:pointer;}
.bf-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block;}
.bf-empty{font-size:12px;color:var(--muted-2);padding:6px 2px;}
.bf-actions{display:flex;gap:8px;margin-top:10px;}
.bank-filter-btn.filter-active{border-color:var(--gold);color:var(--gold);}
@media(max-width:900px){.bank-filter-panel{right:12px;left:12px;width:auto;}}
.notif-item{display:flex;gap:10px;padding:10px;border-radius:10px;align-items:flex-start;}
.notif-item.unread{background:rgba(204,161,96,.09);}
.notif-item .ni-icon{font-size:15px;}
.notif-item .ni-text{flex:1;font-size:12px;color:var(--text);line-height:1.4;}
.notif-item .ni-actions{display:flex;flex-direction:column;gap:4px;flex-shrink:0;}
.notif-item .ni-actions button{background:none;border:none;color:var(--muted);font-size:10.5px;white-space:nowrap;text-align:right;}
.notif-item .ni-actions button:hover{color:var(--gold-bright);}
.notif-empty{padding:24px;text-align:center;color:var(--muted-2);font-size:12.5px;}

/* toasts flutuantes de notificação */
@keyframes floatingNotifIn{from{opacity:0;transform:translateY(10px) scale(.98);}to{opacity:1;transform:translateY(0) scale(1);}}
.floating-notifs{position:fixed;bottom:24px;right:24px;z-index:260;display:flex;flex-direction:column;gap:12px;align-items:flex-end;}
.floating-notif{background:rgba(34,197,94,.20);backdrop-filter:blur(10px);animation:floatingNotifIn .22s ease both;border:1px solid rgba(34,197,94,.55);border-radius:16px;padding:18px 46px 18px 22px;min-width:320px;max-width:430px;font-size:14.2px;line-height:1.48;position:relative;box-shadow:0 16px 36px rgba(0,0,0,.42),0 0 0 1px rgba(34,197,94,.10) inset,0 0 28px rgba(34,197,94,.10);color:var(--text);}
.floating-notif .fn-close{position:absolute;top:8px;right:10px;background:none;border:none;color:var(--muted);font-size:16px;}
.floating-notif .fn-close:hover{color:var(--text);}

/* busca global */
.global-search-wrap{position:relative;flex:1;max-width:380px;min-width:160px;}
.global-search-wrap input{width:100%;background:rgba(12,19,26,.78);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:11px 16px;color:var(--text);font-size:13px;outline:none;box-shadow:var(--shadow-md);}
.global-search-wrap input:focus{border-color:rgba(201,164,92,.32);}
.search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.4);max-height:340px;overflow-y:auto;z-index:220;}
.search-result-item{display:block;width:100%;text-align:left;background:none;border:none;padding:10px 14px;color:var(--text);font-size:12.5px;border-bottom:1px solid var(--border);}
.search-result-item:last-child{border-bottom:none;}
.search-result-item:hover{background:var(--panel-2);}
.search-result-item .sri-type{font-size:10px;color:var(--gold-bright);text-transform:uppercase;letter-spacing:.4px;display:block;margin-bottom:2px;}

/* botão genérico de minimizar/expandir blocos (dívidas, reservas, rendimentos, agenda) */
.collapse-toggle-btn{background:none;border:none;font-size:13px;padding:6px;border-radius:8px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background-color .18s ease,transform .18s ease;}
.collapse-toggle-btn:hover{background:rgba(255,255,255,.07);transform:scale(1.08);}

/* agenda / calendário */
.agenda-layout{display:grid;grid-template-columns:1.55fr 1fr;gap:20px;align-items:start;}
@media(max-width:1000px){.agenda-layout{grid-template-columns:1fr;}}
.agenda-panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px;}
.agenda-panel-head .aph-left{display:flex;align-items:center;gap:9px;}
.agenda-panel-head .toolbar-left{margin:0;}
.agenda-month-nav{display:flex;align-items:center;justify-content:center;gap:18px;background:rgba(12,19,26,.62);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:9px 16px;margin:14px 0 18px;}
.agenda-month-nav button{background:none;border:none;color:var(--gold-bright);font-size:16px;width:28px;height:28px;border-radius:9px;display:flex;align-items:center;justify-content:center;transition:background-color .18s ease,transform .18s ease;}
.agenda-month-nav button:hover{background:rgba(201,164,92,.14);transform:scale(1.08);}
.agenda-month-label{font-weight:800;font-size:14px;min-width:160px;text-align:center;letter-spacing:.2px;}
.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px;font-size:11px;color:var(--muted);text-align:center;font-weight:750;letter-spacing:.5px;padding-bottom:8px;border-bottom:1px solid var(--border);}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;}
.cal-cell{
  min-height:104px;background:linear-gradient(180deg, rgba(18,28,38,.85), rgba(10,16,24,.85));
  border:1px solid var(--border);border-radius:12px;padding:8px;font-size:10.5px;cursor:pointer;overflow:hidden;
  display:flex;flex-direction:column;gap:2px;
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.cal-cell.empty{background:none;border:none;cursor:default;box-shadow:none;}
.cal-cell:not(.empty):hover{border-color:rgba(201,164,92,.42);transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.28);}
.cal-cell.has-items{border-color:rgba(201,164,92,.22);background:linear-gradient(180deg, rgba(201,164,92,.07), rgba(10,16,24,.9));}
.cal-cell.today{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold),0 0 18px rgba(201,164,92,.16);background:linear-gradient(180deg, rgba(201,164,92,.12), rgba(10,16,24,.92));}
.cal-daynum{font-weight:750;color:var(--muted);margin-bottom:2px;font-size:12px;}
.cal-cell.today .cal-daynum{color:var(--gold-bright);font-weight:800;}
.cal-item{background:rgba(204,161,96,.18);color:var(--gold-bright);border-radius:6px;padding:3px 6px;margin-bottom:2px;font-size:9.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background-color .15s ease;}
.cal-item:hover{background:rgba(204,161,96,.30);}
.cal-item.paid{background:rgba(34,197,94,.15);color:#22c55e;text-decoration:line-through;opacity:.7;}
.cal-more{font-size:9px;color:var(--muted);font-weight:600;margin-top:1px;}
.agenda-upcoming-row{padding:13px 4px!important;}
.agenda-upcoming-row.urgent .lname{color:#ffb3b7;}
input.agenda-check{width:16px;height:16px;accent-color:var(--gold);cursor:pointer;vertical-align:middle;}
@media(max-width:760px){.cal-cell{min-height:56px;padding:5px;font-size:9px;}.cal-item{font-size:8.5px;}}

/* metas (patrimônio) */
.meta-card{background:linear-gradient(180deg, rgba(18,28,38,.97), rgba(10,16,24,.97));border:1px solid rgba(255,255,255,.065);border-radius:16px;padding:15px 17px;margin-bottom:12px;box-shadow:var(--shadow-md);}
.meta-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.meta-head .mh-left{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px;}
.meta-emoji{font-size:20px;}
.meta-progress-outer{background:rgba(255,255,255,.08);border-radius:6px;height:8px;overflow:hidden;margin-bottom:6px;}
.meta-progress-inner{height:100%;border-radius:6px;transition:width .5s ease;}
.meta-foot{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);}
.emoji-picker{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin-top:6px;max-height:140px;overflow-y:auto;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:8px;}
.emoji-picker button{background:none;border:none;font-size:18px;padding:4px;border-radius:6px;}
.emoji-picker button:hover{background:var(--panel);}
.emoji-picker button.active{background:rgba(204,161,96,.2);}

.version-tag{position:fixed;bottom:10px;right:16px;font-size:10.5px;color:var(--muted-2);z-index:5;opacity:.85;}
@media(max-width:760px){
  .global-search-wrap{display:none;}
  .notif-panel{right:12px;left:12px;width:auto;}
}

.hidden{display:none !important;}
@media(max-width:760px){
  .sidebar{position:fixed;left:-260px;z-index:50;transition:left .2s;}
  .sidebar.open{left:0;}
  .main{padding:18px;}
  .cards-row{flex-direction:column;}
}


/* módulo de cheques */
.module-toggle-card{background:linear-gradient(180deg, rgba(18,28,38,.92), rgba(10,16,24,.92));border:1px solid rgba(255,255,255,.065);border-radius:18px;padding:18px 20px;box-shadow:var(--shadow-md);}
.module-toggle-card.enabled{border-color:rgba(217,180,107,.28);box-shadow:var(--shadow-md), inset 0 0 0 1px rgba(217,180,107,.05);}
.module-toggle-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;}
.module-toggle-status{margin-top:8px;font-size:12px;color:var(--gold-bright);}
.cheque-dashboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;}
.cheque-kpi{background:linear-gradient(180deg, rgba(18,28,38,.97), rgba(10,16,24,.97));border:1px solid rgba(255,255,255,.065);border-radius:18px;padding:16px 17px;box-shadow:var(--shadow-md);position:relative;overflow:hidden;}
.cheque-kpi::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right, rgba(217,180,107,.11), transparent 40%);pointer-events:none;}
.cheque-kpi .ck-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.55px;color:var(--muted);font-weight:800;margin-bottom:8px;display:flex;align-items:center;gap:7px;}
.cheque-kpi .ck-label::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px rgba(217,180,107,.42);}
.cheque-kpi .ck-value{font-size:21px;font-weight:850;color:var(--text);letter-spacing:-.02em;}
.cheque-kpi .ck-sub{font-size:11px;color:var(--muted);margin-top:4px;}
.cheque-split{display:grid;grid-template-columns:1.55fr .9fr;gap:18px;align-items:start;}
.cheque-status{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.035);}
.cheque-status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;}
.cheque-status.ok{color:#35d07f;background:rgba(53,208,127,.11);border-color:rgba(53,208,127,.22);}
.cheque-status.warn{color:#f2d796;background:rgba(217,180,107,.12);border-color:rgba(217,180,107,.24);}
.cheque-status.bad{color:#ff6b72;background:rgba(255,90,95,.12);border-color:rgba(255,90,95,.26);}
.cheque-status.neutral{color:var(--muted);}
.cheque-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap;}
.cheque-actions button{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);color:var(--muted);border-radius:9px;padding:5px 7px;font-size:11px;transition:color .2s ease,border-color .2s ease,transform .2s ease;}
.cheque-actions button:hover{color:var(--gold-bright);border-color:rgba(217,180,107,.25);transform:translateX(2px);}
.cheque-lote-card{background:linear-gradient(180deg, rgba(18,28,38,.95), rgba(10,16,24,.95));border:1px solid rgba(255,255,255,.065);border-radius:16px;padding:15px 16px;margin-bottom:12px;box-shadow:var(--shadow-md);}
.cheque-lote-head{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:10px;}
.cheque-lote-title{font-weight:800;font-size:14px;color:var(--text);}
.cheque-lote-meta{font-size:11.5px;color:var(--muted);margin-top:2px;}
.cheque-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.cheque-mini{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:9px 10px;}
.cheque-mini .m-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-weight:800;}
.cheque-mini .m-value{font-size:13px;font-weight:800;margin-top:2px;}
.cheque-overdue{color:#ff6b72;font-weight:800;}
.cheque-due-soon{color:var(--gold-bright);font-weight:800;}
@media(max-width:1100px){.cheque-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));}.cheque-split{grid-template-columns:1fr;}}
@media(max-width:760px){.cheque-dashboard,.cheque-mini-grid{grid-template-columns:1fr;} .cheque-actions{justify-content:flex-start;} }

/* importador de extratos */
.import-hero{display:flex;justify-content:space-between;gap:18px;align-items:stretch;background:linear-gradient(135deg, rgba(18,28,38,.97), rgba(8,13,20,.97));border:1px solid rgba(217,180,107,.16);border-radius:22px;padding:24px 26px;margin-bottom:18px;box-shadow:var(--shadow-md);position:relative;overflow:hidden;}
.import-hero::after{content:"";position:absolute;right:-80px;top:-100px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle, rgba(217,180,107,.18), transparent 62%);pointer-events:none;}
.import-eyebrow{font-size:10.5px;text-transform:uppercase;letter-spacing:.7px;color:var(--gold-bright);font-weight:850;margin-bottom:8px;}
.import-hero h2{font-size:28px;line-height:1.05;margin:0 0 8px;letter-spacing:-.03em;}
.import-hero p{margin:0;color:var(--muted);font-size:13.5px;max-width:720px;line-height:1.5;}
.ih-badge{min-width:190px;border:1px solid rgba(217,180,107,.18);background:rgba(217,180,107,.07);border-radius:18px;padding:14px 16px;display:flex;align-items:center;gap:12px;color:var(--gold-bright);font-size:12px;font-weight:800;align-self:center;}
.ih-badge span{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(217,180,107,.12);box-shadow:inset 0 0 0 1px rgba(217,180,107,.18);font-size:18px;}
.import-grid{display:grid;grid-template-columns:1.45fr .75fr;gap:18px;align-items:start;margin-bottom:18px;}
.import-drop{display:flex;align-items:center;gap:16px;padding:18px;border:1px dashed rgba(217,180,107,.34);border-radius:18px;background:linear-gradient(180deg, rgba(217,180,107,.07), rgba(255,255,255,.025));transition:border-color .2s ease,background-color .2s ease,transform .2s ease;cursor:pointer;margin-top:12px;}
.import-drop:hover{border-color:rgba(242,215,150,.56);background:rgba(217,180,107,.09);transform:translateY(-1px);}
.import-drop .drop-icon{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:rgba(217,180,107,.12);color:var(--gold-bright);font-size:22px;box-shadow:inset 0 0 0 1px rgba(217,180,107,.18);flex-shrink:0;}
.import-drop strong{display:block;font-size:14.5px;margin-bottom:4px;}
.import-drop span{display:block;color:var(--muted);font-size:12.5px;line-height:1.45;}
.import-controls{display:grid;grid-template-columns:1fr 210px;gap:14px;margin-top:15px;}
.import-detect-ok,.import-warning,.import-help{font-size:12.5px;border-radius:12px;padding:11px 13px;margin-top:10px;line-height:1.45;}
.import-detect-ok{background:rgba(34,197,94,.10);border:1px solid rgba(34,197,94,.20);color:#8be8b3;}
.import-warning{background:rgba(255,90,95,.10);border:1px solid rgba(255,90,95,.22);color:#ffb3b7;}
.import-help{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);color:var(--muted);}
.import-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 14px;}
.import-kpi{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.055);border-radius:14px;padding:12px;min-height:74px;}
.import-kpi span{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.45px;color:var(--muted);font-weight:850;margin-bottom:8px;}
.import-kpi strong{font-size:18px;letter-spacing:-.02em;}
.import-side-actions{display:flex;flex-direction:column;gap:8px;}
.import-side-actions button:disabled{opacity:.45;cursor:not-allowed;}
.import-empty{text-align:center;padding:34px 22px;}
.import-empty .empty-orb{width:58px;height:58px;margin:0 auto 14px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(217,180,107,.09);color:var(--gold-bright);font-size:28px;box-shadow:inset 0 0 0 1px rgba(217,180,107,.18);}
.import-empty h3{margin:0 0 8px;font-size:18px;}
.import-empty p{margin:0 auto 18px;color:var(--muted);font-size:13px;max-width:620px;line-height:1.5;}
.import-format-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:820px;margin:0 auto;}
.import-format-grid div{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.055);border-radius:14px;padding:12px;text-align:left;}
.import-format-grid b{display:block;color:var(--gold-bright);font-size:13px;margin-bottom:4px;}
.import-format-grid span{display:block;color:var(--muted);font-size:11.5px;line-height:1.35;}
.import-review{overflow:hidden;}
.table-scroll{overflow:auto;max-width:100%;}
.import-table{min-width:1120px;}
.import-table th{white-space:nowrap;}
.import-table td{vertical-align:top;}
.import-table tr.is-muted{opacity:.56;}
.import-table tr.is-dup{background:rgba(217,180,107,.035);}
.mini-input,.mini-select{width:100%;min-width:110px;background:rgba(16,24,33,.96);border:1px solid rgba(255,255,255,.065);border-radius:9px;color:var(--text);padding:8px 9px;font-size:12.5px;outline:none;}
.mini-input:focus,.mini-select:focus{border-color:rgba(217,180,107,.35);}
.mini-input.desc{min-width:260px;}
.money-mini{text-align:right;font-weight:800;min-width:105px;}
.import-original{font-size:10.5px;color:var(--muted-2);margin-top:4px;max-width:340px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dup-pill,.ok-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:10.5px;font-weight:850;border:1px solid rgba(255,255,255,.07);white-space:nowrap;}
.dup-pill{color:var(--gold-bright);background:rgba(217,180,107,.10);border-color:rgba(217,180,107,.20);}
.ok-pill{color:#8be8b3;background:rgba(34,197,94,.10);border-color:rgba(34,197,94,.18);}
.mini-danger{background:rgba(255,90,95,.08);border:1px solid rgba(255,90,95,.14);color:#ff9ea3;border-radius:9px;padding:7px 9px;font-size:11.5px;}
.mini-danger:hover{border-color:rgba(255,90,95,.28);color:#ffc4c7;}
.import-footnote{border-top:1px solid rgba(255,255,255,.055);margin-top:10px;padding-top:12px;color:var(--muted);font-size:12px;line-height:1.45;}
@media(max-width:1100px){.import-grid{grid-template-columns:1fr;}.import-format-grid{grid-template-columns:1fr 1fr;}.import-controls{grid-template-columns:1fr;}.ih-badge{display:none;}}
@media(max-width:760px){.import-hero{padding:20px;}.import-format-grid{grid-template-columns:1fr;}.import-drop{align-items:flex-start;}.import-kpis{grid-template-columns:1fr;}}


/* V5.18 — configurações, dashboard flexível, avatar e caixinhas */
.profile-avatar.has-photo{background-size:cover;background-position:center;background-repeat:no-repeat;color:transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);}
.profile-avatar-xl{width:92px!important;height:92px!important;font-size:28px!important;box-shadow:0 14px 32px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.10);}
.overview-top-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;align-items:start;}
.dashboard-flexible .dash-widget-wide{grid-column:1/-1;}
.settings-layout{display:grid;grid-template-columns:230px 1fr;gap:20px;align-items:start;}
.app-release-footer{grid-column:1/-1;margin-top:18px;padding:18px 16px 6px;border-top:1px solid rgba(255,255,255,.10);text-align:center;color:var(--muted);font-size:12px;line-height:1.75;letter-spacing:.01em;}
.app-release-footer strong{color:var(--text);font-weight:800;}
html[data-theme="light"] .app-release-footer{border-top-color:rgba(122,85,29,.14);color:#6f7480;}
html[data-theme="light"] .app-release-footer strong{color:#27313f;}
.settings-tabs{position:sticky;top:22px;background:linear-gradient(180deg, rgba(18,28,38,.94), rgba(10,16,24,.94));border:1px solid rgba(255,255,255,.065);border-radius:18px;padding:10px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:6px;}
.settings-tab{background:transparent;border:none;color:var(--muted);text-align:left;padding:11px 12px;border-radius:12px;font-weight:750;font-size:13px;transition:background-color .2s ease,color .2s ease,transform .2s ease;}
.settings-tab:hover{background:rgba(255,255,255,.035);color:var(--gold-bright);transform:translateX(3px);}
.settings-tab.active{background:linear-gradient(90deg, rgba(217,180,107,.18), rgba(217,180,107,.05));color:var(--gold-bright);box-shadow:inset 0 0 0 1px rgba(217,180,107,.18);}
.settings-quick-backup-btn{margin-top:8px;padding-top:12px;border-top:1px solid rgba(255,255,255,.09);width:100%;letter-spacing:.02em;}
.settings-content{min-width:0;}
.settings-hero-section{background:linear-gradient(135deg, rgba(18,28,38,.97), rgba(8,13,20,.97));border:1px solid rgba(217,180,107,.14);border-radius:20px;padding:20px 22px;box-shadow:var(--shadow-md);}
.settings-hero-section h3{font-size:18px!important;margin-bottom:6px!important;color:var(--text);}
.settings-module-grid,.dashboard-toggle-grid,.settings-categories-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.dashboard-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.toggle-switch{width:54px;height:30px;border:none;border-radius:999px;background:rgba(255,255,255,.09);position:relative;padding:3px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);transition:background-color .2s ease,box-shadow .2s ease;flex-shrink:0;}
.toggle-switch span{display:block;width:24px;height:24px;border-radius:50%;background:var(--muted);transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease;}
.toggle-switch.on{background:rgba(217,180,107,.22);box-shadow:inset 0 0 0 1px rgba(217,180,107,.30),0 0 18px rgba(217,180,107,.10);}
.toggle-switch.on span{transform:translateX(24px);background:var(--gold-bright);box-shadow:0 0 12px rgba(217,180,107,.35);}
.dashboard-toggle-card{background:linear-gradient(180deg, rgba(18,28,38,.94), rgba(10,16,24,.94));border:1px solid rgba(255,255,255,.065);border-radius:16px;padding:16px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;box-shadow:var(--shadow-md);}
.dashboard-toggle-card.enabled{border-color:rgba(217,180,107,.22);}
.dashboard-toggle-card h4{margin:0 0 5px;font-size:14px;}
.dashboard-toggle-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.4;}
.profile-editor-card{display:grid;grid-template-columns:150px 1fr;gap:20px;background:linear-gradient(180deg, rgba(18,28,38,.94), rgba(10,16,24,.94));border:1px solid rgba(255,255,255,.065);border-radius:18px;padding:20px;box-shadow:var(--shadow-md);margin-bottom:22px;}
.profile-editor-avatar{display:flex;flex-direction:column;align-items:center;gap:10px;}
.profile-editor-fields{min-width:0;}
.cat-panel{background:linear-gradient(180deg, rgba(18,28,38,.94), rgba(10,16,24,.94));border:1px solid rgba(255,255,255,.065);border-radius:16px;padding:16px;box-shadow:var(--shadow-md);}
.cat-panel h4{margin:0 0 12px;font-size:14px;color:var(--gold-bright);}
.cat-tag-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.reservas-panel{border-color:rgba(217,180,107,.16)!important;}
.reserva-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 16px;}
.reserva-card{background:linear-gradient(180deg, rgba(19,28,37,.95), rgba(8,13,20,.95));border:1px solid rgba(255,255,255,.065);border-radius:16px;padding:15px;box-shadow:var(--shadow-md);}
.reserva-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px;}
.reserva-title{font-weight:850;font-size:14px;display:flex;align-items:center;gap:8px;}
.reserva-meta{font-size:11.5px;color:var(--muted);margin-top:3px;}
.reserva-value{font-size:23px;font-weight:900;letter-spacing:-.03em;color:var(--gold-bright);margin:8px 0;}
.reserva-foot{display:flex;justify-content:space-between;color:var(--muted);font-size:11.5px;margin-top:7px;}
.reserva-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px;}
.reserva-actions button{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);color:var(--muted);border-radius:10px;padding:7px 12px;font-size:11.5px;font-weight:650;transition:color .18s ease,border-color .18s ease,background-color .18s ease,transform .16s ease,box-shadow .18s ease;}
.reserva-actions button:hover{color:var(--gold-bright);border-color:rgba(217,180,107,.32);background:rgba(217,180,107,.08);transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,.20);}
.reserva-extrato-title{font-size:12px;text-transform:uppercase;letter-spacing:.55px;color:var(--muted);font-weight:850;margin:16px 0 8px;}
@media(max-width:1100px){.settings-layout{grid-template-columns:1fr}.settings-tabs{position:relative;top:auto;flex-direction:row;flex-wrap:wrap}.settings-module-grid,.dashboard-toggle-grid,.settings-categories-grid{grid-template-columns:1fr 1fr}.overview-top-grid{grid-template-columns:1fr}.reserva-grid{grid-template-columns:1fr}}
@media(max-width:760px){.settings-module-grid,.dashboard-toggle-grid,.settings-categories-grid,.profile-editor-card{grid-template-columns:1fr}.settings-tab{flex:1 1 auto;text-align:center}.dashboard-flexible .dash-widget-wide{grid-column:1/-1!important}}


/* V5.20 — Reserva separada, tema claro e ajustes finos */
.reservas-summary-panel .toolbar{align-items:center;}
.reserva-summary-row .lname{display:flex;align-items:center;gap:8px;}
.reserva-summary-row .dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0;}

html[data-theme="light"]{
  --bg:#f7f2e7;
  --panel:#ffffff;
  --panel-2:#f2eadc;
  --border:#ded4c2;
  --border-strong:#c9b896;
  --text:#1c2430;
  --muted:#667085;
  --muted-2:#8a92a0;
  --green:#15803d;
  --blue:#2563eb;
  --red:#dc2626;
  --gold:#b88937;
  --gold-dark:#7a551d;
  --gold-bright:#a66f1f;
  --gold-text:#fff8e8;
  --shadow-lg:0 18px 44px rgba(90,70,34,.16);
  --shadow-md:0 10px 24px rgba(90,70,34,.12);
}
html[data-theme="light"] body{
  background:radial-gradient(circle at top left, rgba(184,137,55,.16), transparent 28%),radial-gradient(circle at top right, rgba(37,99,235,.08), transparent 24%),linear-gradient(180deg,#fbf7ee 0%,#f1e7d8 100%);
  color:var(--text);
}
html[data-theme="light"] body::before{opacity:.035;filter:grayscale(.25) invert(1);}

html[data-theme="light"] #splash{
  background:radial-gradient(circle at 50% 28%,rgba(184,137,55,.20),transparent 34%),linear-gradient(180deg,#fbf7ee 0%,#efe2cf 100%);
  color:#1c2430;
}
html[data-theme="light"] #splash img{filter:drop-shadow(0 12px 28px rgba(90,70,34,.18));}
html[data-theme="light"] #splash .splash-num{color:#a66f1f;text-shadow:0 1px 0 rgba(255,255,255,.68);}
html[data-theme="light"] #splash .splash-tag{color:#7b6d59;}
html[data-theme="light"] .sidebar{background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(244,235,221,.95));border-right:1px solid rgba(122,85,29,.16);box-shadow:10px 0 28px rgba(90,70,34,.06);}
html[data-theme="light"] .sb-logo .name,html[data-theme="light"] .gate-logo .appname{color:#1c2430;}
html[data-theme="light"] .gate-wrap{background:radial-gradient(circle at 50% 20%, rgba(184,137,55,.18) 0%, rgba(255,255,255,.10) 36%, rgba(247,242,231,.92) 76%),linear-gradient(135deg,#fbf7ee 0%,#f3eadb 52%,#fbf7ee 100%);}
html[data-theme="light"] .gate-card,html[data-theme="light"] .card,html[data-theme="light"] .panel-box,html[data-theme="light"] .settings-tabs,html[data-theme="light"] .settings-hero-section,html[data-theme="light"] .module-toggle-card,html[data-theme="light"] .dashboard-toggle-card,html[data-theme="light"] .profile-editor-card,html[data-theme="light"] .cat-panel,html[data-theme="light"] .reserva-card,html[data-theme="light"] .meta-card,html[data-theme="light"] .import-card,html[data-theme="light"] .import-hero{
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,241,231,.94));
  border-color:rgba(122,85,29,.15);
  box-shadow:var(--shadow-md);
}
html[data-theme="light"] .field input[type=text],html[data-theme="light"] .field input[type=password],html[data-theme="light"] .field input[type=email],html[data-theme="light"] .field input[type=number],html[data-theme="light"] .field input[type=date],html[data-theme="light"] .field input[type=month],html[data-theme="light"] .field select,html[data-theme="light"] .mini-input,html[data-theme="light"] .mini-select,html[data-theme="light"] .global-search-wrap input,html[data-theme="light"] .bell-btn{
  background:rgba(255,255,255,.88);border-color:rgba(122,85,29,.16);color:var(--text);
}
html[data-theme="light"] .list-row,html[data-theme="light"] table tr{border-color:rgba(122,85,29,.11);}
html[data-theme="light"] .topbar{background:linear-gradient(180deg,rgba(247,242,231,.92),rgba(247,242,231,.70));}
html[data-theme="light"] .btn-secondary,html[data-theme="light"] .btn-outline{background:rgba(255,255,255,.68);border-color:rgba(122,85,29,.17);color:var(--text);}
html[data-theme="light"] .floating-notif{background:rgba(22,163,74,.18);border-color:rgba(22,163,74,.42);color:#102316;box-shadow:0 16px 36px rgba(75,95,70,.18),0 0 0 1px rgba(22,163,74,.08) inset;}

/* ---------- V5.21 — Correções finas do tema claro ---------- */
html[data-theme="light"] .month-nav{
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,241,231,.90));
  border:1px solid rgba(184,137,55,.28);
  box-shadow:0 10px 24px rgba(90,70,34,.13), inset 0 1px 0 rgba(255,255,255,.70);
  color:#1c2430;
}
html[data-theme="light"] .month-nav .mlabel{color:#7a551d;text-shadow:none;font-weight:800;}
html[data-theme="light"] .month-nav button{color:#b88937;border-radius:10px;transition:background-color .20s ease,color .20s ease,transform .20s ease;}
html[data-theme="light"] .month-nav button:hover{color:#7a551d;background:rgba(184,137,55,.10);transform:translateX(2px);}
html[data-theme="light"] .month-nav button:first-child:hover{transform:translateX(-2px);}

html[data-theme="light"] .tabs{
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(244,235,221,.78));
  border-color:rgba(122,85,29,.18);
  box-shadow:0 10px 22px rgba(90,70,34,.10), inset 0 0 0 1px rgba(255,255,255,.55);
}
html[data-theme="light"] .tab-btn{color:#6d7280;}
html[data-theme="light"] .tab-btn:hover{color:#7a551d;background:rgba(184,137,55,.08);}
html[data-theme="light"] .tab-btn.active{
  background:linear-gradient(180deg,rgba(184,137,55,.18),rgba(184,137,55,.10));
  color:#7a551d;
  box-shadow:inset 0 0 0 1px rgba(184,137,55,.28);
}

html[data-theme="light"] .bank-filter-btn,
html[data-theme="light"] .btn-outline.bank-filter-btn{
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,241,231,.88));
  color:#1c2430;
  border-color:rgba(122,85,29,.20);
}
html[data-theme="light"] .bank-filter-btn:hover,
html[data-theme="light"] .btn-outline.bank-filter-btn:hover{
  color:#7a551d;
  border-color:rgba(184,137,55,.36);
  box-shadow:0 12px 26px rgba(90,70,34,.13);
}
html[data-theme="light"] .bank-filter-btn.filter-active,
html[data-theme="light"] .btn-outline.bank-filter-btn.filter-active{
  color:#7a551d;
  border-color:rgba(184,137,55,.42);
  background:linear-gradient(180deg,rgba(255,250,239,.96),rgba(240,225,199,.90));
}
html[data-theme="light"] .bank-filter-panel{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,241,231,.98));
  border-color:rgba(122,85,29,.18);
  box-shadow:0 22px 44px rgba(90,70,34,.17);
}

html[data-theme="light"] .card-entity{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,241,231,.94));
  border:1px solid rgba(122,85,29,.16);
  box-shadow:0 14px 30px rgba(90,70,34,.12), inset 0 1px 0 rgba(255,255,255,.72);
  color:#1c2430;
}
html[data-theme="light"] .card-entity-head{border-bottom:1px solid rgba(122,85,29,.08);padding-bottom:12px;}
html[data-theme="light"] .card-entity .info > div:first-child{color:#1c2430;font-weight:800;}
html[data-theme="light"] .card-entity .info > div:nth-child(2){color:#697386;}
html[data-theme="light"] .installment-row{
  border-bottom-color:rgba(122,85,29,.13);
  color:#263241;
}
html[data-theme="light"] .installment-row.ih{
  color:#7b8190;
  background:rgba(184,137,55,.045);
  border-radius:10px;
  padding-left:10px;
  padding-right:10px;
}
html[data-theme="light"] .installment-row.muted{opacity:.72;}
html[data-theme="light"] .installment-row button{color:#7b8190;}
html[data-theme="light"] .installment-row button:hover{color:#7a551d;}
html[data-theme="light"] .card-entity summary{color:#697386;}
html[data-theme="light"] .card-entity summary:hover{color:#7a551d;}

html[data-theme="light"] .list-row{
  background:rgba(255,255,255,.30);
}
html[data-theme="light"] .list-row:hover{
  background:rgba(184,137,55,.055);
}
html[data-theme="light"] .settings-tabs{
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,241,231,.92));
}
html[data-theme="light"] .settings-tab:hover{background:rgba(184,137,55,.075);color:#7a551d;}
html[data-theme="light"] .settings-tab.active{background:linear-gradient(90deg,rgba(184,137,55,.16),rgba(184,137,55,.05));color:#7a551d;}

/* ---------- V5.26 — Modais protegidos e campos mais claros ---------- */

html[data-theme="light"] .modal-overlay{background:rgba(38,30,18,.42);backdrop-filter:blur(2px);}
html[data-theme="light"] .modal-box{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,241,231,.96));border-color:rgba(122,85,29,.18);box-shadow:0 22px 60px rgba(90,70,34,.18);}
html[data-theme="light"] .modal-head button:hover{background:rgba(184,137,55,.12);color:#7a551d;}
html[data-theme="light"] .field:has(.money-input)::after{color:#2b1e05;background:linear-gradient(180deg,#f2d796,#d9b46b);box-shadow:0 5px 14px rgba(184,137,55,.16);}
html[data-theme="light"] .field input[type=date]::-webkit-calendar-picker-indicator,html[data-theme="light"] .field input[type=month]::-webkit-calendar-picker-indicator{background-color:rgba(184,137,55,.15);filter:sepia(1) saturate(2) hue-rotate(350deg) brightness(.82);}
html[data-theme="light"] .field input[type=date]::-webkit-calendar-picker-indicator:hover,html[data-theme="light"] .field input[type=month]::-webkit-calendar-picker-indicator:hover{background-color:rgba(184,137,55,.27);transform:scale(1.08);filter:sepia(1) saturate(2.4) hue-rotate(350deg) brightness(.72);}
html[data-theme="light"] .field input[type=color]{box-shadow:0 0 0 1px rgba(122,85,29,.18),0 6px 16px rgba(90,70,34,.12);}


/* V5.27 — Receita direto para Reserva + rendimentos mensais */
.reserve-destination-box{
  margin:10px 0 4px;
  padding:12px;
  border:1px solid rgba(217,180,107,.18);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(217,180,107,.075), rgba(255,255,255,.025));
}
.reserve-destination-fields{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(255,255,255,.07);
}
.reserve-hint{margin:4px 0 0!important;line-height:1.35;}
.reserve-destination-box input:disabled{
  opacity:.8;
  cursor:not-allowed;
  border-color:rgba(217,180,107,.24);
}
.reserva-rendimentos-panel{
  border-color:rgba(34,197,94,.13);
}
.reserva-rendimentos-panel .val-pos{
  color:#22c55e!important;
  font-weight:900;
}
html[data-theme="light"] .reserve-destination-box{
  background:linear-gradient(180deg, rgba(207,166,84,.13), rgba(255,255,255,.56));
  border-color:rgba(178,134,45,.24);
}
html[data-theme="light"] .reserve-destination-fields{
  border-top-color:rgba(178,134,45,.18);
}
html[data-theme="light"] .reserva-rendimentos-panel{
  border-color:rgba(34,197,94,.18);
}

/* V5.28 — Polimento calendário em modais, boletos e ações de reserva */
.field input[type=date],.field input[type=month]{
  position:relative;
  padding-right:58px!important;
  background-image:linear-gradient(180deg,rgba(242,215,150,.18),rgba(217,180,107,.10));
  background-repeat:no-repeat;
  background-size:42px 34px;
  background-position:right 8px center;
}
.field input[type=date]::-webkit-calendar-picker-indicator,.field input[type=month]::-webkit-calendar-picker-indicator{
  position:absolute;right:12px;top:50%;transform:translateY(-50%);
  width:22px;height:22px;padding:6px;border-radius:12px;
  background-color:rgba(217,180,107,.30);
  box-shadow:0 0 0 1px rgba(242,215,150,.22),0 7px 16px rgba(217,180,107,.16);
  filter:sepia(1) saturate(2.4) hue-rotate(350deg) brightness(1.35);
}
.field input[type=date]::-webkit-calendar-picker-indicator:hover,.field input[type=month]::-webkit-calendar-picker-indicator:hover{
  transform:translateY(-50%) scale(1.08);
  background-color:rgba(242,215,150,.46);
  filter:sepia(1) saturate(3) hue-rotate(350deg) brightness(1.45);
}
.boleto-entity .boleto-badge{background:linear-gradient(180deg,var(--gold-bright),var(--gold))!important;color:var(--gold-text);}
.boleto-row{background:rgba(201,164,92,.045);border-radius:10px;padding-left:10px;padding-right:10px;}
.danger-mini{color:var(--red)!important;margin-left:4px;font-size:15px!important;padding:6px 8px!important;border-radius:8px!important;}
.danger-mini:hover{color:#ff8489!important;background:rgba(255,90,95,.12)!important;transform:scale(1.05)!important;}
.agenda-delete-options{margin:10px 0 2px;padding:10px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.025);}
.agenda-delete-options .row-btns + .btn,.agenda-delete-options .row-btns + .row-btns{margin-top:8px;}
html[data-theme="light"] .field input[type=date],html[data-theme="light"] .field input[type=month]{
  background-image:linear-gradient(180deg,rgba(242,215,150,.28),rgba(217,180,107,.16));
}
html[data-theme="light"] .field input[type=date]::-webkit-calendar-picker-indicator,html[data-theme="light"] .field input[type=month]::-webkit-calendar-picker-indicator{
  background-color:rgba(184,137,55,.28)!important;
  box-shadow:0 0 0 1px rgba(122,85,29,.14),0 7px 16px rgba(184,137,55,.14);
  filter:sepia(1) saturate(2.8) hue-rotate(350deg) brightness(.82)!important;
}
html[data-theme="light"] .field input[type=date]::-webkit-calendar-picker-indicator:hover,html[data-theme="light"] .field input[type=month]::-webkit-calendar-picker-indicator:hover{
  background-color:rgba(184,137,55,.40)!important;
  filter:sepia(1) saturate(3.2) hue-rotate(350deg) brightness(.72)!important;
}
html[data-theme="light"] .boleto-row{background:rgba(184,137,55,.06);}
html[data-theme="light"] .agenda-delete-options{background:rgba(255,255,255,.44);border-color:rgba(122,85,29,.13);}

/* ============ V5.30 — Refino visual: botões, modal de confirmação, etiquetas de Patrimônio, agenda e sidebar ============ */

/* --- modal de confirmação customizado (substitui window.confirm) --- */
.confirm-box{max-width:380px;}
.confirm-text{color:var(--muted);font-size:13px;line-height:1.55;margin:0 0 18px;white-space:pre-line;}
.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;}
@media(max-width:420px){.confirm-actions{grid-template-columns:1fr;}}
.confirm-box.confirm-danger{border-color:rgba(255,90,95,.30);box-shadow:0 22px 60px rgba(255,90,95,.14),var(--shadow-lg);}
.confirm-box.confirm-gold{border-color:rgba(201,164,92,.34);box-shadow:0 22px 60px rgba(201,164,92,.14),var(--shadow-lg);}
.confirm-box .modal-head h2{display:flex;align-items:center;gap:9px;}
.confirm-box.confirm-danger .modal-head h2::before{content:'';width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--red);box-shadow:0 0 10px rgba(255,90,95,.6);}
.confirm-box.confirm-gold .modal-head h2::before{content:'';width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--gold);box-shadow:0 0 10px rgba(201,164,92,.6);}
html[data-theme="light"] .confirm-box.confirm-danger{border-color:rgba(220,38,38,.26);}
html[data-theme="light"] .confirm-box.confirm-gold{border-color:rgba(184,137,55,.32);}

/* --- etiquetas coloridas dos cards de destaque (Patrimônio e Lançamentos) — substituem os ícones pequenos --- */
.tag-badge{
  display:inline-flex;align-items:center;
  padding:5px 12px;border-radius:8px;border:1px solid transparent;
  font-size:10.5px;font-weight:800;letter-spacing:.6px;line-height:1.4;
  transition:transform .18s ease,box-shadow .18s ease;
}
.card:hover .tag-badge{transform:translateY(-1px);}

/* --- sidebar: ícones com container e destaque premium --- */
.sb-item{padding:11px 13px 11px 13px;}
.sb-item .ic{
  width:22px;height:22px;flex-shrink:0;border-radius:8px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.03);
  transition:background-color .2s ease,transform .2s ease,opacity .2s ease;
}
.sb-item:hover .ic{background:rgba(201,164,92,.10);transform:translateX(3px);}
.sb-item.active .ic{background:rgba(201,164,92,.16);box-shadow:0 0 12px rgba(201,164,92,.16);}
.sb-logo{border-bottom:1px solid rgba(255,255,255,.055);margin-bottom:10px;padding-bottom:20px;}
.sb-footer .sb-profile{border-radius:12px;transition:background-color .18s ease;}
.sb-footer .sb-profile:hover{background:rgba(255,255,255,.03);}
.sb-profile .pswitch{border-radius:8px;padding:6px;transition:background-color .18s ease,color .18s ease;}
.sb-profile .pswitch:hover{background:rgba(255,90,95,.10);color:var(--red);}

/* --- campo de data: ícone de calendário maior e com mais contraste (modais) --- */
.field input[type=date],.field input[type=month]{padding-right:60px!important;}
.field input[type=date]::-webkit-calendar-picker-indicator,.field input[type=month]::-webkit-calendar-picker-indicator{
  opacity:1;cursor:pointer;width:26px;height:26px;padding:5px;border-radius:9px;
  background-color:rgba(201,164,92,.34);
  box-shadow:0 0 0 1px rgba(201,164,92,.30),0 6px 16px rgba(201,164,92,.18);
  filter:sepia(1) saturate(2.6) hue-rotate(350deg) brightness(1.32);
  transition:background-color .18s ease,transform .18s ease,filter .18s ease,box-shadow .18s ease;
}
.field input[type=date]::-webkit-calendar-picker-indicator:hover,.field input[type=month]::-webkit-calendar-picker-indicator:hover{
  background-color:rgba(201,164,92,.52);transform:translateY(-50%) scale(1.08);
  filter:sepia(1) saturate(3) hue-rotate(350deg) brightness(1.42);
}
html[data-theme="light"] .field input[type=date]::-webkit-calendar-picker-indicator,html[data-theme="light"] .field input[type=month]::-webkit-calendar-picker-indicator{
  background-color:rgba(184,137,55,.40)!important;
  box-shadow:0 0 0 1px rgba(122,85,29,.20),0 6px 16px rgba(184,137,55,.18)!important;
  filter:sepia(1) saturate(2.8) hue-rotate(350deg) brightness(.9)!important;
}
html[data-theme="light"] .field input[type=date]::-webkit-calendar-picker-indicator:hover,html[data-theme="light"] .field input[type=month]::-webkit-calendar-picker-indicator:hover{
  background-color:rgba(184,137,55,.54)!important;
  filter:sepia(1) saturate(3.2) hue-rotate(350deg) brightness(.78)!important;
}

/* ============ V5.31 — Refino do menu lateral e padronização dos cards de Lançamentos ============ */

/* --- sidebar: espaçamento, ícones e legibilidade premium --- */
.sb-nav{gap:5px;}
.sb-item{
  gap:13px;padding:11px 14px;letter-spacing:.1px;
  transition:background-color .22s cubic-bezier(.4,0,.2,1),color .22s cubic-bezier(.4,0,.2,1),box-shadow .22s ease;
}
.sb-item .ic{
  font-size:14px;
  transition:background-color .22s cubic-bezier(.4,0,.2,1),transform .22s cubic-bezier(.4,0,.2,1),opacity .22s ease;
}
.sb-item.active{letter-spacing:.15px;}
.sb-logo{gap:13px;}
.sb-logo .name{letter-spacing:.3px;}
.sb-footer{margin-top:16px;padding-top:16px;}
.sb-profile .pname{letter-spacing:.1px;}

/* --- cards: acabamento leve no hover, coerente em todas as telas (Patrimônio, Lançamentos, etc.) --- */
.card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.card:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(0,0,0,.24),var(--shadow-md);border-color:rgba(255,255,255,.11);}
html[data-theme="light"] .card:hover{box-shadow:0 16px 36px rgba(90,70,34,.10),var(--shadow-md);border-color:rgba(122,85,29,.22);}

/* ============ V5.32 — Gaveta lateral com ícones circulares premium ============ */
.sidebar{
  width:288px;
  padding-left:18px;
  padding-right:18px;
  background:
    radial-gradient(circle at 30px 26px, rgba(217,180,107,.08), transparent 95px),
    linear-gradient(180deg, rgba(5,12,18,.98), rgba(7,13,20,.96));
}
.sb-nav{
  gap:8px;
  min-height:0;
  overflow-y:auto;
  padding-right:2px;
  scrollbar-width:thin;
  scrollbar-color:rgba(201,164,92,.25) transparent;
}
.sb-nav::-webkit-scrollbar{width:4px;}
.sb-nav::-webkit-scrollbar-thumb{background:rgba(201,164,92,.25);border-radius:999px;}
/* V5.37.0 — todo scroll de janela flutuante (modais, painéis, listas internas) usa a
   cor dourada do sistema, em vez do scroll padrão do navegador. */
.modal-box,.notif-panel,.notif-list,.bank-filter-panel,.search-results,.emoji-picker,.table-scroll,.reserva-extrato-title+.table-scroll,.backup-vault-list,.reserve-report-scroll,#global_search_results{
  scrollbar-width:thin;
  scrollbar-color:rgba(201,164,92,.35) transparent;
}
.modal-box::-webkit-scrollbar,.notif-panel::-webkit-scrollbar,.notif-list::-webkit-scrollbar,.bank-filter-panel::-webkit-scrollbar,.search-results::-webkit-scrollbar,.emoji-picker::-webkit-scrollbar,.table-scroll::-webkit-scrollbar,.backup-vault-list::-webkit-scrollbar,.reserve-report-scroll::-webkit-scrollbar,#global_search_results::-webkit-scrollbar{width:6px;height:6px;}
.modal-box::-webkit-scrollbar-thumb,.notif-panel::-webkit-scrollbar-thumb,.notif-list::-webkit-scrollbar-thumb,.bank-filter-panel::-webkit-scrollbar-thumb,.search-results::-webkit-scrollbar-thumb,.emoji-picker::-webkit-scrollbar-thumb,.table-scroll::-webkit-scrollbar-thumb,.backup-vault-list::-webkit-scrollbar-thumb,.reserve-report-scroll::-webkit-scrollbar-thumb,#global_search_results::-webkit-scrollbar-thumb{background:rgba(201,164,92,.35);border-radius:999px;}
.modal-box::-webkit-scrollbar-track,.notif-panel::-webkit-scrollbar-track,.notif-list::-webkit-scrollbar-track,.bank-filter-panel::-webkit-scrollbar-track,.search-results::-webkit-scrollbar-track,.emoji-picker::-webkit-scrollbar-track,.table-scroll::-webkit-scrollbar-track,.backup-vault-list::-webkit-scrollbar-track,.reserve-report-scroll::-webkit-scrollbar-track,#global_search_results::-webkit-scrollbar-track{background:transparent;}
html[data-theme="light"] .modal-box,html[data-theme="light"] .notif-panel,html[data-theme="light"] .notif-list,html[data-theme="light"] .bank-filter-panel,html[data-theme="light"] .search-results,html[data-theme="light"] .emoji-picker,html[data-theme="light"] .table-scroll,html[data-theme="light"] .backup-vault-list,html[data-theme="light"] .reserve-report-scroll,html[data-theme="light"] #global_search_results{
  scrollbar-color:rgba(122,85,29,.35) transparent;
}
html[data-theme="light"] .modal-box::-webkit-scrollbar-thumb,html[data-theme="light"] .notif-panel::-webkit-scrollbar-thumb,html[data-theme="light"] .notif-list::-webkit-scrollbar-thumb,html[data-theme="light"] .bank-filter-panel::-webkit-scrollbar-thumb,html[data-theme="light"] .search-results::-webkit-scrollbar-thumb,html[data-theme="light"] .emoji-picker::-webkit-scrollbar-thumb,html[data-theme="light"] .table-scroll::-webkit-scrollbar-thumb,html[data-theme="light"] .backup-vault-list::-webkit-scrollbar-thumb,html[data-theme="light"] .reserve-report-scroll::-webkit-scrollbar-thumb,html[data-theme="light"] #global_search_results::-webkit-scrollbar-thumb{background:rgba(122,85,29,.35);}
.sb-item{
  min-height:62px;
  gap:17px;
  padding:4px 10px;
  border-radius:18px;
  color:rgba(247,248,250,.94);
  font-size:15px;
  font-weight:650;
  letter-spacing:-.01em;
  background:transparent;
  transition:
    background-color .22s cubic-bezier(.4,0,.2,1),
    color .22s cubic-bezier(.4,0,.2,1),
    transform .22s cubic-bezier(.4,0,.2,1),
    box-shadow .22s ease;
}
.sb-item .ic{
  width:58px!important;
  height:58px!important;
  flex:0 0 58px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#f1d79c;
  opacity:1;
  background:
    radial-gradient(circle at 35% 28%, rgba(255,255,255,.105), transparent 34%),
    linear-gradient(180deg, rgba(24,33,45,.96), rgba(12,19,29,.98));
  border:1px solid rgba(255,255,255,.075);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 12px 24px rgba(0,0,0,.25),
    0 0 20px rgba(201,164,92,.055);
  transition:
    transform .24s cubic-bezier(.4,0,.2,1),
    background-color .24s cubic-bezier(.4,0,.2,1),
    border-color .24s ease,
    box-shadow .24s ease,
    color .24s ease;
}
.sb-item .ic svg{
  width:30px;
  height:30px;
  display:block;
  filter:drop-shadow(0 0 7px rgba(242,215,150,.22));
}
.sb-item .sb-label{
  line-height:1.15;
  white-space:normal;
}
.sb-item:hover{
  background:rgba(255,255,255,.022);
  color:#fff7e5;
  transform:translateX(1px);
}
.sb-item:hover .ic{
  transform:translateX(3px) scale(1.045);
  color:#ffe2a7;
  background:
    radial-gradient(circle at 35% 28%, rgba(255,255,255,.13), transparent 34%),
    linear-gradient(180deg, rgba(31,42,56,.98), rgba(14,23,35,.98));
  border-color:rgba(242,215,150,.18);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 14px 28px rgba(0,0,0,.30),
    0 0 24px rgba(201,164,92,.16);
}
.sb-item.active{
  color:#ffe5ad;
  background:linear-gradient(90deg, rgba(201,164,92,.12), rgba(201,164,92,.025));
  box-shadow:inset 0 0 0 1px rgba(201,164,92,.10);
}
.sb-item.active::before{
  left:-7px;
  top:18px;
  bottom:18px;
  opacity:.85;
}
.sb-item.active .ic{
  color:#ffe6ad;
  background:
    radial-gradient(circle at 35% 28%, rgba(255,255,255,.15), transparent 34%),
    linear-gradient(180deg, rgba(34,44,58,.98), rgba(15,23,34,.98));
  border-color:rgba(242,215,150,.22);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 15px 30px rgba(0,0,0,.34),
    0 0 30px rgba(201,164,92,.24);
}
.sb-logo{
  margin-bottom:12px;
}
.sb-footer{
  margin-top:18px;
}

html[data-theme="light"] .sidebar{
  background:
    radial-gradient(circle at 30px 26px, rgba(184,137,55,.11), transparent 95px),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(244,235,221,.96));
}
html[data-theme="light"] .sb-item{
  color:#27313f;
}
html[data-theme="light"] .sb-item:hover{
  background:rgba(122,85,29,.04);
  color:#8a5a17;
}
html[data-theme="light"] .sb-item.active{
  color:#8a5a17;
  background:linear-gradient(90deg, rgba(184,137,55,.14), rgba(184,137,55,.035));
  box-shadow:inset 0 0 0 1px rgba(122,85,29,.10);
}
html[data-theme="light"] .sb-item .ic{
  color:#a66f1f;
  background:
    radial-gradient(circle at 35% 28%, rgba(255,255,255,.9), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(235,223,205,.96));
  border-color:rgba(122,85,29,.13);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.72),
    0 10px 22px rgba(90,70,34,.12),
    0 0 20px rgba(184,137,55,.08);
}
html[data-theme="light"] .sb-item:hover .ic,
html[data-theme="light"] .sb-item.active .ic{
  color:#8a5a17;
  border-color:rgba(184,137,55,.24);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.76),
    0 12px 24px rgba(90,70,34,.15),
    0 0 24px rgba(184,137,55,.14);
}

@media(max-width:760px){
  .sidebar{
    width:288px;
    left:-306px;
  }
  .sidebar.open{left:0;}
  .sb-item{
    min-height:64px;
  }
  .sb-item .ic{
    width:56px!important;
    height:56px!important;
    flex-basis:56px;
  }
}


/* Borion Cloud / Supabase */
.cloud-login-wrap{min-height:100vh;min-height:100dvh;overflow-y:auto}
.cloud-login-wrap .gate-box{max-width:440px;margin-block:auto}
.cloud-card .gate-info{margin:0 0 14px;color:#34d399;font-size:13px;line-height:1.4}
.cloud-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:14px}
.cloud-note{margin-top:18px;font-size:12px;line-height:1.45;color:var(--muted);text-align:center;opacity:.86}
.cloud-status{border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;letter-spacing:.02em;background:rgba(255,255,255,.055);color:var(--text);white-space:nowrap;box-shadow:0 8px 18px rgba(0,0,0,.16);cursor:pointer}
.cloud-status.online{border-color:rgba(34,197,94,.32);background:rgba(34,197,94,.12);color:#86efac}
.cloud-status.syncing,.cloud-status.dirty{border-color:rgba(201,164,92,.38);background:rgba(201,164,92,.13);color:#f6d58b}
.cloud-status.offline{border-color:rgba(239,68,68,.32);background:rgba(239,68,68,.10);color:#fca5a5}
.cloud-status.local{border-color:rgba(184,137,55,.35);background:rgba(184,137,55,.13);color:#e8c98a}
@media (max-width: 760px){.cloud-status{position:fixed;left:12px;right:12px;bottom:74px;z-index:45;text-align:center;padding:9px 12px}.topbar .cloud-status{display:block}.cloud-actions{gap:10px}.cloud-login-wrap{padding:18px}}

/* V5.33 — ajustes mobile/app e nuvem robusta */
@media(max-width:760px){
  body{overflow-x:hidden;}
  .main{padding:14px 12px 142px!important;}
  .topbar{gap:10px;margin-bottom:16px;align-items:stretch;}
  .topbar>div:first-child{width:100%;}
  .topbar h1{font-size:21px;line-height:1.15;}
  .topbar .hello{font-size:12px;}
  .topbar>div[style*="display:flex"]{width:100%;display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;align-items:center!important;}
  .month-nav-wrap{grid-column:1/-1;}
  .month-nav{justify-content:space-between;padding:8px 10px;border-radius:14px;}
  .month-nav .mlabel{min-width:auto;flex:1;}
  .bank-filter-btn,.bell-btn{width:100%;justify-content:center;min-height:42px;}
  .cards-row{gap:10px;}
  .card,.panel-box,.settings-section,.module-toggle-card,.cheque-kpi{border-radius:16px;padding:16px;}
  .indicators-grid{grid-template-columns:1fr;gap:10px;}
  .dash-grid{gap:12px;}
  .row-btns{flex-direction:column;}
  .btn,.btn-outline{min-height:42px;}
  .field input[type=text],.field input[type=password],.field input[type=email],.field input[type=number],.field input[type=date],.field input[type=month],.field select{font-size:16px;min-height:44px;}
  .settings-tabs{display:flex;overflow:auto;flex-wrap:nowrap!important;padding-bottom:4px;scroll-snap-type:x mandatory;}
  .settings-tab{white-space:nowrap;scroll-snap-align:start;}
  .version-tag{display:none;}
  .cloud-status{position:fixed!important;left:12px!important;right:12px!important;bottom:calc(76px + env(safe-area-inset-bottom))!important;z-index:90;text-align:center;padding:10px 12px;border-radius:999px;}
  .cloud-login-wrap{
    min-height:100vh;
    min-height:100dvh;
    align-items:stretch!important;
    justify-content:center!important;
    padding:
      calc(14px + env(safe-area-inset-top))
      calc(14px + env(safe-area-inset-right))
      calc(14px + env(safe-area-inset-bottom))
      calc(14px + env(safe-area-inset-left))!important;
    overflow-y:auto;
  }
  .cloud-login-wrap .gate-box{margin-block:auto;}
  .cloud-login-wrap .gate-logo{margin-bottom:16px;}
  .cloud-login-wrap .gate-logo img{width:108px;height:108px;}
  .cloud-login-wrap .gate-card{padding:22px 18px;border-radius:18px;}
}

/* V5.34 — Cloud Foundation */
.profile-row.active{border-color:rgba(201,164,92,.45);background:rgba(201,164,92,.08)}
.cloud-bottom-notice{position:fixed;left:18px;right:18px;bottom:18px;z-index:70;display:none;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:11px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(8,13,20,.92);backdrop-filter:blur(16px);box-shadow:0 14px 38px rgba(0,0,0,.34);font-size:13px;color:var(--text)}
.cloud-bottom-notice.show{display:flex}.cloud-bottom-notice span{color:var(--muted)}.cloud-bottom-notice button{border:1px solid rgba(201,164,92,.35);background:rgba(201,164,92,.12);color:#f6d58b;border-radius:999px;padding:6px 10px;font-weight:800}.cloud-bottom-notice.online{border-color:rgba(34,197,94,.28)}.cloud-bottom-notice.dirty,.cloud-bottom-notice.syncing{border-color:rgba(201,164,92,.34)}.cloud-bottom-notice.offline{border-color:rgba(239,68,68,.34)}
.danger-box{border-color:rgba(239,68,68,.32)!important;background:rgba(239,68,68,.08)!important;color:#fecaca!important}
@media(max-width:760px){.cloud-bottom-notice{left:10px;right:10px;bottom:128px;padding:10px;font-size:12px}.profile-editor-card{grid-template-columns:1fr!important}.profile-row{gap:8px;align-items:flex-start}.profile-row .btn-sm{padding:8px 9px}.settings-tabs{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.field input[disabled]{opacity:.75}}

/* V5.34.9 — Menu mobile/tablet portrait: gaveta lateral acessível sem quebrar desktop */
.mobile-menu-btn,
.mobile-menu-close,
.mobile-menu-backdrop{display:none;}
.topbar-title-row{display:flex;align-items:flex-start;gap:12px;min-width:0;}
.topbar-title{min-width:0;}

@media(max-width:980px){
  .shell{display:block;min-height:100vh;}
  .main{width:100%;min-width:0;}
  .mobile-menu-btn{
    display:inline-flex;
    flex:0 0 46px;
    width:46px;
    height:46px;
    border-radius:15px;
    border:1px solid rgba(201,164,92,.24);
    background:linear-gradient(180deg,rgba(201,164,92,.18),rgba(12,19,26,.92));
    color:var(--gold-bright);
    box-shadow:0 10px 26px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.08);
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    margin-top:1px;
  }
  .mobile-menu-btn span{
    display:block;
    width:20px;
    height:2px;
    border-radius:999px;
    background:currentColor;
    box-shadow:0 0 10px rgba(201,164,92,.24);
  }
  .mobile-menu-close{
    display:inline-flex;
    margin-left:auto;
    width:38px;
    height:38px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.05);
    color:var(--text);
    align-items:center;
    justify-content:center;
    font-size:24px;
    line-height:1;
    font-weight:650;
  }
  .mobile-menu-backdrop{
    display:block;
    position:fixed;
    inset:0;
    z-index:110;
    border:0;
    background:rgba(0,0,0,.58);
    backdrop-filter:blur(5px);
    opacity:0;
    pointer-events:none;
    transition:opacity .24s ease;
  }
  .mobile-menu-backdrop.show{opacity:1;pointer-events:auto;}
  .sidebar{
    position:fixed!important;
    top:0!important;
    bottom:0!important;
    left:calc(-1 * min(88vw, 318px) - 28px)!important;
    width:min(88vw, 318px)!important;
    max-width:318px;
    height:100dvh!important;
    z-index:120!important;
    transition:left .24s cubic-bezier(.4,0,.2,1), box-shadow .24s ease!important;
    box-shadow:none;
    padding-top:calc(16px + env(safe-area-inset-top))!important;
    padding-bottom:calc(16px + env(safe-area-inset-bottom))!important;
  }
  .sidebar.open{
    left:0!important;
    box-shadow:18px 0 46px rgba(0,0,0,.48), inset -1px 0 0 rgba(255,255,255,.06);
  }
  .sidebar.open .sb-item{animation:navActivate .18s ease;}
  .sb-logo{padding-right:2px;}
  body.mobile-menu-open{overflow:hidden;touch-action:none;overscroll-behavior:none;}
  .topbar-title-row{width:100%;align-items:center;}
  .topbar-title{flex:1;}
}

@media(max-width:760px){
  .topbar .topbar-title-row{width:100%;}
  .topbar-title-row + .global-search-wrap{display:none;}
}

html[data-theme="light"] .mobile-menu-btn{
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(247,242,231,.82));
  border-color:rgba(184,137,55,.26);
  color:#8a5a17;
  box-shadow:0 10px 24px rgba(90,70,34,.12), inset 0 1px 0 rgba(255,255,255,.8);
}
html[data-theme="light"] .mobile-menu-close{
  background:rgba(122,85,29,.06);
  border-color:rgba(122,85,29,.14);
  color:#6f4d1b;
}

/* ============ V5.35 — Correção do calendário (Agenda Financeira) no tema claro ============ */
html[data-theme="light"] .agenda-month-nav{
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,241,231,.90));
  border:1px solid rgba(184,137,55,.28);
  box-shadow:0 10px 24px rgba(90,70,34,.13), inset 0 1px 0 rgba(255,255,255,.70);
}
html[data-theme="light"] .agenda-month-nav button{color:#b88937;}
html[data-theme="light"] .agenda-month-nav button:hover{color:#7a551d;background:rgba(184,137,55,.12);}
html[data-theme="light"] .agenda-month-label{color:#1c2430;}
html[data-theme="light"] .cal-weekdays{color:#7a7047;border-bottom-color:rgba(122,85,29,.16);}
html[data-theme="light"] .cal-cell{
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,241,231,.86));
  border:1px solid rgba(122,85,29,.16);
}
html[data-theme="light"] .cal-cell.empty{background:none;border:none;}
html[data-theme="light"] .cal-cell:not(.empty):hover{
  border-color:rgba(184,137,55,.44);
  box-shadow:0 12px 26px rgba(90,70,34,.14);
}
html[data-theme="light"] .cal-cell.has-items{
  border-color:rgba(184,137,55,.34);
  background:linear-gradient(180deg, rgba(184,137,55,.16), rgba(255,255,255,.92));
}
html[data-theme="light"] .cal-cell.today{
  border-color:#b88937;
  box-shadow:inset 0 0 0 1px #b88937, 0 0 18px rgba(184,137,55,.22);
  background:linear-gradient(180deg, rgba(184,137,55,.24), rgba(255,255,255,.94));
}
html[data-theme="light"] .cal-daynum{color:#697386;}
html[data-theme="light"] .cal-cell.today .cal-daynum{color:#7a551d;}
html[data-theme="light"] .cal-item{
  background:rgba(184,137,55,.22);
  color:#6a4a10;
}
html[data-theme="light"] .cal-item:hover{background:rgba(184,137,55,.36);}
html[data-theme="light"] .cal-item.paid{background:rgba(21,128,61,.16);color:#15803d;}
html[data-theme="light"] .cal-more{color:#7b8190;}

/* V5.35.1 — Backup/Security UI */
.backup-consent-box{max-width:760px!important;}
.backup-consent-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0;}
.backup-consent-list div{border:1px solid rgba(217,180,107,.16);background:rgba(217,180,107,.055);border-radius:16px;padding:12px;}
.backup-consent-list b{display:block;color:var(--gold-bright);font-size:13px;margin-bottom:5px;}
.backup-consent-list span{display:block;color:var(--muted);font-size:12px;line-height:1.4;}
.backup-consent-list code{font-size:11px;color:var(--gold-bright);}
.backup-vault-modal{max-width:860px!important;}
.backup-vault-list{display:flex;flex-direction:column;gap:10px;max-height:min(58vh,560px);overflow:auto;padding-right:3px;}
.backup-vault-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid rgba(255,255,255,.085);background:rgba(255,255,255,.035);border-radius:16px;padding:12px;}
.backup-vault-main{display:flex;flex-direction:column;gap:4px;min-width:0;}
.backup-vault-main b{color:var(--text);font-size:14px;}
.backup-vault-main span{color:var(--muted);font-size:12px;}
.backup-vault-main em{color:var(--muted-2);font-style:normal;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px;}
.backup-vault-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
@media(max-width:760px){.backup-consent-list{grid-template-columns:1fr}.backup-vault-row{align-items:flex-start;flex-direction:column}.backup-vault-actions{width:100%;justify-content:flex-start}.backup-vault-main em{max-width:100%;white-space:normal}}

/* V5.36.0 — senha visível/oculta, categorias coloridas e avisos internos */
.password-wrap{position:relative;}
.password-wrap input{padding-right:48px!important;}
.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.035);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease;}
.password-toggle:hover{background:rgba(217,180,107,.10);border-color:rgba(217,180,107,.25);color:var(--gold-bright);}
.password-toggle svg{width:18px;height:18px;}
html[data-theme="dark"] .profile-name,html[data-theme="dark"] .sb-profile .pname,html[data-theme="dark"] .profile-row .info .n{color:#f5f7fa;text-shadow:0 1px 8px rgba(0,0,0,.35);}
.cat-tag-manage{background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));border-color:color-mix(in srgb, var(--cat-color) 42%, rgba(255,255,255,.10));box-shadow:0 8px 18px rgba(0,0,0,.12),0 0 0 1px rgba(255,255,255,.025) inset;}
.cat-tag .cat-dot{width:10px;height:10px;border-radius:50%;background:var(--cat-color);box-shadow:0 0 12px color-mix(in srgb, var(--cat-color) 60%, transparent);flex:0 0 auto;}
.cat-tag-name{font-weight:750;color:var(--text);}
.cat-color-inline{width:26px;height:24px;border:none;border-radius:8px;background:transparent;padding:0;cursor:pointer;box-shadow:0 0 0 1px rgba(255,255,255,.12);}
.cat-color-inline::-webkit-color-swatch-wrapper{padding:0;}
.cat-color-inline::-webkit-color-swatch{border:none;border-radius:8px;}
.cat-mini-btn{min-width:22px;height:22px;border-radius:8px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.06)!important;color:var(--muted)!important;}
.cat-mini-btn:hover{color:var(--gold-bright)!important;border-color:rgba(217,180,107,.25)!important;}
.cat-mini-btn.danger:hover{color:var(--red)!important;border-color:rgba(255,90,95,.30)!important;background:rgba(255,90,95,.08)!important;}
.bank-required-modal .info-box{background:rgba(217,180,107,.08);border-color:rgba(217,180,107,.22);color:var(--text);}
.bank-required-modal .confirm-text{line-height:1.5;}
html[data-theme="light"] .password-toggle{background:rgba(122,85,29,.06);border-color:rgba(122,85,29,.16);color:#7a551d;}
html[data-theme="light"] .cat-tag-name{color:#2b1e05;}

/* ============ V5.39.6 — Exclusão de conta com link mágico ============ */
.delete-account-modal{max-width:620px!important;}
.delete-steps{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 16px;}
.delete-step{font-size:11.5px;border:1px solid rgba(255,255,255,.12);color:var(--muted);border-radius:999px;padding:6px 9px;background:rgba(255,255,255,.035);}
.delete-step.active{color:#fff;border-color:rgba(239,68,68,.42);background:rgba(239,68,68,.16);box-shadow:0 0 14px rgba(239,68,68,.12);}
.delete-step.done{color:#bbf7d0;border-color:rgba(52,211,153,.35);background:rgba(52,211,153,.10);}
.delete-account-hero{display:flex;gap:14px;align-items:flex-start;margin:8px 0 14px;}
.delete-account-hero h3{margin:0 0 4px;font-size:18px;}
.delete-account-hero p{margin:0;color:var(--muted);line-height:1.45;}
.delete-danger-mark{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(239,68,68,.14);border:1px solid rgba(239,68,68,.42);color:#fecaca;font-weight:900;font-size:24px;box-shadow:0 0 22px rgba(239,68,68,.20);}
.delete-warning-list{border:1px solid rgba(239,68,68,.28);background:rgba(239,68,68,.08);border-radius:14px;padding:14px 16px;margin:12px 0 14px;color:var(--text);}
.delete-warning-list p{margin:0 0 8px;line-height:1.48;}
.delete-warning-list p:last-child{margin-bottom:0;color:#fecaca;}
.delete-warning-list ul{margin:8px 0 10px 18px;padding:0;color:var(--muted);line-height:1.55;}
.delete-account-msg{border-radius:12px;padding:10px 12px;margin:8px 0 12px;font-size:13px;line-height:1.45;}
.delete-account-msg.error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.32);color:#fecaca;}
.delete-account-msg.ok{background:rgba(52,211,153,.10);border:1px solid rgba(52,211,153,.28);color:#bbf7d0;}
.delete-code-actions{display:flex;justify-content:flex-end;margin:-4px 0 8px;}
.delete-final-warning{margin:10px 0 14px;border:1px solid rgba(239,68,68,.34);background:rgba(239,68,68,.10);color:#fecaca;border-radius:12px;padding:11px 12px;font-size:13px;line-height:1.45;}
.delete-account-success{text-align:center;padding:12px 0 18px;}
.delete-account-success h3{margin:10px 0 6px;font-size:20px;}
.delete-account-success p{margin:4px 0;color:var(--muted);}
.success-mark{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto;background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.35);color:#bbf7d0;font-weight:900;font-size:26px;box-shadow:0 0 24px rgba(52,211,153,.18);}
html[data-theme="light"] .delete-step{border-color:rgba(122,85,29,.16);background:rgba(122,85,29,.035);}
html[data-theme="light"] .delete-step.active{color:#8a1f24;border-color:rgba(196,44,52,.32);background:rgba(196,44,52,.08);}
html[data-theme="light"] .delete-step.done{color:#0f7a4b;border-color:rgba(15,122,75,.25);background:rgba(15,122,75,.07);}
html[data-theme="light"] .delete-warning-list,html[data-theme="light"] .delete-final-warning{background:rgba(196,44,52,.07);border-color:rgba(196,44,52,.22);color:#7c2d12;}
html[data-theme="light"] .delete-warning-list p:last-child,html[data-theme="light"] .delete-final-warning,html[data-theme="light"] .delete-account-msg.error{color:#8a1f24;}

.delete-email-instructions{border:1px solid rgba(217,180,107,.28);background:rgba(217,180,107,.08);border-radius:14px;padding:14px 16px;margin:12px 0 14px;}
.delete-email-instructions h3{margin:0 0 8px;font-size:17px;color:var(--gold-bright);}
.delete-email-instructions p{margin:0 0 10px;line-height:1.5;color:var(--text);}
.delete-email-instructions ol{margin:8px 0 12px 20px;padding:0;color:var(--muted);line-height:1.6;}
.delete-email-instructions li{padding-left:3px;margin:3px 0;}
.delete-email-note{font-size:12.5px;color:var(--muted)!important;border-top:1px solid rgba(255,255,255,.10);padding-top:10px;margin-top:10px!important;}
html[data-theme="light"] .delete-email-instructions{background:rgba(122,85,29,.06);border-color:rgba(122,85,29,.18);}
html[data-theme="light"] .delete-email-note{border-top-color:rgba(122,85,29,.12);}

/* V6.1 — chips de filtro ativo (Central de Lançamentos), no mesmo padrão visual das
   cat-pill/filter-chip-btn já usadas no resto do Borion. */
.active-filter-chips{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 12px;}
.active-filter-chip{display:inline-flex;align-items:center;gap:6px;background:rgba(204,161,96,.14);border:1px solid rgba(201,164,92,.32);color:var(--gold-bright);border-radius:999px;padding:5px 6px 5px 12px;font-size:11.5px;font-weight:650;}
.active-filter-chip button{background:none;border:none;color:inherit;opacity:.75;cursor:pointer;font-size:14px;line-height:1;padding:2px 6px;border-radius:50%;}
.active-filter-chip button:hover{opacity:1;background:rgba(255,255,255,.12);}
html[data-theme="light"] .active-filter-chip{background:rgba(122,85,29,.09);border-color:rgba(122,85,29,.22);color:#7a551d;}

/* ================= Organização visual (módulos e itens) — leve, opcional, não financeira ================= */
.order-organize-section{margin-bottom:18px;}
.order-organize-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;}
.order-organize-head h3{margin:0 0 4px;}
.order-active-hint{margin-top:12px;padding:10px 14px;border-radius:12px;background:rgba(217,180,107,.10);border:1px solid rgba(217,180,107,.28);color:var(--gold-bright);font-size:12.5px;font-weight:600;line-height:1.5;}
.order-list{display:flex;flex-direction:column;gap:8px;margin-top:14px;}
.order-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:linear-gradient(180deg, rgba(18,28,38,.9), rgba(10,16,24,.9));border:1px solid rgba(255,255,255,.06);box-shadow:var(--shadow-md);transition:border-color .2s ease, box-shadow .2s ease;}
.order-row-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.order-row-status{font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:800;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--muted);flex-shrink:0;}
.order-row-status.on{color:#22c55e;background:rgba(34,197,94,.12);}
.order-row-status.off{color:var(--muted-2);}
.order-row-label{font-weight:650;font-size:13.5px;}

.order-controls{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.order-handle{cursor:grab;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:var(--muted);border-radius:9px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;touch-action:none;transition:color .18s ease,border-color .18s ease,background-color .18s ease;flex-shrink:0;}
.order-handle:hover{color:var(--gold-bright);border-color:rgba(217,180,107,.35);background:rgba(217,180,107,.06);}
.order-handle:active{cursor:grabbing;}
.order-arrow-group{display:flex;gap:3px;flex-wrap:wrap;}
.order-arrow-btn{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);color:var(--muted);border-radius:8px;width:26px;height:26px;font-size:11px;display:flex;align-items:center;justify-content:center;transition:color .18s ease,border-color .18s ease,background-color .18s ease,transform .15s ease;}
.order-arrow-btn:hover{color:var(--gold-bright);border-color:rgba(217,180,107,.32);background:rgba(217,180,107,.08);transform:translateY(-1px);}

[data-order-id].order-dragging{opacity:.55;box-shadow:0 0 0 2px rgba(217,180,107,.55), 0 18px 30px rgba(0,0,0,.35);transform:scale(1.012);z-index:20;position:relative;cursor:grabbing;}
[data-order-list].order-dragging-active [data-order-id]{transition:transform .15s ease;}

.order-sort-select{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:7px 10px;font-size:12px;font-weight:600;}
.order-filter-blocked{text-align:left;}

.order-mode-banner{position:fixed;left:50%;bottom:18px;transform:translateX(-50%) translateY(140%);width:min(94vw,720px);background:linear-gradient(180deg, rgba(18,28,38,.98), rgba(10,16,24,.98));border:1px solid rgba(217,180,107,.32);border-radius:16px;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;box-shadow:0 18px 44px rgba(0,0,0,.5);z-index:400;opacity:0;transition:transform .25s cubic-bezier(.2,.9,.3,1.2),opacity .25s ease;pointer-events:none;}
.order-mode-banner.show{transform:translateX(-50%) translateY(0);opacity:1;pointer-events:auto;}
.order-mode-banner .omb-text{display:flex;flex-direction:column;gap:2px;}
.order-mode-banner .omb-text strong{color:var(--gold-bright);font-size:13px;}
.order-mode-banner .omb-text span{color:var(--muted);font-size:11.5px;}
.order-mode-banner .omb-actions{display:flex;gap:8px;flex-wrap:wrap;}

html[data-theme="light"] .order-row{background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,241,231,.92));border-color:rgba(122,85,29,.14);}
html[data-theme="light"] .order-handle,html[data-theme="light"] .order-arrow-btn{background:rgba(255,255,255,.7);border-color:rgba(122,85,29,.18);color:#6d7280;}
html[data-theme="light"] .order-handle:hover,html[data-theme="light"] .order-arrow-btn:hover{color:#7a551d;border-color:rgba(184,137,55,.4);background:rgba(184,137,55,.10);}
html[data-theme="light"] .order-active-hint{background:rgba(184,137,55,.10);border-color:rgba(184,137,55,.30);color:#7a551d;}
html[data-theme="light"] .order-mode-banner{background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(248,241,231,.97));border-color:rgba(184,137,55,.34);}
html[data-theme="light"] .order-mode-banner .omb-text strong{color:#7a551d;}
html[data-theme="light"] .order-sort-select{background:rgba(255,255,255,.8);border-color:rgba(122,85,29,.18);}

@media(max-width:760px){
  .order-mode-banner{flex-direction:column;align-items:stretch;bottom:12px;padding:12px 14px;left:12px;right:12px;transform:translateY(140%);width:auto;}
  .order-mode-banner.show{transform:translateY(0);}
  .order-mode-banner .omb-actions{justify-content:stretch;}
  .order-mode-banner .omb-actions button{flex:1;}
  .order-row{flex-wrap:wrap;}
  .order-controls{justify-content:flex-end;width:100%;}
}


/* ================= V6.23.3 — Relatórios dos Cofrinhos refinados ================= */
/* O histórico deixou de ocupar um módulo inteiro. Ele aparece como uma ação secundária
   na barra dos Cofrinhos, sem competir com Nova reserva e Movimentação. */
.reserva-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end;}
.reserve-history-compact{display:inline-flex;align-items:center;gap:8px;margin-right:2px;}
.reserve-history-link,.reserve-close-month-link{appearance:none;background:transparent;font-family:inherit;cursor:pointer;transition:color .18s ease,border-color .18s ease,background-color .18s ease,opacity .18s ease;}
.reserve-history-link{display:inline-flex;align-items:center;gap:5px;border:0;color:var(--muted-2);padding:6px 3px;font-size:11.5px;font-weight:650;opacity:.72;}
.reserve-history-link span{font-size:14px;line-height:1;}
.reserve-history-link:hover,.reserve-history-link:focus-visible{color:var(--gold-bright);opacity:1;outline:none;}
.reserve-history-divider{width:1px;height:18px;background:rgba(255,255,255,.09);}
.reserve-close-month-link{border:1px solid rgba(217,180,107,.18);color:var(--muted);border-radius:9px;padding:6px 9px;font-size:11px;font-weight:700;}
.reserve-close-month-link:hover,.reserve-close-month-link:focus-visible{color:var(--gold-bright);border-color:rgba(217,180,107,.36);background:rgba(217,180,107,.06);outline:none;}
.reserve-month-closed{display:inline-flex;align-items:center;gap:5px;color:var(--muted-2);font-size:10.5px;font-weight:650;white-space:nowrap;opacity:.72;}
.reserve-month-closed span{color:#22c55e;font-size:11px;}

/* Modal ampla: a antiga regra global max-width:400px continuava limitando o relatório.
   Aqui o max-width é sobrescrito explicitamente e a rolagem fica somente no conteúdo. */
.reserve-report-overlay{padding:18px;background:rgba(0,0,0,.72);backdrop-filter:blur(6px);}
.reserve-report-modal{
  width:min(1180px,calc(100vw - 36px));
  max-width:1180px!important;
  height:min(900px,calc(100vh - 36px));
  max-height:calc(100vh - 36px);
  padding:0!important;
  overflow:hidden!important;
  display:flex;
  flex-direction:column;
  border-radius:22px;
  border-color:rgba(217,180,107,.20);
  box-shadow:0 30px 90px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.035);
}
.reserve-report-modal.is-empty{max-width:720px!important;height:auto;min-height:300px;}
.reserve-report-modal-header{flex:0 0 auto;padding:22px 28px 16px;border-bottom:1px solid rgba(255,255,255,.07);background:linear-gradient(180deg,rgba(18,28,38,.98),rgba(12,20,30,.94));}
.reserve-report-modal-header .modal-head{align-items:flex-start;margin:0;}
.reserve-report-modal-header .modal-head h2{font-size:21px;letter-spacing:-.02em;}
.reserve-report-modal-header .modal-sub{margin:5px 0 0;font-size:12.5px;line-height:1.45;}
.reserve-report-modal-header .modal-head button{flex:0 0 34px;width:34px;height:34px;font-size:23px;}
.reserve-report-picker{display:grid;grid-template-columns:130px minmax(220px,340px);align-items:center;gap:14px;padding:11px 13px;margin:15px 0 0;border-radius:13px;background:rgba(255,255,255,.032);border:1px solid rgba(255,255,255,.07);width:max-content;max-width:100%;}
.reserve-report-picker label{font-size:10.5px;font-weight:850;color:var(--muted);text-transform:uppercase;letter-spacing:.55px;}
.reserve-report-picker select{width:100%;min-width:0;background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:10px 38px 10px 12px;font-weight:750;}
.reserve-report-scroll{flex:1 1 auto;min-height:0;overflow:auto;padding:20px 28px 26px;scrollbar-gutter:stable;}
.reserve-report-empty-body{flex:1 1 auto;padding:30px 28px;display:flex;align-items:center;}
.reserve-report-empty-body .empty-note{width:100%;}
.reserve-report-modal-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 28px;border-top:1px solid rgba(255,255,255,.07);background:rgba(8,14,22,.94);}
.reserve-report-modal-footer>span{color:var(--muted-2);font-size:10.5px;}
.reserve-report-modal-footer .btn{min-width:110px;}

.reserve-report-readonly{min-width:0;}
.reserve-report-lock{display:flex;align-items:center;justify-content:center;text-align:center;padding:9px 12px;margin:0 0 14px;border-radius:11px;color:var(--gold-bright);background:rgba(217,180,107,.075);border:1px solid rgba(217,180,107,.20);font-size:11.5px;font-weight:750;}
.reserve-report-summary{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;}
.reserve-report-summary>div,.reserve-report-flow>div{position:relative;padding:16px 17px;border-radius:16px;background:linear-gradient(180deg,rgba(19,29,40,.94),rgba(11,18,27,.94));border:1px solid rgba(255,255,255,.075);min-width:0;overflow:hidden;}
.reserve-report-summary>div::after{content:"";position:absolute;inset:auto -24px -36px auto;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(217,180,107,.09),transparent 66%);pointer-events:none;}
.reserve-report-summary small,.reserve-report-flow small{display:block;color:var(--muted);font-size:10px;line-height:1.35;margin-bottom:8px;text-transform:uppercase;letter-spacing:.48px;font-weight:750;}
.reserve-report-summary strong{display:block;font-size:clamp(20px,2vw,27px);line-height:1.1;letter-spacing:-.035em;white-space:nowrap;font-variant-numeric:tabular-nums;}
.reserve-report-summary strong span{white-space:nowrap;}
.reserve-report-meta{margin:10px 2px 16px;color:var(--muted-2);font-size:10.5px;text-align:right;}
.reserve-report-flow{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-bottom:18px;}
.reserve-report-flow b{display:block;font-size:15px;white-space:nowrap;font-variant-numeric:tabular-nums;}
.reserve-report-section-title{font-size:12px;text-transform:uppercase;letter-spacing:.65px;color:var(--gold-bright);margin:22px 0 10px;}
.reserve-report-list{display:flex;flex-direction:column;gap:9px;}
.reserve-report-row{display:grid;grid-template-columns:minmax(240px,1.55fr) repeat(3,minmax(150px,.8fr));gap:14px;align-items:center;padding:14px 16px;border-radius:15px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07);}
.reserve-report-name{display:flex;align-items:flex-start;gap:10px;min-width:0;}
.reserve-report-name .dot{margin-top:5px;flex-shrink:0;}
.reserve-report-name div{min-width:0;}
.reserve-report-name strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;}
.reserve-report-name span:not(.dot){display:block;color:var(--muted);font-size:10.5px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.reserve-report-cell{min-width:0;padding-left:2px;}
.reserve-report-cell small{display:block;color:var(--muted-2);font-size:9.5px;text-transform:uppercase;letter-spacing:.4px;margin-bottom:5px;}
.reserve-report-cell b{display:block;font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums;}
.reserve-report-cell b span{white-space:nowrap;}
.reserve-report-cell em{display:block;margin-top:4px;color:var(--muted);font-size:9.5px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.report-state{display:inline-flex!important;width:max-content;max-width:100%;padding:3px 7px;border-radius:999px;margin-top:5px!important;font-size:8.5px!important;font-weight:800;text-transform:uppercase;letter-spacing:.3px;}
.report-state.kept{color:#bbf7d0;background:rgba(34,197,94,.12);}
.report-state.new{color:#bfdbfe;background:rgba(59,130,246,.13);}
.report-state.removed{color:#fecaca;background:rgba(239,68,68,.12);}

html[data-theme="light"] .reserve-history-divider{background:rgba(122,85,29,.16);}
html[data-theme="light"] .reserve-report-modal-header{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,241,231,.96));}
html[data-theme="light"] .reserve-report-modal-footer{background:rgba(248,241,231,.96);}
html[data-theme="light"] .reserve-report-summary>div,
html[data-theme="light"] .reserve-report-flow>div,
html[data-theme="light"] .reserve-report-row{background:rgba(255,255,255,.82);border-color:rgba(122,85,29,.14);}
html[data-theme="light"] .reserve-report-picker{background:rgba(184,137,55,.05);border-color:rgba(122,85,29,.14);}
html[data-theme="light"] .reserve-report-picker select{background:#fff;border-color:rgba(122,85,29,.18);}

@media(max-width:1080px){
  .reserve-report-summary{grid-template-columns:repeat(2,minmax(220px,1fr));}
  .reserve-report-flow{grid-template-columns:repeat(2,minmax(180px,1fr));}
  .reserve-report-row{grid-template-columns:minmax(220px,1.35fr) repeat(3,minmax(130px,.8fr));gap:10px;}
}
@media(max-width:860px){
  .reserva-toolbar-actions{width:100%;justify-content:flex-end;}
  .reserve-history-compact{margin-right:auto;}
  .reserve-report-row{grid-template-columns:1fr 1fr;padding:15px;}
  .reserve-report-name{grid-column:1/-1;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06);}
  .reserve-report-cell{padding:0;}
}
@media(max-width:640px){
  .reserve-report-overlay{padding:8px;}
  .reserve-report-modal{width:calc(100vw - 16px);max-width:none!important;height:calc(100vh - 16px);max-height:calc(100vh - 16px);border-radius:17px;}
  .reserve-report-modal-header{padding:18px 16px 13px;}
  .reserve-report-modal-header .modal-head h2{font-size:18px;}
  .reserve-report-picker{grid-template-columns:1fr;width:100%;gap:7px;margin-top:12px;padding:10px;}
  .reserve-report-scroll{padding:16px 14px 22px;}
  .reserve-report-modal-footer{padding:10px 14px;justify-content:flex-end;}
  .reserve-report-modal-footer>span{display:none;}
  .reserve-report-summary,.reserve-report-flow{grid-template-columns:1fr 1fr;gap:8px;}
  .reserve-report-summary>div,.reserve-report-flow>div{padding:13px;}
  .reserve-report-summary strong{font-size:18px;}
  .reserve-report-row{grid-template-columns:1fr;}
  .reserve-report-name{grid-column:auto;}
  .reserve-history-divider{display:none;}
}
@media(max-width:460px){
  .reserve-history-compact{width:100%;justify-content:flex-end;order:3;margin:2px 0 0;}
  .reserve-report-summary{grid-template-columns:1fr;}
  .reserve-report-summary strong{font-size:22px;}
  .reserve-report-flow{grid-template-columns:1fr 1fr;}
}


/* =====================================================================================
   V6.23.5 — SMARTPHONE MODE
   A mesma base de dados e os mesmos formulários do Modo Pro, com uma casca de navegação
   curta para uso diário. O Modo Pro continua sendo o padrão em telas maiores.
===================================================================================== */
.smart-bottom-nav{display:none;}
.smartphone-home{display:flex;flex-direction:column;gap:14px;max-width:720px;margin:0 auto;}
.smart-balance-hero{
  position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;gap:18px;
  padding:22px;border-radius:22px;border:1px solid rgba(217,180,107,.22);
  background:linear-gradient(145deg,rgba(28,38,49,.98),rgba(10,17,25,.98));
  box-shadow:0 18px 44px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.035);
}
.smart-balance-hero::after{content:"";position:absolute;width:210px;height:210px;right:-90px;top:-100px;border-radius:50%;background:radial-gradient(circle,rgba(217,180,107,.18),transparent 68%);pointer-events:none;}
.smart-balance-hero small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.55px;font-weight:750;margin-bottom:7px;}
.smart-balance-hero strong{display:block;font-size:clamp(28px,8vw,38px);letter-spacing:-.045em;line-height:1.05;white-space:nowrap;font-variant-numeric:tabular-nums;}
.smart-mode-pill{align-self:start;position:relative;z-index:1;padding:6px 9px;border-radius:999px;border:1px solid rgba(217,180,107,.24);background:rgba(217,180,107,.08);color:var(--gold-bright);font-size:8.5px;font-weight:900;letter-spacing:.75px;}
.smart-month-balance{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:14px;padding-top:15px;border-top:1px solid rgba(255,255,255,.07);}
.smart-month-balance small{margin:0;text-transform:none;letter-spacing:0;font-size:11.5px;}
.smart-month-balance b{font-size:15px;white-space:nowrap;}
.smart-month-balance.positive b{color:#22c55e}.smart-month-balance.negative b{color:#ff6b70}
.smart-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.smart-quick-action{display:flex;align-items:center;gap:11px;text-align:left;min-width:0;padding:14px;border-radius:17px;border:1px solid rgba(255,255,255,.075);background:linear-gradient(180deg,rgba(18,27,37,.96),rgba(10,16,24,.96));color:var(--text);box-shadow:0 8px 22px rgba(0,0,0,.18);transition:transform .15s ease,border-color .18s ease,background-color .18s ease;}
.smart-quick-action:active{transform:scale(.985)}
.smart-quick-action:hover{border-color:rgba(217,180,107,.28);background:rgba(217,180,107,.065);}
.smart-quick-icon{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;border-radius:14px;background:rgba(217,180,107,.11);border:1px solid rgba(217,180,107,.18);color:var(--gold-bright);font-size:22px;font-weight:500;}
.smart-quick-action>span:last-child{min-width:0;}
.smart-quick-action strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.smart-quick-action small{display:block;margin-top:3px;color:var(--muted);font-size:9.8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.smart-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.smart-summary-strip button{min-width:0;padding:13px 10px;border-radius:15px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.027);color:var(--text);text-align:left;}
.smart-summary-strip small{display:block;color:var(--muted);font-size:9.5px;margin-bottom:5px;}
.smart-summary-strip strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums;}
.smart-recent-panel{padding:15px!important;}
.smart-recent-list{display:flex;flex-direction:column;gap:3px;}
.smart-recent-row{display:flex;align-items:center;gap:10px;width:100%;padding:11px 4px;border:0;border-bottom:1px solid rgba(255,255,255,.055);background:transparent;color:var(--text);text-align:left;}
.smart-recent-row:last-child{border-bottom:0;}
.smart-recent-type{display:flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;border-radius:11px;font-size:16px;font-weight:900;}
.smart-recent-type.income{background:rgba(34,197,94,.10);color:#4ade80}.smart-recent-type.expense{background:rgba(239,68,68,.10);color:#fb7185}
.smart-recent-info{min-width:0;flex:1;}
.smart-recent-info strong{display:block;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.smart-recent-info small{display:block;color:var(--muted);font-size:9.5px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.smart-recent-value{font-size:11.5px;font-weight:850;white-space:nowrap;font-variant-numeric:tabular-nums;}
.smart-open-pro{align-self:center;border:0;background:transparent;color:var(--muted-2);font-size:10.5px;text-decoration:underline;padding:7px 12px;}
.smart-launch-modal{width:min(560px,calc(100vw - 24px));max-width:560px!important;border-radius:22px;}
.smart-launch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.interface-mode-preview{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.065);}
.interface-mode-preview span{padding:6px 10px;border-radius:999px;color:var(--muted-2);font-size:10px;font-weight:800;}
.interface-mode-preview span.active{background:rgba(217,180,107,.14);color:var(--gold-bright);}

html[data-interface-mode="smartphone"] .shell{display:block;min-height:100vh;}
html[data-interface-mode="smartphone"] .main{width:100%;min-width:0;padding:14px 12px calc(104px + env(safe-area-inset-bottom))!important;}
html[data-interface-mode="smartphone"] .mobile-menu-btn{display:none!important;}
html[data-interface-mode="smartphone"] .topbar{gap:9px;margin-bottom:14px;align-items:center;}
html[data-interface-mode="smartphone"] .topbar-title-row{width:auto;flex:1;align-items:center;}
html[data-interface-mode="smartphone"] .topbar .hello{font-size:10.5px;margin-bottom:2px;}
html[data-interface-mode="smartphone"] .topbar h1{font-size:19px;line-height:1.15;}
html[data-interface-mode="smartphone"] .topbar-title-row + .global-search-wrap{display:none!important;}
html[data-interface-mode="smartphone"] .topbar>div[style*="display:flex"]{width:auto!important;display:flex!important;gap:7px!important;margin-left:auto;}
html[data-interface-mode="smartphone"] .topbar .cloud-status,
html[data-interface-mode="smartphone"] .topbar .bank-filter-btn{display:none!important;}
html[data-interface-mode="smartphone"] .month-nav-wrap{width:auto;grid-column:auto;}
html[data-interface-mode="smartphone"] .month-nav{padding:5px 7px;border-radius:12px;gap:3px;}
html[data-interface-mode="smartphone"] .month-nav button{width:28px;height:28px;}
html[data-interface-mode="smartphone"] .month-nav .mlabel{font-size:10.5px;min-width:84px;}
html[data-interface-mode="smartphone"] .clock-label{display:none;}
html[data-interface-mode="smartphone"] .bell-btn{width:38px!important;min-width:38px;min-height:38px!important;height:38px;padding:0;}
html[data-interface-mode="smartphone"] .sidebar{
  position:fixed!important;top:0!important;bottom:0!important;left:calc(-1 * min(88vw,318px) - 28px)!important;
  width:min(88vw,318px)!important;max-width:318px;height:100dvh!important;z-index:120!important;
  transition:left .24s cubic-bezier(.4,0,.2,1),box-shadow .24s ease!important;box-shadow:none;
  padding-top:calc(16px + env(safe-area-inset-top))!important;padding-bottom:calc(92px + env(safe-area-inset-bottom))!important;
}
html[data-interface-mode="smartphone"] .sidebar.open{left:0!important;box-shadow:18px 0 46px rgba(0,0,0,.48),inset -1px 0 0 rgba(255,255,255,.06);}
html[data-interface-mode="smartphone"] .mobile-menu-close{display:inline-flex!important;}
html[data-interface-mode="smartphone"] .mobile-menu-backdrop{display:block!important;position:fixed;inset:0;z-index:110;border:0;background:rgba(0,0,0,.58);backdrop-filter:blur(5px);opacity:0;pointer-events:none;transition:opacity .24s ease;}
html[data-interface-mode="smartphone"] .mobile-menu-backdrop.show{opacity:1;pointer-events:auto;}
html[data-interface-mode="smartphone"] .smart-bottom-nav{
  display:grid;grid-template-columns:repeat(5,1fr);align-items:end;position:fixed;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:100;
  padding:7px 6px;border-radius:20px;border:1px solid rgba(255,255,255,.09);background:rgba(8,14,21,.94);backdrop-filter:blur(18px);box-shadow:0 18px 48px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.04);
}
html[data-interface-mode="smartphone"] .smart-bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;height:50px;border:0;background:transparent;color:var(--muted-2);border-radius:14px;}
html[data-interface-mode="smartphone"] .smart-bottom-nav button>span{font-size:18px;line-height:1;}
html[data-interface-mode="smartphone"] .smart-bottom-nav button>small{font-size:8.5px;font-weight:750;white-space:nowrap;}
html[data-interface-mode="smartphone"] .smart-bottom-nav button.active{color:var(--gold-bright);background:rgba(217,180,107,.075);}
html[data-interface-mode="smartphone"] .smart-bottom-nav .smart-bottom-launch{height:58px;margin-top:-15px;background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:#151005;border-radius:18px;box-shadow:0 10px 24px rgba(201,164,92,.30);}
html[data-interface-mode="smartphone"] .smart-bottom-nav .smart-bottom-launch>span{font-size:25px;}
html[data-interface-mode="smartphone"] .smart-bottom-nav .smart-bottom-launch>small{font-weight:900;}
html[data-interface-mode="smartphone"] .cloud-status{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;}
html[data-interface-mode="smartphone"] .cards-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
html[data-interface-mode="smartphone"] .card{min-width:0;padding:14px;}
html[data-interface-mode="smartphone"] .card .cval{font-size:clamp(17px,5vw,23px);word-break:normal;overflow-wrap:normal;}
html[data-interface-mode="smartphone"] .grid2,
html[data-interface-mode="smartphone"] .grid2b{grid-template-columns:1fr!important;gap:12px;}
html[data-interface-mode="smartphone"] .tabs{display:flex;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:4px;}
html[data-interface-mode="smartphone"] .tab-btn{white-space:nowrap;flex:0 0 auto;}
html[data-interface-mode="smartphone"] table{font-size:11px;}
html[data-interface-mode="smartphone"] .reserva-grid{grid-template-columns:1fr;}
html[data-interface-mode="smartphone"] .settings-layout{grid-template-columns:1fr;}

html[data-theme="light"][data-interface-mode="smartphone"] .smart-balance-hero,
html[data-theme="light"][data-interface-mode="smartphone"] .smart-quick-action{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,241,231,.93));border-color:rgba(122,85,29,.14);}
html[data-theme="light"][data-interface-mode="smartphone"] .smart-summary-strip button,
html[data-theme="light"][data-interface-mode="smartphone"] .smart-bottom-nav{background:rgba(255,252,246,.94);border-color:rgba(122,85,29,.15);}

html[data-interface-mode="smartphone"] .sidebar{display:flex!important;flex-direction:column!important;overflow:hidden!important;}
html[data-interface-mode="smartphone"] .sb-nav{flex:1 1 auto;overflow-y:auto;min-height:0;padding-bottom:12px;}
html[data-interface-mode="smartphone"] .sb-footer{margin-top:auto!important;flex:0 0 auto;background:inherit;padding-top:12px;padding-bottom:calc(10px + env(safe-area-inset-bottom));}
html[data-interface-mode="smartphone"] .smart-bottom-nav button{padding:0 2px;gap:4px;}
html[data-interface-mode="smartphone"] .smart-bottom-nav button>.smart-nav-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;line-height:1;}
html[data-interface-mode="smartphone"] .smart-bottom-nav button>.smart-nav-icon svg{width:20px;height:20px;display:block;}
html[data-interface-mode="smartphone"] .smart-bottom-nav .smart-bottom-launch>.smart-nav-icon{width:26px;height:26px;}
html[data-interface-mode="smartphone"] .smart-bottom-nav .smart-bottom-launch>.smart-nav-icon svg{width:24px;height:24px;}
html[data-interface-mode="smartphone"] .tabs{width:100%;scrollbar-width:none;}
html[data-interface-mode="smartphone"] .tabs::-webkit-scrollbar{display:none;}
html[data-interface-mode="smartphone"] .tab-btn{padding:12px 14px;}
html[data-interface-mode="smartphone"] .central-toolbar-actions{width:100%;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr) minmax(0,1fr);gap:8px;}
html[data-interface-mode="smartphone"] .central-toolbar-actions>*{width:100%;min-width:0;}
html[data-interface-mode="smartphone"] .central-toolbar-actions select{max-width:100%;text-overflow:ellipsis;}
html[data-interface-mode="smartphone"] .central-mobile-list{display:flex;flex-direction:column;gap:10px;}
html[data-interface-mode="smartphone"] .central-mobile-row{padding:14px;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:rgba(255,255,255,.025);box-shadow:0 8px 20px rgba(0,0,0,.12);}
html[data-interface-mode="smartphone"] .central-mobile-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
html[data-interface-mode="smartphone"] .central-mobile-type{font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-2);}
html[data-interface-mode="smartphone"] .central-mobile-title{font-size:14px;font-weight:800;line-height:1.3;margin-bottom:8px;word-break:break-word;}
html[data-interface-mode="smartphone"] .central-mobile-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
html[data-interface-mode="smartphone"] .central-mobile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
html[data-interface-mode="smartphone"] .central-mobile-grid small{display:block;font-size:9.5px;color:var(--muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em;}
html[data-interface-mode="smartphone"] .central-mobile-grid strong{display:block;font-size:12.5px;line-height:1.3;word-break:break-word;font-variant-numeric:tabular-nums;}
html[data-interface-mode="smartphone"] .central-mobile-actions{display:flex;justify-content:flex-end;margin-top:10px;}
html[data-interface-mode="smartphone"] .central-mobile-actions .tbl-actions{display:flex;justify-content:flex-end;width:100%;}
html[data-interface-mode="smartphone"] .central-mobile-actions .tbl-actions button{min-width:42px;min-height:38px;}

@media(max-width:430px){
  html[data-interface-mode="smartphone"] .central-toolbar-actions{grid-template-columns:1fr;}
  html[data-interface-mode="smartphone"] .central-mobile-grid{grid-template-columns:1fr;}
  html[data-interface-mode="smartphone"] .smart-bottom-nav button>small{font-size:8px;}
  .smart-balance-hero{padding:18px;}
  .smart-quick-grid{grid-template-columns:1fr 1fr;gap:8px;}
  .smart-quick-action{padding:11px 9px;gap:8px;}
  .smart-quick-icon{flex-basis:36px;width:36px;height:36px;border-radius:12px;font-size:19px;}
  .smart-summary-strip{gap:6px;}
  .smart-summary-strip button{padding:11px 7px;}
  .smart-summary-strip strong{font-size:10.5px;}
  .smart-launch-grid{grid-template-columns:1fr;}
}


/* =====================================================================================
   V6.23.7 — BOTÃO VOLTAR DO CELULAR
===================================================================================== */
.smartphone-exit-modal{max-width:420px!important;text-align:center;padding:26px!important;}
.smartphone-exit-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 15px;border-radius:20px;color:var(--gold-bright);background:rgba(217,180,107,.11);border:1px solid rgba(217,180,107,.20);box-shadow:0 12px 28px rgba(0,0,0,.18);}
.smartphone-exit-icon svg{width:34px;height:34px;}
.smartphone-exit-modal h2{margin:0 0 8px;font-size:21px;}
.smartphone-exit-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px;}
.smartphone-exit-actions .btn{width:100%;min-height:44px;}
@media(max-width:430px){
  .smartphone-exit-modal{width:calc(100vw - 28px);padding:22px 18px!important;}
  .smartphone-exit-actions{grid-template-columns:1fr;}
}


/* =====================================================================================
   V6.24.1 — ATALHOS DE SALVAMENTO POR MODO
   Modo Pro: SALVAR DRIVE & LOCAL. Smartphone: somente Salvar e atualizar.
===================================================================================== */
.smart-sidebar-actions,.pro-sidebar-actions{display:none;}

/* Smartphone Mode — mantém apenas Salvar e atualizar */
html[data-interface-mode="smartphone"] .smart-sidebar-actions{
  display:block;flex:0 0 auto;padding:2px 0 10px;border-top:1px solid rgba(255,255,255,.055);
}
html[data-interface-mode="smartphone"] .smart-sidebar-save-reload{
  width:100%;display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:15px;
  border:1px solid rgba(217,180,107,.18);background:rgba(217,180,107,.065);color:var(--text);text-align:left;
  transition:transform .16s ease,background-color .18s ease,border-color .18s ease;
}
html[data-interface-mode="smartphone"] .smart-sidebar-save-reload:active{transform:scale(.985);}
html[data-interface-mode="smartphone"] .smart-sidebar-save-icon{
  display:flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border-radius:13px;
  color:var(--gold-bright);background:rgba(217,180,107,.10);border:1px solid rgba(217,180,107,.18);
}
html[data-interface-mode="smartphone"] .smart-sidebar-save-icon svg{width:22px;height:22px;}
html[data-interface-mode="smartphone"] .smart-sidebar-save-reload strong{display:block;font-size:12.5px;}
html[data-interface-mode="smartphone"] .smart-sidebar-save-reload small{display:block;margin-top:2px;font-size:9px;color:var(--muted);}
html[data-theme="light"][data-interface-mode="smartphone"] .smart-sidebar-actions{border-color:rgba(122,85,29,.13);}
html[data-theme="light"][data-interface-mode="smartphone"] .smart-sidebar-save-reload{background:rgba(184,137,55,.07);border-color:rgba(122,85,29,.17);}

/* Modo Pro / PC — atalho fixo acima do usuário */
html[data-interface-mode="pro"] .pro-sidebar-actions{
  display:block;flex:0 0 auto;padding:2px 0 10px;border-top:1px solid rgba(255,255,255,.055);
}
html[data-interface-mode="pro"] .pro-sidebar-save-drive-local{
  width:100%;display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:15px;
  border:1px solid rgba(217,180,107,.22);color:var(--text);text-align:left;
  background:linear-gradient(180deg,rgba(217,180,107,.16),rgba(217,180,107,.08));
  box-shadow:0 10px 24px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.08);
  transition:transform .16s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,opacity .18s ease;
}
html[data-interface-mode="pro"] .pro-sidebar-save-drive-local:hover{
  transform:translateY(-1px);border-color:rgba(217,180,107,.34);
  box-shadow:0 14px 28px rgba(0,0,0,.22),0 0 0 1px rgba(217,180,107,.05) inset;
}
html[data-interface-mode="pro"] .pro-sidebar-save-drive-local:active{transform:scale(.985);}
html[data-interface-mode="pro"] .pro-sidebar-save-drive-local[disabled]{opacity:.8;pointer-events:none;}
html[data-interface-mode="pro"] .pro-sidebar-save-drive-local.is-saving .pro-sidebar-save-icon{animation:proSidebarPulse .95s ease-in-out infinite alternate;}
html[data-interface-mode="pro"] .pro-sidebar-save-icon{
  display:flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border-radius:13px;
  color:var(--gold-bright);background:rgba(217,180,107,.12);border:1px solid rgba(217,180,107,.20);
}
html[data-interface-mode="pro"] .pro-sidebar-save-icon svg{width:22px;height:22px;}
html[data-interface-mode="pro"] .pro-sidebar-save-drive-local span:last-child{min-width:0;}
html[data-interface-mode="pro"] .pro-sidebar-save-drive-local strong{display:block;font-size:11.5px;line-height:1.25;white-space:nowrap;}
html[data-interface-mode="pro"] .pro-sidebar-save-drive-local small{display:block;margin-top:3px;font-size:9px;color:var(--muted);white-space:nowrap;}
@keyframes proSidebarPulse{from{transform:scale(1)}to{transform:scale(1.045)}}
html[data-theme="light"][data-interface-mode="pro"] .pro-sidebar-actions{border-color:rgba(122,85,29,.13);}
html[data-theme="light"][data-interface-mode="pro"] .pro-sidebar-save-drive-local{
  color:#27313f;background:linear-gradient(180deg,rgba(184,137,55,.16),rgba(184,137,55,.08));
  border-color:rgba(122,85,29,.20);box-shadow:0 10px 24px rgba(90,70,34,.09),inset 0 1px 0 rgba(255,255,255,.58);
}
html[data-theme="light"][data-interface-mode="pro"] .pro-sidebar-save-icon{
  color:#8a5a17;background:rgba(184,137,55,.10);border-color:rgba(122,85,29,.16);
}

/* Modal de Salvar e atualizar (somente Smartphone) */
.smart-save-reload-modal{width:min(430px,calc(100vw - 28px));max-width:430px!important;text-align:center;padding:26px 22px;border-radius:22px;}
.smart-save-reload-icon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;margin:0 auto 14px;border-radius:18px;color:var(--gold-bright);background:rgba(217,180,107,.10);border:1px solid rgba(217,180,107,.20);}
.smart-save-reload-icon svg{width:30px;height:30px;}
.smart-save-reload-modal h2{margin:0 0 8px;}
.smart-save-reload-progress{height:5px;margin:18px 0;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden;}
.smart-save-reload-progress span{display:block;width:38%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--gold-bright));animation:smartSaveProgress 1.05s ease-in-out infinite alternate;}
.smart-save-reload-modal .btn{width:100%;margin-top:4px;}
@keyframes smartSaveProgress{from{transform:translateX(-20%)}to{transform:translateX(185%)}}

/* =====================================================================================
   V6.23.9 — MOBILE EXPERIENCE 2026
   Camada de refinamento exclusiva do Smartphone Mode. Não altera regras financeiras.
===================================================================================== */
:root{
  --borion-vh:100dvh;
  --borion-keyboard:0px;
  --mobile-ease:cubic-bezier(.2,.8,.2,1);
  --mobile-spring:cubic-bezier(.2,1.05,.32,1);
}

html[data-interface-mode="smartphone"]{
  min-height:100%;
  overscroll-behavior-y:none;
  -webkit-tap-highlight-color:transparent;
  scroll-behavior:smooth;
}
html[data-interface-mode="smartphone"] body{
  min-height:var(--borion-vh);
  overscroll-behavior-y:none;
  touch-action:pan-y;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
html[data-interface-mode="smartphone"] #root,
html[data-interface-mode="smartphone"] .shell{min-height:var(--borion-vh);}
html[data-interface-mode="smartphone"] button,
html[data-interface-mode="smartphone"] [role="button"]{touch-action:manipulation;user-select:none;-webkit-user-select:none;}
html[data-interface-mode="smartphone"] input,
html[data-interface-mode="smartphone"] select,
html[data-interface-mode="smartphone"] textarea{font-size:16px!important;}
html[data-interface-mode="smartphone"] button:focus-visible,
html[data-interface-mode="smartphone"] input:focus-visible,
html[data-interface-mode="smartphone"] select:focus-visible,
html[data-interface-mode="smartphone"] textarea:focus-visible{
  outline:none;box-shadow:0 0 0 3px rgba(217,180,107,.28)!important;
}

/* Topo com comportamento de app nativo */
html[data-interface-mode="smartphone"] .topbar{
  position:sticky;top:0;z-index:75;
  margin:-14px -12px 14px!important;
  padding:calc(10px + env(safe-area-inset-top)) 12px 10px;
  background:linear-gradient(180deg,rgba(6,10,16,.92),rgba(6,10,16,.78) 78%,rgba(6,10,16,0));
  backdrop-filter:blur(18px) saturate(1.15);
  -webkit-backdrop-filter:blur(18px) saturate(1.15);
}
html[data-interface-mode="smartphone"] .topbar::after{
  content:"";position:absolute;left:12px;right:12px;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(217,180,107,.14),transparent);
  pointer-events:none;
}
html[data-interface-mode="smartphone"] #view-body{
  animation:mobileContentIn .28s var(--mobile-ease) both;
  view-transition-name:borion-content;
}
@keyframes mobileContentIn{from{opacity:.72;transform:translateY(5px)}to{opacity:1;transform:none}}
::view-transition-old(borion-content){animation:mobileViewOut .16s ease both;}
::view-transition-new(borion-content){animation:mobileViewIn .24s var(--mobile-ease) both;}
@keyframes mobileViewOut{to{opacity:0;transform:translateY(-4px)}}
@keyframes mobileViewIn{from{opacity:0;transform:translateY(7px)}}

/* Cartões, painéis e ações com resposta tátil/visual curta */
html[data-interface-mode="smartphone"] .card,
html[data-interface-mode="smartphone"] .panel-box,
html[data-interface-mode="smartphone"] .smart-quick-action,
html[data-interface-mode="smartphone"] .smart-summary-strip button,
html[data-interface-mode="smartphone"] .central-mobile-row{
  transition:transform .16s var(--mobile-ease),border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
html[data-interface-mode="smartphone"] .is-touching,
html[data-interface-mode="smartphone"] button:active,
html[data-interface-mode="smartphone"] .smart-recent-row:active{
  transform:scale(.975)!important;
}
html[data-interface-mode="smartphone"] .panel-box{
  border-radius:20px;
  box-shadow:0 12px 28px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.025);
}
html[data-interface-mode="smartphone"] .btn,
html[data-interface-mode="smartphone"] .btn-outline,
html[data-interface-mode="smartphone"] .tab-btn{
  min-height:44px;
}
html[data-interface-mode="smartphone"] .smart-recent-row{min-height:54px;}

/* Barra inferior com indicador ativo e safe area real */
html[data-interface-mode="smartphone"] .smart-bottom-nav{
  bottom:max(8px,env(safe-area-inset-bottom));
  padding:8px 7px calc(8px + env(safe-area-inset-bottom));
  border-radius:24px;
  background:linear-gradient(180deg,rgba(13,20,28,.94),rgba(7,12,18,.96));
  border-color:rgba(255,255,255,.11);
  box-shadow:0 20px 55px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.055);
  isolation:isolate;
}
html[data-interface-mode="smartphone"] .smart-bottom-nav button{
  position:relative;overflow:visible;
  transition:color .18s ease,background-color .18s ease,transform .16s var(--mobile-ease);
}
html[data-interface-mode="smartphone"] .smart-bottom-nav button.active::after{
  content:"";position:absolute;bottom:-3px;left:50%;width:4px;height:4px;border-radius:50%;
  background:var(--gold-bright);box-shadow:0 0 10px rgba(232,201,138,.7);transform:translateX(-50%);
}
html[data-interface-mode="smartphone"] .smart-bottom-nav .smart-bottom-launch{
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 14px 30px rgba(201,164,92,.34),inset 0 1px 0 rgba(255,255,255,.28);
}
html[data-interface-mode="smartphone"].keyboard-open .smart-bottom-nav{display:none;}
html[data-interface-mode="smartphone"].keyboard-open .main{padding-bottom:24px!important;}

/* Toasts acima da barra inferior */
html[data-interface-mode="smartphone"] .toast{
  bottom:calc(96px + env(safe-area-inset-bottom));
  width:max-content;max-width:calc(100vw - 28px);
  border-radius:14px;padding:12px 15px;
  background:rgba(15,23,32,.96);backdrop-filter:blur(16px);
  box-shadow:0 16px 38px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.04);
}
html[data-interface-mode="smartphone"] .toast-undo{justify-content:space-between;min-width:min(360px,calc(100vw - 28px));}

/* Popups: heads-up notification com gesto horizontal */
html[data-interface-mode="smartphone"] .floating-notifs{
  top:calc(10px + env(safe-area-inset-top));bottom:auto;left:10px;right:10px;
  align-items:stretch;gap:9px;pointer-events:none;
}
html[data-interface-mode="smartphone"] .floating-notif{
  --swipe-x:0px;--swipe-opacity:1;
  width:100%;min-width:0;max-width:none;
  display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;
  padding:13px 43px 13px 13px;
  border-radius:20px;
  background:linear-gradient(150deg,rgba(24,37,47,.95),rgba(10,18,25,.96));
  border:1px solid rgba(74,222,128,.33);
  backdrop-filter:blur(22px) saturate(1.25);-webkit-backdrop-filter:blur(22px) saturate(1.25);
  box-shadow:0 20px 48px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.06),0 0 22px rgba(34,197,94,.07);
  color:var(--text);pointer-events:auto;touch-action:pan-y;
  transform:translate3d(var(--swipe-x),0,0);opacity:var(--swipe-opacity);
  transition:transform .24s var(--mobile-spring),opacity .18s ease;
  animation:mobileNotifIn .34s var(--mobile-spring) both;
  animation-delay:calc(var(--notif-index,0) * 55ms);
  will-change:transform,opacity;
}
@keyframes mobileNotifIn{from{opacity:0;transform:translate3d(0,-18px,0) scale(.97)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
html[data-interface-mode="smartphone"] .floating-notif.is-swiping{transition:none;}
html[data-interface-mode="smartphone"] .floating-notif.is-swipe-committed{transition:transform .18s ease-in,opacity .14s linear;}
html[data-interface-mode="smartphone"] .floating-notif .fn-icon{
  display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;
  background:rgba(34,197,94,.10);border:1px solid rgba(74,222,128,.18);font-size:20px;
}
html[data-interface-mode="smartphone"] .floating-notif .fn-copy{min-width:0;display:flex;flex-direction:column;gap:2px;}
html[data-interface-mode="smartphone"] .floating-notif .fn-copy strong{font-size:12px;letter-spacing:.01em;}
html[data-interface-mode="smartphone"] .floating-notif .fn-copy span{font-size:12px;line-height:1.35;color:var(--text);}
html[data-interface-mode="smartphone"] .floating-notif .fn-copy small{font-size:9px;color:var(--muted-2);margin-top:2px;}
html[data-interface-mode="smartphone"] .floating-notif .fn-close{top:9px;right:10px;width:32px;height:32px;border-radius:11px;display:flex;align-items:center;justify-content:center;}
html[data-interface-mode="smartphone"] .floating-notif .fn-close:active{background:rgba(255,255,255,.07);}

/* Central de notificações como bottom sheet */
html[data-interface-mode="smartphone"] .notif-panel{
  --notif-sheet-y:0px;
  top:auto!important;left:0!important;right:0!important;bottom:0!important;
  width:100%!important;max-width:none!important;
  max-height:min(82dvh,var(--borion-vh));
  padding:8px 10px calc(14px + env(safe-area-inset-bottom));
  border-radius:26px 26px 0 0;
  border:1px solid rgba(255,255,255,.10);border-bottom:0;
  background:linear-gradient(180deg,rgba(17,26,35,.985),rgba(7,12,18,.99));
  box-shadow:0 -24px 60px rgba(0,0,0,.56),inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);
  transform:translate3d(0,var(--notif-sheet-y),0);
  animation:notifSheetIn .32s var(--mobile-spring) both;
  overflow:hidden;display:flex;flex-direction:column;
}
@keyframes notifSheetIn{from{transform:translate3d(0,104%,0)}to{transform:translate3d(0,0,0)}}
html[data-interface-mode="smartphone"] .notif-panel.is-panel-dragging{transition:none;}
html[data-interface-mode="smartphone"] .notif-panel.is-panel-closing{transition:transform .18s ease-in;}
html[data-interface-mode="smartphone"] body.notif-panel-open::after{
  content:"";position:fixed;inset:0;z-index:240;background:rgba(0,0,0,.46);backdrop-filter:blur(3px);pointer-events:none;animation:overlayIn .18s ease;
}
.notif-panel-handle{display:none;}
html[data-interface-mode="smartphone"] .notif-panel-handle{
  display:flex;align-items:center;justify-content:center;flex:0 0 22px;touch-action:none;cursor:grab;
}
html[data-interface-mode="smartphone"] .notif-panel-handle::before{content:"";width:42px;height:5px;border-radius:999px;background:rgba(255,255,255,.18);}
.notif-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 8px 12px;border-bottom:1px solid rgba(255,255,255,.06);}
.notif-panel-header>div{min-width:0;display:flex;flex-direction:column;gap:2px;}
.notif-panel-header strong{font-size:17px;letter-spacing:-.015em;}
.notif-panel-header small{font-size:10.5px;color:var(--muted);}
.notif-panel-close{width:40px;height:40px;border:0;border-radius:13px;background:rgba(255,255,255,.045);color:var(--muted);font-size:22px;}
.notif-panel-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 8px 8px;}
.notif-panel-tools button{border:0;background:transparent;color:var(--gold-bright);font-size:11px;font-weight:750;padding:7px 0;}
.notif-panel-tools button:disabled{opacity:.4;}
.notif-panel-tools span{font-size:9px;color:var(--muted-2);}
.notif-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:2px 0 6px;}
.notif-swipe-shell{position:relative;overflow:hidden;border-radius:15px;margin:4px 0;background:rgba(239,68,68,.16);}
.notif-delete-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:0 18px;background:linear-gradient(90deg,rgba(239,68,68,.88),rgba(220,38,38,.96));color:#fff;font-size:11px;}
.notif-delete-bg span{font-size:20px;}
.notif-item{
  --swipe-x:0px;--swipe-opacity:1;
  position:relative;z-index:1;margin:0;padding:13px 12px;min-height:72px;
  background:var(--panel);border:1px solid rgba(255,255,255,.055);border-radius:15px;
  transform:translate3d(var(--swipe-x),0,0);opacity:var(--swipe-opacity);touch-action:pan-y;
  transition:transform .24s var(--mobile-spring),opacity .18s ease,background-color .18s ease;
}
.notif-item.is-swiping{transition:none;}
.notif-item.is-swipe-committed{transition:transform .18s ease-in,opacity .14s linear;}
.notif-item.unread{background:linear-gradient(90deg,rgba(201,164,92,.12),rgba(201,164,92,.035));border-color:rgba(201,164,92,.14);}
.notif-item .ni-icon{display:flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border-radius:13px;background:rgba(217,180,107,.09);font-size:17px;}
.notif-item .ni-text{display:flex;flex-direction:column;gap:2px;min-width:0;}
.notif-item .ni-text strong{font-size:12px;color:var(--text);}
.notif-item .ni-text>span{font-size:11.5px;line-height:1.38;color:var(--text);}
.notif-item .ni-text small{font-size:9.5px;color:var(--muted-2);margin-top:2px;}
.notif-item .ni-actions{gap:3px;}
html[data-interface-mode="smartphone"] .notif-item .ni-actions{display:none;}
.notif-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:210px;padding:28px;}
.notif-empty>span{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:18px;background:rgba(34,197,94,.09);color:#4ade80;font-size:25px;}
.notif-empty strong{font-size:14px;color:var(--text);}
.notif-empty small{font-size:10.5px;color:var(--muted);}

/* Modais viram bottom sheets no celular */
html[data-interface-mode="smartphone"] .mobile-sheet-overlay{
  align-items:flex-end!important;justify-content:center!important;padding:0!important;
  background:rgba(0,0,0,calc(.62 * var(--sheet-overlay-opacity,1)));
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
html[data-interface-mode="smartphone"] .mobile-bottom-sheet{
  --sheet-y:0px;
  width:100%!important;max-width:none!important;max-height:min(91dvh,var(--borion-vh))!important;
  margin:0!important;padding:8px 18px calc(18px + env(safe-area-inset-bottom))!important;
  border-radius:27px 27px 0 0!important;border-bottom:0!important;
  transform:translate3d(0,var(--sheet-y),0);
  animation:mobileSheetIn .32s var(--mobile-spring) both!important;
  box-shadow:0 -26px 68px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.055)!important;
  overscroll-behavior:contain;
}
@keyframes mobileSheetIn{from{opacity:.85;transform:translate3d(0,102%,0)}to{opacity:1;transform:translate3d(0,0,0)}}
html[data-interface-mode="smartphone"] .mobile-bottom-sheet.is-sheet-dragging{transition:none!important;animation:none!important;}
html[data-interface-mode="smartphone"] .mobile-bottom-sheet.is-sheet-closing{transition:transform .18s ease-in!important;animation:none!important;}
.mobile-sheet-handle{display:none;}
html[data-interface-mode="smartphone"] .mobile-sheet-handle{
  display:flex;align-items:center;justify-content:center;width:100%;height:24px;margin:0 0 2px;
  border:0;background:transparent;touch-action:none;cursor:grab;
}
html[data-interface-mode="smartphone"] .mobile-sheet-handle span{width:44px;height:5px;border-radius:999px;background:rgba(255,255,255,.18);}
html[data-interface-mode="smartphone"] .mobile-bottom-sheet .modal-head{position:sticky;top:-8px;z-index:2;padding:8px 0 10px;background:linear-gradient(180deg,var(--panel) 78%,transparent);}
html[data-interface-mode="smartphone"] .mobile-bottom-sheet .modal-head h2{font-size:18px;}
html[data-interface-mode="smartphone"] .mobile-bottom-sheet .row-btns{gap:8px;}

/* Estado da conexão */
.mobile-network-banner{display:none;}
html[data-interface-mode="smartphone"] .mobile-network-banner{
  position:fixed;left:50%;top:calc(12px + env(safe-area-inset-top));z-index:390;
  display:grid;grid-template-columns:auto 1fr;column-gap:8px;row-gap:1px;align-items:center;
  width:min(360px,calc(100vw - 28px));padding:10px 13px;border-radius:15px;
  background:rgba(13,20,28,.96);border:1px solid rgba(255,255,255,.08);color:var(--text);
  box-shadow:0 18px 44px rgba(0,0,0,.45);backdrop-filter:blur(18px);
  opacity:0;pointer-events:none;transform:translate(-50%,-18px) scale(.98);
  transition:opacity .2s ease,transform .25s var(--mobile-spring);
}
html[data-interface-mode="smartphone"] .mobile-network-banner.is-visible{opacity:1;transform:translate(-50%,0) scale(1);}
.mobile-network-banner .mnb-dot{grid-row:1/3;width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 12px rgba(255,90,95,.55);}
.mobile-network-banner.is-online .mnb-dot{background:var(--green);box-shadow:0 0 12px rgba(34,197,94,.55);}
.mobile-network-banner strong{font-size:11.5px;}
.mobile-network-banner small{font-size:9px;color:var(--muted);}

/* Tema claro */
html[data-theme="light"][data-interface-mode="smartphone"] .topbar{
  background:linear-gradient(180deg,rgba(248,243,233,.94),rgba(248,243,233,.80) 78%,rgba(248,243,233,0));
}
html[data-theme="light"][data-interface-mode="smartphone"] .floating-notif,
html[data-theme="light"][data-interface-mode="smartphone"] .notif-panel,
html[data-theme="light"][data-interface-mode="smartphone"] .mobile-network-banner{
  background:linear-gradient(160deg,rgba(255,255,255,.97),rgba(246,239,227,.97));
  color:#1b2632;border-color:rgba(122,85,29,.16);box-shadow:0 18px 44px rgba(90,70,34,.18);
}
html[data-theme="light"][data-interface-mode="smartphone"] .notif-item{background:rgba(255,255,255,.95);border-color:rgba(122,85,29,.11);}
html[data-theme="light"][data-interface-mode="smartphone"] .notif-item.unread{background:linear-gradient(90deg,rgba(184,137,55,.12),rgba(255,255,255,.95));}
html[data-theme="light"][data-interface-mode="smartphone"] .mobile-sheet-handle span,
html[data-theme="light"][data-interface-mode="smartphone"] .notif-panel-handle::before{background:rgba(72,57,34,.22);}

/* Acessibilidade: movimento reduzido */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
}

@media(max-width:430px){
  html[data-interface-mode="smartphone"] .floating-notif .fn-copy small{display:none;}
  html[data-interface-mode="smartphone"] .floating-notif{grid-template-columns:38px minmax(0,1fr);padding:12px 40px 12px 12px;border-radius:18px;}
  html[data-interface-mode="smartphone"] .floating-notif .fn-icon{width:38px;height:38px;border-radius:13px;}
  .notif-panel-tools span{display:none;}
  html[data-interface-mode="smartphone"] .mobile-bottom-sheet{padding-left:14px!important;padding-right:14px!important;}
}

/* Compatibilidade do novo conteúdo das notificações também no Modo Pro */
.floating-notif{
  --swipe-x:0px;--swipe-opacity:1;
  display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:11px;
  transform:translate3d(var(--swipe-x),0,0);opacity:var(--swipe-opacity);touch-action:pan-y;
  transition:transform .24s var(--mobile-spring),opacity .18s ease;
}
.floating-notif.is-swiping{transition:none;}
.floating-notif.is-swipe-committed{transition:transform .18s ease-in,opacity .14s linear;}
.floating-notif .fn-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:13px;background:rgba(34,197,94,.10);border:1px solid rgba(74,222,128,.18);font-size:19px;}
.floating-notif .fn-copy{min-width:0;display:flex;flex-direction:column;gap:2px;}
.floating-notif .fn-copy strong{font-size:12.5px;}
.floating-notif .fn-copy span{font-size:12.5px;line-height:1.4;}
.floating-notif .fn-copy small{font-size:9.5px;color:var(--muted-2);margin-top:2px;}
body.notif-panel-open{overflow:hidden;}

/* =====================================================================================
   V6.24.2 — GRADE PERSONALIZÁVEL DAS RESERVAS (MODO PRO)
   A quantidade de colunas e a posição dos Cofrinhos são apenas preferências visuais.
===================================================================================== */
html[data-interface-mode="pro"] .reserva-grid.reserva-layout-custom{
  grid-template-columns:repeat(var(--reserva-cols,3),minmax(var(--reserva-card-min,230px),1fr));
  align-items:stretch;
  overflow-x:auto;
  overflow-y:visible;
  padding:2px 2px 8px;
  scroll-padding-inline:12px;
  scrollbar-width:thin;
  scrollbar-color:rgba(201,164,92,.34) transparent;
}
html[data-interface-mode="pro"] .reserva-grid.reserva-layout-custom::-webkit-scrollbar{height:7px;}
html[data-interface-mode="pro"] .reserva-grid.reserva-layout-custom::-webkit-scrollbar-thumb{background:rgba(201,164,92,.34);border-radius:999px;}
.reserva-grid.reserva-layout-custom>[data-order-id]{min-width:0;height:100%;}
.reserva-grid.reserva-layout-custom>[data-order-id]>.reserva-card{height:100%;}

.reserva-layout-organizer{
  display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  margin:10px 0 14px;padding:14px 16px;border-radius:16px;
  border:1px solid rgba(217,180,107,.24);
  background:linear-gradient(135deg,rgba(217,180,107,.105),rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 12px 26px rgba(0,0,0,.14);
}
.reserva-layout-copy{display:flex;flex-direction:column;gap:3px;min-width:220px;}
.reserva-layout-copy strong{font-size:13px;color:var(--gold-bright);letter-spacing:.01em;}
.reserva-layout-copy span{font-size:11px;color:var(--muted);}
.reserva-column-picker{display:inline-flex;align-items:center;gap:6px;padding:4px;border-radius:12px;background:rgba(8,14,21,.42);border:1px solid rgba(255,255,255,.06);}
.reserva-column-picker>span{font-size:9px;font-weight:900;letter-spacing:.12em;color:var(--muted-2);padding:0 7px;}
.reserva-column-btn{
  width:36px;height:34px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);
  font-size:12px;font-weight:900;transition:transform .16s ease,background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;
}
.reserva-column-btn:hover{color:var(--gold-bright);background:rgba(217,180,107,.08);transform:translateY(-1px);}
.reserva-column-btn.active{color:#151005;background:linear-gradient(180deg,var(--gold-bright),var(--gold));border-color:rgba(255,255,255,.16);box-shadow:0 8px 18px rgba(201,164,92,.24);}

.reserva-grid-organizer{gap:14px!important;user-select:none;}
.reserva-slot{
  position:relative;min-width:0;height:100%;padding:28px 7px 7px;border-radius:20px;
  border:1px dashed rgba(217,180,107,.28);background:rgba(217,180,107,.025);
  transition:border-color .16s ease,background-color .16s ease,box-shadow .18s ease,transform .18s ease;
  cursor:grab;touch-action:pan-y;
}
.reserva-slot:hover{border-color:rgba(217,180,107,.48);background:rgba(217,180,107,.045);}
.reserva-slot:active{cursor:grabbing;}
.reserva-slot::before{
  content:"POSIÇÃO " attr(data-reserva-slot);position:absolute;top:8px;left:12px;
  font-size:8.5px;font-weight:900;letter-spacing:.12em;color:rgba(217,180,107,.68);
}
.reserva-slot .reserva-card-organizer{
  position:relative;border-color:rgba(217,180,107,.16);box-shadow:0 12px 28px rgba(0,0,0,.20);
  transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease,opacity .18s ease;
}
.reserva-slot-toolbar{
  display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06);
}
.reserva-slot-label{font-size:9px;font-weight:900;letter-spacing:.10em;color:var(--gold-bright);}
.reserva-slot-help{font-size:9px;color:var(--muted);margin-left:auto;}
.reserva-slot-handle{width:34px;height:34px;}
.reserva-grid-dragging-active .reserva-slot:not(.reserva-slot-dragging):not(.reserva-slot-target){opacity:.82;}
.reserva-slot-dragging{border-color:rgba(217,180,107,.54);background:rgba(217,180,107,.06);}
.reserva-slot-dragging .reserva-card{opacity:.18;transform:scale(.985);}
.reserva-slot-target{
  border-style:solid;border-color:rgba(217,180,107,.90)!important;background:rgba(217,180,107,.11)!important;
  box-shadow:0 0 0 3px rgba(217,180,107,.10),0 18px 34px rgba(0,0,0,.24);
  transform:translateY(-2px);
}
.reserva-slot-target::after{
  content:"SOLTE AQUI";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:4;
  border-radius:20px;background:rgba(8,14,21,.58);backdrop-filter:blur(3px);
  color:var(--gold-bright);font-size:11px;font-weight:950;letter-spacing:.12em;pointer-events:none;
}
.reserva-drag-ghost{
  position:fixed!important;z-index:1000!important;pointer-events:none!important;margin:0!important;
  opacity:.96;transform-origin:center;box-shadow:0 28px 70px rgba(0,0,0,.48),0 0 0 1px rgba(217,180,107,.38)!important;
  transition:opacity .12s ease!important;will-change:transform,left,top;
}
.reserva-drag-ghost .reserva-slot-toolbar{display:none;}
.reserva-drag-ghost-out{opacity:0!important;}
body.reserva-layout-dragging{cursor:grabbing!important;}
body.reserva-layout-dragging *{cursor:grabbing!important;}

html[data-theme="light"] .reserva-layout-organizer{
  border-color:rgba(122,85,29,.18);background:linear-gradient(135deg,rgba(184,137,55,.13),rgba(255,255,255,.55));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 12px 26px rgba(90,70,34,.07);
}
html[data-theme="light"] .reserva-column-picker{background:rgba(255,255,255,.62);border-color:rgba(122,85,29,.12);}
html[data-theme="light"] .reserva-slot{border-color:rgba(122,85,29,.26);background:rgba(184,137,55,.035);}
html[data-theme="light"] .reserva-slot:hover{border-color:rgba(184,137,55,.50);background:rgba(184,137,55,.07);}
html[data-theme="light"] .reserva-slot-target::after{background:rgba(255,250,242,.74);color:#7a551d;}
html[data-theme="light"] .reserva-slot-toolbar{border-color:rgba(122,85,29,.10);}

html[data-interface-mode="smartphone"] .reserva-grid.reserva-layout-custom{
  grid-template-columns:1fr!important;overflow:visible;padding:0;
}
@media(max-width:900px){
  .reserva-layout-organizer{align-items:stretch;}
  .reserva-column-picker{width:100%;justify-content:flex-end;}
}
@media(prefers-reduced-motion:reduce){
  .reserva-slot,.reserva-card-organizer,.reserva-column-btn,.reserva-drag-ghost{transition:none!important;animation:none!important;}
}

/* =====================================================================================
   V6.24.3 — REVISÃO VISUAL DE IMPORTAÇÃO DE PERFIS
===================================================================================== */
.account-import-review-overlay{padding:18px;align-items:center;}
.account-import-review-modal{
  width:min(1180px,calc(100vw - 36px));max-width:1180px!important;max-height:92vh;
  overflow:auto;padding:24px 26px 22px;border-radius:24px;
}
.account-import-review-modal .modal-head{position:sticky;top:-24px;z-index:4;padding:20px 0 14px;background:linear-gradient(180deg,var(--panel),rgba(13,20,28,.96));backdrop-filter:blur(14px);}
.import-review-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:6px 0 18px;}
.import-review-kpis>div{padding:14px 16px;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:rgba(255,255,255,.025);}
.import-review-kpis small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px;}
.import-review-kpis strong{display:block;font-size:18px;line-height:1.2;}
.import-review-section{margin-top:18px;}
.import-review-title{font-size:14px;font-weight:900;margin-bottom:9px;color:var(--text);}
.import-review-help{margin:-2px 0 10px;color:var(--muted);font-size:11px;line-height:1.45;}
.import-source-card{
  display:grid;grid-template-columns:auto minmax(0,1fr) minmax(240px,330px);align-items:center;gap:14px;
  padding:14px;margin-bottom:9px;border:1px solid rgba(255,255,255,.075);border-radius:17px;background:rgba(255,255,255,.026);
}
.import-profile-avatar .profile-avatar{width:46px;height:46px;font-size:15px;}
.import-source-main{min-width:0;}
.import-source-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;font-weight:850;}
.import-source-meta{margin-top:5px;color:var(--muted);font-size:10.5px;line-height:1.45;word-break:break-word;}
.import-match-badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:rgba(217,180,107,.12);border:1px solid rgba(217,180,107,.2);color:var(--gold-bright);font-size:8.5px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;}
.import-source-action label{display:block;margin-bottom:6px;color:var(--muted);font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;}
.import-source-action select{width:100%;}
.import-current-row{
  display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;
  padding:13px 14px;margin-bottom:8px;border:1px solid rgba(255,255,255,.065);border-radius:15px;background:rgba(255,255,255,.02);transition:border-color .18s ease,background-color .18s ease;
}
.import-current-row.will-replace{border-color:rgba(34,197,94,.25);background:rgba(34,197,94,.045);}
.import-current-row.will-delete{border-color:rgba(239,68,68,.27);background:rgba(239,68,68,.045);}
.import-current-main{display:flex;align-items:center;gap:10px;min-width:0;}
.import-current-main .profile-avatar{width:36px;height:36px;font-size:12px;}
.import-current-main strong{display:block;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.import-current-main small{display:block;margin-top:3px;color:var(--muted);font-size:9.5px;}
.import-current-status{padding:5px 8px;border-radius:999px;background:rgba(148,163,184,.09);color:var(--muted-2);font-size:9.5px;font-weight:800;white-space:nowrap;}
.import-current-row.will-replace .import-current-status{background:rgba(34,197,94,.10);color:#4ade80;}
.import-current-row.will-delete .import-current-status{background:rgba(239,68,68,.10);color:#fb7185;}
.import-delete-toggle{display:flex;align-items:center;gap:7px;font-size:10.5px;color:var(--muted);cursor:pointer;white-space:nowrap;}
.import-delete-toggle input{accent-color:#ef4444;}
.import-plan-summary{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:16px;padding:13px 15px;border-radius:15px;border:1px solid rgba(217,180,107,.19);background:rgba(217,180,107,.065);}
.import-plan-summary strong{font-size:12.5px;}
.import-plan-summary span{font-size:10.5px;color:var(--muted);text-align:right;}
.import-plan-error{margin-top:10px;padding:11px 13px;border-radius:13px;border:1px solid rgba(239,68,68,.22);background:rgba(239,68,68,.07);color:#fb7185;font-size:11px;line-height:1.4;}
.import-review-actions{position:sticky;bottom:-22px;z-index:4;display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding:14px 0 0;background:linear-gradient(0deg,var(--panel),rgba(13,20,28,.94));backdrop-filter:blur(14px);}
html[data-theme="light"] .account-import-review-modal .modal-head{background:linear-gradient(180deg,rgba(255,252,246,.98),rgba(255,252,246,.94));}
html[data-theme="light"] .import-source-card,html[data-theme="light"] .import-current-row,html[data-theme="light"] .import-review-kpis>div{border-color:rgba(122,85,29,.12);background:rgba(255,255,255,.5);}
html[data-theme="light"] .import-review-actions{background:linear-gradient(0deg,rgba(255,252,246,.99),rgba(255,252,246,.94));}
html[data-theme="light"] .import-current-row.will-replace{border-color:rgba(22,163,74,.22);background:rgba(22,163,74,.05);}
html[data-theme="light"] .import-current-row.will-delete{border-color:rgba(220,38,38,.23);background:rgba(220,38,38,.045);}
@media(max-width:820px){
  .account-import-review-overlay{padding:8px;}
  .account-import-review-modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:18px 15px 16px;border-radius:18px;}
  .account-import-review-modal .modal-head{top:-18px;padding-top:14px;}
  .import-review-kpis{grid-template-columns:1fr 1fr;}
  .import-review-kpis>div:last-child{grid-column:1/-1;}
  .import-source-card{grid-template-columns:auto minmax(0,1fr);}
  .import-source-action{grid-column:1/-1;}
  .import-current-row{grid-template-columns:1fr;align-items:start;}
  .import-current-status{justify-self:start;}
  .import-delete-toggle{white-space:normal;}
  .import-plan-summary{align-items:flex-start;flex-direction:column;}
  .import-plan-summary span{text-align:left;}
  .import-review-actions{bottom:-16px;display:grid;grid-template-columns:1fr 1fr;}
}


/* V6.25.0 — histórico automático e resumo personalizável */
.reserve-history-auto{font-size:11px;color:var(--muted);padding:5px 9px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.025)}
.reserve-report-summary>div em,.reserve-report-cell em{display:block;font-size:10px;color:var(--muted);font-style:normal;margin-top:4px}
.reserve-report-evolution-row{grid-template-columns:minmax(210px,1.4fr) repeat(3,minmax(120px,.7fr))}
.summary-pref-list{display:grid;gap:8px;margin:14px 0}
.summary-pref-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--panel-2);cursor:grab}
.summary-pref-row:active{cursor:grabbing}.summary-pref-row label{font-weight:750}.summary-drag{color:var(--gold-bright);font-size:18px;text-align:center}.summary-pref-actions{display:flex;gap:5px}.summary-pref-actions button:disabled{opacity:.3;cursor:not-allowed}
.budget-summary-cards{align-items:stretch}
@media(max-width:760px){.reserve-report-evolution-row{grid-template-columns:1fr 1fr}.reserve-report-name{grid-column:1/-1}.summary-pref-row{grid-template-columns:24px 1fr auto}}


/* V6.26 — lançamento visual, lembrete de reserva e ordenação de categorias */
.payment-source-toggle{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.payment-source-toggle .seg-btn{min-height:42px}
.payment-source-panel{margin:8px 0 14px;padding:12px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.025)}
.payment-source-panel.hidden{display:none!important}
.reserve-reminder-box{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:13px 14px;border:1px solid rgba(201,164,92,.35);border-radius:14px;background:rgba(201,164,92,.07)}
.reserve-reminder-box .btn-outline.active{border-color:var(--gold-bright);color:var(--gold-bright)}
.category-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
.category-panel-head h4{margin:0 0 3px}
.category-order-row{display:flex!important;width:100%;justify-content:space-between;align-items:center;gap:8px}
.category-order-row .order-controls{margin-left:auto}
.cat-tag-list[data-order-list^="cat_"]{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.cat-tag-list[data-order-list^="cat_"] .cat-tag:not(.category-order-row){width:max-content;max-width:100%}
@media(max-width:720px){.payment-source-toggle{grid-template-columns:repeat(2,minmax(0,1fr))}.reserve-reminder-box,.category-panel-head{align-items:stretch;flex-direction:column}.category-panel-head .order-sort-wrap{width:100%}.category-panel-head .order-sort-select{width:100%}}

/* V6.28.0 — organização personalizada dos módulos do Patrimônio */
.patrimony-organize-toolbar{margin:2px 0 12px;}
.patrimony-modules-grid{display:grid;grid-template-columns:repeat(var(--patrimony-columns,2),minmax(0,1fr));gap:18px;align-items:start;}
.patrimony-module-slot{min-width:0;display:flex;flex-direction:column;gap:8px;}
.patrimony-module-slot>.panel-box{height:100%;margin:0;}
.patrimony-module-slot.organizing{padding:8px;border:1px dashed rgba(201,164,92,.42);border-radius:18px;background:rgba(201,164,92,.035);}
.patrimony-slot-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:34px;padding:0 4px;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.08em;}
.patrimony-slot-toolbar .order-controls{margin-left:auto;}
.patrimony-grid-organizer .patrimony-module-slot{cursor:grab;transition:border-color .16s ease,background-color .16s ease,transform .16s ease;}
.patrimony-grid-organizer .patrimony-module-slot:active{cursor:grabbing;}
.patrimony-grid-organizer .patrimony-module-slot.order-dragging{opacity:.62;border-color:var(--gold-bright);transform:scale(.992);}
.patrimony-layout-organizer{margin-bottom:12px;}
.seg-btn-wide{grid-column:1/-1;}
@media(max-width:1050px){.patrimony-modules-grid{gap:14px;}}
@media(max-width:760px){.patrimony-modules-grid{grid-template-columns:1fr!important;}.patrimony-organize-toolbar{align-items:stretch;}.patrimony-organize-toolbar .order-sort-wrap{width:100%;}.patrimony-organize-toolbar .order-sort-select{width:100%;}}
.patrimony-grid-organizer .patrimony-module-slot.patrimony-slot-target{border-color:var(--gold-bright);background:rgba(201,164,92,.10);box-shadow:0 0 0 2px rgba(201,164,92,.10);}

/* ==========================================================================
   V6.30.0 — Integrações inteligentes / aba Vínculos
   ========================================================================== */
.interop-settings-page{display:grid;gap:14px}
.interop-app-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.interop-app-tab{appearance:none;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:16px;padding:15px 16px;text-align:left;display:grid;gap:5px;cursor:pointer;transition:.18s ease}
.interop-app-tab:hover{transform:translateY(-1px);border-color:rgba(204,161,96,.55)}
.interop-app-tab.active{border-color:var(--gold);box-shadow:0 0 0 1px rgba(204,161,96,.18) inset,0 12px 32px rgba(0,0,0,.14)}
.interop-app-tab span{font-weight:800;font-size:14px}
.interop-app-tab small{color:var(--muted);font-size:12px}
.interop-workspace{padding:0;overflow:hidden}
.interop-workspace-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px 13px}
.interop-workspace-head h3{margin:0 0 4px}
.interop-workspace-head .desc{margin:0}
.interop-subtabs{display:flex;gap:4px;padding:0 20px;border-bottom:1px solid var(--border)}
.interop-subtabs button{appearance:none;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);padding:11px 16px;font-weight:750;cursor:pointer}
.interop-subtabs button.active{color:var(--text);border-bottom-color:var(--gold)}
.interop-pane{padding:20px}
.interop-empty{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;border:1px dashed var(--border);border-radius:16px;padding:24px;background:rgba(255,255,255,.015)}
.interop-empty h4,.interop-links-intro h4{margin:0;font-size:16px}
.interop-empty p,.interop-links-intro p{margin:0;color:var(--muted);max-width:720px;line-height:1.55}
.interop-empty-icon{font-size:34px;color:var(--gold)}
.interop-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:14px}
.interop-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.interop-status-grid>div{border:1px solid var(--border);border-radius:13px;padding:12px;background:rgba(255,255,255,.02);display:grid;gap:5px}
.interop-status-grid span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.interop-status-grid strong{font-size:13px}
.interop-sync-box{margin-top:12px;line-height:1.6}
.interop-deletion-toggle{display:flex;align-items:flex-start;gap:11px;margin-top:12px;padding:12px 14px;border:1px solid var(--border);border-radius:13px;background:rgba(255,255,255,.02);cursor:pointer}
.interop-deletion-toggle input{margin-top:3px;width:17px;height:17px;accent-color:var(--gold);cursor:pointer;flex:none}
.interop-deletion-toggle span{font-size:12.5px;line-height:1.55;color:var(--text)}
.interop-deletion-toggle small{color:var(--muted);font-weight:400}
.interop-next-step{margin-top:14px;border:1px solid rgba(204,161,96,.35);background:rgba(204,161,96,.08);border-radius:12px;padding:12px 14px;color:var(--text);font-size:13px}
.interop-links-pane{display:grid;gap:14px}
.interop-links-intro{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:4px}
.interop-map-section{border:1px solid var(--border);border-radius:16px;padding:15px;background:rgba(255,255,255,.015);display:grid;gap:9px}
.interop-map-section h5{margin:0;font-size:14px}
.interop-map-section>p{margin:-3px 0 4px;color:var(--muted);font-size:12px;line-height:1.45}
.interop-map-row{display:grid;grid-template-columns:minmax(160px,1fr) 34px minmax(220px,1.2fr);gap:10px;align-items:end;border-top:1px solid var(--border);padding-top:10px}
.interop-map-row:first-of-type{border-top:0}
.interop-map-row-category,.interop-map-row-payment{grid-template-columns:minmax(150px,1fr) 34px minmax(190px,1.1fr) minmax(190px,1.1fr)}
.interop-source-value{display:grid;gap:4px;min-height:42px;align-content:center}
.interop-source-value small,.interop-map-row label small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.055em;margin-bottom:5px}
.interop-source-value strong{font-size:13px;word-break:break-word}
.interop-map-row label{min-width:0}
.interop-map-row select,.interop-map-row input{width:100%}
.interop-arrow{text-align:center;color:var(--gold);font-size:18px;padding-bottom:10px}
.interop-map-empty{color:var(--muted);font-size:12px;padding:8px 0}
.interop-save-bar{position:sticky;bottom:0;z-index:3;display:flex;justify-content:flex-end;gap:10px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--card);box-shadow:0 -10px 24px rgba(0,0,0,.15)}
.interop-rule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.interop-rule-grid>div{display:grid;gap:5px;border:1px solid var(--border);border-radius:12px;padding:12px;background:rgba(255,255,255,.015)}
.interop-rule-grid b{font-size:12px;color:var(--gold)}
.interop-rule-grid span{font-size:12px;color:var(--muted);line-height:1.45}
.interop-native-notice{margin-bottom:12px;line-height:1.5}
.interop-delete-modal{max-width:520px}
.interop-delete-choice{width:100%;text-align:left;border:1px solid var(--border);background:rgba(255,255,255,.025);color:var(--text);border-radius:14px;padding:14px;margin:0 0 10px;display:grid;gap:5px;cursor:pointer}
.interop-delete-choice:hover{border-color:rgba(204,161,96,.65);background:rgba(204,161,96,.07)}
.interop-delete-choice.danger:hover{border-color:rgba(239,68,68,.7);background:rgba(239,68,68,.08)}
.interop-delete-choice strong{font-size:13px}
.interop-delete-choice span{color:var(--muted);font-size:12px;line-height:1.45}
.pill.warn{color:#f0bf63;background:rgba(240,191,99,.12);border-color:rgba(240,191,99,.35)}

@media(max-width:900px){
  .interop-status-grid,.interop-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .interop-map-row,.interop-map-row-category,.interop-map-row-payment{grid-template-columns:1fr}
  .interop-arrow{display:none}
}
@media(max-width:620px){
  .interop-app-tabs,.interop-status-grid,.interop-rule-grid{grid-template-columns:1fr}
  .interop-workspace-head,.interop-links-intro{align-items:flex-start;flex-direction:column}
  .interop-subtabs{padding:0 12px}
  .interop-pane{padding:14px}
  .interop-save-bar{align-items:stretch;flex-direction:column}
  .interop-save-bar button{width:100%}
}

/* ========================================================================== 
   V6.32.2 — revisão geral, saúde financeira e grade dinâmica
   ========================================================================== */
.date-sort-toggle{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:7px 10px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.025);color:var(--text);font-size:12px;font-weight:750;cursor:pointer;transition:.16s ease}
.date-sort-toggle:hover{border-color:rgba(204,161,96,.6);background:rgba(204,161,96,.06)}
.date-sort-toggle>span:first-child{color:var(--gold-bright);font-size:15px;line-height:1}.date-sort-label{white-space:nowrap}
.financial-health-panel{min-width:0}.financial-health-copy{margin:-3px 0 13px;color:var(--muted);font-size:12px;line-height:1.5}
.financial-health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.health-analysis-card{min-width:0;border:1px solid var(--border);border-radius:15px;padding:13px;background:rgba(255,255,255,.018);display:grid;gap:11px}
.health-analysis-card.excellent{border-color:rgba(57,184,120,.42)}.health-analysis-card.good{border-color:rgba(79,151,228,.38)}.health-analysis-card.attention{border-color:rgba(240,191,99,.43)}.health-analysis-card.critical{border-color:rgba(239,68,68,.43)}
.health-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.health-card-head small{display:block;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.08em}.health-card-head h4{margin:4px 0 0;font-size:13px}
.health-score{display:grid;grid-template-columns:auto auto;align-items:baseline;justify-items:end;column-gap:2px}.health-score strong{font-size:24px;line-height:1}.health-score span{font-size:10px;color:var(--muted)}.health-score em{grid-column:1/-1;margin-top:3px;font-style:normal;font-size:10px;font-weight:850;color:var(--gold-bright)}
.health-progress{height:5px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}.health-progress span{display:block;height:100%;border-radius:inherit;background:var(--gold)}
.health-analysis-card.excellent .health-progress span{background:#39b878}.health-analysis-card.good .health-progress span{background:#4f97e4}.health-analysis-card.attention .health-progress span{background:#f0bf63}.health-analysis-card.critical .health-progress span{background:#ef4444}
.health-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.health-metrics>div,.health-ratios>div{border:1px solid var(--border);border-radius:10px;padding:8px;background:rgba(255,255,255,.018);display:grid;gap:3px}.health-metrics span,.health-ratios span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.health-metrics b,.health-ratios b{font-size:11px;overflow-wrap:anywhere}.health-metrics b.negative,.health-ratios b.negative{color:#ef7b7b}
.health-ratios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.health-findings{display:grid;gap:5px}.health-findings p{margin:0;padding:7px 8px;border-radius:9px;font-size:10px;line-height:1.38}.health-findings .positive{background:rgba(57,184,120,.08);color:#8bd4ad}.health-findings .warning{background:rgba(240,191,99,.08);color:#f0c979}
.module-layout-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:2px 0 12px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.018)}.module-layout-toolbar.active{border-color:rgba(204,161,96,.42);background:rgba(204,161,96,.045)}
.module-layout-toolbar>div:first-child{display:grid;gap:3px}.module-layout-toolbar strong{font-size:13px}.module-layout-toolbar span{font-size:11px;color:var(--muted)}.module-layout-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.module-column-picker{display:flex;align-items:center;gap:4px;padding:3px;border:1px solid var(--border);border-radius:10px}.module-column-picker>span{padding:0 5px;font-size:8px;font-weight:900;letter-spacing:.06em}.module-column-picker button{appearance:none;border:0;border-radius:7px;background:transparent;color:var(--muted);min-width:27px;height:27px;cursor:pointer;font-weight:800}.module-column-picker button.active{background:var(--gold);color:#1b1711}
.module-layout-grid,.patrimony-modules-grid{display:grid;grid-template-columns:repeat(var(--module-columns,4),minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:8px;gap:8px;align-items:start}
.module-layout-slot{grid-column:span min(var(--module-span,2),var(--module-columns,4));min-width:0;position:relative}.module-layout-content{min-width:0}.module-layout-content>.panel-box{height:100%;margin:0;box-sizing:border-box}
.module-layout-slot.organizing{padding:7px;border:1px dashed rgba(204,161,96,.45);border-radius:16px;background:rgba(204,161,96,.025)}.module-slot-toolbar{display:flex;align-items:center;gap:5px;height:36px;padding:0 2px;color:var(--muted);font-size:9px;font-weight:850}.module-slot-toolbar>span{white-space:nowrap}.module-slot-toolbar button{appearance:none;border:1px solid var(--border);border-radius:7px;background:rgba(255,255,255,.025);color:var(--text);height:25px;min-width:25px;padding:0 6px;cursor:pointer;font-size:10px}.module-slot-toolbar button:hover{border-color:var(--gold)}.module-drag-handle{cursor:grab!important;font-size:16px!important}.module-dragging{opacity:.58;transform:scale(.992)}.module-drop-target{border-color:var(--gold-bright)!important;background:rgba(204,161,96,.11)!important;box-shadow:0 0 0 2px rgba(204,161,96,.09)}
@media(max-width:1050px){.financial-health-grid{grid-template-columns:1fr}.module-layout-grid,.patrimony-modules-grid{--module-columns:2!important}.module-layout-slot{grid-column:span min(var(--module-span,2),2)}}
@media(max-width:760px){.date-sort-label{display:none}.financial-health-grid,.health-metrics,.health-ratios{grid-template-columns:1fr}.module-layout-toolbar{align-items:stretch;flex-direction:column}.module-layout-actions{justify-content:flex-start}.module-layout-grid,.patrimony-modules-grid{display:grid!important;grid-template-columns:1fr!important;grid-auto-rows:auto!important;gap:12px}.module-layout-slot{grid-column:1!important;grid-row:auto!important}.module-layout-content{height:auto!important;overflow:visible!important}.module-slot-toolbar{flex-wrap:wrap;height:auto;min-height:38px}}
.interop-map-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.interop-map-legend>div{border:1px solid var(--border);border-radius:14px;padding:12px 14px;display:grid;gap:4px}.interop-map-legend .origin{background:rgba(79,151,228,.055);border-color:rgba(79,151,228,.24)}.interop-map-legend .destination{background:rgba(204,161,96,.055);border-color:rgba(204,161,96,.28)}.interop-map-legend small{font-size:9px;font-weight:900;letter-spacing:.08em;color:var(--muted)}.interop-map-legend b{font-size:13px}.interop-map-legend span{font-size:11px;color:var(--muted);line-height:1.4}
.interop-source-value .interop-source-code{display:block;margin-top:2px;color:var(--muted);font-size:10px;line-height:1.35;word-break:break-word}.interop-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.interop-field-preview{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr);gap:10px;border:1px solid var(--border);border-radius:11px;padding:9px 10px;background:rgba(255,255,255,.015)}.interop-field-preview>div{display:grid;gap:3px;min-width:0}.interop-field-preview small{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.045em}.interop-field-preview strong,.interop-field-preview span{font-size:11px;overflow-wrap:anywhere}
@media(max-width:760px){.interop-map-legend,.interop-field-grid{grid-template-columns:1fr}.interop-field-preview{grid-template-columns:1fr}.interop-map-row,.interop-map-row-category,.interop-map-row-payment{grid-template-columns:1fr}.interop-arrow{transform:rotate(90deg);padding:0}.interop-save-bar{position:static;flex-direction:column}.interop-save-bar button{width:100%}}


/* ========================================================================== 
   V6.32.2 — ordenação sutil e linhas padronizadas de lançamentos
   ========================================================================== */
.date-sort-toggle{
  width:34px;height:34px;min-width:34px;min-height:34px;padding:0;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid transparent;border-radius:10px;background:transparent;
  color:var(--muted);box-shadow:none;cursor:pointer;
  transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .16s ease;
}
.date-sort-toggle:hover,.date-sort-toggle:focus-visible{
  color:var(--gold-bright);background:rgba(204,161,96,.075);
  border-color:rgba(204,161,96,.24);outline:none;
}
.date-sort-toggle:active{transform:translateY(1px)}
.date-sort-toggle>span:first-child{font-size:17px;line-height:1;font-weight:850;color:currentColor}

.budget-launch-table tbody td{vertical-align:middle}
.budget-launch-table td.tbl-actions{display:table-cell;text-align:right;vertical-align:middle;white-space:nowrap}
.budget-launch-table .launch-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:2px}
.launch-name-cell{min-width:0;display:grid;gap:3px;align-content:center}
.launch-name-main{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}
.launch-name-text{font-weight:650;color:var(--text);overflow-wrap:anywhere}
.launch-location-inline,.launch-destination-inline{
  display:inline-flex;align-items:center;max-width:100%;padding:2px 7px;border-radius:999px;
  font-size:10.5px;line-height:1.35;font-weight:700;white-space:normal;
}
.launch-location-inline{color:var(--muted);background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.055)}
.launch-destination-inline{color:var(--gold-bright);background:rgba(204,161,96,.075);border:1px solid rgba(204,161,96,.15)}
.launch-source-line{font-size:10.5px;line-height:1.35;color:var(--muted);font-weight:650;overflow-wrap:anywhere}
.launch-recurrence{font-size:10px;line-height:1.35;color:var(--muted-2);overflow-wrap:anywhere}
.launch-meta-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:1px}
.launch-meta-chip{display:inline-flex;align-items:center;padding:2px 6px;border-radius:999px;font-size:9.5px;line-height:1.3;color:var(--muted);background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.045)}
html[data-theme="light"] .launch-location-inline,html[data-theme="light"] .launch-meta-chip{background:rgba(122,85,29,.035);border-color:rgba(122,85,29,.10)}
html[data-theme="light"] .launch-destination-inline{background:rgba(184,137,55,.075);border-color:rgba(184,137,55,.18)}

html[data-interface-mode="smartphone"] .date-sort-toggle{width:36px!important;min-width:36px!important;justify-self:center}
html[data-interface-mode="smartphone"] .budget-launch-table{
  width:100%;
  min-width:0;
  table-layout:fixed;
}
html[data-interface-mode="smartphone"] .budget-launch-table th,
html[data-interface-mode="smartphone"] .budget-launch-table td{
  padding:9px 6px;
  word-break:break-word;
  overflow-wrap:anywhere;
}
html[data-interface-mode="smartphone"] .budget-launch-table th:first-child,
html[data-interface-mode="smartphone"] .budget-launch-table td:first-child{
  width:56px;
}
html[data-interface-mode="smartphone"] .budget-launch-table th:last-child,
html[data-interface-mode="smartphone"] .budget-launch-table td:last-child{
  width:44px;
}
html[data-interface-mode="smartphone"] .budget-launch-table th:nth-child(3),
html[data-interface-mode="smartphone"] .budget-launch-table td:nth-child(3){
  display:none;
}
html[data-interface-mode="smartphone"] .budget-launch-table th:nth-child(4),
html[data-interface-mode="smartphone"] .budget-launch-table td:nth-child(4){
  width:88px;
  text-align:right;
}
html[data-interface-mode="smartphone"] .budget-launch-table .launch-name-main{
  align-items:flex-start;
  gap:5px;
}
html[data-interface-mode="smartphone"] .budget-launch-table .launch-name-text{
  line-height:1.3;
}
html[data-interface-mode="smartphone"] .budget-launch-table .launch-source-line,
html[data-interface-mode="smartphone"] .budget-launch-table .launch-meta-row{
  margin-top:3px;
}
html[data-interface-mode="smartphone"] .panel-box{
  padding:16px;
  overflow:hidden;
}
html[data-interface-mode="smartphone"] .tabs{
  gap:4px;
  padding:4px;
  max-width:100%;
}
html[data-interface-mode="smartphone"] .tab-btn{
  padding:10px 12px;
  font-size:12px;
}
html[data-interface-mode="smartphone"] .donut-wrap{
  width:100%;
  max-width:100%;
  align-items:center;
  overflow:hidden;
}
html[data-interface-mode="smartphone"] .donut-hole-wrap{
  width:min(190px, calc(100vw - 88px));
  height:min(190px, calc(100vw - 88px));
  max-width:100%;
  margin:0 auto 8px;
}
html[data-interface-mode="smartphone"] .donut-svg{
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
}
html[data-interface-mode="smartphone"] .legend{
  width:100%;
  max-width:100%;
}
html[data-interface-mode="smartphone"] .legend-item{
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr);
  column-gap:8px;
  row-gap:2px;
  align-items:center;
}
html[data-interface-mode="smartphone"] .legend-item .ln{
  min-width:0;
  overflow-wrap:anywhere;
}
html[data-interface-mode="smartphone"] .legend-item .lv{
  grid-column:2 / 4;
  justify-self:start;
}


/* ================= V6.33.1 — Configurações refinadas, modo de interface segmentado,
   padronização visual da ordenação e bloco flutuante de Anotações ================= */
.settings-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.settings-feature-card,.backup-highlight-card,.backup-card-compact{position:relative;overflow:hidden;}
.settings-feature-card::before,.backup-highlight-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at top right, rgba(201,164,92,.09), transparent 42%);}
.settings-mini-status{margin-top:10px;font-size:12px;line-height:1.55;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.03);color:var(--muted);}
.settings-mini-status.on{color:#83e6ba;border-color:rgba(34,197,94,.22);background:rgba(34,197,94,.09);}
.settings-mini-status.off{color:var(--muted);}
.settings-inline-subtitle{margin-top:10px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);font-weight:800;}
.order-option-legend{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:10px;}
.order-option-chip{display:flex;align-items:center;gap:10px;padding:12px 13px;border-radius:14px;border:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg, rgba(18,28,38,.9), rgba(10,16,24,.9));box-shadow:var(--shadow-md);font-size:12px;font-weight:650;line-height:1.35;}
.order-option-ic{min-width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:var(--gold-bright);font-weight:900;}
.order-option-ic svg{width:16px;height:16px;display:block;}
.summary-inline-check{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:600;}
.summary-inline-check input{accent-color:var(--gold-bright);}
.summary-order-row .order-row-main{justify-content:space-between;row-gap:8px;flex:1;}
.summary-order-row .order-row-label{min-width:180px;}
.interface-mode-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:10px;}
.interface-segmented{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden;background:rgba(10,16,24,.78);box-shadow:var(--shadow-md);min-width:min(100%,420px);}
.interface-segment{border:none;background:transparent;color:var(--muted);padding:14px 18px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px;font-weight:750;cursor:pointer;transition:background-color .2s ease,color .2s ease, box-shadow .2s ease;}
.interface-segment + .interface-segment{border-left:1px solid rgba(255,255,255,.06);}
.interface-segment.active{background:linear-gradient(180deg, rgba(26,44,66,.95), rgba(15,26,39,.96));color:var(--text);box-shadow:inset 0 0 0 1px rgba(92,148,255,.18),0 0 0 1px rgba(92,148,255,.10);}
.interface-segment svg{flex-shrink:0;}
.pro-pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:900;background:rgba(201,164,92,.22);color:var(--gold-bright);border:1px solid rgba(201,164,92,.26);}
.interface-auto-button{border:1px solid rgba(255,255,255,.08);background:rgba(10,16,24,.8);color:var(--muted);border-radius:16px;padding:14px 20px;font-size:13px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:var(--shadow-md);transition:all .2s ease;}
.interface-auto-button.active{background:linear-gradient(180deg, rgba(26,44,66,.95), rgba(15,26,39,.96));color:var(--text);border-color:rgba(92,148,255,.18);box-shadow:inset 0 0 0 1px rgba(92,148,255,.18),0 10px 26px rgba(0,0,0,.24);}
.interface-mode-footnote{margin-top:12px;color:var(--muted);font-size:12px;line-height:1.6;}
.sync-action-btn{display:inline-flex;align-items:center;gap:9px;}
.sync-action-btn svg{width:18px;height:18px;flex-shrink:0;}
.backup-action-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.floating-notes-host{pointer-events:none;}
.floating-notes-host>*{pointer-events:auto;}
.floating-note-bubble,.floating-note-panel{position:fixed;z-index:160;}
.floating-note-bubble,.floating-note-panel{transition:top .32s cubic-bezier(.22,.85,.32,1.15),left .32s cubic-bezier(.22,.85,.32,1.15),right .32s cubic-bezier(.22,.85,.32,1.15),bottom .32s cubic-bezier(.22,.85,.32,1.15);}
.floating-notes-host.dragging .floating-note-bubble,.floating-notes-host.dragging .floating-note-panel{transition:none!important;}
.floating-note-panel{display:flex;flex-direction:column;min-width:280px;min-height:200px;border-radius:20px;padding:14px;border:1px solid rgba(201,164,92,.28);background:linear-gradient(180deg, rgba(11,18,29,.96), rgba(7,12,20,.98));box-shadow:0 20px 46px rgba(0,0,0,.42), 0 0 0 1px rgba(255,255,255,.03) inset;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.floating-note-panel.resizing{transition:none!important;}
.floating-note-panel.hidden{display:none;}
.floating-note-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;cursor:grab;touch-action:none;flex:0 0 auto;}
.floating-note-header:active{cursor:grabbing;}
.floating-note-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:800;color:var(--gold-bright);}
.floating-note-title svg{width:18px;height:18px;}
.floating-note-header-actions{display:flex;gap:8px;align-items:center;}
.floating-note-icon-btn{border:1px solid rgba(201,164,92,.24);background:rgba(201,164,92,.10);color:var(--gold-bright);border-radius:10px;padding:8px 10px;font-size:12px;font-weight:800;}
.floating-note-textarea{flex:1 1 auto;width:100%;min-height:0;resize:none;border-radius:16px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.03);padding:14px 15px;color:var(--text);font-size:13px;line-height:1.65;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.03);scrollbar-width:thin;scrollbar-color:rgba(201,164,92,.35) transparent;}
.floating-note-textarea::-webkit-scrollbar{width:6px;height:6px;}
.floating-note-textarea::-webkit-scrollbar-thumb{background:rgba(201,164,92,.35);border-radius:999px;}
.floating-note-textarea::-webkit-scrollbar-track{background:transparent;}
.floating-note-textarea::placeholder{color:var(--muted-2);}
.floating-note-textarea:focus{border-color:rgba(201,164,92,.34);box-shadow:0 0 0 3px rgba(201,164,92,.08);}
.floating-note-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:10px;color:var(--muted);font-size:11px;line-height:1.5;flex:0 0 auto;}
.floating-note-drag-tip{color:var(--gold-bright);font-weight:700;}
.floating-note-resize-grip{position:absolute;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:rgba(201,164,92,.5);touch-action:none;border-radius:8px;transition:color .15s ease,background-color .15s ease;}
.floating-note-resize-grip:hover{color:var(--gold-bright);background:rgba(201,164,92,.10);}
.floating-note-bubble{width:60px;height:60px;border:none;border-radius:999px;background:linear-gradient(180deg,#d3b173,#c79c50);color:var(--gold-text);display:flex;align-items:center;justify-content:center;box-shadow:0 16px 34px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.14) inset;cursor:pointer;touch-action:none;}
.floating-note-bubble svg{width:22px;height:22px;}
.floating-note-bubble:active{transform:scale(.94);}
html[data-theme="light"] .order-option-chip{background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,241,231,.92));border-color:rgba(122,85,29,.14);}
html[data-theme="light"] .order-option-ic{background:rgba(184,137,55,.10);border-color:rgba(122,85,29,.16);color:#7a551d;}
html[data-theme="light"] .interface-segmented,html[data-theme="light"] .interface-auto-button{background:rgba(255,255,255,.78);border-color:rgba(122,85,29,.16);}
html[data-theme="light"] .interface-segment.active,html[data-theme="light"] .interface-auto-button.active{background:linear-gradient(180deg, rgba(241,247,255,.95), rgba(235,242,250,.96));color:#203043;box-shadow:inset 0 0 0 1px rgba(92,148,255,.18),0 10px 26px rgba(31,52,84,.08);}
html[data-theme="light"] .floating-note-panel{background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(248,241,231,.98));border-color:rgba(184,137,55,.28);}
html[data-theme="light"] .floating-note-textarea{background:rgba(255,255,255,.76);border-color:rgba(122,85,29,.14);color:#1f2f40;}
@media(max-width:980px){.order-option-legend{grid-template-columns:repeat(2,minmax(0,1fr));}.summary-order-row .order-row-main{justify-content:flex-start;}}
@media(max-width:760px){.interface-mode-row{align-items:stretch;}.interface-segmented{min-width:0;width:100%;}.interface-auto-button{width:100%;}.order-option-legend{grid-template-columns:1fr;}.floating-note-footer{flex-direction:column;align-items:flex-start;}.summary-order-row .order-row-main{min-width:100%;}}

/* ---------- V6.33.5 — Atualização de rendimento pelo saldo total da reserva ---------- */
.reserva-actions{flex-wrap:wrap;}
.reserva-actions .reserva-yield-card-btn{
  color:#8ff0b2;
  border-color:rgba(34,197,94,.24);
  background:rgba(34,197,94,.07);
}
.reserva-actions .reserva-yield-card-btn:hover{
  color:#b9f7ce;
  border-color:rgba(34,197,94,.42);
  background:rgba(34,197,94,.12);
  box-shadow:0 8px 18px rgba(10,80,42,.18);
}
.reserve-yield-modal{max-width:440px;padding:23px;overflow-x:hidden;}
.reserve-yield-last{
  margin:14px 0 12px;
  padding:12px 13px;
  border:1px solid rgba(217,180,107,.16);
  border-radius:13px;
  background:linear-gradient(180deg,rgba(217,180,107,.065),rgba(255,255,255,.018));
}
.reserve-yield-last>span,.reserve-yield-balance>span,.reserve-yield-result>span{
  display:block;
  margin-bottom:7px;
  color:var(--muted);
  font-size:10.5px;
  font-weight:850;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.reserve-yield-last-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.reserve-yield-last-grid>div{
  min-width:0;
  padding:9px 10px;
  border-radius:10px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.055);
}
.reserve-yield-last-grid small{display:block;color:var(--muted);font-size:10.5px;margin-bottom:3px;}
.reserve-yield-last-grid strong{display:block;color:var(--text);font-size:13px;overflow-wrap:anywhere;}
.reserve-yield-empty{color:var(--muted);font-size:12.5px;padding:3px 0;}
.reserve-yield-balance{
  display:flex;
  flex-direction:column;
  margin-bottom:12px;
  padding:12px 13px;
  border-radius:13px;
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.028);
}
.reserve-yield-balance strong{font-size:20px;color:var(--gold-bright);letter-spacing:-.02em;}
.reserve-yield-balance small{margin-top:3px;color:var(--muted);font-size:11.5px;overflow-wrap:anywhere;}
.reserve-yield-result{
  margin-top:13px;
  padding:14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.075);
  background:rgba(255,255,255,.03);
  transition:border-color .18s ease,background-color .18s ease,transform .18s ease;
}
.reserve-yield-result strong{display:block;font-size:22px;line-height:1.15;letter-spacing:-.025em;}
.reserve-yield-result small{display:block;margin-top:5px;color:var(--muted);font-size:11.5px;line-height:1.35;}
.reserve-yield-result.positive{border-color:rgba(34,197,94,.24);background:rgba(34,197,94,.075);}
.reserve-yield-result.positive strong{color:#52d989;}
.reserve-yield-result.negative{border-color:rgba(239,68,68,.25);background:rgba(239,68,68,.07);}
.reserve-yield-result.negative strong{color:#fb7777;}
.reserve-yield-result.neutral strong{color:var(--text);}
.reserve-yield-error{
  margin-top:10px;
  padding:9px 11px;
  border:1px solid rgba(239,68,68,.24);
  border-radius:10px;
  background:rgba(239,68,68,.075);
  color:#ffaaaa;
  font-size:11.5px;
  line-height:1.35;
}
.reserve-yield-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;}
.reserve-yield-actions button{min-height:42px;}
.reserve-yield-actions button:disabled,.reserve-yield-modal .modal-head button:disabled{opacity:.5;cursor:not-allowed;transform:none!important;}
html[data-theme="light"] .reserva-actions .reserva-yield-card-btn{color:#147b3d;border-color:rgba(20,123,61,.24);background:rgba(34,197,94,.08);}
html[data-theme="light"] .reserve-yield-last{background:linear-gradient(180deg,rgba(207,166,84,.12),rgba(255,255,255,.62));border-color:rgba(178,134,45,.22);}
html[data-theme="light"] .reserve-yield-last-grid>div,html[data-theme="light"] .reserve-yield-balance{background:rgba(122,85,29,.045);border-color:rgba(122,85,29,.12);}
html[data-theme="light"] .reserve-yield-result{background:rgba(122,85,29,.035);border-color:rgba(122,85,29,.12);}
html[data-theme="light"] .reserve-yield-result.positive{background:rgba(34,197,94,.08);border-color:rgba(20,123,61,.22);}
html[data-theme="light"] .reserve-yield-result.negative{background:rgba(239,68,68,.07);border-color:rgba(190,45,45,.20);}
html[data-theme="light"] .reserve-yield-error{color:#9b2525;background:rgba(239,68,68,.07);border-color:rgba(190,45,45,.20);}
@media(max-width:620px){
  .reserve-yield-overlay{
    align-items:flex-end;
    padding:10px 10px calc(78px + env(safe-area-inset-bottom));
  }
  .reserve-yield-modal{
    max-width:none;
    max-height:calc(100dvh - 96px - env(safe-area-inset-bottom));
    padding:19px 17px 17px;
    border-radius:18px;
  }
  .reserve-yield-last-grid{grid-template-columns:1fr 1fr;}
  .reserve-yield-actions{position:sticky;bottom:0;padding-top:10px;background:linear-gradient(180deg,transparent 0%,var(--panel) 28%);}
}
@media(max-width:380px){
  .reserve-yield-last-grid,.reserve-yield-actions{grid-template-columns:1fr;}
  .reserve-yield-modal{padding:17px 15px 15px;}
}

/* V6.35.2 — a contenção abaixo é exclusiva do Smartphone Mode. Na v6.35.1 estas regras
   vazavam para o modo Desktop (faltava o seletor html[data-interface-mode="smartphone"]),
   o que fazia .modal-box perder o max-width:400px e esticar a janela suspensa no computador,
   além de cortar a rolagem interna do formulário (overflow:hidden sem o wrapper do sheet). */
html[data-interface-mode="smartphone"] .transaction-modal-overlay,
html[data-interface-mode="smartphone"] .transaction-modal{
  min-width:0;
  max-width:100%;
}
html[data-interface-mode="smartphone"] .transaction-modal{
  box-sizing:border-box;
  overflow:hidden;
  overscroll-behavior:none;
}
html[data-interface-mode="smartphone"] .transaction-modal > *,
html[data-interface-mode="smartphone"] .transaction-modal .field,
html[data-interface-mode="smartphone"] .transaction-modal .mf-conditional,
html[data-interface-mode="smartphone"] .transaction-modal .payment-source-panel,
html[data-interface-mode="smartphone"] .transaction-modal .segmented-toggle{
  min-width:0;
  max-width:100%;
}
html[data-interface-mode="smartphone"] .transaction-modal input,
html[data-interface-mode="smartphone"] .transaction-modal select,
html[data-interface-mode="smartphone"] .transaction-modal textarea,
html[data-interface-mode="smartphone"] .transaction-modal button{
  min-width:0;
  max-width:100%;
}
html[data-interface-mode="smartphone"] .transaction-modal input,
html[data-interface-mode="smartphone"] .transaction-modal select,
html[data-interface-mode="smartphone"] .transaction-modal textarea,
html[data-interface-mode="smartphone"] .transaction-modal .segmented-toggle{
  width:100%;
}
html[data-interface-mode="smartphone"] .transaction-modal .segmented-toggle .seg-btn{
  min-width:0;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  line-height:1.2;
}

html[data-interface-mode="smartphone"],
html[data-interface-mode="smartphone"] body,
html[data-interface-mode="smartphone"] #root{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
/* #modal-root precisa continuar com overflow visível. Torná-lo um scroll container
   vazio pode bloquear o gesto dos filhos fixed em alguns WebViews Android. */
html[data-interface-mode="smartphone"] #modal-root{
  width:100%;
  max-width:none;
  overflow:visible!important;
}
/* Estado normal: o documento é o único proprietário da rolagem vertical. */
html[data-interface-mode="smartphone"]:not(.modal-open){
  overflow-x:hidden;
  overflow-y:auto;
  touch-action:pan-y;
}
html[data-interface-mode="smartphone"]:not(.modal-open) body:not(.mobile-menu-open):not(.modal-scroll-locked){
  overflow-x:hidden;
  overflow-y:visible;
  touch-action:pan-y;
}
html[data-interface-mode="smartphone"] .shell,
html[data-interface-mode="smartphone"] .main,
html[data-interface-mode="smartphone"] #view-root{
  overflow-x:clip;
}
html[data-interface-mode="smartphone"].modal-open{
  overscroll-behavior:none;
}
html[data-interface-mode="smartphone"].modal-open body.modal-scroll-locked{
  position:fixed!important;
  top:var(--modal-lock-top,0px)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  overflow:hidden!important;
  overscroll-behavior:none;
}
html[data-interface-mode="smartphone"] .mobile-sheet-overlay{
  width:100%;
  max-width:100%;
  height:var(--borion-vh);
  top:var(--borion-vv-top,0px);
  bottom:auto;
  overflow:hidden!important;
  padding-left:0!important;
  padding-right:0!important;
}
html[data-interface-mode="smartphone"] .mobile-bottom-sheet{
  box-sizing:border-box;
  display:flex!important;
  flex-direction:column;
  min-width:0!important;
  overflow:hidden!important;
  overscroll-behavior:none;
  touch-action:auto;
}
html[data-interface-mode="smartphone"] .mobile-sheet-scroll{
  flex:1 1 auto;
  min-height:0;
  min-width:0;
  width:100%;
  max-width:100%;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:none;
  overscroll-behavior-y:contain;
  touch-action:pan-y;
  scroll-behavior:auto;
  scroll-padding-top:64px;
  scroll-padding-bottom:calc(28px + env(safe-area-inset-bottom));
}
html[data-interface-mode="smartphone"] .mobile-sheet-scroll > .modal-head{
  position:sticky;
  top:0;
  z-index:3;
  padding:8px 0 10px;
  background:linear-gradient(180deg,var(--panel) 82%,rgba(0,0,0,0));
}
html[data-interface-mode="smartphone"] .transaction-modal-overlay{
  align-items:flex-end!important;
  justify-content:center!important;
}
html[data-interface-mode="smartphone"] .transaction-modal.mobile-bottom-sheet{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:calc(var(--borion-vh) - max(8px, env(safe-area-inset-top)))!important;
  max-height:calc(var(--borion-vh) - max(8px, env(safe-area-inset-top)))!important;
  padding-left:max(14px, env(safe-area-inset-left))!important;
  padding-right:max(14px, env(safe-area-inset-right))!important;
}
html[data-interface-mode="smartphone"] .transaction-modal .payment-source-toggle,
html[data-interface-mode="smartphone"] .transaction-modal .revenue-origin-toggle,
html[data-interface-mode="smartphone"] .transaction-modal .revenue-destination-toggle{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
html[data-interface-mode="smartphone"] .transaction-modal .seg-btn-wide{
  grid-column:1/-1;
}
html[data-interface-mode="smartphone"] .transaction-modal .modal-head,
html[data-interface-mode="smartphone"] .transaction-modal .modal-head h2{
  min-width:0;
}
html[data-interface-mode="smartphone"] .transaction-modal .modal-head h2{
  overflow-wrap:anywhere;
}
html[data-interface-mode="smartphone"].keyboard-open .transaction-modal.mobile-bottom-sheet{
  height:calc(var(--borion-vh) - 4px)!important;
  max-height:calc(var(--borion-vh) - 4px)!important;
  border-radius:20px 20px 0 0!important;
}

/* Ajustes seguros de desempenho para aparelhos de toque: menos blur e nenhuma animação
   de hover fantasma, mantendo as animações essenciais de abertura e navegação. */
@media (hover:none) and (pointer:coarse){
  html[data-interface-mode="smartphone"] body::before{
    filter:none!important;
  }
  html[data-interface-mode="smartphone"] .mobile-sheet-overlay{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  html[data-interface-mode="smartphone"] .topbar,
  html[data-interface-mode="smartphone"] .smart-bottom-nav,
  html[data-interface-mode="smartphone"] .toast,
  html[data-interface-mode="smartphone"] .floating-notif,
  html[data-interface-mode="smartphone"] .notif-panel{
    backdrop-filter:blur(8px) saturate(1.05)!important;
    -webkit-backdrop-filter:blur(8px) saturate(1.05)!important;
  }
  html[data-interface-mode="smartphone"] .card:hover{
    transform:none;
  }
  html[data-interface-mode="smartphone"] .mobile-bottom-sheet.is-sheet-dragging{
    will-change:transform;
  }
}
@media(max-width:360px){
  html[data-interface-mode="smartphone"] .transaction-modal.mobile-bottom-sheet{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  html[data-interface-mode="smartphone"] .transaction-modal .segmented-toggle .seg-btn{
    padding-left:6px;
    padding-right:6px;
    font-size:11.5px;
  }
}


/* =====================================================================================
   V6.35.0 — BASE DO AJUSTE DE LAYOUT MOBILE, TABELA E GRÁFICO NO SMARTPHONE MODE
   Causa reproduzida: html e body se tornavam dois contêineres concorrentes. Como
   overflow-x:hidden faz overflow-y:visible computar como auto, o gesto era entregue ao
   body sem área própria de rolagem e não chegava ao documento. A gaveta funcionava porque
   .sb-nav já possuía scroller próprio. Agora existe exatamente um scroller principal:
   #view-root.main. html/body/#root apenas delimitam o viewport.
===================================================================================== */
html[data-interface-mode="smartphone"]{
  width:100%;
  height:100%;
  min-height:100%;
  overflow:hidden!important;
  overscroll-behavior:none;
  touch-action:auto;
}
html[data-interface-mode="smartphone"] body{
  width:100%;
  height:100%;
  min-height:0!important;
  overflow:hidden!important;
  overscroll-behavior:none;
  touch-action:auto;
}
html[data-interface-mode="smartphone"] #root{
  width:100%;
  height:100%;
  min-height:0!important;
  overflow:hidden!important;
}
html[data-interface-mode="smartphone"] .shell{
  width:100%;
  height:var(--borion-vh,100dvh);
  min-height:0!important;
  overflow:hidden!important;
}
html[data-interface-mode="smartphone"] #view-root.main{
  display:block;
  width:100%;
  height:var(--borion-vh,100dvh);
  min-height:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:none;
  overscroll-behavior-y:auto;
  touch-action:pan-y!important;
  scroll-behavior:auto;
  scrollbar-gutter:auto;
}
/* Apenas camadas realmente abertas bloqueiam a área principal. A gaveta e os modais
   continuam com seus próprios scrollers internos. */
html[data-interface-mode="smartphone"].modal-open #view-root.main,
html[data-interface-mode="smartphone"] body.mobile-menu-open #view-root.main,
html[data-interface-mode="smartphone"] body.notif-panel-open #view-root.main{
  overflow-y:hidden!important;
  overscroll-behavior:none;
  touch-action:none!important;
}
/* O body nunca mais é fixado para travar modal no Smartphone Mode. */
html[data-interface-mode="smartphone"].modal-open body.modal-scroll-locked{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
}
/* A regra legada não deve transformar o body em outro scroller. */
html[data-interface-mode="smartphone"] body.notif-panel-open{
  overflow:hidden!important;
}
/* Fechou a gaveta: ela deixa de capturar wheel/touch no mesmo frame, mesmo durante
   a animação de saída. */
html[data-interface-mode="smartphone"] .sidebar:not(.open){
  pointer-events:none;
}
html[data-interface-mode="smartphone"] .sidebar.open{
  pointer-events:auto;
}

/* =====================================================================================
   V6.35.0 — IMPORTAÇÃO INTELIGENTE DE EXTRATOS POR PRINT
===================================================================================== */
.import-source-switch{display:inline-grid;grid-template-columns:1fr 1fr;gap:4px;max-width:520px;width:100%;padding:4px;margin:0 0 18px;border:1px solid rgba(217,180,107,.16);border-radius:16px;background:rgba(255,255,255,.025);box-sizing:border-box;}
.import-source-tab{min-width:0;min-height:44px;border:0;border-radius:12px;padding:10px 14px;background:transparent;color:var(--muted);font-weight:850;cursor:pointer;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease;}
.import-source-tab.active{color:var(--text);background:linear-gradient(135deg,rgba(217,180,107,.18),rgba(217,180,107,.08));box-shadow:inset 0 0 0 1px rgba(217,180,107,.24);}
.import-image-drop{outline:none;min-width:0;}
.import-image-drop:focus-visible{box-shadow:0 0 0 3px rgba(217,180,107,.22);}
.import-image-buttons{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0;}
.import-image-list{display:grid;gap:10px;margin:12px 0;min-width:0;}
.import-image-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;border:1px solid rgba(255,255,255,.07);border-radius:15px;background:rgba(255,255,255,.025);min-width:0;box-sizing:border-box;}
.import-image-thumb{width:64px;height:64px;object-fit:cover;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.2);}
.import-image-meta{display:flex;flex-direction:column;gap:4px;min-width:0;}
.import-image-meta strong,.import-image-meta span,.import-image-meta small{overflow-wrap:anywhere;word-break:break-word;}
.import-image-meta strong{font-size:13px;}
.import-image-meta span{font-size:11px;color:var(--muted);}
.import-image-meta small{font-size:10.5px;}
.import-image-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.import-ocr-progress{padding:14px;margin:12px 0;border:1px solid rgba(217,180,107,.18);border-radius:15px;background:rgba(217,180,107,.055);}
.import-ocr-stage{font-size:12.5px;font-weight:800;margin-bottom:9px;}
.import-ocr-progress-track{height:7px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden;}
.import-ocr-progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--gold-bright));transition:width .18s ease;}
.import-ocr-progress-meta{display:flex;justify-content:space-between;gap:10px;margin:7px 0 10px;font-size:10.5px;color:var(--muted);}
.import-privacy-note,.import-relative-date-warning{padding:12px 14px;margin-top:12px;border-radius:14px;font-size:11.5px;line-height:1.45;}
.import-privacy-note{border:1px solid rgba(74,222,128,.18);background:rgba(34,197,94,.07);color:var(--text);}
.import-relative-date-warning{border:1px solid rgba(245,158,11,.22);background:rgba(245,158,11,.08);color:#f5d68b;}
.import-kpis-expanded{grid-template-columns:repeat(2,minmax(0,1fr));}
.import-reconciliation{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px;}
.import-reconciliation>div{min-width:0;padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.055);background:rgba(255,255,255,.025);}
.import-reconciliation span{display:block;color:var(--muted);font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px;}
.import-reconciliation b{display:block;font-size:12px;overflow-wrap:anywhere;}
.import-confidence{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900;border:1px solid transparent;}
.import-confidence-high{color:#86efac;background:rgba(34,197,94,.10);border-color:rgba(74,222,128,.22);}
.import-confidence-medium{color:#f5d68b;background:rgba(245,158,11,.10);border-color:rgba(245,158,11,.22);}
.import-confidence-low{color:#fca5a5;background:rgba(239,68,68,.10);border-color:rgba(248,113,113,.22);}
.pending-pill{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:9.5px;font-weight:850;color:#f5d68b;background:rgba(245,158,11,.10);border:1px solid rgba(245,158,11,.20);}
.import-image-table{min-width:1180px;}
.import-table-dynamic{display:grid;gap:7px;min-width:220px;}
.import-table-dynamic label{display:grid;gap:4px;color:var(--muted);font-size:9px;}
.import-table-dynamic select,.import-table-dynamic input{width:100%;min-width:0;box-sizing:border-box;}
.import-review-cards-mobile{display:none;}
.import-row-card{border:1px solid rgba(255,255,255,.07);border-radius:18px;background:rgba(255,255,255,.025);padding:14px;min-width:0;box-sizing:border-box;}
.import-row-card+.import-row-card{margin-top:12px;}
.import-row-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;min-width:0;}
.import-row-card-head>div{min-width:0;}
.import-row-card-head strong,.import-row-card-head small{display:block;overflow-wrap:anywhere;}
.import-row-card-head strong{font-size:14px;}
.import-row-card-head small{margin-top:3px;color:var(--muted);font-size:10.5px;}
.import-row-card-head>b{white-space:nowrap;font-size:13px;}
.import-row-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0;color:var(--muted);font-size:10.5px;}
.import-row-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;}
.import-row-fields label{display:grid;gap:5px;min-width:0;color:var(--muted);font-size:10px;font-weight:750;}
.import-row-fields input,.import-row-fields select{width:100%;min-width:0;box-sizing:border-box;}
.import-issue-list{display:grid;gap:5px;margin-top:10px;}
.import-issue-list span{display:block;padding:7px 9px;border-radius:10px;background:rgba(239,68,68,.07);border:1px solid rgba(248,113,113,.12);font-size:10.5px;color:#fecaca;overflow-wrap:anywhere;}
.import-row-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px;}
.import-row-actions label{font-size:10.5px;color:var(--muted);}

html[data-theme="light"] .import-source-switch,html[data-theme="light"] .import-image-card,html[data-theme="light"] .import-reconciliation>div,html[data-theme="light"] .import-row-card{background:rgba(255,255,255,.66);border-color:rgba(122,85,29,.12);}
html[data-theme="light"] .import-source-tab.active{background:linear-gradient(135deg,rgba(184,137,55,.18),rgba(184,137,55,.08));}
html[data-theme="light"] .import-relative-date-warning{color:#7c5515;background:rgba(245,158,11,.10);}
html[data-theme="light"] .import-privacy-note{background:rgba(34,197,94,.08);}
html[data-theme="light"] .import-issue-list span{color:#991b1b;background:rgba(239,68,68,.07);}

@media(max-width:760px){
  .import-source-switch{max-width:none;display:grid;}
  .import-source-tab{padding:9px 8px;font-size:12px;}
  .import-image-card{grid-template-columns:54px minmax(0,1fr);align-items:start;}
  .import-image-thumb{width:54px;height:54px;}
  .import-image-actions{grid-column:1/-1;justify-content:flex-start;}
  .import-image-buttons{display:grid;grid-template-columns:1fr 1fr;}
  .import-image-buttons>*{width:100%;min-width:0;}
  .import-kpis-expanded{grid-template-columns:repeat(2,minmax(0,1fr));}
  .import-reconciliation{grid-template-columns:1fr;}
  .import-review-table-desktop{display:none;}
  .import-review-cards-mobile{display:block;min-width:0;}
  .import-row-fields{grid-template-columns:1fr;}
  .import-row-card-head{grid-template-columns:auto minmax(0,1fr);}
  .import-row-card-head>b{grid-column:2;justify-self:start;}
  .import-drop{width:100%;min-width:0;box-sizing:border-box;overflow:hidden;}
  .import-drop>div:last-child{min-width:0;}
  .import-drop strong,.import-drop span{overflow-wrap:anywhere;word-break:break-word;}
  .import-review{overflow:visible;min-width:0;}
}

/* V6.36.0 — botão de acesso à Central do Borion (visível antes do carregamento sob demanda). */
.settings-help-tab{display:flex!important;align-items:center!important;gap:9px!important;margin-top:3px!important;border-top:1px solid rgba(255,255,255,.075)!important;border-radius:0 0 12px 12px!important;padding-top:13px!important;}
.settings-help-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;border:1px solid rgba(217,180,107,.28);background:rgba(217,180,107,.08);color:var(--gold-bright);font-weight:950;}
@media(max-width:760px){.settings-help-tab{border-top:0!important;border-radius:12px!important;padding-top:11px!important;}}
