/* =============================================================================
   YBK360 — tasarim sistemi
   -----------------------------------------------------------------------------
   Kurumsal, sakin, yogun veri icin okunakli. Bootstrap 5 uzerine kendi
   degiskenlerimizle. Yazi tipi: Inter (metin), JetBrains Mono (kod/UY kodu).
   Renk: petrol lacivert marka + tek bir altin vurgu (muhur/belge cagrisimi),
   geri kalan her sey notr gri. Kalin golgeler, mavi degrade, buyuk rozetler yok.
   ============================================================================= */

:root {
    /* marka */
    --ybk-ink:         #172033;
    --ybk-ink-2:       #3b4757;
    --ybk-muted:       #6b7684;
    --ybk-faint:       #98a2b0;
    --ybk-brand:       #1b3a5c;
    --ybk-brand-hover: #16304c;
    --ybk-brand-soft:  #e9eff6;
    --ybk-gold:        #b8860b;
    --ybk-gold-soft:   #fbf3dc;

    /* yuzeyler */
    --ybk-bg:          #f5f6f8;
    --ybk-surface:     #ffffff;
    --ybk-surface-2:   #fafbfc;
    --ybk-border:      #e3e7ec;
    --ybk-border-2:    #d3d9e0;

    /* durum (yumusak) */
    --ybk-ok:      #1f7a4d;  --ybk-ok-soft:      #e6f4ec;
    --ybk-warn:    #9a6b00;  --ybk-warn-soft:    #fff4d6;
    --ybk-danger:  #b42318;  --ybk-danger-soft:  #fdecea;
    --ybk-info:    #1b5e8a;  --ybk-info-soft:    #e7f1f8;

    --ybk-radius:    10px;
    --ybk-radius-sm: 6px;
    --ybk-sidebar-w: 256px;
    --ybk-topbar-h:  56px;

    --ybk-font: "Inter", -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --ybk-mono: "JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;

    /* Bootstrap kopruleri */
    --bs-body-font-family: var(--ybk-font);
    --bs-body-font-size: 0.9rem;
    --bs-body-color: var(--ybk-ink);
    --bs-body-bg: var(--ybk-bg);
    --bs-border-color: var(--ybk-border);
    --bs-link-color: var(--ybk-brand);
    --bs-link-hover-color: var(--ybk-brand-hover);
    --bs-primary: var(--ybk-brand);
    --bs-primary-rgb: 27, 58, 92;
    --bs-font-monospace: var(--ybk-mono);
}

html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { background: var(--ybk-bg); color: var(--ybk-ink); font-family: var(--ybk-font); font-size: 0.9rem; line-height: 1.5; }

code, kbd, pre, .ybk-mono { font-family: var(--ybk-mono); font-size: 0.82em; color: var(--ybk-brand); background: transparent; }
a { text-decoration: none; }
a:hover { text-decoration: underline; }

/* ------------------------------------------------------------- bootstrap ust */

.btn { border-radius: var(--ybk-radius-sm); font-weight: 500; }
.btn-primary { --bs-btn-bg: var(--ybk-brand); --bs-btn-border-color: var(--ybk-brand); --bs-btn-hover-bg: var(--ybk-brand-hover); --bs-btn-hover-border-color: var(--ybk-brand-hover); --bs-btn-active-bg: var(--ybk-brand-hover); }
.btn-outline-primary { --bs-btn-color: var(--ybk-brand); --bs-btn-border-color: var(--ybk-border-2); --bs-btn-hover-bg: var(--ybk-brand-soft); --bs-btn-hover-color: var(--ybk-brand); --bs-btn-hover-border-color: var(--ybk-brand); }
.btn-outline-secondary { --bs-btn-color: var(--ybk-ink-2); --bs-btn-border-color: var(--ybk-border-2); --bs-btn-hover-bg: var(--ybk-surface-2); --bs-btn-hover-color: var(--ybk-ink); --bs-btn-hover-border-color: var(--ybk-border-2); }
.btn-outline-danger { --bs-btn-color: var(--ybk-danger); --bs-btn-border-color: var(--ybk-border-2); --bs-btn-hover-bg: var(--ybk-danger-soft); --bs-btn-hover-color: var(--ybk-danger); --bs-btn-hover-border-color: var(--ybk-danger); }
.btn-outline-warning { --bs-btn-color: var(--ybk-warn); --bs-btn-border-color: var(--ybk-border-2); --bs-btn-hover-bg: var(--ybk-warn-soft); --bs-btn-hover-color: var(--ybk-warn); --bs-btn-hover-border-color: var(--ybk-warn); }
.btn-outline-success { --bs-btn-color: var(--ybk-ok); --bs-btn-border-color: var(--ybk-border-2); --bs-btn-hover-bg: var(--ybk-ok-soft); --bs-btn-hover-color: var(--ybk-ok); --bs-btn-hover-border-color: var(--ybk-ok); }
.btn-warning { --bs-btn-bg: var(--ybk-gold); --bs-btn-border-color: var(--ybk-gold); --bs-btn-color: #fff; --bs-btn-hover-bg: #9d7209; --bs-btn-hover-border-color: #9d7209; --bs-btn-hover-color: #fff; }

.form-control, .form-select { border-color: var(--ybk-border-2); border-radius: var(--ybk-radius-sm); font-size: 0.88rem; }
.form-control:focus, .form-select:focus { border-color: var(--ybk-brand); box-shadow: 0 0 0 3px rgba(27, 58, 92, 0.12); }
.form-label { font-size: 0.78rem; font-weight: 600; color: var(--ybk-ink-2); margin-bottom: 0.3rem; letter-spacing: 0.01em; }
.form-text { font-size: 0.75rem; color: var(--ybk-muted); }
.form-check-input:checked { background-color: var(--ybk-brand); border-color: var(--ybk-brand); }

/* kartlar: golge yok, ince kenar, sakin baslik */
.card { border: 1px solid var(--ybk-border); border-radius: var(--ybk-radius); background: var(--ybk-surface); box-shadow: none; }
.card-header { background: transparent; border-bottom: 1px solid var(--ybk-border); padding: 0.7rem 1rem; font-size: 0.76rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ybk-muted); }
.card-header .badge, .card-header .btn { text-transform: none; letter-spacing: 0; }
.card-footer { background: var(--ybk-surface-2); border-top: 1px solid var(--ybk-border); font-size: 0.78rem; color: var(--ybk-muted); }
.card-body { padding: 1rem; }

