

/* === Этап 4: Личный кабинет === */
.m-profile, .m-my-ads { padding: 16px; }
.m-page-title { font-size: 20px; font-weight: 700; margin: 0 0 16px; color: #343434; }
.m-card { background: #fff; border-radius: 12px; padding: 16px; margin-bottom: 16px; box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.m-card-row { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid #f0f0f0; }
.m-card-row:last-child { border-bottom: none; }
.m-label { color: #888; font-size: 14px; }
.m-value { color: #343434; font-size: 15px; font-weight: 500; }
.m-stats { display: flex; flex-direction: column; gap: 8px; margin-bottom: 24px; }
.m-stat-item { display: flex; justify-content: space-between; align-items: center; background: #fff; border-radius: 12px; padding: 16px; text-decoration: none; color: #343434; box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.m-stat-item:active { background: #f5f5f5; }
.m-stat-label { font-size: 15px; font-weight: 500; }
.m-stat-count { background: #00BF8D; color: #fff; border-radius: 12px; padding: 4px 10px; font-size: 13px; font-weight: 700; min-width: 28px; text-align: center; }
.m-logout-form { margin-top: 16px; }
.m-alert { padding: 12px 16px; border-radius: 8px; margin-bottom: 16px; font-size: 14px; }
.m-alert-success { background: #e6f9f2; color: #00875a; border: 1px solid #00BF8D; }
.m-empty { text-align: center; padding: 48px 16px; color: #888; }
.m-ads-list { display: flex; flex-direction: column; gap: 12px; }
.m-my-ad-card { background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.m-my-ad-link { display: flex; text-decoration: none; color: inherit; }
.m-my-ad-photo { width: 110px; height: 110px; flex-shrink: 0; background: #f0f0f0; overflow: hidden; }
.m-my-ad-photo img { width: 100%; height: 100%; object-fit: cover; }
.m-my-ad-info { padding: 10px 12px; flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.m-my-ad-title { font-size: 15px; font-weight: 600; color: #343434; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.m-my-ad-address { font-size: 13px; color: #666; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.m-my-ad-price { font-size: 15px; font-weight: 700; color: #00BF8D; margin-top: auto; }
.m-my-ad-actions { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; border-top: 1px solid #f0f0f0; background: #fafafa; }
.m-status-badge { font-size: 12px; font-weight: 500; }
.m-status-active { color: #00BF8D; }
.m-status-inactive { color: #999; }
.m-toggle-form { margin: 0; }
.m-btn { display: inline-block; padding: 12px 20px; border: none; border-radius: 8px; font-size: 15px; font-weight: 600; cursor: pointer; text-align: center; text-decoration: none; }
.m-btn-sm { padding: 6px 14px; font-size: 13px; border-radius: 6px; }
.m-btn-block { display: block; width: 100%; }
.m-btn-primary { background: #00BF8D; color: #fff; }
.m-btn-success { background: #00BF8D; color: #fff; }
.m-btn-warning { background: #f39c12; color: #fff; }
.m-btn-danger { background: #e74c3c; color: #fff; }

/* Hub UX по ТЗ (2026-09-09) */
.city-toggle{color:#fff;text-decoration:none;display:flex;align-items:center;gap:6px;font-size:.95rem}
.city-sheet{position:fixed;top:0;left:0;right:0;bottom:0;background:#fff;z-index:3000;flex-direction:column}
.city-sheet-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #eee;font-size:17px}
.city-sheet-close{border:0;background:transparent;font-size:20px;cursor:pointer;color:#777}
.city-sheet-list{overflow-y:auto;padding:8px 0}
.city-sheet-list a{display:block;padding:12px 16px;color:#343434;text-decoration:none;font-size:15px;border-bottom:1px solid #f5f5f5}
.city-sheet-list a:active{background:#f3e8ff}
