/* ==========================================================================
   Almanya Rehberin — v2 arayüz
   Temel: Bootstrap 5.3 (ızgara, yardımcı sınıflar, modal/dropdown altyapısı).
   Tüm görünüm ve bileşenler bu dosyada tanımlanır.
   ========================================================================== */

:root,
[data-bs-theme="light"] {
    --v2-font: "Plus Jakarta Sans", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
    --v2-hand: "Caveat", "Segoe Print", cursive;

    --v2-bg-1: #2633a2;
    --v2-bg-2: #2d429f;
    --v2-bg-3: #233285;
    --v2-bg-glow: #4f7fd8;
    --v2-panel: #22318a;
    --v2-panel-2: #1f2d78;
    --v2-panel-line: rgba(255, 255, 255, .09);
    --v2-ink: #1b2559;
    --v2-ink-soft: #4a5680;
    --v2-sky: #b4e2f9;
    --v2-sky-2: #8fc3ff;

    --v2-purple: #874ef2;
    --v2-purple-2: #9a63f6;
    --v2-red: #de6668;
    --v2-red-2: #e8777a;
    --v2-green: #7ddea2;
    --v2-green-2: #9bebb9;
    --v2-yellow: #f1de5c;
    --v2-yellow-2: #f6e77f;
    --v2-hero-1: #3d5fda;
    --v2-hero-2: #4872e7;
    --v2-hero-3: #6ca0f3;

    --v2-surface: #ffffff;
    --v2-surface-2: #f4f6fd;
    --v2-line: #e6e9f5;
    --v2-text: #1b2559;
    --v2-muted: #6b7599;

    --v2-radius-xl: 26px;
    --v2-radius-lg: 20px;
    --v2-radius-md: 14px;
    --v2-radius-sm: 10px;
    --v2-shadow: 0 18px 40px -18px rgba(12, 20, 80, .45);
    --v2-shadow-soft: 0 10px 30px -14px rgba(20, 30, 90, .25);

    /* Bootstrap değişkenleri yeni paletle eşlenir */
    --bs-font-sans-serif: var(--v2-font);
    --bs-body-font-family: var(--v2-font);
    --bs-primary: #4a63e7;
    --bs-primary-rgb: 74, 99, 231;
    --bs-link-color: #4a63e7;
    --bs-link-hover-color: #3a50cf;
    --bs-link-color-rgb: 74, 99, 231;
    --bs-info: #874ef2;
    --bs-info-rgb: 135, 78, 242;
    --bs-danger: #e25b5f;
    --bs-danger-rgb: 226, 91, 95;
    --bs-success: #22b573;
    --bs-success-rgb: 34, 181, 115;
    --bs-warning: #f0b429;
    --bs-warning-rgb: 240, 180, 41;
    --bs-border-radius: 12px;
    --bs-border-radius-sm: 10px;
    --bs-border-radius-lg: 16px;
    --bs-border-color: var(--v2-line);
    --bs-gray-900: #1b2559;
    --bs-gray-800: #27305f;
    --bs-dark: #1b2559;
    --bs-dark-rgb: 27, 37, 89;
}

[data-bs-theme="dark"] {
    --v2-surface: #161d4a;
    --v2-surface-2: #1c2458;
    --v2-line: rgba(255, 255, 255, .09);
    --v2-text: #eef1ff;
    --v2-muted: #a3acd6;
    --bs-body-bg: #161d4a;
    --bs-body-bg-rgb: 22, 29, 74;
    --bs-gray-100: #1c2458;
    --bs-light: #1c2458;
    --bs-primary: #6d85ff;
    --bs-primary-rgb: 109, 133, 255;
}

