/* =====================================================================
   1. ГЛОБАЛЬНЫЕ НАСТРОЙКИ СЕТКИ И ОГРАНИЧЕНИЙ ДЛЯ ШИРОКОГО РЕЖИМА
   ===================================================================== */
html:has(main.wide-mode), 
body:has(main.wide-mode), 
body.container:has(main.wide-mode),
.container:has(main.wide-mode) {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
body > main.wide-mode {
    max-width: 100% !important;
    width: 100% !important;
    padding: 1.5rem 2rem !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}
.wide-mode input, .wide-mode select, .wide-mode textarea {
    margin-bottom: 0.4rem !important;
    padding: 0.35rem 0.6rem !important;
    font-size: 0.88rem !important;
}

/* Двухпанельная сетка форм ввода */
.form-layout-grid {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    gap: 1.2rem !important;
    align-items: start !important;
}
.main-left-panel { width: 73% !important; flex-shrink: 0 !important; }
.db-control-sidebar {
    border: 1px solid #CBD5E1 !important;
    border-radius: 6px !important;
    padding: 0.75rem !important;
    background: #FFFFFF !important;
}

/* Схлопывания шапок и аккордеонов формы */
body:has(main.wide-mode) nav, 
body:has(main.wide-mode) header.site-header {
    display: none !important;
}
details[name="fish_dwc_tabs"]:not([open]) summary,
details[name="fish_dwc_tabs"][open] summary {
    display: none !important;
}

/* =====================================================================
   2. ТОТАЛЬНОЕ ЦВЕТОВОЕ ОФОРМЛЕНИЕ ПО ПАЛИТРЕ MATERIAL DESIGN (LIGHT)
   ===================================================================== */
:root {
    --pico-background-color: #FFFFFF !important;
    --pico-card-background-color: #FFFFFF !important;
    --pico-body-background-color: #FFFFFF !important;
    
    --isl-regular: #2196F3;
    --isl-regular-light: #90CAF9;
    --isl-accent: #2962FF;
    --isl-accent-light: #82B1FF;
    --isl-attention: #0D47A1;
    --isl-attention-light: #1565C0;
    --isl-footer: #9E9E9E;
    --isl-gray: #CBD5E1; /* Изменено на системный Slate-серый */
    
    --pico-primary: var(--isl-regular) !important;
    --pico-primary-background: var(--isl-regular) !important;
    --pico-primary-hover: var(--isl-accent) !important;
    --pico-primary-focus: var(--isl-accent-light) !important;
    --pico-border-color: var(--isl-gray) !important;
    --pico-form-element-border-color: var(--isl-gray) !important;
    --pico-form-element-focus-border-color: var(--isl-regular) !important;
    --pico-muted-border-color: #E2E8F0 !important;
    --pico-contrast: var(--isl-attention) !important;
    --pico-contrast-hover: var(--isl-attention-light) !important;
    --pico-muted-color: #64748B !important;
    --pico-table-row-stripped-background-color: rgba(144, 202, 249, 0.05) !important;
}

html, body, main { color: #000000 !important; }

/* Ссылки */
a, a:link, a:visited { color: #000000 !important; text-decoration: none; transition: color 0.12s ease-in-out; }
a:hover, a:active { color: var(--isl-accent) !important; text-decoration: underline !important; }

/* =====================================================================
   3. ЕДИНООБРАЗНАЯ МИМИКРИЯ ПОЛЕЙ ВВОДА ПОД СТАНДАРТ VUETIFY COMPACT
   ===================================================================== */
/* Жесткий сквозной фикс для ВСЕХ инпутов сайта, включая фильтры реестров и формы */
input[type="text"], input[type="number"], input[type="search"], input[type="url"], select, .cell-box,
.filter-input-wrapper input, .filter-input-wrapper select, .floating-label-group input, .floating-label-group select {
    color: #000000 !important;
    font-weight: 500 !important;
    font-size: 0.85rem !important;
    background-color: #FFFFFF !important;
    border: 1px solid var(--isl-gray) !important;
    border-radius: 4px !important;
    height: 2.2rem !important;
    padding: 0.25rem 0.5rem !important;
    margin-bottom: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
}

textarea, .floating-label-group textarea {
    color: #000000 !important;
    font-weight: 500 !important;
    font-size: 0.85rem !important;
    background-color: #FFFFFF !important;
    border: 1px solid var(--isl-gray) !important;
    border-radius: 4px !important;
    height: auto !important;
    min-height: 3.5rem !important;
    padding: 0.4rem 0.5rem !important;
    margin-bottom: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
}

/* Зеркальная толщина 1px при фокусе без изменения толщины линии */
input:focus, select:focus, textarea:focus,
.filter-input-wrapper input:focus, .floating-label-group input:focus {
    border-color: var(--isl-regular) !important;
    box-shadow: 0 0 0 1px var(--isl-regular) !important; 
    outline: none !important;
}

/* Сквозная логика всплывающих ярлыков Floating Labels */
.floating-label-group {
    position: relative !important;
    margin-bottom: 0 !important;
}
.floating-label-group label {
    position: absolute !important;
    top: 0.5rem !important;
    left: 0.5rem !important;
    padding: 0 0.25rem !important;
    background-color: #FFFFFF !important;
    color: #64748B !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    transition: all 0.15s ease-in-out !important;
    pointer-events: none !important;
    line-height: 1 !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 2;
}
.floating-label-group textarea ~ label { top: 0.5rem !important; }

/* Улет метки наверх в рамку */
.floating-label-group input:focus ~ label,
.floating-label-group select:focus ~ label,
.floating-label-group textarea:focus ~ label,
.floating-label-group input:not(:placeholder-shown) ~ label,
.floating-label-group select:not(:placeholder-shown) ~ label,
.floating-label-group textarea:not(:placeholder-shown) ~ label,
.floating-label-group input:-webkit-autofill ~ label {
    top: -0.4rem !important;
    left: 0.4rem !important;
    font-size: 0.72rem !important;
    color: var(--isl-regular) !important;
    font-weight: bold !important;
    z-index: 3;
}

/* Кнопки Vuetify */
button, .button, input[type="submit"] {
    background-color: var(--isl-regular) !important;
    border-color: var(--isl-regular) !important;
    color: #FFFFFF !important;
    text-transform: uppercase;
    font-weight: 500 !important;
    letter-spacing: 0.05em;
    font-size: 0.8rem !important;
    padding: 0.4rem 1rem !important;
    border-radius: 4px !important;
    box-shadow: 0px 3px 1px -2px rgba(0,0,0,0.2), 0px 2px 2px 0px rgba(0,0,0,0.14), 0px 1px 5px 0px rgba(0,0,0,0.12) !important;
}
button:hover, .button:hover, input[type="submit"]:hover {
    background-color: var(--isl-accent) !important;
    border-color: var(--isl-accent) !important;
    box-shadow: 0px 2px 4px -1px rgba(0,0,0,0.2), 0px 4px 5px 0px rgba(0,0,0,0.14), 0px 1px 10px 0px rgba(0,0,0,0.12) !important;
}
button.outline, .button.outline {
    background-color: transparent !important;
    color: var(--isl-regular) !important;
    border-color: var(--isl-gray) !important;
    box-shadow: none !important;
}
button.outline:hover, .button.outline:hover {
    background-color: rgba(33, 150, 243, 0.04) !important;
    color: var(--isl-accent) !important;
    border-color: var(--isl-accent) !important;
}

/* Шапка и подвал */
footer {
    margin-top: 5rem;
    padding: 2.5rem 0;
    background-color: #1A1A1A !important;
    border-top: 3px solid var(--isl-regular);
    font-size: 0.85rem;
    color: #FFFFFF !important;
}
nav a, header a, .vuetify-nav-link {
    color: #000000 !important;
    text-decoration: none !important;
    font-size: 0.88rem !important;
    font-weight: 500 !important;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 0.4rem 0.75rem !important;
    border-radius: 4px;
    display: inline-flex !important;
    align-items: center;
}
nav a:hover, header a:hover, .vuetify-nav-link:hover {
    color: #2962FF !important;
    text-decoration: none !important;
    background-color: rgba(33, 150, 243, 0.05) !important;
}
