/* ==========================================================================
   My_News — koyu tema
   --------------------------------------------------------------------------
   Bootstrap 5.3'ün kendi koyu modu (data-bs-theme="dark") temel alınır; burada
   yalnızca Bootstrap'in CSS değişkenleri kendi paletimize çekilir. Böylece
   kart, tablo, form, dropdown gibi bileşenler tek tek ezilmek zorunda kalmaz.

   Palet Alarko panelinden ayrıştırılsın diye turuncu→kırmızı (haber/yayın)
   vurgusuna çekildi; iskelet aynı olduğu için iki POC yan yana açıldığında
   hangisinde olunduğu tek bakışta anlaşılıyor.
   ========================================================================== */

:root {
    /* zemin katmanları */
    --mn-bg:         #0b0906;
    --mn-bg-soft:    #120e0a;
    --mn-surface:    #17120d;
    --mn-surface-hi: #211a12;
    --mn-line:       rgba(226, 186, 150, .13);
    --mn-line-hi:    rgba(226, 186, 150, .24);

    /* metin */
    --mn-ink:   #f4efe9;
    --mn-muted: #a89a8c;
    --mn-dim:   #77695c;

    /* vurgu — turuncu→kırmızı geçişi */
    --mn-accent:   #f97316;
    --mn-accent-2: #fb5b46;
    --mn-accent-3: #fbbf24;
    --mn-grad: linear-gradient(135deg, #f97316 0%, #fb5b46 55%, #fbbf24 100%);
    --mn-grad-soft: linear-gradient(135deg, rgba(249, 115, 22, .20) 0%, rgba(251, 91, 70, .14) 100%);
    --mn-glow: 0 0 0 1px rgba(249, 115, 22, .35), 0 8px 28px -8px rgba(249, 115, 22, .55);

    --mn-red:   #ff4d6a;
    --mn-green: #34d399;
    --mn-amber: #fbbf24;

    --mn-radius: 16px;
}

/* Bootstrap değişkenlerini palete bağla */
[data-bs-theme="dark"] {
    --bs-body-bg:          var(--mn-bg);
    --bs-body-color:       var(--mn-ink);
    --bs-emphasis-color:   #fff;
    --bs-secondary-color:  var(--mn-muted);
    --bs-tertiary-color:   var(--mn-dim);
    --bs-border-color:     var(--mn-line);
    --bs-border-color-translucent: var(--mn-line);
    --bs-primary:          var(--mn-accent);
    --bs-link-color:       var(--mn-accent-3);
    --bs-link-hover-color: #fcd34d;
    --bs-code-color:       #fdba74;
    --bs-heading-color:    #fdf8f3;
}

/* ------------------------------------------------------------------ temel */

body.mn-body {
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
    background: var(--mn-bg);
    color: var(--mn-ink);
    -webkit-font-smoothing: antialiased;
}

/* Sayfanın üstünde duran, ekranla birlikte kaymayan ışıma. Koyu zeminin
   düz görünmesini engelliyor; tıklamayı engellememesi için pointer-events yok. */
body.mn-body::before {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background:
        radial-gradient(760px 420px at 14% -8%, rgba(249, 115, 22, .16), transparent 70%),
        radial-gradient(680px 380px at 88% 4%, rgba(251, 191, 36, .11), transparent 70%);
}

.app-wrapper { position: relative; z-index: 1; }

::selection { background: rgba(249, 115, 22, .35); }

* { scrollbar-width: thin; scrollbar-color: var(--mn-line-hi) transparent; }
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb {
    background: var(--mn-line-hi);
    border: 3px solid transparent;
    border-radius: 999px;
    background-clip: content-box;
}
*::-webkit-scrollbar-thumb:hover { background: rgba(148, 163, 184, .4); background-clip: content-box; }

/* --------------------------------------------------------------- üst çubuk */

/* AdminLTE'nin layout-fixed sınıfı bu sürümde başlığı sabitlemiyordu; sayfa
   kaydırıldığında üst çubuk ekrandan çıkıyordu. Sticky ile kendimiz sabitliyoruz. */
.mn-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    background: rgba(18, 14, 10, .78);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    border-bottom: 1px solid var(--mn-line);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .03);
}

.mn-header .nav-link { color: var(--mn-muted); }
.mn-header .nav-link:hover { color: var(--mn-ink); }

