/* Основные стили CRM системы */
:root {
    --primary-color: #337ab7;
    --primary-dark: #286090;
    --secondary-color: #f8f9fa;
    --accent-color: #5cb85c;
    --danger-color: #d9534f;
    --warning-color: #f0ad4e;
    --text-primary: #333;
    --text-secondary: #666;
    --border-color: #ddd;
    --sidebar-bg: #2c3e50;
    --sidebar-text: #ecf0f1;
    --header-bg: #fff;
    --card-bg: #fff;
    --hover-bg: #f5f5f5;

    /* Single source of truth for layout */
    --sidebar-width: 170px;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    background-color: var(--secondary-color);
    color: var(--text-primary);
    height: 100vh;
    display: flex;
    flex-direction: column;
    margin-left: 0;
}

body.sidebar-expanded {
    margin-left: 0;
}

/* Темная тема */
body.dark-theme {
    --primary-color: #4dabf7;
    --primary-dark: #339af0;
    --secondary-color: #1e1e1e;
    --accent-color: #51cf66;
    --danger-color: #ff6b6b;
    --warning-color: #ffd43b;
    --text-primary: #f8f9fa;
    --text-secondary: #adb5bd;
    --border-color: #495057;
    --sidebar-bg: #1a1a1a;
    --sidebar-text: #f8f9fa;
    --header-bg: #2d3748;
    --card-bg: #2d3748;
    --hover-bg: #4a5568;
}

/* Стили для полей ввода в темной теме */
body.dark-theme input,
body.dark-theme textarea {
    color: var(--text-primary) !important;
    background-color: var(--secondary-color) !important;
    border-color: var(--border-color) !important;
}

body.dark-theme input::placeholder,
body.dark-theme textarea::placeholder {
    color: var(--text-secondary) !important;
}

body.dark-theme input:focus,
body.dark-theme textarea:focus {
    color: var(--text-primary) !important;
    background-color: var(--secondary-color) !important;
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 2px rgba(77, 171, 247, 0.1) !important;
}

/* Универсальное убирание границ для mainContent */
#mainContent,
mainContent,
div[id="mainContent"] {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    border-color: transparent !important;
}

/* Убираем границы у всех вложенных элементов в mainContent */
#mainContent *,
mainContent *,
div[id="mainContent"] * {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    border-color: transparent !important;
}

/* Убираем любые возможные рамки */
#mainContent::before,
#mainContent::after,
mainContent::before,
mainContent::after,
div[id="mainContent"]::before,
div[id="mainContent"]::after {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Но возвращаем границы для конкретных элементов где они нужны */
#mainContent button,
#mainContent input,
#mainContent select,
#mainContent textarea,
mainContent button,
mainContent input,
mainContent select,
mainContent textarea,
div[id="mainContent"] button,
div[id="mainContent"] input,
div[id="mainContent"] select,
div[id="mainContent"] textarea {
    border: 1px solid var(--border-color) !important;
}

#mainContent button:focus,
#mainContent input:focus,
#mainContent select:focus,
#mainContent textarea:focus,
mainContent button:focus,
mainContent input:focus,
mainContent select:focus,
mainContent textarea:focus,
div[id="mainContent"] button:focus,
div[id="mainContent"] input:focus,
div[id="mainContent"] select:focus,
div[id="mainContent"] textarea:focus {
    outline: none !important;
    border-color: var(--primary-color) !important;
}

/* Класс для отключения скролла */
.no-scroll {
    overflow: hidden;
}

/* Адаптация основного контента под сайдбар */
main {
    margin-left: 0;
    min-height: calc(100vh - 45px);
}

body.sidebar-expanded main {
    margin-left: 0;
}

/* Мобильная адаптация */
@media (max-width: 768px) {
    body {
        margin-left: 0;
    }
    
    main {
        margin-left: 0;
    }
    
    body.sidebar-expanded main {
        margin-left: 0;
    }
}
