/* Responsive rules (loaded last) */
.mobile-only { display: none; }
@media (max-width: 1100px) {
    .grid-4, .stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .grid-3, .features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .steps { grid-template-columns: repeat(2, 1fr); }
    .hero-in { grid-template-columns: 1fr; } .mock { transform: none; max-width: 560px; }
    .callout, .docs { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
    .sidebar { transform: translateX(-100%); box-shadow: var(--shadow-lg); }
    body.sidebar-open .sidebar { transform: none; }
    body.sidebar-open .sidebar-backdrop { display: block; }
    .app-main { margin-left: 0; }
    .menu-toggle { display: inline-flex; }
    .topbar { padding: 0 16px; } .content { padding: 18px 16px; }
    .user-btn-name { display: none; } .user-btn { padding: 4px; }
    .grid-2 { grid-template-columns: 1fr; }
    .l-links, .l-cta { display: none; } .l-burger { display: inline-flex; margin-left: auto; }
    body.l-open .l-links { display: flex; flex-direction: column; position: absolute; top: 70px; left: 0; right: 0; background: #fff; padding: 14px 22px 20px; border-bottom: 1px solid var(--border); margin: 0; }
    .mobile-only { display: block; }
    .hero h1 { font-size: 38px; } .l-title { font-size: 28px; }
}
@media (max-width: 640px) {
    .grid-3, .grid-4, .stat-grid, .features, .steps { grid-template-columns: 1fr; }
    .bot-grid { grid-template-columns: 1fr; }
    .kv { grid-template-columns: 1fr; gap: 2px 0; } .kv dd { margin-bottom: 10px; }
    .auth-card { padding: 26px 22px; }
    .toolbar .input, .toolbar select.input, .filters .input, .filters select.input { max-width: none; width: 100%; }
    .page-head h1 { font-size: 22px; }
    .hero-in { padding-top: 48px; } .hero h1 { font-size: 32px; } .l-section { padding: 56px 18px; }
    .chip-balance { display: none; }
    .card-head { flex-wrap: wrap; } .modal-box { border-radius: 16px; }
    .toast-root { left: 12px; right: 12px; } .toast { min-width: 0; max-width: none; }
}
