/**
 * @author Nero
 * Общая раскладка кабинета для новых страниц.
 * Старые страницы оставляют свои стили и не зависят от этого файла.
 */
body { display: flex; flex-direction: column; min-height: 100vh; }
.master-container { display: flex; flex: 1; margin-top: 70px; min-height: calc(100vh - 70px); }
.sidebar { width: 280px; background: linear-gradient(180deg, rgba(0, 0, 0, 0.95) 0%, rgba(20, 20, 30, 0.95) 100%); border-right: 1px solid rgba(255, 255, 255, 0.1); padding: 2rem 0; position: fixed; height: calc(100vh - 70px); overflow-y: auto; z-index: 100; }
.sidebar-logo { text-align: center; padding: 1rem; margin-bottom: 2rem; }
.sidebar-logo i { font-size: 3rem; color: #4a90e2; margin-bottom: 0.5rem; }
.sidebar-nav { list-style: none; padding: 0; margin: 0; }
.sidebar-nav li { margin-bottom: 0.5rem; }
.sidebar-nav a { display: flex; align-items: center; padding: 1rem 1.5rem; color: #b0b0b0; text-decoration: none; transition: all 0.3s; border-left: 3px solid transparent; }
.sidebar-nav a:hover, .sidebar-nav a.active { background: rgba(74, 144, 226, 0.1); color: #4a90e2; border-left-color: #4a90e2; }
.sidebar-nav a i { margin-right: 1rem; width: 20px; text-align: center; }
.sidebar-section { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid rgba(255, 255, 255, 0.1); }
.sidebar-section-title { padding: 0 1.5rem; color: #888; font-size: 0.85rem; text-transform: uppercase; margin-bottom: 1rem; }
.main-content { flex: 1; margin-left: 280px; padding: 2rem; background: rgba(0, 0, 0, 0.3); }
.panel { background: rgba(0, 0, 0, 0.5); padding: 2rem; border-radius: 10px; border: 1px solid rgba(255, 255, 255, 0.1); margin-bottom: 1.5rem; }
.form-group { margin-bottom: 1.5rem; }
.form-group label { display: block; color: #b0b0b0; margin-bottom: 0.5rem; }
.form-control { width: 100%; padding: 0.75rem; background: rgba(0, 0, 0, 0.5); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 5px; color: #fff; font-size: 1rem; }
.btn { padding: 0.75rem 2rem; border: none; border-radius: 5px; font-weight: bold; cursor: pointer; background: #4caf50; color: #fff; }
.btn:hover { background: #45a049; }
.notice { padding: 1rem; border-radius: 5px; margin-bottom: 1rem; }
.notice.ok { background: rgba(76, 175, 80, 0.15); color: #b9f6ca; }
.notice.bad { background: rgba(244, 67, 54, 0.15); color: #ff8a80; }
.shop-table, .tops-table { width: 100%; border-collapse: collapse; color: #fff; }
.shop-table th, .shop-table td, .tops-table th, .tops-table td { padding: 0.75rem; border-bottom: 1px solid rgba(255, 255, 255, 0.1); text-align: left; }
.muted { color: #888; }
@media (max-width: 900px) {
    .sidebar { position: static; width: 100%; height: auto; }
    .main-content { margin-left: 0; }
    .master-container { flex-direction: column; }
}