/* ---------- Temel ---------- */
html { scroll-behavior: smooth; background: #233285; }
/* İllüstrasyonların kenarlarını kart zeminine yumuşakça karıştırır */
.v2-feather {
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 14%, #000 86%, transparent 100%), linear-gradient(to bottom, transparent 0, #000 12%, #000 88%, transparent 100%);
    -webkit-mask-composite: source-in;
    mask-image: linear-gradient(to right, transparent 0, #000 14%, #000 86%, transparent 100%), linear-gradient(to bottom, transparent 0, #000 12%, #000 88%, transparent 100%);
    mask-composite: intersect;
}
body.v2-body {
    font-family: var(--v2-font) !important;
    color: var(--v2-text);
    min-height: 100vh;
    background-color: var(--v2-bg-1) !important;
    background-image:
        radial-gradient(1200px 620px at 92% -8%, rgba(98, 148, 234, .55), transparent 60%),
        radial-gradient(900px 700px at -10% 110%, rgba(20, 28, 120, .55), transparent 60%),
        linear-gradient(165deg, var(--v2-bg-1) 0%, var(--v2-bg-2) 45%, var(--v2-bg-3) 100%) !important;
    background-attachment: fixed !important;
    background-repeat: no-repeat !important;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}
body.v2-body h1, body.v2-body h2, body.v2-body h3, body.v2-body h4, body.v2-body h5, body.v2-body h6,
body.v2-body .h1, body.v2-body .h2, body.v2-body .h3 { font-family: var(--v2-font); letter-spacing: -.01em; }
.v2-hand { font-family: var(--v2-hand); font-weight: 600; }

.v2-container { width: 100%; max-width: 1880px; margin: 0 auto; padding-left: 16px; padding-right: 16px; }
@media (min-width: 768px) { .v2-container { padding-left: 28px; padding-right: 28px; } }
@media (min-width: 1400px) { .v2-container { padding-left: 40px; padding-right: 40px; } }

/* Arka plan silüetleri */
.v2-skyline { position: fixed; bottom: 0; pointer-events: none; z-index: -1; opacity: .22; color: #101a66; }
.v2-skyline--left { left: 0; width: 360px; }
.v2-skyline--right { right: 0; width: 460px; }
@media (max-width: 991.98px) { .v2-skyline { display: none; } }
.v2-shell { position: relative; display: flex; flex-direction: column; min-height: 100vh; }

/* ---------- Header ---------- */
.v2-header { position: sticky; top: 0; z-index: 1030; transition: background .25s, box-shadow .25s, backdrop-filter .25s; }
.v2-header.is-scrolled { background: rgba(35, 48, 150, .82); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: 0 10px 30px -18px rgba(0, 0, 0, .6); }
.v2-header__inner { display: flex; align-items: center; gap: 18px; height: 96px; transition: height .25s; }
.v2-header.is-scrolled .v2-header__inner { height: 74px; }
@media (max-width: 991.98px) { .v2-header__inner, .v2-header.is-scrolled .v2-header__inner { height: 68px; } }

.v2-logo { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; flex-shrink: 0; }
.v2-logo svg { width: 54px; height: 46px; }
.v2-logo__text { color: #fff; font-weight: 800; font-size: 21px; line-height: 1.02; letter-spacing: .01em; text-transform: uppercase; }
.v2-logo__text span { display: block; }
@media (max-width: 575.98px) { .v2-logo svg { width: 42px; height: 36px; } .v2-logo__text { font-size: 16px; } }

.v2-nav { display: none; align-items: center; gap: 6px; margin-left: auto; margin-right: auto; }
@media (min-width: 1200px) { .v2-nav { display: flex; } }
.v2-nav__item { position: relative; }
.v2-nav__link {
    display: inline-flex; align-items: center; gap: 7px; padding: 12px 15px; border: 0; background: none;
    color: rgba(255, 255, 255, .88); font-weight: 600; font-size: 15.5px; text-decoration: none; position: relative; border-radius: 12px;
    transition: color .15s, background .15s;
}
.v2-nav__link:hover, .v2-nav__item.is-open > .v2-nav__link { color: #fff; background: rgba(255, 255, 255, .08); }
.v2-nav__link.is-active { color: #fff; font-weight: 700; }
.v2-nav__link.is-active::after {
    content: ""; position: absolute; left: 15px; right: 15px; bottom: 3px; height: 3px; border-radius: 3px; background: var(--v2-sky-2);
}
.v2-nav__link .fa-chevron-down { font-size: 10px; opacity: .7; transition: transform .2s; }
.v2-nav__item.is-open > .v2-nav__link .fa-chevron-down { transform: rotate(180deg); }

.v2-dropdown {
    position: absolute; top: calc(100% + 10px); left: 50%; transform: translate(-50%, 8px); min-width: 280px;
    background: #fff; border-radius: 20px; padding: 10px; box-shadow: 0 30px 60px -20px rgba(8, 14, 70, .55);
    opacity: 0; visibility: hidden; transition: opacity .18s, transform .18s, visibility .18s; z-index: 20;
}
.v2-dropdown::before { content: ""; position: absolute; top: -12px; left: 0; right: 0; height: 12px; }
.v2-dropdown--mega { min-width: 560px; display: grid; grid-template-columns: 1fr 1fr; gap: 2px 6px; }
.v2-nav__item.is-open > .v2-dropdown { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.v2-dropdown__title { grid-column: 1 / -1; padding: 8px 12px 4px; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #8a93b8; }
.v2-dropdown__link { display: flex; align-items: center; gap: 12px; padding: 9px 12px; border-radius: 13px; color: var(--v2-ink); text-decoration: none; font-weight: 600; font-size: 14px; }
.v2-dropdown__link:hover, .v2-dropdown__link.is-active { background: #f1f4ff; color: #3a50cf; }
.v2-dropdown__ico { width: 36px; height: 36px; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; flex-shrink: 0; color: #fff; }
.v2-dropdown__desc { display: block; font-size: 12px; font-weight: 500; color: #8a93b8; margin-top: 1px; }
.v2-dropdown__badge { margin-left: auto; font-size: 10.5px; font-weight: 800; padding: 3px 8px; border-radius: 20px; background: #e6f8ef; color: #179a5e; }

.v2-ico-purple { background: linear-gradient(135deg, #9a63f6, #7a45e6); }
.v2-ico-red { background: linear-gradient(135deg, #f07c7e, #d9585b); }
.v2-ico-green { background: linear-gradient(135deg, #54d38f, #22b573); }
.v2-ico-yellow { background: linear-gradient(135deg, #f7d64a, #ecb91f); }
.v2-ico-blue { background: linear-gradient(135deg, #5b8cff, #3a5ee6); }
.v2-ico-sky { background: linear-gradient(135deg, #52c3f5, #2a93e0); }
.v2-ico-navy { background: linear-gradient(135deg, #5260a8, #2d3a86); }
.v2-ico-pink { background: linear-gradient(135deg, #f58ab8, #e25797); }
.v2-ico-teal { background: linear-gradient(135deg, #3fd1c2, #16a596); }

.v2-header__actions { display: flex; align-items: center; gap: 12px; margin-left: auto; }
@media (min-width: 1200px) { .v2-header__actions { margin-left: 0; } }
.v2-icon-btn {
    width: 48px; height: 48px; border-radius: 50%; border: 0; display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255, 255, 255, .12); color: #fff; font-size: 17px; transition: background .15s, transform .15s; flex-shrink: 0;
}
.v2-icon-btn:hover { background: rgba(255, 255, 255, .22); color: #fff; }
@media (max-width: 575.98px) { .v2-icon-btn { width: 42px; height: 42px; font-size: 15px; } }

.v2-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 12px; border: 0; cursor: pointer;
    font-weight: 700; font-size: 15px; line-height: 1; padding: 15px 26px; border-radius: 14px; text-decoration: none;
    transition: transform .15s, box-shadow .15s, background .15s, color .15s; white-space: nowrap;
}
.v2-btn i { font-size: 14px; transition: transform .15s; }
.v2-btn:hover i.fa-arrow-right { transform: translateX(3px); }
.v2-btn:hover { transform: translateY(-1px); }
.v2-btn--white { background: #fff; color: var(--v2-ink); box-shadow: 0 12px 26px -12px rgba(5, 12, 70, .6); }
.v2-btn--white:hover { color: #3a50cf; }
.v2-btn--pill { border-radius: 999px; }
.v2-btn--ghost { background: rgba(255, 255, 255, .2); color: #fff; }
.v2-btn--ghost:hover { background: rgba(255, 255, 255, .3); color: #fff; }
.v2-btn--outline { background: transparent; color: #fff; border: 1.5px solid rgba(255, 255, 255, .28); padding: 11px 20px; font-size: 13.5px; }
.v2-btn--outline:hover { border-color: rgba(255, 255, 255, .6); color: #fff; }
.v2-btn--sm { padding: 12px 20px; font-size: 14px; border-radius: 12px; }
.v2-btn--primary { background: linear-gradient(135deg, #5b77f5, #4a5de0); color: #fff; box-shadow: 0 12px 24px -12px rgba(58, 80, 207, .8); }
.v2-btn--primary:hover { color: #fff; box-shadow: 0 16px 30px -12px rgba(58, 80, 207, .9); }
.v2-btn--primary:disabled, .v2-btn--primary.disabled { opacity: .5; transform: none; cursor: not-allowed; }
.v2-btn--block { width: 100%; }

.v2-start-btn { padding: 16px 30px; border-radius: 999px; font-size: 16px; }
@media (max-width: 767.98px) { .v2-start-btn { display: none; } }
.v2-login-link { color: rgba(255, 255, 255, .88); font-weight: 600; text-decoration: none; font-size: 15px; padding: 10px 6px; }
.v2-login-link:hover { color: #fff; }
@media (max-width: 575.98px) { .v2-login-link { display: none; } }

.v2-tagline { display: none; align-items: center; gap: 14px; margin-left: 18px; color: rgba(255, 255, 255, .72); font-size: 13.5px; line-height: 1.35; }
.v2-tagline__flag { width: 38px; height: 26px; border-radius: 6px; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 6px 14px -6px rgba(0, 0, 0, .6); flex-shrink: 0; }
.v2-tagline__flag i { flex: 1; display: block; }
@media (min-width: 1600px) { .v2-tagline { display: flex; } }

/* Kullanıcı menüsü */
.v2-user { position: relative; }
.v2-user__btn { display: inline-flex; align-items: center; gap: 10px; padding: 5px 14px 5px 5px; border-radius: 999px; border: 0; background: rgba(255, 255, 255, .12); color: #fff; font-weight: 700; font-size: 14px; }
.v2-user__btn:hover { background: rgba(255, 255, 255, .2); }
.v2-user__btn img { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(255, 255, 255, .5); }
.v2-user__name { max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 767.98px) { .v2-user__name, .v2-user__btn .fa-chevron-down { display: none; } .v2-user__btn { padding: 4px; } }
.v2-user__menu { position: absolute; right: 0; top: calc(100% + 12px); width: 310px; background: #fff; border-radius: 20px; padding: 10px; box-shadow: 0 30px 60px -20px rgba(8, 14, 70, .55); opacity: 0; visibility: hidden; transform: translateY(8px); transition: .18s; z-index: 30; }
.v2-user.is-open .v2-user__menu { opacity: 1; visibility: visible; transform: none; }
.v2-user__head { display: flex; gap: 12px; align-items: center; padding: 10px 10px 14px; border-bottom: 1px solid #eef0f8; margin-bottom: 6px; }
.v2-user__head img { width: 46px; height: 46px; border-radius: 14px; object-fit: cover; }
.v2-user__head b { display: block; color: var(--v2-ink); font-size: 15px; }
.v2-user__head small { color: #8a93b8; font-size: 12.5px; word-break: break-all; }
.v2-user__section { padding: 8px 12px 4px; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #9aa2c4; }
.v2-user__chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 4px 10px 8px; }
.v2-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 11px; border-radius: 999px; background: #f1f4ff; color: var(--v2-ink); font-size: 12.5px; font-weight: 600; text-decoration: none; }
.v2-chip img { width: 16px; height: 16px; border-radius: 4px; object-fit: cover; }
.v2-chip:hover { background: #e3e8ff; color: #3a50cf; }
.v2-chip.is-active { background: #4a63e7; color: #fff; }

/* ---------- Mobil çekmece ---------- */
.v2-burger { display: inline-flex; }
@media (min-width: 1200px) { .v2-burger { display: none; } }
.v2-drawer-backdrop { position: fixed; inset: 0; background: rgba(8, 12, 50, .55); backdrop-filter: blur(3px); opacity: 0; visibility: hidden; transition: .2s; z-index: 1040; }
.v2-drawer { position: fixed; top: 0; right: 0; bottom: 0; width: min(360px, 88vw); background: linear-gradient(180deg, #2a3aa8, #1f2c86); z-index: 1045; transform: translateX(100%); transition: transform .25s ease; display: flex; flex-direction: column; box-shadow: -20px 0 50px -20px rgba(0, 0, 0, .6); }
body.v2-drawer-open .v2-drawer { transform: none; }
body.v2-drawer-open .v2-drawer-backdrop { opacity: 1; visibility: visible; }
body.v2-drawer-open { overflow: hidden; }
.v2-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 16px 16px 12px; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.v2-drawer__body { overflow-y: auto; padding: 12px 12px 30px; flex: 1; }
.v2-drawer__link { display: flex; align-items: center; gap: 12px; padding: 12px 12px; border-radius: 14px; color: #fff; font-weight: 600; text-decoration: none; font-size: 15px; width: 100%; background: none; border: 0; text-align: left; }
.v2-drawer__link:hover, .v2-drawer__link.is-active { background: rgba(255, 255, 255, .1); color: #fff; }
.v2-drawer__link .v2-dropdown__ico { width: 32px; height: 32px; font-size: 13px; border-radius: 10px; }
.v2-drawer__link .fa-chevron-down { margin-left: auto; font-size: 11px; transition: transform .2s; opacity: .7; }
.v2-drawer__group.is-open > .v2-drawer__link .fa-chevron-down { transform: rotate(180deg); }
.v2-drawer__sub { display: none; padding: 2px 0 8px 14px; }
.v2-drawer__group.is-open > .v2-drawer__sub { display: block; }
.v2-drawer__sub .v2-drawer__link { font-size: 14px; padding: 9px 12px; color: rgba(255, 255, 255, .88); }
.v2-drawer__cta { padding: 14px 16px 20px; border-top: 1px solid rgba(255, 255, 255, .1); display: grid; gap: 10px; }

/* ---------- Arama paleti ---------- */
.v2-search { position: fixed; inset: 0; z-index: 1060; display: none; align-items: flex-start; justify-content: center; padding: 12vh 16px 16px; background: rgba(8, 12, 50, .6); backdrop-filter: blur(4px); }
.v2-search.is-open { display: flex; }
.v2-search__box { width: 100%; max-width: 620px; background: #fff; border-radius: 22px; box-shadow: 0 40px 80px -20px rgba(0, 0, 0, .6); overflow: hidden; }
.v2-search__input { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-bottom: 1px solid #eef0f8; color: #8a93b8; }
.v2-search__input input { flex: 1; border: 0; outline: 0; font-size: 17px; font-weight: 600; color: var(--v2-ink); background: transparent; min-width: 0; }
.v2-search__input kbd { background: #f1f4ff; color: #8a93b8; border-radius: 6px; padding: 3px 7px; font-size: 11px; box-shadow: none; }
.v2-search__list { max-height: 55vh; overflow-y: auto; padding: 8px; }
.v2-search__list .v2-dropdown__link[hidden] { display: none; }
.v2-search__empty { padding: 26px; text-align: center; color: #8a93b8; display: none; }

/* ---------- Sayfa başlığı (modül sayfaları) ---------- */
.v2-main { flex: 1; padding-bottom: 20px; }
.v2-pagehead { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; padding: 18px 0 26px; }
.v2-pagehead__kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 10px; padding: 0; list-style: none; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 255, 255, .6); }
.v2-pagehead__kicker a { color: rgba(255, 255, 255, .75); text-decoration: none; }
.v2-pagehead__kicker a:hover { color: #fff; }
.v2-pagehead__kicker li + li::before { content: "/"; margin-right: 8px; opacity: .5; }
.v2-pagehead h1 { color: #fff; font-weight: 800; font-size: clamp(1.6rem, 2.6vw, 2.35rem); margin: 0; letter-spacing: -.02em; }
.v2-pagehead__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.v2-pagehead__actions .btn { border-radius: 12px !important; padding: 12px 18px !important; font-weight: 700 !important; }
.v2-pagehead__actions .btn.btn-light, .v2-pagehead__actions .btn.btn-secondary { background: rgba(255, 255, 255, .15) !important; color: #fff !important; border: 0 !important; }

.v2-content { position: relative; }

/* ==========================================================================
   Bileşen kütüphanesi (modül sayfaları)
   ========================================================================== */

/* Tipografi yardımcıları */
.v2-text-muted { color: var(--v2-muted) !important; }
.v2-text-strong { color: var(--v2-text); font-weight: 700; }
.v2-small { font-size: 13px; }
.v2-xs { font-size: 12px; }
.v2-kicker { display: inline-block; font-size: 11.5px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--v2-muted); }
.v2-link { color: #4a63e7; font-weight: 700; text-decoration: none; }
.v2-link:hover { color: #3a50cf; text-decoration: underline; }
.v2-divider { height: 1px; background: var(--v2-line); margin: 20px 0; border: 0; }
.v2-divider--dashed { background: none; border-top: 1px dashed var(--v2-line); }

/* Panel (kart) */
.v2-panel { background: var(--v2-surface); color: var(--v2-text); border-radius: var(--v2-radius-xl); box-shadow: var(--v2-shadow); padding: 28px; position: relative; }
.v2-panel + .v2-panel { margin-top: 22px; }
.v2-panel--flush { padding: 0; overflow: hidden; }
.v2-panel--soft { background: var(--v2-surface-2); box-shadow: none; }
.v2-panel--glass { background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .16); color: #fff; box-shadow: none; }
.v2-panel__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 22px; }
.v2-panel--flush > .v2-panel__head { padding: 22px 26px 0; }
.v2-panel__title { font-size: 19px; font-weight: 800; margin: 0; color: var(--v2-text); display: flex; align-items: center; gap: 12px; }
.v2-panel__sub { color: var(--v2-muted); font-size: 13.5px; margin-top: 3px; font-weight: 500; }
.v2-panel__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.v2-panel__foot { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; border-top: 1px solid var(--v2-line); margin: 24px -28px -28px; padding: 18px 28px; }
@media (max-width: 575.98px) {
    .v2-panel { padding: 18px; border-radius: 22px; }
    .v2-panel__foot { margin: 18px -18px -18px; padding: 14px 18px; }
    .v2-panel__foot .v2-btn { flex: 1 1 auto; }
    .v2-panel--flush > .v2-panel__head { padding: 18px 18px 0; }
}

/* İkon kutusu */
.v2-ico { width: 44px; height: 44px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; font-size: 17px; color: #fff; flex-shrink: 0; }
.v2-ico--sm { width: 34px; height: 34px; border-radius: 11px; font-size: 14px; }
.v2-ico--lg { width: 60px; height: 60px; border-radius: 18px; font-size: 24px; }
.v2-ico--xl { width: 84px; height: 84px; border-radius: 26px; font-size: 34px; }
.v2-ico--round { border-radius: 50%; }
.v2-ico--soft { background: #eef1ff; color: #4a63e7; }
.v2-ico--soft-green { background: #e6f8ef; color: #179a5e; }
.v2-ico--soft-red { background: #fdeeee; color: #d9585b; }
.v2-ico--soft-yellow { background: #fff6d6; color: #b98a00; }
.v2-ico--soft-purple { background: #f3edff; color: #7a45e6; }

/* Avatar */
.v2-avatar { width: 42px; height: 42px; border-radius: 14px; object-fit: cover; flex-shrink: 0; background: #eef1ff; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; color: #4a63e7; font-size: 15px; overflow: hidden; }
.v2-avatar--sm { width: 32px; height: 32px; border-radius: 10px; font-size: 12px; }
.v2-avatar--lg { width: 72px; height: 72px; border-radius: 22px; font-size: 24px; }
.v2-avatar--xl { width: 110px; height: 110px; border-radius: 30px; font-size: 34px; }
.v2-avatar--round { border-radius: 50%; }
.v2-avatar img { width: 100%; height: 100%; object-fit: cover; }
.v2-media { display: flex; align-items: center; gap: 12px; min-width: 0; }
.v2-media__body { min-width: 0; }
.v2-media__title { font-weight: 700; color: var(--v2-text); display: block; line-height: 1.3; }
.v2-media__sub { color: var(--v2-muted); font-size: 12.5px; display: block; }

/* Butonlar (ek varyantlar) */
.v2-btn--light { background: #eef1ff; color: #3a50cf; }
.v2-btn--light:hover { background: #e0e6ff; color: #3a50cf; }
.v2-btn--success { background: linear-gradient(135deg, #3fcf87, #1fae6c); color: #fff; box-shadow: 0 12px 24px -14px rgba(31, 174, 108, .9); }
.v2-btn--success:hover { color: #fff; }
.v2-btn--danger { background: linear-gradient(135deg, #f07c7e, #d9585b); color: #fff; box-shadow: 0 12px 24px -14px rgba(217, 88, 91, .9); }
.v2-btn--danger:hover { color: #fff; }
.v2-btn--warning { background: linear-gradient(135deg, #f7d64a, #ecb91f); color: #3b2f00; }
.v2-btn--warning:hover { color: #3b2f00; }
.v2-btn--purple { background: linear-gradient(135deg, #9a63f6, #7a45e6); color: #fff; box-shadow: 0 12px 24px -14px rgba(122, 69, 230, .9); }
.v2-btn--purple:hover { color: #fff; }
.v2-btn--dark { background: #1b2559; color: #fff; }
.v2-btn--dark:hover { background: #111a45; color: #fff; }
.v2-btn--soft-danger { background: #fdeeee; color: #d9585b; }
.v2-btn--soft-danger:hover { background: #d9585b; color: #fff; }
.v2-btn--soft-success { background: #e6f8ef; color: #179a5e; }
.v2-btn--soft-success:hover { background: #22b573; color: #fff; }
.v2-btn--line { background: transparent; color: var(--v2-text); border: 1.5px solid var(--v2-line); }
.v2-btn--line:hover { border-color: #8ea0ff; color: #3a50cf; }
.v2-btn--xs { padding: 8px 12px; font-size: 12.5px; border-radius: 10px; gap: 7px; }
.v2-btn--xs i { font-size: 12px; }
.v2-btn--icon { padding: 0; width: 40px; height: 40px; border-radius: 12px; gap: 0; }
.v2-btn--icon.v2-btn--xs { width: 32px; height: 32px; border-radius: 10px; }
.v2-btn:disabled, .v2-btn.disabled { opacity: .55; cursor: not-allowed; transform: none !important; }
.v2-btn__progress { display: none; align-items: center; gap: 10px; }
.v2-btn.is-loading .v2-btn__label { display: none; }
.v2-btn.is-loading .v2-btn__progress { display: inline-flex; }
.v2-spinner { width: 16px; height: 16px; border-radius: 50%; border: 2.5px solid currentColor; border-right-color: transparent; display: inline-block; animation: v2-spin .7s linear infinite; }
@keyframes v2-spin { to { transform: rotate(360deg); } }
.v2-btn-group { display: flex; flex-wrap: wrap; gap: 8px; }

/* Rozetler */
.v2-badge { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 999px; font-size: 12px; font-weight: 700; line-height: 1.2; white-space: nowrap; background: #eef1ff; color: #3a50cf; }
.v2-badge--success { background: #e6f8ef; color: #179a5e; }
.v2-badge--warning { background: #fff4d6; color: #a97a00; }
.v2-badge--danger { background: #fdeeee; color: #d24a4e; }
.v2-badge--info { background: #f3edff; color: #7a45e6; }
.v2-badge--primary { background: #eef1ff; color: #3a50cf; }
.v2-badge--dark { background: #e7e9f3; color: #1b2559; }
.v2-badge--muted { background: #f1f3f9; color: #6b7599; }
.v2-badge--solid { background: #4a63e7; color: #fff; }
.v2-badge--dot::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }

/* Uyarı kutuları */
.v2-alert { display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; border-radius: 18px; font-size: 14px; line-height: 1.6; background: #eef1ff; color: #27336e; margin-bottom: 18px; }
.v2-alert > i { font-size: 20px; margin-top: 1px; flex-shrink: 0; }
.v2-alert__title { font-weight: 800; display: block; margin-bottom: 2px; }
.v2-alert--success { background: #e6f8ef; color: #125f3c; }
.v2-alert--success > i { color: #22b573; }
.v2-alert--warning { background: #fff6dc; color: #6b4f00; }
.v2-alert--warning > i { color: #e0a800; }
.v2-alert--danger { background: #fdeeee; color: #7a2427; }
.v2-alert--danger > i { color: #e25b5f; }
.v2-alert--info > i { color: #4a63e7; }
.v2-alert ul { margin: 6px 0 0; padding-left: 18px; }

/* Formlar */
.v2-form .row { --bs-gutter-y: 18px; }
.form-label, .v2-label { display: block; font-weight: 700; font-size: 13.5px; color: var(--v2-text); margin-bottom: 8px; }
.form-label.required::after, .v2-label.required::after { content: " *"; color: #e25b5f; }
.form-control, .form-select {
    font-family: var(--v2-font); font-size: 14.5px; font-weight: 500; color: var(--v2-text);
    background-color: var(--v2-surface-2); border: 1.5px solid transparent; border-radius: 13px; min-height: 50px; padding: .7rem 1rem;
    transition: border-color .15s, box-shadow .15s, background-color .15s;
}
.form-control::placeholder { color: #9aa3c4; font-weight: 500; }
.form-control:focus, .form-select:focus { background-color: var(--v2-surface); border-color: #8ea0ff; box-shadow: 0 0 0 4px rgba(74, 99, 231, .12); color: var(--v2-text); }
.form-control:disabled, .form-control[readonly] { background-color: #eceff8; opacity: .85; }
.form-control-sm, .form-select-sm { min-height: 40px; border-radius: 11px; font-size: 13.5px; padding: .45rem .8rem; }
.form-control-lg { min-height: 58px; font-size: 16px; }
textarea.form-control { min-height: 120px; line-height: 1.6; }
.form-control.is-invalid, .form-select.is-invalid { border-color: #e25b5f; background-image: none; }
.invalid-feedback { font-weight: 600; font-size: 12.5px; }
.form-text, .v2-help { color: var(--v2-muted); font-size: 12.5px; margin-top: 6px; }
.form-floating > .form-control, .form-floating > .form-select { min-height: 58px; }
.form-floating > label { color: #8a93b8; font-weight: 500; }
.input-group > .form-control, .input-group > .form-select { border-radius: 13px; }
.input-group > :not(:first-child):not(.dropdown-menu) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.input-group > :not(:last-child):not(.dropdown-menu) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.input-group-text { background: #e9edfb; border: 0; border-radius: 13px; color: var(--v2-muted); font-weight: 700; }
.form-check-input { width: 1.2em; height: 1.2em; border: 1.5px solid #c9d0ea; background-color: #fff; }
.form-check-input:checked { background-color: #4a63e7; border-color: #4a63e7; }
.form-check-input:focus { box-shadow: 0 0 0 4px rgba(74, 99, 231, .12); border-color: #8ea0ff; }
.form-check-label { color: var(--v2-text); font-weight: 500; }
.form-switch .form-check-input { width: 2.6em; height: 1.4em; }
.v2-choice { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 16px; border: 1.5px solid var(--v2-line); cursor: pointer; transition: .15s; height: 100%; }
.v2-choice:hover { border-color: #b8c4ff; }
.v2-choice:has(input:checked) { border-color: #4a63e7; background: #f5f7ff; }
.v2-section-title { font-size: 15px; font-weight: 800; color: var(--v2-text); display: flex; align-items: center; gap: 10px; margin: 6px 0 16px; }
.v2-section-title::after { content: ""; flex: 1; height: 1px; background: var(--v2-line); }
.v2-file { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 14px; background: var(--v2-surface-2); }

/* Tablolar */
.v2-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 -4px; padding: 0 4px; }
.v2-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; color: var(--v2-text); }
.v2-table thead th { font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #8a93b8; padding: 12px 14px; background: var(--v2-surface-2); white-space: nowrap; border: 0; }
.v2-table thead th:first-child { border-radius: 12px 0 0 12px; }
.v2-table thead th:last-child { border-radius: 0 12px 12px 0; }
.v2-table tbody td { padding: 14px; border-bottom: 1px solid var(--v2-line); vertical-align: middle; }
.v2-table tbody tr:last-child td { border-bottom: 0; }
.v2-table tbody tr { transition: background .12s; }
.v2-table tbody tr:hover { background: rgba(74, 99, 231, .03); }
.v2-table .text-end { text-align: right; }
.v2-table--compact tbody td { padding: 10px 12px; }
/* Mobilde tablolar kart listesine dönüşür (data-label ile) */
@media (max-width: 767.98px) {
    .v2-table--stack thead { display: none; }
    .v2-table--stack, .v2-table--stack tbody, .v2-table--stack tr, .v2-table--stack td { display: block; width: 100%; }
    .v2-table--stack tr { background: var(--v2-surface-2); border-radius: 18px; padding: 8px 14px; margin-bottom: 12px; }
    .v2-table--stack tbody td { border: 0; padding: 8px 0; display: flex; justify-content: space-between; gap: 14px; text-align: right; }
    .v2-table--stack tbody td::before { content: attr(data-label); font-size: 11.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #8a93b8; text-align: left; flex-shrink: 0; }
    .v2-table--stack tbody td[data-label=""]::before { display: none; }
    .v2-table--stack tbody td.v2-td-main { display: block; text-align: left; }
    .v2-table--stack tbody td.v2-td-main::before { display: none; }
    .v2-table--stack .text-end { text-align: right; }
}

/* Araç çubuğu / filtreler */
.v2-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.v2-search-field { position: relative; flex: 1 1 260px; max-width: 420px; }
.v2-search-field > i { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: #9aa3c4; }
.v2-search-field .form-control { padding-left: 44px; }

/* İstatistik kutuları */
.v2-stat-card { background: var(--v2-surface); border-radius: 22px; box-shadow: var(--v2-shadow); padding: 22px; display: flex; align-items: center; gap: 16px; height: 100%; }
.v2-stat-card__value { font-size: 26px; font-weight: 800; color: var(--v2-text); line-height: 1.1; }
.v2-stat-card__label { color: var(--v2-muted); font-size: 13px; font-weight: 600; margin-top: 3px; }
.v2-stat-card--gradient { color: #fff; }
.v2-stat-card--gradient .v2-stat-card__value, .v2-stat-card--gradient .v2-stat-card__label { color: #fff; }
.v2-stat-card--gradient .v2-stat-card__label { opacity: .85; }
.v2-grad-purple { background: linear-gradient(150deg, #9a63f6, #7445e6); }
.v2-grad-red { background: linear-gradient(150deg, #f08284, #d9585b); }
.v2-grad-green { background: linear-gradient(150deg, #4fd293, #1fae6c); }
.v2-grad-yellow { background: linear-gradient(150deg, #f7df5c, #eec420); color: #3b2f00 !important; }
.v2-grad-blue { background: linear-gradient(150deg, #6d8dff, #3f5ee6); }
.v2-grad-navy { background: linear-gradient(150deg, #34439f, #1f2b78); }
.v2-grad-sky { background: linear-gradient(150deg, #5fcaf7, #2a93e0); }

/* Sekmeler */
.v2-tabs { display: flex; gap: 6px; flex-wrap: nowrap; overflow-x: auto; padding: 5px; border-radius: 16px; background: var(--v2-surface-2); margin-bottom: 22px; list-style: none; scrollbar-width: none; }
.v2-tabs::-webkit-scrollbar { display: none; }
.v2-tabs .nav-link, .v2-tabs > a, .v2-tabs > button { border: 0; background: none; color: var(--v2-muted); font-weight: 700; font-size: 14px; padding: 10px 16px; border-radius: 12px; white-space: nowrap; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; }
.v2-tabs .nav-link:hover, .v2-tabs > a:hover { color: var(--v2-text); }
.v2-tabs .nav-link.active, .v2-tabs > a.active, .v2-tabs > button.active { background: var(--v2-surface); color: #3a50cf; box-shadow: 0 6px 16px -10px rgba(20, 30, 90, .45); }
.v2-tabs--glass { background: rgba(255, 255, 255, .1); }
.v2-tabs--glass .nav-link, .v2-tabs--glass > a { color: rgba(255, 255, 255, .8); }
.v2-tabs--glass .nav-link.active, .v2-tabs--glass > a.active { background: #fff; color: #3a50cf; }

/* İlerleme */
.v2-progress { height: 8px; border-radius: 999px; background: #e9edfb; overflow: hidden; }
.v2-progress > span, .v2-progress > .progress-bar { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #6d8dff, #4a5de0); transition: width .4s; }
.progress { background: #e9edfb; border-radius: 999px; }
.progress-bar { background: linear-gradient(90deg, #6d8dff, #4a5de0); }

/* Liste satırları */
.v2-list { list-style: none; margin: 0; padding: 0; }
.v2-list > li { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--v2-line); }
.v2-list > li:last-child { border-bottom: 0; }
.v2-kv { display: grid; grid-template-columns: minmax(120px, 38%) 1fr; gap: 10px 16px; font-size: 14px; }
.v2-kv dt { color: var(--v2-muted); font-weight: 600; }
.v2-kv dd { margin: 0; color: var(--v2-text); font-weight: 700; word-break: break-word; }
.v2-check-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.v2-check-list li { display: flex; gap: 10px; align-items: flex-start; font-weight: 600; font-size: 14px; }
.v2-check-list li i { color: #22b573; margin-top: 3px; }

/* Zaman çizelgesi (açık zemin) */
.v2-tl { list-style: none; margin: 0; padding: 0; position: relative; }
.v2-tl::before { content: ""; position: absolute; left: 19px; top: 8px; bottom: 8px; width: 2px; background: var(--v2-line); }
.v2-tl > li { position: relative; display: flex; gap: 16px; padding-bottom: 20px; }
.v2-tl > li:last-child { padding-bottom: 0; }
.v2-tl__dot { width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 15px; flex-shrink: 0; position: relative; z-index: 1; box-shadow: 0 0 0 5px var(--v2-surface); }
.v2-tl__body { flex: 1; min-width: 0; padding-top: 2px; }

/* Sohbet */
.v2-chat { display: flex; flex-direction: column; gap: 14px; }
.v2-chat__scroll { max-height: 60vh; overflow-y: auto; padding-right: 6px; }
.v2-msg { display: flex; gap: 10px; align-items: flex-end; max-width: 86%; }
.v2-msg__bubble { padding: 12px 16px; border-radius: 18px 18px 18px 6px; background: var(--v2-surface-2); color: var(--v2-text); font-size: 14.5px; line-height: 1.6; word-wrap: break-word; }
.v2-msg__meta { font-size: 11.5px; color: var(--v2-muted); margin-top: 4px; font-weight: 600; }
.v2-msg--me { align-self: flex-end; flex-direction: row-reverse; }
.v2-msg--me .v2-msg__bubble { background: linear-gradient(135deg, #5b77f5, #4a5de0); color: #fff; border-radius: 18px 18px 6px 18px; }
.v2-msg--me .v2-msg__meta { text-align: right; }
.v2-typing { display: inline-flex; gap: 4px; padding: 14px 16px; border-radius: 18px; background: var(--v2-surface-2); }
.v2-typing span { width: 7px; height: 7px; border-radius: 50%; background: #9aa3c4; animation: v2-bounce 1.2s infinite; }
.v2-typing span:nth-child(2) { animation-delay: .15s; }
.v2-typing span:nth-child(3) { animation-delay: .3s; }
@keyframes v2-bounce { 0%, 60%, 100% { transform: translateY(0); opacity: .5; } 30% { transform: translateY(-5px); opacity: 1; } }

/* Boş durum */
.v2-empty-state { text-align: center; padding: 44px 16px; color: var(--v2-muted); }
.v2-empty-state > i { font-size: 44px; color: #cfd6f2; display: block; margin-bottom: 14px; }
.v2-empty-state h4 { color: var(--v2-text); font-weight: 800; font-size: 18px; margin-bottom: 6px; }

/* Fiyat kartları */
.v2-plan { background: var(--v2-surface); border-radius: var(--v2-radius-xl); box-shadow: var(--v2-shadow); padding: 28px 24px; display: flex; flex-direction: column; height: 100%; position: relative; overflow: hidden; transition: transform .2s, box-shadow .2s; }
.v2-plan::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 6px; background: var(--v2-plan-accent, linear-gradient(90deg, #6d8dff, #9a63f6)); }
.v2-plan:hover { transform: translateY(-3px); }
.v2-plan__title { font-size: 20px; font-weight: 800; color: var(--v2-text); margin: 0 0 6px; }
.v2-plan__desc { color: var(--v2-muted); font-size: 14px; line-height: 1.6; }
.v2-plan__price { display: flex; align-items: baseline; gap: 4px; margin: 16px 0 4px; color: var(--v2-text); }
.v2-plan__price b { font-size: 38px; font-weight: 800; letter-spacing: -.03em; line-height: 1; }
.v2-plan__price small { font-size: 18px; font-weight: 700; color: var(--v2-muted); }
.v2-plan__foot { margin-top: auto; padding-top: 18px; }

/* Akordeon */
.accordion { --bs-accordion-border-color: var(--v2-line); --bs-accordion-bg: transparent; --bs-accordion-active-bg: #f5f7ff; --bs-accordion-active-color: #3a50cf; --bs-accordion-btn-focus-box-shadow: none; --bs-accordion-border-radius: 16px; --bs-accordion-inner-border-radius: 16px; }
.accordion-item { border-radius: 16px !important; border: 1.5px solid var(--v2-line); margin-bottom: 10px; overflow: hidden; }
.accordion-button { font-weight: 700; color: var(--v2-text); font-family: var(--v2-font); }

/* Modal */
.modal-content { border: 0; border-radius: var(--v2-radius-xl); box-shadow: 0 40px 80px -30px rgba(5, 10, 60, .7); background: var(--v2-surface); color: var(--v2-text); }
.modal-header { border-bottom: 1px solid var(--v2-line); padding: 20px 26px; }
.modal-title { font-weight: 800; font-size: 19px; color: var(--v2-text); }
.modal-body { padding: 24px 26px; }
.modal-footer { border-top: 1px solid var(--v2-line); padding: 16px 26px; gap: 8px; }
.modal-backdrop.show { opacity: .6; background: #0b1250; }
@media (max-width: 575.98px) { .modal-body { padding: 18px; } .modal-header, .modal-footer { padding: 16px 18px; } }

/* Açılır menü (bootstrap dropdown) */
.dropdown-menu { border: 0; border-radius: 18px; padding: 8px; box-shadow: 0 30px 60px -20px rgba(8, 14, 70, .45); font-family: var(--v2-font); min-width: 200px; }
.dropdown-item { border-radius: 11px; padding: 9px 12px; font-weight: 600; font-size: 14px; color: var(--v2-text); display: flex; align-items: center; gap: 10px; }
.dropdown-item:hover, .dropdown-item:focus { background: #f1f4ff; color: #3a50cf; }
.dropdown-item.text-danger:hover { background: #fdeeee; }
.dropdown-divider { border-color: var(--v2-line); }
.dropdown-header { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #9aa2c4; }

/* Sayfalama */
.pagination { gap: 6px; flex-wrap: wrap; }
.page-link { border: 0; border-radius: 11px !important; min-width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; color: var(--v2-text); background: var(--v2-surface-2); }
.page-link:hover { background: #e3e8ff; color: #3a50cf; }
.page-item.active .page-link { background: linear-gradient(135deg, #5b77f5, #4a5de0); color: #fff; }
.page-item.disabled .page-link { opacity: .5; background: var(--v2-surface-2); }

/* Tooltip */
.tooltip { --bs-tooltip-bg: #1b2559; --bs-tooltip-border-radius: 10px; font-family: var(--v2-font); font-weight: 600; }

/* Sayfa yükleniyor katmanı */
.v2-loading-overlay { position: fixed; inset: 0; z-index: 2000; background: rgba(11, 18, 80, .55); backdrop-filter: blur(3px); display: none; align-items: center; justify-content: center; flex-direction: column; gap: 14px; color: #fff; font-weight: 700; }
.v2-loading-overlay.is-on { display: flex; }
.v2-loading-overlay .v2-spinner { width: 42px; height: 42px; border-width: 4px; }

/* Yukarı çık */
.v2-scrolltop { position: fixed; right: 20px; bottom: 20px; width: 46px; height: 46px; border-radius: 15px; border: 0; background: linear-gradient(135deg, #5b77f5, #4a5de0); color: #fff; box-shadow: 0 14px 28px -12px rgba(20, 30, 120, .8); z-index: 1020; opacity: 0; visibility: hidden; transform: translateY(10px); transition: .2s; }
.v2-scrolltop.is-visible { opacity: 1; visibility: visible; transform: none; }

/* ---------- Eklenti temaları ---------- */
/* select2 */
.select2-container { width: 100% !important; font-family: var(--v2-font); }
.select2-container--default .select2-selection--single, .select2-container--default .select2-selection--multiple {
    background: var(--v2-surface-2); border: 1.5px solid transparent; border-radius: 13px; min-height: 50px; display: flex; align-items: center; padding: 4px 8px;
}
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single { border-color: #8ea0ff; background: var(--v2-surface); box-shadow: 0 0 0 4px rgba(74, 99, 231, .12); }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--v2-text); font-weight: 500; font-size: 14.5px; line-height: 1.4; padding-left: 8px; padding-right: 28px; }
.select2-container--default .select2-selection--single .select2-selection__placeholder { color: #9aa3c4; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 100%; right: 10px; }
.select2-container--default .select2-selection--multiple .select2-selection__choice { background: #eef1ff; border: 0; border-radius: 9px; color: #3a50cf; font-weight: 700; font-size: 13px; padding: 3px 10px 3px 24px; margin: 3px; }
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove { border: 0; color: #3a50cf; left: 6px; top: 2px; }
.select2-container--default .select2-search--inline .select2-search__field { font-family: var(--v2-font); margin-top: 6px; }
.select2-dropdown { border: 0; border-radius: 16px; box-shadow: 0 24px 50px -18px rgba(8, 14, 70, .45); overflow: hidden; padding: 6px; z-index: 2100; }
.select2-search--dropdown .select2-search__field { border: 1.5px solid var(--v2-line) !important; border-radius: 11px; padding: 8px 12px; outline: 0; }
.select2-results__option { border-radius: 10px; padding: 9px 12px; font-size: 14px; font-weight: 500; }
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable { background: #eef1ff; color: #3a50cf; }
.select2-container--default .select2-results__option--selected { background: #f5f7ff; font-weight: 700; }
.is-invalid + .select2-container .select2-selection { border-color: #e25b5f !important; }

/* Tagify */
.tagify { --tags-border-color: transparent; --tags-hover-border-color: #b8c4ff; --tags-focus-border-color: #8ea0ff; --tag-bg: #eef1ff; --tag-hover: #e0e6ff; --tag-text-color: #3a50cf; --tag-pad: .35em .7em; background: var(--v2-surface-2); border-radius: 13px; border-width: 1.5px; min-height: 50px; padding: 4px 6px; font-family: var(--v2-font); }
.tagify__tag > div { border-radius: 9px; font-weight: 700; font-size: 13px; }
.tagify__dropdown__wrapper { border: 0; border-radius: 14px; box-shadow: 0 24px 50px -18px rgba(8, 14, 70, .45); }

/* SweetAlert2 */
.swal2-popup { border-radius: 26px !important; font-family: var(--v2-font) !important; padding: 28px 24px 24px !important; color: var(--v2-text) !important; }
.swal2-title { font-weight: 800 !important; color: var(--v2-text) !important; font-size: 22px !important; }
.swal2-html-container { color: var(--v2-muted) !important; font-size: 15px !important; line-height: 1.6 !important; }
.swal2-actions { gap: 10px; }
.swal2-styled { border-radius: 13px !important; font-weight: 700 !important; padding: 12px 24px !important; }
.swal2-styled.swal2-confirm { background: linear-gradient(135deg, #5b77f5, #4a5de0) !important; }
.swal2-styled.swal2-cancel { background: #eef1ff !important; color: #3a50cf !important; }
.swal2-styled.swal2-deny { background: linear-gradient(135deg, #f07c7e, #d9585b) !important; }
.swal2-actions .v2-btn { margin: 0 4px; }
.swal2-icon { border-width: 3px !important; }

/* toastr */
#toast-container > div { border-radius: 16px; box-shadow: 0 20px 40px -16px rgba(8, 14, 70, .55); opacity: 1; font-family: var(--v2-font); font-weight: 600; padding: 16px 18px 16px 52px; background-position: 18px center; }
#toast-container > div:hover { box-shadow: 0 20px 40px -16px rgba(8, 14, 70, .7); }
.toast-success { background-color: #1fae6c; }
.toast-error { background-color: #d9585b; }
.toast-info { background-color: #4a5de0; }
.toast-warning { background-color: #e0a800; }
.toast-title { font-weight: 800; }

/* daterangepicker */
.daterangepicker { border: 0; border-radius: 18px; box-shadow: 0 24px 50px -18px rgba(8, 14, 70, .45); font-family: var(--v2-font); padding: 6px; }
.daterangepicker::before, .daterangepicker::after { display: none; }
.daterangepicker td.active, .daterangepicker td.active:hover { background: #4a5de0; border-radius: 10px; }
.daterangepicker td.available:hover, .daterangepicker th.available:hover { background: #eef1ff; border-radius: 10px; }
.daterangepicker select.monthselect, .daterangepicker select.yearselect { border: 1px solid var(--v2-line); border-radius: 8px; padding: 2px 4px; }
.daterangepicker .drp-buttons .btn { border-radius: 10px; font-weight: 700; padding: 6px 14px; }
.daterangepicker .drp-buttons .btn-primary { background: #4a5de0; border: 0; }

/* CKEditor */
.ck.ck-editor__main > .ck-editor__editable { min-height: 180px; border-radius: 0 0 13px 13px !important; }
.ck.ck-toolbar { border-radius: 13px 13px 0 0 !important; background: var(--v2-surface-2) !important; }
.ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-focused { border-color: #8ea0ff !important; box-shadow: 0 0 0 4px rgba(74, 99, 231, .12) !important; }

/* Repeater */
.v2-repeat-item { position: relative; padding: 18px; border-radius: 18px; background: var(--v2-surface-2); margin-bottom: 14px; }
.v2-repeat-item .form-control, .v2-repeat-item .form-select, .v2-repeat-item .select2-selection { background-color: var(--v2-surface) !important; }

/* Mavi zemin üzerindeki metin */
.v2-on-blue { color: #fff; }
.v2-on-blue .v2-text-muted { color: rgba(255, 255, 255, .7) !important; }

/* Yardımcılar */
.v2-sticky { position: sticky; top: 96px; }
@media (max-width: 1199.98px) { .v2-sticky { position: static; } }
.v2-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.v2-scroll-y { overflow-y: auto; }
.v2-min-0 { min-width: 0; }
.v2-nowrap { white-space: nowrap; }
.v2-img-cover { width: 100%; height: 100%; object-fit: cover; }
.v2-gap-grid { display: grid; gap: 22px; }
@media print { .v2-header, .v2-footer, .v2-skyline, .v2-scrolltop { display: none !important; } body.v2-body { background: #fff !important; } }

/* Karanlık tema */
[data-bs-theme="dark"] .form-control, [data-bs-theme="dark"] .form-select, [data-bs-theme="dark"] .select2-selection, [data-bs-theme="dark"] .tagify { background-color: #1c2458 !important; color: #eef1ff; }
[data-bs-theme="dark"] .v2-table thead th, [data-bs-theme="dark"] .v2-tabs, [data-bs-theme="dark"] .v2-repeat-item { background: #1c2458; }
[data-bs-theme="dark"] .v2-tabs .nav-link.active { background: #2a3478; color: #fff; }
[data-bs-theme="dark"] .v2-badge--muted, [data-bs-theme="dark"] .v2-badge--dark { background: rgba(255, 255, 255, .1); color: #dfe4ff; }
[data-bs-theme="dark"] .dropdown-menu, [data-bs-theme="dark"] .select2-dropdown { background: #1c2458; }
[data-bs-theme="dark"] .dropdown-item { color: #eef1ff; }

/* ---------- Ana sayfa bento ---------- */
.v2-home { padding-top: 8px; }
.v2-bento {
    display: grid; gap: 18px;
    grid-template-columns: 673fr 307fr 338fr 480fr;
    grid-template-areas:
        "hero   cv     meet   feed"
        "hero   small  small  feed"
        "bottom bottom bottom feed";
    grid-template-rows: minmax(410px, auto) minmax(300px, auto) auto;
}
.v2-bento__small { grid-area: small; display: grid; gap: 18px; grid-template-columns: 220fr 425fr; }
.v2-bento__bottom { grid-area: bottom; display: grid; grid-template-columns: 176fr 1158fr; gap: 18px; }

.v2-card { position: relative; border-radius: var(--v2-radius-xl); overflow: hidden; box-shadow: var(--v2-shadow); isolation: isolate; }
.v2-card h1, .v2-card h2, .v2-card h3 { margin: 0; font-weight: 800; letter-spacing: -.015em; color: inherit; }
.v2-card p { margin: 0; }

/* Hero */
.v2-hero {
    grid-area: hero; color: #fff; padding: 52px 48px 44px;
    background:
        radial-gradient(600px 400px at 100% 0%, rgba(140, 190, 255, .55), transparent 60%),
        linear-gradient(160deg, var(--v2-hero-2) 0%, #5a8bef 48%, var(--v2-hero-1) 100%);
    min-height: 720px; display: flex; flex-direction: column;
}
.v2-hero__photo {
    position: absolute; right: 0; bottom: 0; width: 44%; height: 68%; z-index: -1;
    background: url("../img/hero-photo.webp") right bottom / cover no-repeat;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 22%), linear-gradient(to bottom, transparent 0%, #000 16%);
    -webkit-mask-composite: source-in; mask-image: linear-gradient(to right, transparent 0%, #000 22%), linear-gradient(to bottom, transparent 0%, #000 16%);
    mask-composite: intersect;
}
.v2-hero__kicker { font-size: 12.5px; font-weight: 700; letter-spacing: .38em; text-transform: uppercase; opacity: .85; margin-bottom: 26px; }
.v2-hero .v2-hero__title { color: #fff !important; font-size: clamp(2.2rem, 3.1vw, 3.7rem); line-height: 1.12; font-weight: 800; letter-spacing: -.025em; margin: 0 0 26px; text-shadow: 0 6px 30px rgba(20, 40, 140, .25); }
.v2-hero__title em { font-style: normal; color: var(--v2-sky); }
.v2-hero__lead { font-size: 16.5px; line-height: 1.65; color: rgba(255, 255, 255, .88); max-width: 420px; margin-bottom: 32px !important; }
.v2-hero .v2-btn--white { padding: 18px 30px; font-size: 17px; border-radius: 14px; align-self: flex-start; }
.v2-hero__checks { list-style: none; padding: 0; margin: 38px 0 0; display: grid; gap: 14px; }
.v2-hero__checks li { display: flex; align-items: center; gap: 14px; font-weight: 600; font-size: 15.5px; }
.v2-hero__checks i { width: 26px; height: 26px; border-radius: 50%; background: #d8ecff; color: #3a64d8; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; box-shadow: 0 4px 10px -4px rgba(0, 0, 0, .35); }
.v2-hero__hand { position: absolute; top: 44px; right: 40px; color: #1b2f86; font-size: 24px; line-height: 1.05; text-align: center; transform: rotate(-9deg); }
.v2-hero__hand svg { display: block; margin: 6px auto 0 30px; width: 32px; height: 52px; }

/* Renkli kartlar */
.v2-tile { padding: 28px; display: flex; flex-direction: column; color: #fff; min-height: 100%; }
.v2-tile__art { display: block; margin: 0 auto 18px; max-width: 100%; height: auto; pointer-events: none; user-select: none; }
.v2-tile h3 { font-size: 26px; margin-bottom: 14px; }
.v2-tile .v2-btn { align-self: flex-start; margin-top: auto; }
.v2-tile__list { list-style: none; padding: 0; margin: 0 0 24px; display: grid; gap: 10px; font-size: 14.5px; font-weight: 500; color: rgba(255, 255, 255, .9); }
.v2-tile__list li { display: flex; gap: 10px; align-items: center; }
.v2-tile__list i { font-size: 13px; opacity: .9; }

.v2-tile--cv { grid-area: cv; background: linear-gradient(170deg, var(--v2-purple-2) 0%, var(--v2-purple) 55%, #7d49ec 100%); }
.v2-tile--cv .v2-tile__art { width: 78%; max-width: 250px; margin-top: -4px; -webkit-mask-image: radial-gradient(closest-side, #000 82%, transparent 100%); mask-image: radial-gradient(closest-side, #000 82%, transparent 100%); }
.v2-tile--cv .v2-btn--ghost { background: rgba(255, 255, 255, .22); }

.v2-tile--meet { grid-area: meet; padding: 0; background: linear-gradient(180deg, var(--v2-red-2) 0%, var(--v2-red) 100%); }
.v2-tile--meet .v2-tile__artwrap { position: relative; }
.v2-tile--meet .v2-tile__art { width: 100%; margin: 0; -webkit-mask-image: linear-gradient(to bottom, #000 80%, transparent 100%); mask-image: linear-gradient(to bottom, #000 80%, transparent 100%); }
.v2-tile--meet .v2-tile__inner { padding: 6px 28px 28px; display: flex; flex-direction: column; flex: 1; }
.v2-tile--meet p { font-size: 15px; line-height: 1.6; color: rgba(255, 255, 255, .9); margin-bottom: 24px; }
.v2-btn--rose { background: #f7d9dc; color: var(--v2-ink); }
.v2-btn--rose:hover { background: #fff; color: var(--v2-ink); }

.v2-tile--ask { background: linear-gradient(180deg, var(--v2-green) 0%, var(--v2-green-2) 100%); color: var(--v2-ink); padding: 22px 22px 22px; }
.v2-tile--ask .v2-tile__art { width: 100%; max-width: 230px; margin: -4px 0 12px -4px; }
.v2-tile--ask .v2-btn { width: 100%; padding-left: 14px; padding-right: 14px; }
.v2-tile--ask h3 { font-size: 21px; margin-bottom: 6px; color: #173160; }
.v2-tile--ask p { font-size: 13.5px; line-height: 1.5; color: #1f3f5c; margin-bottom: 16px; }
.v2-btn--mint { background: rgba(255, 255, 255, .72); color: #173160; }
.v2-btn--mint:hover { background: #fff; color: #173160; }

.v2-tile--visa { background: linear-gradient(170deg, var(--v2-yellow-2) 0%, var(--v2-yellow) 100%); color: var(--v2-ink); padding: 32px; }
.v2-tile--visa .v2-tile__body { position: relative; z-index: 1; max-width: 62%; display: flex; flex-direction: column; height: 100%; }
.v2-tile--visa h3 { font-size: 28px; color: #1b2559; margin-bottom: 14px; }
.v2-tile--visa p { font-size: 15px; line-height: 1.6; color: #2b3563; margin-bottom: 26px; }
.v2-tile--visa .v2-tile__art { position: absolute; right: 8px; bottom: 6px; width: 34%; max-width: 205px; margin: 0; }
.v2-badge-step { align-self: flex-start; background: #fbf4c6; color: #2f8a3c; font-size: 12px; font-weight: 800; letter-spacing: .08em; padding: 7px 14px; border-radius: 10px; margin-bottom: 14px; }
.v2-btn--cream { background: #fbf4d2; color: var(--v2-ink); padding: 17px 28px; font-size: 16px; }
.v2-btn--cream:hover { background: #fff; color: var(--v2-ink); }

/* Güncellemeler paneli */
.v2-feed { grid-area: feed; background: linear-gradient(180deg, rgba(38, 54, 150, .92), rgba(31, 45, 120, .92)); border: 1px solid var(--v2-panel-line); color: #fff; padding: 30px 28px 24px; display: flex; flex-direction: column; }
.v2-feed__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 26px; }
.v2-feed__head h2 { font-size: 26px; }
.v2-feed__head p { color: var(--v2-sky-2); font-size: 15px; margin-top: 4px; }
.v2-timeline { list-style: none; padding: 0; margin: 0; position: relative; flex: 1; }
.v2-timeline::before { content: ""; position: absolute; left: 27px; top: 20px; bottom: 20px; width: 2px; background: rgba(255, 255, 255, .15); }
.v2-timeline li { display: flex; gap: 20px; position: relative; padding-bottom: 22px; }
.v2-timeline li:last-child { padding-bottom: 6px; }
.v2-timeline__ico { width: 56px; height: 56px; border-radius: 50%; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 19px; box-shadow: 0 0 0 6px rgba(30, 44, 120, .9), 0 10px 20px -8px rgba(0, 0, 0, .5); position: relative; z-index: 1; }
.v2-timeline__ico.t-booking { background: linear-gradient(135deg, #a57af7, #8454ef); }
.v2-timeline__ico.t-cv { background: linear-gradient(135deg, #7fe0a9, #43c783); }
.v2-timeline__ico.t-score, .v2-timeline__ico.t-visa { background: linear-gradient(135deg, #5f9bff, #3a6ff0); }
.v2-timeline__ico.t-job { background: linear-gradient(135deg, #f07c7e, #d9585b); }
.v2-timeline__ico.t-ticket { background: linear-gradient(135deg, #f7df5c, #eec420); }
.v2-timeline__ico.t-application { background: linear-gradient(135deg, #9a63f6, #7445e6); }
.v2-timeline__ico.t-payment { background: linear-gradient(135deg, #52c3f5, #2a93e0); }
.v2-timeline b { display: block; font-size: 16px; font-weight: 700; padding-top: 4px; }
.v2-timeline time { display: block; color: var(--v2-sky-2); font-size: 13.5px; margin: 3px 0 6px; opacity: .85; }
.v2-timeline li > div > span { display: block; color: rgba(255, 255, 255, .78); font-size: 14px; line-height: 1.5; }
.v2-feed__foot { margin-top: 12px; display: flex; align-items: center; gap: 16px; padding: 18px 20px; border-radius: 18px; background: rgba(76, 100, 210, .35); border: 1px solid rgba(255, 255, 255, .1); font-size: 14.5px; line-height: 1.5; color: rgba(255, 255, 255, .9); }
.v2-feed__foot > i { font-size: 24px; color: #cfe0ff; }
.v2-feed__heart { margin-left: auto; width: 46px; height: 46px; border-radius: 50%; background: rgba(255, 255, 255, .1); display: inline-flex; align-items: center; justify-content: center; color: #ff5a6e; font-size: 19px; flex-shrink: 0; }

/* İstatistikler */
.v2-stats { background: rgba(33, 47, 128, .92); border: 1px solid var(--v2-panel-line); border-radius: var(--v2-radius-xl); display: grid; grid-template-columns: repeat(3, 1fr); padding: 26px 20px; color: #fff; box-shadow: var(--v2-shadow); }
.v2-stat { display: flex; align-items: center; gap: 22px; padding: 4px 26px; }
.v2-stat + .v2-stat { border-left: 1px solid rgba(255, 255, 255, .12); }
.v2-stat__ico { width: 66px; height: 66px; border-radius: 50%; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; font-size: 24px; }
.v2-stat__ico--green { background: rgba(126, 222, 162, .18); color: #7ddea2; }
.v2-stat__ico--blue { background: rgba(80, 110, 230, .55); color: #fff; }
.v2-stat b { display: block; font-size: 30px; font-weight: 800; line-height: 1.1; }
.v2-stat strong { display: block; font-size: 16px; font-weight: 700; margin-top: 2px; }
.v2-stat b + strong { margin-top: 2px; }
.v2-stat > div > .v2-stat__title { color: #fff; margin-top: 0; font-size: 21px; font-weight: 800; display: block; }
.v2-stat > div > span { display: block; color: rgba(255, 255, 255, .7); font-size: 14px; margin-top: 4px; }

.v2-note { color: var(--v2-sky-2); font-size: 27px; line-height: 1.12; transform: rotate(-12deg); display: flex; flex-direction: column; justify-content: center; padding-left: 8px; }
.v2-note svg { width: 70px; height: 24px; margin: 4px 0 0 60px; }
.v2-note--corner { position: absolute; right: 30px; bottom: -84px; text-align: left; transform: rotate(-12deg); font-size: 24px; flex-direction: row; align-items: flex-end; gap: 8px; }
.v2-note--corner svg { margin: 0; width: 30px; height: 32px; }

.v2-footline { display: flex; align-items: center; justify-content: center; gap: 24px; padding: 34px 0 20px; color: rgba(255, 255, 255, .55); font-size: 12px; font-weight: 700; letter-spacing: .32em; text-transform: uppercase; text-align: center; }
.v2-footline::before, .v2-footline::after { content: ""; height: 1px; width: 110px; background: rgba(255, 255, 255, .25); flex-shrink: 0; }

/* Bento: ara ekranlar ve mobil */
@media (max-width: 1599.98px) {
    .v2-bento { grid-template-columns: 1.25fr 1fr 1fr; grid-template-areas: "hero cv meet" "hero small small" "bottom bottom bottom" "feed feed feed"; }
    .v2-bento__bottom { grid-template-columns: 1fr; }
    .v2-bento__note { display: none !important; }
    .v2-feed { display: grid; grid-template-columns: 1fr; }
    .v2-timeline { display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 28px; }
    .v2-timeline::before { display: none; }
    .v2-note--corner { display: none; }
}
@media (max-width: 1199.98px) {
    .v2-bento { grid-template-columns: 1fr 1fr; grid-template-areas: "hero hero" "cv meet" "small small" "bottom bottom" "feed feed"; grid-template-rows: auto; }
    .v2-hero { min-height: 600px; }
    .v2-hero__photo { width: 46%; height: 88%; }
}
@media (max-width: 767.98px) {
    body.v2-body { background-attachment: scroll !important; }
    .v2-tile--cv .v2-tile__art { width: 62%; }
    .v2-bento { gap: 14px; grid-template-columns: 1fr; grid-template-areas: "hero" "cv" "meet" "small" "feed" "bottom"; }
    .v2-bento__small { grid-template-columns: 1fr; gap: 14px; }
    .v2-hero { padding: 32px 22px 0; min-height: 0; }
    .v2-hero__photo { order: 10; position: relative; width: calc(100% + 44px); height: 320px; margin: 26px -22px 0; background-position: center 15%; -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 30%); mask-image: linear-gradient(to bottom, transparent 0%, #000 30%); z-index: 0; }
    .v2-hero__hand { top: 22px; right: 16px; font-size: 18px; }
    .v2-hero__hand svg { display: none; }
    .v2-hero__kicker { letter-spacing: .24em; font-size: 11px; margin-bottom: 16px; }
    .v2-hero__lead { font-size: 15px; }
    .v2-hero__checks { margin-top: 26px; gap: 10px; }
    .v2-hero .v2-btn--white { width: 100%; }
    .v2-tile { padding: 22px; }
    .v2-tile--meet { padding: 0; }
    .v2-tile--meet .v2-tile__inner { padding: 4px 22px 22px; }
    .v2-tile--ask { display: grid; grid-template-columns: 42% 1fr; gap: 0 12px; align-items: center; }
    .v2-tile--ask .v2-tile__art { grid-row: span 4; margin: 0; }
    .v2-tile--ask .v2-btn { grid-column: 1 / -1; margin-top: 10px; width: 100%; }
    .v2-tile--visa { padding: 24px 22px; }
    .v2-tile--visa .v2-tile__body { max-width: 100%; }
    .v2-tile--visa .v2-tile__art { position: relative; right: auto; bottom: auto; width: 46%; margin: -150px 0 0 auto; order: 5; opacity: .95; }
    .v2-tile--visa h3 { font-size: 24px; max-width: 60%; }
    .v2-tile--visa p { max-width: 60%; }
    .v2-tile .v2-btn { width: 100%; }
    .v2-tile--visa .v2-btn { width: auto; }
    .v2-feed { padding: 24px 18px 18px; }
    .v2-feed__head h2 { font-size: 22px; }
    .v2-timeline { grid-template-columns: 1fr; }
    .v2-timeline li { gap: 14px; }
    .v2-timeline__ico { width: 46px; height: 46px; font-size: 16px; }
    .v2-stats { grid-template-columns: 1fr; padding: 10px 18px; }
    .v2-stat { padding: 16px 4px; }
    .v2-stat + .v2-stat { border-left: 0; border-top: 1px solid rgba(255, 255, 255, .12); }
    .v2-footline { letter-spacing: .18em; font-size: 10.5px; gap: 12px; }
    .v2-footline::before, .v2-footline::after { width: 30px; }
}

/* ---------- Ana sayfa: kullanıcı bölümleri ---------- */
.v2-section { margin-top: 48px; }
.v2-section__head { text-align: center; color: #fff; margin-bottom: 28px; }
.v2-section__head h2 { font-size: clamp(1.6rem, 2.4vw, 2.3rem); font-weight: 800; margin: 0 0 8px; color: #fff; }
.v2-section__head p { color: rgba(255, 255, 255, .72); font-size: 16px; margin: 0; }
.v2-section__kicker { display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: .3em; text-transform: uppercase; color: var(--v2-sky-2); margin-bottom: 10px; }

.v2-panel--fill { height: 100%; }

.v2-notice { display: flex; gap: 16px; align-items: flex-start; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .16); color: rgba(255, 255, 255, .88); border-radius: 22px; padding: 20px 24px; font-size: 13.5px; line-height: 1.65; }
.v2-notice > i { font-size: 22px; color: #ffd66b; margin-top: 2px; }
.v2-notice b { color: #fff; }
.v2-notice a { color: var(--v2-sky); font-weight: 700; }

.v2-price { display: flex; align-items: baseline; justify-content: center; gap: 4px; color: var(--v2-text); }
.v2-price small { font-size: 20px; font-weight: 700; color: var(--v2-muted); }
.v2-price b { font-size: 48px; font-weight: 800; letter-spacing: -.03em; line-height: 1; }
.v2-price span { color: var(--v2-muted); font-weight: 600; }
.v2-price-try { text-align: center; color: var(--v2-muted); font-size: 13px; margin-top: 4px; }

.v2-feature { display: flex; gap: 10px; align-items: flex-start; color: var(--v2-text); font-weight: 600; font-size: 14.5px; margin-bottom: 10px; }
.v2-feature i { color: #22b573; margin-top: 3px; }

.v2-cvactive { background: linear-gradient(160deg, #9a63f6, #6a3fdc); color: #fff; }
.v2-cvactive .v2-panel__title, .v2-cvactive .v2-panel__sub { color: #fff; }
.v2-cvactive .v2-panel__sub { opacity: .8; }
.v2-cvactive__badge { width: 84px; height: 84px; border-radius: 26px; background: rgba(255, 255, 255, .18); display: inline-flex; align-items: center; justify-content: center; font-size: 36px; margin-bottom: 18px; }

.v2-empty { text-align: center; padding: 34px 10px; color: var(--v2-muted); }
.v2-empty > i { font-size: 46px; color: #d4d9f0; margin-bottom: 14px; display: block; }
.v2-empty h4 { color: var(--v2-text); font-weight: 800; }

.v2-meet { background: var(--v2-surface); border-radius: var(--v2-radius-xl); box-shadow: var(--v2-shadow); padding: 30px 26px; display: flex; flex-direction: column; height: 100%; transition: transform .2s, box-shadow .2s; position: relative; overflow: hidden; }
.v2-meet::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 6px; background: linear-gradient(90deg, var(--v2-red-2), var(--v2-purple)); }
.v2-meet:hover { transform: translateY(-4px); box-shadow: 0 28px 50px -22px rgba(12, 20, 80, .6); }
.v2-meet__ico { width: 64px; height: 64px; border-radius: 20px; display: inline-flex; align-items: center; justify-content: center; font-size: 24px; color: #fff; margin: 0 auto 16px; }
.v2-meet h3 { text-align: center; font-size: 21px; font-weight: 800; color: var(--v2-text); margin: 0 0 8px; }
.v2-meet__tag { align-self: center; background: #eef1ff; color: #4a63e7; font-weight: 700; font-size: 12px; padding: 5px 12px; border-radius: 999px; margin-bottom: 18px; }

.v2-ask-banner { background: linear-gradient(135deg, #7ddea2, #43c783); border-radius: var(--v2-radius-xl); padding: 34px 36px; display: grid; grid-template-columns: auto 1fr auto; gap: 28px; align-items: center; color: #173160; box-shadow: var(--v2-shadow); }
.v2-ask-banner img { width: 190px; }
.v2-ask-banner h2 { font-size: 28px; font-weight: 800; margin: 0 0 8px; }
.v2-ask-banner p { margin: 0; font-size: 15px; line-height: 1.6; color: #1f3f5c; }
.v2-ask-banner__price { background: rgba(255, 255, 255, .55); border-radius: 18px; padding: 12px 24px; text-align: center; margin-bottom: 12px; }
.v2-ask-banner__price b { font-size: 38px; font-weight: 800; }
@media (max-width: 991.98px) { .v2-ask-banner { grid-template-columns: 1fr; text-align: center; padding: 26px 20px; } .v2-ask-banner img { margin: 0 auto; width: 160px; } }

/* ---------- Footer ---------- */
.v2-footer { color: rgba(255, 255, 255, .6); font-size: 13.5px; padding-bottom: 26px; }
.v2-footer__row { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; justify-content: space-between; border-top: 1px solid rgba(255, 255, 255, .1); padding-top: 20px; }
.v2-footer a { color: rgba(255, 255, 255, .78); text-decoration: none; font-weight: 600; }
.v2-footer a:hover { color: #fff; }
.v2-footer__links { display: flex; flex-wrap: wrap; gap: 8px 20px; }
@media (max-width: 767.98px) { .v2-footer__row { justify-content: center; text-align: center; } }

/* ---------- Giriş / kayıt ---------- */
.v2-auth { min-height: 100vh; display: grid; grid-template-columns: 1.05fr 1fr; gap: 0; }
.v2-auth__aside { position: relative; overflow: hidden; color: #fff; padding: 48px 56px; display: flex; flex-direction: column; }
.v2-auth__aside .v2-hero__photo { width: 70%; height: 70%; }
.v2-auth__aside h1 { font-size: clamp(2rem, 3vw, 3.2rem); font-weight: 800; line-height: 1.12; letter-spacing: -.025em; margin: 60px 0 20px; max-width: 520px; }
.v2-auth__aside h1 em { font-style: normal; color: var(--v2-sky); }
.v2-auth__aside p { color: rgba(255, 255, 255, .85); max-width: 400px; font-size: 16px; line-height: 1.6; }
.v2-auth__main { display: flex; align-items: center; justify-content: center; padding: 40px 24px; }
.v2-auth__card { width: 100%; max-width: 560px; background: var(--v2-surface); border-radius: 30px; box-shadow: 0 40px 80px -30px rgba(5, 10, 60, .7); padding: 40px 44px; }
.v2-auth__card .form-control, .v2-auth__card .form-select { background: var(--v2-surface-2) !important; border-color: transparent !important; min-height: 52px; }
.v2-auth__card h1 { font-weight: 800 !important; font-size: 30px !important; }
.v2-auth__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 22px; }
.v2-auth__foot { text-align: center; color: rgba(255, 255, 255, .6); font-size: 13px; margin-top: 22px; }
.v2-auth__foot a { color: rgba(255, 255, 255, .85); }
.v2-auth__card .text-muted a, .v2-auth__card a.text-muted { color: var(--v2-muted) !important; }
@media (max-width: 991.98px) {
    .v2-auth { grid-template-columns: 1fr; }
    .v2-auth__aside { padding: 22px 20px 0; min-height: 0; }
    .v2-auth__aside h1, .v2-auth__aside p, .v2-auth__aside .v2-hero__photo, .v2-auth__aside .v2-hero__checks { display: none; }
    .v2-auth__main { padding: 18px 14px 30px; align-items: flex-start; }
    .v2-auth__card { padding: 26px 20px; border-radius: 24px; }
}

/* Karanlık tema: beyaz yüzeyli v2 bileşenleri */
[data-bs-theme="dark"] .v2-dropdown, [data-bs-theme="dark"] .v2-user__menu, [data-bs-theme="dark"] .v2-search__box { background: #1c2458; }
[data-bs-theme="dark"] .v2-dropdown__link, [data-bs-theme="dark"] .v2-user__head b, [data-bs-theme="dark"] .v2-search__input input { color: #eef1ff; }
[data-bs-theme="dark"] .v2-dropdown__link:hover, [data-bs-theme="dark"] .v2-chip { background: rgba(255, 255, 255, .08); color: #fff; }
[data-bs-theme="dark"] .btn.btn-light { background: rgba(255, 255, 255, .08) !important; color: #cdd5ff !important; }

.v2-auth__aside { isolation: isolate; margin: 22px 0 22px 22px; border-radius: 32px; box-shadow: var(--v2-shadow);
    background: radial-gradient(600px 400px at 100% 0%, rgba(140, 190, 255, .55), transparent 60%), linear-gradient(160deg, var(--v2-hero-2) 0%, #5a8bef 48%, var(--v2-hero-1) 100%); }
.v2-auth__aside .v2-hero__checks { margin-top: 28px; }
@media (max-width: 991.98px) { .v2-auth__aside { margin: 0; border-radius: 0; background: none; box-shadow: none; } }
.v2-auth__aside h1 { color: #fff; }
@media (max-width: 991.98px) {
    .v2-auth { grid-template-rows: auto 1fr; min-height: 100svh; }
    .v2-auth__aside { overflow: visible; padding: 16px 20px 0; min-height: 70px; flex-shrink: 0; }
}

/* SweetAlert v2 ikon kutusu */
.swal2-icon.v2-swal__icon { border: 0 !important; width: 76px !important; height: 76px !important; border-radius: 24px !important; margin: 6px auto 4px !important; color: #fff !important; font-size: 32px; box-shadow: 0 16px 30px -14px rgba(20, 30, 90, .6); }
.swal2-icon.v2-swal__icon .swal2-icon-content { font-size: 32px !important; }
.v2-swal__icon--success { background: linear-gradient(135deg, #4fd293, #1fae6c) !important; }
.v2-swal__icon--error { background: linear-gradient(135deg, #f08284, #d9585b) !important; }
.v2-swal__icon--warning { background: linear-gradient(135deg, #f7d64a, #ecb91f) !important; }
.v2-swal__icon--info, .v2-swal__icon--question { background: linear-gradient(135deg, #6d8dff, #4a5de0) !important; }
.v2-swal .swal2-actions { margin-top: 22px; }
.v2-swal .swal2-input, .v2-swal .swal2-textarea, .v2-swal .swal2-select { border-radius: 13px; border: 1.5px solid var(--v2-line); box-shadow: none; font-family: var(--v2-font); }

/* Giriş / kayıt bileşenleri */
.v2-auth__head { text-align: center; margin-bottom: 26px; }
.v2-auth__head .v2-ico { margin-bottom: 14px; }
.v2-auth__head h1 { font-size: 28px; font-weight: 800; color: var(--v2-text); margin: 0 0 6px; letter-spacing: -.02em; }
.v2-auth__head p { color: var(--v2-muted); margin: 0; font-size: 15px; }
.v2-auth__or { display: flex; align-items: center; gap: 12px; color: var(--v2-muted); font-size: 13px; font-weight: 600; margin: 22px 0 14px; }
.v2-auth__or::before, .v2-auth__or::after { content: ""; flex: 1; height: 1px; background: var(--v2-line); }
.v2-auth__support { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--v2-line); color: var(--v2-muted); font-size: 13px; }
.v2-auth__support a { color: var(--v2-muted); text-decoration: none; font-weight: 600; }
.v2-auth__support a:hover { color: #3a50cf; }
.v2-input-icon { position: relative; }
.v2-input-icon > i { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: #9aa3c4; font-size: 15px; pointer-events: none; z-index: 2; }
.v2-input-icon > .form-control { padding-left: 46px; }
.v2-input-icon__toggle { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); border: 0; background: none; color: #9aa3c4; width: 36px; height: 36px; border-radius: 10px; z-index: 2; }
.v2-input-icon__toggle:hover { background: #eef1ff; color: #3a50cf; }
.v2-input-icon:has(.v2-input-icon__toggle) > .form-control { padding-right: 48px; }
.v2-switch-card { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 16px; background: var(--v2-surface-2); cursor: pointer; }
.v2-switch-card .form-switch .form-check-input { margin: 0; float: none; cursor: pointer; }
.v2-btn:focus-visible { outline: none; box-shadow: 0 0 0 4px rgba(74, 99, 231, .28); }
.v2-avatar-upload { position: relative; display: inline-block; width: 124px; height: 124px; cursor: pointer; }
.v2-avatar-upload img { width: 100%; height: 100%; object-fit: cover; border-radius: 36px; box-shadow: 0 16px 30px -14px rgba(20, 30, 90, .6); background: #eef1ff; }
.v2-avatar-upload__btn { position: absolute; right: -6px; bottom: -6px; width: 42px; height: 42px; border-radius: 14px; background: linear-gradient(135deg, #5b77f5, #4a5de0); color: #fff; display: inline-flex; align-items: center; justify-content: center; border: 3px solid var(--v2-surface); }
.v2-upload { display: flex; align-items: center; gap: 16px; padding: 14px; border-radius: 18px; border: 1.5px dashed #c9d2f3; background: var(--v2-surface-2); cursor: pointer; transition: .15s; }
.v2-upload:hover { border-color: #8ea0ff; background: #f5f7ff; }
.v2-upload__preview { width: 64px; height: 64px; border-radius: 16px; background: var(--v2-surface); display: inline-flex; align-items: center; justify-content: center; color: #9aa3c4; font-size: 22px; overflow: hidden; flex-shrink: 0; }
.v2-upload__preview img { width: 100%; height: 100%; object-fit: contain; }
.v2-upload__text { display: flex; flex-direction: column; gap: 2px; font-size: 13px; color: var(--v2-muted); min-width: 0; }
.v2-upload__text b { color: var(--v2-text); font-size: 14px; }
.v2-upload__input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.v2-upload:has(.is-invalid) { border-color: #e25b5f; }
.v2-action-card { display: flex; align-items: center; gap: 16px; padding: 18px 20px; border-radius: 22px; background: var(--v2-surface); box-shadow: var(--v2-shadow); color: var(--v2-text); text-decoration: none; transition: transform .15s, box-shadow .15s; }
.v2-action-card:hover { transform: translateY(-2px); color: var(--v2-text); box-shadow: 0 24px 44px -20px rgba(12, 20, 80, .55); }
.v2-action-card b { display: block; font-size: 16px; font-weight: 800; }
.v2-action-card small { display: block; color: var(--v2-muted); font-size: 13px; }
.v2-action-card > .fa-arrow-right { color: #9aa3c4; }
.v2-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 22px; }
.v2-pager__info { color: var(--v2-muted); font-size: 13px; font-weight: 600; }
.v2-flag { width: 30px; height: 30px; border-radius: 50%; overflow: hidden; display: inline-flex; border: 3px solid #e3e7f5; transition: transform .12s; }
.v2-flag img { width: 100%; height: 100%; object-fit: cover; }
.v2-flag.is-done { border-color: #3fcf87; }
.v2-flag:hover { transform: scale(1.1); }
.v2-translate-row { display: grid; grid-template-columns: 150px 1fr; gap: 12px; align-items: start; }
.v2-translate-row__lang { display: flex; align-items: center; gap: 10px; padding: 12px; border-radius: 14px; background: var(--v2-surface-2); font-weight: 700; font-size: 13.5px; margin: 0; }
.v2-translate-row__lang img { width: 26px; height: 26px; border-radius: 50%; object-fit: cover; }
.v2-translate-row textarea.form-control { min-height: 76px; }
@media (max-width: 575.98px) { .v2-translate-row { grid-template-columns: 1fr; } }
.v2-qty { display: flex; align-items: center; justify-content: space-between; padding: 8px 8px 8px 16px; border-radius: 16px; background: var(--v2-surface-2); }
.v2-qty__ctrl { display: flex; align-items: center; gap: 6px; }
.v2-qty__ctrl button { width: 36px; height: 36px; border-radius: 11px; border: 0; background: var(--v2-surface); color: var(--v2-text); box-shadow: 0 6px 14px -10px rgba(20, 30, 90, .6); }
.v2-qty__ctrl button:hover { color: #3a50cf; }
.v2-qty__ctrl span { min-width: 34px; text-align: center; font-weight: 800; font-size: 18px; }
.v2-vip { display: grid; grid-template-columns: 1fr 1.2fr; border-radius: var(--v2-radius-xl); overflow: hidden; box-shadow: var(--v2-shadow); background: var(--v2-surface); }
.v2-vip__side { padding: 34px; color: #fff; background: radial-gradient(400px 300px at 100% 0%, rgba(255,255,255,.2), transparent 60%), linear-gradient(150deg, #9a63f6, #4a5de0); display: flex; flex-direction: column; align-items: flex-start; }
.v2-vip__side h3 { font-size: 28px; font-weight: 800; margin: 14px 0 0; }
.v2-vip__main { padding: 34px; display: flex; flex-direction: column; justify-content: center; }
@media (max-width: 767.98px) { .v2-vip { grid-template-columns: 1fr; } .v2-vip__side, .v2-vip__main { padding: 24px; } }
.v2-day-row { display: grid; grid-template-columns: 140px 1fr; gap: 12px; align-items: center; }
.v2-day-row__name { font-weight: 800; font-size: 14px; margin: 0; padding: 14px 16px; border-radius: 14px; background: var(--v2-surface-2); text-align: center; }
@media (max-width: 575.98px) { .v2-day-row { grid-template-columns: 1fr; } .v2-day-row__name { text-align: left; padding: 8px 12px; } }
.v2-slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 10px; }
.v2-slot { display: flex; align-items: center; justify-content: center; padding: 12px 10px; border-radius: 14px; border: 1.5px dashed #c9d2f3; color: var(--v2-text); font-weight: 700; font-size: 14px; text-decoration: none; transition: .15s; }
.v2-slot:hover { border-color: #4a63e7; color: #3a50cf; background: #f5f7ff; }
.v2-slot.is-selected { background: linear-gradient(135deg, #5b77f5, #4a5de0); border: 1.5px solid transparent; color: #fff; }
.v2-slot.is-disabled { background: #fdeeee; border: 1.5px solid transparent; color: #d98c8e; pointer-events: none; text-decoration: line-through; }
.v2-steps { display: flex; flex-wrap: wrap; gap: 8px; }
.v2-steps span { padding: 7px 13px; border-radius: 999px; background: var(--v2-surface-2); color: var(--v2-muted); font-weight: 700; font-size: 12.5px; }
.v2-steps .is-active { background: #eef1ff; color: #3a50cf; }
.v2-steps .is-done { background: #e6f8ef; color: #179a5e; }
.v2-attach { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 10px; background: rgba(0, 0, 0, .06); color: inherit; text-decoration: none; font-size: 12.5px; font-weight: 600; }
.v2-msg--me .v2-attach { background: rgba(255, 255, 255, .18); }
.v2-attach:hover { color: inherit; filter: brightness(.95); }
.v2-stat-card.is-active { box-shadow: 0 0 0 3px #8ea0ff, var(--v2-shadow); }
a.v2-stat-card { color: inherit; transition: transform .15s; } a.v2-stat-card:hover { transform: translateY(-2px); }
@media (max-width: 575.98px) { .v2-stat-card { padding: 16px; gap: 12px; } .v2-stat-card .v2-ico--lg { width: 46px; height: 46px; font-size: 19px; border-radius: 14px; } .v2-stat-card__value { font-size: 22px; } }
.v2-tg-hero { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 22px; padding: 34px; color: #fff; background: radial-gradient(400px 260px at 100% 0%, rgba(255,255,255,.22), transparent 60%), linear-gradient(135deg, #229ED9, #1769aa); }
.v2-tg-hero h1 { color: #fff; font-weight: 800; font-size: clamp(1.4rem, 2.4vw, 2rem); margin: 14px 0 8px; }
.v2-tg-hero p { margin: 0; opacity: .85; max-width: 480px; }
.v2-tg-hero__price { text-align: center; background: rgba(255,255,255,.14); border-radius: 22px; padding: 18px 26px; }
.v2-tg-hero__price > i { font-size: 34px; margin-bottom: 6px; }
.v2-tg-hero__price b { font-size: 40px; font-weight: 800; }
.v2-tg-hero__price span { font-size: 16px; opacity: .8; }
.v2-tg-hero__price small { display: block; opacity: .8; font-size: 12px; }
.v2-tg-status { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; padding: 20px 22px; border-radius: 20px; background: #e6f8ef; }
.v2-tg-status h3 { font-weight: 800; font-size: 24px; margin: 0; color: #125f3c; }
.v2-tg-status__count { font-weight: 800; font-size: 20px; color: #179a5e; }
.v2-numbered { list-style: none; counter-reset: v2n; padding: 0; margin: 0; display: grid; gap: 14px; }
.v2-numbered li { counter-increment: v2n; display: flex; gap: 14px; align-items: flex-start; }
.v2-numbered li::before { content: counter(v2n); width: 34px; height: 34px; border-radius: 11px; background: linear-gradient(135deg, #5b77f5, #4a5de0); color: #fff; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.v2-numbered strong { display: block; color: var(--v2-text); }
.v2-numbered span { color: var(--v2-muted); font-size: 14px; }
.v2-ai-result textarea.form-control { background: linear-gradient(180deg, #f7f5ff, #f4f6fd); min-height: 420px; }
.v2-seg { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 5px; border-radius: 15px; background: var(--v2-surface-2); }
.v2-seg label { margin: 0; cursor: pointer; }
.v2-seg input { position: absolute; opacity: 0; pointer-events: none; }
.v2-seg span { display: inline-flex; align-items: center; padding: 9px 16px; border-radius: 11px; font-weight: 700; font-size: 14px; color: var(--v2-muted); transition: .15s; }
.v2-seg input:checked + span { background: var(--v2-surface); color: #3a50cf; box-shadow: 0 6px 16px -10px rgba(20, 30, 90, .45); }
.v2-seg input:focus-visible + span { outline: 2px solid #8ea0ff; }
.v2-choice { align-items: center; }
.v2-choice .form-check-input { margin: 0; flex-shrink: 0; }
.v2-choice span { font-weight: 600; font-size: 14px; }
.v2-salary-hero { display: grid; }
.v2-salary-hero > div { padding: 22px 26px; text-align: center; }
.v2-salary-hero span { display: block; font-weight: 700; font-size: 14px; }
.v2-salary-hero b { display: block; font-weight: 800; letter-spacing: -.02em; }
.v2-salary-hero__gross { background: #eef1ff; color: #3a50cf; }
.v2-salary-hero__gross b { font-size: 30px; color: var(--v2-text); }
.v2-salary-hero__net { background: radial-gradient(400px 200px at 100% 0%, rgba(255,255,255,.2), transparent 60%), linear-gradient(135deg, #5b77f5, #7a45e6); color: #fff; }
.v2-salary-hero__net span { opacity: .85; }
.v2-salary-hero__net b { font-size: 42px; }
.v2-rows { list-style: none; padding: 0; margin: 0; }
.v2-rows li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px dashed var(--v2-line); font-size: 14px; color: var(--v2-muted); font-weight: 600; }
.v2-rows li small { display: block; font-size: 11.5px; opacity: .8; font-weight: 500; }
.v2-rows li b { color: var(--v2-text); white-space: nowrap; }
.v2-rows li.is-total { border-bottom: 0; color: var(--v2-text); font-weight: 800; }
.v2-rows li.is-total b { color: #d9585b; }
.v2-option-list { display: grid; gap: 10px; }
.v2-option { display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; border-radius: 18px; background: var(--v2-surface-2); border: 1.5px solid transparent; cursor: pointer; transition: .15s; margin: 0; }
.v2-option:hover { border-color: #b8c4ff; }
.v2-option:has(input:checked) { border-color: #4a63e7; background: #f5f7ff; box-shadow: 0 10px 22px -16px rgba(58, 80, 207, .8); }
.v2-option .form-check-input { margin: 2px 0 0; flex-shrink: 0; }
.v2-option__body b { display: block; font-size: 15.5px; color: var(--v2-text); }
.v2-option__body small { display: block; color: var(--v2-muted); font-size: 13.5px; margin-top: 2px; }
.v2-step-title { font-weight: 800; font-size: 20px; margin-bottom: 18px; color: var(--v2-text); }
.v2-visa-icon { font-size: 54px; }
.v2-visa-cat { font-weight: 800; font-size: 30px; }
/* Sohbet kabuğu (AI danışman, mülakat, canlı sohbet) */
.v2-chat-shell { background: var(--v2-surface); border-radius: var(--v2-radius-xl); box-shadow: var(--v2-shadow); display: flex; flex-direction: column; height: calc(100vh - 230px); min-height: 540px; overflow: hidden; }
.v2-chat-shell__head { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; padding: 18px 22px; border-bottom: 1px solid var(--v2-line); }
.v2-chat-shell__body { flex: 1; overflow-y: auto; padding: 22px; background: linear-gradient(180deg, #f7f8ff, #f1f4fd); }
.v2-chat-shell__foot { padding: 14px 18px 18px; border-top: 1px solid var(--v2-line); }
.v2-chat-shell .v2-msg__bubble { background: var(--v2-surface); box-shadow: 0 8px 20px -16px rgba(20, 30, 90, .6); }
.v2-chat-shell .v2-msg--me .v2-msg__bubble { background: linear-gradient(135deg, #5b77f5, #4a5de0); }
.v2-chat-shell .v2-typing { background: var(--v2-surface); }
.v2-chat-topics { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.v2-chat-topics span { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 10px; background: var(--v2-surface-2); font-size: 12.5px; font-weight: 700; }
.v2-composer { display: flex; gap: 10px; align-items: flex-end; }
.v2-composer textarea.form-control { min-height: 50px; max-height: 150px; resize: none; border-radius: 16px; }
.v2-composer .v2-btn--icon { width: 50px; height: 50px; border-radius: 16px; flex-shrink: 0; }
.chat-message { animation: v2-fade-up .35s ease-out; }
@keyframes v2-fade-up { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes shake { 0%, 100% { transform: translateX(0); } 20%, 60% { transform: translateX(-5px); } 40%, 80% { transform: translateX(5px); } }
button.v2-chip { border: 0; }
@media (max-width: 767.98px) { .v2-chat-shell { height: calc(100svh - 170px); min-height: 460px; border-radius: 22px; } .v2-chat-shell__body { padding: 14px; } .v2-msg { max-width: 94%; } .v2-composer textarea.form-control { font-size: 16px; } }
[data-bs-theme="dark"] .v2-chat-shell__body { background: #121840; }
.v2-mode-card { width: 100%; border: 0; border-radius: 20px; padding: 22px 16px; color: #fff; display: flex; flex-direction: column; align-items: center; gap: 4px; transition: transform .15s, box-shadow .15s; box-shadow: 0 16px 30px -18px rgba(20, 30, 90, .8); }
.v2-mode-card:hover { transform: translateY(-3px); }
.v2-mode-card > i { font-size: 28px; margin-bottom: 6px; }
.v2-mode-card b { font-size: 17px; }
.v2-mode-card small { opacity: .85; }
.v2-numbered li > div > span { color: var(--v2-text); font-weight: 600; }
/* Sesli mülakat */
.microphone-btn { width: 96px; height: 96px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 34px; color: #fff; margin: 0 auto; cursor: pointer; transition: transform .2s, box-shadow .2s; background: linear-gradient(135deg, #5b77f5, #4a5de0); box-shadow: 0 18px 34px -14px rgba(58, 80, 207, .8); }
.microphone-btn:hover { transform: scale(1.06); }
.microphone-btn.connecting { background: linear-gradient(135deg, #f7d64a, #ecb91f); box-shadow: 0 0 0 10px rgba(236, 185, 31, .18); }
.microphone-btn.connected { background: linear-gradient(135deg, #4fd293, #1fae6c); box-shadow: 0 0 0 10px rgba(34, 181, 115, .18); }
.microphone-btn.speaking { background: linear-gradient(135deg, #6d8dff, #3f5ee6); box-shadow: 0 0 0 14px rgba(74, 99, 231, .18); }
.voice-status.connecting .microphone-btn { animation: v2-pulse 2s infinite; }
.voice-status.connected .microphone-btn { animation: v2-glow 2s infinite alternate; }
.voice-status.speaking .microphone-btn { animation: v2-pulse 1s infinite; }
@keyframes v2-pulse { 50% { transform: scale(1.08); } }
@keyframes v2-glow { to { box-shadow: 0 0 0 16px rgba(34, 181, 115, .12); } }
.connection-status { padding: 9px 16px; border-radius: 12px; font-size: 13.5px; font-weight: 700; text-align: center; }
.status-disconnected { background: #fdeeee; color: #d24a4e; }
.status-connecting { background: #fff4d6; color: #a97a00; }
.status-connected { background: #e6f8ef; color: #179a5e; }
.v2-voice-stage { display: flex; align-items: center; justify-content: center; min-height: 440px; padding: 30px 20px; background: radial-gradient(circle at 50% 35%, #eef1ff, transparent 60%); }
.v2-voice-stage__orb { width: 150px; height: 150px; border-radius: 50%; margin: 0 auto 22px; display: flex; align-items: center; justify-content: center; background: var(--v2-surface); box-shadow: 0 0 0 14px rgba(74, 99, 231, .08), 0 0 0 30px rgba(74, 99, 231, .04), var(--v2-shadow); }
.v2-voice-stage__icon { font-size: 46px; }
.v2-avatar-stack { display: flex; }
.v2-avatar-stack > * { border: 2px solid var(--v2-surface); margin-left: -8px; }
.v2-avatar-stack > *:first-child { margin-left: 0; }
.v2-dot-live { width: 10px; height: 10px; border-radius: 50%; background: #22b573; box-shadow: 0 0 0 4px rgba(34, 181, 115, .2); display: inline-block; }
/* ---------- CV oluşturucu ---------- */
.v2-cv { padding-bottom: 90px; }
.v2-cv .v2-panel + .v2-panel { margin-top: 22px; }
.v2-cv .v2-repeat-item .row { --bs-gutter-y: 12px; }
.v2-cv .v2-repeat-item .mb-4, .v2-cv .v2-repeat-item .mb-5 { margin-bottom: 0 !important; }
.v2-cv [data-repeater-list] { margin-bottom: 12px; }
.v2-cv-score { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; padding: 22px 26px; border-radius: var(--v2-radius-xl); color: #fff; box-shadow: var(--v2-shadow); background: radial-gradient(400px 220px at 100% 0%, rgba(255,255,255,.22), transparent 60%), linear-gradient(135deg, #9a63f6, #4a5de0); }
.v2-cv-score b { display: block; font-size: 18px; }
.v2-cv-score span { opacity: .85; font-size: 14px; }
.v2-score-big { font-size: 72px; font-weight: 800; line-height: 1; background: linear-gradient(135deg, #7a45e6, #4a5de0); -webkit-background-clip: text; background-clip: text; color: transparent; }
.cv-action-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1025; padding: 12px 0; background: rgba(35, 48, 150, .88); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: 0 -12px 30px -18px rgba(0, 0, 0, .6); animation: v2-slide-up .4s ease-out; }
@keyframes v2-slide-up { from { transform: translateY(100%); } to { transform: none; } }
.cv-action-content { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.cv-action-content .v2-btn { min-width: 180px; }
@media (max-width: 575.98px) { .cv-action-content .v2-btn { flex: 1; min-width: 0; padding: 14px 12px; } }
.cv-download-modal { position: fixed; inset: 0; z-index: 1060; display: none; align-items: center; justify-content: center; padding: 16px; }
.cv-download-modal.active { display: flex; }
.cv-download-overlay { position: absolute; inset: 0; background: rgba(11, 18, 80, .6); backdrop-filter: blur(4px); }
.cv-download-content { position: relative; width: 100%; max-width: 560px; max-height: 90vh; overflow-y: auto; background: var(--v2-surface); border-radius: 28px; padding: 30px; box-shadow: 0 40px 80px -30px rgba(5, 10, 60, .8); }
.cv-download-close { position: absolute; top: 16px; right: 16px; width: 38px; height: 38px; border-radius: 12px; border: 0; background: var(--v2-surface-2); color: var(--v2-muted); }
.cv-download-close:hover { color: #d9585b; }
.cv-download-header { text-align: center; margin-bottom: 18px; }
.cv-download-header h2 { font-weight: 800; font-size: 24px; margin: 14px 0 4px; color: var(--v2-text); }
.cv-download-header p { color: var(--v2-muted); margin: 0; }
.cv-download-privacy { margin-bottom: 16px; }
.cv-download-privacy-label { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 16px; background: #fff6dc; cursor: pointer; margin: 0; }
.cv-download-privacy-label input { width: 18px; height: 18px; margin-top: 3px; accent-color: #4a63e7; flex-shrink: 0; }
.cv-download-privacy-label strong { display: block; color: var(--v2-text); }
.cv-download-privacy-label small { color: #6b4f00; }
.cv-download-languages { display: grid; gap: 10px; }
.cv-language-card { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 18px; background: var(--v2-surface-2); text-decoration: none; color: var(--v2-text); transition: .15s; border: 1.5px solid transparent; }
.cv-language-card:hover { border-color: #8ea0ff; background: #f5f7ff; color: var(--v2-text); transform: translateY(-1px); }
.cv-language-flag img { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; }
.cv-language-info { flex: 1; }
.cv-language-info h3 { font-size: 16px; font-weight: 800; margin: 0; }
.cv-language-info p { margin: 0; font-size: 12.5px; color: var(--v2-muted); }
.cv-language-icon { width: 40px; height: 40px; border-radius: 12px; background: linear-gradient(135deg, #5b77f5, #4a5de0); color: #fff; display: inline-flex; align-items: center; justify-content: center; }
/* İş ilanları */
.v2-job { background: var(--v2-surface); border-radius: 24px; box-shadow: var(--v2-shadow); overflow: hidden; height: 100%; display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s; }
.v2-job:hover { transform: translateY(-4px); box-shadow: 0 28px 50px -24px rgba(12, 20, 80, .6); }
.v2-job__media { position: relative; display: block; height: 176px; overflow: hidden; background: linear-gradient(135deg, #6d8dff, #9a63f6); }
.v2-job__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.v2-job:hover .v2-job__media img { transform: scale(1.05); }
.v2-job__placeholder { display: flex; align-items: center; justify-content: center; height: 100%; color: rgba(255,255,255,.6); font-size: 48px; }
.v2-job__tags { position: absolute; top: 12px; display: flex; flex-direction: column; gap: 4px; }
.v2-job__tags--start { left: 12px; align-items: flex-start; }
.v2-job__tags--end { right: 12px; align-items: flex-end; }
.v2-job__tags .v2-badge { box-shadow: 0 6px 14px -8px rgba(0,0,0,.5); }
.v2-job__type { position: absolute; left: 12px; bottom: 12px; padding: 5px 11px; border-radius: 999px; background: rgba(15, 20, 60, .6); backdrop-filter: blur(6px); color: #fff; font-size: 12px; font-weight: 700; }
.v2-job__body { padding: 18px 20px 20px; display: flex; flex-direction: column; flex: 1; }
.v2-job__title { font-size: 17px; font-weight: 800; margin: 0 0 4px; line-height: 1.35; }
.v2-job__title a { color: var(--v2-text); text-decoration: none; }
.v2-job__title a:hover { color: #3a50cf; }
.v2-job__loc { color: var(--v2-muted); font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.v2-job__desc { color: var(--v2-muted); font-size: 14px; min-height: 42px; margin-bottom: 12px; }
.v2-job__meta { display: flex; justify-content: space-between; color: var(--v2-muted); font-size: 12.5px; font-weight: 600; margin-top: auto; }
.v2-job__meta span:last-child { color: #4a63e7; }
.v2-lock__title { font-weight: 800; font-size: clamp(1.5rem, 2.6vw, 2.1rem); line-height: 1.3; margin-bottom: 14px; }
.v2-lock__title span { background: linear-gradient(90deg, #5b77f5, #9a63f6); -webkit-background-clip: text; background-clip: text; color: transparent; }
.v2-feature-tile { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 16px; background: var(--v2-surface-2); font-weight: 700; font-size: 14px; height: 100%; }
@media (min-width: 992px) { #v2JobFilter.collapse:not(.show) { display: block; } }
.cv-download-content { margin: auto; }
.v2-info-tile { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 16px; background: var(--v2-surface-2); height: 100%; }
.v2-info-tile small { display: block; color: var(--v2-muted); font-size: 12px; font-weight: 600; }
.v2-info-tile b { display: block; color: var(--v2-text); font-size: 14.5px; }
.v2-richtext { padding: 18px 20px; border-radius: 18px; background: var(--v2-surface-2); line-height: 1.7; overflow-wrap: anywhere; }
.v2-richtext img { max-width: 100%; height: auto; border-radius: 12px; }
.v2-richtext table { width: 100%; }
.v2-job-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 18px; }
.v2-job-stats > div { text-align: center; padding: 14px; border-radius: 16px; background: var(--v2-surface-2); }
.v2-job-stats i { color: #4a63e7; display: block; margin-bottom: 4px; }
.v2-job-stats b { display: block; font-size: 22px; font-weight: 800; }
.v2-job-stats small { color: var(--v2-muted); font-weight: 600; font-size: 12.5px; }
.v2-switch-card.form-check { padding-left: 16px; } .v2-switch-card .form-check-input { margin: 0 12px 0 0; float: none; flex-shrink: 0; } .v2-switch-card .form-check-label { font-size: 13.5px; }
.v2-panel__foot-plain { border-top: 1px solid var(--v2-line); padding-top: 16px; margin-top: 16px; }
.v2-fs-xl { font-size: 2rem; } .v2-soft-primary { background: #eef1ff; } .v2-soft-success { background: #e6f8ef; } .v2-soft-danger { background: #fdeeee; } .v2-soft-warning { background: #fff6dc; } .v2-soft-info { background: #f3edff; }
.v2-status-tile { display: flex; align-items: center; gap: 12px; padding: 14px; border-radius: 18px; background: color-mix(in srgb, var(--c) 9%, #fff); border: 1.5px dashed color-mix(in srgb, var(--c) 30%, #fff); height: 100%; }
.v2-status-tile b { display: block; font-size: 14px; } .v2-status-tile small { color: var(--v2-muted); font-size: 12px; }
.v2-status-tile__n { font-size: 24px; font-weight: 800; color: var(--c); }
.v2-offcanvas { width: min(420px, 92vw) !important; border: 0 !important; border-radius: 26px 0 0 26px; font-family: var(--v2-font); }
.v2-offcanvas .offcanvas-header { border-bottom: 1px solid var(--v2-line); padding: 18px 22px; }
.v2-offcanvas .offcanvas-body { padding: 20px 22px; }
.offcanvas-backdrop.show { opacity: .5; background: #0b1250; }
.v2-perm-list { max-height: 900px; overflow-y: auto; margin: 0 -6px; padding: 0 6px; }
.v2-perm { display: flex; align-items: flex-start; gap: 12px; padding: 10px 12px; border-radius: 14px; transition: background .12s; }
.v2-perm:hover { background: var(--v2-surface-2); }
.v2-perm .form-check { padding: 0; min-height: 0; margin-top: 2px; }
.v2-perm .form-check-input { margin: 0; float: none; }
.v2-perm__text { color: var(--v2-text); font-weight: 700; font-size: 14px; text-decoration: none; word-break: break-word; }
.v2-perm__text:hover { color: #3a50cf; }
.v2-perm__text .v2-badge { padding: 3px 8px; font-size: 11px; }
.v2-perm__desc { color: var(--v2-muted); font-size: 12px; font-weight: 500; margin-top: 2px; }
.v2-check-inline { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 600; cursor: pointer; margin: 0; white-space: nowrap; }
.v2-check-inline .form-check-input { margin: 0; flex-shrink: 0; }
.v2-profile-head { display: flex; gap: 22px; align-items: flex-start; }
@media (max-width: 575.98px) { .v2-profile-head { flex-direction: column; } }
.v2-total-row { display: flex; justify-content: flex-end; gap: 18px; padding: 14px 14px 0; margin-top: 8px; border-top: 1px solid var(--v2-line); font-weight: 800; }
.v2-total-row span { color: var(--v2-muted); margin-right: auto; }
.v2-panel > .v2-tabs:last-child { margin-bottom: 0; }
.v2-error { flex: 1; display: flex; align-items: center; justify-content: center; padding: 20px 16px 60px; }
.v2-error__card { position: relative; width: 100%; max-width: 560px; text-align: center; background: var(--v2-surface); border-radius: 32px; padding: 48px 32px 36px; box-shadow: 0 40px 80px -30px rgba(5, 10, 60, .7); overflow: hidden; }
.v2-error__code { position: absolute; top: -18px; left: 50%; transform: translateX(-50%); font-size: 170px; font-weight: 800; line-height: 1; color: #eef1ff; z-index: 0; letter-spacing: -.05em; pointer-events: none; }
.v2-error__card > *:not(.v2-error__code) { position: relative; z-index: 1; }
.v2-error__card h1 { font-weight: 800; font-size: 28px; color: var(--v2-text); margin-bottom: 8px; }
.v2-error__card p { color: var(--v2-muted); font-size: 16px; margin-bottom: 24px; }
.v2-shortcuts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; padding: 4px 8px 8px; }
.v2-shortcut { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px 4px; border-radius: 14px; text-decoration: none; color: var(--v2-ink); font-size: 12px; font-weight: 700; }
.v2-shortcut:hover { background: #f1f4ff; color: #3a50cf; }
.v2-shortcut img { width: 24px; height: 24px; object-fit: contain; }
.v2-user__menu { max-height: calc(100vh - 110px); overflow-y: auto; }
.v2-grad-pink { background: linear-gradient(150deg, #f58ab8, #e25797); color: #fff; }
.v2-grad-teal { background: linear-gradient(150deg, #3fd1c2, #16a596); color: #fff; }
@media (max-width: 767.98px) {
    .v2-pagehead { padding: 8px 0 18px; }
    .v2-pagehead__kicker { letter-spacing: .1em; font-size: 10.5px; margin-bottom: 6px; }
    .v2-pagehead__kicker li:not(:first-child):not(:last-child) { display: none; }
    .v2-pagehead__actions { width: 100%; }
    .v2-cv-score .v2-ico--lg { width: 46px; height: 46px; font-size: 19px; }
    .v2-cv-score .v2-btn { width: 100%; }
}
