/* FinPlan redesign layer — только внешний вид. Логика, вход, синхронизация и расчёты не затрагиваются. */
:root,html[data-theme="dark"]{
  --bg:#0c1626;--panel:#13213a;--panel2:#192a47;--line:#22375a;--line2:#2f4a74;
  --text:#eaf2fc;--muted:#8fa5c2;--soft:#b5c7de;
  --green:#34d399;--mint:#b5f3d8;--red:#ff7b72;--amber:#f5b84a;--blue:#4aa8ff;--blue2:#2f7ff0;
  --track:#1d3150;--bar:#0a1220;--shadow:0 10px 30px rgba(2,8,20,.35);
  --accent:linear-gradient(135deg,#5cb6ff,#2f7ff0);--on-accent:#fff;--modal:#10192b;--field:#0c1626;
  color-scheme:dark}
html[data-theme="light"]{
  --bg:#eef3fa;--panel:#ffffff;--panel2:#f1f5fb;--line:#d7e1ef;--line2:#b9c9e0;
  --text:#14233a;--muted:#5d7391;--soft:#3d5473;
  --green:#0f9f6e;--mint:#0b6e4d;--red:#d6453d;--amber:#b7791f;--blue:#1f78e0;--blue2:#1f6fd6;
  --track:#e1e9f5;--bar:#ffffff;--shadow:0 8px 24px rgba(30,60,110,.10);
  --accent:linear-gradient(135deg,#3b9bf5,#1f6fd6);--on-accent:#fff;--modal:#ffffff;--field:#f6f9fd;
  color-scheme:light}
html,body{background:var(--bg)!important;color:var(--text)!important;font-family:'Onest','Manrope',system-ui,-apple-system,'Segoe UI',Arial,sans-serif!important}
body,button,input,select,textarea{font-family:inherit}
*{font-family:inherit!important}

/* ---------- боковое меню ---------- */
.sidebar{background:var(--bar)!important;border-right:1px solid var(--line)!important}
.brand-mark{background:var(--accent)!important;color:#fff!important;border-radius:10px!important;font-family:inherit!important;font-weight:800;font-size:19px!important;width:32px!important;height:32px!important}
.brand{color:var(--text)!important}
.quick-add{background:var(--accent)!important;border:0!important;color:#fff!important;border-radius:12px!important;font-weight:700!important;box-shadow:0 8px 20px rgba(47,127,240,.28)}
.nav-item{color:var(--soft)!important;border-radius:11px!important;font-weight:600!important}
.nav-item span{color:var(--muted)!important}
.nav-item:hover{background:var(--panel2)!important;color:var(--text)!important}
.nav-item.active{background:var(--panel2)!important;color:var(--text)!important;box-shadow:inset 3px 0 0 var(--blue)}
.nav-item.active span{color:var(--blue)!important}
.sidebar-bottom{color:var(--muted)!important}

/* ---------- верхняя панель ---------- */
.topbar{background:var(--bar)!important;border-bottom:1px solid var(--line)!important;box-shadow:none!important;height:auto!important;min-height:64px;position:relative;z-index:30}
.account-switcher{display:none!important}
.fp-tabs{display:flex;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:4px}
.fp-tab{display:flex;align-items:center;gap:9px;border:0;background:transparent;color:var(--soft);border-radius:10px;padding:5px 14px 5px 5px;min-height:42px;cursor:pointer;text-align:left;min-width:0}
.fp-tab .fp-tab-ico{width:30px;height:30px;border-radius:9px;background:var(--panel2);display:grid;place-items:center;font-weight:700;font-size:14px;flex:none;color:var(--text)}
.fp-tab b{display:block;font-weight:600;font-size:13px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fp-tab small{display:block;font-size:11.5px;opacity:.8}
.fp-tab.on{background:var(--accent);color:#fff;box-shadow:0 6px 16px rgba(47,127,240,.3)}
.fp-tab.on .fp-tab-ico{background:rgba(255,255,255,.2);color:#fff}
.top-actions{position:relative;display:flex;align-items:center;gap:12px}
.header-status{font-size:12px!important;color:var(--muted)!important}
.header-status small{display:none!important}
.header-status b{font-weight:500!important}
.header-status i{background:var(--green)!important;box-shadow:0 0 0 4px rgba(52,211,153,.18)!important}
.fp-offline .header-status i{background:var(--amber)!important;box-shadow:0 0 0 4px rgba(245,184,74,.2)!important}
.fp-avatar{width:38px;height:38px;border-radius:50%;border:0;background:var(--accent);color:#fff;font-weight:700;font-size:15px;cursor:pointer;flex:none}
.cloud-user{display:none!important}
.top-actions.fp-menu-open .cloud-user,.top-actions.fp-menu-open .fp-menu{display:flex!important}
.fp-menu{display:none;position:absolute;right:0;top:48px;z-index:60;min-width:240px;flex-direction:column;gap:2px;background:var(--panel);border:1px solid var(--line2);border-radius:14px;padding:8px;box-shadow:var(--shadow)}
.top-actions.fp-menu-open .cloud-user{position:static;display:contents!important}
.fp-menu .fp-mail{padding:8px 10px 10px;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line);margin-bottom:4px;word-break:break-all}
.fp-menu button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:var(--text);text-align:left;padding:11px 10px;border-radius:9px;font:500 14px inherit;cursor:pointer}
.fp-menu button:hover{background:var(--panel2)}
.fp-menu button.fp-danger{color:var(--red)}
.fp-menu hr{border:0;border-top:1px solid var(--line);margin:4px 0;width:100%}

.page-heading{padding:18px 0 12px!important}
.page-heading h1{letter-spacing:-.02em!important;font-weight:700}
.eyebrow{color:var(--muted)!important}
.eyebrow::first-letter{text-transform:uppercase}

/* ---------- карточки и панели ---------- */
.metric,.panel,.account-card,.goal-card,.cat-card,.controls{background:var(--panel)!important;border:1px solid var(--line)!important;border-radius:16px!important;box-shadow:none!important;color:var(--text)}
.metric{min-height:0!important;padding:16px!important}
.metric-label{color:var(--soft)!important;font-weight:500!important;font-size:12.5px!important}
.metric-value{font-weight:700!important;letter-spacing:-.02em!important;margin:8px 0 4px!important;font-size:24px!important}
.metric-note,.muted,.panel-title small{color:var(--muted)!important}
.positive{color:var(--green)!important}.negative{color:var(--red)!important}
.fp-card-hint{display:none!important}
.progress,.mini-progress{background:var(--track)!important}
.button,.period button{background:var(--panel2)!important;border:1px solid var(--line2)!important;color:var(--text)!important;border-radius:11px!important;font-weight:600!important}
.button.primary,.primary{background:var(--accent)!important;border:0!important;color:#fff!important}
.segmented{background:transparent!important;border:0!important;gap:6px!important}
.segmented button{border:1px solid var(--line2)!important;border-radius:999px!important;color:var(--soft)!important;background:transparent!important;font-weight:500!important}
.segmented button.selected{background:var(--accent)!important;border-color:transparent!important;color:#fff!important}
input,select,textarea{background:var(--field)!important;color:var(--text)!important;border:1px solid var(--line2)!important;border-radius:11px!important}
label{color:var(--muted)!important}
.action-link{color:var(--blue)!important}.action-link.danger,.danger{color:var(--red)!important}
.badge,.chip{background:var(--panel2)!important;color:var(--soft)!important}
.table td,.table th{border-color:var(--line)!important}
.table th{color:var(--muted)!important}
.modal-card{background:var(--modal)!important;border:1px solid var(--line2)!important;color:var(--text)}
.modal-card h2{color:var(--text)}
.toast{background:var(--panel2)!important;color:var(--text)!important;border:1px solid var(--line2)}
.empty{border-color:var(--line2)!important;color:var(--muted)!important}
.category-icon{background:var(--panel2)!important}

/* ---------- Бюджет ---------- */
.fp-day-hero{display:flex;gap:16px;align-items:center;background:linear-gradient(120deg,rgba(47,127,240,.28),var(--panel) 70%);border:1px solid var(--line2);border-radius:18px;padding:14px 18px;margin-bottom:12px}
html[data-theme="light"] .fp-day-hero{background:linear-gradient(120deg,#dcebff,#fff 70%)}
.fp-ring{position:relative;width:60px;height:60px;flex:none}
.fp-ring svg{width:60px;height:60px;transform:rotate(-90deg)}
.fp-ring circle{fill:none;stroke-width:7;stroke-linecap:round}
.fp-ring .t{stroke:var(--track)}.fp-ring .v{stroke:var(--blue)}
.fp-ring span{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;font-weight:700}
.fp-day-hero .lbl{font-size:12.5px;color:var(--soft)}
.fp-day-hero .val{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.15}
.fp-day-hero .val.neg{color:var(--red)}.fp-day-hero .val.pos{color:var(--green)}
.fp-day-hero small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}

#budget .controls{padding:10px 12px!important}
.budget-currency-tools{flex-wrap:wrap}
.fp-more-tools-btn{display:none}
.fp-more-tools-btn{border:1px solid var(--line2);background:var(--panel2);color:var(--soft);border-radius:11px;padding:8px 12px;font:500 13px inherit;cursor:pointer;align-items:center;gap:6px}

.fp-secondary-strip{display:none}

/* ---------- Операции ---------- */
.fp-op-types{display:flex;gap:6px;flex-wrap:wrap}
.fp-op-types button{border:1px solid var(--line2);background:transparent;color:var(--soft);border-radius:999px;padding:8px 14px;font:500 13px inherit;cursor:pointer}
.fp-op-types button.on{background:var(--accent);border-color:transparent;color:#fff}
.fp-op-head{display:grid;gap:10px;margin-bottom:12px}
.fp-op-head .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.fp-op-head .row.search{display:flex}
.fp-op-head .row.search>label{flex:1;min-width:0}
.fp-op-filters-btn{border:1px solid var(--line2);background:var(--panel2);color:var(--text);border-radius:11px;padding:10px 14px;font:600 13px inherit;cursor:pointer;white-space:nowrap}
.fp-op-filters-btn.on{border-color:var(--blue);color:var(--blue)}
.fp-operation-filters{display:block!important}
.fp-operation-filters>label{display:none!important}
.fp-operation-filters>label.fp-keep{display:grid!important}
.fp-operation-filters.fp-open{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.fp-operation-filters.fp-open>label{display:grid!important}
.fp-operation-filters.fp-open>label.fp-type-lbl{display:none!important}
.fp-operation-filters.fp-open>label.fp-search-lbl{display:none!important}
.fp-operation-filters:not(.fp-open){display:none!important}
.fp-operation-table td .muted{display:block}
.operation-table td{vertical-align:middle}
.fp-opmenu{display:inline-flex;gap:4px}

/* ---------- Календарь / Аналитика / прочее ---------- */
.fp-bar-scroll{overflow:visible!important}
.fp-hbars{display:grid;gap:10px}
.fp-hbar{display:grid;gap:5px;border:0;background:transparent;color:inherit;text-align:left;padding:0;cursor:pointer}
.fp-hbar .top{display:flex;justify-content:space-between;gap:10px;font-size:13px}
.fp-hbar .top span:first-child{color:var(--soft);min-width:0;overflow-wrap:anywhere}
.fp-hbar .top b{font-weight:600;white-space:nowrap}
.fp-hbar .tr{height:8px;border-radius:5px;background:var(--track);overflow:hidden}
.fp-hbar .tr i{display:block;height:100%;border-radius:5px;background:var(--blue)}
.fp-hbar.inc .tr i{background:var(--green)}
.fp-collapse>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-weight:600}
.fp-collapse>summary::-webkit-details-marker{display:none}
.fp-collapse>summary::after{content:'▾';color:var(--muted)}
.fp-collapse[open]>summary::after{content:'▴'}

.fp-cat-menu{position:relative}
.fp-kebab{border:1px solid var(--line2);background:var(--panel2);color:var(--text);width:34px;height:34px;border-radius:10px;cursor:pointer;font-size:18px;line-height:1}
.fp-cat-actions-pop{display:none;position:absolute;right:0;top:38px;z-index:20;background:var(--panel);border:1px solid var(--line2);border-radius:12px;padding:6px;min-width:160px;box-shadow:var(--shadow)}
.fp-cat-menu.open .fp-cat-actions-pop{display:grid}
.fp-cat-actions-pop .action-link{display:block;text-align:left;padding:10px;border-radius:8px;font-size:14px!important;font-weight:500!important}
.fp-cat-actions-pop .action-link:hover{background:var(--panel2)}
.cat-card .card-actions{display:none}
.cat-card .fp-cat-menu .card-actions{display:grid}

.fp-danger-zone{border:1px solid rgba(255,123,114,.45)!important}

/* ---------- Нижняя навигация ---------- */
.fp-bottom-nav,.fp-sheet,.fp-sheet-bg{display:none}

@media (min-width:821px){
  .mobile-nav{display:none!important}
}
@media (max-width:820px){
  .fp-collapsed-tools .budget-currency-tools{display:none!important}
  .fp-tools-btn{display:inline-flex}
  .cat-card .subcats{display:none}
  .cat-card.fp-exp .subcats{display:flex}
  .content{padding:12px 14px 96px!important}
  .topbar{margin:0 -14px 6px!important;padding:8px 14px!important;gap:8px;min-height:0}
  .fp-tabs{flex:1;min-width:0}
  .fp-tab{flex:1;min-width:0;padding:4px 8px 4px 4px;gap:7px}
  .fp-tab small{display:block;font-size:11px}
  .header-status span{display:none!important}
  .header-status{gap:0!important}
  .top-actions{gap:8px}
  .page-heading{padding:6px 0 10px!important}
  .page-heading h1{font-size:24px!important}
  .eyebrow{font-size:12.5px!important}
  .mobile-nav{display:none!important}
  .fp-bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;position:fixed;left:0;right:0;bottom:0;z-index:40;height:70px;padding:6px 8px calc(8px + env(safe-area-inset-bottom));background:var(--bar);border-top:1px solid var(--line);box-sizing:content-box}
  .fp-bn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:transparent;color:var(--muted);font:500 11px inherit;min-height:52px;cursor:pointer;padding:0}
  .fp-bn svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .fp-bn.on{color:var(--blue)}
  .fp-bn-plus{width:56px;height:56px;border-radius:18px;background:var(--accent);color:#fff;border:0;margin:-22px auto 0;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 8px 20px rgba(47,127,240,.45)}
  .fp-sheet-bg{position:fixed;inset:0;background:rgba(2,8,20,.55);z-index:70}
  .fp-sheet{position:fixed;left:0;right:0;bottom:0;z-index:71;background:var(--panel);border-radius:22px 22px 0 0;border:1px solid var(--line2);padding:10px 16px calc(18px + env(safe-area-inset-bottom));max-height:80vh;overflow:auto}
  .fp-sheet.open,.fp-sheet-bg.open{display:block}
  .fp-sheet .grip{width:40px;height:4px;border-radius:2px;background:var(--line2);margin:0 auto 12px}
  .fp-sheet button{display:flex;align-items:center;gap:14px;width:100%;border:0;background:transparent;color:var(--text);font:500 16px inherit;padding:14px 8px;border-radius:12px;text-align:left}
  .fp-sheet button:active{background:var(--panel2)}
  .fp-sheet button i{width:34px;height:34px;border-radius:10px;background:var(--panel2);display:grid;place-items:center;font-style:normal;color:var(--blue)}
  .toast{bottom:92px!important}

  /* Бюджет: 2×2 */
  .cards.financial-overview{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .cards.financial-overview .metric{padding:13px!important}
  .cards.financial-overview .metric-value{font-size:19px!important}
  .cards.financial-overview .metric-note{font-size:11px!important}
  .cards.financial-overview .metric.fp-minor{display:none}
  .fp-show-minor .cards.financial-overview .metric.fp-minor{display:block}
  .fp-show-minor-btn{display:flex!important}
  #budget .controls{padding:10px!important;gap:10px!important}
  #periods{display:flex!important;overflow-x:auto}
  #periods button{padding:8px 13px!important;flex:none}
  .period{width:auto!important}
  .controls{flex-direction:column;align-items:stretch!important}
  #budget .controls{flex-direction:row!important;flex-wrap:wrap;align-items:center!important}

  /* Операции: компактные строки */
  .fp-operations-panel{padding:10px!important;overflow:visible!important}
  #transactions .section-head>div:first-child,#transactions .section-head [data-action="add-transaction"]{display:none!important}
  #transactions .section-head{margin-bottom:8px!important}
  .operation-table,.operation-table tbody{display:block!important;min-width:0!important}
  .operation-table tr[data-fp-op-row]{display:grid!important;grid-template-columns:1fr auto!important;gap:1px 10px!important;margin:0!important;padding:11px 4px!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;background:transparent!important}
  .operation-table tr[data-fp-op-row] td{display:block!important;border:0!important;padding:0!important;min-width:0}
  .operation-table tr[data-fp-op-row] td:nth-child(1){grid-column:1!important;grid-row:3!important;font-size:12px!important;color:var(--muted)!important}
  .operation-table tr[data-fp-op-row] td:nth-child(2){grid-column:1!important;grid-row:1!important;font-size:14.5px!important;overflow-wrap:anywhere}
  .operation-table tr[data-fp-op-row] td:nth-child(2) small{display:inline!important;margin-left:6px}
  .operation-table tr[data-fp-op-row] td:nth-child(3){grid-column:1!important;grid-row:2!important;font-size:12px!important;color:var(--muted)!important}
  .operation-table tr[data-fp-op-row] td:nth-child(4){grid-column:2!important;grid-row:1/3!important;align-self:center;font-size:15.5px!important;white-space:nowrap;text-align:right}
  .operation-table tr[data-fp-op-row] td:nth-child(5){grid-column:1/-1!important;grid-row:4!important;display:none!important;gap:8px;padding-top:9px!important}
  .operation-table tr[data-fp-op-row].fp-open td:nth-child(5){display:flex!important}
  .operation-table tr[data-fp-op-row].fp-open{background:var(--panel2)!important;border-radius:12px!important}
  .operation-table .operation-actions .action-link{flex:1;border:1px solid var(--line2)!important;background:var(--panel)!important;border-radius:10px;padding:10px 4px;font-size:13px!important}
  .panel:has(.table){overflow:visible!important}
  .section-head{flex-wrap:wrap}
  .section-head .button{padding:9px 12px!important}

  /* Календарь */
  .fp-calendar-summary{grid-template-columns:repeat(2,1fr)!important}
  .fp-calendar-summary .metric:nth-child(4){display:none}

  /* Аналитика */
  .fp-analytics-cards{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .fp-analytics-cards .metric{padding:12px!important}
  .fp-analytics-cards .metric-value{font-size:18px!important}

  /* Счета / цели / долги */
  .list-grid{grid-template-columns:1fr!important;gap:10px!important}
  .account-card,.goal-card{padding:13px!important}
  .account-card .balance,.goal-card .balance{font-size:20px!important;margin:8px 0 4px!important}
  .account-card-footer .action-link{border:1px solid var(--line2);background:var(--panel2);border-radius:10px;padding:8px 14px;font-size:13px!important}
  .cat-card{padding:13px!important}
}
@media (min-width:821px){
  .fp-day-hero{max-width:520px}
}

/* заголовки экранов не дублируют название страницы */
#transactions .section-head>div:first-child{display:none!important}
#transactions .section-head{justify-content:flex-end;gap:10px}
.fp-analytics-controls>div:first-child h2{display:none}
@media (max-width:820px){
  .section-head h2{display:none}
  .section-head>div:first-child .muted{margin:0}
  .fp-analytics-controls .muted{display:none}
}
.cat-card .card-top{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;gap:8px}
.cat-card .card-top h3{min-width:0;overflow-wrap:anywhere}
.fp-cat-menu{margin-left:auto;flex:none}
@media (max-width:820px){
  .fp-calendar-heading [data-action="add-transaction"]{display:none!important}
  .fp-calendar-summary{grid-template-columns:repeat(3,1fr)!important;gap:8px!important}
  .fp-calendar-summary .metric:nth-child(n+4){display:none}
  .fp-calendar-summary .metric{padding:10px!important}
  .fp-calendar-summary .metric-value{font-size:15px!important}
  .fp-calendar-summary .metric-note{display:none}
  .fp-calendar-currency{display:none!important}
}
.period,.period b,.fp-calendar-navigation strong,.panel h2,.panel h3,.page-heading h1,h1,h2,h3{color:var(--text)!important}
.fp-capital-grid>div,.fp-plan-summary>div,.fp-flow-summary span{background:var(--panel2)!important;border-color:var(--line)!important;color:var(--text)!important}
.fp-capital-grid span,.fp-plan-summary span,.fp-plan-summary small{color:var(--muted)!important}
.fp-detail,.fp-detail-operation,.fp-detail-total{background:var(--panel2)!important;border-color:var(--line)!important;color:var(--text)!important}
.fp-calendar-day,.fp-calendar-month,.fp-calendar-period-day{background:var(--panel)!important;border-color:var(--line)!important;color:var(--text)!important}
.fp-calendar-day.is-today{border-color:var(--blue)!important;box-shadow:inset 0 0 0 1px var(--blue)}
#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,16px);z-index:90;background:var(--panel2);color:var(--text);border:1px solid var(--line2);border-radius:12px;padding:10px 16px;font-size:13px;font-weight:600;opacity:0;pointer-events:none;transition:.25s;max-width:calc(100vw - 32px)}
#toast.show{opacity:1;transform:translate(-50%,0)}
@media (max-width:820px){#toast{bottom:92px}}
.fp-plan-tab,.fp-budget-tabs button{background:var(--panel2)!important;color:var(--soft)!important;border:1px solid var(--line2)!important;border-radius:999px!important}
.fp-plan-tab.active,.fp-budget-tabs button.active{background:var(--accent)!important;color:#fff!important;border-color:transparent!important}
.datebox,.recent-row .datebox{background:var(--panel2)!important;color:var(--soft)!important}
.fp-budget-tabs{border:0!important;gap:6px!important;flex-wrap:wrap}

/* ================= насыщенная палитра, как в макете ================= */
:root,html[data-theme="dark"]{--bg:#09111f;--bar:#070d19;--panel:#111e36;--panel2:#18294a;--line:#1f3358;--line2:#2c4a7c;
  --green:#2be08f;--red:#ff6b64;--amber:#ffb938;--blue:#42a9ff;--blue2:#2a7cf5;--violet:#8f7bff;--cyan:#35c9e8;
  --accent:linear-gradient(135deg,#55b8ff,#2a7cf5)}
html[data-theme="light"]{--green:#0aa765;--red:#e0443c;--amber:#c7821a;--blue:#1c7be6}
body{background:radial-gradient(1200px 500px at 70% -10%,rgba(42,124,245,.14),transparent 60%),var(--bg)!important}
html[data-theme="light"] body{background:var(--bg)!important}

/* боковая панель: три цветные кнопки */
.quick-add{display:none!important}
.fp-quick{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 3px 16px}
.fp-quick button,.fp-add-grid button{border:0;border-radius:12px;color:#fff;font:700 14px inherit;padding:12px 8px;cursor:pointer;transition:transform .15s,filter .15s}
.fp-quick button:hover{transform:translateY(-1px);filter:brightness(1.1)}
.fp-quick .qi,.fp-add-grid .qi{background:linear-gradient(135deg,#2be08f,#12b673);color:#04261a;box-shadow:0 8px 20px rgba(43,224,143,.28)}
.fp-quick .qe,.fp-add-grid .qe{background:linear-gradient(135deg,#ff7d76,#f0453d);box-shadow:0 8px 20px rgba(255,107,100,.28)}
.fp-quick .qt{grid-column:1/-1;background:linear-gradient(135deg,#1b3a6b,#16305a);border:1px solid var(--line2);color:#cfe6ff}
.fp-quick .qt,.fp-add-grid .qt{background:linear-gradient(135deg,#3d8bff,#2a5fe0);border:0;color:#fff;box-shadow:0 8px 20px rgba(42,124,245,.3)}
.fp-add-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:6px 0 4px}
.fp-add-grid button{display:grid;gap:4px;justify-items:center;padding:18px 6px;font-size:15px;border-radius:16px}
.fp-add-grid b{font-size:26px;line-height:1}
.fp-sheet.add button{display:grid;width:auto;color:#fff;padding:18px 6px}
.fp-sheet.add .qi{color:#04261a}

/* порядок меню как в макете */
#nav{display:flex;flex-direction:column}
#nav [data-view="budget"]{order:1}#nav [data-view="transactions"]{order:2}#nav [data-view="analytics"]{order:3}#nav [data-view="calendar"]{order:4}
#nav [data-view="accounts"]{order:5}#nav [data-view="categories"]{order:6}#nav [data-view="goals"]{order:7}#nav [data-view="debts"]{order:8}#nav [data-view="data"]{order:9}
.nav-item.active{background:linear-gradient(90deg,rgba(66,169,255,.22),transparent)!important;box-shadow:inset 3px 0 0 var(--blue)!important;color:#fff!important}
html[data-theme="light"] .nav-item.active{background:linear-gradient(90deg,rgba(28,123,230,.15),transparent)!important;color:var(--text)!important}
.sidebar-bottom{border-top:0!important;color:var(--green)!important;font-size:12px!important}

/* верхняя панель */
.fp-tab.on{box-shadow:0 6px 18px rgba(42,124,245,.45)}
.header-status{background:rgba(43,224,143,.10);border:1px solid rgba(43,224,143,.35);border-radius:999px;padding:5px 12px 5px 10px;color:var(--green)!important}
.fp-offline .header-status{background:rgba(255,185,56,.12);border-color:rgba(255,185,56,.4);color:var(--amber)!important}
.header-status b{font-size:12px!important;font-weight:600!important}

/* панель периода: одна компактная строка */
#budget .controls{background:transparent!important;border:0!important;padding:0 0 4px!important}
.fp-collapsed-tools .budget-currency-tools{display:none!important}
.fp-tools-btn{display:inline-flex!important;margin-left:auto}
#budget .controls{display:flex!important;flex-wrap:wrap;align-items:center!important;gap:10px!important;justify-content:flex-start!important}
#budget .controls .budget-currency-tools{width:100%;padding-top:6px}
#budget .segmented{background:var(--panel)!important;border:1px solid var(--line)!important;padding:3px!important;border-radius:11px!important;gap:2px!important}
#budget .segmented button{border:0!important;border-radius:8px!important;padding:7px 12px!important}
.period{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:3px!important}
.period button{border:0!important;background:transparent!important}

/* главная карточка и KPI с цветом */
.fp-day-hero{background:linear-gradient(120deg,rgba(42,124,245,.38),rgba(17,30,54,.9) 65%);border-color:rgba(66,169,255,.45);box-shadow:0 10px 30px rgba(42,124,245,.16);max-width:none!important}
.fp-ring .v{stroke:#42a9ff;filter:drop-shadow(0 0 4px rgba(66,169,255,.6))}
.fp-day-hero .val{font-size:30px;text-shadow:0 0 18px rgba(43,224,143,.25)}
.fp-budget-summary-card[data-summary="accounts"]{background:linear-gradient(160deg,#16294d,var(--panel))!important}
.fp-budget-summary-card[data-summary="inflow"]{background:linear-gradient(160deg,rgba(43,224,143,.18),var(--panel) 75%)!important;border-color:rgba(43,224,143,.4)!important}
.fp-budget-summary-card[data-summary="outflow"]{background:linear-gradient(160deg,rgba(255,107,100,.18),var(--panel) 75%)!important;border-color:rgba(255,107,100,.4)!important}
.fp-budget-summary-card[data-summary="difference"]{background:linear-gradient(160deg,rgba(66,169,255,.22),var(--panel) 75%)!important;border-color:rgba(66,169,255,.45)!important}
[data-summary="outflow"] .metric-value{color:var(--red)!important}
[data-summary="difference"] .metric-value{color:var(--blue)!important}
.metric-value{font-size:27px!important}
.progress.fp-split{display:flex;gap:2px;height:7px;background:transparent!important}
.progress.fp-split span{display:block;height:100%;border-radius:4px}
.progress.fp-split .o{background:var(--red)}.progress.fp-split .g{flex:1;background:var(--green)}
/* вторая линия показателей — компактной полосой */
.cards.financial-overview .metric.fp-minor{min-height:0!important;padding:11px 14px!important;border-radius:12px!important;background:var(--panel)!important;border-color:var(--line)!important}
.cards.financial-overview .metric.fp-minor .metric-value{font-size:18px!important;margin:3px 0 0!important}
.cards.financial-overview .metric.fp-minor .metric-note{display:none}
.cards.financial-overview .metric.fp-minor .metric-label{font-size:11.5px!important;color:var(--muted)!important}
.cards.financial-overview .metric.fp-minor .action-link{font-size:11px!important;padding:0}
.fp-capital-overview{background:var(--panel)!important}

/* план расходов: цветные полосы */
.budget-row{grid-template-columns:1.1fr 1.4fr auto!important}
.mini-progress{height:9px!important;border-radius:5px!important}
.mini-progress span{background:linear-gradient(90deg,#3d8bff,#42a9ff)!important;border-radius:5px!important}
.budget-row.fp-warn .mini-progress span{background:linear-gradient(90deg,#ffb938,#ffd166)!important}
.budget-row.fp-over .mini-progress span{background:linear-gradient(90deg,#f0453d,#ff7d76)!important}
.budget-row.fp-warn .budget-amount{color:var(--amber)!important;font-weight:600}
.budget-row.fp-over .budget-amount{color:var(--red)!important;font-weight:600}
.fp-tag{font-style:normal;font-size:11px;background:rgba(255,107,100,.15);border-radius:6px;padding:1px 6px}
.cat-name{font-size:13px!important}
.category-icon{background:rgba(66,169,255,.14)!important;color:var(--blue)!important}
.recent-row b,.recent-row strong{font-size:13px}
.datebox{background:rgba(66,169,255,.14)!important;color:var(--blue)!important;font-weight:700}
.positive{color:var(--green)!important}
.recent-row .negative{color:var(--red)!important}
.panel{background:linear-gradient(180deg,rgba(255,255,255,.015),transparent),var(--panel)!important}
html[data-theme="light"] .panel{background:var(--panel)!important}
.action-link{color:var(--blue)!important;text-decoration:none!important}
.button.primary,.primary{box-shadow:0 6px 16px rgba(42,124,245,.3)}
@media (max-width:820px){
  .cards.financial-overview .metric.fp-minor{padding:11px!important}
  .budget-row{grid-template-columns:1fr auto!important}
  .fp-day-hero .val{font-size:28px}
  #budget .controls .fp-tools-btn{margin-left:0}
}

/* ===== окна, форма операции, светлая тема — правки после проверки ===== */
.modal-backdrop{z-index:80!important;background:rgba(2,8,20,.6)!important}
.topbar{z-index:50!important}
.modal-card:has(.fp-detail-title .button) .close-modal{display:none}
.close-modal{color:var(--muted)!important}
.form-actions{background:var(--modal)!important}
.fp-kind-title{color:var(--text)!important}
.fp-kind-more,.fp-kind-more summary{color:var(--soft)!important}
.fp-kind-options button{background:var(--panel2)!important;border:1px solid var(--line2)!important;color:var(--text)!important;border-radius:12px!important;box-shadow:none!important}
.fp-kind-options button[data-kind="expense"]{background:rgba(255,107,100,.12)!important;border-color:rgba(255,107,100,.45)!important}
.fp-kind-options button[data-kind="income"]{background:rgba(43,224,143,.12)!important;border-color:rgba(43,224,143,.45)!important}
.fp-kind-options button[data-kind="transfer"]{background:rgba(66,169,255,.12)!important;border-color:rgba(66,169,255,.45)!important}
.fp-kind-options button[data-kind="expense"].active{background:linear-gradient(135deg,#ff7d76,#f0453d)!important;color:#fff!important;border-color:transparent!important}
.fp-kind-options button[data-kind="income"].active{background:linear-gradient(135deg,#2be08f,#12b673)!important;color:#04261a!important;border-color:transparent!important}
.fp-kind-options button[data-kind="transfer"].active,.fp-kind-options button.active{background:linear-gradient(135deg,#3d8bff,#2a5fe0)!important;color:#fff!important;border-color:transparent!important}
.modal-card input[name="amount"]{font-size:20px!important;font-weight:700;padding:12px!important}
.chip,.fp-recent-chip,.modal-card .fp-recent button{border-color:var(--line2)!important}
.debt-section-title span,.debt-section-title b,.debt-section-title small{background:var(--panel2)!important;color:var(--soft)!important}
html[data-theme="light"] .fp-budget-summary-card[data-summary="accounts"]{background:linear-gradient(160deg,#e3eefc,#fff)!important}
html[data-theme="light"] .fp-day-hero{background:linear-gradient(120deg,#d6e8ff,#fff 70%)!important;border-color:#a9cbf3!important}
html[data-theme="light"] .fp-day-hero .val{text-shadow:none}
html[data-theme="light"] .fp-budget-summary-card[data-summary="inflow"]{background:linear-gradient(160deg,#dff7ec,#fff 75%)!important}
html[data-theme="light"] .fp-budget-summary-card[data-summary="outflow"]{background:linear-gradient(160deg,#fde5e3,#fff 75%)!important}
html[data-theme="light"] .fp-budget-summary-card[data-summary="difference"]{background:linear-gradient(160deg,#e0edfd,#fff 75%)!important}
html[data-theme="light"] .fp-quick .qt{color:#fff}
@media (max-width:820px){
  .modal-backdrop{padding:0!important;align-items:end!important}
  .modal-card{width:100%!important;max-height:88vh!important;border-radius:20px 20px 0 0!important;padding:18px 16px calc(16px + env(safe-area-inset-bottom))!important}
  .modal-card::before{content:'';display:block;width:40px;height:4px;border-radius:2px;background:var(--line2);margin:-8px auto 10px}
  .fp-detail-title{gap:10px;align-items:flex-start}
  .fp-detail-title .button{flex:none}
  /* долги: три итога в одну строку */
  .debt-summary{grid-template-columns:repeat(3,1fr)!important;gap:8px!important}
  .debt-summary .metric{padding:10px!important}
  .debt-summary .metric-value{font-size:16px!important}
  .debt-summary .metric-label{font-size:11.5px!important}
  .debt-summary .metric-note{display:none}
}

/* заголовок раздела не повторяет название страницы */
.section-head>div:first-child>h2{display:none}

/* ===== плитки категорий, сравнение с прошлым месяцем, блок плана ===== */
.fp-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:2px 0 4px}
.fp-tile{display:grid;justify-items:center;gap:5px;border:1px solid var(--line2);background:var(--panel2);color:var(--text);border-radius:14px;padding:10px 4px 8px;cursor:pointer;font:500 11.5px inherit;min-height:68px}
.fp-tile i{font-style:normal;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:rgba(66,169,255,.16);color:var(--blue);font-size:15px;font-weight:700}
.fp-tile span{max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2;text-align:center}
.fp-tile.on{border-color:transparent;background:var(--accent);color:#fff;box-shadow:0 6px 16px rgba(42,124,245,.35)}
.fp-tile.on i{background:rgba(255,255,255,.22);color:#fff}
#fp-income-category ~ *,.fp-tiles-more{font-size:11px;color:var(--muted);grid-column:1/-1}
.fp-delta{display:inline-block;font-size:11.5px;font-weight:600;border-radius:7px;padding:2px 7px;margin:0 0 6px}
.fp-delta.good{color:var(--green);background:rgba(43,224,143,.13)}
.fp-delta.bad{color:var(--red);background:rgba(255,107,100,.13)}
.fp-day-hero{flex-wrap:wrap}
.fp-hero-main{flex:1;min-width:180px}
.fp-hero-side{margin-left:auto;text-align:right;display:grid;gap:5px;font-size:12.5px;color:var(--soft)}
.fp-hero-side b{color:var(--text);font-weight:700}
@media (max-width:820px){
  .fp-hero-side{margin-left:0;text-align:left;width:100%;border-top:1px solid var(--line2);padding-top:9px;font-size:12px}
  .fp-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .fp-tile{min-height:64px;font-size:11px}
}

/* ===== Аналитика: цветные карточки, компактный период ===== */
.fp-analytics-cards [data-detail="income"]{background:linear-gradient(160deg,rgba(43,224,143,.18),var(--panel) 75%)!important;border-color:rgba(43,224,143,.4)!important}
.fp-analytics-cards [data-detail="outgoing"]{background:linear-gradient(160deg,rgba(255,107,100,.18),var(--panel) 75%)!important;border-color:rgba(255,107,100,.4)!important}
.fp-analytics-cards [data-detail="expenses"]{background:linear-gradient(160deg,rgba(255,185,56,.16),var(--panel) 75%)!important;border-color:rgba(255,185,56,.38)!important}
.fp-analytics-cards [data-detail="expenses"] .metric-value{color:var(--amber)!important}
.fp-analytics-cards [data-detail="debt-return"]{background:linear-gradient(160deg,rgba(66,169,255,.18),var(--panel) 75%)!important;border-color:rgba(66,169,255,.4)!important}
html[data-theme="light"] .fp-analytics-cards [data-detail]{background:var(--panel)!important}
.fp-analytics-cards+.fp-analytics-cards .metric{min-height:0!important;padding:11px 14px!important;background:var(--panel)!important;border-color:var(--line)!important}
.fp-analytics-cards+.fp-analytics-cards .metric-value{font-size:18px!important;margin:3px 0 2px!important}
.fp-analytics-cards+.fp-analytics-cards .metric-label{font-size:11.5px!important;color:var(--muted)!important}
.fp-analytics-cards+.fp-analytics-cards .metric-note{font-size:10.5px!important}
.fp-analytics-cards+.fp-analytics-cards{margin-top:10px}
.fp-flow-summary{display:flex;flex-wrap:wrap;gap:8px}
.fp-flow-summary span{border-radius:10px;padding:8px 12px}
.fp-analytics-controls{padding:10px 12px!important}
@media (max-width:820px){
  .fp-analytics-controls .fp-date-range{display:grid!important;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;width:100%}
  .fp-analytics-controls .fp-date-range input{padding:8px!important;font-size:13px!important}
  .fp-analytics-controls .fp-date-range .button{padding:9px 10px!important;font-size:12px!important;white-space:nowrap}
  .fp-analytics-controls .fp-date-range label{font-size:11px}
  .fp-analytics-cards+.fp-analytics-cards .metric-note{display:none}
  .fp-flow-summary span{flex:1 1 100%}
}
.mini-progress i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#3d8bff,#42a9ff)}
.fp-subcategory-row b{font-weight:500;color:var(--soft)}
@media (max-width:820px){
  .fp-analytics-controls{display:block!important}
  .fp-analytics-controls .fp-date-range{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
  .fp-analytics-controls .fp-date-range .button{grid-column:1/-1;justify-self:start}
}
@media (max-width:820px){
  .cat-card .card-top h3{cursor:pointer}
  .cat-card .card-top h3::after{content:' ▾';color:var(--muted);font-weight:400;font-size:12px}
  .cat-card.fp-exp .card-top h3::after{content:' ▴'}
  .cat-card.fp-exp .subcats{margin-top:10px}
  .fp-calendar-navigation{display:flex!important;align-items:center;gap:6px;flex-wrap:nowrap}
  .fp-calendar-navigation strong{flex:1;text-align:center}
  .fp-calendar-navigation [data-action="cal-today"]{width:auto!important;padding:8px 10px!important}
  .fp-calendar-toolbar{gap:8px!important}
  .goal-card .button,.account-card .button{padding:8px 14px!important}
}
.fp-theme-pick{display:grid;gap:6px;padding:6px 6px 8px}
.fp-theme-pick>span{font-size:12px;color:var(--muted)}
.fp-theme-pick>div{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--panel2);border-radius:10px;padding:3px}
.fp-menu .fp-theme-pick button{justify-content:center;padding:8px 2px;font-size:12.5px;border-radius:8px;width:auto;white-space:nowrap}
.fp-menu .fp-theme-pick button.on{background:var(--accent);color:#fff}
.fp-theme-pick small{font-size:11px;color:var(--muted)}

/* ===== накопления: кнопка «В накопление», «Другие операции» на виду ===== */
.fp-quick .qs,.fp-add-grid .qs{background:linear-gradient(135deg,#a48bff,#7158f0);color:#fff;box-shadow:0 8px 20px rgba(143,123,255,.3);border:0}
.fp-quick{grid-template-columns:1fr 1fr}
.fp-quick .qt{grid-column:auto}
.fp-add-grid{grid-template-columns:repeat(2,1fr)!important}
.fp-kind-more{padding:0!important}
.fp-kind-more>summary{list-style:none;font-size:12px!important;font-weight:500!important;color:var(--muted)!important;min-height:0!important;margin-bottom:4px;pointer-events:none}
.fp-kind-more>summary::-webkit-details-marker{display:none}
.fp-kind-more .fp-kind-options{margin-top:0!important}
.fp-kind-options button[data-kind="savings"]{background:rgba(143,123,255,.13)!important;border-color:rgba(143,123,255,.5)!important}
.fp-kind-options button[data-kind="savings"].active{background:linear-gradient(135deg,#a48bff,#7158f0)!important;color:#fff!important;border-color:transparent!important}
.fp-kind-options button[data-kind="investment"].active{background:linear-gradient(135deg,#35c9e8,#1f8fbf)!important;color:#fff!important;border-color:transparent!important}
.fp-goal-actions{display:flex;flex-wrap:wrap;gap:8px}

/* ===== форма операции: остаток счёта и плитки во всю ширину ===== */
.fp-acc-info,.fp-conv-info{display:block;font-size:12px;color:var(--muted);margin-top:4px;font-weight:400;line-height:1.45}
.fp-acc-info b{color:var(--text);font-weight:600}
.fp-short{color:var(--red);font-weight:600}
#modal label:has(.fp-tiles){grid-column:1/-1}
.fp-tiles{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))!important}
.fp-tile span{font-size:12px}
.fp-tile i{font-size:14px}
#modal .form-grid{align-items:start}
.fp-chip-am{opacity:.75;font-weight:600;margin-left:2px}
.fp-quick-amounts{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.fp-quick-amounts button{border:1px solid var(--line2);background:var(--panel2);color:var(--text);border-radius:999px;padding:6px 11px;font:600 12.5px inherit;cursor:pointer}
.fp-quick-amounts button.clr{color:var(--muted);font-weight:500}
.fp-quick-amounts button:active{transform:scale(.96)}
.fp-rate-info{display:grid;gap:6px;margin-top:6px;font-size:12px;color:var(--muted);font-weight:400}
.fp-rate-info b{color:var(--text)}
.fp-use-rate{border:1px dashed var(--blue);background:transparent;color:var(--blue);border-radius:10px;padding:8px 10px;font:600 12.5px inherit;text-align:left;cursor:pointer}
.fp-base-label{grid-column:1/-1}
.fp-base-label .muted{font-weight:400}
.fp-base-info{display:grid;gap:6px;margin-top:6px;font-size:12px;color:var(--muted);font-weight:400}
.fp-base-info b{color:var(--text)}
.fp-base-sum{display:block;font-size:11.5px;color:var(--muted);font-weight:500}
form:has(.fp-base-label:not([hidden])) .fp-conv-info{display:none}

/* ===== накопления другого бюджета ===== */
.fp-goal-contrib{margin-top:14px}
.fp-gc-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.fp-gc{display:grid;gap:7px;background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:12px}
.fp-gc-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.fp-gc-top small{color:var(--muted)}
.fp-gc-sum{font-size:13px;color:var(--soft)}
.fp-gc .progress{height:8px;border-radius:5px;background:var(--track)!important;overflow:hidden}
.fp-gc .progress span{display:block;height:100%;background:linear-gradient(90deg,#a48bff,#7158f0);border-radius:5px}
.fp-gc-mine{font-size:12.5px;color:var(--muted)}
.fp-gc-mine b{color:var(--text)}
.fp-gc .button{justify-self:start;padding:8px 14px!important}
.fp-gift-note{margin:6px 0;font-size:12.5px;color:var(--muted)}
.fp-gift-note b{color:var(--text)}