.mn-icon-btn {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    display: grid !important;
    place-items: center;
    border: 1px solid var(--mn-line);
    background: rgba(255, 255, 255, .03);
    transition: background .15s, border-color .15s;
}

.mn-icon-btn:hover {
    background: rgba(255, 255, 255, .07);
    border-color: var(--mn-line-hi);
}

.mn-chip {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background: rgba(255, 255, 255, .04);
    border: 1px solid var(--mn-line);
    border-radius: 999px;
    padding: .38rem .85rem;
    font-size: .78rem;
    font-weight: 500;
    color: var(--mn-muted);
    font-variant-numeric: tabular-nums;
}

/* Sorun varsa üst çubuktaki gösterge sessiz gri değil, kırmızı olsun */
.mn-chip-alert {
    background: rgba(248, 113, 113, .12);
    border-color: rgba(248, 113, 113, .45);
    color: #fca5a5;
}

.mn-dot {
    font-size: .48rem;
    color: var(--mn-green);
    filter: drop-shadow(0 0 5px rgba(52, 211, 153, .8));
    animation: mn-pulse 2.4s ease-in-out infinite;
}

.mn-dot.off {
    color: var(--mn-dim);
    filter: none;
    animation: none;
}

@keyframes mn-pulse {
    0%, 100% { opacity: 1; }
    50%      { opacity: .3; }
}

.mn-avatar {
    width: 34px;
    height: 34px;
    border-radius: 11px;
    background: var(--mn-grad);
    color: #fff;
    display: grid;
    place-items: center;
    font-weight: 700;
    font-size: .85rem;
    box-shadow: 0 4px 14px -4px rgba(249, 115, 22, .7);
}

/* ---------------------------------------------------------------- sol menü */

.mn-sidebar {
    background: rgba(15, 12, 8, .86) !important;
    backdrop-filter: blur(22px) saturate(150%);
    -webkit-backdrop-filter: blur(22px) saturate(150%);
    border-right: 1px solid var(--mn-line);
    box-shadow: none !important;
}

.mn-brand {
    padding: .9rem 1rem;
    border-bottom: 1px solid var(--mn-line);
}

.mn-brand-link {
    display: flex;
    align-items: center;
    gap: .75rem;
    text-decoration: none;
}

.mn-brand-mark {
    position: relative;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    background: var(--mn-grad);
    color: #fff;
    font-weight: 800;
    font-size: .92rem;
    letter-spacing: .5px;
    display: grid;
    place-items: center;
    flex: none;
    box-shadow: 0 6px 20px -6px rgba(249, 115, 22, .8);
}

/* Marka rozetinin çevresinde yavaşça nefes alan halka */
.mn-brand-mark::after {
    content: '';
    position: absolute;
    inset: -3px;
    border-radius: 16px;
    border: 1px solid rgba(249, 115, 22, .45);
    animation: mn-breathe 3.4s ease-in-out infinite;
}

@keyframes mn-breathe {
    0%, 100% { opacity: .8; transform: scale(1); }
    50%      { opacity: .25; transform: scale(1.09); }
}

.mn-brand-text { display: flex; flex-direction: column; line-height: 1.15; }
.mn-brand-text strong { color: #fff; font-size: .95rem; font-weight: 700; }
.mn-brand-text small  { color: var(--mn-dim); font-size: .7rem; }

/* Menü kısa ekranlarda da kaydırmasız sığsın diye aralıklar sıkı tutuldu. */
.mn-nav-wrap {
    padding: .35rem .25rem .5rem;
    overflow-y: auto;
}

.sidebar-menu .nav-header {
    color: var(--mn-dim);
    font-size: .66rem;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: .8rem .9rem .3rem;
}

.sidebar-menu .nav-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: .8rem;
    margin: 2px .6rem;
    padding: .53rem .75rem;
    border-radius: 11px;
    color: var(--mn-muted);
    font-size: .875rem;
    font-weight: 500;
    transition: color .16s, background .16s, transform .16s;
}

.sidebar-menu .nav-link .nav-icon {
    width: 20px;
    font-size: .92rem;
    text-align: center;
    color: var(--mn-dim);
    transition: color .16s;
}

.sidebar-menu .nav-link p { margin: 0; }

.sidebar-menu .nav-link:hover {
    background: rgba(255, 255, 255, .05);
    color: var(--mn-ink);
    transform: translateX(2px);
}

