﻿@charset "UTF-8";

/* ═══ DESIGN TOKENS ══════════════════════════════════════════════ */
:root {
  --font-ui: 'DM Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-display: 'DM Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-money: 'DM Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ac: #c8f55a;    /* lime accent */
  --ac2: #5af5c8;   /* teal accent */
  --fut: #a78bfa;   /* purple */
  --dan: #f5705a;   /* red */
  --warn: #f5c85a;  /* amber */
  --grn: #4ade80;
  --r: 20px;
  --r-lg: 28px;
  --r-pill: 99px;
  --blur: 14px;
  --glass-bg: rgba(255,255,255,.05);
  --glass-bd: rgba(255,255,255,.09);
  --status-bar: 0px;
  --app-vh: 1vh;
}
[data-theme=dark] {
  --bg: #08090d;
  --bg2: #0d0f16;
  --sf: rgba(18,21,30,.88);
  --sf2: rgba(28,32,46,.75);
  --sf-solid: #12151e;
  --bd: rgba(255,255,255,.08);
  --bd2: rgba(255,255,255,.05);
  --tx: #f0f3ff;
  --tx2: rgba(240,243,255,.78);
  --mt: rgba(240,243,255,.48);
  --sh: rgba(0,0,0,.6);
  --glow-ac: rgba(200,245,90,.15);
  --glow-ac2: rgba(90,245,200,.12);
  --grad-bg: radial-gradient(ellipse 80% 60% at 50% -10%, rgba(200,245,90,.08) 0%, transparent 70%),
             radial-gradient(ellipse 60% 50% at 85% 70%, rgba(90,245,200,.06) 0%, transparent 60%),
             radial-gradient(ellipse 50% 40% at 15% 80%, rgba(167,139,250,.06) 0%, transparent 60%);
}
[data-theme=light] {
  --ac: #3f7d00;
  --ac2: #007a61;
  --fut: #6848d9;
  --dan: #b93326;
  --warn: #836000;
  --grn: #15803d;
  --bg: #f4f7ef;
  --bg2: #e8eedf;
  --sf: rgba(255,255,255,.9);
  --sf2: rgba(246,249,240,.86);
  --sf-solid: #ffffff;
  --bd: rgba(56,74,44,.16);
  --bd2: rgba(56,74,44,.09);
  --tx: #11170d;
  --tx2: rgba(17,23,13,.82);
  --mt: rgba(17,23,13,.58);
  --sh: rgba(71,89,42,.12);
  --glow-ac: rgba(131,190,24,.16);
  --glow-ac2: rgba(0,150,118,.11);
  --grad-bg: radial-gradient(ellipse 80% 58% at 20% -8%, rgba(197,232,118,.34) 0%, transparent 62%),
             radial-gradient(ellipse 58% 45% at 98% 18%, rgba(83,202,169,.18) 0%, transparent 56%),
             radial-gradient(ellipse 46% 34% at 16% 92%, rgba(246,194,92,.14) 0%, transparent 58%),
             linear-gradient(145deg, #fbfcf6 0%, #eef4e5 46%, #e6efe9 100%);
}

/* Android WebView fallback - backdrop-filter not supported */
@supports not (backdrop-filter: blur(1px)) {
  .glass, .sc, .cc-box, .box, .bg-card, .fnav, .modal, .qa-panel,
  .sidebar, .toast, .srch-box, .setup-box, .pbar, .mnav, .acct-pop {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  [data-theme=dark] .sc,
  [data-theme=dark] .cc-box,
  [data-theme=dark] .box,
  [data-theme=dark] .bg-card { background: #161a26 !important; }
  [data-theme=dark] .fnav { background: #0f1119 !important; }
  [data-theme=dark] .modal { background: #13161f !important; }
  [data-theme=dark] .sidebar { background: #0e1018 !important; }
  [data-theme=dark] .setup-box { background: #13161f !important; }
  [data-theme=dark] .toast { background: #161a26 !important; }
  [data-theme=dark] .qa-panel { background: #13161f !important; }
  [data-theme=light] .sc,
  [data-theme=light] .cc-box,
  [data-theme=light] .box,
  [data-theme=light] .bg-card { background: #ffffff !important; }
  [data-theme=light] .fnav { background: #f5f7ff !important; }
  [data-theme=light] .modal { background: #ffffff !important; }
  [data-theme=light] .sidebar { background: #f8f9ff !important; }
  [data-theme=light] .setup-box { background: #ffffff !important; }
}


/* ═══ RESET ══════════════════════════════════════════════════════ */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html { scroll-behavior: smooth; overflow-x: hidden; max-width: 100%; }
body {
  background: var(--bg);
  position: relative;
  color: var(--tx);
  font-family: var(--font-ui);
  font-size: 15px;
  line-height: 1.6;
  min-height: 100vh;
  min-height: 100dvh;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  transition: background .12s, color .12s;
}
body.login-open {
  overflow: hidden;
}
button, input, select, textarea {
  font-family: var(--font-ui);
  letter-spacing: 0;
}
strong, b { font-weight: 700; }
.money,
.cv,
.tam,
.qa-amt,
.mc-val,
.insight-v,
.mini-stat .ms-val,
.gw-pct,
.sl-prog-txt,
.ti-edit-inp.amount {
  font-family: var(--font-money);
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1, "zero" 1;
  letter-spacing: 0;
}
/* Gradient background via pseudo-element - works in Android WebView */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: var(--grad-bg);
}


/* ═══ GLASS UTILITY ══════════════════════════════════════════════ */
.glass {
  background: var(--sf);
  backdrop-filter: blur(var(--blur)) saturate(180%);
  -webkit-backdrop-filter: blur(var(--blur)) saturate(180%);
  border: 1px solid var(--bd);
}
.glass-hard {
  background: var(--sf-solid);
  border: 1px solid var(--bd);
}

.sc, .cc-box, .box, .bg-card, .mc-card, .proj-card, .insight-card,
.mini-stat, .goals-widget, .budget-widget, .wcard {
  box-shadow: 0 10px 24px rgba(0,0,0,.11);
}
[data-theme=light] .sc,
[data-theme=light] .cc-box,
[data-theme=light] .box,
[data-theme=light] .bg-card,
[data-theme=light] .mc-card,
[data-theme=light] .proj-card,
[data-theme=light] .insight-card,
[data-theme=light] .mini-stat,
[data-theme=light] .goals-widget,
[data-theme=light] .budget-widget,
[data-theme=light] .wcard {
  border-color: rgba(74,86,140,.13);
  box-shadow: 0 10px 24px rgba(36,48,92,.06);
}
[data-theme=dark] .sc,
[data-theme=dark] .cc-box,
[data-theme=dark] .box,
[data-theme=dark] .bg-card,
[data-theme=dark] .mc-card,
[data-theme=dark] .proj-card,
[data-theme=dark] .insight-card,
[data-theme=dark] .mini-stat,
[data-theme=dark] .goals-widget,
[data-theme=dark] .budget-widget,
[data-theme=dark] .wcard {
  border-color: rgba(255,255,255,.09);
}

/* ═══ LAYOUT ═════════════════════════════════════════════════════ */
.main {
  width: 100%;
  padding: calc(16px + env(safe-area-inset-top)) 24px calc(100px + env(safe-area-inset-bottom));
}
.page { display: none; animation: fadeUp .25s ease; }
.page.active { display: block; }
@keyframes fadeUp { from { opacity:0; transform:translateY(14px) } to { opacity:1; transform:none } }

/* ═══ FLOATING NAV (pill) ════════════════════════════════════════ */
.fnav {
  position: fixed;
  bottom: 0;
  left: 0; right: 0;
  z-index: 300;
  display: flex;
  align-items: stretch;
  padding: 0 4px calc(6px + env(safe-area-inset-bottom)) 4px;
  background: var(--sf-solid);
  background: var(--sf);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border-top: 1px solid var(--bd);
  box-shadow: 0 -4px 24px rgba(0,0,0,.25);
  min-height: calc(64px + env(safe-area-inset-bottom));
  overflow-x: clip;
}
.fn-item {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 10px 2px 6px;
  cursor: pointer;
  color: var(--mt);
  transition: color .15s;
  user-select: none;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  border: 0;
  background: transparent;
  font: inherit;
}
.fn-item.fn-logout {
  border: 0;
  background: transparent;
  font-family: var(--font-ui);
}
.fn-item .fni {
  font-size: 19px;
  line-height: 1;
  transition: transform .18s cubic-bezier(.34,1.3,.64,1);
  display: block;
}
.fn-item::after {
  content: '';
  position: absolute;
  bottom: 2px;
  left: 50%;
  transform: translateX(-50%) scale(0);
  width: 4px; height: 4px;
  border-radius: 50%;
  background: var(--ac);
  transition: transform .18s cubic-bezier(.34,1.4,.64,1);
}
.fn-item.active { color: var(--ac); }
.fn-item.active .fni { transform: translateY(-1px); }
.fn-item.active::after { transform: translateX(-50%) scale(1); }
.fn-item.fut-n.active { color: var(--fut); }
.fn-item.fut-n.active::after { background: var(--fut); }
.fn-item.acc-n.active { color: var(--ac2); }
.fn-item.acc-n.active::after { background: var(--ac2); }
.fn-item.sl-n.active { color: var(--ac); }
.fn-item:active .fni { transform: scale(.9); }

/* Desktop sidebar */
.sidebar {
  position: fixed;
  left: 0; top: 0;
  width: 236px;
  height: 100vh;
  height: 100dvh;
  display: flex;
  flex-direction: column;
  padding: calc(28px + env(safe-area-inset-top)) 16px 28px;
  z-index: 100;
  background: var(--sf-solid);
  background: var(--sf);
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border-right: 1px solid var(--bd);
  box-shadow: 12px 0 34px rgba(0,0,0,.18);
}
.logo {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 28px;
  color: var(--ac);
  letter-spacing: 0;
  margin-bottom: 24px;
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  line-height: 1;
  gap: 10px;
}
.brand-word { display: inline-flex; align-items: center; gap: 0; white-space: nowrap; line-height: 1; padding-top: 1px; letter-spacing: 0; }
.logo span { color: var(--tx); font-weight: 700; }
.logo-actions { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.theme-btn {
  width: 32px; height: 32px;
  border-radius: 9px;
  border: 1px solid var(--bd);
  background: var(--sf2);
  backdrop-filter: blur(8px);
  cursor: pointer;
  font-size: 16px;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s;
}
.theme-btn:hover { background: var(--bd); }
.sb-search {
  display: flex; align-items: center; gap: 8px;
  position: relative;
  min-height: 44px;
  background:
    linear-gradient(135deg, rgba(200,245,90,.08), rgba(90,245,200,.05)),
    var(--sf2);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(200,245,90,.22);
  border-radius: 15px;
  padding: 10px 52px 10px 12px;
  margin-bottom: 20px;
  cursor: text;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 8px 22px rgba(0,0,0,.14);
  transition: border-color .16s, box-shadow .16s, background .16s;
}
.sb-search::after {
  content: 'Ctrl K';
  position: absolute;
  right: 9px;
  top: 50%;
  transform: translateY(-50%);
  padding: 3px 6px;
  border-radius: 7px;
  border: 1px solid var(--bd);
  background: rgba(255,255,255,.05);
  color: var(--mt);
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
}
.sb-search:focus-within {
  border-color: rgba(200,245,90,.58);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 0 0 3px rgba(200,245,90,.08), 0 12px 28px rgba(0,0,0,.18);
}
.sb-search > span {
  color: var(--ac) !important;
  font-size: 15px !important;
  line-height: 1;
}
.sb-search input {
  background: none; border: none; outline: none;
  color: var(--tx); font-family: var(--font-ui);
  font-size: 13px; font-weight: 600; flex: 1; min-width: 0;
}
.sb-search input::placeholder { color: var(--tx2); opacity: .72; }
.nav-lbl {
  font-size: 9px; font-weight: 700; letter-spacing: 0;
  color: var(--mt); text-transform: uppercase;
  margin: 0 0 6px 10px; opacity: .6;
}
.nav-item {
  display: flex; align-items: center; gap: 10px;
  min-height: 39px;
  padding: 9px 12px; border-radius: 13px;
  cursor: pointer; color: var(--tx2);
  font-size: 13px; font-weight: 500;
  transition: all .18s; margin-bottom: 2px;
  user-select: none;
  border: 1px solid transparent;
  width: 100%;
  background: transparent;
  font-family: var(--font-ui);
  text-align: left;
}
.nav-item:hover {
  background: linear-gradient(135deg, rgba(200,245,90,.12), rgba(90,245,200,.06));
  color: var(--tx);
  border-color: rgba(200,245,90,.22);
  transform: translateX(2px);
}
.nav-item.active {
  background: linear-gradient(135deg, rgba(200,245,90,.2), rgba(200,245,90,.08));
  color: var(--ac); font-weight: 600;
  border: 1px solid rgba(200,245,90,.18);
}
.nav-item.fn.active { background: linear-gradient(135deg, rgba(167,139,250,.2), rgba(167,139,250,.08)); color: var(--fut); border-color: rgba(167,139,250,.18); }
.nav-item.an.active { background: linear-gradient(135deg, rgba(90,245,200,.2), rgba(90,245,200,.08)); color: var(--ac2); border-color: rgba(90,245,200,.18); }
.nav-item.sl-n.active { background: linear-gradient(135deg, rgba(200,245,90,.2), rgba(200,245,90,.08)); color: var(--ac); border-color: rgba(200,245,90,.18); }
.fn-item.sl-n.active { background: var(--ac); color: #0d0f14; box-shadow: 0 2px 12px rgba(200,245,90,.35); }
.nav-item.nav-disabled,
.fn-item.nav-disabled{
  color:var(--mt) !important;
  opacity:.34;
  filter:grayscale(1);
  cursor:not-allowed;
}
.nav-item.nav-disabled .ico,
.fn-item.nav-disabled .fni{
  color:var(--mt) !important;
  opacity:.72;
  filter:grayscale(1);
}
.nav-item.nav-disabled:hover,
.fn-item.nav-disabled:hover{
  background:transparent !important;
  border-color:transparent !important;
  color:var(--mt) !important;
  transform:none;
  box-shadow:none;
}
.nav-item .ico {
  width: 25px;
  height: 25px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 25px;
  border-radius: 7px;
  background: rgba(255,255,255,.035);
  font-size: 16px;
  line-height: 1;
  text-align: center;
  filter: saturate(.78);
}
.sidebar-utility{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:16px;
}
.sidebar-card{
  position:relative;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(200,245,90,.16);
  background:
    linear-gradient(160deg, rgba(200,245,90,.08), rgba(90,245,200,.04)),
    var(--sf2);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.sidebar-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.sidebar-card-kicker{
  font-size:10px;
  font-weight:800;
  letter-spacing:.6px;
  text-transform:uppercase;
  color:var(--ac);
  margin-bottom:0;
}
.sidebar-card-edit{
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid var(--bd);
  background:rgba(255,255,255,.04);
  color:var(--tx2);
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}
.sidebar-icon-shortcuts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.sidebar-icon-btn{
  min-height:48px;
  border-radius:15px;
  border:1px solid var(--bd);
  background:rgba(255,255,255,.04);
  color:var(--tx);
  font-size:20px;
  cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.sidebar-icon-btn:hover,
.sidebar-card-edit:hover{
  border-color:rgba(200,245,90,.28);
  background:rgba(200,245,90,.08);
}
.sidebar-mini-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:0;
}
.sidebar-mini-btn{
  min-height:34px;
  border-radius:11px;
  border:1px solid var(--bd);
  background:rgba(255,255,255,.04);
  color:var(--tx2);
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}
.sidebar-mini-btn.primary{
  background:rgba(200,245,90,.16);
  border-color:rgba(200,245,90,.25);
  color:var(--ac);
}
.sidebar-mini-btn:hover{
  border-color:rgba(200,245,90,.28);
  color:var(--tx);
}
.sidebar-shortcut-menu{
  position:absolute;
  top:-1px;
  left:calc(100% + 12px);
  width:420px;
  max-width:min(420px, calc(100vw - 48px));
  box-sizing:border-box;
  padding:12px;
  border:1px solid color-mix(in srgb, var(--bd) 94%, rgba(200,245,90,.18));
  border-radius:18px;
  background:var(--sf-solid);
  box-shadow:0 22px 44px rgba(0,0,0,.28);
  display:none;
  z-index:120;
  overflow:auto;
  max-height:min(420px, calc(100vh - 56px));
}
.sidebar-shortcut-menu.open{
  display:block;
}
.sidebar-shortcut-menu-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.sidebar-shortcut-menu-head > div{
  flex:1;
  min-width:0;
}
.sidebar-shortcut-menu-head strong{
  font-size:13px;
  color:var(--tx);
}
.sidebar-shortcut-menu-head span{
  display:block;
  margin-top:2px;
  font-size:11px;
  color:var(--mt);
}
.sb-bottom { margin-top: auto; }
.conn-wrap { display: flex; align-items: center; gap: 6px; margin-bottom: 10px; }
.made-by {
  margin: 0 2px 12px;
  color: var(--mt);
  font-size: 10px;
  line-height: 1.4;
  text-align: center;
}
.made-by span {
  color: var(--tx2);
  font-weight: 800;
}
.conn-badge {
  display: flex; align-items: center; gap: 6px;
  font-size: 11px; padding: 5px 10px; border-radius: 8px;
  background: var(--sf2); border: 1px solid var(--bd);
  cursor: pointer; flex: 1;
}
.conn-dot { width: 6px; height: 6px; border-radius: 50%; }
.conn-dot.online { background: var(--ac); box-shadow: 0 0 6px var(--ac); }
.conn-dot.offline { background: var(--warn); }
.conn-dot.error { background: var(--dan); }
.reload-wide {
  width: 100%;
  min-height: 36px;
  border-radius: 10px;
  border: 1px solid var(--bd);
  background: var(--sf2);
  color: var(--tx2);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
}
.reload-wide:hover { border-color: rgba(200,245,90,.35); color: var(--tx); }
.reload-wide.spin .ri { animation: spin .7s linear infinite; }
.reload-btn {
  width: 30px; height: 30px; border-radius: 9px;
  border: 1px solid var(--bd); background: var(--sf2);
  cursor: pointer; font-size: 14px; display: flex;
  align-items: center; justify-content: center;
}
.reload-btn.spin .ri { animation: spin .7s linear infinite; }
@keyframes spin { to { transform: rotate(360deg) } }
.card-center-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
}
.card-center-item{
  border:1px solid rgba(245,196,90,.18);
  background:linear-gradient(160deg,rgba(245,196,90,.08),rgba(255,255,255,.02));
  border-radius:18px;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.card-center-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.card-center-name{
  font-size:14px;
  font-weight:800;
}
.card-center-sub{
  font-size:11px;
  color:var(--mt);
  margin-top:3px;
}
.card-center-icon{
  font-size:24px;
}
.card-center-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.card-center-meta span{
  font-size:11px;
  font-weight:600;
  color:var(--tx2);
  background:var(--sf2);
  border:1px solid var(--bd);
  border-radius:999px;
  padding:5px 9px;
}
.card-center-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.card-center-empty{
  border:1px dashed var(--bd);
  border-radius:16px;
  padding:18px;
  color:var(--mt);
  display:flex;
  flex-direction:column;
  gap:6px;
}
.acct-area { border-top: 1px solid var(--bd); padding-top: 14px; position: relative; }
.acct-btn {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 4px; border-radius: 14px;
  cursor: pointer; transition: background .15s; width: 100%;
  border: 0;
  background: transparent;
  color: var(--tx);
  text-align: left;
}
.acct-btn:hover { background: var(--sf2); }
.uavatar {
  width: 34px; height: 34px; border-radius: 50%;
  background: linear-gradient(135deg, var(--ac), var(--ac2));
  background-size: cover; background-position: center;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 12px; color: #0d0f14; flex-shrink: 0;
  overflow: hidden; box-shadow: inset 0 0 0 1px rgba(255,255,255,.16);
}
.uavatar.has-photo { color: transparent; background-color: var(--sf2); }
.uname { font-size: 12px; font-weight: 600; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.urole { font-size: 10px; color: var(--mt); }
.avatar-actions { display: flex; justify-content: flex-end; gap: 6px; flex-wrap: wrap; }
.acct-pop {
  position: absolute; bottom: calc(100% + 8px); left: 0; right: 0;
  background: var(--sf); backdrop-filter: blur(24px);
  border: 1px solid var(--bd); border-radius: 16px; padding: 8px;
  box-shadow: 0 16px 48px var(--sh); z-index: 200; display: none;
  animation: fadeUp .15s ease;
}
.acct-pop.open { display: block; }
.pop-item {
  display: flex; align-items: center; gap: 10px;
  width: 100%;
  border: 0;
  background: transparent;
  padding: 9px 12px; border-radius: 10px; cursor: pointer;
  font-size: 12px; color: var(--tx); transition: background .1s;
  font-family: var(--font-ui);
  text-align: left;
}
.pop-item:hover { background: var(--sf2); }
.pop-item.danger { color: var(--dan); }
.pop-div { height: 1px; background: var(--bd); margin: 4px 0; }
.mobile-profile-btn{
  display:none;
  align-items:center;
  gap:8px;
  margin:0 0 12px auto;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid var(--bd);
  background:var(--sf);
  color:var(--tx);
  box-shadow:0 10px 28px var(--sh);
}
.mobile-profile-btn .uavatar{width:30px;height:30px;font-size:11px;}
.mobile-profile-label{font-size:12px;font-weight:700;color:var(--tx2);}

/* ═══ PAGE HEADER ════════════════════════════════════════════════ */
.ph {
  display: flex; justify-content: space-between;
  align-items: flex-start; margin-bottom: 20px;
  flex-wrap: wrap; gap: 10px;
}
.pt {
  font-family: var(--font-display);
  font-size: 26px; font-weight: 700; letter-spacing: -.01em;
  color: var(--tx);
}
.ps { color: var(--mt); font-size: 13px; margin-top: 5px; line-height: 1.5; max-width: 66ch; }

/* ═══ BUTTONS ════════════════════════════════════════════════════ */
.btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 14px; border-radius: 11px;
  font-size: 13px; font-weight: 500; cursor: pointer;
  border: 1px solid transparent; transition: background .18s, border-color .18s, color .18s, box-shadow .18s, transform .18s; font-family: var(--font-ui);
}
.btn-p {
  background: linear-gradient(135deg, rgba(200,245,90,.94), rgba(168,224,64,.94));
  color: #0d0f14;
  border-color: rgba(200,245,90,.22);
  box-shadow: 0 2px 10px rgba(200,245,90,.16);
}
.btn-p:hover { filter: brightness(1.03); transform: translateY(-1px); box-shadow: 0 6px 16px rgba(200,245,90,.2); }
.btn-p:active, .btn-p:focus { transform: scale(.96); }
.btn-g {
  background: var(--sf2); color: var(--tx);
  border: 1px solid var(--bd); backdrop-filter: blur(8px);
}
.btn-g:hover { background: rgba(255,255,255,.045); border-color: rgba(255,255,255,.14); }
.btn-d { background: rgba(245,112,90,.12); color: var(--dan); border: 1px solid rgba(245,112,90,.2); }
.btn-d:hover { background: rgba(245,112,90,.2); }
.btn-sm { padding: 6px 11px; font-size: 12px; border-radius: 9px; }
.btn-icon { width: 32px; height: 32px; padding: 0; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; }

/* ═══ SUMMARY CARDS ══════════════════════════════════════════════ */
.g4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-bottom: 20px; width: 100%; }
.g3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-bottom: 20px; }
.g2 { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.summary-grid { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.sc {
  background: var(--sf);
  backdrop-filter: blur(var(--blur)) saturate(180%);
  -webkit-backdrop-filter: blur(var(--blur)) saturate(180%);
  border: 1px solid var(--bd);
  border-radius: var(--r-lg);
  padding: 20px;
  position: relative; overflow: hidden;
  transition: transform .18s, box-shadow .18s;
}
.sc::after {
  content: ''; position: absolute;
  inset: 0; border-radius: inherit;
  background: linear-gradient(135deg, rgba(255,255,255,.06) 0%, transparent 60%);
  pointer-events: none;
}
.sc:hover { transform: translateY(-3px); box-shadow: 0 12px 32px var(--sh); }
.sc-glow-ac::before { content: ''; position: absolute; top: -20px; right: -20px; width: 80px; height: 80px; border-radius: 50%; background: radial-gradient(circle, rgba(200,245,90,.18) 0%, transparent 70%); pointer-events: none; }
.sc-glow-ac2::before { content: ''; position: absolute; top: -20px; right: -20px; width: 80px; height: 80px; border-radius: 50%; background: radial-gradient(circle, rgba(90,245,200,.16) 0%, transparent 70%); pointer-events: none; }
.sc-glow-dan::before { content: ''; position: absolute; top: -20px; right: -20px; width: 80px; height: 80px; border-radius: 50%; background: radial-gradient(circle, rgba(245,112,90,.15) 0%, transparent 70%); pointer-events: none; }
.sc-glow-fut::before { content: ''; position: absolute; top: -20px; right: -20px; width: 80px; height: 80px; border-radius: 50%; background: radial-gradient(circle, rgba(167,139,250,.15) 0%, transparent 70%); pointer-events: none; }
.ci { font-size: 20px; margin-bottom: 12px; display: block; }
.cl { font-size: 11px; color: var(--mt); font-weight: 600; letter-spacing: .4px; text-transform: uppercase; margin-bottom: 5px; line-height: 1.4; }
.cv { font-family: var(--font-money); font-size: 20px; font-weight: 700; letter-spacing: 0; }
.cv.pos { color: var(--ac); }
.cv.neg { color: var(--dan); }
.cv.neu { color: var(--ac2); }
.cv.fut { color: var(--fut); }
.money.pos { color: var(--ac); }
.money.neg { color: var(--dan); }
.money.neu { color: var(--ac2); }
.money.fut { color: var(--fut); }
.cc { font-size: 13px; color: var(--mt); margin-top: 5px; }
.cc.up { color: var(--ac); }
.cc.dn { color: var(--dan); }
.yield-detail { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: 11px; color: var(--mt); margin-top: 8px; }
.yield-pill { display: inline-flex; align-items: center; border: 1px solid rgba(200,245,90,.18); background: rgba(200,245,90,.08); color: var(--ac); border-radius: 999px; padding: 2px 7px; font-weight: 700; }

/* ═══ CHART CARDS ════════════════════════════════════════════════ */
.cr { display: grid; grid-template-columns: 1.55fr 1fr; gap: 12px; margin-bottom: 20px; min-width: 0; }
.cc-box {
  background: var(--sf);
  backdrop-filter: blur(var(--blur)) saturate(180%);
  -webkit-backdrop-filter: blur(var(--blur)) saturate(180%);
  border: 1px solid var(--bd);
  border-radius: var(--r-lg);
  padding: 22px;
  position: relative; overflow: hidden;
}
.cc-box::after { content:''; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(135deg,rgba(255,255,255,.05) 0%,transparent 60%); pointer-events:none; }
.ct { font-family: var(--font-display); font-size: 15px; font-weight: 700; margin-bottom: 2px; }
.cs { font-size: 12px; color: var(--mt); margin-bottom: 16px; }
canvas { max-height: 190px; }

/* ═══ WEEKLY / ANOMALY ═══════════════════════════════════════════ */
.wcard {
  background: linear-gradient(135deg, rgba(200,245,90,.1), rgba(90,245,200,.06));
  border: 1px solid rgba(200,245,90,.2);
  border-radius: var(--r-lg);
  padding: 16px 20px;
  margin-bottom: 18px;
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  backdrop-filter: blur(12px);
}
.anom {
  background: rgba(245,200,90,.07);
  border: 1px solid rgba(245,200,90,.2);
  border-radius: var(--r-lg);
  padding: 13px 18px;
  margin-bottom: 18px;
  font-size: 14px;
  display: flex; align-items: center; gap: 12px;
  backdrop-filter: blur(12px);
}

/* ═══ BOX CONTAINERS ═════════════════════════════════════════════ */
.box {
  background: var(--sf);
  backdrop-filter: blur(var(--blur)) saturate(180%);
  -webkit-backdrop-filter: blur(var(--blur)) saturate(180%);
  border: 1px solid var(--bd);
  border-radius: var(--r-lg);
  padding: 18px;
  margin-bottom: 14px;
  position: relative; overflow: hidden;
  width: 100%;
}
.box::after { content:''; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(135deg,rgba(255,255,255,.025) 0%,transparent 52%); pointer-events:none; }
.bh { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; gap: 8px; flex-wrap: wrap; }

/* ═══ FILTER ROW ═════════════════════════════════════════════════ */
.fr { display: flex; gap: 6px; margin-bottom: 12px; flex-wrap: wrap; align-items: center; width: 100%; }
.sb {
  flex: 1; min-width: 0;
  background: var(--sf2); backdrop-filter: blur(8px);
  border: 1px solid var(--bd); border-radius: 12px;
  padding: 8px 12px; color: var(--tx);
  font-family: var(--font-ui); font-size: 13px;
  outline: none; transition: border-color .15s;
}
.sb:focus { border-color: var(--ac); box-shadow: 0 0 0 3px rgba(200,245,90,.1); }
.sb::placeholder { color: var(--mt); }
select.sel {
  background: var(--sf2); backdrop-filter: blur(8px);
  border: 1px solid var(--bd); border-radius: 12px;
  padding: 8px 12px; color: var(--tx);
  font-family: var(--font-ui); font-size: 12px;
  outline: none; cursor: pointer;
}
.vtog { display: flex; gap: 2px; background: var(--sf2); border-radius: 11px; padding: 3px; border: 1px solid var(--bd); }
.vbtn { width: 28px; height: 28px; border-radius: 8px; border: none; cursor: pointer; background: transparent; font-size: 12px; color: var(--mt); transition: all .12s; display: flex; align-items: center; justify-content: center; }
.vbtn.active { background: var(--sf-solid); color: var(--tx); box-shadow: 0 2px 6px var(--sh); }

/* ═══ TX ITEMS ═══════════════════════════════════════════════════ */
.tl { display: flex; flex-direction: column; gap: 2px; }
.ti {
  display: flex; align-items: center;
  padding: 11px 13px; border-radius: 14px;
  transition: background .12s; gap: 11px; position: relative;
}
.ti:hover { background: var(--sf2); }
.ti.fut-tx { border-left: 3px solid rgba(167,139,250,.6); background: rgba(167,139,250,.04); border-radius: 0 14px 14px 0; }
.ti.ovd-tx { border-left: 3px solid rgba(245,112,90,.6); background: rgba(245,112,90,.04); border-radius: 0 14px 14px 0; }
.ti.pnd-tx { border-left: 3px solid rgba(245,200,90,.5); background: rgba(245,200,90,.04); border-radius: 0 14px 14px 0; }
.ti.paid-tx { opacity: .45; }
.tico { width: 38px; height: 38px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 16px; flex-shrink: 0; }
.tinf { flex: 1; min-width: 0; }
.tnm { font-size: 15px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--tx); }
.tcat { font-size: 12px; color: var(--mt); margin-top: 3px; display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.tr { text-align: right; flex-shrink: 0; }
.tam { font-family: var(--font-money); font-weight: 700; font-size: 15px; letter-spacing: 0; }
.tam.income { color: var(--ac); }
.tam.expense { color: var(--dan); }
.tam.fut-c { color: var(--fut); }
.tdt { font-size: 10px; color: var(--mt); margin-top: 2px; }
.tact { display: flex; gap: 3px; flex-shrink: 0; }
.ib { width: 28px; height: 28px; border-radius: 8px; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 12px; background: transparent; color: var(--mt); transition: all .12s; }
.ib:hover { background: var(--sf2); color: var(--tx); }
.ib.del:hover { background: rgba(245,112,90,.15); color: var(--dan); }
.ib.ok:hover { background: rgba(74,222,128,.15); color: var(--grn); }
.bdg { display: inline-flex; align-items: center; padding: 2px 7px; border-radius: 6px; font-size: 10px; font-weight: 500; }
.bdg-f { background: rgba(167,139,250,.15); color: var(--fut); }
.bdg-o { background: rgba(245,112,90,.15); color: var(--dan); }
.bdg-i { background: rgba(90,175,245,.15); color: #5ab5f5; }
.bdg-r { background: rgba(74,222,128,.15); color: var(--grn); }
.bdg-p { background: rgba(245,200,90,.15); color: var(--warn); }
.bdg-ok { background: rgba(74,222,128,.15); color: var(--grn); }
.tl.compact .ti { padding: 7px 11px; }
.tl.compact .tico { width: 30px; height: 30px; font-size: 13px; border-radius: 9px; }
.tl.compact .tnm { font-size: 13px; }

/* ═══ PERIOD BAR ═════════════════════════════════════════════════ */
.pbar {
  display: flex; gap: 4px; align-items: center; flex-wrap: wrap;
  margin-bottom: 16px;
  background: var(--sf); backdrop-filter: blur(16px);
  border: 1px solid var(--bd); border-radius: var(--r-pill);
  padding: 5px 6px;
}
.pb {
  padding: 5px 14px; border-radius: var(--r-pill);
  border: none; cursor: pointer;
  font-family: var(--font-ui); font-size: 12px; font-weight: 500;
  background: transparent; color: var(--mt);
  transition: all .15s; white-space: nowrap;
}
.pb:hover { color: var(--tx); background: var(--sf2); }
.pb.active { background: var(--ac); color: #0d0f14; font-weight: 700; box-shadow: 0 2px 8px rgba(200,245,90,.3); }
.pd { width: 1px; height: 16px; background: var(--bd); flex-shrink: 0; }
.pl { font-size: 9px; color: var(--mt); font-weight: 700; letter-spacing: 1px; text-transform: uppercase; padding: 0 3px; }

/* ═══ MONTH NAV ══════════════════════════════════════════════════ */
.mnav {
  display: flex; align-items: center; gap: 8px;
  background: var(--sf2); backdrop-filter: blur(12px);
  border: 1px solid var(--bd); border-radius: var(--r-pill);
  padding: 6px 14px;
}
.mnav button { background: none; border: none; color: var(--mt); cursor: pointer; font-size: 16px; padding: 0 2px; transition: color .12s; }
.mnav button:hover { color: var(--tx); }
.mname { font-weight: 600; font-size: 12px; min-width: 90px; text-align: center; color: var(--tx); }

/* ═══ CALENDAR ═══════════════════════════════════════════════════ */

/* ═══ QUICK ADD ══════════════════════════════════════════════════ */
.qa-wrap {
  position: fixed;
  bottom: 28px;
  right: 28px; z-index: 299;
  display: none; flex-direction: column; align-items: flex-end; gap: 10px;
}
.qa-panel {
  background: var(--sf);
  backdrop-filter: blur(32px) saturate(200%);
  -webkit-backdrop-filter: blur(32px) saturate(200%);
  border: 1px solid var(--bd);
  border-radius: 24px; padding: 18px; width: 290px;
  box-shadow: 0 24px 64px var(--sh);
  animation: slideUp .22s cubic-bezier(.34,1.1,.64,1);
  display: none;
}
.qa-panel.open { display: block; }
@keyframes slideUp { from { opacity:0; transform:translateY(16px) scale(.95) } to { opacity:1; transform:none } }
.fab {
  width: 54px; height: 54px; border-radius: 50%;
  background: linear-gradient(135deg, var(--ac), #a8e040);
  color: #0d0f14; border: none; font-size: 26px; font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(200,245,90,.4), 0 0 0 4px rgba(200,245,90,.12);
  display: flex; align-items: center; justify-content: center;
  transition: all .18s; flex-shrink: 0;
}
.fab:active { transform: scale(.9); }
.fab.open { background: linear-gradient(135deg, var(--dan), #d44); box-shadow: 0 4px 20px rgba(245,112,90,.4), 0 0 0 4px rgba(245,112,90,.1); }
.qa-type { display: flex; gap: 4px; margin-bottom: 14px; background: var(--sf2); border-radius: var(--r-pill); padding: 4px; }
.qa-tb { flex: 1; padding: 8px; border-radius: var(--r-pill); border: none; cursor: pointer; font-family: var(--font-ui); font-size: 12px; font-weight: 700; background: transparent; color: var(--mt); transition: all .15s; }
.qa-tb.active.expense { background: rgba(245,112,90,.2); color: var(--dan); }
.qa-tb.active.income { background: rgba(200,245,90,.2); color: var(--ac); }
.qa-disp { text-align: center; margin-bottom: 10px; }
.qa-amt { font-family: var(--font-money); font-size: 28px; font-weight: 800; letter-spacing: 0; min-height: 38px; }
.qa-amt.expense { color: var(--dan); }
.qa-amt.income { color: var(--ac); }
.qa-cats { display: flex; gap: 5px; flex-wrap: wrap; margin-bottom: 12px; }
.qa-cat { padding: 5px 10px; border-radius: var(--r-pill); background: var(--sf2); border: 1px solid var(--bd); font-size: 11px; cursor: pointer; transition: all .12s; display: flex; align-items: center; gap: 4px; font-family: var(--font-ui); }
.qa-cat:hover { border-color: var(--ac); }
.qa-cat.sel { background: rgba(200,245,90,.15); color: var(--ac); border-color: rgba(200,245,90,.4); font-weight: 700; }
.qa-pad { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; margin-bottom: 12px; }
.qa-key { padding: 11px; border-radius: 14px; border: none; cursor: pointer; background: var(--sf2); color: var(--tx); font-family: var(--font-ui); font-size: 16px; font-weight: 600; transition: all .12s; text-align: center; }
.qa-key:hover { background: var(--bd); }
.qa-key:active { transform: scale(.92); }
.qa-key.del-k { background: rgba(245,112,90,.1); color: var(--dan); }
.qa-note { width: 100%; background: var(--sf2); border: 1px solid var(--bd); border-radius: 12px; padding: 8px 12px; color: var(--tx); font-family: var(--font-ui); font-size: 12px; outline: none; margin-bottom: 10px; }
.qa-note::placeholder { color: var(--mt); }
.qa-save { width: 100%; padding: 11px; border-radius: var(--r-pill); border: none; cursor: pointer; background: linear-gradient(135deg, var(--ac), #a8e040); color: #0d0f14; font-family: var(--font-display); font-size: 14px; font-weight: 800; transition: all .15s; letter-spacing: 0; }
.qa-save:hover { filter: brightness(1.08); }

/* ═══ GLOBAL SEARCH ══════════════════════════════════════════════ */
.srch-ov { position: fixed; inset: 0; background: rgba(8,9,13,.7); backdrop-filter: blur(8px); z-index: 600; display: none; align-items: flex-start; justify-content: center; padding-top: 80px; }
.srch-ov.open { display: flex; }
.srch-box { background: var(--sf); backdrop-filter: blur(32px); border: 1px solid var(--bd); border-radius: 22px; width: 560px; max-width: 95vw; overflow: hidden; animation: fadeUp .15s ease; }
.srch-inp { display: flex; align-items: center; gap: 10px; padding: 16px 18px; border-bottom: 1px solid var(--bd); }
.srch-inp input { flex: 1; background: none; border: none; outline: none; color: var(--tx); font-family: var(--font-ui); font-size: 16px; }
.srch-inp input::placeholder { color: var(--mt); }
.srch-scopes{display:flex;gap:8px;flex-wrap:wrap;padding:10px 18px;border-bottom:1px solid var(--bd);}
.srch-chip{border:1px solid var(--bd);background:var(--sf2);color:var(--mt);border-radius:999px;padding:7px 11px;font-size:11px;font-weight:700;cursor:pointer;}
.srch-chip.active{border-color:var(--ac);background:rgba(200,245,90,.12);color:var(--tx);}
.srch-res { max-height: 400px; overflow-y: auto; }
.srch-lbl { font-size: 9px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--mt); padding: 12px 18px 5px; }
.srch-row { display: flex; align-items: center; gap: 10px; padding: 10px 18px; cursor: pointer; transition: background .1s; }
.srch-row:hover { background: var(--sf2); }
.srch-empty { text-align: center; padding: 40px; color: var(--mt); font-size: 13px; }
.srch-actions{display:flex;gap:8px;flex-wrap:wrap;padding:12px 18px 4px;}
.srch-action-btn{border:1px solid var(--bd);background:var(--sf2);color:var(--tx);border-radius:12px;padding:8px 10px;font-size:11px;font-weight:700;cursor:pointer;}
.srch-inline-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px;}
.srch-inline-actions button{border:1px solid var(--bd);background:var(--sf2);color:var(--tx);border-radius:9px;padding:5px 8px;font-size:10px;font-weight:800;cursor:pointer;}
.srch-inline-actions button:hover{border-color:rgba(200,245,90,.35);color:var(--ac);}

/* ═══ BUDGET / GOALS ═════════════════════════════════════════════ */
.bg-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; width: 100%; }
.bg-card {
  background: var(--sf);
  backdrop-filter: blur(var(--blur)) saturate(180%);
  -webkit-backdrop-filter: blur(var(--blur)) saturate(180%);
  border: 1px solid var(--bd);
  border-radius: var(--r-lg); padding: 18px;
  transition: transform .18s;
  position: relative; overflow: hidden;
}
.bg-card::after { content:''; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(135deg,rgba(255,255,255,.04) 0%,transparent 60%); pointer-events:none; }
.bg-card:hover { transform: translateY(-2px); }
.prg { height: 5px; background: var(--sf2); border-radius: 99px; overflow: hidden; margin: 7px 0; }
.pf { height: 100%; border-radius: 99px; transition: width .8s cubic-bezier(.4,0,.2,1); }

/* ═══ SECTION DIVIDER ════════════════════════════════════════════ */
.sdiv { display: flex; align-items: center; gap: 10px; margin: 18px 0 12px; }
.sdiv-line { flex: 1; height: 1px; background: var(--bd); }
.sdiv-lbl { font-size: 9px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--mt); white-space: nowrap; }

/* ═══ FUTURE GRID ════════════════════════════════════════════════ */
.fgrid { display: grid; grid-template-columns: repeat(5,1fr); gap: 12px; margin-bottom: 18px; }

/* ═══ SETTINGS ═══════════════════════════════════════════════════ */
.ss { background: var(--sf); backdrop-filter: blur(var(--blur)); border: 1px solid var(--bd); border-radius: 18px; overflow: hidden; margin-bottom: 12px; }
.ss-t { font-size: 9px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--mt); padding: 12px 16px 8px; }
.ss-r { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-top: 1px solid var(--bd); gap: 10px; }
.ss-r:first-of-type { border-top: none; }
.ss-l { font-size: 14px; font-weight: 500; }
.ss-s { font-size: 12px; color: var(--mt); margin-top: 2px; }
.quick-preview{margin:-4px 0 12px;padding:10px 12px;border:1px solid var(--bd);border-radius:12px;background:var(--sf2);font-size:12px;color:var(--mt);line-height:1.45;}
.quick-preview.ok{border-color:rgba(200,245,90,.22);background:rgba(200,245,90,.07);color:var(--tx2);}
.quick-preview.warn{border-color:rgba(245,200,90,.24);background:rgba(245,200,90,.08);color:var(--warn);}
.tog { position: relative; width: 42px; height: 24px; flex-shrink: 0; }
.tog input { opacity: 0; width: 0; height: 0; position: absolute; }
.tog-t { position: absolute; inset: 0; border-radius: 99px; background: var(--sf2); border: 1px solid var(--bd); cursor: pointer; transition: background .18s; }
.tog input:checked+.tog-t { background: var(--ac); border-color: var(--ac); }
.tog-th { position: absolute; top: 4px; left: 4px; width: 14px; height: 14px; border-radius: 50%; background: #fff; transition: transform .18s; pointer-events: none; box-shadow: 0 1px 4px rgba(0,0,0,.3); }
.tog input:checked~.tog-th { transform: translateX(18px); }
.cat-chip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: var(--r-pill); border: 1px solid var(--bd); background: var(--sf2); font-size: 12px; }
.chip-x { width: 14px; height: 14px; border-radius: 50%; background: rgba(245,112,90,.18); color: var(--dan); font-size: 9px; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.cat-filter-row { display:flex; flex-wrap:wrap; gap:7px; margin: 10px 0 12px; }
.cat-filter-chip {
  --cat: var(--ac);
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:30px;
  padding:6px 10px;
  border-radius: 8px;
  border:1px solid color-mix(in srgb, var(--cat) 45%, transparent);
  background: color-mix(in srgb, var(--cat) 12%, transparent);
  color: color-mix(in srgb, var(--cat) 78%, var(--tx));
  cursor:pointer;
  font-size:11px;
  font-weight:700;
}
.cat-filter-chip:first-child { color: var(--tx2); }
.cat-filter-chip:hover,
.cat-filter-chip.active {
  background: color-mix(in srgb, var(--cat) 22%, transparent);
  color: color-mix(in srgb, var(--cat) 86%, var(--tx));
  border-color: color-mix(in srgb, var(--cat) 78%, transparent);
}

/* ═══ TRANSACTIONS POLISH ═══════════════════════════════════════ */
.tx-head-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.tx-head { margin-bottom: 12px; }
.tx-period-bar {
  display: inline-flex;
  flex-wrap: wrap;
  width: auto;
  max-width: 100%;
  padding: 3px;
  margin-bottom: 10px;
  background: color-mix(in srgb, var(--sf) 78%, transparent);
}
.tx-period-bar .pb {
  min-height: 31px;
  padding: 5px 11px;
  font-size: 11px;
  font-weight: 600;
}
.tx-surface {
  padding: 14px;
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.018), transparent 140px),
    var(--sf);
}
.tx-surface::after { opacity: .45; }
.tx-toolbar {
  gap: 6px;
  padding: 6px;
  margin-bottom: 6px;
  border: 1px solid var(--bd);
  border-radius: 16px;
  background: color-mix(in srgb, var(--sf2) 62%, transparent);
}
.tx-toolbar .sb {
  flex: 1.45;
  min-height: 36px;
  padding-inline: 12px;
  border-radius: 12px;
  background: rgba(255,255,255,.012);
  font-size: 12px;
}
.tx-toolbar .sb:focus {
  border-color: rgba(200,245,90,.38);
  box-shadow: 0 0 0 2px rgba(200,245,90,.08);
}
.tx-toolbar .sel {
  min-width: 0;
  min-height: 36px;
  border-radius: 12px;
  padding: 0 30px 0 11px;
  background-position: right 10px center;
  background-size: 10px;
  font-size: 11px;
  font-weight: 600;
}
.tx-toolbar .tx-sel-sm { width: 104px; }
.tx-toolbar .tx-sel-md { width: 118px; }
.tx-toolbar .vtog {
  min-height: 36px;
  padding: 3px;
  border-radius: 12px;
}
.tx-toolbar .vbtn {
  width: 28px;
  height: 28px;
  border-radius: 9px;
  font-size: 11px;
}
.tx-page .cat-filter-row {
  margin: 0 0 7px;
  padding: 1px 0;
}
.tx-page .cat-filter-chip {
  min-height: 28px;
  padding: 5px 9px;
  border-radius: 9px;
  font-size: 10px;
  letter-spacing: .15px;
}
.tx-range-row {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex-wrap: nowrap;
  min-height: 24px;
  flex: 0 0 auto;
  padding: 0 4px 0 2px;
}
.tx-range-fields {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex: 0 0 auto;
}
.tx-range-label,
.tx-range-sep {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .6px;
  text-transform: uppercase;
  color: var(--mt);
  line-height: 1;
}
.tx-range-input {
  flex: 0 0 auto;
  width: 68px;
  min-width: 68px;
  max-width: 68px;
  height: 24px;
  padding: 0 8px;
  font-size: 10px;
  border-radius: 9px;
}
.tx-range-input:focus {
  border-color: rgba(200,245,90,.26);
  box-shadow: 0 0 0 1px rgba(200,245,90,.08);
}
.tx-range-input::-webkit-outer-spin-button,
.tx-range-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.tx-range-input[type=number] {
  -moz-appearance: textfield;
  appearance: textfield;
}
.tx-summary-strip {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.tx-sum-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid var(--bd);
  background: color-mix(in srgb, var(--sf2) 84%, transparent);
  font-size: 11px;
  font-weight: 700;
}
.tx-sum-pill.pos { color: var(--ac); border-color: rgba(200,245,90,.24); }
.tx-sum-pill.neg { color: var(--dan); border-color: rgba(245,112,90,.24); }
.tx-sum-pill.warn { color: var(--warn); border-color: rgba(245,200,90,.22); }
.tx-sum-pill.fut { color: var(--fut); border-color: rgba(167,139,250,.22); }
.tx-sum-pill.muted { color: var(--mt); }
.tx-summary-strip .btn { min-height: 34px; }
.tx-page .insight-grid {
  margin-bottom: 16px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.tx-page .insight-card {
  border-radius: 20px;
  padding: 13px 15px;
  background: linear-gradient(180deg, rgba(255,255,255,.018), transparent 85%), var(--sf);
}
.tx-page .insight-k { font-size: 9px; letter-spacing: .85px; }
.tx-page .insight-v { margin-top: 6px; font-size: 17px; }
.tx-chart-wrap { margin-bottom: 16px; }
.tx-chart-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.tx-chart-card { padding: 14px 16px; }
.tx-chart-title { margin-bottom: 2px; font-size: 12px; }
.tx-chart-sub { margin-bottom: 10px; font-size: 10px; }
.tx-list-host .tl {
  gap: 8px;
  padding-top: 4px;
  border-top: 1px solid color-mix(in srgb, var(--bd) 74%, transparent);
}
.tx-list-host .ti {
  padding: 12px 14px;
  border: 1px solid transparent;
  border-radius: 18px;
  background: color-mix(in srgb, var(--sf2) 42%, transparent);
}
.tx-list-host .ti:hover {
  background: color-mix(in srgb, var(--sf2) 62%, transparent);
  border-color: color-mix(in srgb, var(--bd) 86%, transparent);
}
.tx-list-host .tnm { font-weight: 600; }
.tx-list-host .tcat { margin-top: 4px; }
.tx-list-host .bdg {
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 10px;
}
.tx-list-host .tr { min-width: 118px; }
.tx-list-host .tam { font-size: 14px; }
.tx-list-host .tdt { margin-top: 3px; font-size: 11px; }
.tx-list-host .tact { gap: 4px; }
.tx-list-host .ib {
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: rgba(255,255,255,.015);
}
.tx-list-host .ib:hover { transform: translateY(-1px); }
.tx-list-host .empty {
  padding: 34px 16px;
  border: 1px dashed color-mix(in srgb, var(--bd) 78%, transparent);
  border-radius: 18px;
  background: color-mix(in srgb, var(--sf2) 34%, transparent);
}

/* ═══ MODALS ═════════════════════════════════════════════════════ */
.ov { display: none; position: fixed; inset: 0; background: rgba(8,9,13,.75); backdrop-filter: blur(8px); z-index: 500; align-items: center; justify-content: center; }
.ov.open { display: flex; }
.modal {
  background: var(--sf);
  backdrop-filter: blur(32px) saturate(200%);
  -webkit-backdrop-filter: blur(32px) saturate(200%);
  border: 1px solid var(--bd);
  border-radius: 24px; padding: 28px;
  width: 490px; max-width: 96vw; max-height: 90vh;
  overflow-y: auto; position: relative;
  animation: mIn .22s cubic-bezier(.34,1.2,.64,1);
}
@keyframes mIn { from { opacity:0; transform:scale(.93) translateY(14px) } to { opacity:1; transform:none } }
.mt { font-family: var(--font-display); font-size: 20px; font-weight: 800; margin-bottom: 2px; letter-spacing: 0; }
.ms { color: var(--mt); font-size: 12px; margin-bottom: 20px; }
.fg { margin-bottom: 13px; }
.fl { display: block; font-size: 10px; font-weight: 700; color: var(--mt); text-transform: uppercase; letter-spacing: .5px; margin-bottom: 6px; }
.fi { width: 100%; background: var(--sf2); backdrop-filter: blur(8px); border: 1px solid var(--bd); border-radius: 12px; padding: 10px 14px; color: var(--tx); font-family: var(--font-ui); font-size: 14px; outline: none; transition: border-color .15s; }
.fi:focus { border-color: rgba(200,245,90,.45); box-shadow: 0 0 0 3px rgba(200,245,90,.08); }
.fi::placeholder { color: var(--mt); }
.required-hint{margin:-2px 0 12px;padding:9px 12px;border:1px solid rgba(90,245,200,.18);background:rgba(90,245,200,.07);border-radius:12px;color:var(--tx2);font-size:11px;line-height:1.45;}
.due-inline-edit{display:grid;grid-template-columns:1.2fr .8fr .9fr 1fr auto auto;gap:8px;align-items:center;padding:10px 12px 12px;margin:0 4px 8px 44px;background:var(--sf2);border:1px solid var(--bd);border-radius:14px;}
.commit-list{display:flex;flex-direction:column;gap:10px;}
.commit-row{display:flex;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid var(--bd);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 86%),var(--sf2);}
.commit-title{font-size:14px;font-weight:700;color:var(--tx);}
.commit-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px;align-items:center;}
.commit-note{font-size:10px;color:var(--mt);}
.commit-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:180px;text-align:right;}
.commit-side strong{font-family:var(--font-money);font-size:16px;}
.commit-side small{font-size:11px;color:var(--mt);}
.commit-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.sidebar-shortcut-editor{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:0;
}
.sidebar-shortcut-slot{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
}
.sidebar-shortcut-slot span{
  font-size:11px;
  color:var(--mt);
  font-weight:700;
}
.sidebar-shortcut-menu .fi{
  padding:8px 10px;
  font-size:12px;
  min-width:0;
}
.frow { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ma { display: flex; gap: 8px; margin-top: 20px; }
.mc { position: absolute; top: 14px; right: 14px; width: 30px; height: 30px; border-radius: 10px; border: none; background: var(--sf2); color: var(--mt); cursor: pointer; font-size: 14px; display: flex; align-items: center; justify-content: center; }
.mc:hover { background: var(--bd); color: var(--tx); }
.typetog { display: flex; background: var(--sf2); border-radius: var(--r-pill); padding: 4px; gap: 4px; margin-bottom: 14px; }
.ttb { flex: 1; padding: 8px; border-radius: var(--r-pill); border: none; cursor: pointer; font-family: var(--font-ui); font-size: 13px; font-weight: 600; transition: all .15s; background: transparent; color: var(--mt); }
.ttb.active.expense { background: rgba(245,112,90,.18); color: var(--dan); }
.ttb.active.income { background: rgba(200,245,90,.18); color: var(--ac); }
.opt-tog { display: flex; align-items: center; gap: 10px; background: var(--sf2); border-radius: 14px; padding: 11px 14px; cursor: pointer; border: 1px solid var(--bd); transition: border-color .15s; margin-bottom: 10px; }
.opt-tog:hover { border-color: var(--ac); }
.opt-tog input[type=checkbox] { width: 15px; height: 15px; accent-color: var(--ac); cursor: pointer; }
.opt-sec { border-radius: 14px; padding: 13px; margin-bottom: 10px; }
.opt-sec.ins { background: rgba(90,175,245,.06); border: 1px solid rgba(90,175,245,.18); }
.opt-sec.rec { background: rgba(74,222,128,.06); border: 1px solid rgba(74,222,128,.18); }
.opt-t { font-size: 9px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 10px; }
.iprev { font-size: 11px; color: var(--mt); margin-top: 7px; padding: 8px 12px; background: var(--sf); border-radius: 10px; line-height: 1.5; }

/* ═══ SETUP ══════════════════════════════════════════════════════ */
#setup {
  display: none;
  position: fixed;
  inset: 0;
  background: var(--bg);
  background-image: var(--grad-bg);
  background-attachment: scroll;
  z-index: 9999;
  align-items: flex-start;
  justify-content: center;
  overflow-y: auto;
  padding: 28px 20px 36px;
}
#setup.visible { display: flex; }
.setup-box {
  width: 410px; max-width: 95vw;
  background: var(--sf);
  backdrop-filter: blur(32px) saturate(200%);
  -webkit-backdrop-filter: blur(32px) saturate(200%);
  border: 1px solid var(--bd);
  border-radius: 24px; padding: 28px 28px;
  animation: fadeUp .35s ease;
  box-shadow: 0 24px 80px var(--sh);
  margin: 0 auto;
}
.setup-shell {
  width: min(1280px, calc(100vw - 24px));
  max-width: min(1280px, calc(100vw - 24px));
  padding: 18px;
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, 390px);
  gap: 16px;
  align-items: stretch;
}
.setup-shell.login-only {
  width: min(430px, calc(100vw - 28px));
  max-width: min(430px, calc(100vw - 28px));
  grid-template-columns: 1fr;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.setup-story {
  min-width: 0;
  padding: 22px 22px 16px;
  border-radius: 22px;
  background:
    radial-gradient(circle at top right, rgba(200,245,90,.1), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.03), transparent 52%),
    color-mix(in srgb, var(--sf2) 58%, transparent);
  border: 1px solid color-mix(in srgb, var(--bd) 92%, transparent);
}
.setup-head {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(290px, 360px);
  gap: 18px;
  align-items: start;
  margin-bottom: 14px;
}
.setup-copy-block {
  min-width: 0;
  align-self: start;
}
.setup-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(200,245,90,.11);
  border: 1px solid rgba(200,245,90,.2);
  color: var(--ac);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .3px;
  margin-bottom: 14px;
}
.setup-title {
  font-family: var(--font-display);
  font-size: clamp(30px, 3.8vw, 50px);
  line-height: .92;
  letter-spacing: -.035em;
  margin: 0 0 10px;
  max-width: 9.2em;
}
.setup-copy {
  max-width: 52ch;
  color: var(--tx2);
  font-size: 14px;
  line-height: 1.62;
  margin: 0;
}
.setup-inline-preview {
  margin-top: 18px;
  padding: 14px;
  border-radius: 20px;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.06);
}
.setup-inline-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.setup-inline-head strong {
  font-size: 13px;
  color: var(--tx);
}
.setup-inline-head span {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .7px;
  text-transform: uppercase;
  color: var(--mt);
}
.setup-inline-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.setup-inline-card {
  padding: 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
}
.setup-inline-card span {
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .65px;
  text-transform: uppercase;
  color: var(--mt);
  margin-bottom: 8px;
}
.setup-inline-card strong {
  display: block;
  font-size: 15px;
  line-height: 1.25;
  margin-bottom: 6px;
}
.setup-inline-card small {
  display: block;
  color: var(--mt);
  font-size: 11px;
  line-height: 1.45;
}
.setup-preview {
  padding: 14px;
  border-radius: 22px;
  background: rgba(15,18,26,.74);
  border: 1px solid rgba(255,255,255,.06);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
  align-self: start;
}
.setup-preview-head {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--mt);
  font-size: 11px;
  margin-bottom: 12px;
}
.setup-preview-head strong { color: var(--tx2); font-size: 11px; }
.setup-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,.18);
}
.setup-kpis {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-bottom: 12px;
}
.setup-kpi,
.setup-rail-card {
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
}
.setup-kpi span,
.setup-rail-title {
  display: block;
  color: var(--mt);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .65px;
  text-transform: uppercase;
}
.setup-kpi strong {
  display: block;
  margin-top: 7px;
  font-family: var(--font-money);
  font-size: 21px;
  color: var(--tx);
}
.setup-rail {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.setup-rail-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 10px;
  margin-top: 10px;
  border-top: 1px solid rgba(255,255,255,.06);
  font-size: 12px;
  color: var(--mt);
}
.setup-rail-line strong { color: var(--tx2); font-size: 12px; }
.setup-rail-card.accent {
  background: linear-gradient(135deg, rgba(200,245,90,.08), rgba(90,245,200,.06));
}
.setup-flow {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 10px;
}
.setup-flow span {
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(8,9,13,.3);
  border: 1px solid rgba(255,255,255,.08);
  font-size: 11px;
  font-weight: 700;
}
.setup-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 0;
}
.setup-feature-card {
  padding: 13px;
  border-radius: 18px;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.06);
  min-height: 120px;
}
.setup-feature-card strong {
  display: block;
  margin-bottom: 7px;
  font-size: 14px;
}
.setup-feature-card p {
  margin: 0;
  color: var(--mt);
  font-size: 12px;
  line-height: 1.55;
}
.setup-auth {
  padding: 24px 22px;
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(200,245,90,.07), transparent 34%),
    var(--sf);
  border: 1px solid color-mix(in srgb, rgba(200,245,90,.22) 50%, var(--bd));
  box-shadow: 0 18px 48px rgba(0,0,0,.18);
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.setup-shell.login-only .setup-auth {
  min-height: auto;
  padding: 30px 28px;
  border-radius: 24px;
}
.setup-shell.login-only .slogo {
  margin-bottom: 14px;
}
.setup-auth-panel {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.setup-auth-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(200,245,90,.12);
  border: 1px solid rgba(200,245,90,.18);
  color: var(--ac);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .4px;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.setup-auth-panel .back-btn { margin-bottom: 10px; }
.setup-auth-panel .auth-title { margin-bottom: 10px; }
.setup-auth-intro,
.setup-section-note {
  color: var(--mt);
  font-size: 11px;
  line-height: 1.55;
  margin-bottom: 12px;
}
.setup-auth-intro { margin-top: 0; }
.setup-auth-note {
  margin-top: 12px;
  color: var(--mt);
  font-size: 11px;
  line-height: 1.5;
}
.auth-title-local { margin-bottom: 8px; }
.setup-auth-note a {
  color: var(--tx2);
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.slogo { font-family: var(--font-display); font-weight: 800; font-size: 30px; color: var(--ac); margin-bottom: 2px; letter-spacing: 0; }
.slogo span { color: var(--tx); }
.stag { color: var(--mt); font-size: 13px; margin-bottom: 20px; }
.auth-title { font-size: 24px; line-height: 1.08; font-weight: 800; margin-bottom: 12px; font-family: var(--font-display); }
.slbl { display: block; font-size: 10px; font-weight: 700; color: var(--mt); text-transform: uppercase; letter-spacing: .5px; margin-bottom: 6px; }
.sinp { width: 100%; background: var(--sf2); border: 1px solid var(--bd); border-radius: 14px; padding: 11px 14px; color: var(--tx); font-family: var(--font-ui); font-size: 14px; outline: none; transition: border-color .15s; margin-bottom: 12px; }
.sinp:focus { border-color: var(--ac); box-shadow: 0 0 0 3px rgba(200,245,90,.1); }
.sinp::placeholder { color: var(--mt); }
.shint { font-size: 11px; color: var(--mt); margin-top: -8px; margin-bottom: 12px; line-height: 1.6; }
.sbtn { width: 100%; padding: 14px; background: linear-gradient(135deg, rgba(200,245,90,.94), rgba(168,224,64,.94)); color: #0d0f14; border: 1px solid rgba(200,245,90,.2); border-radius: var(--r-pill); font-family: var(--font-display); font-size: 15px; font-weight: 700; cursor: pointer; margin-top: 4px; transition: all .15s; display: flex; align-items: center; justify-content: center; gap: 7px; letter-spacing: 0; }
.sbtn:hover { filter: brightness(1.03); transform: translateY(-1px); box-shadow: 0 8px 18px rgba(200,245,90,.2); }
.sbtn:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.ssep { text-align: center; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--bd); }
.ssep a { font-size: 12px; color: var(--mt); cursor: pointer; text-decoration: underline; }
.slinks { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 14px; color: var(--mt); font-size: 12px; }
.slinks a { color: var(--tx2); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.slinks span { width: 4px; height: 4px; border-radius: 50%; background: var(--bd); }
.auth-ok { margin-top: 12px; background: rgba(90,245,200,.08); border: 1px solid rgba(90,245,200,.22); border-radius: 12px; padding: 12px; font-size: 12px; color: var(--tx2); }
.auth-ok strong { display: block; color: var(--ac2); margin-bottom: 3px; }
.sbtn.secondary { background: var(--sf2) !important; color: var(--tx) !important; border: 1px solid var(--bd); box-shadow: none; }
.serr { background: rgba(245,112,90,.1); border: 1px solid rgba(245,112,90,.25); border-radius: 12px; padding: 10px 14px; font-size: 12px; color: var(--dan); margin-bottom: 12px; display: none; }
.serr.show { display: block; }
.mode-btn { display: flex; align-items: center; gap: 14px; padding: 15px 16px; background: var(--sf2); border: 1px solid var(--bd); border-radius: 16px; cursor: pointer; width: 100%; font-family: var(--font-ui); color: var(--tx); transition: border-color .15s, background .15s; margin-bottom: 8px; text-align: left; }
.mode-btn:hover { border-color: rgba(200,245,90,.4); background: rgba(200,245,90,.04); }
.mode-lbl { font-size: 14px; font-weight: 600; margin-bottom: 2px; }
.mode-sub { font-size: 12px; color: var(--mt); }
.mode-emo { font-size: 24px; line-height: 1; display: flex; align-items: center; flex-shrink: 0; width: 36px; justify-content: center; }
.back-btn { display: flex; align-items: center; gap: 5px; font-size: 12px; color: var(--mt); background: none; border: none; cursor: pointer; font-family: var(--font-ui); margin-bottom: 14px; padding: 0; }
.back-btn:hover { color: var(--tx); }
.key-box { font-family: monospace; font-size: 10px; word-break: break-all; background: var(--sf2); padding: 10px 12px; border-radius: 10px; color: var(--tx); line-height: 1.6; margin-top: 10px; }

/* ═══ TOAST ══════════════════════════════════════════════════════ */
.twrap { position: fixed; bottom: 22px; right: 22px; z-index: 999; display: flex; flex-direction: column; gap: 8px; }
.toast {
  background: var(--sf);
  backdrop-filter: blur(24px) saturate(200%);
  border: 1px solid var(--bd);
  border-radius: 16px; padding: 12px 16px;
  font-size: 13px; display: flex; align-items: center; gap: 8px;
  min-width: 190px;
  animation: tIn .25s cubic-bezier(.34,1.2,.64,1);
  box-shadow: 0 12px 32px var(--sh);
}
@keyframes tIn { from { opacity:0; transform:translateX(14px) } to { opacity:1; transform:none } }
.toast.success { border-color: rgba(200,245,90,.35); }
.toast.error { border-color: rgba(245,112,90,.35); }
.toast.info { border-color: rgba(90,175,245,.35); }
.toast.syncing { border-color: rgba(90,175,245,.35); }
.toast-ico {
  width: 20px;
  height: 20px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 20px;
  background: var(--sf2);
  color: var(--ac);
  font-size: 10px;
  font-weight: 900;
}
.toast.error .toast-ico { color: var(--dan); }
.toast.success .toast-ico { color: var(--grn); }
button:focus-visible,
input:focus-visible,
select:focus-visible,
.srch-row:focus-visible {
  outline: 2px solid var(--ac);
  outline-offset: 2px;
}

/* ═══ EMPTY ══════════════════════════════════════════════════════ */
.empty { text-align: center; padding: 48px 16px; color: var(--mt); }
.empty .ei { font-size: 40px; display: block; margin-bottom: 9px; opacity: .35; }
.empty p { font-size: 13px; }

/* ═══ PTR ════════════════════════════════════════════════════════ */
.ptr { position: fixed; top: 0; left: 0; right: 0; z-index: 400; padding-top: env(safe-area-inset-top); display: flex; align-items: center; justify-content: center; gap: 7px; height: 52px; background: var(--sf); backdrop-filter: blur(16px); border-bottom: 1px solid var(--bd); font-size: 13px; color: var(--mt); transform: translateY(-100%); transition: transform .22s; box-shadow: 0 4px 16px var(--sh); }
.ptr.show { transform: translateY(0); }
.ptr-sp { width: 15px; height: 15px; border: 2px solid var(--bd); border-top-color: var(--ac); border-radius: 50%; animation: spin .7s linear infinite; display: none; }
.ptr.loading .ptr-sp { display: block; }
.ptr.loading .ptr-ar { display: none; }
.ptr-ar { transition: transform .2s; }
.ptr-ar.ready { transform: rotate(180deg); }
.btst { position: fixed; bottom: calc(80px + env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%) translateY(18px); background: rgba(8,9,13,.92); backdrop-filter: blur(16px); color: var(--tx); padding: 9px 20px; border-radius: var(--r-pill); font-size: 13px; font-weight: 500; z-index: 1000; opacity: 0; transition: all .22s; pointer-events: none; white-space: nowrap; border: 1px solid var(--bd); box-shadow: 0 4px 16px var(--sh); }
.btst.show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ═══ SCROLLBAR ══════════════════════════════════════════════════ */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-thumb { background: var(--bd); border-radius: 99px; }

/* ═══ RESPONSIVE ═════════════════════════════════════════════════ */
@media(min-width:961px){
  .main { margin-left: 236px; width: calc(100% - 236px); padding: calc(28px + env(safe-area-inset-top)) 36px 40px; }
  .fnav { display: none; }
}
@media(max-width:960px){
  .sidebar { display: none !important; }
  body.mobile-shell { min-height: calc(var(--app-vh) * 100); }
  .main { margin-left: 0; padding: calc(16px + env(safe-area-inset-top)) 14px calc(112px + env(safe-area-inset-bottom)); }
  .mobile-profile-btn{display:inline-flex;position:sticky;top:calc(8px + env(safe-area-inset-top));z-index:50;}
  .pt { font-size: 24px; }
  .ph { align-items: flex-start; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
  .ph > div:first-child { min-width: 0; }
  .ph > div:last-child { max-width: 100%; }
  .ph .btn-p { display: inline-flex; flex-shrink: 0; padding-inline: 12px; }
  .g4 { grid-template-columns: 1fr 1fr; gap: 9px; margin-bottom: 14px; }
  .fgrid { grid-template-columns: 1fr 1fr; gap: 9px; margin-bottom: 14px; }
  .g3, .bg-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .cr { grid-template-columns: 1fr; gap: 10px; margin-bottom: 14px; }
  .cc-box { padding: 16px; }
  canvas { max-height: 150px; }
  .box { padding: 14px 16px; border-radius: 20px; margin-bottom: 12px; }
  .pbar { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; padding: 4px 6px; }
  .pbar::-webkit-scrollbar { display: none; }
  .pb { flex-shrink: 0; }
  .ov { align-items: flex-end !important; }
  .modal { width: 100% !important; max-width: 100% !important; border-radius: 24px 24px 0 0; max-height: min(90vh, calc(var(--app-vh) * 92)); padding-bottom: calc(24px + env(safe-area-inset-bottom)); overscroll-behavior: contain; animation: sUp .24s cubic-bezier(.34,1.1,.64,1); }
  @keyframes sUp { from { transform:translateY(100%); opacity:.4 } to { transform:none; opacity:1 } }
  .frow { grid-template-columns: 1fr; }
  #setup {
    align-items: flex-start;
    padding: 12px 12px calc(24px + env(safe-area-inset-bottom));
  }
  .setup-box {
    width: 100%;
    max-width: 100%;
    border-radius: 24px;
    padding: 18px 16px calc(18px + env(safe-area-inset-bottom));
  }
  .setup-shell {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 0;
  }
  .setup-auth {
    order: -1;
  }
  .setup-story,
  .setup-auth {
    border-radius: 22px;
  }
  .setup-head {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .setup-feature-grid { grid-template-columns: 1fr; }
  .setup-inline-grid { grid-template-columns: 1fr; }
  .setup-title { max-width: none; }
  .twrap { bottom: calc(100px + env(safe-area-inset-bottom)); right: 8px; left: 8px; }
  .conn-toast { right: 8px; left: auto; bottom: calc(170px + env(safe-area-inset-bottom)); max-width:calc(100vw - 16px); min-width:0; }
  .toast { min-width: unset; font-size: 12px; }
  .sc { padding: 14px 16px; }
  .due-inline-edit { grid-template-columns: 1fr 1fr; margin-left: 0; }
  .due-inline-edit .btn { justify-content: center; }
  .commit-row { flex-direction: column; }
  .commit-side { min-width: 0; align-items: flex-start; text-align: left; }
  .commit-actions { justify-content: flex-start; }
  .cv { font-size: 19px; }
  .qa-wrap { display: flex; bottom: calc(82px + env(safe-area-inset-bottom)); right: 16px; left: 16px; align-items: flex-end; }
  .qa-panel { width: min(100%, 320px); max-height: calc(var(--app-vh) * 72); overflow-y: auto; }
  .ti { align-items: flex-start; gap: 9px; }
  .tact { align-self: center; }
  .fr { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none; }
  .fr::-webkit-scrollbar { display: none; }
  .fr > * { min-width: 120px; flex-shrink: 0; }
  .fr .sb { min-width: 180px; flex-basis: 100%; }
  #txChartWrap > div { grid-template-columns: 1fr !important; }
  .sl-header { align-items: flex-start; }
  .sl-add-row .fi { flex-basis: 100%; }
  .tx-surface { padding: 14px; }
  .tx-toolbar { padding: 6px; border-radius: 14px; }
  .tx-toolbar .tx-sel-sm { width: 98px; }
  .tx-toolbar .tx-sel-md { width: 110px; }
  .tx-page .cat-filter-chip { font-size: 10px; }
  .tx-range-row { gap: 5px; min-height: 24px; }
  .tx-range-fields { gap: 4px; }
  .tx-range-input { width: 64px; min-width: 64px; height: 24px; }
  .tx-summary-strip { gap: 6px; }
  .tx-sum-pill { min-height: 32px; padding: 6px 10px; }
  .tx-list-host .tr { min-width: 0; }
  .tx-chart-grid { grid-template-columns: 1fr; }
}
@media(max-width:440px){
  .g4, .fgrid { grid-template-columns: 1fr 1fr; }
  .g3, .bg-grid { grid-template-columns: 1fr; }
  .summary-grid { grid-template-columns: 1fr; }
  .main { padding-inline: 12px; }
  .ph > div:last-child { width: 100%; }
  .ph .btn, .ph .mnav { flex: 1; justify-content: center; }
  .ph .mnav { min-width: 100%; }
  .ps { line-height: 1.35; }
  .setup-story { padding: 16px; }
  .setup-auth { padding: 16px; justify-content: flex-start; }
  .setup-preview { padding: 12px; }
  .setup-feature-card { min-height: 0; }
  .sc { min-height: 106px; }
  .cl { font-size: 9px; }
  .cv { font-size: 17px; }
  .fn-item { font-size: 10px; padding: 9px 1px 7px; }
  .fn-item .fni { font-size: 20px; }
  .ti { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; }
  .tinf { flex-basis: auto; }
  .tr { margin-left: 0; text-align: right; }
  .tact { grid-column: 1 / -1; justify-content: flex-end; margin-left: 0; }
  .ma { flex-direction: column; }
  .toast, .conn-toast { border-radius: 14px; }
  .tx-head-actions { width: 100%; }
  .tx-head-actions .btn { flex: 1; justify-content: center; }
  .tx-toolbar { gap: 7px; }
  .tx-toolbar .sb { min-width: 100%; }
  .tx-toolbar .sel,
  .tx-toolbar .vtog { min-width: 0; }
  .tx-toolbar .tx-sel-sm,
  .tx-toolbar .tx-sel-md { width: calc(50% - 4px); }
  .tx-toolbar .tx-range-row { width: 100%; padding: 0; }
  .tx-page .cat-filter-row { margin-bottom: 10px; }
  .tx-page .insight-grid { grid-template-columns: 1fr; }
  .tx-range-label,
  .tx-range-sep { font-size: 9px; }
  .tx-range-row { align-items: center; flex-wrap: wrap; }
  .tx-range-fields { width: auto; max-width: 100%; }
  .tx-list-host .ti { border-radius: 16px; }
  .tx-list-host .tl { border-top: none; padding-top: 0; }
}
@media(max-width:380px){
  .g4, .fgrid, .month-compare, .mini-stats { grid-template-columns: 1fr !important; }
  .pt { font-size: 22px; }
  .ph .btn-p { width: 100%; justify-content: center; }
  .due-inline-edit { grid-template-columns: 1fr; }
  .commit-actions .btn { width: 100%; justify-content: center; }
  .sidebar-shortcut-menu{
    position:fixed;
    top:auto;
    right:16px;
    left:16px;
    bottom:calc(90px + env(safe-area-inset-bottom));
    width:auto;
  }
}

/* Capacitor/Android: disable blur for performance and compatibility */
.no-blur .sc,
.no-blur .cc-box,
.no-blur .box,
.no-blur .bg-card,
.no-blur .fnav,
.no-blur .modal,
.no-blur .sidebar,
.no-blur .setup-box,
.no-blur .toast,
.no-blur .conn-toast,
.no-blur .qa-panel,
.no-blur .pbar,
.no-blur .srch-box,
.no-blur .acct-pop,
.no-blur .mnav {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
[data-theme=dark] .no-blur .sc,
[data-theme=dark] .no-blur .cc-box,
[data-theme=dark] .no-blur .box,
[data-theme=dark] .no-blur .bg-card { background: rgba(22,25,38,.98) !important; }
[data-theme=dark] .no-blur .fnav { background: rgba(8,9,13,.99) !important; }
[data-theme=dark] .no-blur .modal,
[data-theme=dark] .no-blur .setup-box,
[data-theme=dark] .no-blur .qa-panel { background: rgba(16,19,28,.98) !important; }
[data-theme=dark] .no-blur .sidebar { background: rgba(11,13,20,.99) !important; }
[data-theme=dark] .no-blur .pbar,
[data-theme=dark] .no-blur .mnav { background: rgba(18,21,30,.98) !important; }
[data-theme=dark] .no-blur .toast { background: rgba(22,25,38,.99) !important; }
[data-theme=dark] .no-blur .conn-toast { background: rgba(22,25,38,.99) !important; }
[data-theme=light] .no-blur .sc,
[data-theme=light] .no-blur .cc-box,
[data-theme=light] .no-blur .box,
[data-theme=light] .no-blur .bg-card { background: #ffffff !important; }
[data-theme=light] .no-blur .fnav { background: #f5f7ff !important; }
[data-theme=light] .no-blur .modal,
[data-theme=light] .no-blur .setup-box,
[data-theme=light] .no-blur .qa-panel { background: #ffffff !important; }
[data-theme=light] .no-blur .sidebar { background: #f8faff !important; }

/* Light theme: garantir legibilidade maxima */
[data-theme=light] .cl { opacity: 1; color: rgba(10,13,26,.55); }
[data-theme=light] .cc { color: rgba(6,8,20,.66); }
[data-theme=light] .cs { color: rgba(6,8,20,.66); }
[data-theme=light] .ps { color: rgba(6,8,20,.66); }
[data-theme=light] .nav-lbl { color: rgba(6,8,20,.55); }
[data-theme=light] .ss-s { color: rgba(6,8,20,.66); }
[data-theme=light] .tdt { color: rgba(6,8,20,.62); }
[data-theme=light] .tcat { color: rgba(6,8,20,.66); }
[data-theme=light] .urole { color: rgba(6,8,20,.62); }
[data-theme=light] .wc-desc { color: rgba(6,8,20,.66); }
[data-theme=light] .sl-cat-label { color: rgba(6,8,20,.66); }
[data-theme=light] body::before { opacity: 1; }
[data-theme=light] .sidebar {
  background:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(249,252,242,.88)),
    var(--sf);
  box-shadow: 14px 0 36px rgba(71,89,42,.08);
}
[data-theme=light] .fnav {
  background: rgba(255,255,255,.88);
  box-shadow: 0 -10px 30px rgba(71,89,42,.1);
}
[data-theme=light] .sc,
[data-theme=light] .box,
[data-theme=light] .cc-box {
  background:
    linear-gradient(145deg, rgba(255,255,255,.94), rgba(250,253,244,.86)),
    var(--sf);
  border-color: rgba(78,98,54,.13);
}
[data-theme=light] .sc { box-shadow: 0 18px 38px rgba(71,89,42,.08), inset 0 1px 0 rgba(255,255,255,.8); }
[data-theme=light] .box { box-shadow: 0 18px 38px rgba(71,89,42,.07); }
[data-theme=light] .cc-box { box-shadow: 0 18px 38px rgba(71,89,42,.07); }
[data-theme=light] .bg-card,
[data-theme=light] .insight-card,
[data-theme=light] .mini-stat,
[data-theme=light] .goals-widget,
[data-theme=light] .budget-widget,
[data-theme=light] .wcard,
[data-theme=light] .month-compare .mc-card {
  background: linear-gradient(145deg, #fff, #fbfdf7);
  border-color: rgba(78,98,54,.12);
  color: var(--tx);
}
[data-theme=light] .sb-search,
[data-theme=light] .fi,
[data-theme=light] .sb,
[data-theme=light] select.sel,
[data-theme=light] .vtog,
[data-theme=light] .theme-btn,
[data-theme=light] .mnav {
  background: rgba(255,255,255,.72);
  border-color: rgba(78,98,54,.15);
}
[data-theme=light] .nav-item:hover,
[data-theme=light] .pop-item:hover,
[data-theme=light] .ti:hover {
  background: rgba(126,166,54,.1);
}
[data-theme=light] .yield-pill {
  background: rgba(79,143,0,.1);
  border-color: rgba(79,143,0,.28);
  color: var(--ac);
}
[data-theme=light] .btn-p,
[data-theme=light] .sl-tab.active,
[data-theme=light] .tog input:checked+.tog-t {
  color: #fff;
}
[data-theme=light] .fn-item.sl-n.active {
  color: #fff;
}
[data-theme=light] .nav-item.active,
[data-theme=light] .nav-item.sl-n.active,
[data-theme=light] .nav-item.an.active,
[data-theme=light] .nav-item.fn.active {
  color: var(--tx);
}
[data-theme=light] .fi:focus,
[data-theme=light] .sb:focus { box-shadow: 0 0 0 3px rgba(126,166,54,.18) !important; }


/* ─── CONN STATUS TOAST ─────────────────────────────────────── */
.conn-toast{
  display:flex;align-items:center;gap:9px;
  position:fixed;right:22px;bottom:calc(78px + env(safe-area-inset-bottom));z-index:998;
  min-width:210px;max-width:min(320px,calc(100vw - 32px));
  padding:12px 16px;border-radius:16px;
  background:var(--sf);
  backdrop-filter:blur(24px) saturate(200%);
  -webkit-backdrop-filter:blur(24px) saturate(200%);
  border:1px solid var(--bd);
  border-left:3px solid var(--ac2);
  color:var(--tx);font-size:13px;font-weight:700;
  box-shadow:0 12px 32px var(--sh);
  opacity:0;pointer-events:none;
  transform:translateY(10px) scale(.98);
  transition:opacity .18s,transform .18s;
}
.conn-toast.show{opacity:1;transform:none;}
.conn-toast.syncing{border-left-color:#5aaff5;}
.conn-toast.online{border-left-color:var(--grn);}
.conn-toast.error{border-left-color:var(--dan);}
.conn-toast.offline{border-left-color:var(--warn);}
.conn-ico{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px;font-weight:900;background:var(--sf2);color:var(--tx);}
.conn-toast.online .conn-ico{background:rgba(74,222,128,.14);color:var(--grn);}
.conn-toast.error .conn-ico{background:rgba(245,112,90,.14);color:var(--dan);}
.conn-toast.offline .conn-ico{background:rgba(245,200,90,.14);color:var(--warn);}
.conn-spin{width:13px;height:13px;border:2px solid rgba(90,175,245,.18);border-top-color:#5aaff5;border-radius:50%;animation:spin .75s linear infinite;}

/* ─── SYNC QUEUE BADGE ──────────────────────────────────────── */
.sync-badge{
  display:none;position:fixed;
  bottom:calc(90px + env(safe-area-inset-bottom));left:16px;
  background:var(--warn);color:#1a1000;
  border-radius:var(--r-pill);padding:5px 12px;
  font-size:11px;font-weight:700;z-index:298;
  box-shadow:0 4px 12px rgba(245,200,90,.4);
  cursor:pointer;
}
.sync-badge.visible{display:flex;align-items:center;gap:5px;}

/* ─── MONTHLY SUMMARY CARD ──────────────────────────────────── */
.month-compare{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
  margin-bottom:18px;
}
.mc-card{
  background:var(--sf);border:1px solid var(--bd);
  border-radius:var(--r-lg);padding:16px;position:relative;overflow:hidden;
}
.mc-card::after{content:'';position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(135deg,rgba(255,255,255,.04) 0%,transparent 60%);pointer-events:none;}
.mc-label{font-size:10px;color:var(--mt);font-weight:600;letter-spacing:.4px;
  text-transform:uppercase;margin-bottom:6px;}
.mc-val{font-family:var(--font-money);font-size:18px;font-weight:700;letter-spacing: 0;}
.mc-delta{font-size:11px;margin-top:4px;display:flex;align-items:center;gap:3px;}
.mc-delta.up{color:var(--dan);}
.mc-delta.dn{color:var(--grn);}
.mc-delta.neu{color:var(--mt);}
.proj-card{
  background:linear-gradient(135deg,rgba(167,139,250,.1),rgba(167,139,250,.04));
  border:1px solid rgba(167,139,250,.2);
  border-radius:var(--r-lg);padding:16px 20px;
  margin-bottom:18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;
}
.proj-icon{font-size:28px;flex-shrink:0;}
.proj-info{flex:1;}
.proj-title{font-family:var(--font-display);font-size:14px;font-weight:700;margin-bottom:3px;}
.proj-detail{font-size:13px;color:var(--tx2);line-height:1.5;}
.quick-actions-widget{background:var(--sf);border:1px solid var(--bd);border-radius:var(--r-lg);padding:18px 20px;}
.quick-actions-widget-featured{
  background:
    radial-gradient(circle at top right, rgba(200,245,90,.12), transparent 30%),
    linear-gradient(160deg, rgba(255,255,255,.02), transparent 55%),
    var(--sf);
  border-color:rgba(200,245,90,.22);
  box-shadow:0 18px 42px rgba(0,0,0,.14);
}
.quick-actions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;}
.workbench-grid-full{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.workbench-grid-compact{
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:10px;
  align-items:stretch;
}
.quick-action-card{border:1px solid var(--bd);background:var(--sf2);border-radius:16px;padding:14px 15px;text-align:left;cursor:pointer;color:var(--tx);}
.quick-action-card-workbench{
  min-height:118px;
}
.quick-action-card-compact{
  min-width:0;
  min-height:86px;
  padding:10px 8px 9px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  text-align:center;
}
.quick-action-card-compact small{display:none;}
.quick-action-card-compact strong{
  font-size:10px;
  line-height:1.15;
}
.quick-action-card.primary{background:linear-gradient(135deg,rgba(200,245,90,.14),rgba(90,245,200,.08));border-color:rgba(200,245,90,.25);}
.quick-action-ico{display:block;font-size:18px;margin-bottom:8px;}
.quick-action-card-compact .quick-action-ico{
  margin-bottom:0;
  font-size:18px;
}
.quick-action-card strong{display:block;font-size:13px;}
.quick-action-card small{display:block;font-size:11px;color:var(--mt);margin-top:4px;line-height:1.4;}
.widget-header-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
.proj-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;}
.proj-chip{background:rgba(255,255,255,.04);border:1px solid var(--bd);border-radius:14px;padding:12px 14px;}
.proj-chip-k{display:block;font-size:10px;color:var(--mt);text-transform:uppercase;letter-spacing:.5px;font-weight:700;}
.proj-chip strong{display:block;margin-top:5px;font-size:17px;font-family:var(--font-money);}
.proj-chip small{display:block;margin-top:4px;font-size:11px;color:var(--mt);line-height:1.4;}
.proj-scenarios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;}
.proj-scenario{background:rgba(255,255,255,.04);border:1px solid var(--bd);border-radius:14px;padding:11px 13px;display:flex;flex-direction:column;gap:4px;}
.proj-scenario span{font-size:11px;color:var(--mt);font-weight:600;}
.proj-scenario strong{font-size:16px;font-family:var(--font-money);}
.proj-horizon{display:flex;flex-direction:column;gap:8px;margin-top:12px;}
.proj-horizon-row{display:grid;grid-template-columns:70px 1fr 1fr 1fr;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--bd);border-radius:12px;background:rgba(255,255,255,.03);}
.proj-horizon-row span,.proj-horizon-row strong{font-size:12px;}
.proj-horizon-row strong{font-family:var(--font-money);text-align:right;}
.pos{color:var(--ac)!important;}
.neg{color:var(--dan)!important;}
.neu,.fut{color:var(--fut)!important;}

/* ─── BUDGET ALERT ──────────────────────────────────────────── */
.bud-alert{
  background:rgba(245,200,90,.08);border:1px solid rgba(245,200,90,.25);
  border-radius:var(--r-lg);padding:12px 16px;margin-bottom:14px;
  font-size:13px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.bud-alert-danger{
  background:rgba(245,112,90,.08);border-color:rgba(245,112,90,.25);
}

/* ─── INLINE EDIT ───────────────────────────────────────────── */
.ti-edit-wrap{
  width:100%;padding:8px 12px 10px;
  background:var(--sf2);border-radius:0 0 14px 14px;
  border-top:1px solid var(--bd);display:none;
  animation:fadeUp .15s ease;
}
.ti-edit-wrap.open{display:block;}
.ti-edit-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap;}
.ti-edit-inp{
  background:var(--sf);border:1px solid var(--bd);
  border-radius:9px;padding:6px 10px;color:var(--tx);
  font-family:var(--font-ui);font-size:13px;outline:none;
  transition:border-color .12s;
}
.ti-edit-inp:focus{border-color:var(--ac);}
.ti-edit-inp.amount{width:110px;font-family:var(--font-money);font-weight:700;}
.ti-edit-inp.desc{flex:1;min-width:120px;}

.recent-list{display:flex;flex-direction:column;gap:8px;}
.recent-tx{
  display:grid;grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;gap:10px;min-height:52px;
  padding:9px 10px;border:1px solid var(--bd2);
  border-radius:14px;background:rgba(255,255,255,.025);
  cursor:pointer;transition:background .15s,border-color .15s,transform .15s;
}
.recent-tx:hover{background:var(--sf2);border-color:var(--bd);transform:translateY(-1px);}
.recent-ico{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:16px;}
.recent-main{min-width:0;}
.recent-name{color:var(--tx);font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.recent-meta{display:flex;gap:7px;align-items:center;color:var(--mt);font-size:10px;margin-top:2px;min-width:0;}
.recent-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.recent-amt{
  font-family:var(--font-money);font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1,"zero" 1;
  font-size:13px;font-weight:800;white-space:nowrap;
}
.recent-amt.income{color:var(--ac);}
.recent-amt.expense{color:var(--dan);}
[data-theme=light] .recent-tx{
  background:#fff;
  border-color:rgba(44,55,105,.14);
}
[data-theme=light] .recent-tx:hover{
  background:#eef3ff;
}

/* ─── BACKUP STATUS ─────────────────────────────────────────── */
.backup-status{
  font-size:11px;color:var(--mt);
  display:flex;align-items:center;gap:5px;
}
.backup-dot{width:6px;height:6px;border-radius:50%;background:var(--grn);}
.backup-dot.warn{background:var(--warn);}
.diag-pill{
  font-family:var(--font-money);
  font-variant-numeric:tabular-nums;
  font-weight:700;
  font-size:11px;
  color:var(--ac);
  background:rgba(200,245,90,.07);
  border:1px solid rgba(200,245,90,.18);
  border-radius:999px;
  padding:4px 8px;
  white-space:nowrap;
}
[data-theme=light] .diag-pill{
  color:var(--ac);
  background:rgba(79,143,0,.1);
  border-color:rgba(79,143,0,.28);
}
.state-pill{
  font-family:var(--font-money);
  font-size:12px;
  font-weight:800;
  border-radius:999px;
  padding:4px 9px;
  white-space:nowrap;
  border:1px solid var(--bd);
}
.state-pill.local{background:rgba(245,200,90,.12);border-color:rgba(245,200,90,.28);color:var(--warn);}
.state-pill.syncing{background:rgba(90,175,245,.12);border-color:rgba(90,175,245,.28);color:#5aaff5;}
.state-pill.synced{background:rgba(74,222,128,.12);border-color:rgba(74,222,128,.28);color:var(--grn);}
.state-pill.error{background:rgba(245,112,90,.12);border-color:rgba(245,112,90,.28);color:var(--dan);}
.sync-history{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.sync-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--bd);border-radius:12px;background:var(--sf2);}
.sync-item.success{border-color:rgba(74,222,128,.2);}
.sync-item.error{border-color:rgba(245,112,90,.2);}
.sync-title{font-size:12px;font-weight:700;color:var(--tx);}
.sync-meta,.sync-time,.sync-empty{font-size:11px;color:var(--mt);}
.sync-time{white-space:nowrap;}
.changelog-head{align-items:flex-start;}
.changelog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px 16px 16px;border-top:1px solid var(--bd);}
.changelog-group{border:1px solid var(--bd);border-radius:14px;background:var(--sf2);padding:12px;}
.changelog-tag{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--ac);margin-bottom:9px;}
.changelog-lines{display:flex;flex-direction:column;gap:7px;}
.changelog-line{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.35;color:var(--tx2);}
.changelog-line span{width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(200,245,90,.1);border:1px solid rgba(200,245,90,.22);color:var(--ac);font-size:10px;font-weight:800;margin-top:1px;}
.changelog-line p{min-width:0;}
.import-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0;}
.import-preview-card{border:1px solid var(--bd);border-radius:12px;background:var(--sf2);padding:14px;}
.import-preview-main{font-size:16px;font-weight:800;line-height:1.5;margin:6px 0 8px;color:var(--tx);}
.import-preview-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px;}
.import-note-row{padding:10px 12px;border-radius:10px;background:var(--sf2);font-size:12px;color:var(--tx2);}
.import-center-modal{
  width:min(1380px,calc(100vw - 32px));
  max-width:none;
  height:min(860px,calc(100vh - 32px));
  max-height:none;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:24px;
}
.import-center-modal .mc{top:18px;right:18px;z-index:2;}
.import-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:48px;margin-bottom:14px;padding-right:42px;flex-shrink:0;}
.import-modal-head .mt{font-size:24px;}
.import-modal-head .ms{margin-bottom:0;max-width:640px;line-height:1.5;}
.import-status-strip{display:grid;grid-template-columns:1.4fr repeat(4,minmax(90px,.75fr));gap:8px;margin-top:0;flex-shrink:0;}
.import-status-strip div{border:1px solid var(--bd);border-radius:12px;background:var(--sf2);padding:11px 13px;}
.import-status-strip span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--mt);font-weight:800;}
.import-status-strip strong{display:block;margin-top:4px;font-size:17px;color:var(--tx);}
.import-center-grid{display:grid;grid-template-columns:minmax(320px,400px) minmax(0,1fr);gap:14px;margin-top:14px;min-height:0;flex:1;}
.import-center-pane{border:1px solid var(--bd);border-radius:18px;background:var(--sf2);padding:16px;min-width:0;min-height:0;overflow:auto;}
.import-center-pane:first-child{display:flex;flex-direction:column;}
.import-center-pane:nth-child(2){display:flex;flex-direction:column;background:var(--sf);}
.import-pane-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px;flex-shrink:0;}
.import-pane-title strong{font-size:15px;color:var(--tx);}
.import-pane-title span{font-size:11px;color:var(--mt);text-align:right;line-height:1.35;}
.import-source-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:12px;}
.import-source-tabs .cat-filter-chip{justify-content:center;text-align:center;}
.import-source-panel{display:flex;flex-direction:column;gap:10px;}
.import-source-actions{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px;}
.import-inline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;}
.import-inline-grid label,.import-mapping label{display:flex;flex-direction:column;gap:5px;min-width:0;}
.import-inline-grid span,.import-mapping span{font-size:11px;color:var(--mt);font-weight:700;}
.import-review-head{margin-bottom:12px;flex-shrink:0;}
.import-mapping{flex-shrink:0;}
.import-review-list{display:flex;flex-direction:column;gap:10px;overflow:auto;padding-right:2px;min-height:0;flex:1;}
.import-review-row{border:1px solid var(--bd);border-radius:14px;background:var(--sf);padding:12px;}
.import-review-row.duplicate{border-color:rgba(245,112,90,.28);}
.import-review-row.match{border-color:rgba(90,175,245,.28);}
.import-review-main{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;}
.import-review-main strong{display:block;font-size:13px;color:var(--tx);}
.import-review-main small{display:block;margin-top:3px;font-size:11px;color:var(--mt);line-height:1.4;}
.import-review-match{font-size:11px;color:var(--tx2);margin:8px 0;}
.import-conflict-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0 10px;}
.import-conflict-card{padding:10px 12px;border-radius:12px;border:1px solid var(--bd);background:var(--sf2);}
.import-conflict-card.imported{border-color:rgba(90,175,245,.22);background:rgba(90,175,245,.07);}
.import-conflict-kicker{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--mt);margin-bottom:6px;}
.import-conflict-card strong{display:block;font-size:12px;color:var(--tx);}
.import-conflict-card small{display:block;margin-top:3px;font-size:11px;line-height:1.4;color:var(--mt);}
.import-conflict-actions{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px;}
.import-inline-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.import-snapshots{margin-top:14px;}
.import-file-drop{display:flex;flex-direction:column;gap:6px;padding:22px 18px;border:1px dashed rgba(200,245,90,.34);border-radius:16px;background:rgba(200,245,90,.06);cursor:pointer;}
.import-file-drop span{font-size:14px;font-weight:800;color:var(--tx);}
.import-file-drop small,.import-helper{font-size:11px;color:var(--mt);line-height:1.45;}
.import-file-drop input{margin-top:6px;color:var(--tx);font-size:12px;}
.import-textarea{min-height:220px;}
.import-empty{display:flex;min-height:100%;flex:1;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed var(--bd);border-radius:16px;background:var(--sf2);padding:32px;}
.import-empty span{font-size:32px;margin-bottom:8px;}
.import-empty strong{font-size:14px;color:var(--tx);}
.import-empty p{max-width:360px;margin-top:6px;font-size:12px;line-height:1.5;color:var(--mt);}
.import-actions-bar{flex-shrink:0;margin-top:14px;padding-top:14px;border-top:1px solid var(--bd);align-items:center;}
.import-confirm-btn{flex:1;min-width:220px;}
.ta{min-height:160px;width:100%;resize:vertical;border-radius:14px;border:1px solid var(--bd);background:var(--sf);padding:12px 14px;color:var(--tx);font-family:var(--font-ui);font-size:13px;outline:none;}
.ta:focus{border-color:rgba(200,245,90,.5);}
.undo-bar{position:fixed;left:16px;right:16px;bottom:calc(18px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:16px;background:var(--sf);border:1px solid var(--bd);box-shadow:0 12px 30px var(--sh);z-index:998;transform:translateY(140%);transition:transform .18s;}
.undo-bar.show{transform:translateY(0);}
.undo-bar span{font-size:13px;font-weight:700;color:var(--tx);}
.undo-actions{display:flex;gap:8px;flex-wrap:wrap;}

@media(max-width:960px){
  .month-compare{grid-template-columns:1fr 1fr;}
  .mc-val{font-size:16px;}
  .quick-actions-grid{grid-template-columns:1fr 1fr;}
  .proj-grid,.proj-scenarios{grid-template-columns:1fr;}
  .proj-horizon-row{grid-template-columns:1fr 1fr;gap:6px;}
  .changelog-list,.import-preview-grid,.import-preview-notes,.import-center-grid,.import-inline-grid,.import-conflict-grid,.import-status-strip{grid-template-columns:1fr;}
  .import-modal-head{flex-direction:column;}
  .import-source-actions{grid-template-columns:1fr;}
  .import-center-modal{
    width:100% !important;
    max-width:100% !important;
    height:min(96vh, calc(var(--app-vh) * 96));
    max-height:min(96vh, calc(var(--app-vh) * 96));
    border-radius:24px 24px 0 0;
    padding:22px 16px calc(18px + env(safe-area-inset-bottom));
  }
  .import-modal-head{gap:10px;padding-right:38px;}
  .import-status-strip{gap:6px;}
  .import-center-grid{overflow:auto;}
  .import-center-pane{overflow:visible;}
  .import-review-list{overflow:visible;}
}


/* ─── DASHBOARD LAYOUT FIX ─────────────────────────────────── */
.dash-section { margin-bottom: 20px; }
.dash-section:empty { display: none; }

/* Cards sumario com gap correto */
.g4 { gap: 14px !important; margin-bottom: 20px !important; }
.month-compare { gap: 14px !important; margin-bottom: 14px !important; }
.proj-card { margin-bottom: 20px; }
.wcard { margin-bottom: 20px; }
.anom { margin-bottom: 14px; }
.bud-alert { margin-bottom: 8px; }

/* ─── WIDGET SYSTEM ─────────────────────────────────────────── */
.dash-widgets {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.dash-manager{
  margin-bottom:18px;
}
.dash-manager-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 14px;
  border:1px solid var(--bd);
  border-radius:16px;
  background:var(--sf);
}
.dash-manager-copy{
  display:flex;
  align-items:baseline;
  gap:12px;
  min-width:0;
  flex-wrap:wrap;
}
.dash-manager-title{
  font-size:15px;
  font-weight:800;
  line-height:1.2;
}
.dash-manager-sub{
  margin-top:0;
  font-size:11px;
  color:var(--mt);
  line-height:1.2;
}
.dash-manager-tag{
  display:inline-flex;
  align-items:center;
  margin-left:8px;
  padding:2px 7px;
  border-radius:999px;
  font-size:9px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  vertical-align:middle;
}
.dash-manager-tag.tag-core{
  color:var(--ac);
  background:rgba(200,245,90,.12);
  border:1px solid rgba(200,245,90,.22);
}
.dash-manager-tag.tag-support{
  color:var(--ac2);
  background:rgba(90,175,245,.10);
  border:1px solid rgba(90,175,245,.18);
}
.dash-manager-tag.tag-analysis{
  color:var(--warn);
  background:rgba(245,200,90,.10);
  border:1px solid rgba(245,200,90,.18);
}
.dash-manager-panel{
  margin-top:10px;
  border:1px solid var(--bd);
  border-radius:18px;
  background:var(--sf);
  padding:14px;
}
.dash-manager-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.dash-manager-tip{
  margin-bottom:12px;
  padding:10px 12px;
  border:1px dashed rgba(200,245,90,.26);
  border-radius:14px;
  background:rgba(200,245,90,.06);
  color:var(--tx2);
  font-size:12px;
  line-height:1.45;
}
.dash-manager-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.dash-manager-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid var(--bd);
  border-radius:16px;
  background:var(--sf2);
}
.dash-manager-row.is-off{
  opacity:.76;
}
.dash-manager-row.is-pinned{
  border-color:rgba(200,245,90,.22);
  background:linear-gradient(160deg, rgba(200,245,90,.08), rgba(255,255,255,.02));
}
.dash-manager-row.is-off .dash-manager-tag{
  opacity:.8;
}
.dash-manager-row.drag-over{
  border-color:rgba(200,245,90,.46);
  box-shadow:0 0 0 2px rgba(200,245,90,.14) inset;
}
.dash-manager-info{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.dash-manager-grab{
  color:var(--mt);
  font-size:16px;
  line-height:1;
  cursor:grab;
  user-select:none;
}
.dash-manager-info strong,
.dash-manager-info small{
  display:block;
}
.dash-manager-info strong{
  font-size:13px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
}
.dash-manager-info small{
  margin-top:2px;
  font-size:11px;
  color:var(--mt);
}
.dash-manager-ico{
  font-size:20px;
  flex-shrink:0;
}
.dash-manager-controls{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.dash-section-wrap {
  position: relative;
  min-width: 0;
  padding-top: 6px;
}
.dash-section-wrap-pinned{
  padding-top:0;
}
.dash-section-wrap > .dash-section {
  margin-bottom: 0 !important;
}
.widget-menu-shell {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 20;
}
.widget-menu-btn {
  width: 36px;
  height: 36px;
  border-radius: 13px;
  border: 1px solid var(--bd);
  background: var(--sf-solid);
  color: var(--mt);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 8px 18px var(--sh);
  transition: color .15s, border-color .15s, background .15s, transform .15s;
}
.widget-menu-btn:hover {
  color: var(--ac);
  border-color: rgba(200,245,90,.3);
  background: rgba(200,245,90,.08);
  transform: translateY(-1px);
}
.widget-menu-panel {
  position: absolute;
  top: 42px;
  right: 0;
  width: 250px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid var(--bd);
  background: var(--sf-solid);
  box-shadow: 0 20px 40px rgba(0,0,0,.18);
}
.widget-menu-head{
  padding-bottom:10px;
  border-bottom:1px solid var(--bd2);
}
.widget-menu-head strong{
  display:block;
  font-size:13px;
  color:var(--tx);
}
.widget-menu-head small{
  display:block;
  margin-top:4px;
  font-size:11px;
  line-height:1.45;
  color:var(--mt);
}
.widget-menu-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.widget-menu-field span{
  font-size:11px;
  color:var(--mt);
  font-weight:700;
}
.widget-inline-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.widget-menu-empty{
  font-size:11px;
  line-height:1.45;
  color:var(--mt);
}
[data-theme=light] .dash-manager-head,
[data-theme=light] .dash-manager-panel{
  box-shadow:0 16px 34px rgba(36,48,92,.06);
}
.insight-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-bottom: 14px; }
.insight-card { background: var(--sf); border: 1px solid var(--bd); border-radius: 18px; padding: 15px 16px; }
.insight-k { font-size: 10px; color: var(--mt); text-transform: uppercase; letter-spacing: .5px; font-weight: 700; }
.insight-v { font-family: var(--font-money); font-size: 18px; font-weight: 800; margin-top: 4px; }
.widget-filter-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.widget-filter{
  min-height:30px;
  border-radius:10px;
  border:1px solid var(--bd);
  background:var(--sf2);
  color:var(--tx);
  font-family:var(--font-ui);
  font-size:11px;
  font-weight:700;
  padding:5px 9px;
  outline:none;
}
.widget-filter:focus{border-color:rgba(200,245,90,.5);}
.settings-simple-grid{
  display:grid;
  grid-template-columns:minmax(280px,520px);
  gap:14px;
}
.settings-account-card .setechub-note-form{
  display:grid;
  grid-template-columns:1fr 160px;
}
.profile-photo-editor{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:72px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:12px;
  border:1px solid var(--bd);
  border-radius:8px;
  background:rgba(255,255,255,.03);
}
.profile-photo-preview{
  width:64px;
  height:64px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--ac),var(--ac2));
  color:#081017;
  font-weight:900;
  font-size:18px;
  background-size:cover;
  background-position:center;
  overflow:hidden;
}
.profile-photo-preview.has-photo{
  color:transparent;
}
.profile-photo-copy{
  min-width:0;
  display:grid;
  gap:2px;
}
.profile-photo-copy strong{
  font-size:14px;
}
.profile-photo-copy span{
  color:var(--mt);
  font-size:12px;
  line-height:1.35;
}
.profile-photo-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.settings-actions-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  grid-column:1/-1;
}
.admin-page .ph{
  margin-bottom:12px;
}
.admin-hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
  padding:18px;
  border:1px solid rgba(200,245,90,.18);
  border-radius:18px;
  background:linear-gradient(135deg, rgba(200,245,90,.12), rgba(28,157,170,.10));
}
.admin-hero strong{
  display:block;
  margin-top:4px;
  color:var(--tx);
  font-size:20px;
  line-height:1.2;
}
.admin-hero span{
  display:block;
  margin-top:6px;
  color:var(--tx2);
  font-size:13px;
}
.admin-kicker{
  color:var(--ac);
  font-size:10px;
  font-weight:800;
  letter-spacing:.4px;
  text-transform:uppercase;
}
.admin-hero-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.admin-module-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:14px;
  align-items:start;
}
.admin-module{
  min-width:0;
}
.admin-user-form{
  display:grid;
  grid-template-columns:1.2fr 1fr .75fr .85fr 1fr auto auto;
  gap:8px;
  padding:12px 16px;
  border-top:1px solid var(--bd);
}
.school-supervisor-form{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:8px;
  padding:0 16px 14px;
}
.school-supervisor-form .fi{
  min-width:0;
  padding:8px 10px;
  font-size:12px;
}
.admin-school-form{
  display:grid;
  grid-template-columns:1.25fr 1.25fr .72fr .92fr .78fr 1fr auto auto;
  gap:8px;
  padding:12px 16px;
  border-top:1px solid var(--bd);
}
.admin-merge-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
  gap:8px;
  padding:0 16px 12px;
}
.admin-school-form .fi,
.admin-merge-row .fi{
  min-width:0;
  padding:8px 10px;
  font-size:12px;
}
.admin-panel-note{
  margin:0 16px 10px;
  padding:10px 12px;
  border:1px solid rgba(200,245,90,.16);
  border-radius:12px;
  background:rgba(200,245,90,.06);
  color:var(--tx2);
  font-size:12px;
  line-height:1.45;
}
.admin-user-form .fi{min-width:0;padding:8px 10px;font-size:12px;}
.admin-user-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border-bottom:1px solid var(--bd);
}
.admin-user-main{min-width:0;}
.admin-user-main strong,
.admin-user-main .sync-meta{
  overflow-wrap:anywhere;
}
.admin-user-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  flex-shrink:0;
}
.admin-role-select{width:112px;padding:7px 9px;font-size:12px;}
@media(max-width:700px){
  .settings-simple-grid,
  .admin-module-grid{
    grid-template-columns:1fr;
  }
  .settings-account-card .setechub-note-form{
    grid-template-columns:1fr;
  }
  .profile-photo-editor{
    grid-template-columns:64px minmax(0,1fr);
  }
  .profile-photo-actions{
    grid-column:1/-1;
    justify-content:flex-start;
  }
  .admin-hero{
    flex-direction:column;
    align-items:flex-start;
  }
  .admin-hero-actions{
    width:100%;
    justify-content:flex-start;
  }
  .dash-manager-head,
  .dash-manager-row{
    flex-direction:column;
    align-items:flex-start;
  }
  .dash-manager-controls{
    width:100%;
  }
  .widget-menu-panel{
    width:min(250px, calc(100vw - 48px));
  }
  .import-review-list{
    max-height:none;
  }
  .admin-user-form,
  .school-supervisor-form,
  .admin-school-form,
  .admin-merge-row{grid-template-columns:1fr;}
  .admin-user-form button,
  .school-supervisor-form button,
  .admin-school-form button,
  .admin-merge-row button{width:100%;}
  .admin-user-row{align-items:flex-start;flex-direction:column;}
  .admin-user-actions{width:100%;justify-content:space-between;}
  .admin-role-select{flex:1;width:auto;}
}
/* ─── MINI STAT WIDGET ──────────────────────────────────────── */
.mini-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 16px;
}
.mini-stat {
  background: var(--sf);
  border: 1px solid var(--bd);
  border-radius: 16px;
  padding: 14px;
  text-align: center;
}
.mini-stat .ms-ico { font-size: 20px; margin-bottom: 6px; }
.mini-stat .ms-val { font-family: var(--font-money); font-size: 16px; font-weight: 700; letter-spacing: 0; }
.mini-stat .ms-lbl { font-size: 10px; color: var(--mt); margin-top: 3px; text-transform: uppercase; letter-spacing: .4px; font-weight: 600; }

