/* Subscription, payments, suggestions, What's new (shared look with School Library) */
.stat-books { --stat-color: linear-gradient(135deg, #0d9488, #0284c7); }
.stat-issued { --stat-color: linear-gradient(135deg, #6366f1, #0ea5e9); }
.stat-overdue { --stat-color: linear-gradient(135deg, #f97316, #ef4444); }
.stat-members { --stat-color: linear-gradient(135deg, #8b5cf6, #d946ef); }
.stat-fines { --stat-color: linear-gradient(135deg, #10b981, #14b8a6); }
.stat-sub { font-size: .75rem; color: var(--app-muted); margin-top: .1rem; }
.plan-banner {
    display: flex; align-items: center; gap: .75rem; flex-wrap: wrap;
    padding: .65rem 1rem; margin-bottom: 1rem; border-radius: var(--app-radius);
    background: linear-gradient(90deg, #fffbeb, #fef3c7); border: 1px solid #fde68a; color: #92400e;
    animation: slide-down .3s var(--app-ease);
}
.plan-banner.ending { background: linear-gradient(90deg, #fef2f2, #fee2e2); border-color: #fecaca; color: #991b1b; }
.plan-banner i { font-size: 1.15rem; }

/* Sidebar badge */
.sidebar .nav-link .badge { margin-left: auto; background: #f97316 !important; color: #fff !important; }
.empty-state { text-align: center; padding: 3rem 1rem; }
/* ---------- Online payment plans ---------- */
.plan-option { position: relative; border: 1px solid var(--bs-border-color); border-radius: .75rem; padding: 1rem; background: var(--bs-body-bg); }
.plan-option.best { border-color: var(--app-accent); box-shadow: 0 0 0 1px var(--app-accent); }
.plan-option .plan-price { font-size: 1.6rem; font-weight: 700; line-height: 1.2; margin: .25rem 0; }
.plan-option .plan-tag { position: absolute; top: -.6rem; right: .75rem; }

/* ---------- Suggestions / What's new ---------- */
.pre-line { white-space: pre-line; }
.suggestion { border: 1px solid var(--bs-border-color); border-radius: .6rem; padding: .75rem .9rem; margin-bottom: .75rem; }
.suggestion.answered { border-color: var(--app-accent); }
.suggestion-reply { background: var(--app-accent-soft, rgba(13, 148, 136, .08)); border-radius: .5rem; padding: .5rem .75rem; }
.icon-btn { position: relative; width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; color: var(--bs-body-color); }
.icon-btn:hover { background: var(--bs-tertiary-bg); text-decoration: none; }
.icon-btn .bi { font-size: 1.1rem; }
.icon-btn .dot { position: absolute; top: 2px; right: 2px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 8px; background: #ef4444; color: #fff; font-size: .65rem; font-weight: 700; line-height: 16px; text-align: center; }

@media print { .plan-banner { display: none !important; } }

/* ---------- Sign-up page (indigo, like the rest of School Accounts) ---------- */
.auth-card-wide { max-width: 980px !important; overflow: hidden; }
.auth-side { background: linear-gradient(160deg, #1e1b4b 0%, #4338ca 100%); color: #e0e7ff; }
.auth-side h2 { color: #fff; }
.signup-perks { list-style: none; padding: 0; }
.signup-perks li { margin-bottom: .6rem; display: flex; gap: .55rem; }
.signup-perks i { color: #a5b4fc; }