/* tablolar: yogun ama okunakli */
.table { --bs-table-color: var(--ybk-ink); --bs-table-hover-bg: var(--ybk-surface-2); margin-bottom: 0; font-size: 0.86rem; }
.table > thead th { font-size: 0.71rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ybk-muted); border-bottom: 1px solid var(--ybk-border-2); background: var(--ybk-surface-2); padding: 0.55rem 0.75rem; white-space: nowrap; }
.table > tbody td { padding: 0.6rem 0.75rem; border-color: var(--ybk-border); vertical-align: middle; }
.table-sm > tbody td { padding: 0.4rem 0.6rem; }
.table-danger { --bs-table-bg: #fff5f4; --bs-table-color: var(--ybk-ink); }
.table-light { --bs-table-bg: var(--ybk-surface-2); }
.table-warning { --bs-table-bg: #fffaeb; }

/* rozetler: yumusak arka plan + koyu metin, buyuk harf yok */
.badge { font-weight: 600; font-size: 0.7rem; padding: 0.28em 0.55em; border-radius: 999px; letter-spacing: 0.01em; }
.badge.text-bg-primary   { background: var(--ybk-brand-soft) !important; color: var(--ybk-brand) !important; }
.badge.text-bg-success   { background: var(--ybk-ok-soft) !important;    color: var(--ybk-ok) !important; }
.badge.text-bg-warning   { background: var(--ybk-warn-soft) !important;  color: var(--ybk-warn) !important; }
.badge.text-bg-danger    { background: var(--ybk-danger-soft) !important;color: var(--ybk-danger) !important; }
.badge.text-bg-info      { background: var(--ybk-info-soft) !important;  color: var(--ybk-info) !important; }
.badge.text-bg-secondary { background: #eef1f4 !important;               color: var(--ybk-ink-2) !important; }
.badge.text-bg-dark      { background: var(--ybk-ink) !important;        color: #fff !important; }
.badge.text-bg-light     { background: var(--ybk-surface-2) !important;  color: var(--ybk-muted) !important; border: 1px solid var(--ybk-border); }

.alert { border-radius: var(--ybk-radius); border-width: 1px; font-size: 0.86rem; }
.alert-info    { --bs-alert-bg: var(--ybk-info-soft);   --bs-alert-color: #123f5d; --bs-alert-border-color: #cfe1ee; }
.alert-warning { --bs-alert-bg: var(--ybk-warn-soft);   --bs-alert-color: #6b4a00; --bs-alert-border-color: #f1dfa6; }
.alert-danger  { --bs-alert-bg: var(--ybk-danger-soft); --bs-alert-color: #7a1710; --bs-alert-border-color: #f5c6c1; }
.alert-success { --bs-alert-bg: var(--ybk-ok-soft);     --bs-alert-color: #145235; --bs-alert-border-color: #bfe3cf; }

.breadcrumb { font-size: 0.78rem; margin-bottom: 0.75rem; }
.breadcrumb-item + .breadcrumb-item::before { color: var(--ybk-faint); }
.breadcrumb-item.active { color: var(--ybk-muted); }

.nav-tabs { border-bottom-color: var(--ybk-border-2); }
.nav-tabs .nav-link { color: var(--ybk-muted); font-weight: 500; font-size: 0.86rem; border: 0; border-bottom: 2px solid transparent; padding: 0.55rem 0.9rem; }
.nav-tabs .nav-link:hover { color: var(--ybk-ink); border-bottom-color: var(--ybk-border-2); }
.nav-tabs .nav-link.active { color: var(--ybk-brand); background: transparent; border-bottom-color: var(--ybk-brand); }

.list-group-item { border-color: var(--ybk-border); font-size: 0.86rem; }
.list-group-item.active { background: var(--ybk-brand-soft); border-color: var(--ybk-border); color: var(--ybk-ink); }
.list-group-item.active .text-muted { color: var(--ybk-ink-2) !important; }

dl.row dt { font-size: 0.76rem; font-weight: 600; color: var(--ybk-muted); }
dl.row dd { margin-bottom: 0.45rem; }

.text-muted { color: var(--ybk-muted) !important; }

/* ------------------------------------------------------------------- marka */

.ybk-logo { display: inline-flex; align-items: center; gap: 0.5rem; font-weight: 700; font-size: 1.05rem; letter-spacing: -0.01em; color: var(--ybk-ink); }
.ybk-logo::before { content: ""; width: 22px; height: 22px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #e8c15a, var(--ybk-gold) 70%); box-shadow: inset 0 0 0 3px #fff, 0 0 0 1px var(--ybk-gold); flex-shrink: 0; }
.ybk-logo span { color: var(--ybk-gold); font-weight: 600; }
.ybk-logo-lg { font-size: 1.6rem; }
.ybk-logo-lg::before { width: 32px; height: 32px; }

/* ---------------------------------------------------------------- ust cubuk */

.ybk-topbar { position: sticky; top: 0; z-index: 1030; height: var(--ybk-topbar-h); background: var(--ybk-surface); border-bottom: 1px solid var(--ybk-border); }
.ybk-topbar-inner { height: 100%; display: flex; align-items: center; gap: 1rem; padding: 0 1.1rem; }
.ybk-brand { flex-shrink: 0; }
.ybk-brand:hover { text-decoration: none; }
.ybk-topbar-tenant { display: flex; align-items: center; gap: 0.6rem; min-width: 0; flex: 1 1 auto; padding-left: 1rem; border-left: 1px solid var(--ybk-border); }
.ybk-tenant-name { font-weight: 600; color: var(--ybk-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 0.9rem; }
.ybk-mode-badge { font-size: 0.66rem; }
.ybk-topbar-right { display: flex; align-items: center; gap: 0.75rem; flex-shrink: 0; }
.ybk-user { font-size: 0.84rem; color: var(--ybk-ink-2); }
.ybk-topbar .btn-outline-light { --bs-btn-color: var(--ybk-ink-2); --bs-btn-border-color: var(--ybk-border-2); --bs-btn-hover-bg: var(--ybk-surface-2); --bs-btn-hover-color: var(--ybk-ink); --bs-btn-hover-border-color: var(--ybk-border-2); }

/* platform ust menusu (kenar cubugu olmayan yerlesim) */
.ybk-navbar { background: var(--ybk-surface); border-bottom: 1px solid var(--ybk-border); box-shadow: none; min-height: var(--ybk-topbar-h); }
.ybk-navbar .navbar-brand { color: var(--ybk-ink); }
.ybk-navbar .nav-link { color: var(--ybk-ink-2); font-weight: 500; font-size: 0.88rem; padding: 0.5rem 0.75rem; border-radius: var(--ybk-radius-sm); }
.ybk-navbar .nav-link:hover { color: var(--ybk-ink); background: var(--ybk-surface-2); }
.ybk-navbar .nav-link.active { color: var(--ybk-brand); background: var(--ybk-brand-soft); }
.ybk-navbar .ybk-user { color: var(--ybk-ink-2); }
.ybk-navbar .btn-outline-light { --bs-btn-color: var(--ybk-ink-2); --bs-btn-border-color: var(--ybk-border-2); --bs-btn-hover-bg: var(--ybk-surface-2); --bs-btn-hover-color: var(--ybk-ink); --bs-btn-hover-border-color: var(--ybk-border-2); }
.ybk-navbar .navbar-toggler { border-color: var(--ybk-border-2); }
.ybk-navbar .badge.text-bg-dark { background: var(--ybk-ink) !important; color: #fff !important; }

/* -------------------------------------------------------- kurulus yerlesimi */

.ybk-shell { display: flex; min-height: calc(100vh - var(--ybk-topbar-h)); background: var(--ybk-bg); }
.ybk-main { flex: 1 1 auto; min-width: 0; padding: 1.4rem 1.8rem 2.5rem; max-width: none; }
.ybk-main-footer { margin-top: 2.5rem; padding-top: 0.75rem; border-top: 1px solid var(--ybk-border); font-size: 0.74rem; color: var(--ybk-faint); }

/* kenar cubugu — SOLDA */
@media (min-width: 992px) {
    .ybk-sidebar { flex: 0 0 var(--ybk-sidebar-w); width: var(--ybk-sidebar-w); position: sticky; top: var(--ybk-topbar-h); height: calc(100vh - var(--ybk-topbar-h)); overflow-y: auto; background: var(--ybk-surface); border-right: 1px solid var(--ybk-border); order: 0; }
    .ybk-main { order: 1; }
    .ybk-sidebar-body { padding: 0.9rem 0.6rem 2rem; }
}
@media (max-width: 991.98px) {
    .ybk-sidebar { width: min(86vw, 330px); }
    .ybk-sidebar-body { padding: 0.5rem 0.6rem 2rem; }
    .ybk-sidebar-user { padding: 0.5rem 0.6rem 1rem; border-bottom: 1px solid var(--ybk-border); margin-bottom: 0.5rem; }
}

.ybk-nav { display: flex; flex-direction: column; gap: 1px; }
.ybk-nav-group { display: flex; align-items: center; gap: 0.65rem; width: 100%; padding: 0.5rem 0.7rem; border: 0; border-radius: var(--ybk-radius-sm); background: transparent; color: var(--ybk-ink-2); font-size: 0.86rem; font-weight: 500; text-align: left; cursor: pointer; min-height: 40px; }
.ybk-nav-group:hover { background: var(--ybk-surface-2); color: var(--ybk-ink); text-decoration: none; }
.ybk-nav-group.active { color: var(--ybk-brand); font-weight: 600; }
.ybk-nav-group .bi:first-child { font-size: 1rem; width: 1.2rem; text-align: center; color: var(--ybk-faint); }
.ybk-nav-group.active .bi:first-child { color: var(--ybk-brand); }
.ybk-nav-group span { flex: 1 1 auto; }
.ybk-nav-caret { font-size: 0.65rem; color: var(--ybk-faint); transition: transform 0.15s; }
.ybk-nav-group:not(.collapsed) .ybk-nav-caret { transform: rotate(180deg); }
.ybk-nav-items { list-style: none; margin: 0 0 0.35rem; padding: 0.1rem 0 0.1rem 1.85rem; border-left: 1px solid var(--ybk-border); margin-left: 1.25rem; }
.ybk-nav-items li a, .ybk-nav-items li .ybk-nav-soon { display: flex; align-items: center; gap: 0.5rem; padding: 0.38rem 0.6rem; border-radius: var(--ybk-radius-sm); font-size: 0.83rem; color: var(--ybk-ink-2); min-height: 34px; }
.ybk-nav-items li a:hover { background: var(--ybk-surface-2); color: var(--ybk-ink); text-decoration: none; }
.ybk-nav-items li a.active { background: var(--ybk-brand-soft); color: var(--ybk-brand); font-weight: 600; }
.ybk-nav-soon { color: var(--ybk-faint); cursor: default; }
.ybk-nav-soon small { margin-left: auto; font-size: 0.62rem; padding: 0.05rem 0.4rem; border: 1px dashed var(--ybk-border-2); border-radius: 999px; color: var(--ybk-faint); }
.ybk-nav-single.active { background: var(--ybk-brand-soft); }

/* ------------------------------------------------------------------- sayfa */

.ybk-page-title { font-size: 1.25rem; font-weight: 600; letter-spacing: -0.01em; margin-bottom: 1rem; color: var(--ybk-ink); }
.ybk-page-title .clause-ref { vertical-align: middle; margin-left: 0.35rem; }

.ybk-stat { background: var(--ybk-surface); border: 1px solid var(--ybk-border); border-radius: var(--ybk-radius); padding: 0.9rem 1rem; height: 100%; }
a.ybk-stat-link { display: block; color: inherit; transition: border-color 0.15s; }
a.ybk-stat-link:hover { border-color: var(--ybk-brand); text-decoration: none; }
.ybk-stat-value { font-size: 1.7rem; font-weight: 600; letter-spacing: -0.02em; line-height: 1.1; color: var(--ybk-ink); font-variant-numeric: tabular-nums; }
.ybk-stat-label { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ybk-muted); margin-top: 0.35rem; }
.ybk-stat-hint { font-size: 0.76rem; color: var(--ybk-faint); margin-top: 0.15rem; }

.clause-ref { display: inline-block; font-family: var(--ybk-mono); font-size: 0.68rem; padding: 0.08rem 0.4rem; border-radius: 4px; background: var(--ybk-gold-soft); color: #7a5a06; border: 1px solid #ecd9a3; white-space: nowrap; text-transform: none; letter-spacing: 0; font-weight: 500; }

/* ------------------------------------------------------------ organizasyon */

.ybk-org-node { position: relative; padding-left: 0.75rem; border-left: 2px solid var(--ybk-border); margin-top: 0.5rem; }
.ybk-org-card { background: var(--ybk-surface); border: 1px solid var(--ybk-border); border-radius: var(--ybk-radius-sm); padding: 0.6rem 0.8rem; }
.ybk-org-card.ybk-org-empty { border-style: dashed; background: var(--ybk-gold-soft); }

/* ------------------------------------------------------------------- giris */

.ybk-auth-body { background: var(--ybk-bg); min-height: 100vh; }
.ybk-auth-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 1.5rem; }
.ybk-auth-card { background: var(--ybk-surface); border: 1px solid var(--ybk-border); border-radius: 14px; padding: 2.25rem 2rem; width: 100%; max-width: 400px; }
.ybk-auth-head { text-align: center; margin-bottom: 1.5rem; }
.ybk-auth-head .ybk-logo { justify-content: center; }
.ybk-auth-sub { color: var(--ybk-muted); margin: 0.5rem 0 0.5rem; font-size: 0.88rem; }
.ybk-auth-foot { margin: 1.25rem 0 0; text-align: center; font-size: 0.72rem; color: var(--ybk-faint); }

/* -------------------------------------------------------------------- hata */

.ybk-error-body { background: var(--ybk-bg); font-family: var(--ybk-font); color: var(--ybk-ink); margin: 0; }
.ybk-error { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 1.5rem; }
.ybk-error-code { font-size: 3.5rem; font-weight: 700; color: var(--ybk-brand); line-height: 1; letter-spacing: -0.03em; }
.ybk-error h1 { font-size: 1.2rem; margin: 0.75rem 0 0.5rem; font-weight: 600; }
.ybk-error p { color: var(--ybk-muted); max-width: 32rem; }
.ybk-error-link { margin-top: 1rem; color: var(--ybk-brand); }

.ybk-footer { border-top: 1px solid var(--ybk-border); background: var(--ybk-surface); padding: 0.75rem 0; font-size: 0.74rem; color: var(--ybk-faint); }

/* ============================================================== duyarlilik
   Tablolar kucuk ekranda KARTA donusur:  <table class="table ybk-stack">  +  <td data-label="...">
   ============================================================================ */

@media (max-width: 767.98px) {
    .ybk-stack thead { display: none; }
    .ybk-stack, .ybk-stack tbody, .ybk-stack tr, .ybk-stack td { display: block; width: 100%; }
    .ybk-stack tr { border: 1px solid var(--ybk-border); border-radius: var(--ybk-radius-sm); margin-bottom: 0.6rem; padding: 0.2rem 0; background: var(--ybk-surface); }
    .ybk-stack tr:last-child { margin-bottom: 0; }
    .ybk-stack td { border: 0; border-bottom: 1px solid #f0f2f5; padding: 0.45rem 0.75rem; text-align: left !important; display: flex; gap: 0.75rem; align-items: baseline; }
    .ybk-stack td:last-child { border-bottom: 0; }
    .ybk-stack td:empty { display: none; }
    .ybk-stack td::before { content: attr(data-label); flex: 0 0 38%; max-width: 38%; font-size: 0.7rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ybk-muted); }
    .ybk-stack td:not([data-label])::before { content: ""; display: none; }
    .ybk-stack td:not([data-label]) { justify-content: flex-end; }
    .ybk-stack td[data-label]:first-child { background: var(--ybk-surface-2); border-radius: var(--ybk-radius-sm) var(--ybk-radius-sm) 0 0; }
    .table-responsive { overflow-x: visible; }

    .ybk-page-title { font-size: 1.1rem; }
    .ybk-stat-value { font-size: 1.4rem; }
    .btn, .form-control, .form-select, .list-group-item-action { min-height: 44px; }
    .btn-sm { min-height: 38px; }
    dl.row dt, dl.row dd { width: 100%; max-width: 100%; flex: 0 0 100%; }
    dl.row dt { margin-bottom: 0.1rem; }
    dl.row dd { margin-bottom: 0.7rem; }
    .nav-tabs { flex-wrap: nowrap; overflow-x: auto; }
    .nav-tabs .nav-link { white-space: nowrap; }
    .card-body, .card-header, .card-footer { padding-left: 0.85rem; padding-right: 0.85rem; }
    .ybk-main, main.container-fluid { padding-left: 0.85rem; padding-right: 0.85rem; }
    .ybk-topbar-inner { padding: 0 0.85rem; }
    .ybk-topbar-tenant { padding-left: 0.6rem; }
}

@media (max-width: 400px) {
    .ybk-stack td { display: block; }
    .ybk-stack td::before { display: block; max-width: 100%; margin-bottom: 0.1rem; }
}

@media (min-width: 768px) {
    .ybk-sticky-head thead th { position: sticky; top: 0; z-index: 2; }
}

/* ---- Faz 3: program / soru bankasi ---- */
.ybk-subhead { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ybk-muted); border-bottom: 1px solid var(--ybk-border); padding-bottom: 0.3rem; margin-top: 0.5rem; }
.ybk-critical td:first-child { box-shadow: inset 3px 0 0 var(--bs-danger); }

/* ---- aramali acilir liste ---- */
/* (eski aramali liste stilleri kaldirildi; v2 dosya sonunda) */

/* ---- zengin metin editoru ---- */
.ybk-editor { border: 1px solid var(--ybk-border-2); border-radius: var(--ybk-radius-sm); background: var(--ybk-surface); }
.ybk-editor:focus-within { border-color: var(--ybk-brand); box-shadow: 0 0 0 3px rgba(27, 58, 92, 0.12); }
.ybk-editor-bar { display: flex; gap: 2px; padding: 3px 4px; border-bottom: 1px solid var(--ybk-border); background: var(--ybk-surface-2); border-radius: var(--ybk-radius-sm) var(--ybk-radius-sm) 0 0; }
.ybk-editor-btn { border: 0; background: transparent; border-radius: 4px; min-width: 28px; height: 26px; font-size: 0.8rem; color: var(--ybk-ink); cursor: pointer; }
.ybk-editor-btn:hover { background: #fff; box-shadow: inset 0 0 0 1px var(--ybk-border-2); }
.ybk-editor-area { border: 0 !important; box-shadow: none !important; min-height: 6rem; border-radius: 0 0 var(--ybk-radius-sm) var(--ybk-radius-sm); }
.ybk-editor-area:empty::before { content: attr(data-placeholder); color: var(--ybk-faint); }
.ybk-editor-area.is-readonly { background: var(--ybk-surface-2); }
.ybk-editor-area.is-invalid { box-shadow: inset 0 0 0 2px var(--bs-danger) !important; }
.ybk-editor-inline .ybk-editor-area { min-height: 2.4rem; padding: 0.4rem 0.6rem; }
.ybk-editor-inline .ybk-editor-bar { padding: 1px 3px; }
.ybk-editor-inline .ybk-editor-btn { height: 22px; min-width: 24px; font-size: 0.72rem; }
.ybk-editor p, .ybk-rich p { margin: 0 0 0.35rem; }
.ybk-editor p:last-child, .ybk-rich p:last-child { margin-bottom: 0; }
.ybk-rich u { text-decoration-thickness: 2px; }
.ybk-question-image { max-width: 100%; max-height: 420px; border: 1px solid var(--ybk-border); border-radius: var(--ybk-radius-sm); background: #fff; }

.input-group > .ybk-editor { flex: 1 1 auto; width: 1%; min-width: 0; border-top-left-radius: 0; border-bottom-left-radius: 0; }
.input-group > .ybk-editor .ybk-editor-area { border-radius: 0 0 var(--ybk-radius-sm) 0; }

/* Dokuman govdesi (Faz 10) */
.ybk-doc-body{line-height:1.6}.ybk-doc-body h1,.ybk-doc-body h2,.ybk-doc-body h3{font-size:1.05rem;margin:.9rem 0 .35rem}.ybk-doc-body table{width:100%;border-collapse:collapse;margin:.5rem 0}.ybk-doc-body td,.ybk-doc-body th{border:1px solid #cfd8e3;padding:.25rem .5rem}

/* Bildirim zili + yardim (Faz 11) */
.ybk-bell-count{position:absolute;top:-.35rem;right:-.35rem;font-size:.62rem}.ybk-bell-menu{width:22rem;max-width:92vw;padding:0}.ybk-bell-list{max-height:22rem;overflow:auto}.ybk-bell-list .dropdown-item{white-space:normal;border-bottom:1px solid var(--ybk-line,#e6ebf2)}
.ybk-help h2{font-size:1.15rem;margin-top:1.4rem;border-bottom:1px solid #e6ebf2;padding-bottom:.25rem}.ybk-help h3{font-size:1rem;margin-top:1rem}.ybk-help p,.ybk-help li{line-height:1.6}.ybk-help-note{padding:.6rem .8rem;margin:.6rem 0}.ybk-help-btn.badge{font-size:.75em;vertical-align:baseline}.ybk-help-code{background:#f4f6fa;padding:.6rem .8rem;border-radius:.4rem;font-size:.85rem}.ybk-help-img{max-width:100%;border:1px solid #e6ebf2;border-radius:.4rem;margin:.4rem 0}.ybk-rule{font-size:.85em;background:#fff6db;padding:0 .25rem;border-radius:.2rem}

/* ---------------------------------------------------------------- Pano (yenilenmis) */
.ybk-hero { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.ybk-hero-title { font-size: 1.45rem; font-weight: 600; letter-spacing: -0.01em; margin: 0; }
.ybk-hero-sub { color: var(--ybk-muted); font-size: 0.86rem; margin-top: 0.2rem; }
.ybk-hero-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.ybk-kpi { display: flex; align-items: center; gap: 0.9rem; background: var(--ybk-surface); border: 1px solid var(--ybk-border); border-radius: var(--ybk-radius); padding: 0.85rem 1rem; height: 100%; color: inherit; position: relative; overflow: hidden; transition: border-color .15s, transform .15s; }
.ybk-kpi::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--kpi, var(--ybk-brand)); }
a.ybk-kpi:hover { border-color: var(--kpi, var(--ybk-brand)); transform: translateY(-1px); text-decoration: none; color: inherit; }
.ybk-kpi-icon { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 10px; display: grid; place-items: center; font-size: 1.15rem; color: var(--kpi, var(--ybk-brand)); background: color-mix(in srgb, var(--kpi, var(--ybk-brand)) 12%, #fff); }
.ybk-kpi-value { font-size: 1.55rem; font-weight: 650; line-height: 1.05; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.ybk-kpi-label { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ybk-muted); margin-top: 0.15rem; }
.ybk-kpi-hint { font-size: 0.76rem; color: var(--ybk-faint); margin-top: 0.1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ybk-kpi-badge { position: absolute; right: 0.6rem; top: 0.55rem; font-size: 0.66rem; }
.ybk-panel .card-header { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }
.ybk-panel .card-header .ybk-panel-more { font-size: 0.78rem; font-weight: 500; text-transform: none; letter-spacing: 0; }
.ybk-alert-item { display: flex; gap: 0.85rem; align-items: flex-start; padding: 0.7rem 1rem; border-bottom: 1px solid var(--ybk-border); color: inherit; transition: background .12s; }
.ybk-alert-item:last-child { border-bottom: 0; }
.ybk-alert-item:hover { background: var(--ybk-surface-2); color: inherit; text-decoration: none; }
.ybk-alert-ico { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; font-size: 0.95rem; }
.ybk-alert-ico.danger { background: var(--ybk-danger-soft); color: var(--ybk-danger); }
.ybk-alert-ico.warning { background: var(--ybk-warn-soft); color: var(--ybk-warn); }
.ybk-alert-ico.info { background: var(--ybk-info-soft); color: var(--ybk-info); }
.ybk-alert-ico.secondary { background: var(--ybk-brand-soft); color: var(--ybk-brand); }
.ybk-alert-count { margin-left: auto; align-self: center; font-variant-numeric: tabular-nums; font-weight: 600; font-size: 0.85rem; color: var(--ybk-ink-2); background: var(--ybk-surface-2); border: 1px solid var(--ybk-border); border-radius: 999px; padding: 0.1rem 0.6rem; }
.ybk-timeline { list-style: none; margin: 0; padding: 0; }
.ybk-timeline li { display: grid; grid-template-columns: 4.4rem 1fr auto; gap: 0.75rem; align-items: center; padding: 0.55rem 1rem; border-bottom: 1px solid var(--ybk-border); }
.ybk-timeline li:last-child { border-bottom: 0; }
.ybk-tl-date { font-family: var(--ybk-mono); font-size: 0.74rem; color: var(--ybk-muted); line-height: 1.2; }
.ybk-tl-date strong { display: block; font-size: 0.98rem; color: var(--ybk-ink); font-family: var(--ybk-font); font-weight: 600; }
.ybk-tl-kind { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 600; }
.ybk-tl-title { font-size: 0.86rem; }
.ybk-tl-title a { color: var(--ybk-ink); }
.ybk-activity { list-style: none; margin: 0; padding: 0; }
.ybk-activity li { display: flex; gap: 0.7rem; padding: 0.5rem 1rem; border-bottom: 1px solid var(--ybk-border); font-size: 0.82rem; }
.ybk-activity li:last-child { border-bottom: 0; }
.ybk-activity .dot { flex: 0 0 auto; width: 8px; height: 8px; margin-top: 0.45rem; border-radius: 50%; background: var(--ybk-border-2); }
.ybk-activity .dot.olustur { background: var(--ybk-ok); } .ybk-activity .dot.guncelle { background: var(--ybk-info); } .ybk-activity .dot.karar, .ybk-activity .dot.yayimla { background: var(--ybk-gold); } .ybk-activity .dot.disa_aktar { background: var(--ybk-brand); } .ybk-activity .dot.sil { background: var(--ybk-danger); }
.ybk-activity .meta { color: var(--ybk-faint); font-size: 0.72rem; }
.ybk-mode-card { background: linear-gradient(135deg, var(--ybk-brand) 0%, #24507c 100%); color: #fff; border: 0; }
.ybk-mode-card .card-body { padding: 1.1rem 1.2rem; }
.ybk-mode-card .label { font-size: 0.7rem; letter-spacing: 0.06em; text-transform: uppercase; opacity: .75; }
.ybk-mode-card .value { font-size: 1.35rem; font-weight: 600; }
.ybk-mode-card .mini { display: flex; gap: 1.2rem; margin-top: 0.8rem; }
.ybk-mode-card .mini b { display: block; font-size: 1.2rem; font-weight: 650; }
.ybk-mode-card .mini span { font-size: 0.72rem; opacity: .8; }
.ybk-mode-card a { color: #fff; text-decoration: underline; text-underline-offset: 3px; opacity: .9; font-size: 0.78rem; }
.ybk-progress { height: 6px; border-radius: 999px; background: var(--ybk-border); overflow: hidden; }
.ybk-progress > span { display: block; height: 100%; background: var(--ybk-gold); border-radius: 999px; }
.ybk-phase-chips { display: flex; flex-wrap: wrap; gap: 0.3rem; }
.ybk-phase-chips span { font-size: 0.7rem; padding: 0.1rem 0.5rem; border-radius: 999px; background: var(--ybk-ok-soft); color: var(--ybk-ok); border: 1px solid transparent; }
.ybk-phase-chips span.next { background: var(--ybk-gold-soft); color: var(--ybk-gold); }
.ybk-quick { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 0.55rem; }
.ybk-quick a { display: flex; flex-direction: column; align-items: center; gap: 0.35rem; padding: 0.7rem 0.4rem; border: 1px solid var(--ybk-border); border-radius: var(--ybk-radius-sm); background: var(--ybk-surface); color: var(--ybk-ink-2); font-size: 0.76rem; text-align: center; transition: border-color .12s, background .12s; }
.ybk-quick a:hover { border-color: var(--ybk-brand); background: var(--ybk-brand-soft); color: var(--ybk-brand); text-decoration: none; }
.ybk-quick a i { font-size: 1.25rem; color: var(--ybk-brand); }
@media (max-width: 575.98px) { .ybk-kpi { padding: 0.7rem 0.8rem; gap: 0.6rem; } .ybk-kpi-icon { width: 36px; height: 36px; } .ybk-kpi-value { font-size: 1.3rem; } .ybk-timeline li { grid-template-columns: 3.6rem 1fr; } .ybk-timeline li > :last-child { grid-column: 2; } }
@media (max-width: 575.98px) { .ybk-help-btn { display: none; } .ybk-mode-badge { display: none; } }
.ybk-activity.two { display: grid; grid-template-columns: 1fr 1fr; } @media (max-width: 767.98px) { .ybk-activity.two { grid-template-columns: 1fr; } }

/* ---------------------------------------------------- genel cilalama (gozden gecirme) */
.ybk-page-title { margin-bottom: 0.35rem; }
.ybk-page-title code { font-size: 0.9em; }
.ybk-page-title .badge.fs-6 { font-size: 0.72rem !important; vertical-align: middle; }
.nav-tabs { margin-bottom: 1rem !important; }
.nav-tabs .nav-link .badge { margin-left: 0.25rem; }
.card + .card, .card + form.card { margin-top: 1rem; }
.card-header .btn-sm { padding: 0.15rem 0.55rem; font-size: 0.76rem; }
.table > tbody td code { font-size: 0.78em; }
.form-control-sm, .form-select-sm { font-size: 0.82rem; }
.alert.py-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }
.ybk-doc-body h1, .ybk-doc-body h2, .ybk-doc-body h3, .ybk-doc-body h4 { font-size: 1rem; font-weight: 600; margin: 1rem 0 0.35rem; color: var(--ybk-brand); }
.ybk-doc-body h1:first-child, .ybk-doc-body h2:first-child { margin-top: 0; }
.ybk-doc-body p, .ybk-doc-body li { font-size: 0.9rem; }
.ybk-editor-area h1, .ybk-editor-area h2, .ybk-editor-area h3 { font-size: 1.05rem; font-weight: 600; margin: 0.8rem 0 0.3rem; }
.breadcrumb { margin-bottom: 0.5rem; }
.text-truncate-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (min-width: 1600px) { .ybk-main { padding-left: 2.2rem; padding-right: 2.2rem; } }

/* =============================================================== koyu kenar cubugu + sade ust cubuk (2026-09-14) */
:root { --ybk-side-bg: #14233a; --ybk-side-bg-2: #1b3050; --ybk-side-ink: #d9e1ec; --ybk-side-muted: #8a9ab3; --ybk-side-line: rgba(255,255,255,0.08); --ybk-side-active: #f0c75e; }
.ybk-dark-sidebar .ybk-shell { display: flex; min-height: 100vh; background: var(--ybk-bg); }
.ybk-dark-sidebar .ybk-column { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.ybk-dark-sidebar .ybk-topbar { position: sticky; top: 0; z-index: 1030; height: var(--ybk-topbar-h); background: var(--ybk-surface); border-bottom: 1px solid var(--ybk-border); }
.ybk-dark-sidebar .ybk-topbar-inner { height: 100%; display: flex; align-items: center; gap: 0.6rem; padding: 0 1.4rem; }
.ybk-crumb { display: flex; align-items: center; gap: 0.45rem; font-size: 0.86rem; color: var(--ybk-muted); min-width: 0; }
.ybk-crumb a { color: var(--ybk-muted); }
.ybk-crumb .sep { color: var(--ybk-faint); }
.ybk-crumb strong { color: var(--ybk-ink); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 32rem; }
.ybk-search { position: relative; width: min(22rem, 40vw); }
.ybk-search .bi { position: absolute; left: 0.6rem; top: 50%; transform: translateY(-50%); color: var(--ybk-faint); font-size: 0.85rem; pointer-events: none; }
.ybk-search .form-control { padding-left: 1.9rem; background: var(--ybk-surface-2); border-color: var(--ybk-border); }
.ybk-search .form-control:focus { background: #fff; }
.ybk-avatar { width: 34px; height: 34px; border-radius: 50%; border: 0; background: var(--ybk-brand); color: #fff; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.02em; display: grid; place-items: center; }
.ybk-avatar:hover { background: var(--ybk-brand-hover); }
.ybk-user-menu { min-width: 15rem; }
.ybk-user-menu .dropdown-item { font-size: 0.86rem; }
.ybk-dark-sidebar .ybk-sidebar { background: var(--ybk-side-bg); color: var(--ybk-side-ink); border-right: 0; }
@media (min-width: 992px) {
    .ybk-dark-sidebar .ybk-sidebar { flex: 0 0 var(--ybk-sidebar-w); width: var(--ybk-sidebar-w); position: sticky; top: 0; height: 100vh; overflow-y: auto; }
    .ybk-dark-sidebar .ybk-sidebar-body { padding: 0.4rem 0.75rem 1rem; display: flex; flex-direction: column; min-height: calc(100vh - 72px); }
}
@media (max-width: 991.98px) { .ybk-dark-sidebar .ybk-sidebar { width: min(86vw, 320px); } .ybk-dark-sidebar .ybk-sidebar-body { padding: 0.4rem 0.75rem 1.5rem; } }
.ybk-sidebar-brand { display: flex; align-items: center; flex-wrap: wrap; gap: 0.15rem 0.6rem; padding: 1rem 1.1rem 0.8rem; border-bottom: 1px solid var(--ybk-side-line); }
.ybk-sidebar-brand .btn-close { margin-left: auto; }
.ybk-logo-dark { color: #fff; }
.ybk-logo-dark span { color: var(--ybk-side-active); }
.ybk-sidebar-tenant { flex-basis: 100%; font-size: 0.66rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ybk-side-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding-left: 2rem; }
.ybk-nav-section { font-size: 0.64rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ybk-side-muted); padding: 0.9rem 0.7rem 0.3rem; }
.ybk-dark-sidebar .ybk-nav { gap: 1px; }
.ybk-dark-sidebar .ybk-nav-group { color: var(--ybk-side-ink); font-size: 0.86rem; padding: 0.45rem 0.7rem; }
.ybk-dark-sidebar .ybk-nav-group .bi:first-child { color: var(--ybk-side-muted); font-size: 0.95rem; }
.ybk-dark-sidebar .ybk-nav-group:hover { background: var(--ybk-side-bg-2); color: #fff; }
.ybk-dark-sidebar .ybk-nav-group.active, .ybk-dark-sidebar .ybk-nav-single.active { background: var(--ybk-side-bg-2); color: #fff; font-weight: 600; }
.ybk-dark-sidebar .ybk-nav-group.active .bi:first-child { color: var(--ybk-side-active); }
.ybk-dark-sidebar .ybk-nav-caret { color: var(--ybk-side-muted); }
.ybk-dark-sidebar .ybk-nav-items { border-left-color: var(--ybk-side-line); margin-left: 1.15rem; padding-left: 1.4rem; margin-bottom: 0.3rem; }
.ybk-dark-sidebar .ybk-nav-items li a, .ybk-dark-sidebar .ybk-nav-items li .ybk-nav-soon { color: var(--ybk-side-muted); font-size: 0.82rem; padding: 0.32rem 0.55rem; }
.ybk-dark-sidebar .ybk-nav-items li a:hover { background: var(--ybk-side-bg-2); color: #fff; }
.ybk-dark-sidebar .ybk-nav-items li a.active { background: transparent; color: #fff; font-weight: 600; position: relative; }
.ybk-dark-sidebar .ybk-nav-items li a.active::before { content: ""; position: absolute; left: -1.4rem; top: 0.45rem; width: 6px; height: 6px; border-radius: 50%; background: var(--ybk-side-active); margin-left: -3px; }
.ybk-dark-sidebar .ybk-nav-soon small { border-color: var(--ybk-side-line); color: var(--ybk-side-muted); }
.ybk-sidebar-foot { margin-top: auto; padding: 1rem 0.7rem 0.4rem; border-top: 1px solid var(--ybk-side-line); display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }
.ybk-sidebar-version { font-size: 0.64rem; color: var(--ybk-side-muted); letter-spacing: 0.04em; }
.ybk-dark-sidebar .ybk-main { padding: 1.4rem 1.8rem 2.5rem; }
@media (max-width: 767.98px) { .ybk-dark-sidebar .ybk-topbar-inner { padding: 0 0.85rem; gap: 0.45rem; } .ybk-search { width: auto; flex: 1 1 auto; } .ybk-help-btn { display: none; } }
/* sayfa basliklarindaki madde rozeti daha sessiz */
.ybk-page-title .clause-ref { opacity: 0.85; font-size: 0.62rem; }
/* Bootstrap offcanvas-lg genis ekranda arka plani seffaf yapar (!important) — koyu kenar cubugu icin ezilir */
.ybk-dark-sidebar .ybk-sidebar { background: var(--ybk-side-bg) !important; color: var(--ybk-side-ink) !important; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,0.18) transparent; }
.ybk-dark-sidebar .ybk-sidebar::-webkit-scrollbar { width: 6px; } .ybk-dark-sidebar .ybk-sidebar::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.18); border-radius: 3px; }
.ybk-dark-sidebar .ybk-sidebar .ybk-nav-group.collapsed, .ybk-dark-sidebar .ybk-sidebar .ybk-nav-single { color: var(--ybk-side-ink); }
.ybk-sidebar-foot .badge.text-bg-warning { background: rgba(240,199,94,0.18) !important; color: var(--ybk-side-active) !important; }
.ybk-sidebar-foot .badge.text-bg-danger { background: rgba(255,120,110,0.2) !important; color: #ffb0a8 !important; }
.ybk-sidebar-foot .badge.text-bg-secondary { background: rgba(255,255,255,0.1) !important; color: var(--ybk-side-muted) !important; }

/* ---------------------------------------------------------------- zengin editor (genisletilmis) */
.ybk-editor-full .ybk-editor-bar { flex-wrap: wrap; gap: 1px; padding: 4px 6px; }
.ybk-editor-sep { width: 1px; height: 20px; background: var(--ybk-border-2); margin: 0 4px; align-self: center; }
.ybk-editor-select { height: 26px; font-size: 0.78rem; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--ybk-ink); padding: 0 0.2rem; max-width: 8rem; }
.ybk-editor-select:hover, .ybk-editor-select:focus { background: #fff; border-color: var(--ybk-border-2); outline: 0; }
.ybk-editor-btn.active { background: var(--ybk-brand-soft); color: var(--ybk-brand); box-shadow: inset 0 0 0 1px var(--ybk-brand); }
.ybk-editor-btn .bi { font-size: 0.9rem; }
.ybk-editor-tablebar { display: flex; flex-wrap: wrap; gap: 2px; padding: 3px 6px; background: var(--ybk-gold-soft); border-bottom: 1px solid #efe1b5; font-size: 0.74rem; }
.ybk-editor-tablebar .ybk-editor-btn { height: 24px; font-size: 0.74rem; padding: 0 0.4rem; }
.ybk-editor-tablepick { position: relative; display: inline-block; }
.ybk-editor-pop { display: none; position: absolute; top: 30px; left: 0; z-index: 1050; background: #fff; border: 1px solid var(--ybk-border-2); border-radius: 8px; padding: 8px; box-shadow: 0 8px 24px rgba(23,32,51,0.12); }
.ybk-editor-tablepick.open .ybk-editor-pop { display: block; }
.ybk-editor-grid { display: grid; grid-template-columns: repeat(8, 16px); gap: 3px; }
.ybk-editor-grid span { width: 16px; height: 16px; border: 1px solid var(--ybk-border-2); border-radius: 3px; background: #fff; cursor: pointer; }
.ybk-editor-grid span.on { background: var(--ybk-brand-soft); border-color: var(--ybk-brand); }
.ybk-editor-gridlabel { font-size: 0.72rem; color: var(--ybk-muted); text-align: center; margin-top: 6px; white-space: nowrap; }
.ybk-editor-area { min-height: 12rem; padding: 0.75rem 0.9rem; line-height: 1.6; }
.ybk-editor-inline .ybk-editor-area { min-height: 2.4rem; }
.ybk-editor-area table { width: 100%; border-collapse: collapse; margin: 0.5rem 0; }
.ybk-editor-area td, .ybk-editor-area th { border: 1px solid #b8c3d1; padding: 0.3rem 0.5rem; min-width: 2rem; vertical-align: top; }
.ybk-editor-area th { background: var(--ybk-surface-2); font-weight: 600; }
.ybk-editor-area blockquote { border-left: 3px solid var(--ybk-border-2); margin: 0.5rem 0; padding: 0.25rem 0.8rem; color: var(--ybk-ink-2); }
.ybk-editor-area pre { background: var(--ybk-surface-2); padding: 0.5rem 0.7rem; border-radius: 6px; font-size: 0.82rem; }
.ybk-editor-area hr { margin: 0.75rem 0; }
.ybk-editor-area img { max-width: 100%; height: auto; }
.ybk-editor-area a { text-decoration: underline; }
.ybk-editor-area ul, .ybk-editor-area ol { padding-left: 1.4rem; margin-bottom: 0.5rem; }
.ybk-editor-area h1 { font-size: 1.25rem; } .ybk-editor-area h2 { font-size: 1.1rem; } .ybk-editor-area h3 { font-size: 1rem; } .ybk-editor-area h4 { font-size: 0.95rem; }
.ybk-editor-srcview { border: 0 !important; border-radius: 0 0 var(--ybk-radius-sm) var(--ybk-radius-sm); font-family: var(--ybk-mono); font-size: 0.8rem; min-height: 12rem; }
.ybk-editor.is-fullscreen { position: fixed; inset: 0; z-index: 1060; border-radius: 0; display: flex; flex-direction: column; background: #fff; }
.ybk-editor.is-fullscreen .ybk-editor-area, .ybk-editor.is-fullscreen .ybk-editor-srcview { flex: 1 1 auto; overflow: auto; max-width: 900px; width: 100%; margin: 0 auto; font-size: 1rem; }
body.ybk-editor-open { overflow: hidden; }
/* Goruntuleme: dokuman govdesi ve soru metni tablolari */
.ybk-doc-body table, .ybk-rich table { width: 100%; border-collapse: collapse; margin: 0.5rem 0; }
.ybk-doc-body td, .ybk-doc-body th, .ybk-rich td, .ybk-rich th { border: 1px solid #cfd8e3; padding: 0.3rem 0.5rem; vertical-align: top; }
.ybk-doc-body th, .ybk-rich th { background: var(--ybk-surface-2); }
.ybk-doc-body blockquote, .ybk-rich blockquote { border-left: 3px solid var(--ybk-border-2); padding: 0.25rem 0.8rem; color: var(--ybk-ink-2); }
/* ------------------------------------------------------------- dugmeler v2 (modern) */

.btn { --bs-btn-padding-x: 0.9rem; --bs-btn-padding-y: 0.48rem; --bs-btn-font-size: 0.86rem; --bs-btn-font-weight: 600; --bs-btn-border-radius: 8px;
       display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem; letter-spacing: 0.005em; line-height: 1.25;
       transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .1s ease; }
.btn .bi { font-size: 1.05em; line-height: 1; }
.btn:active { transform: translateY(1px); }
.btn:focus-visible { box-shadow: 0 0 0 3px rgba(27, 58, 92, 0.18); }
.btn-sm { --bs-btn-padding-x: 0.7rem; --bs-btn-padding-y: 0.36rem; --bs-btn-font-size: 0.8rem; --bs-btn-border-radius: 7px; }
.btn-lg { --bs-btn-padding-x: 1.2rem; --bs-btn-padding-y: 0.65rem; --bs-btn-font-size: 0.95rem; --bs-btn-border-radius: 10px; }

/* Birincil: derin lacivert, hafif golge, hover'da yukselme */
.btn-primary { --bs-btn-bg: var(--ybk-brand); --bs-btn-border-color: var(--ybk-brand); --bs-btn-hover-bg: var(--ybk-brand-hover); --bs-btn-hover-border-color: var(--ybk-brand-hover);
               --bs-btn-active-bg: #12283f; --bs-btn-active-border-color: #12283f; box-shadow: 0 1px 2px rgba(23, 32, 51, 0.18), inset 0 1px 0 rgba(255,255,255,0.08); }
.btn-primary:hover { box-shadow: 0 4px 10px rgba(27, 58, 92, 0.25); transform: translateY(-1px); }
.btn-success { --bs-btn-bg: var(--ybk-ok); --bs-btn-border-color: var(--ybk-ok); --bs-btn-hover-bg: #196640; --bs-btn-hover-border-color: #196640; box-shadow: 0 1px 2px rgba(23,32,51,.14); }
.btn-danger  { --bs-btn-bg: var(--ybk-danger); --bs-btn-border-color: var(--ybk-danger); --bs-btn-hover-bg: #961c12; --bs-btn-hover-border-color: #961c12; box-shadow: 0 1px 2px rgba(23,32,51,.14); }

/* Ikincil / cerceveli: beyaz yuzey, ince kenar, hover'da renk tonlu zemin (soft) */
.btn-outline-primary, .btn-outline-secondary, .btn-outline-danger, .btn-outline-warning, .btn-outline-success, .btn-outline-light, .btn-light {
    --bs-btn-bg: var(--ybk-surface); --bs-btn-border-color: var(--ybk-border-2); box-shadow: 0 1px 1px rgba(23, 32, 51, 0.05); }
.btn-outline-primary   { --bs-btn-color: var(--ybk-brand);  --bs-btn-hover-bg: var(--ybk-brand-soft);  --bs-btn-hover-color: var(--ybk-brand);  --bs-btn-hover-border-color: #b9c8da; --bs-btn-active-bg: var(--ybk-brand-soft); --bs-btn-active-color: var(--ybk-brand); --bs-btn-active-border-color: var(--ybk-brand); }
.btn-outline-secondary { --bs-btn-color: var(--ybk-ink-2);  --bs-btn-hover-bg: var(--ybk-brand-soft);  --bs-btn-hover-color: var(--ybk-brand);  --bs-btn-hover-border-color: #b9c8da; --bs-btn-active-bg: var(--ybk-brand-soft); --bs-btn-active-color: var(--ybk-brand); --bs-btn-active-border-color: #b9c8da; }
.btn-outline-danger    { --bs-btn-color: var(--ybk-danger); --bs-btn-hover-bg: var(--ybk-danger-soft); --bs-btn-hover-color: var(--ybk-danger); --bs-btn-hover-border-color: #e8b3ad; --bs-btn-active-bg: var(--ybk-danger-soft); --bs-btn-active-color: var(--ybk-danger); }
.btn-outline-warning   { --bs-btn-color: var(--ybk-warn);   --bs-btn-hover-bg: var(--ybk-warn-soft);   --bs-btn-hover-color: var(--ybk-warn);   --bs-btn-hover-border-color: #e3cf8f; --bs-btn-active-bg: var(--ybk-warn-soft); --bs-btn-active-color: var(--ybk-warn); }
.btn-outline-success   { --bs-btn-color: var(--ybk-ok);     --bs-btn-hover-bg: var(--ybk-ok-soft);     --bs-btn-hover-color: var(--ybk-ok);     --bs-btn-hover-border-color: #a9d5bb; --bs-btn-active-bg: var(--ybk-ok-soft); --bs-btn-active-color: var(--ybk-ok); }
.btn-light             { --bs-btn-color: var(--ybk-ink-2); --bs-btn-hover-bg: var(--ybk-surface-2); --bs-btn-hover-color: var(--ybk-ink); --bs-btn-hover-border-color: var(--ybk-border-2); }
.btn-link { --bs-btn-color: var(--ybk-brand); --bs-btn-font-weight: 500; text-decoration: none; }
.btn-link:hover { text-decoration: underline; }
.btn.disabled, .btn:disabled { box-shadow: none; opacity: 0.55; }

/* Acilir menu ("show") durumunda dugme gri degil marka tonu */
.btn-outline-secondary.show, .btn-outline-primary.show, .btn-light.show { background: var(--ybk-brand-soft); color: var(--ybk-brand); border-color: #b9c8da; }
.dropdown-toggle::after { margin-left: 0.15rem; opacity: 0.7; vertical-align: 0.12em; }

/* Dugme grubu: tek cerceve gibi */
.btn-group > .btn { box-shadow: none; }
.btn-group > .btn:not(:last-child) { border-right-color: transparent; }

/* Acilir menu: yumusak kose, golge, ikonlu satirlar */
.dropdown-menu { --bs-dropdown-border-radius: 12px; --bs-dropdown-padding-y: 0.4rem; --bs-dropdown-padding-x: 0.4rem; --bs-dropdown-font-size: 0.86rem; --bs-dropdown-min-width: 13rem;
                 border: 1px solid var(--ybk-border); box-shadow: 0 12px 32px rgba(23, 32, 51, 0.14), 0 2px 6px rgba(23, 32, 51, 0.06); }
.dropdown-item { border-radius: 8px; padding: 0.5rem 0.7rem; display: flex; align-items: center; gap: 0.55rem; color: var(--ybk-ink); font-weight: 500; }
.dropdown-item .bi { color: var(--ybk-muted); font-size: 1.05em; width: 1.1em; text-align: center; }
.dropdown-item:hover, .dropdown-item:focus { background: var(--ybk-brand-soft); color: var(--ybk-brand); }
.dropdown-item:hover .bi { color: var(--ybk-brand); }
.dropdown-item.active, .dropdown-item:active { background: var(--ybk-brand); color: #fff; }
.dropdown-header { font-size: 0.7rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ybk-muted); padding: 0.4rem 0.7rem 0.2rem; }
.dropdown-divider { margin: 0.35rem 0.3rem; border-color: var(--ybk-border); }

/* Sayfa basligi eylem alani ve tablo satir ikon dugmeleri */
.ybk-page-title + .d-flex .btn, .d-flex.justify-content-between > .d-flex .btn { white-space: nowrap; }
.table .btn-sm { --bs-btn-padding-x: 0.5rem; --bs-btn-padding-y: 0.3rem; min-width: 2rem; }
.table .btn-outline-secondary, .table .btn-outline-primary { box-shadow: none; }

/* ------------------------------------------------------------- formlar v2 (modern) */

.form-control, .form-select { min-height: 2.5rem; padding: 0.45rem 0.8rem; font-size: 0.88rem; line-height: 1.4; color: var(--ybk-ink); background-color: var(--ybk-surface);
    border: 1px solid var(--ybk-border-2); border-radius: 8px; box-shadow: 0 1px 2px rgba(23, 32, 51, 0.04) inset; transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease; }
.form-control:hover:not(:focus):not(:disabled), .form-select:hover:not(:focus):not(:disabled) { border-color: #b9c8da; }
.form-control:focus, .form-select:focus { border-color: var(--ybk-brand); box-shadow: 0 0 0 4px rgba(27, 58, 92, 0.13); background-color: #fff; }
.form-control::placeholder { color: var(--ybk-faint); }
.form-control:disabled, .form-select:disabled, .form-control[readonly] { background-color: var(--ybk-surface-2); color: var(--ybk-muted); box-shadow: none; }
.form-control-sm, .form-select-sm { min-height: 2.1rem; padding: 0.3rem 0.65rem; font-size: 0.82rem; border-radius: 7px; }
.form-control-lg, .form-select-lg { min-height: 2.9rem; font-size: 0.95rem; border-radius: 10px; }
textarea.form-control { min-height: 5.5rem; line-height: 1.5; }
.form-select { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%236b7684' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='m3 6 5 5 5-5'/%3e%3c/svg%3e"); background-size: 14px 12px; background-position: right 0.75rem center; padding-right: 2.3rem; }
.form-select[multiple], .form-select[size]:not([size="1"]) { background-image: none; padding-right: 0.8rem; }

.form-label { font-size: 0.78rem; font-weight: 600; color: var(--ybk-ink-2); margin-bottom: 0.35rem; letter-spacing: 0.01em; }
.form-label .text-danger { font-weight: 700; }
.form-text { font-size: 0.75rem; color: var(--ybk-muted); margin-top: 0.3rem; }
.was-validated .form-control:invalid, .form-control.is-invalid { border-color: var(--ybk-danger); box-shadow: 0 0 0 4px rgba(180, 35, 24, 0.12); }
.invalid-feedback { font-size: 0.75rem; }

/* Dosya secici: dugme gibi tek parca */
.form-control[type="file"] { padding: 0.3rem 0.4rem; }
.form-control[type="file"]::file-selector-button { border: 0; border-radius: 6px; background: var(--ybk-brand-soft); color: var(--ybk-brand); font-weight: 600; font-size: 0.8rem; padding: 0.35rem 0.75rem; margin-right: 0.75rem; transition: background .15s ease; }
.form-control[type="file"]:hover::file-selector-button { background: #dbe5f1; }
.form-control[type="date"], .form-control[type="time"], .form-control[type="datetime-local"] { padding-right: 0.5rem; }
.form-control[type="search"] { padding-left: 0.8rem; }

/* Onay kutulari, radyo, anahtar */
.form-check { min-height: 1.6rem; padding-left: 1.75rem; }
.form-check-input { width: 1.1rem; height: 1.1rem; margin-top: 0.2rem; margin-left: -1.75rem; border: 1.5px solid var(--ybk-border-2); border-radius: 5px; transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease; }
.form-check-input[type="radio"] { border-radius: 50%; }
.form-check-input:hover:not(:checked) { border-color: #b9c8da; }
.form-check-input:focus { border-color: var(--ybk-brand); box-shadow: 0 0 0 4px rgba(27, 58, 92, 0.13); }
.form-check-input:checked { background-color: var(--ybk-brand); border-color: var(--ybk-brand); }
.form-check-label { color: var(--ybk-ink); font-size: 0.86rem; cursor: pointer; }
.form-switch { padding-left: 3rem; }
.form-switch .form-check-input { width: 2.3rem; height: 1.25rem; margin-left: -3rem; border-radius: 2rem; background-color: #d3d9e0; border-color: #d3d9e0; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); }
.form-switch .form-check-input:checked { background-color: var(--ybk-ok); border-color: var(--ybk-ok); }

/* Girdi grubu ve arama kutusu */
.input-group > .form-control, .input-group > .form-select { box-shadow: none; }
.input-group-text { background: var(--ybk-surface-2); border-color: var(--ybk-border-2); color: var(--ybk-muted); font-size: 0.85rem; border-radius: 8px; }
.input-group > .input-group-text:first-child { border-right: 0; }
.input-group:focus-within .input-group-text { border-color: var(--ybk-brand); }
.input-group .btn { box-shadow: none; }

/* Aranabilir secim (data-search) */
.ybk-searchable .form-control, .ybk-search-box input { border-radius: 8px; }
.ybk-search-list { border: 1px solid var(--ybk-border); border-radius: 10px; box-shadow: 0 12px 32px rgba(23, 32, 51, 0.14); padding: 0.35rem; }
.ybk-search-list .list-group-item, .ybk-search-list > div { border-radius: 7px; }

/* Suzgec kartlari: girdiler tek satirda, dip cizgisiz */
.card > .card-body.row { --bs-gutter-y: 0.75rem; }
.card form.row.g-2, form.card .card-body.row { align-items: flex-end; }

/* Secim listeleri (radyo listesi) */
.list-group { --bs-list-group-border-radius: 10px; --bs-list-group-border-color: var(--ybk-border); }
.list-group-item { padding: 0.7rem 0.9rem; font-size: 0.86rem; }
label.list-group-item { cursor: pointer; transition: background-color .15s ease; }
label.list-group-item:hover { background: var(--ybk-surface-2); }
label.list-group-item:has(.form-check-input:checked) { background: var(--ybk-brand-soft); border-color: #b9c8da; z-index: 1; }

/* Modal pencere */
.modal-content { border: 0; border-radius: 14px; box-shadow: 0 24px 64px rgba(23, 32, 51, 0.28); }
.modal-header { padding: 1rem 1.25rem; border-bottom: 1px solid var(--ybk-border); background: var(--ybk-surface-2); border-radius: 14px 14px 0 0; }
.modal-title { font-size: 1.02rem; font-weight: 600; color: var(--ybk-ink); }
.modal-body { padding: 1.25rem; }
.modal-body h3.fs-6 { font-size: 0.72rem !important; letter-spacing: 0.07em; font-weight: 700; color: var(--ybk-muted); margin-top: 0.25rem; }
.modal-footer { padding: 0.85rem 1.25rem; border-top: 1px solid var(--ybk-border); background: var(--ybk-surface-2); border-radius: 0 0 14px 14px; gap: 0.5rem; }
.modal-backdrop.show { opacity: 0.45; }
.btn-close { border-radius: 6px; padding: 0.4rem; transition: background .15s ease; }
.btn-close:hover { background-color: var(--ybk-border); }

/* Uyari kutulari ve rozetler */
.alert { padding: 0.8rem 1rem; border-radius: 10px; display: flow-root; }
.alert-dismissible .btn-close { padding: 0.9rem; }
.badge { padding: 0.32em 0.6em; }
.badge.rounded-pill { padding-left: 0.7em; padding-right: 0.7em; }

/* Sekmeler: hafif kabartma */
.nav-tabs { gap: 0.15rem; }
.nav-tabs .nav-link { border-radius: 8px 8px 0 0; padding: 0.55rem 0.95rem; transition: color .15s ease, background-color .15s ease; }
.nav-tabs .nav-link:hover { background: var(--ybk-surface-2); border-bottom-color: transparent; }
.nav-tabs .nav-link.active { background: var(--ybk-surface); }
.nav-pills .nav-link { border-radius: 8px; font-weight: 500; color: var(--ybk-ink-2); }
.nav-pills .nav-link.active { background: var(--ybk-brand); }

/* Kart basligi icindeki girdiler */
.card-header .form-control, .card-header .form-select { min-height: 2.1rem; }

/* Sayfa basi eylem dugmeleri: mobilde tam genislik */
@media (max-width: 575.98px) {
    .ybk-page-title + .d-flex { width: 100%; }
    .ybk-page-title + .d-flex .btn { flex: 1 1 auto; }
    .modal-content { border-radius: 12px; }
}
.form-check-input[type="checkbox"] { border-radius: 5px; }
.form-check-input[type="checkbox"]:checked { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); }

/* ------------------------------------------------------------- aramali acilir liste v2 (Select2 kalibi) */

.ybk-combo { position: relative; }
.ybk-combo-native { position: absolute !important; opacity: 0; pointer-events: none; height: 0; width: 0; margin: 0; padding: 0; border: 0; }
.ybk-combo-toggle { display: flex; align-items: center; text-align: left; width: 100%; cursor: pointer; user-select: none; }
.ybk-combo-toggle .ybk-combo-text { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ybk-combo-toggle.is-placeholder .ybk-combo-text { color: var(--ybk-faint); }
.ybk-combo-toggle:disabled { cursor: not-allowed; }
.ybk-combo.open > .ybk-combo-toggle { border-color: var(--ybk-brand); box-shadow: 0 0 0 4px rgba(27, 58, 92, 0.13); }
.ybk-combo.open > .ybk-combo-toggle { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%231b3a5c' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='m3 11 5-5 5 5'/%3e%3c/svg%3e"); }
.ybk-combo-toggle.is-invalid { border-color: var(--ybk-danger); }
.ybk-combo-panel { position: absolute; z-index: 1060; left: 0; right: 0; top: calc(100% + 4px); min-width: 12rem; background: var(--ybk-surface); border: 1px solid var(--ybk-border); border-radius: 10px; box-shadow: 0 12px 32px rgba(23, 32, 51, 0.16), 0 2px 6px rgba(23, 32, 51, 0.06); padding: 0.4rem; }
.ybk-combo-search { display: block; width: 100%; min-height: 2.1rem; padding: 0.35rem 0.6rem 0.35rem 1.9rem; margin-bottom: 0.35rem; font: inherit; font-size: 0.84rem; color: var(--ybk-ink); background: var(--ybk-surface-2) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%236b7684' stroke-width='1.6' stroke-linecap='round'%3e%3ccircle cx='7' cy='7' r='4.5'/%3e%3cpath d='m10.5 10.5 3 3'/%3e%3c/svg%3e") no-repeat 0.6rem center / 14px 14px; border: 1px solid var(--ybk-border-2); border-radius: 7px; outline: 0; }
.ybk-combo-search:focus { border-color: var(--ybk-brand); background-color: #fff; box-shadow: 0 0 0 3px rgba(27, 58, 92, 0.12); }
.ybk-combo-list { max-height: 15rem; overflow: auto; overscroll-behavior: contain; }
.ybk-combo-item { padding: 0.45rem 0.7rem; font-size: 0.86rem; border-radius: 7px; cursor: pointer; color: var(--ybk-ink); white-space: normal; }
.ybk-combo-item:hover, .ybk-combo-item.active { background: var(--ybk-brand-soft); color: var(--ybk-brand); }
.ybk-combo-item.selected { font-weight: 600; color: var(--ybk-brand); }
.ybk-combo-item.selected::after { content: "✓"; float: right; font-size: 0.8rem; opacity: 0.8; }
.ybk-combo-item.is-empty { color: var(--ybk-muted); font-style: italic; }
.ybk-combo-group { padding: 0.45rem 0.7rem 0.15rem; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ybk-muted); }
.ybk-combo-empty { padding: 0.5rem 0.7rem; font-size: 0.82rem; color: var(--ybk-muted); }
.form-select-sm.ybk-combo-toggle { padding-right: 2rem; }
.card-header .ybk-combo, .input-group > .ybk-combo { flex: 1 1 auto; min-width: 0; }
.input-group > .ybk-combo > .ybk-combo-toggle { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.modal .ybk-combo-panel { z-index: 1060; }

/* Ayarlar: sekmeli sayfa */
.ybk-setting { padding: 0.65rem 0; border-bottom: 1px dashed var(--ybk-border); }
.ybk-setting:last-child { border-bottom: 0; padding-bottom: 0; }
.ybk-setting .form-label { font-size: 0.86rem; color: var(--ybk-ink); font-weight: 600; margin-bottom: 0.3rem; }
.ybk-setting .form-text { font-size: 0.76rem; }
.ybk-sticky-actions { position: sticky; bottom: 0; background: var(--ybk-bg); padding: 0.75rem 0; border-top: 1px solid var(--ybk-border); z-index: 5; }

/* Sinav hazirlik kontrol listesi */
.ybk-ready { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0.6rem; }
.ybk-ready-item { display: flex; gap: 0.6rem; align-items: flex-start; padding: 0.6rem 0.75rem; border: 1px solid var(--ybk-border); border-radius: 10px; background: var(--ybk-surface); text-decoration: none; color: var(--ybk-ink); transition: border-color .15s ease, box-shadow .15s ease; }
.ybk-ready-item:hover { border-color: #b9c8da; box-shadow: 0 2px 8px rgba(23,32,51,.06); color: var(--ybk-ink); }
.ybk-ready-item .ico { width: 1.6rem; height: 1.6rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; font-size: 0.85rem; }
.ybk-ready-item.ok .ico { background: var(--ybk-ok-soft); color: var(--ybk-ok); } .ybk-ready-item.warn .ico { background: var(--ybk-warn-soft); color: var(--ybk-warn); } .ybk-ready-item.todo .ico { background: var(--ybk-danger-soft); color: var(--ybk-danger); } .ybk-ready-item.na .ico { background: var(--ybk-surface-2); color: var(--ybk-faint); }
.ybk-ready-item .lbl { font-weight: 600; font-size: 0.84rem; } .ybk-ready-item .dtl { font-size: 0.76rem; color: var(--ybk-muted); }
.ybk-ready-item.todo .lbl { color: var(--ybk-danger); }
.ybk-progress { height: 6px; border-radius: 3px; background: var(--ybk-border); overflow: hidden; } .ybk-progress > div { height: 100%; background: var(--ybk-ok); transition: width .3s; }

/* Liste ustu durum suzgec cipleri (badge yerine) */
.ybk-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin-bottom: 0.75rem; }
.ybk-chips .lbl { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ybk-muted); margin-right: 0.25rem; }
.ybk-chip { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.38rem 0.8rem; border: 1px solid var(--ybk-border-2); border-radius: 999px; background: var(--ybk-surface); color: var(--ybk-ink-2); font-size: 0.82rem; font-weight: 600; text-decoration: none; line-height: 1.2; transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease; }
.ybk-chip:hover { border-color: #b9c8da; background: var(--ybk-brand-soft); color: var(--ybk-brand); }
.ybk-chip .n { display: inline-flex; align-items: center; justify-content: center; min-width: 1.35rem; height: 1.35rem; padding: 0 0.4rem; border-radius: 999px; background: var(--ybk-surface-2); color: var(--ybk-muted); font-size: 0.72rem; font-weight: 700; }
.ybk-chip .dot { width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--ybk-faint); }
.ybk-chip.c-secondary .dot { background: #98a2b0; } .ybk-chip.c-info .dot { background: var(--ybk-info); } .ybk-chip.c-warning .dot { background: var(--ybk-gold); } .ybk-chip.c-success .dot { background: var(--ybk-ok); } .ybk-chip.c-danger .dot { background: var(--ybk-danger); } .ybk-chip.c-dark .dot { background: var(--ybk-ink); } .ybk-chip.c-primary .dot { background: var(--ybk-brand); } .ybk-chip.c-light .dot { background: #cfd8e3; }
.ybk-chip.active { background: var(--ybk-brand); border-color: var(--ybk-brand); color: #fff; box-shadow: 0 2px 6px rgba(27, 58, 92, 0.25); }
.ybk-chip.active .n { background: rgba(255,255,255,0.2); color: #fff; } .ybk-chip.active .dot { background: #fff; }
.ybk-chip.is-zero { opacity: 0.6; }
.ybk-chips .sep { width: 1px; height: 1.4rem; background: var(--ybk-border); margin: 0 0.35rem; }
@media (max-width: 575.98px) { .ybk-chips { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 0.25rem; } .ybk-chip { white-space: nowrap; } }
.ybk-chips + .ybk-chips { margin-top: -0.25rem; }
.ybk-chips .lbl { min-width: 7.5rem; }
@media (max-width: 575.98px) { .ybk-chips .lbl { min-width: 0; } }

/* ============================================================ liste sayfasi kalibi v2 (modern) */
.ybk-hero-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 1rem; margin-bottom: 1.25rem; }
.ybk-hero-head .ybk-page-title { font-size: 1.45rem; font-weight: 700; letter-spacing: -0.02em; }
.ybk-sub { color: var(--ybk-muted); font-size: 0.88rem; }

.ybk-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 0.85rem; margin-bottom: 1.25rem; }
.ybk-kpi { display: flex; align-items: center; gap: 0.85rem; padding: 0.95rem 1.05rem; background: var(--ybk-surface); border: 1px solid var(--ybk-border); border-radius: 14px; color: var(--ybk-ink); text-decoration: none; box-shadow: 0 1px 2px rgba(23,32,51,.04); transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
a.ybk-kpi:hover { border-color: #c8d4e2; box-shadow: 0 6px 18px rgba(23,32,51,.08); transform: translateY(-1px); color: var(--ybk-ink); }
.ybk-kpi .ico { width: 2.6rem; height: 2.6rem; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; font-size: 1.15rem; flex: 0 0 auto; }
.ybk-kpi .v { display: block; font-size: 1.45rem; font-weight: 700; line-height: 1.1; letter-spacing: -0.02em; }
.ybk-kpi .l { display: block; font-size: 0.76rem; color: var(--ybk-muted); margin-top: 0.1rem; }
.k-info { background: var(--ybk-info-soft); color: var(--ybk-info); } .k-warn { background: var(--ybk-warn-soft); color: var(--ybk-warn); } .k-ok { background: var(--ybk-ok-soft); color: var(--ybk-ok); } .k-danger { background: var(--ybk-danger-soft); color: var(--ybk-danger); } .k-brand { background: var(--ybk-brand-soft); color: var(--ybk-brand); } .k-muted { background: var(--ybk-surface-2); color: var(--ybk-muted); }

.ybk-list-card { border-radius: 14px; overflow: hidden; box-shadow: 0 1px 2px rgba(23,32,51,.04); }
.ybk-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.75rem; padding: 0.75rem 1rem; border-bottom: 1px solid var(--ybk-border); background: var(--ybk-surface); }
.ybk-seg { display: inline-flex; flex-wrap: wrap; gap: 0.2rem; padding: 0.25rem; background: var(--ybk-surface-2); border: 1px solid var(--ybk-border); border-radius: 10px; }
.ybk-seg a { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.38rem 0.75rem; border-radius: 7px; color: var(--ybk-ink-2); font-size: 0.82rem; font-weight: 600; text-decoration: none; white-space: nowrap; transition: background-color .15s ease, color .15s ease, box-shadow .15s ease; }
.ybk-seg a span { font-size: 0.72rem; font-weight: 700; color: var(--ybk-faint); }
.ybk-seg a:hover { color: var(--ybk-ink); background: rgba(255,255,255,.7); }
.ybk-seg a.active { background: var(--ybk-surface); color: var(--ybk-brand); box-shadow: 0 1px 3px rgba(23,32,51,.12); }
.ybk-seg a.active span { color: var(--ybk-brand); }
.ybk-seg .dot { width: 0.45rem; height: 0.45rem; border-radius: 50%; display: inline-block; }
.d-secondary { background: #98a2b0; } .d-info { background: var(--ybk-info); } .d-warning { background: var(--ybk-gold); } .d-success { background: var(--ybk-ok); } .d-danger { background: var(--ybk-danger); } .d-dark { background: var(--ybk-ink); } .d-primary { background: var(--ybk-brand); }
.ybk-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.ybk-tools .form-select, .ybk-tools .ybk-combo { width: auto; min-width: 11rem; max-width: 18rem; }
.ybk-search { position: relative; }
.ybk-search .bi { position: absolute; left: 0.65rem; top: 50%; transform: translateY(-50%); color: var(--ybk-faint); font-size: 0.85rem; pointer-events: none; z-index: 1; }
.ybk-search .form-control { padding-left: 2rem; width: 15rem; }

.ybk-table > thead th { background: var(--ybk-surface-2); border-bottom: 1px solid var(--ybk-border); padding: 0.6rem 0.9rem; }
.ybk-table > tbody td { padding: 0.8rem 0.9rem; border-color: #eef1f5; }
.ybk-table > tbody tr:last-child td { border-bottom: 0; }
.ybk-row-link { cursor: pointer; transition: background-color .12s ease; }
.ybk-row-link:hover { background: #f8fafc; }
.ybk-row-link .bi-chevron-right { display: inline-block; transition: transform .15s ease, color .15s ease; }
.ybk-row-link:hover .bi-chevron-right { color: var(--ybk-brand) !important; transform: translateX(2px); }

.ybk-date { width: 3.2rem; border: 1px solid var(--ybk-border); border-radius: 10px; overflow: hidden; text-align: center; background: var(--ybk-surface); }
.ybk-date .dd { display: block; font-size: 1.15rem; font-weight: 700; line-height: 1.5rem; padding-top: 0.15rem; color: var(--ybk-ink); }
.ybk-date .mm { display: block; font-size: 0.64rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; background: var(--ybk-brand-soft); color: var(--ybk-brand); padding: 0.1rem 0; }
.ybk-date.today { border-color: var(--ybk-brand); box-shadow: 0 0 0 3px rgba(27,58,92,.12); }
.ybk-date.today .mm { background: var(--ybk-brand); color: #fff; }
.ybk-date.past { opacity: 0.6; }
.ybk-date.past .mm { background: var(--ybk-surface-2); color: var(--ybk-muted); }

.ybk-title { font-weight: 600; color: var(--ybk-ink); text-decoration: none; font-size: 0.9rem; }
.ybk-title:hover { color: var(--ybk-brand); text-decoration: underline; }
.ybk-meta { display: flex; flex-wrap: wrap; gap: 0.25rem 0.75rem; margin-top: 0.2rem; font-size: 0.76rem; color: var(--ybk-muted); }
.ybk-meta .mono { font-family: var(--ybk-mono); font-size: 0.72rem; }
.ybk-tag { display: inline-block; padding: 0 0.45rem; border-radius: 6px; background: var(--ybk-info-soft); color: var(--ybk-info); font-weight: 600; font-size: 0.7rem; line-height: 1.3rem; }

.ybk-counts { display: inline-flex; gap: 0.35rem; }
.ybk-counts span { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.15rem 0.5rem; border-radius: 7px; background: var(--ybk-surface-2); font-size: 0.78rem; font-weight: 600; color: var(--ybk-ink-2); }
.ybk-counts span .bi { color: var(--ybk-faint); font-size: 0.8rem; }
.ybk-counts span.bad { background: var(--ybk-danger-soft); color: var(--ybk-danger); }
.ybk-counts span.bad .bi { color: var(--ybk-danger); }

.ybk-pill { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.22rem 0.65rem; border-radius: 999px; font-size: 0.76rem; font-weight: 600; white-space: nowrap; border: 1px solid transparent; }
.ybk-pill::before { content: ""; width: 0.45rem; height: 0.45rem; border-radius: 50%; background: currentColor; }
.p-secondary { background: #f1f3f6; color: #5b6573; border-color: #e3e7ec; }
.p-info { background: var(--ybk-info-soft); color: var(--ybk-info); border-color: #cfe1ee; }
.p-warning { background: var(--ybk-warn-soft); color: #8a5d00; border-color: #f1dfa6; }
.p-success { background: var(--ybk-ok-soft); color: var(--ybk-ok); border-color: #bfe3cf; }
.p-danger { background: var(--ybk-danger-soft); color: var(--ybk-danger); border-color: #f5c6c1; }
.p-dark { background: #eceef2; color: var(--ybk-ink); border-color: #d9dde3; }
.p-primary, .p-light { background: var(--ybk-brand-soft); color: var(--ybk-brand); border-color: #cfdcea; }

.ybk-empty { text-align: center; padding: 2.5rem 1rem; color: var(--ybk-muted); }
.ybk-empty .bi { font-size: 2rem; color: var(--ybk-faint); }
.ybk-empty .t { font-weight: 600; color: var(--ybk-ink-2); margin-top: 0.5rem; }
.ybk-empty .s { font-size: 0.84rem; margin-top: 0.2rem; }
.ybk-list-foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem; padding: 0.6rem 1rem; border-top: 1px solid var(--ybk-border); background: var(--ybk-surface-2); font-size: 0.76rem; color: var(--ybk-muted); }

@media (max-width: 991.98px) {
    .ybk-toolbar { flex-direction: column; align-items: stretch; }
    .ybk-seg { overflow-x: auto; flex-wrap: nowrap; }
    .ybk-search .form-control { width: 100%; }
    .ybk-tools > * { flex: 1 1 12rem; max-width: none; }
}
@media (max-width: 767.98px) {
    .ybk-kpis { grid-template-columns: repeat(2, 1fr); }
    .ybk-stack .ybk-date { width: auto; display: inline-flex; gap: 0.35rem; align-items: center; border: 0; }
    .ybk-stack .ybk-date .dd, .ybk-stack .ybk-date .mm { display: inline; background: none; padding: 0; font-size: 0.88rem; }
}

/* ============================================================ genel gorunum v2 (tum sayfalar) */
/* Sayfa basligi */
.ybk-page-title { font-size: 1.4rem; font-weight: 700; letter-spacing: -0.02em; }
/* Kartlar: yumusak kose + hafif golge; tablo iceren kartlar liste karti gibi */
.card { border-radius: 14px; box-shadow: 0 1px 2px rgba(23,32,51,.04); }
.card:has(> .table-responsive), .card:has(> .table) { overflow: hidden; }
.card-header { padding: 0.8rem 1rem; }
.card-footer { padding: 0.6rem 1rem; }
/* Tablolar: gri baslik bandi, ferah satirlar, ince ayirici, hover */
.table > thead th { background: var(--ybk-surface-2); border-bottom: 1px solid var(--ybk-border); padding: 0.6rem 0.9rem; white-space: nowrap; }
.table > tbody td { padding: 0.75rem 0.9rem; border-color: #eef1f5; }
.table-sm > thead th { padding: 0.45rem 0.7rem; }
.table-sm > tbody td { padding: 0.45rem 0.7rem; }
.card .table > tbody tr:last-child td { border-bottom: 0; }
.table-hover > tbody > tr:hover > * { --bs-table-hover-bg: #f8fafc; }
.table a.fw-semibold, .table td > a:first-child:not(.btn) { color: var(--ybk-ink); }
.table td > a:first-child:not(.btn):hover { color: var(--ybk-brand); }
/* Tablo icindeki rozetler etiket (pill) gorunumunde */
.table .badge { font-size: 0.74rem; padding: 0.28em 0.7em; border: 1px solid transparent; }
.table .badge.text-bg-success { border-color: #bfe3cf; } .table .badge.text-bg-warning { border-color: #f1dfa6; color: #8a5d00 !important; }
.table .badge.text-bg-danger { border-color: #f5c6c1; } .table .badge.text-bg-info { border-color: #cfe1ee; } .table .badge.text-bg-primary { border-color: #cfdcea; }
.table .badge.text-bg-secondary { border-color: #e3e7ec; } .table .badge.text-bg-dark { background: #eceef2 !important; color: var(--ybk-ink) !important; border-color: #d9dde3; }
/* Kod gorunumlu kimlikler tabloda sakin */
.table code { font-size: 0.78rem; color: var(--ybk-ink-2); background: var(--ybk-surface-2); padding: 0.1rem 0.35rem; border-radius: 5px; }
.table a code { color: var(--ybk-brand); background: var(--ybk-brand-soft); }
/* Eski dugme grubu suzgecleri segment gorunumune yakin */
.btn-group-sm > .btn-outline-secondary.active, .btn-group-sm > .btn-outline-primary.active { background: var(--ybk-brand); border-color: var(--ybk-brand); color: #fff; }
/* Bos satir metni */
.table td.text-center.text-muted.py-4, .table td.text-center.text-muted.py-5 { padding-top: 2.25rem !important; padding-bottom: 2.25rem !important; }

/* ---------- kurulus markalari (logo, TURKAK, MYK) ---------- */
.ybk-org-logo { max-height: 56px; max-width: 220px; object-fit: contain; }
.ybk-marks { display: flex; justify-content: center; gap: 14px; margin-top: 10px; flex-wrap: wrap; }
.ybk-mark { display: inline-flex; flex-direction: column; align-items: center; gap: 2px; }
.ybk-mark img { height: 44px; width: auto; max-width: 120px; object-fit: contain; }
.ybk-mark small { font-size: .7rem; color: var(--ybk-muted, #64748b); font-variant-numeric: tabular-nums; }
.ybk-brand-thumb { height: 56px; max-width: 200px; object-fit: contain; border: 1px solid var(--ybk-border); border-radius: 8px; padding: 4px; background: #fff; }
.ybk-brand-empty { height: 56px; width: 120px; display: inline-flex; align-items: center; justify-content: center; border: 1px dashed var(--ybk-border); border-radius: 8px; color: var(--ybk-muted, #64748b); font-size: .8rem; }
.ybk-usage th, .ybk-usage td { vertical-align: middle; }
.ybk-usage td.c { text-align: center; width: 9rem; }
.ybk-rule-list li { margin-bottom: .35rem; }
.ybk-topbar .ybk-marks { display: inline-flex; margin: 0 0 0 10px; gap: 6px; vertical-align: middle; }
.ybk-topbar .ybk-mark img { height: 26px; background: #fff; border-radius: 4px; padding: 2px; }
.ybk-topbar .ybk-mark small { display: none; }