.sidebar-menu .nav-link:hover .nav-icon { color: var(--mn-accent-3); }

.sidebar-menu .nav-link.active {
    background: var(--mn-grad-soft);
    color: #fff;
    font-weight: 600;
    box-shadow: inset 0 0 0 1px rgba(249, 115, 22, .28);
}

.sidebar-menu .nav-link.active .nav-icon { color: var(--mn-accent-3); }

/* Aktif öğenin sol kenarındaki parlayan çubuk */
.sidebar-menu .nav-link.active::before {
    content: '';
    position: absolute;
    left: -.6rem;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 22px;
    border-radius: 0 3px 3px 0;
    background: var(--mn-grad);
    box-shadow: 0 0 12px rgba(249, 115, 22, .9);
}

.mn-sidebar-foot {
    margin-top: auto;
    padding: .65rem .8rem .8rem;
    border-top: 1px solid var(--mn-line);
}

.mn-sidebar-card {
    background: rgba(255, 255, 255, .035);
    border: 1px solid var(--mn-line);
    border-radius: 12px;
    padding: .6rem .75rem;
}

.mn-sidebar-card .label {
    font-size: .66rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--mn-dim);
    font-weight: 600;
}

.mn-sidebar-card .value {
    font-size: .82rem;
    color: var(--mn-ink);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

/* AdminLTE sidebar'ı flex kolon yapmadan alt kart aşağı yaslanmıyor */
.mn-sidebar { display: flex; flex-direction: column; }
.mn-sidebar .sidebar-wrapper { flex: 1 1 auto; }

/* ----------------------------------------------------------- içerik başlığı */

.app-content-header { padding: 1.4rem 0 .5rem; }

.mn-page-title {
    font-size: 1.45rem;
    font-weight: 700;
    letter-spacing: -.02em;
    color: #f3f6fc;
    margin: 0;
}

.mn-page-sub {
    color: var(--mn-muted);
    font-size: .85rem;
    margin: .2rem 0 0;
}

.app-footer {
    background: transparent;
    border-top: 1px solid var(--mn-line);
    color: var(--mn-dim);
    font-size: .8rem;
}

/* --------------------------------------------------------------------- kart */

.card {
    background: linear-gradient(180deg, rgba(255, 255, 255, .035) 0%, rgba(255, 255, 255, .012) 100%), var(--mn-surface);
    border: 1px solid var(--mn-line);
    border-radius: var(--mn-radius);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 12px 32px -20px rgba(0, 0, 0, .9);
}

.card-header {
    background: transparent;
    border-bottom: 1px solid var(--mn-line);
    font-weight: 600;
    color: var(--mn-ink);
    padding: .9rem 1.1rem;
    border-radius: var(--mn-radius) var(--mn-radius) 0 0 !important;
}

.card-footer, .card-footer.bg-white {
    background: rgba(255, 255, 255, .02) !important;
    border-top: 1px solid var(--mn-line);
    border-radius: 0 0 var(--mn-radius) var(--mn-radius) !important;
}

/* İstatistik kartları */

.mn-stat {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
}

.mn-stat-icon {
    width: 46px;
    height: 46px;
    border-radius: 13px;
    display: grid;
    place-items: center;
    font-size: 1.1rem;
    flex: none;
}

.mn-stat-value {
    font-size: 1.7rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.03em;
    color: #fff;
    font-variant-numeric: tabular-nums;
}

.mn-stat-label {
    color: var(--mn-muted);
    font-size: .8rem;
    margin-top: .28rem;
}

/* Sayfalardaki bg-soft-* sınıfları koyu zemine uyarlandı */
.bg-soft-navy  { background: rgba(249, 115, 22, .15); color: #fdba74; }
.bg-soft-red   { background: rgba(255, 77, 106, .14);  color: var(--mn-red); }
.bg-soft-green { background: rgba(52, 211, 153, .14);  color: var(--mn-green); }
.bg-soft-amber { background: rgba(251, 191, 36, .14);  color: var(--mn-amber); }
.bg-soft-slate { background: rgba(148, 163, 184, .13); color: #b6c2d6; }

/* --------------------------------------------------------- buton ve form */

/* Sayfalarda satır içi style ile navy arka plan veriliyor; !important
   bunları ezip her yerde tek tip gradyan buton bırakıyor. */
.btn-primary {
    background: var(--mn-grad) !important;
    border: none !important;
    color: #fff !important;
    font-weight: 600;
    border-radius: 11px;
    box-shadow: 0 6px 18px -8px rgba(249, 115, 22, .9);
    transition: filter .15s, transform .15s, box-shadow .15s;
}

.btn-primary:hover:not(:disabled) {
    filter: brightness(1.12);
    transform: translateY(-1px);
    box-shadow: 0 10px 26px -8px rgba(249, 115, 22, 1);
}

.btn-primary:disabled { opacity: .45; box-shadow: none; }

.btn { border-radius: 11px; font-weight: 500; }

.btn-outline-secondary {
    border-color: var(--mn-line-hi);
    color: var(--mn-muted);
}

.btn-outline-secondary:hover {
    background: rgba(255, 255, 255, .06);
    border-color: var(--mn-line-hi);
    color: var(--mn-ink);
}

.form-control, .form-select {
    background: rgba(255, 255, 255, .035);
    border: 1px solid var(--mn-line);
    border-radius: 11px;
    color: var(--mn-ink);
    padding: .55rem .8rem;
}

.form-control:focus, .form-select:focus {
    background: rgba(255, 255, 255, .05);
    border-color: rgba(249, 115, 22, .65);
    box-shadow: 0 0 0 3px rgba(249, 115, 22, .18);
    color: var(--mn-ink);
}

.form-control::placeholder { color: var(--mn-dim); }
.form-label { color: var(--mn-muted); }
.form-text  { color: var(--mn-dim) !important; font-size: .78rem; }

.input-group-text {
    background: rgba(255, 255, 255, .04);
    border-color: var(--mn-line);
    color: var(--mn-muted);
}

.form-check-input {
    background-color: rgba(255, 255, 255, .06);
    border-color: var(--mn-line-hi);
}

.form-check-input:checked {
    background-color: var(--mn-accent);
    border-color: var(--mn-accent);
}

/* -------------------------------------------------------- tablo ve rozet */

.table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--mn-ink);
    --bs-table-border-color: var(--mn-line);
    --bs-table-hover-bg: rgba(255, 255, 255, .04);
    --bs-table-hover-color: var(--mn-ink);
    margin-bottom: 0;
}

.table > :not(caption) > * > * { padding: .72rem .8rem; }

.table thead th {
    font-size: .71rem;
    text-transform: uppercase;
    letter-spacing: .07em;
    font-weight: 600;
    color: var(--mn-dim);
    background: rgba(255, 255, 255, .025);
    border-bottom: 1px solid var(--mn-line);
}

/* Sayfalarda text-bg-light rozetler var; koyu zeminde beyaz leke bırakıyordu */
.badge.text-bg-light {
    background: rgba(255, 255, 255, .07) !important;
    color: var(--mn-muted) !important;
    border-color: var(--mn-line) !important;
    font-weight: 500;
}

.badge { border-radius: 7px; padding: .32em .6em; }

.mn-score-pill {
    font-variant-numeric: tabular-nums;
    font-size: .72rem;
    padding: .14rem .5rem;
    border-radius: 7px;
    background: rgba(255, 255, 255, .07);
    color: #c3cfe2;
}

.mn-url {
    font-size: .75rem;
    color: var(--mn-dim);
    word-break: break-all;
}

.mn-progress {
    height: 7px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .07);
    overflow: hidden;
}

