    .eb-wrap{
      max-width: 1440px;  /* or 1600px */
      margin: 0 auto;
      padding-left: 12px;
      padding-right: 12px;
    }

    .eb-hero{
        border-radius: 1.25rem;
        background: linear-gradient(135deg, rgba(13,110,253,.10), rgba(25,135,84,.08));
        border: 1px solid rgba(0,0,0,.06);
    }
    .eb-hero-head{
        display:flex;
        flex-wrap:wrap;
        justify-content:space-between;
        align-items:flex-start;
        gap:.75rem;
        margin-bottom:.95rem;
    }
    .eb-meta{
        display:flex;
        flex-wrap:wrap;
        gap:.5rem;
    }
    .eb-meta .badge{
        font-weight:600;
        padding:.42rem .62rem;
        border-radius:.65rem;
    }
    .eb-tile{
        border-radius: 1.25rem;
        border: 1px solid rgba(0,0,0,.08);
        background: #fff;
        box-shadow: 0 .25rem 1rem rgba(0,0,0,.04);
    }
    .eb-tile-label{
        font-size:.79rem;
        letter-spacing:.04em;
        text-transform:uppercase;
        color: rgba(33,37,41,.58);
        margin-bottom:.1rem;
    }
    .eb-kpi{
        font-size:clamp(1.42rem, 1.95vw, 1.72rem);
        font-weight:700;
        line-height:1.15;
        letter-spacing:-.02em;
        font-variant-numeric: tabular-nums;
    }
    .eb-kpi-sub{
        font-size:clamp(1.24rem, 1.65vw, 1.5rem);
        font-weight:700;
        line-height:1.15;
        letter-spacing:-.015em;
        font-variant-numeric: tabular-nums;
    }
    .eb-tile .eb-ico{
        width:40px;height:40px;border-radius:14px;
        display:inline-flex;align-items:center;justify-content:center;
        border:1px solid rgba(0,0,0,.08);
        background: rgba(255,255,255,.65);
    }
    .eb-soft{
        border-radius: 1.25rem;
        border: 1px solid rgba(0,0,0,.08);
        background: rgba(255,255,255,.7);
    }
    .eb-tablewrap{
        border-radius: 1.25rem;
        border: 1px solid rgba(0,0,0,.08);
        overflow: hidden;
        background: #fff;
    }
    .eb-chip{
        border-radius:999px;
    }
    .eb-muted{color: rgba(33,37,41,.65)!important}
    .eb-ranges{
        display:flex;
        flex-wrap:wrap;
        align-items:center;
        gap:.45rem;
        margin-top:.95rem;
    }
    .eb-ranges .btn{
        border-radius:999px;
        padding:.36rem .75rem;
    }
    .eb-progress{
        height:.78rem;
        border-radius:999px;
        overflow:hidden;
    }
    .eb-split{
        display:grid;
        grid-template-columns: 1fr;
        gap:.35rem;
        margin-bottom:.35rem;
    }
    .eb-split-row{
        display:flex;
        align-items:baseline;
        justify-content:space-between;
        gap:.75rem;
        padding:.3rem .45rem;
        border-radius:.6rem;
        background: rgba(13,110,253,.06);
    }
    .eb-split-row.non{
        background: rgba(108,117,125,.08);
    }
    .eb-split-label{
        font-size:.78rem;
        letter-spacing:.03em;
        text-transform:uppercase;
        color: rgba(33,37,41,.62);
        font-weight:600;
    }
    .eb-split-value{
        font-size:1.05rem;
        font-weight:700;
        line-height:1.1;
        font-variant-numeric: tabular-nums;
        white-space:nowrap;
    }
    @media (max-width: 575.98px){
        .eb-kpi{font-size:1.34rem;}
        .eb-kpi-sub{font-size:1.16rem;}
    }
    .eb-sticky-actions{
        position: sticky;
        top: .75rem;
        z-index: 2;
    }
    .eb-action-strip{
        display:grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap:.6rem;
        margin-top:.85rem;
    }
    .eb-action-item{
        border:1px solid rgba(0,0,0,.08);
        border-radius:.9rem;
        background: rgba(255,255,255,.72);
        padding:.55rem .68rem;
    }
    .eb-action-item .lbl{
        font-size:.72rem;
        text-transform:uppercase;
        letter-spacing:.03em;
        color: rgba(33,37,41,.62);
    }
    .eb-action-item .val{
        margin-top:.18rem;
        font-size:1rem;
        font-weight:700;
        line-height:1.15;
        font-variant-numeric: tabular-nums;
    }
    .eb-filter-panel{
        border:0;
        border-radius:0;
        background:linear-gradient(180deg, rgba(248,251,255,.9), rgba(255,255,255,.98));
    }
    .eb-filter-form .form-label{
        font-size:.72rem;
        letter-spacing:.05em;
        text-transform:uppercase;
        font-weight:700;
        color:rgba(33,37,41,.64)!important;
        margin-bottom:.34rem;
    }
    .eb-filter-form .form-control,
    .eb-filter-form .form-select{
        min-height:44px;
        border-radius:.72rem;
    }
    .eb-filter-form .form-control::placeholder{
        color:rgba(33,37,41,.45);
    }
    .eb-filter-form .form-control:focus,
    .eb-filter-form .form-select:focus{
        border-color:rgba(13,110,253,.35);
        box-shadow:0 0 0 .2rem rgba(13,110,253,.12);
    }
    .eb-filter-actions{
        display:flex;
        flex-wrap:wrap;
        align-items:center;
        justify-content:space-between;
        gap:.6rem;
        border-top:1px dashed rgba(0,0,0,.12);
        padding-top:.72rem;
        margin-top:.15rem;
    }
    .eb-count-pill{
        display:inline-flex;
        align-items:center;
        gap:.28rem;
        border-radius:999px;
        border:1px solid rgba(13,110,253,.22);
        background:rgba(13,110,253,.08);
        color:#0d3f8f;
        font-size:.84rem;
        padding:.3rem .62rem;
        font-variant-numeric: tabular-nums;
    }
    .eb-filter-actions .btn{
        border-radius:.7rem;
    }
    .eb-history-feed{
        border:1px solid rgba(0,0,0,.08);
        border-radius:1.1rem;
        background:#fff;
        overflow:hidden;
    }
    .eb-history-day + .eb-history-day{
        border-top:1px solid rgba(0,0,0,.08);
    }
    .eb-day-head{
        display:flex;
        flex-wrap:wrap;
        justify-content:space-between;
        align-items:baseline;
        gap:.6rem 1rem;
        padding:1rem 1.2rem;
        background:rgba(248,249,250,.8);
        border-bottom:1px solid rgba(0,0,0,.06);
    }
    .eb-day-left{
        display:flex;
        align-items:baseline;
        gap:.9rem;
    }
    .eb-day-date{
        font-size:1.45rem;
        line-height:1;
        letter-spacing:-.02em;
        font-variant-numeric: tabular-nums;
    }
    .eb-day-weekday{
        font-size:.88rem;
        color: rgba(33,37,41,.72);
        font-weight:500;
    }
    .eb-day-total{
        font-size:1rem;
        font-weight:500;
        color: rgba(33,37,41,.84);
        font-variant-numeric: tabular-nums;
    }
    .eb-day-total-label{
        color: rgba(33,37,41,.72);
    }
    .eb-day-total-value{
        color:#b4232a;
        font-weight:700;
    }
    .eb-day-total-minus{
        color:#cf2735;
        font-weight:800;
        margin-right:.12rem;
    }
    .eb-day-items{
        padding:.35rem 1.2rem .45rem;
    }
    .eb-history-item{
        display:grid;
        grid-template-columns:auto 1fr auto;
        gap:1rem;
        align-items:center;
        padding:1rem 0;
    }
    .eb-history-item + .eb-history-item{
        border-top:1px solid rgba(0,0,0,.06);
    }
    .eb-item-icon{
        width:52px;
        height:52px;
        border-radius:999px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        font-size:1.25rem;
        border:1px solid rgba(0,0,0,.08);
        flex:0 0 auto;
    }
    .eb-item-main{
        min-width:0;
    }
    .eb-item-title{
        font-size:clamp(.94rem, 1.2vw, 1.12rem);
        font-weight:500;
        line-height:1.1;
        letter-spacing:-.01em;
        margin-bottom:.18rem;
    }
    .eb-item-meta{
        color: rgba(33,37,41,.62);
        font-size:.82rem;
    }
    .eb-item-side{
        text-align:right;
    }
    .eb-item-amount{
        font-size:.95rem;
        font-weight:600;
        line-height:1;
        letter-spacing:-.02em;
        font-variant-numeric: tabular-nums;
        white-space:nowrap;
    }
    .eb-item-actions{
        display:flex;
        justify-content:flex-end;
        gap:.38rem;
        margin-top:.55rem;
    }
    .eb-item-actions .btn{
        border-radius:.55rem;
        padding:.26rem .5rem;
    }
    .eb-tone-food{
        background:radial-gradient(circle at 30% 20%, #f8e39c, #ead392);
        color:#6f5300;
    }
    .eb-tone-bank{
        background:radial-gradient(circle at 30% 20%, #f2d88a, #e3c976);
        color:#6e4d00;
    }
    .eb-tone-fix{
        background:radial-gradient(circle at 30% 20%, #89f1d2, #74dfbf);
        color:#0d5a4d;
    }
    .eb-tone-drive{
        background:radial-gradient(circle at 30% 20%, #9ce6ef, #84d6e0);
        color:#0e4f67;
    }
    .eb-tone-default{
        background:radial-gradient(circle at 30% 20%, #d5dae2, #c7ced8);
        color:#4a5362;
    }
    @media (max-width: 991.98px){
        .eb-action-strip{ grid-template-columns: 1fr; }
    }
    @media (max-width: 767.98px){
        .eb-day-head{
            padding:.86rem .95rem;
        }
        .eb-day-date{
            font-size:1.2rem;
        }
        .eb-day-total{
            font-size:.9rem;
        }
        .eb-day-items{
            padding:.2rem .95rem .35rem;
        }
        .eb-history-item{
            grid-template-columns:auto 1fr;
            align-items:start;
            gap:.78rem;
            padding:.9rem 0;
        }
        .eb-item-icon{
            width:44px;
            height:44px;
            font-size:1.08rem;
        }
        .eb-item-title{
            font-size:.95rem;
        }
        .eb-item-side{
            grid-column:1 / -1;
            padding-left:3.28rem;
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:.5rem;
            text-align:left;
        }
        .eb-item-amount{ font-size:.85rem; }
        .eb-item-actions{
            margin-top:0;
        }
    }

/* ---------- Incomes page ---------- */
.incomes-page .eb-page-title { letter-spacing: .2px; }
.incomes-page .eb-soft { color: rgba(0,0,0,.58); }
.incomes-page .eb-income-header-card { overflow: hidden; }
.incomes-page .eb-income-header-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:1rem 1.25rem;
  align-items:start;
}
.incomes-page .eb-income-header-side{
  justify-self:end;
  text-align:right;
}
.incomes-page .eb-income-top-stats{
  display:flex;
  justify-content:flex-end;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:.75rem 1.1rem;
}
.incomes-page .eb-income-stat{
  min-width:88px;
}
.incomes-page .eb-income-header-actions .btn{
  min-width:108px;
}
.incomes-page .eb-income-context-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.55rem .6rem;
}
.incomes-page .eb-income-context-title{
  margin-right:.15rem;
}
.incomes-page .eb-income-context-chips{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
}
.incomes-page .eb-income-context-chip{
  font-size:.79rem;
  padding:.2rem .56rem;
}
.incomes-page .eb-income-context-chip.is-empty{
  color:rgba(33,37,41,.62);
}
.incomes-page .eb-income-top-ranges{
  margin-top:.78rem;
}
.incomes-page .eb-income-top-ranges .btn-outline-secondary{
  color:rgba(33,37,41,.78);
  border-color:rgba(0,0,0,.17);
  background:rgba(255,255,255,.92);
}
.incomes-page .eb-income-top-ranges .btn-outline-secondary:hover{
  color:#0d6efd;
  border-color:rgba(13,110,253,.36);
  background:rgba(13,110,253,.08);
}
.incomes-page .eb-income-top-ranges .btn-primary.active-range{
  box-shadow:0 4px 12px rgba(13,110,253,.2);
}
.incomes-page .eb-income-kpi-card { border: 1px solid rgba(0,0,0,.07); border-radius: 1rem; }
.incomes-page .eb-chip { border: 1px solid rgba(0,0,0,.12); border-radius: 999px; padding: .22rem .6rem; background: rgba(0,0,0,.02); }
.incomes-page .eb-amount { letter-spacing: .2px; }
.incomes-page .eb-card-head { border-bottom: 1px solid rgba(0,0,0,.06); }
.incomes-page .eb-kpi-icon { width: 42px; height: 42px; border-radius: 14px; }
.incomes-page .eb-mini { font-size: .82rem; }
.incomes-page .eb-actions .btn { --bs-btn-padding-y: .2rem; --bs-btn-padding-x: .55rem; }
.incomes-page .eb-filter-jump-btn { min-width: 108px; }
.incomes-page .eb-income-filters-card { overflow: hidden; }
.incomes-page .eb-income-filters-card .eb-filter-panel { padding-bottom: .95rem; }
.incomes-page .eb-income-filters-card .eb-filter-actions {
  margin-top: 0;
  border-top: 0;
  padding-top: 0;
  justify-content: flex-end;
}
.incomes-page .eb-income-filters-card .form-switch .form-check-input { width: 2.2em; }
.incomes-page .eb-income-filter-bottom{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:.8rem 1rem;
  border-top:1px dashed rgba(0,0,0,.12);
  padding-top:.62rem;
}
.incomes-page .eb-income-filter-recurring{
  min-width:220px;
}
.incomes-page .eb-income-kpi-head{
  display:grid;
  grid-template-columns:minmax(0, 1.35fr) minmax(240px, 1fr);
  gap:1rem;
  align-items:start;
}
.incomes-page .eb-income-kpi-side{
  justify-self:end;
  text-align:right;
}
.incomes-page .eb-income-delta{ line-height:1.28; }
.incomes-page .eb-income-money{
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.incomes-page .eb-income-top-metrics{
  text-align:right;
  white-space:nowrap;
}
.incomes-page .eb-income-day-total{
  text-align:right;
}
.incomes-page .eb-income-history-feed .eb-day-head{
  background: linear-gradient(180deg, rgba(231,250,241,.55), rgba(248,249,250,.8));
}
.incomes-page .eb-income-day-total-value{
  color:#198754;
  font-weight:700;
}
.incomes-page .eb-income-day-total-extra{
  margin-top:.22rem;
  font-size:.82rem;
  line-height:1.25;
  color:rgba(33,37,41,.72);
}
.incomes-page .eb-income-plus{
  color:#1f9d5a;
  font-weight:800;
  margin-right:.12rem;
}
.incomes-page .eb-income-history-amount{
  color:#212529;
  font-weight:700;
}
.incomes-page .eb-income-history-feed .eb-history-item{
  transition: background-color .16s ease;
}
.incomes-page .eb-income-history-feed .eb-history-item:hover{
  background: rgba(25,135,84,.035);
}
.incomes-page .eb-income-history-feed .eb-item-icon{
  width:58px;
  height:58px;
}
.incomes-page .eb-income-history-feed .eb-item-icon i{
  font-size:1.52rem;
}
.incomes-page .eb-income-history-feed .eb-item-title{
  font-size:clamp(.98rem, 1.22vw, 1.18rem);
}
.incomes-page .eb-income-history-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.38rem;
}
.incomes-page .eb-income-source-pill{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(0,0,0,.14);
  border-radius:999px;
  padding:.06rem .48rem;
  background:rgba(0,0,0,.03);
  font-size:.74rem;
  line-height:1.2;
  color:rgba(33,37,41,.84);
}
.incomes-page .eb-income-meta-dot{
  color:rgba(33,37,41,.46);
}
.incomes-page .eb-tone-income-salary{
  background:radial-gradient(circle at 30% 20%, #9de3be, #83d7ab);
  color:#0f5132;
}
.incomes-page .eb-tone-income-business{
  background:radial-gradient(circle at 30% 20%, #a8c9ff, #8db6fb);
  color:#0b3f91;
}
.incomes-page .eb-tone-income-freelance{
  background:radial-gradient(circle at 30% 20%, #b8ece8, #98dfda);
  color:#0f5e5a;
}
.incomes-page .eb-tone-income-passive{
  background:radial-gradient(circle at 30% 20%, #dfc6ff, #cdb0f6);
  color:#4d2b84;
}
.incomes-page .eb-tone-income-credit{
  background:radial-gradient(circle at 30% 20%, #ffe6a0, #f7d973);
  color:#6b5500;
}
.incomes-page .eb-tone-income-default{
  background:radial-gradient(circle at 30% 20%, #d8e1ee, #c6d2e4);
  color:#324b67;
}

/* ---------- Planning page ---------- */
.planning-page .eb-card{
  border-radius:1rem;
  border:1px solid rgba(0,0,0,.08);
  overflow:hidden;
}
.planning-page .eb-muted{ color:rgba(33,37,41,.63); }
.planning-page .eb-kpi{
  font-size:1.14rem;
  line-height:1.18;
  font-weight:800;
  letter-spacing:.2px;
  font-variant-numeric:tabular-nums;
}
.planning-page .eb-kpi-sm{
  font-size:1.02rem;
  line-height:1.2;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}
.planning-page .eb-progress,
.planning-page .eb-progress-sm{
  border-radius:999px;
  overflow:hidden;
}
.planning-page .eb-progress{ height:.7rem; }
.planning-page .eb-progress-sm{ height:.58rem; }
.planning-page .eb-chip{ border-radius:999px; }
.planning-page .eb-subline{
  border-left:3px solid rgba(0,0,0,.08);
  padding-left:.72rem;
  margin-left:.12rem;
}
.planning-page .table td,
.planning-page .table th{
  vertical-align:middle;
}
.planning-page .planning-layout > [class*="col-"]{
  display:flex;
  flex-direction:column;
  gap:.75rem;
}
.planning-page .planning-sidebar{
  position:sticky;
  top:.75rem;
  align-self:flex-start;
}
.planning-page .planning-card .card-header{
  padding:.72rem 1rem;
  border-bottom:1px solid rgba(0,0,0,.08);
}
.planning-page .planning-card .card-header strong{
  letter-spacing:.01em;
}
.planning-page .planning-card .card-body{
  padding:1rem;
}
.planning-page .planning-card--plans{
  border-top:3px solid rgba(13,110,253,.62);
}
.planning-page .planning-card--create{
  border-top:3px solid rgba(25,135,84,.55);
}
.planning-page .planning-card--copy{
  border-top:3px solid rgba(108,117,125,.5);
}
.planning-page .planning-open-form .input-group .form-select{
  font-weight:600;
}
.planning-page .planning-open-form .input-group .btn{
  min-width:84px;
}
.planning-page .planning-open-card{
  border-color:rgba(13,110,253,.18);
  background:linear-gradient(180deg, rgba(242,248,255,.84), rgba(255,255,255,.98));
}
.planning-page .planning-open-card-body{
  padding:1.02rem 1.1rem;
}
.planning-page .planning-open-label{
  font-size:.84rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:700;
  color:rgba(33,37,41,.68);
  margin-bottom:.44rem;
}
.planning-page .planning-open-input .form-select{
  min-height:48px;
  font-weight:600;
  border-radius:.72rem 0 0 .72rem;
}
.planning-page .planning-open-btn{
  min-width:96px;
  font-weight:600;
}
.planning-page .planning-open-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.42rem;
}
.planning-page .planning-open-meta .badge{
  font-size:.74rem;
  font-weight:600;
  color:rgba(33,37,41,.82);
}
.planning-page .planning-open-actions{
  align-items:center;
}
.planning-page .planning-manage-btn{
  min-height:48px;
  padding:.62rem 1rem;
  border-radius:.72rem;
  font-weight:600;
  white-space:nowrap;
}
.planning-page .planning-item-head-card{
  border-color:rgba(13,110,253,.2);
}
.planning-page .planning-item-head-card .planning-open-grid{
  align-items:flex-start!important;
}
.planning-page .planning-item-head-right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:.55rem;
}
.planning-page .planning-item-editor-switch{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  justify-content:flex-end;
}
.planning-page .planning-item-switch-btn{
  min-height:38px;
  border-radius:.72rem;
  font-weight:600;
  border:1px solid rgba(108,117,125,.34);
  background:#fff;
  color:rgba(33,37,41,.86);
  --bs-btn-padding-y:.3rem;
  --bs-btn-padding-x:.7rem;
  --bs-btn-font-size:.89rem;
}
.planning-page .planning-item-switch-btn:hover{
  background:rgba(248,249,250,.96);
  border-color:rgba(108,117,125,.5);
  color:rgba(33,37,41,.92);
}
.planning-page .planning-item-switch-btn.is-active{
  background:rgba(13,202,240,.15);
  border-color:rgba(13,202,240,.52);
  color:#055160;
}
.planning-page .planning-item-head-metrics{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.45rem;
}
.planning-page .planning-item-head-metric{
  border:1px solid transparent;
  border-radius:999px;
  font-size:.78rem;
  font-weight:600;
  padding:.4rem .68rem;
  display:inline-flex;
  align-items:center;
  gap:.2rem;
}
.planning-page .planning-item-head-metric strong{
  font-weight:800;
  margin-left:.14rem;
}
.planning-page .planning-item-head-metric.text-bg-primary{
  color:#fff!important;
}
.planning-page .planning-item-head-metric.text-bg-warning{
  color:#3f3200!important;
}
.planning-page .planning-item-head-metric.text-bg-info{
  color:#063a44!important;
}
.planning-page .planning-item-head-metric.text-bg-danger{
  color:#fff!important;
}
.planning-page .planning-item-selector .planning-open-input .form-select,
.planning-page .planning-item-selector .planning-open-btn{
  min-height:50px;
}
.planning-page .planning-item-selector .planning-open-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.planning-page .planning-item-table-wrap{
  max-height:min(64vh, 560px);
  overflow:auto;
  border:1px solid rgba(0,0,0,.08);
  border-radius:.8rem;
}
.planning-page .planning-item-table-wrap .table{
  margin-bottom:0;
}
.planning-page .planning-item-table-wrap .table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:#f8f9fa;
  box-shadow:inset 0 -1px 0 rgba(0,0,0,.09);
}
.planning-page .planning-item-edit-table thead th{
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:rgba(33,37,41,.68);
  text-align:center!important;
}
.planning-page .planning-item-edit-table tbody td{
  text-align:center!important;
}
.planning-page .planning-item-edit-table tbody td .input-group{
  justify-content:center!important;
}
.planning-page .planning-item-edit-table tbody tr:nth-child(odd) td{
  background:rgba(248,249,250,.55);
}
.planning-page .planning-item-edit-table tbody tr:hover td{
  background:rgba(13,110,253,.045);
}
.planning-page .planning-item-edit-table tbody tr.planning-item-row-over td{
  background:rgba(220,53,69,.07);
}
.planning-page .planning-item-edit-table td{
  padding-top:.72rem;
  padding-bottom:.72rem;
  font-variant-numeric:tabular-nums;
}
.planning-page .planning-item-share-chip{
  font-size:.72rem;
  font-weight:700;
  color:rgba(33,37,41,.72);
  background:linear-gradient(180deg, rgba(248,249,250,.96), rgba(241,243,245,.95));
  border-color:rgba(13,110,253,.18)!important;
}
.planning-page .planning-item-name{
  letter-spacing:.01em;
}
.planning-page .planning-item-money{
  font-weight:650;
  letter-spacing:.01em;
}
.planning-page .planning-item-money--planned{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.2rem .5rem;
  border-radius:.58rem;
  border:1px solid rgba(108,117,125,.22);
  background:rgba(248,249,250,.92);
}
.planning-page .planning-item-edit-group .input-group-text{
  background:rgba(13,110,253,.06);
  border-color:rgba(13,110,253,.2);
  color:rgba(33,37,41,.78);
}
.planning-page .planning-item-used-value{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:70px;
  padding:.2rem .48rem;
  border-radius:999px;
  font-weight:800;
  font-size:.95rem;
  letter-spacing:.01em;
}
.planning-page .planning-item-used-value.is-good{
  color:#146c43;
  background:rgba(25,135,84,.14);
}
.planning-page .planning-item-used-value.is-watch{
  color:#7a5200;
  background:rgba(255,193,7,.22);
}
.planning-page .planning-item-used-value.is-risk{
  color:#b02a37;
  background:rgba(220,53,69,.15);
}
.planning-page .planning-item-amount-input{
  max-width:170px;
  text-align:center!important;
  border-color:rgba(13,110,253,.24);
  background:#fff;
}
.planning-page .planning-item-priority-input{
  max-width:90px;
  text-align:center!important;
  border-color:rgba(108,117,125,.24);
  background:#fff;
}
.planning-page .planning-item-editor-form .invalid-feedback{
  font-size:.73rem;
}
.planning-page .planning-item-hint{
  margin-top:0;
}
.planning-page .planning-note{
  margin-top:.48rem;
  border:1px dashed rgba(0,0,0,.16);
  border-radius:.62rem;
  padding:.42rem .58rem;
  background:rgba(255,255,255,.78);
}
.planning-page .planning-current-plan{
  background:linear-gradient(180deg, rgba(248,249,250,.9), rgba(255,255,255,.95));
  border-color:rgba(13,110,253,.18)!important;
}
.planning-page .planning-plan-meta .badge{
  font-weight:500;
}
.planning-page .planning-sidebar .form-label{
  font-size:.79rem;
  text-transform:uppercase;
  letter-spacing:.03em;
  font-weight:700;
  color:rgba(33,37,41,.7);
  margin-bottom:.35rem;
}
.planning-page .planning-sidebar .form-control,
.planning-page .planning-sidebar .form-select{
  min-height:44px;
  border-radius:.72rem;
}
.planning-page .planning-sidebar .form-control:focus,
.planning-page .planning-sidebar .form-select:focus{
  border-color:rgba(13,110,253,.32);
  box-shadow:0 0 0 .18rem rgba(13,110,253,.1);
}
.planning-page .planning-sidebar .form-text{
  color:rgba(33,37,41,.58);
}
.planning-page .planning-create-form .btn-primary,
.planning-page .planning-copy-form .btn{
  min-height:46px;
  border-radius:.72rem;
}
.planning-page .planning-copy-form .btn-outline-primary{
  border-width:1.2px;
}
.planning-page .planning-kpi-card{
  position:relative;
  border-color:rgba(13,110,253,.14);
  background:linear-gradient(180deg, rgba(255,255,255,1), rgba(247,249,252,.92));
}
.planning-page .planning-kpi-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:rgba(13,110,253,.58);
}
.planning-page .planning-kpi-card--income::before{
  background:rgba(25,135,84,.74);
}
.planning-page .planning-kpi-card--expenses::before{
  background:rgba(220,53,69,.62);
}
.planning-page .planning-kpi-card--net::before{
  background:rgba(13,110,253,.68);
}
.planning-page .planning-kpi-card .card-body{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:.35rem;
}
.planning-page .planning-kpi-value{
  font-size:clamp(1.28rem, 1.55vw, 1.62rem);
  line-height:1.12;
}
.planning-page .planning-kpi-key{
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:rgba(33,37,41,.56);
  margin-top:.1rem;
}
.planning-page .planning-kpi-subvalue{
  line-height:1.35;
}
.planning-page .planning-kpi-subvalue strong{
  font-weight:700;
  color:rgba(33,37,41,.9);
}
.planning-page .planning-kpi-label{
  font-size:.78rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(33,37,41,.62);
}
.planning-page .planning-kpi-icon{
  width:40px;
  height:40px;
  border-radius:.72rem;
  border:1px solid rgba(0,0,0,.11);
  background:linear-gradient(180deg, rgba(248,249,250,.96), rgba(236,239,244,.9));
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:rgba(33,37,41,.74);
}
.planning-page .planning-kpi-icon i{
  font-size:1.05rem;
}
.planning-page .planning-kpi-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.6rem;
}
.planning-page .planning-kpi-meta--single{
  padding-top:.38rem;
  border-top:1px dashed rgba(0,0,0,.09);
}
.planning-page .planning-kpi-meta--gauge{
  align-items:center;
}
.planning-page .planning-kpi-meta-value{
  font-variant-numeric:tabular-nums;
  color:rgba(33,37,41,.9);
}
.planning-page .planning-mini-gauge{
  --gauge-pct: 0;
  --gauge-color: #0d6efd;
  position:relative;
  width:58px;
  height:58px;
  border-radius:50%;
  background:conic-gradient(var(--gauge-color) calc(var(--gauge-pct) * 1%), rgba(108,117,125,.2) 0);
  display:grid;
  place-items:center;
  flex:0 0 auto;
}
.planning-page .planning-mini-gauge::before{
  content:"";
  position:absolute;
  inset:6px;
  border-radius:50%;
  background:#fff;
}
.planning-page .planning-mini-gauge span{
  position:relative;
  z-index:1;
  font-size:.64rem;
  font-weight:700;
  color:rgba(33,37,41,.82);
  font-variant-numeric:tabular-nums;
}
.planning-page .planning-mini-gauge.is-good{
  --gauge-color:#198754;
}
.planning-page .planning-mini-gauge.is-mid{
  --gauge-color:#0d6efd;
}
.planning-page .planning-mini-gauge.is-low{
  --gauge-color:#fd7e14;
}
.planning-page .planning-expense-progress .progress{
  background:rgba(108,117,125,.2);
}
.planning-page .planning-mini-semi-gauge{
  width:72px;
  height:44px;
  flex:0 0 auto;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.planning-page .planning-mini-semi-gauge-svg{
  width:100%;
  height:100%;
  display:block;
}
.planning-page .planning-mini-semi-gauge-seg{
  fill:none;
  stroke-width:8.5;
  stroke-linecap:round;
}
.planning-page .planning-mini-semi-gauge-seg--safe{
  stroke:#22c55e;
}
.planning-page .planning-mini-semi-gauge-seg--watch{
  stroke:#facc15;
}
.planning-page .planning-mini-semi-gauge-seg--risk{
  stroke:#ef4444;
}
.planning-page .planning-mini-semi-gauge-needle{
  stroke:#4b5563;
  stroke-width:2.8;
  stroke-linecap:round;
}
.planning-page .planning-mini-semi-gauge-pin{
  fill:#4b5563;
}
.planning-page .planning-mini-semi-gauge.is-risk .planning-mini-semi-gauge-needle,
.planning-page .planning-mini-semi-gauge.is-risk .planning-mini-semi-gauge-pin{
  stroke:#b91c1c;
  fill:#b91c1c;
}
.planning-page .planning-mini-semi-gauge.is-watch .planning-mini-semi-gauge-needle,
.planning-page .planning-mini-semi-gauge.is-watch .planning-mini-semi-gauge-pin{
  stroke:#9a6700;
  fill:#9a6700;
}
.planning-page .planning-kpi-row .card-footer{
  background:rgba(255,255,255,.95)!important;
  border-top:1px solid rgba(0,0,0,.07);
}
.planning-page .planning-summary-card{
  border-color:rgba(13,110,253,.22);
}
.planning-page .planning-income-overview{
  background:linear-gradient(180deg, rgba(242,248,255,.9), rgba(255,255,255,.96));
  border-color:rgba(13,110,253,.18)!important;
}
.planning-page .planning-income-form{
  background:rgba(248,249,250,.75);
}
.planning-page .planning-income-form .form-label{
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:rgba(33,37,41,.66);
}
.planning-page .planning-income-card .table thead th{
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:rgba(33,37,41,.67);
}
.planning-page .planning-income-card .table tbody tr:hover{
  background:rgba(13,110,253,.035);
}
.planning-page .planning-income-card .badge{
  font-weight:600;
}
.planning-page .planning-income-progress{
  background:rgba(108,117,125,.18);
}
.planning-page .planning-income-progress .planning-income-progress-bar{
  transition:background-color .2s ease;
}
.planning-page .planning-income-progress .planning-income-progress-bar--danger{
  background-color:#e9a5ad;
}
.planning-page .planning-income-progress .planning-income-progress-bar--watch{
  background-color:#f1c76a;
}
.planning-page .planning-income-progress .planning-income-progress-bar--good{
  background-color:#7fb2ff;
}
.planning-page .planning-income-progress .planning-income-progress-bar--excellent{
  background-color:#7dce9f;
}
.planning-page .planning-status-card .accordion-button{
  box-shadow:none!important;
  border:1px solid rgba(0,0,0,.07);
}
.planning-page .planning-status-card .accordion-button:not(.collapsed){
  background:rgba(13,110,253,.06);
  border-color:rgba(13,110,253,.18);
}
.planning-page .planning-status-card .accordion-item{
  background:transparent;
}
.planning-page .planning-status-card .accordion-body{
  border:1px solid rgba(0,0,0,.06);
  border-top:0;
  border-radius:0 0 .8rem .8rem;
  background:#fff;
}
.planning-page .planning-item-form-card .form-text{
  font-size:.76rem;
}

@media (max-width: 992px){
  .incomes-page .eb-income-header-grid{
    grid-template-columns:1fr;
  }
  .incomes-page .eb-income-header-side{
    justify-self:start;
    text-align:left;
    width:100%;
  }
  .incomes-page .eb-income-top-stats{
    justify-content:flex-start;
  }
  .incomes-page .eb-income-header-actions{
    justify-content:flex-start!important;
  }
  .incomes-page .eb-filter-jump-btn{
    width:100%;
  }
  .incomes-page .eb-income-filter-bottom{
    align-items:stretch;
  }
  .incomes-page .eb-income-filters-card .eb-filter-actions{
    justify-content:flex-start;
  }
  .incomes-page .eb-income-kpi-head{
    grid-template-columns:1fr;
  }
  .incomes-page .eb-income-kpi-side{
    justify-self:start;
    text-align:left;
  }
  .incomes-page .eb-income-top-metrics{
    text-align:left;
    white-space:normal;
  }
  .incomes-page .eb-income-day-total{
    text-align:left;
  }
  .incomes-page .eb-income-history-feed .eb-item-icon{
    width:50px;
    height:50px;
  }
  .incomes-page .eb-income-history-feed .eb-item-icon i{
    font-size:1.3rem;
  }
  .incomes-page .eb-sticky{ position: static; top: auto; }
  .planning-page .planning-layout > [class*="col-"]{
    gap:0;
  }
  .planning-page .planning-open-card-body{
    padding:.92rem;
  }
  .planning-page .planning-manage-btn{
    width:100%;
    justify-content:center;
  }
  .planning-page .planning-item-head-right{
    align-items:flex-start;
  }
  .planning-page .planning-item-head-metrics{
    justify-content:flex-start;
  }
  .planning-page .planning-item-editor-switch{
    justify-content:flex-start;
  }
  .planning-page .planning-sidebar{
    position:static;
    top:auto;
  }
  .planning-page .eb-kpi{
    font-size:1.03rem;
  }
  .planning-page .eb-kpi-sm{
    font-size:.94rem;
  }
  .planning-page .planning-kpi-icon{
    width:36px;
    height:36px;
  }
  .planning-page .planning-kpi-icon i{
    font-size:.98rem;
  }
  .planning-page .planning-mini-semi-gauge{
    width:68px;
    height:42px;
  }
}

.uzs-page{
  --uzs-bg:#f4f6f3;
  --uzs-card:#ffffff;
  --uzs-ink:#102033;
  --uzs-muted:#5f6f82;
  --uzs-border:rgba(16,32,51,.10);
  --uzs-shadow:0 18px 40px rgba(16,32,51,.08);
  --uzs-accent:#0f7b6c;
  --uzs-accent-soft:rgba(15,123,108,.10);
  --uzs-warning:#a66610;
  --uzs-warning-soft:rgba(166,102,16,.12);
  --uzs-neutral-soft:rgba(16,32,51,.06);
  background:
    radial-gradient(circle at top left, rgba(15,123,108,.12), transparent 28%),
    linear-gradient(180deg, #f7faf8 0%, #eef3ef 100%);
  color:var(--uzs-ink);
  font-family:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "DejaVu Sans", sans-serif;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.uzs-page .eb-card{
  background:var(--uzs-card);
  border:1px solid var(--uzs-border);
  border-radius:1.35rem;
  box-shadow:var(--uzs-shadow);
}
.uzs-page .text-muted{ color:var(--uzs-muted)!important; }
.uzs-page .glyph{
  line-height:1;
  letter-spacing:0;
  font-variant-ligatures:none;
  text-rendering:geometricPrecision;
  white-space:nowrap;
}
.uzs-page .glyph-xl{ font-size:clamp(96px,10vw,144px); }
.uzs-page .glyph-lg{ font-size:clamp(64px,6vw,96px); }
.uzs-page .glyph-md{ font-size:clamp(32px,3.5vw,50px); }
.uzs-page .glyph-sm{ font-size:clamp(22px,2.25vw,30px); }
.uzs-page .uzs-shell{ position:relative; }
.uzs-page .uzs-hero{ position:relative; overflow:hidden; }
.uzs-page .uzs-hero::after{
  content:"";
  position:absolute;
  inset:auto -90px -90px auto;
  width:240px;
  height:240px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(15,123,108,.14), transparent 68%);
  pointer-events:none;
}
.uzs-page .uzs-eyebrow{
  color:var(--uzs-accent);
  letter-spacing:.08em;
}
.uzs-page .uzs-title{
  max-width:20ch;
  font-size:clamp(1.8rem,3.4vw,2.8rem);
  font-weight:800;
  line-height:1.02;
}
.uzs-page .uzs-subtitle{
  max-width:58ch;
  font-size:1.02rem;
  color:var(--uzs-muted);
}
.uzs-page .uzs-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
}
.uzs-page .uzs-chip{
  display:inline-flex;
  align-items:center;
  gap:.2rem;
  padding:.62rem .9rem;
  border-radius:999px;
  font-size:.84rem;
  font-weight:700;
  border:1px solid transparent;
}
.uzs-page .uzs-chip-success{
  color:#0d5f51;
  background:var(--uzs-accent-soft);
  border-color:rgba(15,123,108,.18);
}
.uzs-page .uzs-chip-warning{
  color:#85530c;
  background:var(--uzs-warning-soft);
  border-color:rgba(166,102,16,.22);
}
.uzs-page .uzs-chip-neutral{
  color:#314255;
  background:var(--uzs-neutral-soft);
  border-color:var(--uzs-border);
}
.uzs-page .uzs-primary-glyph-wrap{
  display:flex;
  align-items:flex-end;
  gap:1.25rem;
  flex-wrap:wrap;
}
.uzs-page .uzs-primary-meta{ max-width:24rem; }
.uzs-page .uzs-primary-code{
  display:inline-flex;
  align-items:center;
  padding:.45rem .8rem;
  margin-bottom:.65rem;
  border-radius:999px;
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size:.92rem;
  font-weight:700;
  color:#314255;
  background:var(--uzs-neutral-soft);
  border:1px solid var(--uzs-border);
}
.uzs-page .uzs-primary-name{
  font-size:1.05rem;
  font-weight:700;
  margin-bottom:.45rem;
}
.uzs-page .uzs-primary-rule{
  font-size:.96rem;
  line-height:1.55;
}
.uzs-page .uzs-side-stack{
  display:grid;
  gap:1rem;
}
.uzs-page .uzs-side-card,
.uzs-page .uzs-snippet-card,
.uzs-page .uzs-pattern-card,
.uzs-page .uzs-font-card,
.uzs-page .uzs-size-card{
  background:rgba(255,255,255,.68);
  border:1px solid var(--uzs-border);
  border-radius:1.1rem;
}
.uzs-page .uzs-side-card{
  padding:1.15rem;
  backdrop-filter:blur(12px);
}
.uzs-page .uzs-side-card-head,
.uzs-page .uzs-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}
.uzs-page .uzs-side-kicker{
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--uzs-muted);
  font-weight:800;
}
.uzs-page .uzs-guidance-list{
  margin:0;
  padding-left:1.1rem;
  color:var(--uzs-ink);
}
.uzs-page .uzs-guidance-list li{
  margin:.45rem 0;
  line-height:1.5;
}
.uzs-page .uzs-snippet-card{
  padding:1rem;
  height:100%;
}
.uzs-page .uzs-snippet-card code{
  display:block;
  padding:.9rem 1rem;
  border-radius:.9rem;
  background:#0f172a;
  color:#dff7f0;
  font-size:.95rem;
}
.uzs-page .uzs-section{ position:relative; }
.uzs-page .uzs-pattern-card,
.uzs-page .uzs-font-card,
.uzs-page .uzs-size-card{
  padding:1.25rem;
  height:100%;
}
.uzs-page .uzs-pattern-label{
  margin-bottom:.7rem;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--uzs-muted);
  font-weight:800;
}
.uzs-page .uzs-pattern-main{ margin-bottom:.7rem; }
.uzs-page .uzs-plain-value{
  font-size:clamp(1.55rem,2vw,2rem);
  font-weight:800;
  letter-spacing:-.03em;
}
.uzs-page .uzs-alert{
  background:linear-gradient(135deg, rgba(255,248,230,.92), rgba(255,242,214,.85));
}
.uzs-page .uzs-font-noto{ font-family:"Noto Sans", sans-serif; }
.uzs-page .uzs-font-dejavu{ font-family:"DejaVu Sans", sans-serif; }
.uzs-page .lang-btn{
  min-width:3.6rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.25rem;
}
.uzs-page .lang-btn .badge{
  min-width:1.35rem;
  text-align:center;
}
.uzs-page .lang-btn.active{
  border-color:transparent!important;
  box-shadow:0 0 0 .2rem rgba(13,110,253,.18);
}
@media (max-width: 991.98px){
  .uzs-page .uzs-title{ max-width:none; }
}
@media print{
  .uzs-page{ background:#fff!important; color:#000!important; }
  .uzs-page .eb-card{ box-shadow:none!important; }
  .uzs-page .no-print{ display:none!important; }
}
