.page--analytics{padding-inline:16px;flex-direction:column;padding-bottom:24px;display:flex}.analytics-header{margin-bottom:16px}.analytics-header__title{letter-spacing:-.04em;color:var(--text-primary);margin:0;font-size:32px;font-weight:700}.analytics-header__subtitle{color:var(--text-secondary);margin:6px 0 0;font-size:15px}.analytics-periods{background:var(--fill);border:none;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:0;margin-bottom:20px;padding:3px;display:grid}.analytics-periods__btn{color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:10px;padding:9px 8px;font-size:13px;font-weight:600;transition:color .15s,background .15s}.analytics-periods__btn--active{background:var(--surface-2);color:var(--text-primary);box-shadow:0 1px 3px #00000059}.analytics-error,.analytics-empty{margin:0;font-size:15px}.analytics-empty{color:var(--text-secondary)}.analytics-error{color:var(--danger)}.analytics-content{flex-direction:column;gap:22px;display:flex}.analytics-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.analytics-stat{border-radius:var(--radius-lg);background:var(--surface);border:none;flex-direction:column;gap:6px;padding:16px;display:flex}.analytics-stat--accent{background:linear-gradient(160deg, #30d15829, var(--surface));grid-column:1/-1}.analytics-stat--negative{background:linear-gradient(160deg, #ff453a1f, var(--surface))}.analytics-stat__icon{color:var(--success);display:inline-flex}.analytics-stat--negative .analytics-stat__icon{color:#ff6961}.analytics-stat__label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);font-size:12px;font-weight:600}.analytics-stat__value{letter-spacing:-.03em;color:var(--text-primary);font-size:22px;font-weight:700}.analytics-stat--accent .analytics-stat__value{font-size:30px}.analytics-section__head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.analytics-section__title{letter-spacing:-.03em;color:var(--text-primary);margin:0 0 10px;font-size:20px;font-weight:700}.analytics-section__head .analytics-section__title{margin-bottom:0}.analytics-section__hint{color:var(--text-tertiary);margin:0;font-size:11px}.analytics-chart{border-radius:var(--radius-lg);background:var(--surface);border:none;padding:16px 12px 8px}.analytics-chart__legend{color:var(--text-secondary);gap:12px;margin-bottom:12px;font-size:11px;display:flex}.analytics-chart__legend-item{align-items:center;gap:6px;display:inline-flex}.analytics-chart__legend-dot{border-radius:50%;width:8px;height:8px}.analytics-chart__legend-dot--income{background:var(--success)}.analytics-chart__legend-dot--expense{background:var(--danger)}.analytics-chart__bars{align-items:flex-end;gap:8px;height:132px;display:flex}.analytics-chart__bar-wrap{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;height:100%;display:flex}.analytics-chart__bar-group{align-items:flex-end;gap:3px;height:100%;display:flex}.analytics-chart__bar{border-radius:6px 6px 3px 3px;width:10px}.analytics-chart__bar--income{background:var(--success)}.analytics-chart__bar--expense{background:var(--danger)}.analytics-chart__label{text-transform:lowercase;color:var(--text-tertiary);font-size:11px}.analytics-ranking{border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.analytics-ranking__item{background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.analytics-ranking li+li .analytics-ranking__item{border-top:.5px solid var(--separator)}.analytics-ranking__rank{color:#86efac;background:#30d15829;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:inline-flex}.analytics-ranking__rank--expense{background:var(--danger-soft);color:#ff8a84}.analytics-ranking__body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.analytics-ranking__name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.analytics-ranking__meta{color:var(--text-secondary);font-size:12px}.analytics-ranking__value{color:#86efac;flex-shrink:0;font-size:14px;font-weight:600}.analytics-ranking__value--expense{color:#ff8a84}.analytics-section--expenses .analytics-section__title,.analytics-section--clients .analytics-section__title{margin-bottom:10px}