/* İlerleme dolgusu sayfalarda satır içi navy alıyor — gradyana çeviriyoruz */
.mn-progress > div, #jobBar {
    background: var(--mn-grad) !important;
}

.mn-code {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: .78rem;
    background: #05080f;
    color: #c7d2e5;
    border: 1px solid var(--mn-line);
    border-radius: 12px;
    padding: .9rem 1rem;
    overflow-x: auto;
}

.dropdown-menu {
    background: var(--mn-surface-hi);
    border: 1px solid var(--mn-line-hi);
    border-radius: 13px;
    box-shadow: 0 20px 50px -20px rgba(0, 0, 0, .95);
}

.dropdown-item { color: var(--mn-muted); border-radius: 8px; }
.dropdown-item:hover { background: rgba(255, 255, 255, .06); color: var(--mn-ink); }

.alert { border-radius: 13px; border-width: 1px; }

.nav-tabs {
    border-bottom-color: var(--mn-line);
    gap: .25rem;
}

.nav-tabs .nav-link {
    border: 1px solid transparent;
    border-radius: 10px 10px 0 0;
    color: var(--mn-muted);
    font-weight: 500;
}

.nav-tabs .nav-link:hover {
    background: rgba(255, 255, 255, .05);
    border-color: transparent;
    color: var(--mn-ink);
}

