.stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.day-column{cursor:pointer}.day-column:hover{box-shadow:inset 0 0 0 1px #aeb797}.day-column .calendar-lesson,.day-column .birthday-card{cursor:pointer}
.income-privacy-toggle[hidden]{display:none}
.income-card-head{display:flex;align-items:center;justify-content:space-between}.income-privacy-toggle{position:relative;display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #d4d9c5;border-radius:10px;background:#f0f2e7;color:#58604a;box-shadow:none}.income-privacy-toggle:hover:not(:disabled){background:#e4e8d5;transform:none}.income-privacy-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.income-privacy-toggle.privacy-hidden::after{content:'';position:absolute;width:24px;height:2px;border-radius:2px;background:#9a5149;transform:rotate(-45deg)}.income-card.income-hidden .income-primary strong,.income-card.income-hidden .income-sketch b{filter:blur(7px);user-select:none;pointer-events:none}.income-card .income-primary strong,.income-card .income-sketch b{transition:filter .18s ease}
.calendar-controls{display:flex;align-items:center;gap:10px}.calendar-view-toggle{display:flex;padding:3px;border-radius:11px;background:#e9ecdd}.calendar-view-toggle button{padding:8px 12px;background:transparent;color:#6c735f;box-shadow:none}.calendar-view-toggle button.active{background:#fffef8;color:#464b38;box-shadow:0 2px 8px #4b52391c}.month-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #dde1cf;border-radius:13px;overflow:hidden;background:#dde1cf;gap:1px}.month-weekday{padding:9px 4px;text-align:center;background:#f0f1e5;color:#717766;font-size:11px;font-weight:700;text-transform:uppercase}.month-day{min-height:92px;padding:9px;background:#fffef8;cursor:pointer;transition:background .15s}.month-day:hover{background:#f4f6e9}.month-day.outside{background:#f5f5ef;color:#a7ab9d}.month-day.today{background:#eef1df}.month-number{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;font-size:13px;font-weight:700}.month-day.today .month-number{background:#68704d;color:white}.month-dots{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:12px}.month-dot{width:8px;height:8px;border-radius:50%;background:#aeb68d}.month-dot.done{background:#6f8b54}.month-dot.cancelled{background:#c98278}.month-dot.support{background:#d0a55e}.month-more{color:#717766;font-size:10px}.month-birthday{margin-top:6px;color:#8a7144;font-size:10px}@media(max-width:650px){.calendar-heading{align-items:stretch;flex-direction:column}.calendar-controls{justify-content:space-between}.month-day{min-height:64px;padding:6px}.month-number{width:23px;height:23px}.month-dots{gap:3px;margin-top:7px}.month-dot{width:6px;height:6px}.month-birthday{font-size:0}.month-birthday:after{content:'🎂';font-size:10px}}
.calendar-filters{display:flex;align-items:end;gap:10px;margin:-4px 0 16px;padding:11px 12px;border:1px solid #dde1cf;border-radius:12px;background:#f7f7ef}.calendar-filters label{min-width:170px}.calendar-filters select{margin:4px 0 0;padding:9px}.calendar-filters button{padding:10px 13px}.calendar-filters.active{border-color:#9aa579;background:#f0f3e3}@media(max-width:650px){.calendar-filters{display:grid;grid-template-columns:1fr 1fr}.calendar-filters label{min-width:0}.calendar-filters button{grid-column:1/3}}
.attention-pill{display:flex;align-items:center;gap:9px;background:#fff0ee;color:#a9443d;border:1px solid #f1c8c4;border-radius:12px;padding:10px 14px;box-shadow:none}.attention-pill span{font-size:13px}.attention-pill strong{display:grid;place-items:center;min-width:25px;height:25px;padding:0 7px;border-radius:14px;background:#c24c44;color:#fff;font-size:14px}.attention-pill.clear{background:#f2f4f7;color:#7a8396;border-color:#e2e6ec}.attention-pill.clear strong{background:#aeb5c1}.attention-pill:disabled{cursor:default;opacity:.72}
.income-sketch{display:grid;grid-template-columns:1.15fr repeat(3,1fr);gap:0;margin-top:12px;padding-top:0;border:1px solid #e5e9f2;border-radius:10px;overflow:hidden}.income-sketch div{display:flex;flex-direction:column;justify-content:center;text-align:center;gap:5px;padding:9px 7px;background:#fafbfe}.income-sketch div:first-child{grid-column:1;grid-row:1/3;border-right:1px solid #dfe3ec;background:#f4f3ff}.income-sketch div:nth-child(2){grid-column:2/5;grid-row:1;border-bottom:1px solid #dfe3ec;background:#eef7f2}.income-sketch div:nth-child(3){grid-column:2;grid-row:2}.income-sketch div:nth-child(4){grid-column:3;grid-row:2;border-left:1px solid #e5e9f2;border-right:1px solid #e5e9f2}.income-sketch div:nth-child(5){grid-column:4;grid-row:2}.income-sketch span{font-size:10px}.income-sketch b{font-size:15px}.income-sketch div:first-child b,.income-sketch div:nth-child(2) b{font-size:19px}
@media(max-width:750px){.stats{grid-template-columns:1fr}}

.payment-tabs{display:flex;gap:7px;margin:14px 0}.payment-tabs button{background:#eef0f6;color:#687186}.payment-tabs button.active{background:#635bff;color:#fff}.payment-tabs button.clear{background:#f2f4f7;color:#9aa1ad;border:1px solid #e2e6ec;opacity:.65}.payment-tabs button:disabled{cursor:default}.debt-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.debt-summary>div{background:#fff;border:1px solid #e5e9f2;border-radius:12px;padding:14px}.debt-summary span{display:block;color:#747d91;font-size:12px;margin-bottom:6px}.debt-summary strong{font-size:23px;color:#c24c44}.unpaid-filters{display:flex;gap:10px;margin-bottom:12px}.unpaid-filters label{flex:1;margin:0}.unpaid-filters select{margin-bottom:0}.unpaid-list{display:grid;gap:8px}.unpaid-row{display:grid;grid-template-columns:minmax(150px,1.4fr) 1fr .8fr auto;gap:12px;align-items:center;background:#fff;border:1px solid #e5e9f2;border-radius:11px;padding:12px}.unpaid-row small{display:block;color:#7a8396;margin-top:3px}.unpaid-age{font-size:12px;color:#936617}.unpaid-age.overdue{color:#c24c44;font-weight:700}.unpaid-row .pay-now{padding:8px 11px;background:#28a66a}.unknown-amount{font-size:12px;color:#936617}@media(max-width:650px){.debt-summary{grid-template-columns:1fr 1fr}.unpaid-filters{flex-direction:column}.unpaid-row{grid-template-columns:1fr auto}.unpaid-row .unpaid-date,.unpaid-row .unpaid-age{grid-column:1}.unpaid-row .pay-now{grid-column:2;grid-row:1/4}}
.unpaid-actions{display:flex;gap:6px}.unpaid-row .reminder-copy{padding:8px 10px;background:#e9ecdd;color:#58604a}.unpaid-row .reminder-copy.copied{background:#68704d;color:white}@media(max-width:650px){.unpaid-actions{grid-column:2;grid-row:1/4;align-self:center;flex-direction:column}.unpaid-row .pay-now{grid-column:auto;grid-row:auto}}
