/* Единый стиль сайта в духе SeaVesselManager. Подключается последним и перекрывает старые цвета. */
:root {
    --sv-bg: #f4f7fb; --sv-line: #e6ecf3; --sv-text: #1e293b; --sv-muted: #64748b;
    --sv-accent: #169bbd; --sv-accent-dark: #0f7f9c; --sv-accent-soft: #e6f6fa;
    --sv-grad: linear-gradient(135deg, #2bb5d0, #1593b3);
    --sv-shadow: 0 1px 2px rgba(15,23,42,.04), 0 8px 24px rgba(15,23,42,.05);
}
body { background: var(--sv-bg) !important; color: var(--sv-text); }
a { color: var(--sv-accent-dark); }
a:hover { color: var(--sv-accent); }

/* Шапка */
.navbar-custom { background: #fff !important; border-bottom: 1px solid var(--sv-line); box-shadow: 0 2px 10px rgba(15,23,42,.04) !important; }
.navbar-custom a, .navbar-custom .text-white { color: #334155 !important; }
.navbar-custom a:hover { color: var(--sv-accent-dark) !important; }
.navbar-custom .navbar-brand { color: #0f172a !important; }
.navbar-custom .user-avatar { background: var(--sv-grad); color: #fff !important; }
.navbar-custom .user-name { color: var(--sv-text); }
.navbar-custom .role-badge { background: #ecfbff; color: var(--sv-accent-dark); border: 1px solid #bfeaf5; }
.navbar-custom .nav-divider { background: var(--sv-line); }
.navbar-custom a.text-danger { color: #dc2626 !important; }
body .btn-edit-layout, body .btn-users-link, body .btn-logout-link {
    background: #fff; color: #334155 !important; border: 1px solid var(--sv-line); border-radius: 999px; box-shadow: none; }
body .btn-edit-layout:hover, body .btn-users-link:hover { border-color: var(--sv-accent); color: var(--sv-accent-dark) !important; background: #f0fbfe; }
body .btn-logout-link:hover { border-color: #fca5a5; color: #dc2626 !important; background: #fef2f2; }

/* Вкладки: главная */
.nav-tabs { border-bottom: none; gap: .35rem; }
.nav-tabs .nav-link { border: none !important; border-radius: 10px; color: var(--sv-muted); font-weight: 500; padding: .45rem .95rem; }
.nav-tabs .nav-link:hover { color: var(--sv-text); background: #eaf1f7; }
.nav-tabs .nav-link.active { background: var(--sv-grad) !important; color: #fff !important; box-shadow: 0 4px 12px rgba(21,147,179,.28); }

/* Вкладки: страница корабля */
.main-tabs { border-bottom: 1px solid var(--sv-line) !important; gap: .35rem; padding-top: .6rem !important; padding-bottom: .6rem !important; }
.main-tab { border: none !important; border-radius: 10px; margin-bottom: 0 !important; padding: .45rem .95rem !important; }
.main-tab:hover { background: #eaf1f7; }
.main-tab.active { background: var(--sv-grad); color: #fff !important; box-shadow: 0 4px 12px rgba(21,147,179,.28); }
.main-tab.active .badge, .main-tab.active .badge.bg-secondary { background: #fff !important; color: var(--sv-accent-dark) !important; }
.sub-tabs { background: #f8fafc !important; border-bottom: 1px solid var(--sv-line) !important; gap: .25rem; padding-top: .45rem !important; padding-bottom: .45rem !important; }
.sub-tab { border: none !important; border-radius: 8px; margin-bottom: 0 !important; padding: .35rem .8rem !important; }
.sub-tab:hover { background: #eaf1f7; }
.sub-tab.active { background: var(--sv-accent-soft); color: var(--sv-accent-dark) !important; }

/* Панели и карточки */
.grid-stack-item-content, .card, .card-x, .ship-card, .tabs-card {
    border: 1px solid var(--sv-line) !important; border-radius: 16px !important; box-shadow: var(--sv-shadow) !important; }
.grid-stack-item-content > h5, .grid-stack-item-content > h6, .grid-stack-item-content .widget-title,
.card h5, .card-x h5 { font-weight: 700; color: #0f172a; letter-spacing: -.01em; }
.ship-name { color: #0f172a; }
.list-group-item { border-color: var(--sv-line); }

/* Кнопки */
body .btn-primary, body .btn-success, body .btn-add-mtr { background: var(--sv-grad) !important; border-color: transparent !important; color: #fff !important; }
body .btn-primary:hover, body .btn-success:hover, body .btn-add-mtr:hover { background: var(--sv-accent-dark) !important; color: #fff !important; }
body .btn-outline-primary { color: var(--sv-accent-dark); border-color: #9bd9e8; }
body .btn-outline-primary:hover, body .btn-outline-primary.active { background: var(--sv-accent) !important; border-color: var(--sv-accent) !important; color: #fff !important; }
body .btn-outline-secondary { border-color: var(--sv-line); color: #475569; }
body .btn-outline-secondary:hover { background: #eef2f6; color: #1e293b; border-color: #cbd5e1; }
body .btn-secondary { background: #eef2f6; border-color: #eef2f6; color: #334155; }
body .btn-secondary:hover { background: #e2e8f0; border-color: #e2e8f0; color: #1e293b; }

/* Таблицы */
.table thead th, .req-table th, .mtr-table th, .rq-table th, .mtrq-table th, .repair-table th {
    color: var(--sv-muted) !important; font-size: .72rem !important; font-weight: 600 !important; text-transform: uppercase;
    letter-spacing: .04em; background: #f8fafc !important; border-bottom: 1px solid var(--sv-line) !important; }
.table tbody tr:hover > td, .req-table tbody tr:hover td, .mtr-table tbody tr:hover td,
.rq-table tbody tr:hover td, .mtrq-table tbody tr:hover td, .repair-table tbody tr:hover > td { background: #f5fbfd !important; }
.table td, .req-table td, .mtr-table td, .rq-table td, .mtrq-table td { border-color: #eef2f6 !important; }

/* Бейджи — пастельные «чипсы» */
.badge { border-radius: 999px; font-weight: 600; padding: .35em .75em; }
.badge.bg-success, .badge.text-bg-success { background: #dcfce7 !important; color: #166534 !important; }
.badge.bg-warning, .badge.text-bg-warning { background: #fef3c7 !important; color: #92400e !important; }
.badge.bg-info, .badge.text-bg-info { background: #e0f7fc !important; color: #0e7490 !important; }
.badge.bg-primary, .badge.text-bg-primary { background: #e0eaff !important; color: #3949ab !important; }
.badge.bg-secondary, .badge.text-bg-secondary { background: #eef2f6 !important; color: #475569 !important; }
.badge.bg-danger, .badge.text-bg-danger { background: #fee2e2 !important; color: #b91c1c !important; }
.main-tab .badge.bg-secondary { background: #e2e8f0 !important; color: #1e293b !important; }
.progress { background: #eef2f6; }
.progress-bar.bg-success { background: var(--sv-grad) !important; }

/* Плитки кораблей на главной */
.ship-tile { border-color: var(--sv-line); border-radius: 12px; }
.ship-tile:hover { border-color: var(--sv-accent); box-shadow: inset 0 0 0 1px var(--sv-accent), 0 8px 20px rgba(21,147,179,.18); }
.ship-tile-link:hover { color: var(--sv-accent-dark); }

/* График */
.tl-toolbar .btn-outline-primary.active { background: var(--sv-accent) !important; color: #fff !important; }
.tl-day.tl-today-cell { background: var(--sv-accent) !important; color: #fff !important; }

/* Страница работы: журнал */
.log-entry { border-left-color: var(--sv-accent) !important; background: #f5fbfd !important; }
.field-row-hl { background: #f5fbfd !important; }

/* Окна и поля */
.modal-content { border: none; border-radius: 16px; box-shadow: 0 20px 50px rgba(15,23,42,.18); }
.form-control:focus, .form-select:focus, .status-select:focus { border-color: #7fd0e3; box-shadow: 0 0 0 .2rem rgba(22,155,189,.15); }
.dropdown-menu { border-color: var(--sv-line); border-radius: 12px; box-shadow: 0 10px 30px rgba(15,23,42,.12); }