.nav-tabs .nav-link.active {
    background: var(--mn-grad-soft);
    border-color: var(--mn-line) var(--mn-line) transparent;
    color: #fff;
}

/* Bootstrap'in koyu temada alert-light'a verdiği gri (#343a40) panelde
   açık bir leke bırakıyordu; kart yüzeyiyle aynı tona çekildi. */
.alert-light {
    background: rgba(255, 255, 255, .04) !important;
    border-color: var(--mn-line) !important;
    color: var(--mn-muted) !important;
}

.list-group { --bs-list-group-bg: transparent; }

.list-group-item {
    background: transparent;
    border-color: var(--mn-line);
    color: var(--mn-ink);
}

.list-group-item-action:hover {
    background: rgba(255, 255, 255, .05);
    color: #fff;
}

.list-group-item.active {
    background: var(--mn-grad-soft);
    border-color: rgba(249, 115, 22, .3);
    color: #fff;
}

.page-link {
    background: rgba(255, 255, 255, .035);
    border-color: var(--mn-line);
    color: var(--mn-muted);
}

.page-item.active .page-link {
    background: var(--mn-accent);
    border-color: var(--mn-accent);
    color: #fff;
}

.modal-content {
    background: var(--mn-surface-hi);
    border: 1px solid var(--mn-line-hi);
    border-radius: var(--mn-radius);
}

/* ------------------------------------------------------------------- giriş */

.mn-login {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 1.5rem;
    background: var(--mn-bg);
    position: relative;
    overflow: hidden;
}

/* Arka planda yavaşça süzülen iki renk kümesi */
.mn-login::before,
.mn-login::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    filter: blur(90px);
    pointer-events: none;
}

.mn-login::before {
    width: 620px;
    height: 620px;
    background: rgba(249, 115, 22, .3);
    top: -220px;
    left: -160px;
    animation: mn-float 15s ease-in-out infinite;
}

.mn-login::after {
    width: 520px;
    height: 520px;
    background: rgba(251, 191, 36, .22);
    bottom: -200px;
    right: -140px;
    animation: mn-float 18s ease-in-out infinite reverse;
}

@keyframes mn-float {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50%      { transform: translate(60px, 40px) scale(1.12); }
}

.mn-login-card {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 430px;
    background: rgba(23, 18, 13, .86);
    backdrop-filter: blur(24px) saturate(160%);
    -webkit-backdrop-filter: blur(24px) saturate(160%);
    border: 1px solid var(--mn-line-hi);
    border-radius: 22px;
    padding: 2.4rem;
    box-shadow: 0 30px 80px -30px rgba(0, 0, 0, .95);
    animation: mn-rise .5s ease both;
}

.mn-login-badge {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    background: var(--mn-grad-soft);
    border: 1px solid rgba(249, 115, 22, .3);
    color: #b7a5ff;
    border-radius: 999px;
    padding: .3rem .8rem;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .02em;
}

.mn-login-title {
    font-size: 1.6rem;
    font-weight: 800;
    letter-spacing: -.03em;
    color: #fff;
    margin: 1.1rem 0 .35rem;
}

.mn-login-sub {
    color: var(--mn-muted);
    font-size: .875rem;
    margin: 0;
}

.mn-enter-btn {
    width: 100%;
    border: none;
    border-radius: 13px;
    padding: .95rem 1rem;
    background: var(--mn-grad);
    color: #fff;
    font-weight: 700;
    font-size: .98rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    cursor: pointer;
    box-shadow: 0 12px 30px -12px rgba(249, 115, 22, 1);
    transition: transform .15s, filter .15s, box-shadow .15s;
}

.mn-enter-btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.1);
    box-shadow: 0 18px 40px -14px rgba(249, 115, 22, 1);
}

.mn-enter-btn:active { transform: translateY(0); }

.mn-login-feature {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    padding: .55rem 0;
    color: var(--mn-muted);
    font-size: .82rem;
}