/* ─── METAS WIDGET ──────────────────────────────────────────── */
.goals-widget {
  background: var(--sf);
  border: 1px solid var(--bd);
  border-radius: var(--r-lg);
  padding: 18px 20px;
  margin-bottom: 0;
}
.goals-widget-list { display: flex; flex-direction: column; gap: 12px; margin-top: 12px; }
.gw-item { display: flex; align-items: center; gap: 12px; }
.gw-icon { font-size: 22px; flex-shrink: 0; }
.gw-info { flex: 1; min-width: 0; }
.gw-name { font-size: 13px; font-weight: 600; margin-bottom: 4px; }
.gw-bar { height: 5px; background: var(--sf2); border-radius: 99px; overflow: hidden; }
.gw-fill { height: 100%; border-radius: 99px; transition: width .6s ease; }
.gw-pct { font-size: 12px; font-weight: 700; font-family: var(--font-money); flex-shrink: 0; }

/* ─── ORCAMENTOS WIDGET ─────────────────────────────────────── */
.budget-widget {
  background: var(--sf);
  border: 1px solid var(--bd);
  border-radius: var(--r-lg);
  padding: 18px 20px;
}
.bw-list { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; }
.bw-item { display: flex; align-items: center; gap: 10px; }
.bw-cat { font-size: 14px; flex-shrink: 0; }
.bw-info { flex: 1; min-width: 0; }
.bw-top { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 4px; }
.bw-name { font-size: 12px; font-weight: 500; }
.bw-vals { font-size: 11px; color: var(--mt); }
.bw-bar { height: 4px; background: var(--sf2); border-radius: 99px; overflow: hidden; }
.bw-fill { height: 100%; border-radius: 99px; transition: width .6s ease; }

