/* Sahiden Organik ERP — arayüz stilleri */

/* ==========================================================================
   Tasarım değişkenleri
   ========================================================================== */
:root {
    --ana: #1c7a4c;
    --ana-600: #176a42;
    --ana-700: #125436;
    --ana-800: #0e3f29;
    --ana-50: #edf8f1;
    --ana-100: #d5efde;
    --ana-200: #aedfc0;
    --ana-rgb: 28, 122, 76;
    --bal: #e3a13a;
    --bal-50: #fdf5e6;
    --zemin: #f5f7f3;
    --yuzey: #ffffff;
    --kenar: #e5eae4;
    --kenar-koyu: #d4dcd3;
    --metin: #16211b;
    --metin-2: #3b4a42;
    --soluk: #6b776f;
    --basari: #16a34a;
    --tehlike: #e5484d;
    --uyari: #f59e0b;
    --bilgi: #0ea5e9;
    --golge-1: 0 1px 2px rgba(16, 32, 22, .05);
    --golge-2: 0 1px 2px rgba(16, 32, 22, .04), 0 6px 20px -10px rgba(16, 32, 22, .14);
    --golge-3: 0 12px 32px -12px rgba(16, 32, 22, .22), 0 2px 6px rgba(16, 32, 22, .06);
    --yaricap: 14px;
    --yaricap-k: 10px;
    --gecis: cubic-bezier(.2, .8, .2, 1);
    --yay: cubic-bezier(.34, 1.36, .64, 1);
    --menu-genislik: 264px;
    --menu-dar: 76px;
    --ust-yukseklik: 62px;

    --bs-primary: #1c7a4c;
    --bs-primary-rgb: 28, 122, 76;
    --bs-success: #16a34a;
    --bs-success-rgb: 22, 163, 74;
    --bs-danger: #e5484d;
    --bs-danger-rgb: 229, 72, 77;
    --bs-warning: #f59e0b;
    --bs-warning-rgb: 245, 158, 11;
    --bs-info: #0ea5e9;
    --bs-info-rgb: 14, 165, 233;
    --bs-link-color: #1c7a4c;
    --bs-link-color-rgb: 28, 122, 76;
    --bs-link-hover-color: #125436;
    --bs-link-hover-color-rgb: 18, 84, 54;
    --bs-body-font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --bs-body-font-size: .875rem;
    --bs-body-color: #16211b;
    --bs-body-bg: #ffffff;
    --bs-border-color: #e5eae4;
    --bs-border-radius: .625rem;
    --bs-border-radius-sm: .5rem;
    --bs-border-radius-lg: .875rem;
    --bs-secondary-color: #6b776f;
    --bs-emphasis-color: #16211b;
}

/* ==========================================================================
   Temel
   ========================================================================== */
html { -webkit-tap-highlight-color: transparent; }
body {
    background: var(--zemin);
    color: var(--metin);
    font-feature-settings: 'cv11', 'ss01';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}