.mn-login-feature i {
    color: var(--mn-accent-3);
    margin-top: .18rem;
    font-size: .78rem;
}

.mn-divider {
    display: flex;
    align-items: center;
    gap: .8rem;
    color: var(--mn-dim);
    font-size: .72rem;
    margin: 1.4rem 0;
}

.mn-divider::before,
.mn-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--mn-line);
}

/* ------------------------------------------------ iki adımlı giriş (telefon + TOTP) */

.mn-phone-input {
    letter-spacing: .04em;
    font-variant-numeric: tabular-nums;
}

.mn-code-input {
    text-align: center;
    letter-spacing: .55em;
    text-indent: .55em;          /* harf aralığı sondaki boşluğu kaydırır, ortalamayı düzeltir */
    font-weight: 700;
    font-size: 1.5rem;
    font-variant-numeric: tabular-nums;
}

.mn-code-input::placeholder { letter-spacing: .55em; font-weight: 500; opacity: .35; }

/* QR mutlaka açık zeminde durmalı — kameralar koyu zeminli kodu okuyamaz. */
.mn-qr-wrap {
    display: flex;
    justify-content: center;
    margin: 1.4rem 0 1rem;
}

.mn-qr {
    background: #fff;
    padding: .75rem;
    border-radius: 14px;
    line-height: 0;
    box-shadow: 0 14px 34px -16px rgba(0, 0, 0, .9);
}

.mn-qr svg {
    width: 190px;
    height: 190px;
    display: block;
}

.mn-secret {
    text-align: center;
    border: 1px dashed var(--mn-line);
    border-radius: 12px;
    padding: .7rem .8rem;
}

.mn-secret-label {
    display: block;
    color: var(--mn-dim);
    font-size: .71rem;
    margin-bottom: .3rem;
}

.mn-secret code {
    color: var(--mn-muted);
    font-size: .88rem;
    letter-spacing: .08em;
    user-select: all;
}

.mn-link-btn {
    background: none;
    border: none;
    color: var(--mn-dim);
    font-size: .8rem;
    cursor: pointer;
    padding: .2rem .4rem;
}

.mn-link-btn:hover { color: var(--mn-muted); }

/* --------------------------------------------------------------- duyarlılık */

@media (max-width: 991.98px) {
    .mn-login-card { padding: 1.75rem; }
    .mn-qr svg { width: 165px; height: 165px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }
}

/* ---------------------------------------------------- Türkçe detay penceresi */

.mn-detail-text {
    font-size: .95rem;
    line-height: 1.75;
    color: var(--mn-ink);
}

.mn-detail-text p { margin: 0 0 1rem; }
.mn-detail-text p:last-child { margin-bottom: 0; }

/* Uzun metinlerde göz satır başını kaybetmesin diye ölçü sınırlanıyor. */
.mn-detail-text { max-width: 68ch; }

.modal-content {
    background: var(--mn-surface);
    border: 1px solid var(--mn-line-hi);
}

.modal-header, .modal-footer { border-color: var(--mn-line); }

/*
 * Modal katmanı ve iç kaydırma — Bootstrap'ın varsayılanlarına bırakılmıyor.
 *
 * AdminLTE'nin .app-wrapper katmanı z-index:1 ile kendi yığın bağlamını kuruyor;
 * modal oraya gömülü kaldığında body'ye eklenen perde (1050) üstünde kalıyor ve
 * pencere tıklanamıyordu. JavaScript modali body'ye taşıyor, buradaki z-index'ler
 * de tema/eklenti güncellemelerinde aynı tuzağa düşülmesin diye sabitleniyor.
 */
.modal          { z-index: 20000; }
.modal-backdrop { z-index: 19990; }

/*
 * İç kaydırma .modal-dialog-scrollable sınıfına bırakılmıyor: uzun metinde
 * pencerenin kendi içinde kayması, sayfanın arkasında kilitli kalmasından daha
 * önemli. Yükseklik ekrana göre; başlık ve alt çubuk sabit kalır.
 */
.modal-dialog-scrollable .modal-body {
    max-height: 72vh;
    overflow-y: auto;
    overscroll-behavior: contain;   /* kaydırma sayfaya taşmasın */
}

@media (max-height: 700px) {
    .modal-dialog-scrollable .modal-body { max-height: 62vh; }
}