/* ─── VEICULOS WIDGET ─────────────────────────────────────── */
.vehicle-widget {
  background: linear-gradient(180deg, rgba(90,245,200,.08), transparent 42%), var(--sf);
  border: 1px solid rgba(90,245,200,.16);
  border-radius: var(--r-lg);
  padding: 18px 20px;
}
.vehicle-widget-hero {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 16px;
  background: var(--sf2);
  border: 1px solid var(--bd);
  margin-top: 12px;
  cursor: pointer;
}
.vehicle-widget-name { font-size: 16px; font-weight: 700; color: var(--tx); }
.vehicle-widget-meta { font-size: 11px; color: var(--mt); margin-top: 4px; line-height: 1.45; }
.vehicle-widget-kpi { text-align: right; min-width: 108px; }
.vehicle-widget-kpi-label { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .5px; color: var(--mt); }
.vehicle-widget-kpi strong { display: block; margin-top: 4px; font-size: 18px; font-family: var(--font-money); color: var(--tx); }
.vehicle-widget-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.vehicle-widget-card {
  background: var(--sf2);
  border: 1px solid var(--bd);
  border-radius: 14px;
  padding: 14px;
}
.vehicle-widget-label {
  font-size: 10px;
  color: var(--mt);
  text-transform: uppercase;
  letter-spacing: .5px;
  font-weight: 700;
}
.vehicle-widget-value {
  margin-top: 6px;
  font-size: 18px;
  font-weight: 800;
  font-family: var(--font-money);
}
.vehicle-widget-note { margin-top: 4px; font-size: 11px; color: var(--mt); line-height: 1.45; }
.vehicle-widget-list { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.vehicle-widget-row {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  border: 1px solid var(--bd);
  border-radius: 14px;
  background: var(--sf);
  padding: 11px 12px;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.vehicle-widget-row-ico {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(90,245,200,.12);
  border: 1px solid rgba(90,245,200,.18);
  flex-shrink: 0;
  font-size: 16px;
}
.vehicle-widget-row-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.vehicle-widget-row-main strong {
  font-size: 13px;
  color: var(--tx);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.vehicle-widget-row-main small {
  font-size: 11px;
  color: var(--mt);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.vehicle-widget-row-amt {
  font-family: var(--font-money);
  font-size: 14px;
  font-weight: 800;
  color: var(--warn);
  white-space: nowrap;
}
.vehicle-widget-empty {
  border: 1px dashed var(--bd);
  border-radius: 14px;
  padding: 14px;
  font-size: 12px;
  color: var(--mt);
  background: var(--sf2);
}

@media(max-width:960px){
  .g4 { gap: 10px !important; }
  .month-compare { gap: 10px !important; }
  .mini-stats { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .mini-stat { padding: 12px 10px; }
  .mini-stat .ms-val { font-size: 14px; }
  .vehicle-widget-grid { grid-template-columns: 1fr; }
  .vehicle-widget-hero { flex-direction: column; }
  .vehicle-widget-kpi { text-align: left; min-width: 0; }
}


/* ─── SHOPPING LIST ─────────────────────────────── */
.sl-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap;gap:10px;}
.sl-lists{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;align-items:center;}
.sl-tab{padding:7px 16px;border-radius:var(--r-pill);border:1px solid var(--bd);background:var(--sf2);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap;display:flex;align-items:center;gap:6px;}
.sl-tab:hover{border-color:var(--ac);}
.sl-tab.active{background:var(--ac);color:#0d0f14;border-color:var(--ac);font-weight:700;}
.sl-tab .sl-count{font-size:10px;background:rgba(0,0,0,.15);border-radius:99px;padding:1px 6px;font-weight:700;}
.sl-tab.active .sl-count{background:rgba(0,0,0,.2);}
.sl-tab-del{width:18px;height:18px;border-radius:50%;background:rgba(245,112,90,.2);color:var(--dan);font-size:9px;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-left:2px;flex-shrink:0;}
.sl-tab-del:hover{background:rgba(245,112,90,.4);}

.sl-add-row{display:flex;gap:7px;margin-bottom:16px;flex-wrap:wrap;}
.sl-add-row .fi{flex:1;min-width:120px;}
.sl-add-row select.sel{min-width:110px;}

.sl-cat-section{margin-bottom:20px;}
.sl-cat-label{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--mt);margin-bottom:8px;display:flex;align-items:center;gap:6px;}
.sl-items{display:flex;flex-direction:column;gap:3px;}

.sl-item{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:12px;transition:background .1s;cursor:pointer;position:relative;}
.sl-item:hover{background:var(--sf2);}
.sl-item.bought{opacity:.45;}
.sl-item.bought .sl-name{text-decoration:line-through;color:var(--mt);}
.sl-check{width:20px;height:20px;border-radius:6px;border:2px solid var(--bd);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s;background:transparent;}
.sl-item.bought .sl-check{background:var(--grn);border-color:var(--grn);}
.sl-check-ico{color:#fff;font-size:11px;font-weight:700;opacity:0;transition:opacity .12s;}
.sl-item.bought .sl-check-ico{opacity:1;}
.sl-name{font-size:14px;font-weight:500;flex:1;}
.sl-qty{font-size:12px;color:var(--mt);flex-shrink:0;}
.sl-item-del{width:24px;height:24px;border-radius:7px;border:none;background:transparent;color:var(--mt);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;transition:all .1s;flex-shrink:0;}
.sl-item-del:hover{background:rgba(245,112,90,.12);color:var(--dan);}

.sl-progress{background:var(--sf);border:1px solid var(--bd);border-radius:var(--r-lg);padding:16px 20px;margin-bottom:16px;display:flex;align-items:center;gap:14px;}
.sl-prog-bar{flex:1;height:6px;background:var(--sf2);border-radius:99px;overflow:hidden;}
.sl-prog-fill{height:100%;border-radius:99px;background:var(--grn);transition:width .5s ease;}
.sl-prog-txt{font-family:var(--font-money);font-size:14px;font-weight:700;flex-shrink:0;}
.sl-prog-lbl{font-size:11px;color:var(--mt);margin-top:2px;}

.sl-empty{text-align:center;padding:40px 16px;color:var(--mt);}
.sl-empty .sei{font-size:36px;display:block;margin-bottom:8px;opacity:.35;}

/* ─── MODAL DE NOVA LISTA ────────────────────────── */
.list-modal-ico{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px;}
.list-ico-btn{width:36px;height:36px;border-radius:9px;border:1px solid var(--bd);background:var(--sf2);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s;}
.list-ico-btn.sel{border-color:var(--ac);background:rgba(200,245,90,.12);}

/* ─── CARRO ─────────────────────────────────────── */
.car-hero{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px;flex-wrap:wrap;}
.car-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.car-filterbar{display:grid;grid-template-columns:minmax(180px,1.2fr) repeat(4,minmax(140px,1fr)) minmax(180px,1.2fr);gap:8px;margin-bottom:12px;}
.car-filterbar .fi,.car-custom-range .fi{height:40px;}
.car-custom-range{display:none;grid-template-columns:repeat(2,minmax(160px,1fr));gap:8px;margin:-4px 0 12px auto;max-width:420px;}
.car-chart-panel{margin-bottom:14px;}
.car-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;}
.car-chart-card{background:var(--sf);border:1px solid var(--bd);border-radius:8px;padding:12px;min-height:250px;}
.car-maint-wrap{margin-bottom:14px;padding:14px 16px;}
.car-maint-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;}
.car-maint-card{background:var(--sf2);border:1px solid var(--bd);border-radius:8px;padding:14px;}
.car-maint-card.warn{border-color:rgba(255,184,77,.45);background:rgba(255,184,77,.08);}
.car-maint-card.urgent{border-color:rgba(245,112,90,.5);background:rgba(245,112,90,.08);}
.car-maint-k{font-size:10px;color:var(--mt);text-transform:uppercase;font-weight:700;}
.car-maint-v{font-family:var(--font-money);font-size:18px;font-weight:800;margin-top:4px;}
.car-maint-actions{display:flex;flex-direction:column;justify-content:space-between;gap:10px;}
.car-maint-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px;}
.car-maint-btns .btn{flex:1;min-width:120px;}
.car-maint-lower{display:grid;grid-template-columns:1.1fr .9fr;gap:12px;}
.car-vendor-box{background:var(--sf);border:1px solid var(--bd);border-radius:8px;padding:12px;}
.car-vendor-list{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.car-vendor-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--bd);border-radius:10px;background:var(--sf2);}
.car-vendor-name{font-size:13px;font-weight:700;color:var(--tx);}
.car-vendor-meta{font-size:11px;color:var(--mt);margin-top:2px;line-height:1.4;}
.car-vendor-amt{font-family:var(--font-money);font-size:14px;font-weight:800;white-space:nowrap;}
.future-center-panel{margin-bottom:14px;}
.future-center-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.future-center-card{background:var(--sf);border:1px solid var(--bd);border-radius:8px;padding:14px;}
.future-center-list{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.future-center-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--bd);border-radius:10px;background:var(--sf2);}
.future-center-name{font-size:13px;font-weight:700;color:var(--tx);}
.future-center-meta{font-size:11px;color:var(--mt);margin-top:2px;}
.future-center-amt{font-family:var(--font-money);font-size:14px;font-weight:800;white-space:nowrap;}
.fixed-bills-panel{margin-bottom:14px;overflow:hidden;position:relative;}
.fixed-bills-panel::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 10% 0%,rgba(167,139,250,.14),transparent 34%),radial-gradient(circle at 92% 20%,rgba(90,245,200,.1),transparent 30%);pointer-events:none;}
.fixed-bills-panel>*{position:relative;}
.fixed-bills-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0;}
.fixed-bills-summary>div{background:var(--sf2);border:1px solid var(--bd);border-radius:12px;padding:12px;}
.fixed-bills-summary span{display:block;font-size:10px;color:var(--mt);font-weight:800;text-transform:uppercase;letter-spacing:.6px;margin-bottom:4px;}
.fixed-bills-summary strong{display:block;font-family:var(--font-money);font-size:18px;line-height:1.1;color:var(--tx);}
.fixed-bills-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;}
.fixed-bill-card{border:1px solid var(--bd);background:rgba(255,255,255,.035);color:var(--tx);border-radius:14px;padding:12px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;transition:border-color .15s,background .15s,transform .15s;min-height:94px;}
.fixed-bill-card:hover{border-color:rgba(167,139,250,.55);background:rgba(167,139,250,.1);transform:translateY(-1px);}
.fixed-bill-card span{font-size:24px;line-height:1;}
.fixed-bill-card strong{font-size:12px;line-height:1.2;text-align:center;}
.fixed-bill-card small{font-size:10px;color:var(--mt);text-align:center;line-height:1.25;}
.fixed-bill-card.done{border-color:rgba(74,222,128,.35);background:rgba(74,222,128,.09);}
.fixed-bill-card.done small{color:var(--grn);}
.car-panel{padding-bottom:14px;}
.car-row{display:flex;align-items:center;gap:12px;padding:13px 10px;border-bottom:1px solid var(--bd);}
.car-row:last-child{border-bottom:none;}
.car-ico{width:38px;height:38px;border-radius:13px;background:rgba(90,245,200,.10);border:1px solid rgba(90,245,200,.16);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.car-info{flex:1;min-width:0;}
.car-name{font-size:14px;font-weight:700;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.car-meta{font-size:11px;color:var(--mt);margin-top:3px;line-height:1.4;}
.car-amt{font-family:var(--font-money);font-size:14px;font-weight:800;color:var(--dan);white-space:nowrap;}
.car-import-note{margin-top:10px;display:flex;justify-content:flex-end;}
.car-sync-toggle{background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:10px 12px;margin:0;}
.car-import-status{margin-top:8px;font-size:12px;color:var(--mt);text-align:right;min-height:18px;}
.car-import-status.success{color:var(--ac);}
.car-import-status.error{color:var(--dan);}

@media(max-width:1100px){
  .car-filterbar{grid-template-columns:repeat(3,minmax(0,1fr));}
  .car-filterbar .fi:last-child{grid-column:span 3;}
  .car-chart-grid{grid-template-columns:1fr;}
  .car-maint-grid,.future-center-grid,.car-maint-lower{grid-template-columns:1fr;}
  .fixed-bills-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media(max-width:640px){
  .car-filterbar{grid-template-columns:1fr 1fr;gap:7px;}
  .car-filterbar .fi:last-child{grid-column:1/-1;}
  .car-custom-range{grid-template-columns:1fr;max-width:none;margin-top:-2px;}
  .car-chart-card{min-height:210px;padding:10px;}
  .car-maint-wrap{padding:12px;}
  .car-maint-card,.future-center-card,.car-vendor-box{border-radius:14px;}
  .car-row{align-items:flex-start;padding:12px 4px;}
  .car-amt{font-size:13px;}
  .car-actions{width:100%;}
  .car-actions .btn{flex:1;}
  .car-import-note{justify-content:stretch;}
  .car-sync-toggle{width:100%;}
  .car-import-status{text-align:left;}
  .fixed-bills-summary{grid-template-columns:1fr;}
  .fixed-bills-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .fixed-bill-card{min-height:88px;}
}

@media(max-width:480px){
  .car-filterbar{grid-template-columns:1fr;}
  .car-filterbar .fi:last-child{grid-column:auto;}
  .car-hero{align-items:flex-start;}
  .car-actions .btn{min-width:0;}
  .car-vendor-row,.future-center-row{flex-direction:column;gap:6px;}
  .car-vendor-amt,.future-center-amt{white-space:normal;}
  .vehicle-widget{padding:15px;}
  .vehicle-widget-row{align-items:flex-start;}
  .vehicle-widget-row-amt{font-size:13px;}
  .widget-filter-row{width:100%;justify-content:stretch;}
  .widget-filter-row .btn{flex:1;}
  .widget-filter{flex:1;min-width:120px;}
}

@media(max-width:360px){
  .fixed-bills-grid{grid-template-columns:1fr;}
  .fixed-bill-card{min-height:74px;}
}

/* ─── NOTIFICACAO PERSISTENTE (Android) ─────────── */
/* Apenas visual no app - a logica real - via plugin */
.persistent-notif-banner{
  background:linear-gradient(135deg,rgba(200,245,90,.1),rgba(90,245,200,.06));
  border:1px solid rgba(200,245,90,.2);
  border-radius:var(--r-lg);
  padding:14px 18px;
  display:flex;align-items:center;gap:12px;
  margin-bottom:14px;
  cursor:pointer;
  transition:all .15s;
}
.persistent-notif-banner:hover{border-color:var(--ac);}
.pnb-ico{font-size:24px;flex-shrink:0;}
.pnb-info{flex:1;}
.pnb-title{font-size:13px;font-weight:600;margin-bottom:2px;}
.pnb-sub{font-size:11px;color:var(--mt);}

/* Performance polish: less motion and lighter compositing on slower browsers. */
.modal,
.setup-box,
.srch-box,
.qa-panel {
  backdrop-filter: blur(14px) saturate(145%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(145%) !important;
  animation-duration: .12s !important;
}

.srch-summary{font-size:11px;color:var(--mt);padding:0 4px 10px;}
.srch-group+.srch-group{margin-top:10px;padding-top:10px;border-top:1px solid var(--bd);}
.srch-ico{width:30px;height:30px;border-radius:8px;background:var(--sf2);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;}
.srch-title{font-size:12px;font-weight:600;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.srch-meta{font-size:10px;color:var(--mt);margin-top:2px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.srch-amt{font-family:var(--font-money);font-size:12px;font-weight:800;white-space:nowrap;flex-shrink:0;}
.month-compare-dense{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0 !important;}
.mc-text{font-size:15px;line-height:1.2;font-family:var(--font-ui);}
@media(max-width:960px){
  .month-compare-dense{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .month-compare-dense{grid-template-columns:1fr;}
}
.acct-pop,
.toast,
.ptr,
.btst {
  backdrop-filter: blur(12px) saturate(145%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(145%) !important;
}
.sc:hover,
.recent-tx:hover {
  transform: none !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.11);
}
.btn-p:hover,
.sbtn:hover {
  transform: none !important;
  box-shadow: 0 4px 14px rgba(200,245,90,.18);
}
.gw-fill,
.bw-fill,
.sl-prog-fill { transition: none; }
.sbtn:hover,
.recent-tx:hover,
.widget-chip:hover { transform: none; }
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

@media(max-width:960px){
  .sl-add-row{flex-wrap:wrap;}
  .sl-add-row .fi{min-width:0;}
}


