:root {
    /* голубая палитра */
    --sky-900: #01579b; --sky-700: #0277bd; --sky-600: #0288d1; --sky-400: #29b6f6; --sky-300: #4fc3f7; --sky-100: #e1f5fe; --sky-50: #f2fafe;
    --tur-accent: var(--sky-700); --tur-accent-dark: var(--sky-900); --tur-price: var(--sky-900);
    --bs-primary: #0277bd; --bs-primary-rgb: 2,119,189;
    --bs-link-color: #0277bd; --bs-link-color-rgb: 2,119,189; --bs-link-hover-color: #01579b; --bs-link-hover-color-rgb: 1,87,155;
    --bs-primary-bg-subtle: #e1f5fe; --bs-primary-border-subtle: #b3e5fc; --bs-primary-text-emphasis: #01579b;
}
body.agent { background: linear-gradient(180deg, #eaf6fd 0, #f5fafd 320px, #f5fafd 100%); min-height: 100vh; }
.text-bg-primary { background-color: var(--sky-700) !important; }
.btn-primary { --bs-btn-bg: var(--tur-accent); --bs-btn-border-color: var(--tur-accent); --bs-btn-hover-bg: var(--tur-accent-dark); --bs-btn-hover-border-color: var(--tur-accent-dark); --bs-btn-active-bg: var(--tur-accent-dark); --bs-btn-disabled-bg: var(--tur-accent); --bs-btn-disabled-border-color: var(--tur-accent); }
.btn-outline-primary { --bs-btn-color: var(--tur-accent); --bs-btn-border-color: var(--tur-accent); --bs-btn-hover-bg: var(--tur-accent); --bs-btn-hover-border-color: var(--tur-accent); }
.pagination { --bs-pagination-active-bg: var(--tur-accent); --bs-pagination-active-border-color: var(--tur-accent); --bs-pagination-color: var(--tur-accent); }
.form-control:focus, .form-select:focus { border-color: var(--sky-300); box-shadow: 0 0 0 .2rem rgba(41,182,246,.2); }
.btn-check:checked + .btn-outline-secondary { background: var(--sky-700); border-color: var(--sky-700); }
.form-check-input:checked { background-color: var(--tur-accent); border-color: var(--tur-accent); }
.agent-nav { background: linear-gradient(90deg, #01579b, #0288d1 55%, #29b6f6); box-shadow: 0 2px 12px rgba(1,87,155,.18); }
.agent-nav .nav-link { color: rgba(255,255,255,.82); }
.agent-nav .nav-link.active, .agent-nav .nav-link:hover { color: #fff; }
.agent-nav .nav-link.active { box-shadow: inset 0 -2px 0 #ffd166; }
.search-hero { background: linear-gradient(135deg, #01579b 0%, #0288d1 50%, #4fc3f7 100%); border-radius: 1.1rem; padding: 1.6rem 1.6rem 4.5rem; color: #fff; position: relative; overflow: hidden; }
.search-hero::after { content: ''; position: absolute; right: -60px; top: -80px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, rgba(255,209,102,.55), rgba(255,209,102,0) 70%); }
.search-hero + .search-form { margin-top: -3.6rem; position: relative; z-index: 1; border-radius: 1rem; }
.card { border-radius: .85rem; }
.status-badge { font-weight: 500; }
.news-item + .news-item { border-top: 1px solid #eef1f4; }
.login-page { background: #f2fafe; }
.login-wrap { min-height: 100vh; display: grid; grid-template-columns: 1fr 1fr; }
.login-side { background: linear-gradient(135deg, #01579b, #0288d1 55%, #4fc3f7); color: #fff; align-items: flex-end; padding: 3rem; }
.login-form { display: flex; align-items: center; justify-content: center; padding: 2rem; background: #fff; }
@media (max-width: 767.98px) { .login-wrap { grid-template-columns: 1fr; } }
.tourist-card { border: 1px solid #d6ecf8; border-radius: .75rem; padding: 1rem; background: #fff; }
.summary-card { position: sticky; top: 80px; }

.card { box-shadow: 0 1px 3px rgba(2,87,155,.06), 0 4px 14px rgba(2,87,155,.05) !important; }
.table-light { --bs-table-bg: var(--sky-50); }
.badge.text-bg-light.border { border-color: #b3e5fc !important; color: var(--sky-900) !important; background: var(--sky-50) !important; }

.text-sky { color: var(--sky-900); font-weight: 700; }