a { text-decoration: none; transition: color .15s ease; }
a:hover { text-decoration: none; }
::selection { background: rgba(var(--ana-rgb), .18); }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { letter-spacing: -.015em; color: var(--metin); }
.text-muted { color: var(--soluk) !important; }
.small, small { font-size: .8125rem; }
hr { border-color: var(--kenar); opacity: 1; }
* { scrollbar-width: thin; scrollbar-color: #c9d3c8 transparent; }
::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-thumb { background: #cfd8ce; border-radius: 9px; border: 2px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-thumb:hover { background-color: #b7c3b6; }
:focus-visible { outline: 2px solid rgba(var(--ana-rgb), .55); outline-offset: 2px; }

/* İkon hizası */
.ic { font-size: 1.05em; }
.btn .ic, .dropdown-item .ic, .nav-link .ic { font-size: 1.1em; vertical-align: -.16em; }
.fs-2.ic, .ic.fs-2 { font-size: 1.75rem !important; }

/* ==========================================================================
   Düğmeler — sade, küçük ve dokunuşta tepki veren
   ========================================================================== */
.btn {
    --bs-btn-padding-x: .85rem;
    --bs-btn-padding-y: .44rem;
    --bs-btn-font-size: .84rem;
    --bs-btn-font-weight: 550;
    --bs-btn-border-radius: .625rem;
    --bs-btn-focus-box-shadow: 0 0 0 .2rem rgba(var(--ana-rgb), .18);
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    letter-spacing: -.005em;
    transition: transform .16s var(--gecis), box-shadow .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
    -webkit-user-select: none;
    user-select: none;
}
.btn:active:not(:disabled) { transform: scale(.965); }
.btn-sm, .btn-group-sm > .btn {
    --bs-btn-padding-x: .62rem;
    --bs-btn-padding-y: .3rem;
    --bs-btn-font-size: .79rem;
    --bs-btn-border-radius: .55rem;
    gap: .3rem;
}
.btn-lg, .btn-group-lg > .btn {
    --bs-btn-padding-x: 1.05rem;
    --bs-btn-padding-y: .55rem;
    --bs-btn-font-size: .88rem;
    --bs-btn-border-radius: .7rem;
}
.btn.w-100 { display: flex; }
.btn-group > .btn { display: inline-flex; }
.btn-primary {
    --bs-btn-bg: var(--ana);
    --bs-btn-border-color: var(--ana-600);
    --bs-btn-hover-bg: var(--ana-600);
    --bs-btn-hover-border-color: var(--ana-700);
    --bs-btn-active-bg: var(--ana-700);
    --bs-btn-active-border-color: var(--ana-700);
    --bs-btn-disabled-bg: var(--ana);
    --bs-btn-disabled-border-color: var(--ana);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, 0));
    box-shadow: 0 1px 1px rgba(10, 40, 25, .12), 0 4px 12px -4px rgba(var(--ana-rgb), .55), inset 0 1px 0 rgba(255, 255, 255, .18);
}
.btn-primary:hover { box-shadow: 0 1px 1px rgba(10, 40, 25, .12), 0 8px 18px -6px rgba(var(--ana-rgb), .6), inset 0 1px 0 rgba(255, 255, 255, .2); transform: translateY(-1px); }
.btn-success {
    --bs-btn-bg: #16a34a; --bs-btn-border-color: #15924a; --bs-btn-hover-bg: #15924a; --bs-btn-hover-border-color: #128040;
    --bs-btn-active-bg: #128040; --bs-btn-active-border-color: #128040;
    background-image: linear-gradient(180deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, 0));
    box-shadow: 0 4px 12px -5px rgba(22, 163, 74, .55), inset 0 1px 0 rgba(255, 255, 255, .18);
}
.btn-danger {
    --bs-btn-bg: #e5484d; --bs-btn-border-color: #d93d42; --bs-btn-hover-bg: #d93d42; --bs-btn-hover-border-color: #c9353a;
    --bs-btn-active-bg: #c9353a; --bs-btn-active-border-color: #c9353a;
    box-shadow: 0 4px 12px -5px rgba(229, 72, 77, .5);
}
.btn-warning { --bs-btn-bg: #f59e0b; --bs-btn-border-color: #e8930a; --bs-btn-hover-bg: #e8930a; --bs-btn-color: #2b1a00; --bs-btn-hover-color: #2b1a00; }
.btn-light {
    --bs-btn-bg: #fff; --bs-btn-border-color: var(--kenar); --bs-btn-hover-bg: #f3f6f2; --bs-btn-hover-border-color: var(--kenar-koyu);
    --bs-btn-active-bg: #eaefe9; --bs-btn-color: var(--metin-2);
}
.btn-outline-primary {
    --bs-btn-color: var(--ana); --bs-btn-border-color: rgba(var(--ana-rgb), .35); --bs-btn-hover-bg: var(--ana-50);
    --bs-btn-hover-color: var(--ana-700); --bs-btn-hover-border-color: rgba(var(--ana-rgb), .55);
    --bs-btn-active-bg: var(--ana-100); --bs-btn-active-color: var(--ana-700); --bs-btn-active-border-color: var(--ana);
    background: #fff;
}
.btn-outline-secondary {
    --bs-btn-color: var(--metin-2); --bs-btn-border-color: var(--kenar-koyu); --bs-btn-hover-bg: #f2f5f1;
    --bs-btn-hover-color: var(--metin); --bs-btn-hover-border-color: #c3cdc2;
    --bs-btn-active-bg: #e8ede7; --bs-btn-active-color: var(--metin); --bs-btn-active-border-color: #c3cdc2;
    background: #fff;
}
.btn-outline-danger { --bs-btn-color: #d23a3f; --bs-btn-border-color: rgba(229, 72, 77, .35); --bs-btn-hover-bg: #fdeeee; --bs-btn-hover-color: #b42d32; --bs-btn-hover-border-color: rgba(229, 72, 77, .6); --bs-btn-active-bg: #fbdcdd; --bs-btn-active-color: #b42d32; background: #fff; }
.btn-outline-success { --bs-btn-color: #15803d; --bs-btn-border-color: rgba(22, 163, 74, .35); --bs-btn-hover-bg: #eafaf0; --bs-btn-hover-color: #166534; --bs-btn-hover-border-color: rgba(22, 163, 74, .6); --bs-btn-active-bg: #d7f4e1; --bs-btn-active-color: #166534; background: #fff; }
.btn-outline-warning { --bs-btn-color: #b45309; --bs-btn-border-color: rgba(245, 158, 11, .45); --bs-btn-hover-bg: #fff7e8; --bs-btn-hover-color: #92400e; --bs-btn-hover-border-color: rgba(245, 158, 11, .7); background: #fff; }
.btn-outline-info { --bs-btn-color: #0369a1; --bs-btn-border-color: rgba(14, 165, 233, .4); --bs-btn-hover-bg: #eaf7fd; --bs-btn-hover-color: #075985; --bs-btn-hover-border-color: rgba(14, 165, 233, .6); background: #fff; }
.btn-link { --bs-btn-color: var(--ana); --bs-btn-hover-color: var(--ana-700); text-decoration: none; box-shadow: none; }
.btn-check:checked + .btn-outline-primary, .btn-check:checked + .btn-outline-secondary { background: var(--ana-50); color: var(--ana-700); border-color: rgba(var(--ana-rgb), .55); }
.btn .spinner-border-sm { --bs-spinner-width: .85rem; --bs-spinner-height: .85rem; --bs-spinner-border-width: .15em; }

/* Dokunma dalgası */
.dalga {
    position: absolute; border-radius: 50%; pointer-events: none; transform: scale(0);
    background: currentColor; opacity: .18; animation: dalga .55s var(--gecis) forwards;
}
@keyframes dalga { to { transform: scale(2.6); opacity: 0; } }

/* ==========================================================================
   Form öğeleri
   ========================================================================== */
.form-control, .form-select {
    border-color: var(--kenar-koyu);
    border-radius: var(--yaricap-k);
    padding: .45rem .75rem;
    font-size: .86rem;
    background-color: #fff;
    transition: border-color .15s ease, box-shadow .2s ease, background-color .15s ease;
}
.form-control-sm, .form-select-sm { padding: .3rem .6rem; font-size: .8rem; border-radius: .55rem; }
.form-select { padding-right: 2rem; background-position: right .65rem center; }
.form-select-sm { padding-right: 1.8rem; }
.form-control:hover, .form-select:hover { border-color: #c2ccc1; }
.form-control:focus, .form-select:focus { border-color: rgba(var(--ana-rgb), .7); box-shadow: 0 0 0 .22rem rgba(var(--ana-rgb), .14); }
.form-control::placeholder { color: #a3aea6; }
.form-control:disabled, .form-control[readonly] { background-color: #f6f8f5; }
.form-label { font-weight: 550; font-size: .78rem; color: var(--metin-2); margin-bottom: .3rem; }
.form-text { font-size: .74rem; color: var(--soluk); }
.form-check-input { border-color: #c2ccc1; }
.form-check-input:checked { background-color: var(--ana); border-color: var(--ana); }
.form-check-input:focus { border-color: rgba(var(--ana-rgb), .6); box-shadow: 0 0 0 .2rem rgba(var(--ana-rgb), .15); }
.form-switch .form-check-input { width: 2.2em; transition: background-position .25s var(--yay), background-color .15s ease; }
.input-group-text { background: #f4f7f3; border-color: var(--kenar-koyu); color: var(--soluk); font-size: .82rem; }
.input-group > .form-control, .input-group > .form-select, .input-group > .btn, .input-group > .input-group-text { border-radius: var(--yaricap-k); }
.input-group > :not(:first-child):not(.dropdown-menu) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.input-group-sm > .form-control, .input-group-sm > .btn, .input-group-sm > .input-group-text { border-radius: .55rem; }
.was-validated .form-control:invalid, .form-control.is-invalid { border-color: var(--tehlike); }

/* Tom Select */
.ts-wrapper.form-select, .ts-wrapper.form-control {
    border: 1px solid var(--kenar-koyu); border-radius: var(--yaricap-k); background-color: #fff; min-height: 36px;
    transition: border-color .15s ease, box-shadow .2s ease;
}
.ts-wrapper.form-select-sm, .ts-wrapper.form-control-sm { min-height: 31px; border-radius: .55rem; }
.ts-wrapper.form-select:hover, .ts-wrapper.form-control:hover { border-color: #c2ccc1; }
.ts-wrapper.form-select.focus, .ts-wrapper.form-control.focus { border-color: rgba(var(--ana-rgb), .7); box-shadow: 0 0 0 .22rem rgba(var(--ana-rgb), .14); }
.ts-wrapper .ts-control { padding: .42rem .75rem; font-size: .86rem; color: var(--metin); }
.ts-wrapper.form-select-sm .ts-control, .ts-wrapper.form-control-sm .ts-control { padding: .26rem .6rem; font-size: .8rem; }
.ts-wrapper.form-select .ts-control, .ts-wrapper.form-control .ts-control, .focus .ts-control { box-shadow: none; }
.ts-wrapper:not(.form-control):not(.form-select) .ts-control { border: 1px solid var(--kenar-koyu); border-radius: var(--yaricap-k); }
.ts-wrapper:not(.form-control):not(.form-select).focus .ts-control { border-color: rgba(var(--ana-rgb), .7); box-shadow: 0 0 0 .22rem rgba(var(--ana-rgb), .14); }
.ts-control .item { font-weight: 500; }
.ts-dropdown {
    z-index: 1070; border: 1px solid var(--kenar); border-radius: 12px; box-shadow: var(--golge-3); margin-top: 6px; overflow: hidden;
    animation: acil .18s var(--gecis);
}
.ts-dropdown .option { padding: .45rem .75rem; font-size: .84rem; }
.ts-dropdown .active { background: var(--ana-50); color: var(--ana-800); }
.ts-dropdown .selected { background: var(--ana-100); }

/* ==========================================================================
   Yerleşim: yan menü, üst çubuk, içerik
   ========================================================================== */
.uygulama { display: flex; min-height: 100vh; }

.yan-menu {
    width: var(--menu-genislik);
    position: fixed; top: 0; bottom: 0; left: 0; z-index: 1045;
    display: flex; flex-direction: column;
    color: #cfe3d6;
    background:
        radial-gradient(120% 60% at 0% 0%, rgba(92, 190, 131, .16), transparent 60%),
        radial-gradient(90% 50% at 100% 100%, rgba(227, 161, 58, .10), transparent 60%),
        linear-gradient(180deg, #10301f 0%, #0c2618 100%);
    transition: width .32s var(--gecis), transform .38s var(--gecis);
    view-transition-name: yan-menu;
}
.yan-menu::before {
    content: ''; position: absolute; inset: auto 0 0 0; height: 55%; pointer-events: none; opacity: .045;
    -webkit-mask-image: linear-gradient(180deg, transparent, #000 60%); mask-image: linear-gradient(180deg, transparent, #000 60%);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.2'%3E%3Cpath d='M28 86c-10-5-15-14-15-24 9 0 16 5 18 13 1-10 7-18 16-21 1 14-5 27-19 32z'/%3E%3Cpath d='M92 40c-7-3-11-10-11-17 6 0 11 3 13 9 1-7 5-12 11-15 1 10-3 19-13 23z'/%3E%3C/g%3E%3C/svg%3E");
    background-size: 150px;
}
.yan-menu-ust { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 8px; height: var(--ust-yukseklik); padding: 0 14px 0 18px; }
.marka { display: flex; gap: 11px; align-items: center; color: #fff; min-width: 0; }
.marka:hover { color: #fff; }
.marka img { border-radius: 11px; box-shadow: 0 6px 16px -6px rgba(0, 0, 0, .6); flex-shrink: 0; transition: transform .4s var(--yay); }
.marka:hover img { transform: rotate(-8deg) scale(1.05); }
.marka span { display: flex; flex-direction: column; line-height: 1.15; min-width: 0; }
.marka strong { font-size: .95rem; font-weight: 650; letter-spacing: -.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.marka small { font-size: .68rem; color: #8fb9a0; letter-spacing: .02em; }
.menu-daralt {
    width: 30px; height: 30px; border-radius: 9px; border: 0; color: #9cc2ab; background: rgba(255, 255, 255, .06);
    display: inline-flex; align-items: center; justify-content: center; transition: background .2s ease, color .2s ease, transform .3s var(--gecis);
}
.menu-daralt:hover { background: rgba(255, 255, 255, .12); color: #fff; }
.yan-menu-icerik { position: relative; overflow-y: auto; overflow-x: hidden; flex: 1; padding: 4px 12px 18px; scrollbar-color: rgba(255, 255, 255, .15) transparent; }
.yan-menu-icerik::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, .14); }
.menu-baslik {
    font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; color: #6f9a80; padding: 16px 10px 6px; font-weight: 650;
    white-space: nowrap; overflow: hidden;
}
.menu-oge {
    position: relative; display: flex; align-items: center; gap: 11px; padding: 8px 10px; margin: 1px 0; border-radius: 11px;
    color: #c7dccf; font-size: .845rem; font-weight: 500; white-space: nowrap; overflow: hidden;
    transition: background .2s ease, color .2s ease, transform .2s var(--gecis);
}
.menu-oge .ic { font-size: 1.12rem; width: 22px; text-align: center; flex-shrink: 0; opacity: .82; transition: transform .3s var(--yay), opacity .2s ease; }
.menu-oge span { overflow: hidden; text-overflow: ellipsis; }
.menu-oge:hover { background: rgba(255, 255, 255, .07); color: #fff; transform: translateX(2px); }
.menu-oge:hover .ic { opacity: 1; transform: scale(1.08); }
.menu-oge.aktif {
    color: #fff; font-weight: 600;
    background: linear-gradient(135deg, rgba(92, 190, 131, .28), rgba(92, 190, 131, .10));
    box-shadow: inset 0 0 0 1px rgba(146, 214, 172, .18), 0 6px 18px -10px rgba(0, 0, 0, .6);
}
.menu-oge.aktif .ic { opacity: 1; color: #9be3b6; }
.menu-oge.aktif::before {
    content: ''; position: absolute; left: -12px; top: 9px; bottom: 9px; width: 4px; border-radius: 0 4px 4px 0;
    background: linear-gradient(180deg, #8ee0ad, #43b877); box-shadow: 0 0 12px rgba(142, 224, 173, .7);
    animation: isaret .45s var(--yay);
}
@keyframes isaret { from { transform: scaleY(0); } to { transform: scaleY(1); } }
.yan-menu-alt { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 18px; color: #6f9a80; font-size: .72rem; border-top: 1px solid rgba(255, 255, 255, .06); white-space: nowrap; }
.yan-menu-alt .surum { display: inline-flex; align-items: center; gap: 6px; }
.yan-menu-alt .surum::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #4ade80; box-shadow: 0 0 0 3px rgba(74, 222, 128, .18); }

/* Daraltılmış menü (masaüstü) */
@media (min-width: 992px) {
    html.menu-dar .yan-menu { width: var(--menu-dar); }
    html.menu-dar .ana { margin-left: var(--menu-dar); }
    html.menu-dar .marka span, html.menu-dar .menu-oge span, html.menu-dar .yan-menu-alt .metin { opacity: 0; width: 0; }
    html.menu-dar .menu-baslik { height: 14px; padding: 6px 0 0; color: transparent; }
    html.menu-dar .menu-baslik::after { content: ''; display: block; height: 1px; margin: 0 14px; background: rgba(255, 255, 255, .08); }
    html.menu-dar .menu-oge { justify-content: center; padding: 10px 0; }
    html.menu-dar .menu-oge:hover { transform: none; }
    html.menu-dar .yan-menu-ust { padding: 0 10px; flex-direction: column; justify-content: center; }
    html.menu-dar .marka img { width: 32px; height: 32px; }
    html.menu-dar .menu-daralt { position: absolute; right: -13px; top: 18px; width: 26px; height: 26px; background: #fff; color: var(--ana); box-shadow: var(--golge-2); border: 1px solid var(--kenar); }
    html.menu-dar .menu-daralt .ic { transform: rotate(180deg); }
    html.menu-dar .yan-menu-alt { justify-content: center; padding: 12px 0; }
    .marka span, .menu-oge span, .yan-menu-alt .metin { transition: opacity .2s ease; }
}

.ana { flex: 1; margin-left: var(--menu-genislik); min-width: 0; display: flex; flex-direction: column; transition: margin-left .32s var(--gecis); }

.ust-cubuk {
    position: sticky; top: 0; z-index: 1030; height: var(--ust-yukseklik);
    display: flex; align-items: center; gap: 12px; padding: 0 24px;
    background: rgba(245, 247, 243, .78);
    -webkit-backdrop-filter: saturate(180%) blur(14px);
    backdrop-filter: saturate(180%) blur(14px);
    border-bottom: 1px solid rgba(215, 223, 214, .7);
    view-transition-name: ust-cubuk;
}
.ust-cubuk.golgeli { box-shadow: 0 8px 24px -18px rgba(16, 32, 22, .5); }
.ikon-dugme {
    position: relative; width: 38px; height: 38px; border-radius: 11px; border: 1px solid transparent; background: transparent;
    color: var(--metin-2); display: inline-flex; align-items: center; justify-content: center; font-size: 1.12rem;
    transition: background .2s ease, color .2s ease, transform .15s var(--gecis), border-color .2s ease; overflow: hidden;
}
.ikon-dugme:hover { background: #fff; border-color: var(--kenar); color: var(--ana-700); box-shadow: var(--golge-1); }
.ikon-dugme:active { transform: scale(.94); }
.ikon-dugme[aria-expanded="true"] { background: #fff; border-color: var(--kenar); color: var(--ana-700); }
.kullanici-dugme { display: inline-flex; align-items: center; gap: 10px; padding: 4px 10px 4px 4px; border-radius: 13px; border: 1px solid transparent; background: transparent; transition: background .2s ease, border-color .2s ease; }
.kullanici-dugme:hover, .kullanici-dugme[aria-expanded="true"] { background: #fff; border-color: var(--kenar); box-shadow: var(--golge-1); }
.avatar {
    width: 32px; height: 32px; border-radius: 10px; color: #fff; font-weight: 650; font-size: .82rem;
    display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
    background: linear-gradient(135deg, #2f9b63, #125436); box-shadow: 0 4px 10px -4px rgba(var(--ana-rgb), .7), inset 0 1px 0 rgba(255, 255, 255, .25);
}
.yeni-dugme { padding-left: .75rem; padding-right: .8rem; }
.yeni-dugme .ic { transition: transform .35s var(--yay); }
.yeni-dugme[aria-expanded="true"] .ic { transform: rotate(135deg); }

.icerik { padding: 24px 28px 32px; flex: 1; position: relative; }
.icerik::before {
    content: ''; position: absolute; inset: 0 0 auto 0; height: 260px; pointer-events: none; z-index: -1;
    background: radial-gradient(60% 100% at 10% 0%, rgba(92, 190, 131, .10), transparent 70%), radial-gradient(40% 80% at 95% 0%, rgba(227, 161, 58, .07), transparent 70%);
}
.alt-bilgi { display: flex; justify-content: space-between; align-items: center; padding: 14px 28px; font-size: .74rem; color: var(--soluk); }
.alt-bilgi a { color: var(--soluk); }
.menu-perde { display: none; }

@media (max-width: 991.98px) {
    .yan-menu { transform: translateX(-104%); box-shadow: none; width: min(300px, 86vw); }
    body.menu-acik .yan-menu { transform: translateX(0); box-shadow: 24px 0 60px -20px rgba(0, 0, 0, .45); }
    body.menu-acik .menu-perde {
        display: block; position: fixed; inset: 0; z-index: 1040; background: rgba(8, 20, 14, .38);
        -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); animation: soluk .25s ease;
    }
    body.menu-acik { overflow: hidden; }
    .ana { margin-left: 0; }
    .icerik { padding: 16px 14px calc(96px + env(safe-area-inset-bottom)); }
    .ust-cubuk { padding: 0 12px; gap: 8px; height: 58px; }
    .alt-bilgi { display: none; }
    .menu-daralt { display: none; }
}
@keyframes soluk { from { opacity: 0; } to { opacity: 1; } }

/* ==========================================================================
   Genel arama
   ========================================================================== */
.global-arama { position: relative; flex: 1; max-width: 480px; }
.global-arama > .ic { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); color: #8c998f; font-size: 1rem; pointer-events: none; transition: color .2s ease; }
.global-arama input {
    height: 40px; padding-left: 38px; padding-right: 52px; border-radius: 12px; background: #fff; border-color: var(--kenar);
    box-shadow: var(--golge-1);
}
.global-arama input:focus { box-shadow: 0 0 0 .22rem rgba(var(--ana-rgb), .12), var(--golge-2); }
.global-arama:focus-within > .ic { color: var(--ana); }
.global-arama kbd {
    position: absolute; right: 10px; top: 50%; transform: translateY(-50%); pointer-events: none;
    font: 600 .66rem/1 'Inter', sans-serif; color: #7c8a80; background: #f2f5f1; border: 1px solid var(--kenar); border-bottom-width: 2px;
    border-radius: 6px; padding: 4px 6px; box-shadow: none;
}
.global-arama:focus-within kbd { opacity: 0; }
.arama-sonuc {
    position: absolute; top: calc(100% + 8px); left: 0; right: 0; background: #fff; border: 1px solid var(--kenar); border-radius: 14px;
    max-height: 70vh; overflow-y: auto; z-index: 1060; min-width: 320px; box-shadow: var(--golge-3); animation: acil .2s var(--gecis);
}
.arama-grup { padding: 6px; border-bottom: 1px solid #f0f3ef; }
.arama-grup:last-child { border-bottom: 0; }
.arama-grup-baslik { display: flex; align-items: center; gap: 6px; font-size: .66rem; text-transform: uppercase; color: var(--soluk); padding: 6px 8px 4px; font-weight: 650; letter-spacing: .07em; }
.arama-oge { display: block; padding: 7px 10px; border-radius: 9px; color: var(--metin); font-size: .85rem; font-weight: 500; }
.arama-oge:hover, .arama-oge.secili { background: var(--ana-50); color: var(--ana-800); }
.arama-oge small { display: block; color: var(--soluk); font-size: .74rem; font-weight: 400; }
@media (max-width: 575.98px) {
    .global-arama { max-width: none; }
    .global-arama kbd { display: none; }
    .global-arama input { padding-right: 12px; height: 38px; }
    .arama-sonuc { position: fixed; left: 10px; right: 10px; top: 64px; min-width: 0; }
}

/* ==========================================================================
   Açılır menüler, bildirimler
   ========================================================================== */
.dropdown-menu {
    --bs-dropdown-border-color: var(--kenar);
    --bs-dropdown-border-radius: 14px;
    --bs-dropdown-link-hover-bg: var(--ana-50);
    --bs-dropdown-link-hover-color: var(--ana-800);
    --bs-dropdown-link-active-bg: var(--ana);
    --bs-dropdown-item-padding-y: .45rem;
    --bs-dropdown-font-size: .85rem;
    padding: 6px;
    box-shadow: var(--golge-3);
}
.dropdown-menu.show { animation: acil .2s var(--gecis); transform-origin: top right; }
@keyframes acil { from { opacity: 0; transform: translateY(-6px) scale(.97); } to { opacity: 1; transform: none; } }
.dropdown-item { border-radius: 9px; display: flex; align-items: center; gap: 10px; font-weight: 500; }
.dropdown-item .ic { width: 18px; text-align: center; color: var(--soluk); }
.dropdown-item:hover .ic { color: var(--ana); }
.dropdown-item.text-danger .ic { color: inherit; }
.dropdown-header { font-size: .66rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 650; color: var(--soluk); }
.dropdown-divider { margin: 6px 4px; border-color: var(--kenar); }

.hizli-menu { width: 300px; padding: 10px; }
.hizli-izgara { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; }
.hizli-oge {
    display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 11px 12px; border-radius: 12px;
    color: var(--metin); font-size: .8rem; font-weight: 550; border: 1px solid transparent;
    transition: background .2s ease, border-color .2s ease, transform .2s var(--gecis);
}
.hizli-oge .ic {
    width: 32px; height: 32px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; font-size: 1rem;
    background: var(--ana-50); color: var(--ana);
}
.hizli-oge:hover { background: #f7faf6; border-color: var(--kenar); transform: translateY(-1px); color: var(--metin); }
.hizli-oge:nth-child(3n+2) .ic { background: var(--bal-50); color: #b7791f; }
.hizli-oge:nth-child(3n) .ic { background: #eaf6fd; color: #0284c7; }

.bildirim-sayi {
    position: absolute; top: 3px; right: 3px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px;
    background: var(--tehlike); color: #fff; font-size: .6rem; font-weight: 700; line-height: 17px; text-align: center;
    box-shadow: 0 0 0 2px var(--zemin);
}
.bildirim-sayi::after { content: ''; position: absolute; inset: -2px; border-radius: inherit; border: 2px solid var(--tehlike); animation: nabiz 2s ease-out infinite; }
@keyframes nabiz { 0% { transform: scale(1); opacity: .6; } 70%, 100% { transform: scale(1.7); opacity: 0; } }
.bildirim-menu { width: 380px; max-width: 94vw; padding: 0; overflow: hidden; }
.bildirim-menu-ust { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; border-bottom: 1px solid var(--kenar); }
.bildirim-liste { max-height: 62vh; overflow-y: auto; padding: 6px; }
.bildirim-oge { display: flex; gap: 12px; padding: 10px 10px; border-radius: 11px; color: var(--metin); transition: background .15s ease; }
.bildirim-oge:hover { background: #f5f8f4; color: var(--metin); }
.bildirim-oge.okunmamis { background: linear-gradient(90deg, rgba(var(--ana-rgb), .06), transparent); }
.bildirim-oge .nokta { width: 9px; height: 9px; border-radius: 50%; margin-top: 6px; flex-shrink: 0; box-shadow: 0 0 0 3px rgba(0, 0, 0, .04); }
.bildirim-oge small { color: var(--soluk); display: block; }
.bildirim-menu-alt { display: block; text-align: center; padding: 10px; font-size: .8rem; font-weight: 550; border-top: 1px solid var(--kenar); }
.bildirim-menu-alt:hover { background: #f7faf6; }

/* İskelet yükleme */
.iskelet { position: relative; overflow: hidden; background: #eef2ed; border-radius: 8px; }
.iskelet::after {
    content: ''; position: absolute; inset: 0; transform: translateX(-100%);
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .7), transparent); animation: parilti 1.2s infinite;
}
@keyframes parilti { to { transform: translateX(100%); } }

/* ==========================================================================
   Sayfa başlığı
   ========================================================================== */
.sayfa-baslik { margin-bottom: 20px !important; }
.sayfa-baslik h1 { font-size: 1.42rem; font-weight: 700; letter-spacing: -.025em; margin: 0; line-height: 1.25; }
.sayfa-baslik .text-muted { font-size: .82rem; margin-top: 3px; }
.sayfa-baslik .baslik-ikon {
    width: 42px; height: 42px; border-radius: 13px; display: inline-flex; align-items: center; justify-content: center; font-size: 1.2rem;
    color: #fff; background: linear-gradient(135deg, #34a86b, #125436); box-shadow: 0 8px 18px -8px rgba(var(--ana-rgb), .8), inset 0 1px 0 rgba(255, 255, 255, .25);
    flex-shrink: 0;
}
@media (max-width: 575.98px) {
    .sayfa-baslik h1 { font-size: 1.2rem; }
    .sayfa-baslik .baslik-ikon { width: 36px; height: 36px; font-size: 1.05rem; border-radius: 11px; }
    .sayfa-baslik > .d-flex:last-child { width: 100%; }
}

/* ==========================================================================
   Kartlar
   ========================================================================== */
.card {
    --bs-card-bg: var(--yuzey);
    --bs-card-border-color: var(--kenar);
    --bs-card-border-radius: var(--yaricap);
    --bs-card-inner-border-radius: calc(var(--yaricap) - 1px);
    --bs-card-cap-bg: transparent;
    --bs-card-spacer-y: 1.1rem;
    --bs-card-spacer-x: 1.15rem;
    --bs-card-cap-padding-y: .85rem;
    --bs-card-cap-padding-x: 1.15rem;
    border-color: var(--kenar);
    box-shadow: var(--golge-2);
    transition: box-shadow .25s ease, border-color .25s ease;
}
.card-header { background: transparent; border-bottom: 1px solid var(--kenar); font-weight: 650; font-size: .88rem; letter-spacing: -.01em; }
.card-header > .ic:first-child, .card-header > span > .ic:first-child, .card-header > .fw-semibold > .ic:first-child {
    color: var(--ana); width: 28px; height: 28px; border-radius: 9px; background: var(--ana-50); display: inline-flex; align-items: center;
    justify-content: center; font-size: .95rem; vertical-align: middle; margin-right: 4px;
}
.card-footer { background: #fafcf9; border-top-color: var(--kenar); }
.card-title { font-weight: 650; }
.list-group { --bs-list-group-border-color: var(--kenar); --bs-list-group-action-hover-bg: #f5f8f4; --bs-list-group-active-bg: var(--ana); --bs-list-group-active-border-color: var(--ana); }
.list-group-item-action { transition: background .15s ease, padding-left .2s var(--gecis); }
.list-group-item.active { background-image: linear-gradient(135deg, #22905a, var(--ana-600)); }

/* İstatistik kartları */
.stat-kart {
    position: relative; overflow: hidden; background: #fff; border: 1px solid var(--kenar); border-radius: var(--yaricap);
    padding: 16px 16px 15px; display: flex; gap: 13px; align-items: center; height: 100%; color: var(--metin);
    box-shadow: var(--golge-2); transition: transform .25s var(--gecis), box-shadow .25s ease, border-color .25s ease;
}
.stat-kart::after {
    content: ''; position: absolute; width: 130px; height: 130px; right: -46px; top: -54px; border-radius: 50%;
    background: radial-gradient(circle, var(--stat-isik, rgba(var(--ana-rgb), .10)), transparent 70%); pointer-events: none;
    transition: transform .5s var(--gecis);
}
a:hover > .stat-kart, a:focus > .stat-kart { transform: translateY(-3px); box-shadow: var(--golge-3); border-color: var(--kenar-koyu); }
a:hover > .stat-kart::after { transform: scale(1.25); }
.stat-ikon {
    position: relative; z-index: 1; width: 44px; height: 44px; border-radius: 13px; display: flex; align-items: center; justify-content: center;
    font-size: 1.22rem; flex-shrink: 0; color: #fff;
}
.stat-etiket { font-size: .74rem; color: var(--soluk); font-weight: 550; }
.stat-deger { font-size: 1.22rem; font-weight: 750; letter-spacing: -.025em; font-variant-numeric: tabular-nums; line-height: 1.3; white-space: nowrap; }
.stat-alt { font-size: .72rem; color: var(--soluk); margin-top: 1px; }
.stat-icerik { min-width: 0; position: relative; z-index: 1; }
.stat-primary { --stat-isik: rgba(28, 122, 76, .13); }
.stat-primary .stat-ikon { background: linear-gradient(135deg, #34a86b, #146140); box-shadow: 0 8px 16px -8px rgba(28, 122, 76, .8); }
.stat-success { --stat-isik: rgba(22, 163, 74, .13); }
.stat-success .stat-ikon { background: linear-gradient(135deg, #4ade80, #16a34a); box-shadow: 0 8px 16px -8px rgba(22, 163, 74, .8); }
.stat-danger { --stat-isik: rgba(229, 72, 77, .12); }
.stat-danger .stat-ikon { background: linear-gradient(135deg, #fb7185, #e5484d); box-shadow: 0 8px 16px -8px rgba(229, 72, 77, .8); }
.stat-warning { --stat-isik: rgba(245, 158, 11, .14); }
.stat-warning .stat-ikon { background: linear-gradient(135deg, #fbbf24, #f59e0b); box-shadow: 0 8px 16px -8px rgba(245, 158, 11, .8); }
.stat-info { --stat-isik: rgba(14, 165, 233, .13); }
.stat-info .stat-ikon { background: linear-gradient(135deg, #38bdf8, #0284c7); box-shadow: 0 8px 16px -8px rgba(14, 165, 233, .8); }
.stat-secondary { --stat-isik: rgba(100, 116, 106, .12); }
.stat-secondary .stat-ikon { background: linear-gradient(135deg, #94a39a, #56655c); box-shadow: 0 8px 16px -8px rgba(86, 101, 92, .8); }
@media (max-width: 575.98px) {
    .stat-kart { flex-direction: column; align-items: flex-start; gap: 10px; padding: 13px; }
    .stat-ikon { width: 34px; height: 34px; font-size: 1rem; border-radius: 11px; }
    .stat-deger { font-size: 1.02rem; }
    .stat-alt { font-size: .68rem; }
}

/* Karşılama kartı (yönetim paneli) */
.karsilama {
    position: relative; overflow: hidden; border-radius: 18px; padding: 22px 24px; margin-bottom: 20px; color: #eaf6ee;
    background: radial-gradient(90% 140% at 100% 0%, rgba(227, 161, 58, .28), transparent 55%), linear-gradient(125deg, #0f3322 0%, #176a42 58%, #22905a 100%);
    box-shadow: 0 18px 40px -22px rgba(14, 63, 41, .9);
}
.karsilama::before {
    content: ''; position: absolute; right: -30px; bottom: -40px; width: 260px; height: 260px; opacity: .16; pointer-events: none;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 58C18 52 10 40 10 26c13 0 22 7 25 18 2-15 10-26 23-31 2 21-6 38-26 45z' fill='%23ffffff'/%3E%3C/svg%3E") no-repeat center / contain;
    animation: salin 7s ease-in-out infinite; transform-origin: 60% 90%;
}
.karsilama h1 { color: #fff; font-size: 1.45rem; font-weight: 700; letter-spacing: -.025em; margin: 0; }
.karsilama .alt { color: #b9dcc6; font-size: .84rem; margin-top: 4px; }
.karsilama .rozetler { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; position: relative; }
.karsilama .rozetler span {
    display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; font-size: .75rem; font-weight: 550;
    background: rgba(255, 255, 255, .12); color: #f2fbf5; border: 1px solid rgba(255, 255, 255, .14);
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
@keyframes salin { 0%, 100% { transform: rotate(-4deg); } 50% { transform: rotate(4deg) translateY(-6px); } }
@media (max-width: 575.98px) { .karsilama { padding: 18px; border-radius: 16px; } .karsilama h1 { font-size: 1.2rem; } .karsilama::before { width: 170px; height: 170px; } }

/* ==========================================================================
   Tablolar
   ========================================================================== */
.table { --bs-table-hover-bg: rgba(var(--ana-rgb), .035); --bs-table-border-color: #edf1ec; margin-bottom: 0; font-size: .845rem; }
.table > :not(caption) > * > * { padding: .62rem .8rem; border-bottom-color: #edf1ec; }
.table thead th {
    font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; color: #6f7c73; font-weight: 650;
    background: #f8faf7; border-bottom: 1px solid var(--kenar); white-space: nowrap; position: sticky; top: 0; z-index: 1;
}
.table tbody tr { transition: background-color .15s ease; }
.table-hover > tbody > tr:hover > * { --bs-table-bg-state: rgba(var(--ana-rgb), .04); }
.table tfoot td, .table tfoot th { font-weight: 700; background: #f4f8f3; border-top: 1px solid var(--kenar); }
.table td.r, .table th.r, .r { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.table-responsive { border-radius: 0 0 var(--yaricap) var(--yaricap); }
.card > .table-responsive:first-child, .card > .table-responsive:only-child, .card > .card-body.p-0 > .table-responsive:only-child { border-radius: var(--yaricap); }
.card > .table-responsive:first-child thead th:first-child, .card > .card-body.p-0:first-child .table thead th:first-child { border-top-left-radius: var(--yaricap); }
.card > .table-responsive:first-child thead th:last-child, .card > .card-body.p-0:first-child .table thead th:last-child { border-top-right-radius: var(--yaricap); }
tr.iptal td { text-decoration: line-through; color: #9aa59f; }
.table-sm > :not(caption) > * > * { padding: .42rem .6rem; }
.table-sm { font-size: .82rem; }
.table a:not(.btn) { font-weight: 550; }
.table .btn-sm { --bs-btn-padding-x: .5rem; --bs-btn-padding-y: .26rem; }
.satir-tablo td { vertical-align: top; }
.satir-tablo .form-control, .satir-tablo .form-select { min-width: 80px; }
.satir-tablo .ts-wrapper { min-width: 220px; }
/* Telefonda satır tablosu kart görünümü: her satır kendi etiketleriyle alt alta */
@media (max-width: 575.98px) {
    .satir-tablo.mobil-kart, .satir-tablo.mobil-kart tbody { display: block; }
    .satir-tablo.mobil-kart thead { display: none; }
    .satir-tablo.mobil-kart tbody tr { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem .75rem; padding: .8rem; margin: 8px; border: 1px solid var(--kenar); border-radius: 12px; background: #fcfdfb; }
    .satir-tablo.mobil-kart tbody td { display: block; border: 0; padding: 0 !important; min-width: 0; }
    .satir-tablo.mobil-kart td[data-label]::before { content: attr(data-label); display: block; font-size: .7rem; color: var(--soluk); margin-bottom: .15rem; font-weight: 550; }
    .satir-tablo.mobil-kart td.tam { grid-column: 1 / -1; }
    .satir-tablo.mobil-kart td.r { text-align: left; }
    .satir-tablo.mobil-kart td.s-sil-hucre { grid-column: 1 / -1; text-align: right; }
    .satir-tablo.mobil-kart .ts-wrapper, .satir-tablo.mobil-kart .form-control, .satir-tablo.mobil-kart .form-select { min-width: 0; }
}

/* ==========================================================================
   Rozetler, uyarılar, sayfalama, sekmeler
   ========================================================================== */
.badge { font-weight: 600; font-size: .7rem; letter-spacing: .01em; padding: .36em .66em; border-radius: 999px; }
.badge.text-bg-success { background: #dcfce7 !important; color: #166534 !important; }
.badge.text-bg-primary { background: var(--ana-100) !important; color: var(--ana-800) !important; }
.badge.text-bg-danger { background: #fee2e2 !important; color: #b91c1c !important; }
.badge.text-bg-warning { background: #fef3c7 !important; color: #92400e !important; }
.badge.text-bg-info { background: #e0f2fe !important; color: #075985 !important; }
.badge.text-bg-secondary { background: #eef1ed !important; color: #4a5750 !important; }
.badge.text-bg-dark { background: #2b3530 !important; color: #f1f5f2 !important; }
.badge.text-bg-light { background: #f3f6f2 !important; color: #3b4a42 !important; border: 1px solid var(--kenar); }
.badge.durum::before {
    content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .7; margin-right: 5px; vertical-align: 1px;
}
.bg-success-subtle { background-color: #dcfce7 !important; }
.text-success-emphasis { color: #166534 !important; }
.bg-danger-subtle { background-color: #fee2e2 !important; }
.bg-warning-subtle { background-color: #fef3c7 !important; }
.text-primary { color: var(--ana) !important; }
.bg-primary, .text-bg-primary:not(.badge) { background-color: var(--ana) !important; }
.text-success { color: #15803d !important; }
.text-danger { color: #d23a3f !important; }
.text-warning { color: #c27803 !important; }

.alert { border-radius: 12px; border: 1px solid transparent; font-size: .85rem; padding: .8rem 1rem; }
.alert-success { background: #effbf3; border-color: #c9efd6; color: #14532d; }
.alert-danger { background: #fef1f1; border-color: #fbd5d6; color: #7f1d1d; }
.alert-warning { background: #fffaeb; border-color: #fbe6b5; color: #78350f; }
.alert-info { background: #eff8fe; border-color: #cae8fb; color: #0c4a6e; }
.alert-secondary, .alert-light { background: #f5f7f4; border-color: var(--kenar); color: var(--metin-2); }

.pagination { --bs-pagination-border-radius: 10px; --bs-pagination-color: var(--metin-2); --bs-pagination-hover-bg: var(--ana-50); --bs-pagination-hover-color: var(--ana-700);
    --bs-pagination-active-bg: var(--ana); --bs-pagination-active-border-color: var(--ana); --bs-pagination-border-color: var(--kenar); gap: 4px; }
.pagination .page-link { border-radius: 9px !important; min-width: 32px; text-align: center; font-weight: 550; }

.nav-tabs { --bs-nav-tabs-border-color: var(--kenar); gap: 4px; }
.nav-tabs .nav-link { color: var(--metin-2); font-weight: 550; border: 0; border-bottom: 2px solid transparent; border-radius: 0; padding: .55rem .85rem; transition: color .2s ease, border-color .2s ease; }
.nav-tabs .nav-link:hover { color: var(--ana); border-bottom-color: var(--ana-200); }
.nav-tabs .nav-link.active { color: var(--ana-700); font-weight: 650; background: transparent; border-bottom-color: var(--ana); }
.nav-pills { --bs-nav-pills-border-radius: 10px; --bs-nav-pills-link-active-bg: var(--ana); gap: 4px; }
.nav-pills .nav-link { color: var(--metin-2); font-weight: 550; }
.nav-pills .nav-link.active { box-shadow: 0 6px 14px -8px rgba(var(--ana-rgb), .9); }
.nav.flex-nowrap.overflow-auto { scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.nav.flex-nowrap.overflow-auto::-webkit-scrollbar { display: none; }

.modal-content { border: 0; border-radius: 18px; box-shadow: 0 30px 80px -30px rgba(10, 30, 20, .6); }
.modal-header, .modal-footer { border-color: var(--kenar); }
.modal.fade .modal-dialog { transform: translateY(14px) scale(.97); transition: transform .3s var(--yay), opacity .2s ease; }
.modal.show .modal-dialog { transform: none; }
.modal-backdrop.show { opacity: .35; }
.offcanvas { border: 0 !important; }
.offcanvas-bottom { height: auto !important; max-height: 85vh; border-radius: 22px 22px 0 0; padding-bottom: env(safe-area-inset-bottom); }
.offcanvas-bottom::before { content: ''; display: block; width: 40px; height: 5px; border-radius: 3px; background: #d6ddd5; margin: 10px auto 0; }
.tooltip { --bs-tooltip-bg: #16211b; --bs-tooltip-border-radius: 8px; --bs-tooltip-font-size: .75rem; }
.progress { --bs-progress-bg: #edf1ec; --bs-progress-bar-bg: var(--ana); border-radius: 999px; }

/* ==========================================================================
   Bildirim kutuları (toast)
   ========================================================================== */
.toast-alani {
    position: fixed; top: 74px; right: 20px; z-index: 1090; display: flex; flex-direction: column; gap: 10px; width: 360px; max-width: calc(100vw - 24px);
    pointer-events: none;
}
.bildirim-kutu {
    pointer-events: auto; position: relative; overflow: hidden; display: flex; gap: 11px; align-items: flex-start; padding: 13px 14px;
    background: rgba(255, 255, 255, .96); border: 1px solid var(--kenar); border-radius: 14px; box-shadow: var(--golge-3);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); font-size: .84rem; color: var(--metin);
    animation: kutu-gir .45s var(--yay) both;
}
.bildirim-kutu.cikiyor { animation: kutu-cik .3s var(--gecis) forwards; }
.bildirim-kutu > .ic { width: 30px; height: 30px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 1rem; }
.bildirim-kutu .metin { flex: 1; padding-top: 5px; line-height: 1.45; }
.bildirim-kutu .kapat { border: 0; background: none; color: #9aa59f; padding: 4px; margin: -2px -4px 0 0; border-radius: 8px; line-height: 1; }
.bildirim-kutu .kapat:hover { background: #f1f4f0; color: var(--metin); }
.bildirim-kutu .sure { position: absolute; left: 0; bottom: 0; height: 3px; width: 100%; transform-origin: left; background: currentColor; opacity: .25; }
.bildirim-kutu.basari > .ic { background: #dcfce7; color: #15803d; } .bildirim-kutu.basari .sure { color: #16a34a; }
.bildirim-kutu.hata > .ic { background: #fee2e2; color: #dc2626; } .bildirim-kutu.hata .sure { color: #dc2626; }
.bildirim-kutu.uyari > .ic { background: #fef3c7; color: #b45309; } .bildirim-kutu.uyari .sure { color: #d97706; }
.bildirim-kutu.bilgi > .ic { background: #e0f2fe; color: #0369a1; } .bildirim-kutu.bilgi .sure { color: #0284c7; }
@keyframes kutu-gir { from { opacity: 0; transform: translateX(30px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes kutu-cik { to { opacity: 0; transform: translateX(30px) scale(.96); height: 0; margin: 0; padding-top: 0; padding-bottom: 0; } }
@media (max-width: 575.98px) {
    .toast-alani { top: 66px; left: 12px; right: 12px; width: auto; }
    @keyframes kutu-gir { from { opacity: 0; transform: translateY(-16px) scale(.97); } to { opacity: 1; transform: none; } }
}

/* Sayfa geçiş çubuğu */
.gecis-cubugu {
    position: fixed; top: 0; left: 0; height: 3px; width: 0; z-index: 2000; pointer-events: none; opacity: 0;
    background: linear-gradient(90deg, #8ee0ad, var(--ana), #e3a13a); box-shadow: 0 0 10px rgba(var(--ana-rgb), .6);
    transition: width .25s ease, opacity .3s ease;
}
.gecis-cubugu.aktif { opacity: 1; }

/* ==========================================================================
   Boş durum, dikkat alanı, özet satırları ve diğer parçalar
   ========================================================================== */
.bos-durum { text-align: center; padding: 44px 16px; color: var(--soluk); }
.bos-durum > .ic, .bos-durum > i {
    position: relative; font-size: 1.6rem; color: var(--ana); width: 64px; height: 64px; border-radius: 20px; margin: 0 auto 14px;
    display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--ana-50), #fff);
    box-shadow: 0 0 0 8px rgba(var(--ana-rgb), .05), inset 0 0 0 1px rgba(var(--ana-rgb), .12);
}
.bos-durum > .ic.text-danger { color: var(--tehlike) !important; background: linear-gradient(135deg, #fdecec, #fff); box-shadow: 0 0 0 8px rgba(229, 72, 77, .06), inset 0 0 0 1px rgba(229, 72, 77, .15); }
.bos-durum > .ic.text-success { color: var(--basari) !important; }
.bos-durum p { max-width: 420px; margin: 0 auto 12px; font-size: .88rem; }
.bos-durum h5 { font-weight: 650; }
td.text-center.text-muted.py-4 { padding-top: 2.2rem !important; padding-bottom: 2.2rem !important; }

.dikkat-liste { list-style: none; margin: 0; padding: 0; }
.dikkat-liste li a { display: flex; align-items: center; gap: 11px; padding: 9px 10px; border-radius: 11px; color: var(--metin); font-weight: 500; font-size: .85rem; transition: background .15s ease, transform .2s var(--gecis); }
.dikkat-liste li a:hover { background: #f5f8f4; transform: translateX(3px); color: var(--metin); }
.dikkat-liste li a > .ic:last-child { transition: transform .2s var(--gecis); }
.dikkat-liste li a:hover > .ic:last-child { transform: translateX(3px); color: var(--ana) !important; }
.dikkat-liste .ikon { width: 32px; height: 32px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: .98rem; }
.kucuk-ikon { width: 30px; height: 30px; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; background: var(--ana-50); color: var(--ana); font-size: .92rem; }
.dikkat-kritik .ikon { background: #fee2e2; color: #dc2626; }
.dikkat-uyari .ikon { background: #fef3c7; color: #b45309; }
.dikkat-bilgi .ikon { background: #e0f2fe; color: #0369a1; }

.ozet-satir { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 7px 0; border-bottom: 1px dashed #e3e9e2; font-size: .845rem; }
.ozet-satir:last-child { border-bottom: 0; }
.ozet-satir .d { font-weight: 650; font-variant-numeric: tabular-nums; }
.bolum-baslik { display: flex; align-items: center; gap: 8px; font-size: .7rem; text-transform: uppercase; letter-spacing: .09em; color: var(--soluk); font-weight: 650; margin: 6px 0 10px; }
.bolum-baslik::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg, var(--kenar), transparent); }
.filtre-cubugu { padding: .85rem 1rem; }
.filtre-cubugu .form-label { font-size: .72rem; }
.kucuk-not { font-size: .75rem; color: var(--soluk); }
.etiket-kutusu { border: 1px dashed #c9d8cf; border-radius: 12px; padding: 12px; background: #fff; }
.maliyet-kutu {
    position: relative; overflow: hidden; color: #fff; border-radius: 16px; padding: 18px;
    background: radial-gradient(90% 120% at 100% 0%, rgba(227, 161, 58, .25), transparent 55%), linear-gradient(135deg, #0f3322, #1c7a4c);
    box-shadow: 0 16px 36px -20px rgba(14, 63, 41, .9);
}
.maliyet-kutu .ozet-satir { border-bottom-color: rgba(255, 255, 255, .15); }
.maliyet-kutu .text-muted { color: rgba(255, 255, 255, .65) !important; }

/* Takvim */
.takvim { table-layout: fixed; }
.takvim td { height: 110px; vertical-align: top; font-size: .78rem; transition: background .15s ease; }
.takvim td:hover { background: #fafcf9; }
.takvim .gun-no { font-weight: 650; color: var(--metin-2); }
.takvim .bugun { background: linear-gradient(180deg, var(--ana-50), #fff); }
.takvim .bugun .gun-no { display: inline-flex; width: 24px; height: 24px; align-items: center; justify-content: center; border-radius: 8px; background: var(--ana); color: #fff; }
.takvim .baska-ay { background: #fafbf9; color: #b0bab4; }
.takvim .kalem { display: block; border-radius: 7px; padding: 2px 6px; margin-top: 3px; font-size: .72rem; font-weight: 550; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: transform .15s var(--gecis); }
.takvim .kalem:hover { transform: translateX(2px); }
.takvim .kalem.odeme { background: #fee2e2; color: #991b1b; }
.takvim .kalem.tahsilat { background: #dcfce7; color: #14532d; }
.takvim .kalem.odendi { opacity: .55; text-decoration: line-through; }
@media (max-width: 767.98px) { .takvim td { height: 70px; font-size: .68rem; } .takvim .kalem { font-size: .62rem; } }

.gizli-yazdir { display: none; }
kbd { background: #16211b; border-radius: 6px; font-size: .72rem; }
code { color: #b45309; font-size: .82em; }
.shadow, .shadow-sm { box-shadow: var(--golge-2) !important; }
.rounded-3 { border-radius: 12px !important; }
.border-dashed { border-style: dashed !important; }

/* ==========================================================================
   Telefon alt menüsü
   ========================================================================== */
.alt-menu { display: none; }
@media (max-width: 991.98px) {
    .alt-menu {
        display: grid; grid-template-columns: repeat(5, 1fr); align-items: end;
        position: fixed; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); z-index: 1035;
        height: 64px; padding: 6px 6px; border-radius: 22px;
        background: rgba(255, 255, 255, .86); border: 1px solid rgba(215, 223, 214, .9);
        -webkit-backdrop-filter: saturate(180%) blur(18px); backdrop-filter: saturate(180%) blur(18px);
        box-shadow: 0 16px 40px -18px rgba(10, 30, 20, .45);
        view-transition-name: alt-menu;
    }
    .alt-menu a, .alt-menu button {
        display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; height: 52px;
        border: 0; background: none; border-radius: 16px; color: #7b887f; font-size: .64rem; font-weight: 600; letter-spacing: .01em;
        transition: color .2s ease, background .2s ease, transform .2s var(--gecis);
    }
    .alt-menu a .ic, .alt-menu button .ic { font-size: 1.28rem; transition: transform .35s var(--yay); }
    .alt-menu a:active, .alt-menu button:active { transform: scale(.92); }
    .alt-menu a.aktif { color: var(--ana-700); }
    .alt-menu a.aktif .ic { transform: translateY(-1px) scale(1.08); }
    .alt-menu a.aktif::after { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--ana); margin-top: 1px; }
    .alt-menu .fab-dugme {
        align-self: center; justify-self: center; width: 52px; height: 52px; margin-top: -26px; border-radius: 18px; color: #fff; font-size: 1.4rem;
        background: linear-gradient(135deg, #34a86b, #125436);
        box-shadow: 0 12px 24px -10px rgba(var(--ana-rgb), .95), inset 0 1px 0 rgba(255, 255, 255, .25), 0 0 0 5px rgba(245, 247, 243, .9);
    }
    .alt-menu .fab-dugme .ic { font-size: 1.45rem; }
}
.hizli-sayfa .hizli-izgara { grid-template-columns: repeat(3, 1fr); gap: 8px; }
.hizli-sayfa .hizli-oge { align-items: center; text-align: center; padding: 14px 8px; background: #f8faf7; border-color: var(--kenar); }
.hizli-sayfa .hizli-oge .ic { width: 42px; height: 42px; border-radius: 14px; font-size: 1.2rem; }

/* ==========================================================================
   Hareket: sayfa açılışı ve sayfalar arası geçiş
   ========================================================================== */
@keyframes yuksel { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.icerik > * { animation: yuksel .42s var(--gecis) both; }
.icerik > *:nth-child(2) { animation-delay: .04s; }
.icerik > *:nth-child(3) { animation-delay: .08s; }
.icerik > *:nth-child(4) { animation-delay: .12s; }
.icerik > *:nth-child(5) { animation-delay: .16s; }
.icerik > *:nth-child(6) { animation-delay: .2s; }
.icerik > *:nth-child(n+7) { animation-delay: .22s; }
.row > [class*="col"] > .stat-kart, .row > [class*="col"] > a > .stat-kart { animation: yuksel .5s var(--gecis) both; }
.row > [class*="col"]:nth-child(2) > .stat-kart, .row > [class*="col"]:nth-child(2) > a > .stat-kart { animation-delay: .05s; }
.row > [class*="col"]:nth-child(3) > .stat-kart, .row > [class*="col"]:nth-child(3) > a > .stat-kart { animation-delay: .1s; }
.row > [class*="col"]:nth-child(4) > .stat-kart, .row > [class*="col"]:nth-child(4) > a > .stat-kart { animation-delay: .15s; }
.row > [class*="col"]:nth-child(5) > .stat-kart, .row > [class*="col"]:nth-child(5) > a > .stat-kart { animation-delay: .2s; }
.row > [class*="col"]:nth-child(6) > .stat-kart, .row > [class*="col"]:nth-child(6) > a > .stat-kart { animation-delay: .25s; }
.row > [class*="col"]:nth-child(n+7) > .stat-kart, .row > [class*="col"]:nth-child(n+7) > a > .stat-kart { animation-delay: .3s; }

@view-transition { navigation: auto; }
::view-transition-old(root) { animation: .16s ease both vt-cik; }
::view-transition-new(root) { animation: .28s var(--gecis) both vt-gir; }
::view-transition-group(yan-menu), ::view-transition-group(ust-cubuk), ::view-transition-group(alt-menu) { animation-duration: 0s; }
@keyframes vt-cik { to { opacity: 0; } }
@keyframes vt-gir { from { opacity: 0; transform: translateY(8px); } }

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

/* ==========================================================================
   Yazdırma
   ========================================================================== */
@media print {
    .yan-menu, .ust-cubuk, .alt-bilgi, .alt-menu, .toast-alani, .gecis-cubugu, .no-print, .btn, form.filtre-cubugu { display: none !important; }
    .ana { margin-left: 0 !important; }
    .icerik { padding: 0 !important; }
    .icerik::before { display: none; }
    .icerik > * { animation: none !important; }
    .card, .stat-kart { box-shadow: none !important; border: 1px solid #ccc; }
    .karsilama { background: #fff !important; color: #000; box-shadow: none; border: 1px solid #ccc; }
    .karsilama h1 { color: #000; }
    .gizli-yazdir { display: block; }
    body { background: #fff; }
}

.min-w-0 { min-width: 0; }

/* ==========================================================================
   Giriş ekranı
   ========================================================================== */
.giris-sayfa { background: #fff; }
.giris-sahne { display: flex; min-height: 100vh; min-height: 100dvh; }
.giris-tanitim {
    position: relative; overflow: hidden; flex: 1.1; display: flex; flex-direction: column; justify-content: space-between; padding: 44px 52px;
    color: #dcefe3;
    background: radial-gradient(80% 60% at 100% 0%, rgba(227, 161, 58, .30), transparent 60%),
                radial-gradient(70% 70% at 0% 100%, rgba(92, 190, 131, .35), transparent 60%),
                linear-gradient(145deg, #0b2718 0%, #125436 55%, #1c7a4c 100%);
}
.giris-tanitim::after {
    content: ''; position: absolute; inset: 0; opacity: .06; pointer-events: none;
    background-image: radial-gradient(rgba(255, 255, 255, .9) 1px, transparent 1px); background-size: 22px 22px;
}
.giris-sekil { position: absolute; border-radius: 50%; filter: blur(2px); opacity: .5; animation: suzul 14s ease-in-out infinite; }
.giris-sekil.s1 { width: 340px; height: 340px; right: -90px; top: 18%; background: radial-gradient(circle at 30% 30%, rgba(142, 224, 173, .45), transparent 65%); }
.giris-sekil.s2 { width: 220px; height: 220px; left: 38%; bottom: -60px; background: radial-gradient(circle at 40% 40%, rgba(227, 161, 58, .45), transparent 65%); animation-delay: -5s; }
.giris-sekil.s3 { width: 140px; height: 140px; left: 8%; top: 30%; background: radial-gradient(circle at 40% 40%, rgba(255, 255, 255, .18), transparent 70%); animation-delay: -9s; }
@keyframes suzul { 0%, 100% { transform: translate(0, 0) scale(1); } 33% { transform: translate(-18px, 14px) scale(1.05); } 66% { transform: translate(12px, -10px) scale(.97); } }
.giris-marka { position: relative; z-index: 1; display: flex; align-items: center; gap: 12px; color: #fff; }
.giris-marka img { border-radius: 13px; box-shadow: 0 10px 24px -10px rgba(0, 0, 0, .6); }
.giris-marka span { display: flex; flex-direction: column; line-height: 1.2; }
.giris-marka strong { font-size: 1.05rem; }
.giris-marka small { color: #9cc9ae; font-size: .75rem; }
.giris-metin { position: relative; z-index: 1; max-width: 480px; animation: yuksel .7s var(--gecis) both .1s; }
.giris-etiket { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; font-size: .76rem; font-weight: 600; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .16); color: #e6f6ec; margin-bottom: 18px; }
.giris-metin h1 { color: #fff; font-size: 2.35rem; font-weight: 750; letter-spacing: -.035em; line-height: 1.12; margin-bottom: 14px; }
.giris-metin p { color: #b9dcc6; font-size: .98rem; line-height: 1.6; margin-bottom: 24px; }
.giris-metin ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.giris-metin li { display: flex; align-items: center; gap: 12px; font-size: .9rem; color: #e1f2e7; }
.giris-metin li .ic { width: 34px; height: 34px; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .12); color: #a7ebc0; }
.giris-alt { position: relative; z-index: 1; color: #88b79b; }
.giris-form-alani { width: 500px; max-width: 100%; display: flex; align-items: center; justify-content: center; padding: 40px 28px; background: #fff; }
.giris-kutu { width: 100%; max-width: 370px; animation: yuksel .6s var(--gecis) both; }
.giris-kutu h2 { font-size: 1.55rem; font-weight: 750; letter-spacing: -.03em; margin-bottom: 6px; }
.giris-mobil-marka { display: none; margin-bottom: 22px; }
.giris-mobil-marka img { border-radius: 14px; box-shadow: 0 12px 26px -12px rgba(var(--ana-rgb), .9); }
.giris-alan { position: relative; }
.giris-alan > .ic { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); color: #93a097; font-size: 1.02rem; pointer-events: none; transition: color .2s ease; }
.giris-alan:focus-within > .ic { color: var(--ana); }
.giris-alan .form-control { height: 44px; padding-left: 40px; border-radius: 12px; font-size: .9rem; background: #fbfcfa; }
.giris-alan .form-control:focus { background: #fff; }
.giris-alan .goster { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); border: 0; background: none; color: #7b887f; width: 34px; height: 34px; border-radius: 9px; }
.giris-alan .goster:hover { background: #f1f4f0; color: var(--metin); }
.giris-alan input[type=password], .giris-alan input#sifre { padding-right: 44px; }
.giris-dugme { height: 44px; border-radius: 12px; font-size: .9rem; }
.giris-dugme .ic { transition: transform .25s var(--gecis); }
.giris-dugme:hover .ic { transform: translateX(3px); }
.giris-not { margin-top: 22px; font-size: .76rem; color: var(--soluk); display: flex; align-items: center; gap: 6px; justify-content: center; }
.giris-sars { animation: sars .45s ease; }
@keyframes sars { 10%, 90% { transform: translateX(-1px); } 20%, 80% { transform: translateX(3px); } 30%, 50%, 70% { transform: translateX(-5px); } 40%, 60% { transform: translateX(5px); } }
@media (max-width: 900px) {
    .giris-tanitim { display: none; }
    .giris-form-alani { width: 100%; background: radial-gradient(90% 50% at 50% 0%, var(--ana-50), #fff 70%); }
    .giris-mobil-marka { display: block; }
}
