/* ==========================================================================
   PARTOGO Yönetim Paneli - genel stiller (Tema/Index.html temel alınarak)
   ========================================================================== */

:root {
    --accent: #2484e8;
    --control-green: #45d65b;
    --accent-rgb: 36, 132, 232;
    --soft: #eaf4ff;
    --text: #172033;
    --muted: #69768a;
    --line: #e2e8f0;
    --bg: #f6f8fb;
    --surface: #fff;
    --input-bg: #eef0f3;
    --border: #e0e6ee;
    --border-soft: #cbd3de;
    --border-faint: #e1e7ef;
    --text-soft: #344154;
    --text-softer: #4e5b6e;
    --empty-text: #8e9bad;
    --empty-icon: #c7d0dc;
    --scrollbar-thumb: #ccd4df;
    --shortcut-bg: #f7f8fa;
    --shortcut-text: #667386;
    --dropdown-shadow: 0 12px 28px rgba(20, 30, 60, .18);
    --row-selected-bg: #4b5563;
    --row-selected-text: #fff;
    --left-menu-open-width: 280px;
    --left-menu-width: var(--left-menu-open-width);
    --menu-gap: 14px;
    --shadow: 0 8px 28px rgba(27, 45, 73, .06);
    color-scheme: light;
}

:root[data-theme="dark"] {
    --soft: rgba(var(--accent-rgb), .18);
    --text: #eef1f7;
    --muted: #8b96ab;
    --line: #262c3a;
    --bg: #0a0d15;
    --surface: #12151f;
    --input-bg: #222a3a;
    --border: #262c3a;
    --border-soft: #2e3546;
    --border-faint: #232a38;
    --text-soft: #ccd3e0;
    --text-softer: #a7b0c4;
    --empty-text: #6b7690;
    --empty-icon: #333c52;
    --scrollbar-thumb: #333c50;
    --shortcut-bg: #1b212e;
    --shortcut-text: #8b96ab;
    --dropdown-shadow: 0 12px 28px rgba(0, 0, 0, .5);
    --row-selected-bg: #96a7b9;
    --row-selected-text: #000;
    --shadow: 0 8px 28px rgba(0, 0, 0, .32);
    color-scheme: dark;
}

* {
    box-sizing: border-box;
}

html, body {
    width: 100%;
    height: 100%;
    margin: 0;
}

body {
    overflow: hidden;
    background: var(--bg);
    color: var(--text);
    font-family: "Inter", "Century Gothic", "Segoe UI", Arial, sans-serif;
    font-size: 14px;
    transition: background-color .3s ease, color .3s ease;
}

    body *, body *::before, body *::after {
        transition: background-color .3s ease, border-color .3s ease, color .3s ease, box-shadow .3s ease;
    }

button, input, select {
    font: inherit;
    color: inherit;
}

/*input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not([type="range"]):not([type="color"]),
select:not([multiple]) {
    height: 27px !important;
}*/

html {
    scrollbar-color: var(--scrollbar-thumb) transparent;
    scrollbar-width: thin;
}

::-webkit-scrollbar {
    width: 3px;
    height: 3px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: var(--scrollbar-thumb) transparent;
    border-radius: 20px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--scrollbar-thumb) transparent;
}

button:not(:where(.brand, .profile, .theme-toggle, .notification, .menu-toggle, .nav-item, .sub-item, .tab-bar-item, .uk-action-card, .btn-close)),
input[type="button"], input[type="submit"], input[type="reset"] {
    height: 37.99px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.uk-section .icon-button {
    width: 27px !important;
    height: 27px !important;
    flex: 0 0 27px !important;
}

button,
input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="image"]):not([type="range"]):not([type="color"]),
select:not([multiple]),
textarea,
.ug-input-wrap {
    border-radius: 6px !important;
}

input:focus, select:focus, textarea:focus {
    background-color: rgb(250, 235, 215);
    color:#000;
}

input.n, input.nc {
    text-align: right;
}

/* Ortak satış / satın alma evrak listesi ve kartı */
.finans-evrak-liste,
.finans-evrak-kart {
    grid-column: 1 / -1;
    grid-row: 1 / -1;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
}

.finans-evrak-liste {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
}

.finans-evrak-tool-header,
.finans-evrak-kart-toolbar {
    gap: 8px;
}

.finans-evrak-tool-header .tool-search {
    min-width: 260px;
    flex: 1 1 360px;
}

.finans-evrak-toolbar-actions,
.finans-evrak-row-actions,
.finans-evrak-kart-baslik {
    display: flex;
    align-items: center;
    gap: 7px;
}

.finans-evrak-toolbar-actions {
    margin-left: auto;
}

.finans-evrak-list-card,
.finans-evrak-satir-section {
    min-height: 0;
}

.finans-evrak-table-scroll {
    height: auto;
    min-height: 0;
}

.finans-evrak-table th:last-child,
.finans-evrak-table td:last-child {
    min-width: 96px;
}

.finans-evrak-table-summary {
    gap: 14px;
}

.finans-evrak-toplamlar {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
}

.finans-evrak-summary-separator {
    opacity: .45;
}

.finans-evrak-status {
    display: inline-flex;
    padding: 2px 7px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .02em;
    color: #1d4ed8;
    background: #dbeafe;
}

.finans-evrak-status--1 { color: #7c3aed; background: #ede9fe; }
.finans-evrak-status--2 { color: #a16207; background: #fef3c7; }
.finans-evrak-status--3 { color: #047857; background: #d1fae5; }
.finans-evrak-status--4,
.finans-evrak-status--5 { color: #b91c1c; background: #fee2e2; }
.finans-evrak-status--6 { color: #c2410c; background: #ffedd5; }
.finans-evrak-status--7 { color: #0369a1; background: #e0f2fe; }

.finans-evrak-kart {
    display: flex;
    flex-direction: column;
}

.finans-evrak-kart-baslik {
    min-width: 0;
    color: var(--text, #172033);
}

.finans-evrak-kart-baslik strong {
    white-space: nowrap;
}

.finans-evrak-kart-no {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--muted, #667085);
    font-size: 12px;
}

.finans-evrak-kart-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 0 10px 10px;
}

.finans-evrak-form {
    display: grid;
    min-height: 100%;
    grid-template-rows: auto auto minmax(0, 1fr);
}

.uk-section-body.finans-evrak-form-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.finans-evrak-span-2 { grid-column: span 2; }
.finans-evrak-span-4 { grid-column: span 4; }

.uk-section-body.finans-evrak-kart-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(0, .7fr) repeat(2, minmax(0, 1fr));
    grid-template-areas: "firma odeme order evrak" "aciklama aciklama order evrak";
    grid-template-rows: auto auto;
    gap: 2px 16px;
}

.finans-evrak-kart-firma { grid-area: firma; }
.finans-evrak-kart-odeme { grid-area: odeme; }
.finans-evrak-kart-odeme .uk-field:first-child .select-look { flex: 1 1 0; min-width: 0; width: auto; }
.finans-evrak-kart-odeme .finans-evrak-odeme-ozet { width: 27px; height: 27px; flex: 0 0 27px; }
.finans-evrak-kart-odeme .finans-evrak-odeme-ozet[hidden] { display: none !important; }
.finans-evrak-kart-order { grid-area: order; }
.finans-evrak-kart-evrak { grid-area: evrak; }
.finans-evrak-kart-aciklama { grid-area: aciklama; }

.finans-evrak-no-senaryo-grubu {
    flex: 1 1 auto;
    min-width: 0;
}

.finans-evrak-no-senaryo-grubu > .finans-evrak-no,
.finans-evrak-no-senaryo-grubu > .finans-evrak-no-ozet {
    width: auto;
    flex: .85 1 0;
}

.finans-evrak-no-senaryo-grubu > .finans-evrak-ebelge-senaryo,
.finans-evrak-no-senaryo-grubu > .finans-evrak-ebelge-label {
    width: auto;
    flex: 1.15 1 0;
}

.finans-evrak-no-senaryo-grubu > [hidden] {
    display: none !important;
}

.finans-evrak-ebelge-durum {
    margin-left: 136px;
    color: var(--text-softer);
    font-size: 11px;
    line-height: 1.3;
}

.finans-evrak-kart-kolon {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: 8px;
}

.finans-evrak-firma-sec.uk-input {
    display: flex;
    flex: 1 1 0;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-width: 0;
    width: auto;
    text-align: left;
    color: var(--text-soft);
    cursor: pointer;
}

button.finans-evrak-firma-sec.uk-input {
    height: 27px !important;
}

button.finans-evrak-firma-sec.uk-input:disabled {
    opacity: 1;
    cursor: default;
}

.finans-evrak-firma-sec .finans-evrak-firma-unvan,
.finans-evrak-kart-grid .uk-field > div.uk-input:not(.finans-evrak-firma-bilgileri) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finans-evrak-firma-sec .icon {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
}

.finans-evrak-kart-grid .uk-field > div.uk-input:not(.finans-evrak-firma-bilgileri) {
    display: flex;
    align-items: center;
    color: var(--text-soft);
}

.finans-evrak-kart-grid .uk-field > div.uk-input:empty::before {
    content: "—";
    color: var(--muted);
}

.finans-evrak-earsiv-senaryo[hidden] {
    display: none !important;
}

.finans-evrak-kart-grid .uk-field[hidden] {
    display: none !important;
}

.finans-evrak-kart-grid .finans-evrak-no-ozet,
.finans-evrak-kart-grid .finans-evrak-odeme-sekli-ozet,
.finans-evrak-kart-grid .finans-evrak-earsiv-senaryo {
    flex: 1 1 auto;
    min-width: 0;
}

.finans-evrak-firma-bilgileri.uk-input {
    display: grid;
    flex: 1 1 auto;
    align-content: center;
    gap: 2px;
    height: 68px;
    padding: 7px 12px;
    color: var(--text-soft);
    line-height: 1.25;
}

.finans-evrak-firma-bilgileri > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finans-evrak-vade-kontrolleri,
.finans-evrak-doviz-kontrolleri {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.finans-evrak-vade-kontrolleri .finans-evrak-vade {
    flex: 0 0 64px;
}

.finans-evrak-vade-kontrolleri .finans-evrak-vade-tarihi {
    flex: 1 1 auto;
    min-width: 0;
}

.uk-section .finans-evrak-doviz-kontrolleri .finans-evrak-doviz {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
}

.finans-evrak-doviz-kontrolleri .uk-checks {
    flex: 0 0 auto;
    gap: 8px;
}

.finans-evrak-doviz-kontrolleri .uk-check {
    flex: 0 0 auto;
    overflow: visible;
    white-space: nowrap;
}

@media (min-width: 1101px) {
    .finans-evrak-kart-scroll { overflow: hidden; }
    .finans-evrak-form { height: 100%; min-height: 0; grid-template-rows: auto minmax(0, 1fr) auto; }
    .finans-evrak-satir-section { display: flex; flex-direction: column; }
    .uk-section-body.finans-evrak-satir-body { flex: 1 1 auto; min-height: 0; }
    .finans-evrak-satir-section .table-frame { min-height: 0; }
    .finans-evrak-satir-section .finans-evrak-satir-scroll { height: 100%; min-height: 0; }
    .finans-evrak-kart-odeme .uk-field { gap: 8px; }
    .finans-evrak-kart-odeme .uk-field-label { flex-basis: 90px; }
    .finans-evrak-kart-odeme .finans-evrak-vade { flex-basis: 48px; }
    .finans-evrak-kart-odeme .finans-evrak-doviz-kontrolleri,
    .finans-evrak-kart-odeme .uk-checks { gap: 6px; }
    .finans-evrak-kart-odeme .uk-check { gap: 5px; }
}

.finans-evrak-toolbar-fiyat {
    white-space: nowrap;
}

.finans-evrak-bilgi-tabs.uk-section-title {
    gap: 0;
    padding: 0;
}

.finans-evrak-bilgi-tablist,
.finans-evrak-bilgi-actions,
.finans-evrak-satir-actions {
    display: flex;
    height: 100%;
    align-items: stretch;
}

.finans-evrak-bilgi-actions,
.finans-evrak-satir-actions { margin-left: auto; }

.finans-evrak-firma-ust-bilgiler,
.finans-evrak-urun-ust-bilgiler {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 10px;
    margin-left: 14px;
    overflow: auto hidden;
    color: var(--text-softer);
    font-size: 11px;
    white-space: nowrap;
}

.finans-evrak-firma-ust-bilgiler[hidden],
.finans-evrak-urun-ust-bilgiler[hidden] { display: none !important; }

.finans-evrak-firma-ust-bilgiler strong,
.finans-evrak-urun-ust-bilgiler strong {
    display: inline-block;
    padding: 2px 5px;
    border-radius: 4px;
    background: var(--input-bg);
    color: var(--text-soft);
    font-size: 11px;
}

.finans-evrak-firma-ust-bilgiler strong.is-credit,
.finans-evrak-urun-ust-bilgiler strong.is-positive { background: #047857; color: #fff; }
.finans-evrak-firma-ust-bilgiler strong.is-debt,
.finans-evrak-urun-ust-bilgiler strong.is-negative { background: #b91c1c; color: #fff; }

.finans-evrak-bilgi-action {
    display: inline-flex;
    height: 100% !important;
    align-items: center;
    gap: 5px;
    padding: 0 10px;
    border: 0;
    background: transparent;
    color: var(--accent);
    font: inherit;
    font-size: 11.5px;
    white-space: nowrap;
    cursor: pointer;
}

.finans-evrak-bilgi-action:hover:not(:disabled),
.finans-evrak-bilgi-action:focus-visible { background: rgba(var(--accent-rgb), .1); }
.finans-evrak-bilgi-action:disabled { color: var(--muted); cursor: default; }
.finans-evrak-bilgi-action .icon { width: 15px; height: 15px; }

.finans-evrak-satir-baslik { padding-right: 5px; }
.finans-evrak-satir-baslik > span { white-space: nowrap; }
.finans-evrak-urun-ust-bilgiler { flex: 1 1 auto; }

.finans-evrak-bilgi-tab {
    position: relative;
    display: inline-flex;
    height: 100% !important;
    align-items: center;
    gap: 7px;
    padding: 0 16px !important;
    border: 0;
    border-right: 1px solid var(--line);
    border-radius: 0 !important;
    outline: 0;
    background: transparent;
    color: var(--text-softer);
    font: inherit;
    font-weight: 650;
}

.finans-evrak-bilgi-tab::after {
    position: absolute;
    right: 12px;
    bottom: 0;
    left: 12px;
    height: 2px;
    border-radius: 2px 2px 0 0;
    background: transparent;
    content: "";
}

.finans-evrak-bilgi-tab:hover,
.finans-evrak-bilgi-tab:focus-visible {
    background: rgba(var(--accent-rgb), .08);
    color: var(--accent);
}

.finans-evrak-bilgi-tab.is-active {
    background: var(--surface);
    color: var(--accent);
}

.finans-evrak-bilgi-tab.is-active::after {
    background: var(--accent);
}

.finans-evrak-bilgi-tab .icon {
    width: 16px;
    height: 16px;
}

.finans-evrak-bilgi-paneller {
    min-height: 0;
}

.finans-evrak-bilgi-panel:not(.is-active) {
    display: none !important;
}

.uk-section-body.finans-evrak-diger-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.finans-evrak-diger-kolon {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 8px;
}

.finans-evrak-diger-kolon > .uk-field:has(textarea) {
    flex: 0 0 auto;
}

.finans-evrak-diger-kolon textarea.uk-input {
    height: 35px;
    min-height: 35px;
    padding: 6px 12px;
    resize: vertical;
}

.uk-section-body.finans-evrak-satir-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
}

.finans-evrak-satir-scroll {
    max-height: 390px;
    min-height: 190px;
}

.finans-evrak-satir-table {
    min-width: 1540px;
}

.finans-evrak-satir-section .table-frame {
    border-radius: 0;
}

.finans-evrak-satir-table .uk-input {
    width: 100%;
    min-width: 0;
    height: 30px;
    padding: 4px 6px;
    border-radius: 0 !important;
}

.finans-evrak-satir-table .uk-input:focus {
    outline: 1px solid var(--accent);
    outline-offset: -1px;
}

.finans-evrak-satir-table .uk-input.is-filled {
    border-color: var(--border);
    box-shadow: none;
}

.finans-evrak-satir-table .uk-input.finans-evrak-satir-uyari-kirmizi { border-color: #dc2626 !important; box-shadow: inset 0 0 0 1px #dc2626 !important; }
.finans-evrak-satir-table .uk-input.finans-evrak-satir-uyari-turuncu { border-color: #f59e0b !important; box-shadow: inset 0 0 0 1px #f59e0b !important; }

.finans-evrak-satir-table td {
    padding: 0;
}

.finans-evrak-satir-table td:not(:has(.uk-input)):not(:last-child) {
    padding: 5px 7px;
}

.finans-evrak-satir-table td:last-child {
    text-align: center;
}

.finans-evrak-satir-table th[data-column-key="islem"] { width: 34px; min-width: 34px; padding: 0; text-align: center; }
.finans-evrak-satir-table th[data-column-key="islem"] .icon { width: 16px; height: 16px; }
.finans-evrak-satir-indirimli-baslik { display: inline-block; width: 96px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: middle; }

.finans-evrak-satir-sil { display: grid; place-items: center; width: 100%; height: 30px; padding: 0 !important; border-radius: 0 !important; }
.finans-evrak-satir-sil .icon { width: 16px; height: 16px; }

.finans-evrak-satir-bos .finans-evrak-satir-urun-arama { border-color: var(--border) !important; }
.finans-evrak-satir-bos td:not(:first-child) { background: var(--surface); }
.pg-dropdown-panel.finans-evrak-kalem-oneri { position: fixed; right: auto; min-width: 0; max-height: 320px; overflow-y: auto; z-index: 1000; }
.finans-evrak-kalem-oneri .pg-dropdown-panel__item { width: 100%; border: 0; background: transparent; text-align: left; font: inherit; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; }
.finans-evrak-kalem-oneri .pg-dropdown-panel__item.is-selected { background: var(--input-bg); color: var(--text); }

.finans-evrak-alt-alan { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 10px; align-self: end; margin-top: 10px; }
.finans-evrak-alt-hareketler { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-self: end; align-items: end; gap: 8px; min-width: 0; }
.finans-evrak-alt-panel, .finans-evrak-alt-toplamlar { min-width: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); }
.finans-evrak-alt-panel-baslik { display: flex; align-items: center; justify-content: space-between; gap: 5px; min-height: 29px; padding: 0 5px; border-bottom: 1px solid var(--border-soft); }
.finans-evrak-alt-panel-baslik strong { flex: 0 0 auto; color: var(--accent); font-size: 10px; white-space: nowrap; }
.finans-evrak-alt-sekmeler { display: flex; min-width: 0; overflow-x: auto; }
button.finans-evrak-alt-sekme { height: 24px !important; padding: 0 4px !important; border: 0; border-bottom: 2px solid transparent; border-radius: 0 !important; background: transparent; color: var(--text-softer); font-size: 10px; white-space: nowrap; }
button.finans-evrak-alt-sekme.has-record { color: #047857; }
button.finans-evrak-alt-sekme.has-record[data-tur$="-fatura"] { font-weight: 800; }
button.finans-evrak-alt-sekme.has-record[data-tur$="-fatura"]::before { content: "●"; margin-right: 3px; color: #047857; }
button.finans-evrak-alt-sekme.is-active { border-bottom-color: var(--accent); color: var(--text); font-weight: 800; }
.finans-evrak-alt-scroll:has(> table[data-pg-table-variant="finans-evrak-alt"]) { height: 104px; min-height: 0; max-height: 104px; }
table[data-pg-table-variant="finans-evrak-alt"] { min-width: 550px; }
table[data-pg-table-variant="finans-evrak-alt"] th, table[data-pg-table-variant="finans-evrak-alt"] td { height: 22px; padding: 3px 5px; font-size: 9px; }
.finans-evrak-alt-toplamlar { display: flex; flex-direction: column; justify-content: flex-end; gap: 4px; padding: 7px; }
.finans-evrak-alt-toplamlar > div:not(.finans-evrak-alt-toplam-baslik) { display: flex; align-items: center; justify-content: space-between; gap: 6px; min-height: 27px; padding: 3px 6px; border-radius: 6px; background: var(--input-bg); font-size: 11px; }
.finans-evrak-alt-toplamlar > div:last-child { border: 1px solid var(--accent); font-weight: 800; }
.finans-evrak-alt-toplamlar .finans-evrak-alt-toplam-baslik { padding: 4px 6px; color: var(--accent); font-size: 12px; font-weight: 800; }
.finans-evrak-alt-toplamlar strong { min-width: 75px; text-align: right; color: var(--text); }
button.finans-evrak-vergi-detay { width: 21px !important; height: 21px !important; padding: 0 !important; margin-left: 3px; vertical-align: middle; align-self: center; display: grid; place-items: center; background: var(--surface); color: var(--text-soft); border: 1px solid var(--border-soft); }
.finans-evrak-vergi-detay .icon { transform: rotate(90deg); }


.uk-modal.finans-evrak-alt-iskonto-modal .modal-dialog { max-width: 480px; }
.uk-modal.finans-evrak-odeme-modal .modal-dialog { max-width: 480px; }
.finans-evrak-odeme-modal .modal-body { display: grid; gap: 8px; }
.finans-evrak-odeme-firma { margin: 0 0 4px; color: var(--text-soft); }
.finans-evrak-odeme-toplam { margin-right: auto; font-weight: 700; }
.uk-modal.finans-evrak-vergi-modal .modal-dialog { max-width: 480px; }
.uk-modal.finans-evrak-analiz-modal .modal-dialog { width: calc(100% - 32px); max-width: 1480px; }
.uk-modal.finans-evrak-urun-hareket-modal .modal-dialog { max-width: 1260px; }
.uk-modal.finans-evrak-kalem-secim-modal .modal-dialog { width: 100vw; max-width: none; height: 100vh; margin: 0; }
.uk-modal.finans-evrak-kalem-secim-modal .modal-content { height: 100vh; max-height: none; border-radius: 0; }
.uk-modal.finans-evrak-kalem-secim-modal .modal-body { display: flex; flex-direction: column; gap: 9px; overflow: hidden; }
.finans-evrak-kalem-secim-arama-wrap { width: 100%; max-width: none; }
.finans-evrak-kalem-secim-modal input.finans-evrak-kalem-secim-arama:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="image"]):not([type="range"]):not([type="color"]) { border-radius: 0 !important; }
.table-frame.finans-evrak-kalem-secim-frame { flex: 1 1 auto; min-height: 0; border-radius: 0; }
.finans-evrak-kalem-secim-table { min-width: 760px; }
.finans-evrak-kalem-secim-ozet { justify-content: space-between; }
.finans-evrak-islem-aciklama { margin: 10px 0 0; color: var(--text-softer); font-size: 12px; }
.finans-evrak-islem-table-scroll { min-height: 160px; max-height: min(55vh, 480px); }
.finans-evrak-analiz-body { display: grid; gap: 10px; min-height: 0; overflow: hidden; }
.finans-evrak-analiz-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; min-height: 0; }
.finans-evrak-analiz-grup { min-width: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); }
.finans-evrak-analiz-grup-baslik { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 34px; padding: 6px 9px; border-bottom: 1px solid var(--border); font-size: 11px; }
.finans-evrak-analiz-grup-baslik span { font-weight: 800; }
.finans-evrak-analiz-grup--kazanc .finans-evrak-analiz-grup-baslik { color: #15803d; background: rgba(34, 197, 94, .09); }
.finans-evrak-analiz-grup--zarar .finans-evrak-analiz-grup-baslik { color: #dc2626; background: rgba(239, 68, 68, .09); }
.finans-evrak-analiz-grup--belirsiz .finans-evrak-analiz-grup-baslik { color: #b45309; background: rgba(245, 158, 11, .1); }
.finans-evrak-analiz-scroll { max-height: min(55vh, 480px); }
.finans-evrak-analiz-table { min-width: 570px; }
.finans-evrak-analiz-table th, .finans-evrak-analiz-table td { height: 27px; padding: 4px 6px; font-size: 9.5px; }
.finans-evrak-urun-hareket-table { min-width: 920px; }
.finans-evrak-analiz-ozet { justify-content: flex-end; gap: 18px; }

@media (max-width: 1180px) {
    .finans-evrak-analiz-body { overflow-y: auto; }
    .finans-evrak-analiz-grid { grid-template-columns: 1fr; }
    .finans-evrak-analiz-scroll { max-height: 280px; }
}

.finans-evrak-firma-secim-modal .modal-dialog {
    width: calc(100% - 48px);
    max-width: 1040px;
}

.finans-evrak-firma-secim-modal .modal-content {
    height: min(650px, calc(100vh - 48px));
}

.finans-evrak-firma-secim-modal .modal-body {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    gap: 10px;
    overflow: hidden;
    padding: 14px 18px 18px;
}

.finans-evrak-firma-secim-aciklama {
    margin: 0;
    color: var(--text-softer);
    font-size: 12px;
}

.finans-evrak-firma-secim-arama-wrap {
    width: 100%;
    max-width: none;
    flex-basis: auto;
}

.finans-evrak-firma-secim-frame {
    height: 100%;
}

.finans-evrak-firma-secim-table-scroll {
    min-height: 240px;
}

.finans-evrak-firma-secim-table {
    min-width: 760px;
}

.finans-evrak-firma-secim-ozet {
    justify-content: space-between;
    gap: 12px;
}

.modal-backdrop.finans-evrak-firma-secim-backdrop {
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}

@media (max-width: 1100px) {
    .finans-evrak-alt-alan { grid-template-columns: 1fr; }
    .uk-section-body.finans-evrak-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .finans-evrak-span-4 { grid-column: span 2; }
    .uk-section-body.finans-evrak-kart-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "firma odeme" "aciklama aciklama" "order evrak"; grid-template-rows: auto; }
    .uk-section-body.finans-evrak-diger-grid { grid-template-columns: 1fr; }
    .finans-evrak-bilgi-paneller { min-height: 0; }
}

@media (max-width: 700px) {
    .finans-evrak-alt-hareketler { grid-template-columns: 1fr; }
    .uk-section-body.finans-evrak-form-grid { grid-template-columns: 1fr; }
    .uk-section-body.finans-evrak-kart-grid { grid-template-columns: 1fr; grid-template-areas: "firma" "odeme" "aciklama" "order" "evrak"; }
    .finans-evrak-span-2,
    .finans-evrak-span-4 { grid-column: span 1; }
    .finans-evrak-bilgi-tab { flex: 1 1 50%; justify-content: center; padding: 0 8px !important; }
}

    input.n:placeholder-shown, input.nc:placeholder-shown {
        text-align: left;
    }

input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.sprite {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
}

.icon {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8px;
    stroke-linecap: round;
    stroke-linejoin: round;
}

img{
    max-width:100%
}
.text-right{
    text-align:right;
}

.page {
    display: grid;
    grid-template-rows: 34px 66px 72px minmax(0, 1fr) 24px;
    width: 100%;
    height: 100vh;
    padding: 0 18px 0 18px;
}

/* ana modül menüsü (main-nav) ve topbar'ın tamamı her zaman DOM'da ama sadece
   anasayfa sekmesi aktifken görünür; başka bir sekme aktifken ikisi de kalkar,
   o sekmenin kendi araç çubuğu (.tool-header, kendi konumunda kalır) üst sekme
   satırının hemen altına çıkar. Bu class master.js (sekmeAktifEt) tarafından
   dinamik olarak değiştirilir. */
.page.page-no-mainnav {
    grid-template-rows: 34px minmax(0, 1fr) 24px;
}

    .page.page-no-mainnav .main-nav,
    .page.page-no-mainnav .topbar {
        display: none;
    }

.page:not(.page-no-mainnav) .menu-launcher {
    display: none;
}

/* Bütün ekranlarda görünen ince döviz ve kullanıcı bilgi bannerı. */
.app-footer {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    margin: 0 -18px;
    padding: 0 18px;
    overflow: hidden;
    border-top: 1px solid var(--accent);
    background: var(--surface);
    color: var(--text-softer);
    font-size: 10px;
    line-height: 1;
    white-space: nowrap;
}

.app-footer__rates,
.app-footer__identity {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.app-footer__rate b {
    color: var(--text-soft);
    font-weight: 700;
}

.app-footer__rate-value {
    color: #d97706;
    font-weight: 800;
}

:root[data-theme="dark"] .app-footer__rate-value,
.app-footer__rate.is-changed .app-footer__rate-value {
    color: #22c55e;
}

.app-footer__rate-edit.icon-button {
    width: 18px;
    height: 18px;
    min-width: 18px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--text-soft);
}

.app-footer__rate-edit .icon {
    width: 12px;
    height: 12px;
}

.doviz-kur-panel[hidden] {
    display: none !important;
}

.doviz-kur-panel {
    position: fixed;
    left: 18px;
    bottom: 29px;
    z-index: 1080;
    display: grid;
    width: min(430px, calc(100vw - 36px));
    max-height: min(560px, calc(100vh - 70px));
    gap: 8px;
    padding: 10px;
    overflow: hidden;
    border: 1px solid var(--border-soft);
    border-radius: 9px;
    background: var(--surface);
    color: var(--text);
    box-shadow: var(--dropdown-shadow);
}

.doviz-kur-panel__baslik,
.doviz-kur-panel__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.doviz-kur-panel__baslik strong {
    color: var(--accent);
    font-size: 12px;
}

.doviz-kur-panel__kapat.icon-button {
    width: 25px;
    height: 25px;
    padding: 0;
}

.doviz-kur-panel__scroll {
    max-height: 330px;
}

.doviz-kur-panel__table {
    min-width: 390px;
}

.doviz-kur-panel__table th,
.doviz-kur-panel__table td {
    height: 29px;
    padding: 3px 5px;
    font-size: 10px;
}

.doviz-kur-panel__table input.uk-input {
    min-width: 110px;
    height: 27px !important;
    border-radius: 0 !important;
    color: #d97706;
    text-align: right;
}

:root[data-theme="dark"] .doviz-kur-panel__table input.uk-input,
.doviz-kur-panel__table tr.is-changed input.uk-input,
.doviz-kur-panel__table tr.is-changed strong {
    color: #22c55e;
    font-weight: 800;
}

.doviz-kur-panel__resmi-kur {
    margin: 0;
    font-size: 10.5px;
}

.doviz-kur-panel__actions {
    justify-content: flex-end;
}

.app-footer__divider {
    width: 1px;
    height: 12px;
    flex: 0 0 1px;
    background: var(--border);
}

.app-footer__identity {
    gap: 8px;
    overflow: hidden;
    font-size: 9px;
}

.app-footer__identity strong,
.app-footer__identity span {
    overflow: hidden;
    text-overflow: ellipsis;
}

.app-footer__identity strong {
    color: var(--text-soft);
    font-weight: 600;
}

.app-footer__icons {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
    margin-left: auto;
    color: var(--text-soft);
}

/* --------------------------------- Topbar --------------------------------- */

.topbar {
    display: grid;
    grid-template-columns: auto minmax(260px, 1fr) auto;
    align-items: center;
    gap: 25px;
    margin: 0 -18px;
    padding: 0 18px;
    color: #f8fafc;
    background: #07090d;
    box-shadow: 0 7px 22px rgba(7, 9, 13, .16);
}

.identity, .brand, .actions, .rates, .profile, .exit {
    display: flex;
    align-items: center;
}

.identity {
    min-width: max-content;
}

.menu-launcher {
    margin-right: 14px;
}

.brand {
    flex: 0 0 var(--left-menu-open-width);
    width: var(--left-menu-open-width);
    height: 50px;
    padding: 0 24px 0 0;
    border: 0;
    border-right: 1px solid #2a303a;
    border-radius: 0;
    background: transparent;
    gap: 10px;
    color: var(--accent);
    cursor: pointer;
    font: inherit;
    text-align: left;
}

    .brand svg {
        width: 30px;
        height: 30px;
        flex-shrink: 0;
    }

.brand-wordmark {
    font-weight: 700;
    font-size: 17px;
    letter-spacing: .5px;
    color: #fff;
    white-space: nowrap;
}

.identity-text {
    min-width: 165px;
    padding-left: 24px;
    line-height: 1.15;
}

    .identity-text strong {
        display: block;
        overflow: hidden;
        color: #fff;
        font-size: 14px;
        font-weight: 700;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .identity-text span {
        display: block;
        overflow: hidden;
        margin-top: 5px;
        color: #aab3c1;
        font-size: 10px;
        font-weight: 400;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

/* topbar sadece anasayfa sekmesinde göründüğü için "Hızlı ara" + döviz kurları
   (.rates) burada her zaman birlikte durur (bkz. .page-no-mainnav .topbar). */
.topbar-middle {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    min-width: 0;
}

.search {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
}

    .search > .icon {
        position: absolute;
        left: 15px;
        top: 50%;
        width: 17px;
        color: #9ca7b7;
        transform: translateY(-50%);
    }

    .search input {
        width: 100%;
        height: 42px;
        padding: 0 70px 0 43px;
        border: 1px solid var(--border-soft);
        border-radius: 10px;
        outline: 0;
        background: var(--input-bg);
        color: var(--text);
        box-shadow: 0 3px 12px rgba(0, 0, 0, .18);
        font-size: 14px;
        transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
    }

        .search input::placeholder {
            color: var(--shortcut-text);
        }

        .search input:focus, .tool-search input:focus {
            border-color: #9cc7f2;
            background: rgb(250, 235, 215);
            box-shadow: 0 0 0 3px rgba(36, 132, 232, .12);
            color:#000
        }

.shortcut {
    position: absolute;
    right: 9px;
    top: 50%;
    padding: 5px 7px;
    border: 1px solid var(--border-soft);
    border-radius: 6px;
    color: var(--shortcut-text);
    background: var(--shortcut-bg);
    font-size: 10px;
    transform: translateY(-50%);
}

.actions {
    justify-content: flex-end;
    gap: 12px;
    min-width: max-content;
}

.rates {
    flex: 0 0 auto;
    gap: 7px;
}

.rate {
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    gap: 1px 8px;
    min-width: 101px;
    height: 42px;
    padding: 6px 11px;
    border: 1px solid #2c3440;
    border-radius: 10px;
    background: #141a24;
    box-shadow: 0 3px 12px rgba(0, 0, 0, .18);
}

    .rate .icon {
        grid-row: 1/3;
        width: 18px;
        color: #2484e8;
    }

    .rate b {
        font-size: 10px;
    }

    .rate span {
        color: #16a36d;
        font-size: 11px;
        font-weight: 700;
    }

.notification, .theme-toggle {
    position: relative;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 0;
    background: transparent;
    padding: 0;
    cursor: pointer;
}

.theme-toggle .icon {
    color: #aab3c1;
    transition: transform .35s cubic-bezier(.22, 1, .36, 1), color .2s ease;
}

.theme-toggle:hover .icon {
    color: #f8fafc;
    transform: rotate(-14deg);
}

.theme-toggle__sun {
    display: none;
}

:root[data-theme="dark"] .theme-toggle__moon {
    display: none;
}

:root[data-theme="dark"] .theme-toggle__sun {
    display: block;
}

.badge {
    position: absolute;
    right: 0;
    top: -2px;
    display: grid;
    place-items: center;
    width: 17px;
    height: 17px;
    border: 2px solid #07090d;
    border-radius: 50%;
    background: #1681e5;
    color: #fff;
    font-size: 8px;
    font-weight: 700;
}

.profile {
    position: relative;
    gap: 7px;
    border: 0;
    background: transparent;
    padding: 0;
    cursor: pointer;
}

.avatar {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #26354b;
    color: #9bcaff;
    font-size: 11px;
    font-weight: 700;
}

.exit {
    gap: 7px;
    height: 40px;
    padding: 0 13px;
    border: 1px solid #b91c1c;
    border-radius: 9px;
    background: #dc2626;
    color: #fff;
    font-size: 12px;
    text-decoration: none;
    cursor: pointer;
}

    .exit .icon {
        width: 17px;
    }

/* -------------------------------- Ana menü -------------------------------- */

.main-nav {
    position: relative;
    align-self: center;
    display: flex;
    align-items: stretch;
    width: 100%;
    height: 56px;
    overflow: visible;
    border: 0;
    background: transparent;
}

    .main-nav:before {
        content: '';
        position: absolute;
        inset: 0 0 0 calc(var(--left-menu-width) + var(--menu-gap));
        border: 1px solid var(--border);
        border-radius: 11px;
        background: var(--surface);
        box-shadow: var(--shadow);
        transition: left .24s ease;
    }

.nav-item {
    position: relative;
    z-index: 1;
    flex: 1 1 0;
    order: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-width: 115px;
    padding: 0 10px;
    border: 0;
    background: transparent;
    color: var(--text-soft);
    cursor: pointer;
    white-space: nowrap;
    font-size: 14px;
    font-weight: 600;
    user-select: none;
}

    .nav-item .icon {
        width: 18px;
        color: var(--text-softer);
    }

    .nav-item.active {
        flex: 0 0 var(--left-menu-width);
        order: -1;
        min-width: var(--left-menu-width);
        margin-right: var(--menu-gap);
        border: 1px solid var(--border);
        border-bottom: 4px solid var(--accent);
        border-radius: 11px;
        color: var(--accent);
        background: linear-gradient(to top, rgba(var(--accent-rgb), .35) 0%, rgba(var(--accent-rgb), .13) 54%, var(--surface) 100%);
        box-shadow: var(--shadow);
        transition: flex-basis .24s ease, min-width .24s ease;
    }

        .nav-item.active .icon {
            color: var(--accent);
        }

    .nav-item:focus-visible {
        z-index: 2;
        outline: 2px solid var(--accent);
        outline-offset: -3px;
    }

/* -------------------------------- Çalışma alanı ---------------------------- */

/* Çalışma alanı PARTOGO'daki MDI (birden fazla form aynı anda açık)
   davranışının panel bölümüdür. Açık sekmeler sayfanın en üstündeki .tab-bar
   içinde tutulur; aynı anda yalnızca aktif panel (.is-active) görünür. */
.workspace {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    padding-top: 10px;
}

.tab-bar {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    margin: 0 -18px;
    padding: 8px 18px 0;
    border-bottom: 1px solid var(--accent);
    background: var(--surface);
}

.tab-bar__tabs {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 0 1 auto;
    min-width: 0;
    scrollbar-width: none;
}

.tab-bar__tabs::-webkit-scrollbar {
    display: none;
}

.quick-menu {
    flex: 0 0 auto;
    align-self: stretch;
}

.quick-menu > .tool-btn {
    height: 25px;
}

.quick-menu > .quick-menu__panel {
    position: fixed;
    top: 34px;
    bottom: 24px;
    left: 0;
    right: auto;
    width: min(320px, 100vw);
    min-width: 0;
    max-height: none;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.quick-menu__panel button.pg-dropdown-panel__item {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
}

.quick-menu__panel button.pg-dropdown-panel__item:hover {
    background: var(--input-bg);
}

.quick-menu__row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 4px;
}

.quick-menu__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    position: sticky;
    top: -8px;
    z-index: 1;
    padding: 8px 0;
    background: var(--surface);
    border-bottom: 1px solid var(--line);
}

.quick-menu__group > summary {
    cursor: pointer;
    padding: 10px 8px;
    color: var(--accent);
}

.quick-menu__panel .quick-menu__choice {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    cursor: pointer;
}

.quick-menu__shortcut {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.quick-menu__shortcut:not(:empty) {
    margin-top: 6px;
}

.tab-bar-item {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    height: 25px;
    padding: 0 10px 0 14px;
    border: 1px solid var(--border);
    /* border-radius: 0 0 8px 8px; */
    background: var(--input-bg);
    color: var(--text-softer);
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    border-radius: 8px 8px 0 0 !important;
}

.tab-bar-item.active {
    position: relative;
    top: 1px;
    z-index: 1;
    border-color: var(--accent);
    border-bottom: 0;
    background: var(--surface);
    color: var(--text);
}

.tab-bar-item.active::after {
    position: absolute;
    right: -1px;
    bottom: -1px;
    left: -1px;
    z-index: 2;
    height: 3px;
    background: var(--surface);
    content: '';
    pointer-events: none;
}

.tab-bar-item__close {
    display: grid;
    place-items: center;
    width: 18px;
    height: 18px;
    border-radius: 5px;
    color: var(--text-softer);
    font-size: 15px;
    line-height: 1;
}
.tab-bar-item__close:hover {
        background: var(--soft);
        color: var(--accent);
    }


.tab-panel-area {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
}

.tab-panel {
    display: none;
    grid-template-columns: var(--left-menu-width) minmax(440px, 1fr) minmax(320px, .76fr);
    gap: var(--menu-gap);
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    /* .tool-header'ın "..." düğmesine daralması (aşağıdaki @container sorgusu)
       sekmenin kendi genişliğine göre çalışsın diye sorgu kapsayıcısı yapılıyor. */
    container-type: inline-size;
    transition: grid-template-columns .24s ease;
}

    .tab-panel.is-active {
        display: grid;
    }

/* .tool-header içeren sekmelerde (araç çubuğu + tam genişlik tablo) satırlar
   varsayılan olarak eşit yükseklikte gerilir; araç çubuğu kendi içeriği kadar
   yer kaplasın, kalan tüm yükseklik tablo kartına ayrılsın diye override edilir.
   margin-top: workspace'in üst boşluğunu (10px) iptal eder, araç çubuğu (siyah)
   sayfanın en üstüne boşluksuz otursun diye — bkz. .tool-header. */
.tab-panel:has(.tool-header) {
    grid-template-rows: auto minmax(0, 1fr);
    margin-top: -10px;
}

.tab-panel:has(> .tool-header #txtUrunArama) {
    row-gap: 0;
}

.card {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.subnav {
    display: flex;
    flex-direction: column;
    border-top: 4px solid var(--accent);
}

.subnav-head {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 0 14px;
    border-bottom: 1px solid var(--line);
    color: var(--accent);
}

    .subnav-head .icon {
        width: 22px;
        height: 22px;
    }

    .subnav-head strong {
        color: var(--text);
        font-size: 15px;
    }

.menu-toggle {
    display: grid;
    place-items: center;
    flex: 0 0 31px;
    width: 31px;
    height: 31px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 7px;
    background: var(--soft);
    color: var(--accent);
    cursor: pointer;
}

    .menu-toggle:hover {
        border-color: rgba(var(--accent-rgb), .28);
    }

    .menu-toggle .icon {
        width: 19px;
        height: 19px;
        color: var(--accent);
    }

.subnav-items {
    overflow-y: auto;
    padding: 10px;
    scrollbar-color: var(--scrollbar-thumb) transparent;
    scrollbar-width: thin;
}

.sub-item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 40px;
    padding: 7px 11px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--text-softer);
    cursor: pointer;
    text-align: left;
    font-size: 14px;
}

    .sub-item .icon {
        width: 17px;
        height: 17px;
        color: var(--text-softer);
    }

    .sub-item:hover {
        background: var(--input-bg);
    }

    .sub-item.active {
        background: var(--soft);
        color: var(--accent);
        font-weight: 700;
    }

        .sub-item.active .icon {
            color: var(--accent);
        }

    /* henüz gerçek bir sayfası olmayan (url tanımlanmamış) menü öğesi */
    .sub-item:disabled {
        opacity: .4;
        cursor: not-allowed;
    }

        .sub-item:disabled:hover {
            background: transparent;
        }

.data-card {
    grid-column: 2;
    display: grid;
    grid-template-rows: 58px minmax(0, 1fr);
}

.card-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 15px;
    border-bottom: 1px solid var(--line);
}

    .card-head > .icon {
        width: 21px;
        height: 21px;
        color: var(--accent);
    }

    .card-head h2, .card-head h3 {
        margin: 0;
        font-size: 15px;
    }

.card-tools {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-left: auto;
}

.select-look, .icon-button {
    height: 27px;
    border: 1px solid var(--border);
    border-radius: 7px;
    background: var(--input-bg);
    color: var(--text-softer);
    font-size: 14px;
}

.select-look {
    width: 200px;
    padding: 0 30px 0 10px;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
    background-position: calc(100% - 13px) 50%, calc(100% - 9px) 50%;
    background-repeat: no-repeat;
    background-size: 4px 4px;
}

.icon-button {
    display: grid;
    place-items: center;
    width: 36px;
    padding: 0;
    cursor: pointer;
    background: #3fb552;
    color:#000;
}

.icon-button.filter-button {
    width: 27px !important;
    height: 27px !important;
    flex: 0 0 27px;
}

    .icon-button .icon {
        width: 16px;
    }

.table-area {
    min-width: 0;
    min-height: 0;
    display: flex;
    padding: 12px;
}

.table-frame {
    min-width: 0;
    min-height: 100%;
    flex: 1 1 auto;
    overflow: hidden;
    border: 1px solid var(--border-faint);
    border-radius: 9px;
}

.main-table-frame {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.urun-table-summary {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 30px;
    padding: 0 12px;
    border-top: 1px solid var(--border-soft);
    background: var(--input-bg);
    color: var(--text-softer);
    font-size: 11px;
    font-weight: 700;
}

.urun-arama-table-summary {
    justify-content: flex-start;
}

.table-scroll {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    overflow: auto;
}

/* Dikey kaydırma izi başlık satırının altında başlar. */
.table-scroll::-webkit-scrollbar,
.ug-table-wrap::-webkit-scrollbar {
    background: var(--surface);
}

.table-scroll::-webkit-scrollbar-button:vertical:decrement:start,
.ug-table-wrap::-webkit-scrollbar-button:vertical:decrement:start {
    display: block;
    height: 28px;
    background: #0a0d12;
}

.table-scroll::-webkit-scrollbar-track,
.ug-table-wrap::-webkit-scrollbar-track {
    background: var(--surface);
}

.table-scroll::-webkit-scrollbar-thumb,
.ug-table-wrap::-webkit-scrollbar-thumb {
    border-radius: 8px;
    background: var(--scrollbar-thumb);
}

.ug-table-wrap::-webkit-scrollbar-button:vertical:decrement:start {
    background: var(--bg);
}

table {
    width: 100%;
    /* thead th'ye position:sticky uygulayabilmek için collapse yerine separate kullanılıyor
       (border-collapse: collapse ile sticky birlikte çalışmıyor); hücrelerde sadece sağ/alt
       kenarlık tanımlı olduğundan görünüm collapse ile birebir aynı kalıyor. */
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    user-select: none;
    -webkit-user-select: none;
}

table input, table textarea, table [contenteditable="true"] {
    user-select: text;
    -webkit-user-select: text;
}

th {
    position: sticky;
    top: 0;
    z-index: 1;
    height: 28px;
    padding: 0 14px;
    border-right: 1px solid #59616d;
    border-bottom: 1px solid #59616d;
    background: #0a0d12;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* sütun genişletme/daraltma tutamacı: th'nin sağ kenarına bindirilir, sürüklenince sütun genişliğini değiştirir */
.th-resizer {
    position: absolute;
    top: 0;
    right: -3px;
    width: 6px;
    height: 100%;
    cursor: col-resize;
    z-index: 2;
    touch-action: none;
}

    .th-resizer:hover, .th-resizer.is-resizing {
        background: rgba(255, 255, 255, .25);
    }

.pg-table-settings-host {
    position: relative;
}

.pg-table-settings-button {
    position: absolute;
    top: var(--pg-table-settings-top, 2px);
    right: var(--pg-table-settings-right, 4px);
    z-index: 5;
    display: grid;
    width: 25px !important;
    height: 24px !important;
    padding: 0 !important;
    place-items: center;
    border: 1px solid #59616d;
    border-radius: 5px !important;
    background: #171c24;
    color: #d9e0ea;
    cursor: pointer;
    box-shadow: 0 2px 7px rgba(0, 0, 0, .25);
}

    .pg-table-settings-button .icon {
        width: 14px;
        height: 14px;
    }

    .pg-table-settings-button:hover, .pg-table-settings-button:focus-visible {
        border-color: var(--accent);
        background: var(--accent);
        color: #07140b;
        outline: 0;
    }

tbody tr[tabindex="-1"]:focus {
    outline: 0;
}

tbody tr[tabindex="-1"]:focus-visible td {
    box-shadow: inset 0 0 0 1px var(--accent);
}

td {
    height: 28px;
    padding: 0 14px;
    border-right: 1px solid var(--border-soft);
    border-bottom: 1px solid var(--border-soft);
    color: var(--text-soft);
    font-size: 12px;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tooltiptext.table-tooltiptext {
    position: fixed;
    z-index: 1090;
    width: max-content;
    max-width: min(420px, calc(100vw - 16px));
    padding: 7px 10px;
    border: 1px solid #394250;
    border-radius: 6px;
    background: #0a0d12;
    color: #fff;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .36);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    overflow-wrap: anywhere;
    pointer-events: none;
    white-space: normal;
    opacity: 0;
    visibility: hidden;
    transform: translateY(3px);
    transition: opacity .12s ease, transform .12s ease, visibility 0s linear .12s;
}

.pg-dropdown-panel.pg-table-context-menu {
    position: fixed;
    right: auto;
    top: 0;
    z-index: 1095;
    min-width: 130px;
}

.pg-table-context-menu.is-open {
    display: block;
}

.pg-table-context-menu .pg-dropdown-panel__item {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.pg-table-context-menu .pg-dropdown-panel__item:hover,
.pg-table-context-menu .pg-dropdown-panel__item:focus-visible {
    background: var(--input-bg);
    outline: 0;
}

    .tooltiptext.table-tooltiptext.is-visible {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        transition-delay: 0s;
    }

table button,
table input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="image"]):not([type="range"]):not([type="color"]),
table textarea,
table select:not([multiple]) {
    width: 100% !important;
    max-width: none !important;
    height: 27px !important;
    margin: 0;
    box-sizing: border-box;
    font-size: 12px !important;
}

table td:has(> input),
table td:has(> textarea),
table td:has(> select),
table td:has(> button),
table td:has(> .ug-row-actions) {
    padding: 0 !important;
}

th:last-child, td:last-child {
    border-right: 0;
    text-align: left;
}

td:last-child {
    color: var(--text);
    font-weight: 700;
}

/* Sayısal sütunların başlıkları solda, değerleri sağda gösterilir. */
thead th.num {
    text-align: left;
}

td.num, tfoot th.num {
    text-align: right;
}

th.tablo-ozel-arama-baslik {
    padding-right: 38px;
}

.tablo-ozel-arama-toggle {
    position: absolute;
    top: 2px;
    right: 5px;
    display: grid;
    place-items: center;
    width: 24px !important;
    height: 24px !important;
    padding: 0 !important;
    border: 0;
    border-radius: 4px !important;
    background: transparent;
    color: #aab3c1;
    cursor: pointer;
}

    .tablo-ozel-arama-toggle .icon {
        width: 14px;
        height: 14px;
    }

    .tablo-ozel-arama-toggle:hover, .tablo-ozel-arama-toggle:focus-visible {
        background: rgba(255, 255, 255, .14);
        color: #fff;
        outline: 0;
    }

    .tablo-ozel-arama-toggle.is-active {
        background: var(--accent);
        color: #07140b;
    }

tbody tr {
    cursor: pointer;
}

tbody tr:hover td {
    background: var(--input-bg);
}

tbody tr.is-selected td {
    background: var(--row-selected-bg);
    color: var(--row-selected-text);
}

tbody tr.is-selected td:last-child {
    color: var(--row-selected-text);
}

.pg-table-settings-modal .modal-dialog {
    width: min(760px, calc(100vw - 24px));
    max-width: none;
}

.pg-table-settings-modal .modal-content {
    max-height: calc(100vh - 32px);
}

.pg-table-settings-modal .modal-body {
    min-height: 0;
    padding: 16px;
    overflow: hidden;
}

.pg-table-settings-help {
    margin: 0 0 12px;
    color: var(--text-softer);
    font-size: 12px;
    line-height: 1.5;
}

.pg-table-settings-list {
    max-height: min(480px, calc(100vh - 245px));
    overflow-y: auto;
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    background: var(--input-bg);
}

.pg-table-settings-row {
    display: grid;
    grid-template-columns: 30px minmax(140px, 1fr) 112px 86px 66px;
    align-items: center;
    gap: 9px;
    min-height: 48px;
    padding: 7px 10px;
    border-bottom: 1px solid var(--line);
}

    .pg-table-settings-row:last-child {
        border-bottom: 0;
    }

    .pg-table-settings-row.is-dragging,
    .quick-menu__row.is-dragging {
        background: var(--soft);
        opacity: .62;
    }

.pg-table-settings-column {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    color: var(--text);
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

    .pg-table-settings-column span {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.pg-table-settings-drag,
.pg-list-drag,
.pg-table-settings-move {
    display: grid;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    place-items: center;
    border: 1px solid var(--border-soft);
    border-radius: 6px !important;
    background: var(--input-bg);
    color: var(--text-softer);
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
}

.pg-table-settings-drag,
.pg-list-drag {
    cursor: grab;
    letter-spacing: -3px;
}

    .pg-table-settings-drag:active,
    .pg-list-drag:active {
        cursor: grabbing;
    }

    .pg-table-settings-drag:hover,
    .pg-list-drag:hover,
    .pg-table-settings-move:hover:not(:disabled) {
        border-color: var(--accent);
        background: var(--soft);
        color: var(--accent);
    }

    .pg-table-settings-move:disabled {
        cursor: default;
        opacity: .35;
    }

.pg-table-settings-moves {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
}

.pg-table-column-mode,
.pg-table-column-size {
    width: 100%;
    min-width: 0;
    height: 32px !important;
    border: 1px solid var(--border-soft);
    background-color: var(--input-bg);
    font-size: 12px;
}

.pg-table-column-mode {
    padding: 0 25px 0 7px;
}

.pg-table-column-size {
    padding: 0 8px;
    text-align: right;
}

.pg-table-settings-modal .modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

    .pg-table-settings-modal .modal-footer .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        min-width: 104px;
    }

    .pg-table-settings-modal .modal-footer .icon {
        width: 15px;
        height: 15px;
    }

.pg-table-settings-reset {
    border: 1px solid var(--border-soft);
    background: var(--input-bg);
    color: var(--text-soft);
}

    .pg-table-settings-reset:hover {
        border-color: var(--accent);
        background: var(--soft);
        color: var(--accent);
    }

@media (max-width: 680px) {
    .pg-table-settings-row {
        grid-template-columns: 28px minmax(110px, 1fr) 96px 70px;
        gap: 8px;
    }

    .pg-table-settings-moves {
        display: none;
    }
}

@media (max-width: 480px) {
    .pg-table-settings-modal .modal-body {
        padding: 12px;
    }

    .pg-table-settings-row {
        grid-template-columns: 24px minmax(0, 1fr) 88px 64px;
        gap: 6px;
        padding-right: 7px;
        padding-left: 7px;
    }

    .pg-table-settings-drag {
        width: 24px !important;
    }
}

.card-foot {
    display: flex;
    align-items: center;
    padding: 0 15px;
    border-top: 1px solid var(--line);
    font-size: 14px;
    font-weight: 700;
}

.counter {
    margin-left: 8px;
    padding: 5px 10px;
    border: 1px solid var(--border-faint);
    border-radius: 5px;
    font-weight: 500;
}

.total {
    margin-left: auto;
}

.total-value {
    margin-left: 8px;
    padding: 7px 12px;
    border-radius: 6px;
    background: var(--soft);
    color: var(--accent);
    font-size: 14px;
}

/* -------------------------------- Araç çubuğu -------------------------------- */
/* Ürün Arama gibi ekranların üstünde, ilgili modülün hızlı işlem butonlarını
   barındıran bant (PARTOGO'daki pnlUstBanner'ın karşılığı). .card'ın görünümüyle
   aynı (yüzey/kenarlık/gölge), ama Bootstrap'ın kendi .card sınıfıyla (flex-direction:
   column tanımlıyor) çakışmaması için ayrı bir kural olarak tanımlanıyor.
   Arka planı temadan bağımsız her zaman siyah; sayfanın (18px) yan boşluğuna ve
   workspace'in (10px) üst boşluğuna taşarak (.topbar'daki gibi) sayfanın en üstüne
   köşeleri/kenarları görünmeden tam oturur — aksi halde açık temada bu boşluklarda
   sayfanın açık renkli arka planı bandın etrafında görünürdü. */

.tool-header {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    min-width: 0;
    margin: 0 -18px;
    padding: 12px 18px;
    border-radius: 0;
    background: #07090d;
    box-shadow: var(--shadow);
}

.tool-search {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 1 400px;
    min-width: 0;
}

.app-textbox-wrap {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
}

.search-clear-button {
    position: absolute;
    right: 8px;
    top: 50%;
    z-index: 2;
    display: none;
    place-items: center;
    width: 26px !important;
    height: 26px !important;
    padding: 0 !important;
    border: 0;
    border-radius: 50% !important;
    background: transparent;
    color: var(--text-softer);
    cursor: pointer;
    transform: translateY(-50%);
}

    .search-clear-button .icon {
        width: 14px;
        height: 14px;
    }

    .search-clear-button:hover, .search-clear-button:focus-visible {
        background: var(--soft);
        color: var(--accent);
        outline: 0;
    }

.search input:not(:placeholder-shown) ~ .search-clear-button,
.tool-search input:not(:placeholder-shown) ~ .search-clear-button {
    display: grid;
}

.search input:not(:placeholder-shown) ~ .shortcut {
    display: none;
}

    .tool-search > .icon, .app-textbox-wrap > .icon {
        position: absolute;
        left: 13px;
        width: 16px;
        color: var(--text-softer);
        pointer-events: none;
    }

/* Ürün aramadaki renk, kenarlık ve odak görünümünü uygulama genelindeki
   textbox'larda tekrar kullanmak için ortak temel sınıf. */
.app-textbox {
    width: 100%;
    height: 38px;
    padding: 0 14px;
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    outline: 0;
    background: var(--input-bg);
    color: var(--text);
    font-size: 14px;
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease;
}

    .app-textbox-wrap > .app-textbox {
        padding-left: 39px;
    }

    .tool-search > .app-textbox {
        padding-right: 42px;
    }

    .app-textbox::placeholder {
        color: var(--shortcut-text);
    }

    .app-textbox:focus {
        border-color: #9cc7f2;
        background: rgb(250, 235, 215);
        box-shadow: 0 0 0 3px rgba(36, 132, 232, .12);
        color: #000;
    }

    .app-textbox:disabled {
        cursor: not-allowed;
        opacity: .62;
    }

input.is-filled, textarea.is-filled,
.ug-input-wrap.is-filled {
    border-color: var(--accent);
    box-shadow: 0 0 0 2px rgba(var(--accent-rgb), .16);
}

.ug-input-wrap.is-filled input.is-filled {
    border: 0;
    box-shadow: none;
}

.tool-add {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 38px;
    height: 38px !important;
    padding: 0 !important;
    border: 1px solid rgba(69, 214, 91, .55);
    border-radius: 999px !important;
    background: #3fb552;
    color: #fff;
    cursor: pointer;
    box-shadow: 0 5px 14px rgba(63, 181, 82, .2);
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

    .tool-add .icon {
        width: 17px;
        height: 17px;
    }

    .tool-add:hover, .tool-add:focus-visible {
        border-color: #71e282;
        background: #35a948;
        box-shadow: 0 0 0 3px rgba(69, 214, 91, .12), 0 7px 17px rgba(63, 181, 82, .28);
        outline: 0;
        transform: translateY(-1px);
    }

.tool-header-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
    min-width: 0;
    margin-left: auto;
}

.tool-header-controls + .tool-more {
    margin-left: 6px;
}

/* araç çubuğu butonlarını (.tool-actions) saran, dar ekranlarda "..." düğmesiyle
   açılır listeye dönüştüren kapsayıcı */
.tool-more {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
    margin-left: auto;
}

/* geniş ekranda gizli; sadece dar ekranda (aşağıdaki medya sorgusu) görünür olur */
.tool-more-toggle {
    display: none;
}

    .tool-more-toggle .icon circle {
        fill: currentColor;
    }

.tool-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    min-width: 0;
}

/* araç çubuğunun bulunduğu sekme dar olduğunda butonlar "..." düğmesinin
   altında, alt alta açılan bir panelde gösterilir (bildirim/profil açılır
   panelleriyle aynı mekanizma). Viewport yerine container sorgusu kullanılıyor
   (bkz. .tab-panel'deki container-type: inline-size) ki dar ekranlarda değil,
   sekmenin kendi genişliği daraldığında tepki versin. */
@container (max-width: 860px) {
    .tool-more-toggle {
        display: grid;
    }

    .tool-actions {
        display: none;
        position: absolute;
        right: 0;
        top: calc(100% + 10px);
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: stretch;
        min-width: 220px;
        background: var(--surface);
        border: 1px solid var(--line);
        border-radius: 10px;
        box-shadow: var(--dropdown-shadow);
        padding: 8px;
        z-index: 50;
    }

        .is-open > .tool-actions {
            display: flex;
        }

        .tool-actions .tool-btn {
            width: 100%;
            justify-content: flex-start;
        }
}

/* Koyu araç çubuğundan net ayrılan premium gümüş hızlı işlem düğmeleri. */
.tool-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 38px;
    padding: 0 13px;
    border: 1px solid #e1e4e8;
    border-radius: 9px;
    background: linear-gradient(180deg, #f7f8fa 0%, #d2d6dc 48%, #a7afb9 100%);
    color: #111827;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: 0 7px 17px rgba(0, 0, 0, .3), inset 0 1px 0 #fff, inset 0 -1px 0 rgba(55, 65, 81, .2);
    transition: background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

    .tool-btn .icon {
        width: 16px;
        height: 16px;
        color: #253244;
    }

    .tool-btn:hover {
        border-color: #fff;
        background: linear-gradient(180deg, #fff 0%, #e4e7eb 48%, #bcc3cc 100%);
        color: #070b12;
        box-shadow: 0 9px 22px rgba(0, 0, 0, .38), 0 0 0 1px rgba(255, 255, 255, .16), inset 0 1px 0 #fff;
        transform: translateY(-1px);
    }

        .tool-btn:hover .icon {
            color: #111827;
        }

    .tool-btn:active {
        box-shadow: 0 2px 7px rgba(0, 0, 0, .24);
        transform: translateY(0);
    }

    .tool-btn:focus-visible {
        outline: 2px solid #eef0f3;
        outline-offset: 2px;
    }

.tool-btn--primary {
    border-color: #38c75f;
    background: linear-gradient(135deg, #48da70, #2fbd55);
    color: #07140b;
    box-shadow: 0 7px 18px rgba(52, 199, 91, .25), inset 0 1px 0 rgba(255, 255, 255, .24);
}

    .tool-btn--primary .icon {
        color: #07140b;
    }

    .tool-btn--primary:hover {
        border-color: #5bea81;
        background: linear-gradient(135deg, #55e77d, #38ca5f);
        color: #061109;
        box-shadow: 0 9px 22px rgba(52, 199, 91, .34);
    }

        .tool-btn--primary:hover .icon {
            color: #061109;
        }

.tool-btn.tool-btn--close {
    width: 38px;
    min-width: 38px;
    flex: 0 0 38px;
    padding: 0 !important;
    justify-content: center;
    border-radius: 6px !important;
}

    .tool-btn.tool-btn--close .icon {
        width: 20px;
        height: 20px;
    }

.tool-btn--danger {
    border-color: #e43a51;
    background: linear-gradient(135deg, #ef465d, #d92f46);
    color: #fff;
    box-shadow: 0 7px 18px rgba(225, 48, 72, .26), inset 0 1px 0 rgba(255, 255, 255, .15);
}

    .tool-btn--danger .icon {
        color: #fff;
    }

    .tool-btn--danger:hover {
        border-color: #ef3e56;
        background: linear-gradient(135deg, #ef3e56, #d92f46);
        color: #fff;
        box-shadow: 0 8px 20px rgba(225, 48, 72, .3);
    }

        .tool-btn--danger:hover .icon {
            color: #fff;
        }

/* Ürün Arama gibi ne yan panele (right-stack) ne de subnav'a ihtiyaç duymayan,
   tek kartın tüm genişliği kapladığı sayfalar için data-card'ın kolon aralığı
   genişletilir. */
.data-card.wide {
    grid-column: 1 / -1;
    grid-template-rows: minmax(0, 1fr);
    min-width: 0;
}

/* -------------------------------- Sağ sütun -------------------------------- */

.right-stack {
    grid-column: 3;
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 14px;
    min-width: 0;
    min-height: 0;
}

.summary-card {
    display: grid;
    grid-template-rows: 54px minmax(0, 1fr) 45px;
}

@media (min-width: 1001px) {
    .right-stack .summary-card .table-scroll {
        overflow-x: hidden;
    }
}

    .summary-card .card-head {
        padding: 0 14px;
    }

    .summary-card .card-head h3 {
        font-size: 14px;
    }

    .summary-card .select-look {
        min-width: 115px;
    }

.more {
    color: var(--text-soft);
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
}

.empty-table {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    margin: 10px 12px 0;
    overflow: hidden;
    border: 1px solid var(--border-faint);
    border-radius: 8px 8px 0 0;
}

.empty {
    display: grid;
    place-items: center;
    color: var(--empty-text);
    text-align: center;
}

    .empty .icon {
        width: 42px;
        height: 42px;
        margin-bottom: 7px;
        color: var(--empty-icon);
        stroke-width: 1.4;
    }

    .empty p {
        margin: 0;
        font-size: 14px;
    }

.summary-foot {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin: 0 12px 10px;
    padding: 0 8px;
    border: 1px solid var(--border-faint);
    border-top: 0;
    border-radius: 0 0 8px 8px;
    font-size: 14px;
    font-weight: 700;
}

.summary-value {
    min-width: 74px;
    padding: 7px 10px;
    border-radius: 6px;
    background: var(--soft);
    color: var(--accent);
    text-align: right;
    font-size: 14px;
}

/* --------------------------------- Responsive ------------------------------ */

@media (max-width: 1250px) {
    :root {
        --left-menu-open-width: 235px;
        --left-menu-width: var(--left-menu-open-width);
        --menu-gap: 10px;
    }

    .page {
        padding-inline: 12px;
    }

    .tab-bar,
    .app-footer {
        margin-inline: -12px;
    }

    .tab-bar {
        padding-inline: 12px;
    }

    .topbar {
        grid-template-columns: auto minmax(220px, 1fr) auto;
        gap: 13px;
        margin-inline: -12px;
        padding-inline: 12px;
    }

    .identity-text {
        display: none;
    }

    .brand {
        padding-right: 0;
    }

    .rate {
        min-width: 82px;
    }

        .rate .icon {
            display: none;
        }

    .nav-item {
        min-width: 105px;
        font-size: 9px;
    }
}

@media (max-width: 980px) {
    :root {
        --left-menu-open-width: 220px;
        --left-menu-width: var(--left-menu-open-width);
    }

    body {
        overflow: auto;
    }

    .page {
        height: auto;
        min-height: 100vh;
        grid-template-rows: 34px 66px auto auto 24px;
    }

    .page.page-no-mainnav {
        grid-template-rows: 34px auto 24px;
    }

    .topbar {
        grid-template-columns: auto 1fr;
    }

    .actions {
        position: absolute;
        right: 15px;
        top: 13px;
    }

    .search, .profile, .exit {
        display: none;
    }

    .main-nav {
        overflow-x: auto;
    }

    .nav-item {
        flex: 0 0 145px;
        height: 54px;
    }

        .nav-item.active {
            flex-basis: var(--left-menu-width);
        }

    .tab-panel {
        grid-template-columns: var(--left-menu-width) minmax(450px, 1fr);
    }

    .right-stack {
        grid-column: 1/3;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 280px;
    }

    .subnav, .data-card {
        min-height: 580px;
    }
}

html.menu-collapsed {
    --left-menu-width: 72px;
}

    html.menu-collapsed .subnav-head {
        justify-content: center;
        padding: 0;
    }

    html.menu-collapsed #subnavIcon, html.menu-collapsed #subnavTitle, html.menu-collapsed .sub-item span, html.menu-collapsed .nav-item.active span {
        display: none;
    }

    html.menu-collapsed .subnav-items {
        padding: 10px 7px;
    }

    html.menu-collapsed .sub-item {
        justify-content: center;
        gap: 0;
        padding: 7px 0;
    }

        html.menu-collapsed .sub-item .icon {
            width: 20px;
            height: 20px;
        }

    html.menu-collapsed .nav-item.active {
        gap: 0;
    }

    /* Daraltılmışken üzerine gelince alt menü sabit (absolute) bir panel olarak açılır */
    html.menu-collapsed .subnav {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 20;
        width: var(--left-menu-width);
        height: 100%;
        transition: width .22s cubic-bezier(.22, 1, .36, 1), border-color .22s ease, box-shadow .22s ease;
    }

        html.menu-collapsed .subnav:hover {
            width: var(--left-menu-open-width);
            z-index: 40;
            border-color: var(--accent);
            box-shadow: 0 22px 46px rgba(15, 23, 42, .28), 0 0 0 1px rgba(var(--accent-rgb), .35);
        }

            html.menu-collapsed .subnav:hover .subnav-head {
                justify-content: flex-start;
                padding: 0 14px;
            }

            html.menu-collapsed .subnav:hover #subnavIcon,
            html.menu-collapsed .subnav:hover #subnavTitle,
            html.menu-collapsed .subnav:hover .sub-item span {
                display: inline;
            }

            html.menu-collapsed .subnav:hover .subnav-items {
                padding: 10px;
            }

            html.menu-collapsed .subnav:hover .sub-item {
                justify-content: flex-start;
                gap: 10px;
                padding: 7px 11px;
            }

/* ------------------------------ Açılır paneller ----------------------------- */

[data-pg-dropdown] {
    position: relative;
    display: flex;
    align-items: center;
}

.pg-dropdown-panel {
    display: none;
    position: absolute;
    right: 0;
    top: calc(100% + 10px);
    min-width: 220px;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 10px;
    box-shadow: var(--dropdown-shadow);
    padding: 8px;
    z-index: 50;
    color: var(--text);
}

.is-open > .pg-dropdown-panel {
    display: block;
}

.pg-dropdown-panel__title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    font-size: 14px;
    padding: 6px 8px;
}

    .pg-dropdown-panel__title .icon {
        width: 15px;
    }

.pg-dropdown-panel__empty {
    padding: 14px 8px;
    color: var(--muted);
    font-size: 14px;
    text-align: center;
}

.pg-dropdown-panel__item {
    display: block;
    padding: 8px;
    border-radius: 6px;
    font-size: 14px;
    color: var(--text-softer);
    text-decoration: none;
}

    .pg-dropdown-panel__item:hover {
        background: var(--input-bg);
    }

/* ------------------------------ Ürün Kartı Modal --------------------------- */
/* Ürün Arama ekranındaki (+) düğmesiyle AJAX üzerinden getirilen ürün kartı. */

.uk-modal .modal-dialog {
    width: calc(100% - 48px);
    max-width: 1510px;
    margin: 24px auto;
}

.uk-modal .modal-content {
    max-height: calc(100vh - 48px);
    overflow: hidden;
    border: 1px solid rgba(var(--accent-rgb), .55);
    border-radius: 18px;
    background: var(--bg);
    box-shadow: 0 28px 80px rgba(0, 0, 0, .48), 0 0 0 1px rgba(var(--accent-rgb), .08);
}

.uk-modal .modal-header {
    align-items: center;
    min-height: 72px;
    gap: 16px;
    padding: 13px 22px;
    border-bottom: 1px solid var(--border);
    border-radius: 18px 18px 0 0;
    background: var(--surface);
}

.uk-modal .modal-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    color: var(--text);
    font-size: 20px;
    font-weight: 800;
}

    .uk-modal .modal-title .icon {
        width: 25px;
        height: 25px;
        color: var(--accent);
    }

.uk-modal .btn-close {
    width: 22px;
    height: 22px;
    margin: 0 0 0 4px;
    padding: 8px;
    opacity: .62;
}

:root[data-theme="dark"] .uk-modal .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

.uk-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}

.uk-header-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    height: 44px;
    padding: 0 22px;
    border: 1px solid var(--border-soft);
    border-radius: 10px;
    background: var(--surface);
    color: var(--text);
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
}

    .uk-header-btn .icon {
        width: 20px;
        height: 20px;
    }

.uk-clear-btn:hover {
    border-color: var(--accent);
    background: var(--soft);
}

.uk-save-btn {
    min-width: 145px;
    border-color: #35bd4c;
    background: #45d65b;
    color: #06140a;
    box-shadow: 0 8px 20px rgba(48, 211, 81, .28);
}

    .uk-save-btn:hover {
        border-color: #4de769;
        background: #4de769;
        box-shadow: 0 10px 26px rgba(48, 211, 81, .38);
    }

    .uk-save-btn:disabled {
        cursor: wait;
        opacity: .68;
    }

.uk-modal .modal-body {
    min-height: 0;
    padding: 10px 18px 14px;
    background: var(--bg);
    overflow-y: auto;
}

.uk-section + .uk-section, .uk-row-2 + .uk-section, .uk-section + .uk-row-2 {
    margin-top: 10px;
}

.uk-section {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--surface);
}

.uk-section-title {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 32px;
    padding: 0 16px;
    border-bottom: 1px solid var(--line);
    background: linear-gradient(90deg, rgba(var(--accent-rgb), .14), rgba(var(--accent-rgb), .045));
    color: var(--accent);
    font-size: 13px;
    font-weight: 700;
}

    .uk-section-title .icon {
        width: 18px;
        height: 18px;
    }

.uk-section-body {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px 20px;
    padding: 11px 18px;
}

.uk-section-body.uk-grid-1 {
    grid-template-columns: 1fr;
}

.uk-section-body.uk-grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.uk-row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    align-items: stretch;
}

    .uk-row-2 > .uk-section {
        display: flex;
        flex-direction: column;
    }

        .uk-row-2 > .uk-section > .uk-section-body {
            flex: 1 1 auto;
        }

.uk-col {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.uk-field {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.uk-field-label {
    display: flex;
    flex: 0 0 124px;
    align-items: center;
    gap: 5px;
    min-width: 0;
}

    .uk-field label {
        flex: 0 0 124px;
        overflow: hidden;
        color: var(--text-softer);
        font-size: 12.5px;
        font-weight: 600;
        line-height: 1.2;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .uk-field-label > label {
        flex: 0 1 auto;
        min-width: 0;
    }

.uk-field-info-button {
    display: inline-flex;
    width: 15px !important;
    height: 15px !important;
    flex: 0 0 15px;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--muted);
    cursor: help;
}

    .uk-field-info-button .icon {
        width: 14px;
        height: 14px;
    }

    .uk-field-info-button:hover, .uk-field-info-button:focus-visible {
        background: rgba(var(--accent-rgb), .12);
        color: var(--accent);
        outline: 0;
    }

.tooltip.uk-field-tooltip {
    --bs-tooltip-bg: var(--surface);
    --bs-tooltip-color: var(--text);
    --bs-tooltip-max-width: 280px;
    --bs-tooltip-opacity: 1;
}

    .tooltip.uk-field-tooltip .tooltip-inner {
        padding: 10px 12px;
        border: 1px solid rgba(var(--accent-rgb), .34);
        border-left: 3px solid var(--accent);
        border-radius: 9px;
        background: var(--surface);
        box-shadow: 0 12px 30px rgba(0, 0, 0, .26);
        color: var(--text);
        text-align: left;
    }

.uk-field-tooltip-title {
    display: block;
    margin-bottom: 3px;
    color: var(--accent);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.3;
}

.uk-field-tooltip-copy {
    display: block;
    color: var(--text-softer);
    font-size: 11px;
    font-weight: 500;
    line-height: 1.45;
}

    .uk-field > .uk-input,
    .uk-field > .select-look,
    .uk-field > .uk-field-group,
    .uk-field > .uk-price-list {
        flex: 1 1 auto;
        min-width: 0;
    }

    /* Notlar gibi textarea içeren alanlarda başlık üstte kalmalı, metin kutusuyla
       tek satırda hizalanmaya çalışmak okunabilirliği bozar */
    .uk-field:has(textarea) {
        align-items: flex-start;
    }

        .uk-field:has(textarea) > label {
            padding-top: 9px;
        }

        .uk-field:has(textarea) > .uk-field-label {
            align-self: flex-start;
            padding-top: 9px;
        }

.uk-field-grow {
    flex: 1 1 auto;
}

.uk-field-group {
    display: flex;
    gap: 8px;
}

    .uk-field-group .select-look {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
    }

.uk-section .select-look {
    width: 100%;
    height: 27px;
    padding: 0 30px 0 12px;
    border-radius: 8px;
    font-size: 13px;
}

.uk-section .icon-button {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border: 0;
    border-radius: 8px;
    background: var(--control-green);
    box-shadow: 0 5px 14px rgba(48, 211, 81, .22);
}

    .uk-section .icon-button .icon {
        width: 17px;
        height: 17px;
    }

.uk-input {
    width: 100%;
    min-width: 0;
    height: 27px;
    padding: 0 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--input-bg);
    color: var(--text);
    font-size: 13px;
}

.uk-input::placeholder {
    color: var(--muted);
    opacity: .78;
}

textarea.uk-input {
    height: 100%;
    min-height: 96px;
    padding: 10px 12px;
    resize: vertical;
}

.uk-input.is-filled,
.uk-section select.select-look.is-filled {
    border-color: var(--accent);
    box-shadow: 0 0 0 2px rgba(var(--accent-rgb), .16);
}

/* Kartlardaki ortak zorunlu alan doğrulama görünümü. */
.uk-input.is-invalid,
.select-look.is-invalid,
.firma-finans-yon.is-invalid {
    border-color: #dc2626;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, .15);
}

.pg-popup-yukleyici {
    position: fixed;
    inset: 0;
    z-index: 200000;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(3, 7, 18, .72);
    backdrop-filter: blur(3px);
    cursor: wait;
    outline: 0;
}

.pg-popup-yukleyici[hidden] {
    display: none !important;
}

.pg-popup-yukleyici__kart {
    display: flex;
    min-width: 230px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
    padding: 24px 30px;
    border: 1px solid rgba(var(--accent-rgb), .55);
    border-radius: 14px;
    background: var(--surface);
    color: var(--text);
    box-shadow: 0 20px 55px rgba(0, 0, 0, .42);
    text-align: center;
}

.pg-popup-yukleyici__kart .spinner-border {
    width: 2.25rem;
    height: 2.25rem;
    color: var(--accent);
}

.pg-popup-yukleyici__kart strong {
    color: var(--text);
    font-size: 14px;
}

.pg-popup-yukleyici__kart > span:last-child {
    color: var(--text-soft);
    font-size: 12px;
}

body.pg-popup-yukleniyor {
    overflow: hidden;
}

.uk-price-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.uk-checks {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 20px;
    margin-top: 0;
}

.uk-check {
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--text-soft);
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
}

/* Checkbox etiketleri ilk yüklemede ve dinamik içerikte seçimi izler. */
:root label:has(input[type="checkbox"]) {
    color: var(--muted);
    transition: color .15s ease;
}

:root label:has(input[type="checkbox"]:checked),
:root label:has(input[type="checkbox"]:indeterminate) {
    color: var(--text);
}

/* Native checkbox davranışı korunur; dinamik içerikler de aynı anahtar görünümünü alır. */
:root input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    width: 36px;
    min-width: 36px;
    height: 20px;
    flex: 0 0 36px;
    margin: 0;
    padding: 0;
    vertical-align: middle;
    border: 0;
    border-radius: 999px !important;
    background: var(--border-soft);
    box-shadow: none;
    cursor: pointer;
    transition: background-color .15s ease;
}

:root input[type="checkbox"]::before {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--text-softer);
    transition: transform .15s ease, background-color .15s ease;
    pointer-events: none;
}

:root input[type="checkbox"]:checked,
:root input[type="checkbox"]:indeterminate {
    background: var(--control-green);
    border-color: transparent;
}

:root input[type="checkbox"]:checked::before {
    background: #22251e;
    transform: translateX(16px);
}

:root input[type="checkbox"]:indeterminate::before {
    background: #22251e;
    transform: translateX(8px);
}

:root input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
    box-shadow: none;
}

:root input[type="checkbox"]:disabled {
    opacity: .45;
    cursor: not-allowed;
}

:root input[type="checkbox"].is-invalid,
:root input[type="checkbox"][aria-invalid="true"] {
    outline: 2px solid #dc2626;
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    :root input[type="checkbox"],
    :root input[type="checkbox"]::before {
        transition: none;
    }
}

.uk-col-actions {
    justify-content: center;
    gap: 14px;
}

.uk-action-card {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 84px;
    padding: 12px 20px;
    border: 1px solid var(--border-soft);
    border-radius: 12px;
    background: var(--surface);
    color: var(--text);
    text-align: left;
    cursor: pointer;
}

    .uk-action-card:hover {
        border-color: rgba(var(--accent-rgb), .75);
        background: var(--soft);
        transform: translateY(-1px);
        box-shadow: 0 10px 24px rgba(0, 0, 0, .13);
    }

.uk-action-icon {
    display: grid;
    place-items: center;
    width: 50px;
    flex: 0 0 50px;
}

    .uk-action-icon .icon {
        width: 38px;
        height: 38px;
    }

.uk-action-icon-campaign {
    color: #35d260;
}

.uk-action-icon-image {
    color: #2b91ff;
}

.uk-action-copy {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
    padding-left: 16px;
}

    .uk-action-copy strong {
        font-size: 14px;
        font-weight: 700;
    }

    .uk-action-copy small {
        overflow: hidden;
        color: var(--muted);
        font-size: 12px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.uk-action-arrow {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    margin-left: 10px;
    color: var(--text-softer);
}

.uk-action-card:hover .uk-action-arrow {
    color: var(--accent);
    transform: translateX(3px);
}

.uk-col-image {
    min-height: 194px;
}

.uk-image-box {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height: 194px;
    padding: 18px;
    border: 1px dashed var(--border-soft);
    border-radius: 12px;
    background: rgba(var(--accent-rgb), .015);
    color: var(--empty-text);
    text-align: center;
}

    .uk-image-box .icon {
        width: 36px;
        height: 36px;
        margin-bottom: 12px;
        color: var(--empty-icon);
    }

    .uk-image-box strong {
        margin-bottom: 7px;
        color: var(--muted);
        font-size: 14px;
        font-weight: 700;
    }

    .uk-image-box span {
        color: var(--muted);
        font-size: 12px;
        line-height: 1.6;
    }

@media (min-width: 1000px) {
    .uk-modal .modal-dialog {
        margin: 10px auto;
    }

    .uk-modal .modal-content {
        max-height: calc(100vh - 20px);
    }
}

@media (min-width: 1000px) and (max-height: 850px) {
    .uk-modal .modal-dialog {
        margin: 10px auto;
    }

    .uk-modal .modal-content {
        max-height: calc(100vh - 20px);
    }

    .uk-modal .modal-header {
        min-height: 56px;
        padding: 7px 18px;
    }

    .uk-modal .modal-title {
        font-size: 17px;
    }

        .uk-modal .modal-title .icon {
            width: 22px;
            height: 22px;
        }

    .uk-header-btn {
        height: 38px;
        padding: 0 18px;
        font-size: 13px;
    }

    .uk-modal .modal-body {
        padding: 7px 14px 5px;
    }

    .uk-section + .uk-section, .uk-row-2 + .uk-section, .uk-section + .uk-row-2 {
        margin-top: 0px;
    }

    .uk-section-title {
        height: 26px;
        padding: 0 13px;
        font-size: 11.5px;
    }

        .uk-section-title .icon {
            width: 15px;
            height: 15px;
        }

    .uk-section-body {
        gap: 6px clamp(10px, 1.25vw, 16px);
        padding: 7px clamp(9px, 1.1vw, 14px);
    }

    .uk-row-2 {
        gap: 6px;
    }

    .uk-col {
        gap: 4px;
    }

    .uk-field {
        gap: clamp(6px, .65vw, 8px);
    }

        .uk-field label, .uk-field-label {
            flex-basis: clamp(86px, 8.6vw, 110px);
        }

        .uk-field label {
            font-size: 11px;
        }

        .uk-field:has(textarea) > label {
            padding-top: 6px;
        }

        .uk-field:has(textarea) > .uk-field-label {
            padding-top: 6px;
        }

    .uk-section .select-look, .uk-input {
        height: 27px;
        border-radius: 6px;
        font-size: 12px;
    }

    .uk-section .icon-button {
        width: 27px;
        height: 27px;
        flex-basis: 27px;
        border-radius: 6px;
    }

    textarea.uk-input {
        min-height: 76px;
        padding: 7px 10px;
    }

    .uk-checks {
        gap: 11px;
        min-height: 17px;
    }

    .uk-check {
        gap: 5px;
        font-size: 11px;
    }

    .uk-col-actions {
        gap: 10px;
    }

    .uk-action-card {
        min-height: 72px;
        padding: 9px clamp(10px, 1.25vw, 16px);
    }

    .uk-action-icon {
        width: 42px;
        flex-basis: 42px;
    }

        .uk-action-icon .icon {
            width: 32px;
            height: 32px;
        }

    .uk-action-copy {
        gap: 3px;
        padding-left: clamp(8px, 1vw, 12px);
    }

    .uk-col-image, .uk-image-box {
        min-height: 163px;
    }

        .uk-image-box .icon {
            width: 30px;
            height: 30px;
            margin-bottom: 8px;
        }
}

@media (max-width: 999px) {
    .uk-section-body, .uk-section-body.uk-grid-2, .uk-row-2 {
        grid-template-columns: 1fr;
    }

    .uk-section-body {
        gap: 12px;
    }

    .uk-modal .modal-content {
        max-height: none;
    }
}

@media (max-width: 640px) {
    .uk-modal .modal-dialog {
        width: calc(100% - 20px);
        margin: 10px auto;
    }

    .uk-modal .modal-content {
        max-height: calc(100vh - 20px);
    }

    .uk-modal .modal-header {
        align-items: flex-start;
        min-height: 0;
        padding: 14px;
    }

    .uk-modal .modal-title {
        font-size: 17px;
    }

    .uk-header-actions {
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    .uk-header-btn {
        width: 44px;
        padding: 0;
    }

        .uk-header-btn span {
            display: none;
        }

    .uk-save-btn {
        min-width: 44px;
    }

    .uk-modal .modal-body {
        padding: 10px;
    }

    .uk-section-body {
        padding: 11px;
    }

    .uk-field {
        align-items: stretch;
        flex-direction: column;
        gap: 5px;
    }

        .uk-field label, .uk-field-label {
            flex-basis: auto;
        }

        .uk-field:has(textarea) > label {
            padding-top: 0;
        }

        .uk-field:has(textarea) > .uk-field-label {
            padding-top: 0;
        }
}

/* --------------------------- Ürün Geçişleri Modal -------------------------- */
.ug-modal .modal-dialog {
    width: calc(100% - 32px);
    max-width: 940px;
    margin: 16px auto;
}

.ug-modal .modal-content {
    max-height: calc(100vh - 32px);
    overflow: hidden;
    border: 1px solid rgba(var(--accent-rgb), .62);
    border-radius: 18px;
    background: var(--surface);
    box-shadow: 0 30px 85px rgba(0, 0, 0, .5), 0 0 0 1px rgba(var(--accent-rgb), .1);
}

.ug-header {
    align-items: center;
    min-height: 76px;
    padding: 14px 20px;
    border-bottom: 1px solid var(--line);
    border-radius: 18px 18px 0 0;
    background: linear-gradient(90deg, rgba(var(--accent-rgb), .13), rgba(var(--accent-rgb), .035));
}

.ug-heading {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
}

.ug-heading-icon, .ug-product-icon, .ug-empty-icon {
    display: grid;
    place-items: center;
    border: 1px solid rgba(var(--accent-rgb), .34);
    background: rgba(var(--accent-rgb), .12);
    color: var(--accent);
}

.ug-heading-icon {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    border-radius: 13px;
}

    .ug-heading-icon .icon {
        width: 25px;
        height: 25px;
    }

.ug-heading-copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

    .ug-heading-copy > span, .ug-list-eyebrow, .ug-product-copy > span {
        color: var(--accent);
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .08em;
        line-height: 1.2;
        text-transform: uppercase;
    }

    .ug-heading-copy .modal-title {
        margin: 0;
        color: var(--text);
        font-size: 19px;
        font-weight: 800;
        line-height: 1.25;
    }

.ug-modal .modal-body {
    min-height: 0;
    padding: 16px;
    overflow-y: auto;
    background: var(--bg);
}

.ug-product-summary {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 13px 15px;
    border: 1px solid rgba(var(--accent-rgb), .28);
    border-radius: 13px;
    background: linear-gradient(100deg, rgba(var(--accent-rgb), .12), var(--surface) 68%);
}

.ug-product-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 11px;
}

    .ug-product-icon .icon {
        width: 22px;
        height: 22px;
    }

.ug-product-copy {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

    .ug-product-copy strong {
        overflow: hidden;
        color: var(--text);
        font-size: 15px;
        font-weight: 800;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.ug-status-badge, .ug-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border: 1px solid rgba(var(--accent-rgb), .26);
    border-radius: 999px;
    background: rgba(var(--accent-rgb), .09);
    color: var(--accent);
    font-size: 11px;
    font-weight: 700;
}

.ug-status-badge {
    gap: 7px;
    min-height: 30px;
    padding: 0 12px;
}

    .ug-status-badge > span {
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: var(--accent);
        box-shadow: 0 0 0 4px rgba(var(--accent-rgb), .12);
    }

.ug-add-panel {
    display: grid;
    grid-template-columns: minmax(210px, .8fr) minmax(360px, 1.45fr);
    gap: 22px;
    align-items: center;
    margin-top: 12px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 13px;
    background: var(--surface);
}

.ug-add-copy {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

    .ug-add-copy label {
        color: var(--text);
        font-size: 13px;
        font-weight: 800;
    }

    .ug-add-copy span {
        color: var(--muted);
        font-size: 11.5px;
        line-height: 1.5;
    }

.ug-add-controls {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
}

.ug-input-wrap {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    min-width: 0;
    border: 1px solid var(--border-soft);
    border-radius: 9px;
    background: var(--input-bg);
}

    .ug-input-wrap:focus-within {
        border-color: #9cc7f2;
        background: rgb(250, 235, 215);
        box-shadow: 0 0 0 3px rgba(36, 132, 232, .12);
        color: #000;
    }

    .ug-input-wrap > .icon {
        position: absolute;
        left: 12px;
        width: 17px;
        height: 17px;
        color: var(--muted);
        pointer-events: none;
    }

    .ug-input-wrap input {
        width: 100%;
        height: 40px;
        padding: 0 12px 0 39px;
        border: 0;
        outline: 0;
        background: transparent;
        color: var(--text);
        font-size: 13px;
        font-weight: 600;
    }

        .ug-input-wrap input:focus {
            background: transparent;
            color: #000;
        }

        .ug-input-wrap input::placeholder {
            color: var(--muted);
            font-weight: 500;
            opacity: .8;
        }

.ug-add-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 40px;
    padding: 0 15px;
    border: 1px solid #35bd4c;
    border-radius: 9px;
    background: linear-gradient(135deg, #4ade68, #31bd52);
    color: #06140a;
    font-size: 12.5px;
    font-weight: 800;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: 0 7px 17px rgba(48, 211, 81, .24), inset 0 1px 0 rgba(255, 255, 255, .22);
}

    .ug-add-btn .icon {
        width: 17px;
        height: 17px;
    }

    .ug-add-btn:hover {
        border-color: #58ec77;
        background: linear-gradient(135deg, #59eb79, #39ca5b);
        box-shadow: 0 9px 21px rgba(48, 211, 81, .34);
        transform: translateY(-1px);
    }

    .ug-add-btn:focus-visible {
        outline: 2px solid var(--accent);
        outline-offset: 2px;
    }

.ug-list-panel {
    margin-top: 12px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 13px;
    background: var(--surface);
}

.ug-list-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 64px;
    padding: 11px 16px;
    border-bottom: 1px solid var(--line);
    background: linear-gradient(90deg, rgba(var(--accent-rgb), .1), rgba(var(--accent-rgb), .025));
}

    .ug-list-header > div {
        min-width: 0;
    }

    .ug-list-header h3 {
        margin: 4px 0 0;
        overflow: hidden;
        color: var(--text-soft);
        font-size: 13.5px;
        font-weight: 600;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

        .ug-list-header h3 strong {
            color: var(--text);
            font-weight: 800;
        }

.ug-count {
    min-height: 28px;
    padding: 0 11px;
}

.ug-table-wrap {
    max-height: 330px;
    overflow: auto;
}

.ug-table {
    width: 100%;
    min-width: 720px;
    border-collapse: separate;
    border-spacing: 0;
}

    .ug-table th {
        position: sticky;
        top: 0;
        z-index: 1;
        height: 28px;
        padding: 0 13px;
        border-bottom: 1px solid var(--border-soft);
        background: var(--bg);
        color: var(--text-softer);
        font-size: 12px;
        font-weight: 800;
        letter-spacing: .035em;
        text-align: left;
        text-transform: uppercase;
    }

    .ug-table td {
        height: 28px;
        padding: 0 13px;
        border-bottom: 1px solid var(--line);
        color: var(--text-soft);
        font-size: 12px;
    }

    .ug-table tbody tr:not(.ug-empty-row):not(.is-selected):hover td {
        background: rgba(var(--accent-rgb), .055);
    }

    .ug-table tbody tr:last-child td {
        border-bottom: 0;
    }

    .ug-table .ug-actions-column {
        width: 170px;
        text-align: right;
    }

    .ug-table .ug-action-column {
        width: 84px;
        text-align: center;
    }

    .ug-table .ug-number-column {
        width: 105px;
    }

    .ug-table td.ug-number-column {
        text-align: right;
    }

.ug-table--muadil, .ug-table--iliski {
    min-width: 800px;
}

.ug-empty-row td {
    height: 210px;
    padding: 30px;
    color: var(--muted);
    text-align: center;
}

    .ug-empty-row > td > strong, .ug-empty-row > td > span:not(.ug-empty-icon) {
        display: block;
    }

    .ug-empty-row strong {
        margin: 11px 0 6px;
        color: var(--text-soft);
        font-size: 13px;
    }

    .ug-empty-row > td > span:last-child {
        font-size: 11.5px;
    }

.ug-empty-icon {
    width: 44px;
    height: 44px;
    margin: 0 auto;
    border-radius: 12px;
}

    .ug-empty-icon .icon {
        width: 23px;
        height: 23px;
    }

.ug-row-actions {
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: flex-end;
    gap: 0;
}

.ug-row-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 30px;
    padding: 0 10px;
    border-radius: 7px;
    font-size: 10.5px;
    font-weight: 700;
    cursor: pointer;
}

    .ug-row-btn .icon {
        width: 14px;
        height: 14px;
    }

.ug-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 16px;
    border-top: 1px solid var(--line);
    background: var(--surface);
}

    .ug-footer > span {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        color: var(--muted);
        font-size: 11px;
    }

        .ug-footer > span .icon {
            width: 15px;
            height: 15px;
            color: var(--accent);
        }

.ug-close-btn {
    height: 38px;
    min-width: 96px;
    padding: 0 18px;
}

/* Depo Düzenleme, ortak ürün ilişkisi modalını stok odaklı bir gövdeyle kullanır. */
.ud-modal .modal-dialog {
    max-width: 880px;
}

.ud-toolbar {
    display: grid;
    grid-template-columns: minmax(360px, 1fr) auto auto;
    gap: 12px;
    align-items: end;
    padding: 15px;
    border: 1px solid var(--border);
    border-radius: 13px;
    background: var(--surface);
}

.ud-product-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
}

    .ud-product-field > label {
        color: var(--text-softer);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .045em;
        text-transform: uppercase;
    }

    .ud-product-field .app-textbox {
        cursor: default;
        font-weight: 800;
    }

    .ud-product-field .app-textbox-wrap {
        width: 100%;
    }

.ud-total-summary {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    flex-direction: column;
    min-width: 126px;
    height: 66px;
    padding: 8px 14px;
    border: 1px solid rgba(var(--accent-rgb), .3);
    border-radius: 11px;
    background: linear-gradient(135deg, rgba(var(--accent-rgb), .14), rgba(var(--accent-rgb), .045));
}

    .ud-total-summary span {
        color: var(--muted);
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .055em;
        text-transform: uppercase;
    }

    .ud-total-summary strong {
        max-width: 160px;
        overflow: hidden;
        color: var(--accent);
        font-size: 25px;
        font-weight: 800;
        line-height: 1.1;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.ud-save-btn {
    height: 42px;
    min-width: 122px;
    margin-bottom: 1px;
}

.ud-list-panel {
    margin-top: 12px;
}

.ud-table-wrap {
    min-height: 270px;
    max-height: 360px;
}

.ud-table {
    min-width: 0;
}

.ud-table .ug-number-column {
    width: 160px;
    min-width: 160px;
}

.ud-stock-input {
    display: block;
    width: 100%;
    max-width: 132px;
    height: 34px;
    margin-left: auto;
    text-align: right;
}

    .ud-table .ug-empty-row td {
        height: 270px;
    }

.ud-stock-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
    margin-top: 12px;
}

.ud-stock-card {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
    height: 58px;
    padding: 0 14px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: var(--surface);
}

    .ud-stock-card::before {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 3px;
        background: var(--text-softer);
        content: "";
        opacity: .55;
    }

    .ud-stock-card span {
        color: var(--muted);
        font-size: 11px;
        font-weight: 700;
    }

    .ud-stock-card strong {
        overflow: hidden;
        color: var(--text);
        font-size: 17px;
        font-weight: 800;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .ud-stock-card--in::before {
        background: #45d65b;
        opacity: 1;
    }

    .ud-stock-card--in strong {
        color: #45d65b;
    }

    .ud-stock-card--out::before {
        background: #ef3e56;
        opacity: 1;
    }

    .ud-stock-card--out strong {
        color: #ef566b;
    }

    .ud-stock-card--total {
        border-color: rgba(var(--accent-rgb), .34);
        background: rgba(var(--accent-rgb), .075);
    }

        .ud-stock-card--total::before {
            background: var(--accent);
            opacity: 1;
        }

        .ud-stock-card--total strong {
            color: var(--accent);
        }

@media (max-width: 760px) {
    .ug-modal .modal-dialog {
        width: calc(100% - 20px);
        margin: 10px auto;
    }

    .ug-modal .modal-content {
        max-height: calc(100vh - 20px);
    }

    .ug-header {
        min-height: 66px;
        padding: 10px 13px;
    }

    .ug-heading-icon {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
    }

    .ug-heading-copy .modal-title {
        font-size: 16px;
    }

    .ug-modal .modal-body {
        padding: 10px;
    }

    .ug-status-badge {
        display: none;
    }

    .ug-add-panel {
        grid-template-columns: 1fr;
        gap: 11px;
        padding: 13px;
    }

    .ug-add-controls {
        align-items: stretch;
        flex-direction: column;
    }

    .ug-add-btn {
        width: 100%;
    }

    .ug-list-header {
        min-height: 58px;
        padding: 9px 12px;
    }

    .ug-footer > span {
        display: none;
    }

    .ug-close-btn {
        width: 100%;
    }

    .ud-toolbar {
        grid-template-columns: minmax(0, 1fr) auto;
        padding: 12px;
    }

    .ud-product-field {
        grid-column: 1 / -1;
    }

    .ud-total-summary {
        align-items: flex-start;
        min-width: 0;
        height: 58px;
    }

    .ud-save-btn {
        min-width: 112px;
        margin: 0;
    }

    .ud-stock-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 430px) {
    .ud-toolbar {
        grid-template-columns: 1fr;
    }

    .ud-product-field, .ud-total-summary, .ud-save-btn {
        grid-column: auto;
        width: 100%;
    }
}

/* diğer sayfalarda üst modül menüsü (main-nav) yerine topbar'daki bu açılır
   panelden erişiliyor; tüm modüller ve alt menü öğeleri alt alta listelenir */
.pg-dropdown-panel--menu {
    left: 0;
    right: auto;
    width: 260px;
    max-height: 75vh;
    overflow-y: auto;
}

.pg-dropdown-panel__group + .pg-dropdown-panel__group {
    margin-top: 4px;
    padding-top: 4px;
    border-top: 1px solid var(--line);
}

.pg-dropdown-panel__group .pg-dropdown-panel__item {
    padding-left: 29px;
}

/* henüz gerçek bir sayfası olmayan (url tanımlanmamış) menü öğesi */
.pg-dropdown-panel__item.is-disabled {
    opacity: .4;
    cursor: not-allowed;
}

    .pg-dropdown-panel__item.is-disabled:hover {
        background: transparent;
    }



/* ----------------------------- Özel Onay Kutusu ---------------------------- */
.custom-confirm {
    z-index: 1090;
}

.custom-confirm .custom-confirm-dialog {
    width: calc(100% - 32px);
    max-width: 640px;
    margin: 16px auto;
}

.custom-confirm .custom-confirm-modal {
    max-height: calc(100vh - 32px);
    overflow: hidden;
    border: 1px solid rgba(245, 158, 11, .68);
    border-radius: 16px;
    background: var(--surface);
    box-shadow: 0 28px 70px rgba(0, 0, 0, .52), 0 0 0 1px rgba(245, 158, 11, .14);
}

.custom-confirm .custom-confirm-header {
    align-items: center;
    min-height: 68px;
    padding: 12px 18px;
    border-bottom: 1px solid var(--line);
    border-radius: 16px 16px 0 0;
    background: linear-gradient(90deg, rgba(245, 158, 11, .105), rgba(var(--accent-rgb), .035));
}

.custom-confirm-heading {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
}

.custom-confirm-icon {
    display: grid;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    place-items: center;
    border: 1px solid rgba(245, 158, 11, .35);
    border-radius: 12px;
    background: rgba(245, 158, 11, .13);
    color: #f5a20b;
}

    .custom-confirm-icon .icon {
        width: 24px;
        height: 24px;
    }

.custom-confirm-eyebrow {
    display: block;
    margin-bottom: 2px;
    color: #d49316;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.custom-confirm .custom-confirm-header .modal-title {
    margin: 0;
    color: var(--text);
    font-size: 18px;
    font-weight: 800;
    line-height: 1.25;
}

.custom-confirm-close {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    margin: 0 0 0 auto;
    padding: 0;
    place-items: center;
    border: 1px solid var(--border-soft);
    border-radius: 9px;
    background: var(--input-bg);
    color: var(--text-softer);
    cursor: pointer;
    opacity: .72;
}

    .custom-confirm-close .icon {
        width: 19px;
        height: 19px;
    }

    .custom-confirm-close:hover {
        border-color: var(--accent);
        background: var(--soft);
        color: var(--text);
        opacity: 1;
    }

    .custom-confirm-close:focus-visible {
        outline: 2px solid var(--accent);
        outline-offset: 2px;
    }

.custom-confirm .modal-body {
    min-height: 0;
    padding: 18px 22px;
    overflow-y: auto;
    background: var(--surface);
}

.custom-confirm-content {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 2px 0;
}

.custom-confirm-message {
    color: var(--text);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
    overflow-wrap: anywhere;
    white-space: pre-line;
}

.custom-confirm-description {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.55;
    overflow-wrap: anywhere;
    white-space: pre-line;
}

    .custom-confirm-description:empty {
        display: none;
    }

.custom-confirm .modal-footer {
    gap: 10px;
    padding: 12px 18px 14px;
    border-top: 1px solid var(--line);
    background: var(--bg);
}

.custom-confirm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 112px;
    height: 42px;
    padding: 0 18px;
    border: 1px solid transparent;
    border-radius: 9px;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
}

    .custom-confirm-btn .icon {
        width: 17px;
        height: 17px;
    }

    .custom-confirm-btn:focus-visible {
        outline: 2px solid var(--accent);
        outline-offset: 2px;
    }

.custom-confirm-cancel {
    border-color: var(--border-soft);
    background: var(--surface);
    color: var(--text-soft);
}

    .custom-confirm-cancel:hover {
        border-color: var(--accent);
        background: var(--soft);
        color: var(--text);
    }

.custom-confirm-ok {
    border-color: #d92f46;
    background: linear-gradient(135deg, #ef3e56, #db2f47);
    color: #fff;
    box-shadow: 0 8px 18px rgba(225, 48, 72, .24);
}

    .custom-confirm-ok:hover {
        border-color: #f05468;
        background: linear-gradient(135deg, #f54b61, #e5374f);
        box-shadow: 0 10px 22px rgba(225, 48, 72, .34);
        transform: translateY(-1px);
    }

@media (max-width: 480px) {
    .custom-confirm .custom-confirm-dialog {
        width: calc(100% - 20px);
        margin: 10px auto;
    }

    .custom-confirm .custom-confirm-header {
        padding: 12px 14px;
    }

    .custom-confirm .modal-body {
        padding: 18px;
    }

    .custom-confirm .modal-footer {
        padding: 12px 14px 14px;
    }

    .custom-confirm-btn {
        min-width: 0;
        flex: 1 1 0;
        padding: 0 12px;
    }
}

/* ----------------------------- Bildirim Kutusu ----------------------------- */
.alert-popup {
    --alert-color: #2484e8;
    --alert-rgb: 36, 132, 232;
    --alert-contrast: #fff;
}

.alert-popup--success {
    --alert-color: #45d65b;
    --alert-rgb: 69, 214, 91;
    --alert-contrast: #06140a;
}

.alert-popup--warning {
    --alert-color: #f5a20b;
    --alert-rgb: 245, 162, 11;
    --alert-contrast: #191105;
}

.alert-popup--error {
    --alert-color: #ef3e56;
    --alert-rgb: 239, 62, 86;
    --alert-contrast: #fff;
}

.alert-popup .alert-popup-content {
    border-color: rgba(var(--alert-rgb), .26);
    border-radius: 16px;
    box-shadow: 0 20px 48px rgba(0, 0, 0, .28), 0 0 0 1px rgba(var(--alert-rgb), .06);
}

.alert-popup .alert-popup-dialog {
    max-width: 640px;
}

.alert-popup .alert-popup-header {
    min-height: 60px;
    padding: 10px 16px;
    border-radius: 16px 16px 0 0;
    background: linear-gradient(90deg, rgba(var(--alert-rgb), .065), rgba(var(--alert-rgb), .018));
}

.alert-popup .alert-popup-icon {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
    border-color: rgba(var(--alert-rgb), .35);
    border-radius: 10px;
    background: rgba(var(--alert-rgb), .13);
    color: var(--alert-color);
}

    .alert-popup .alert-popup-icon .icon {
        width: 20px;
        height: 20px;
    }

.alert-popup .custom-confirm-eyebrow {
    color: var(--alert-color);
    font-size: 9px;
}

.alert-popup .custom-confirm-header .modal-title {
    font-size: 16px;
}

.alert-popup .custom-confirm-close {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
}

.alert-popup .modal-body {
    padding: 16px 20px;
    overflow-y: auto;
}

.alert-popup .alert-popup-body {
    width: 100%;
}

.alert-popup .alert-popup-message {
    font-size: 12px;
    line-height: 1.55;
}

.alert-popup .alert-popup-description {
    font-size: 12px;
    line-height: 1.5;
}

.alert-popup .modal-footer {
    padding: 9px 16px 12px;
    background: var(--surface);
}

.alert-popup-ok {
    min-width: 92px;
    height: 36px;
    padding: 0 14px;
    margin-left: auto;
    border-color: rgba(var(--alert-rgb), .58);
    background: var(--alert-color);
    color: var(--alert-contrast);
    box-shadow: 0 5px 12px rgba(var(--alert-rgb), .18);
}

    .alert-popup-ok:hover {
        border-color: var(--alert-color);
        background: var(--alert-color);
        color: var(--alert-contrast);
        filter: brightness(1.08);
        box-shadow: 0 7px 16px rgba(var(--alert-rgb), .25);
        transform: translateY(-1px);
    }

/* ----------------------- Ürün Resimleri / Galeri ---------------------- */
.urun-resim-column {
    width: 72px;
    text-align: center;
}

.urun-resim-cell {
    padding: 2px 8px;
    text-align: center;
    overflow: visible;
}

.urun-resim-button {
    position: relative;
    display: inline-grid;
    width: 31px;
    height: 28px;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(var(--accent-rgb), .35);
    border-radius: 8px;
    background: linear-gradient(145deg, var(--surface), var(--input-bg));
    color: var(--text-softer);
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 3px 9px rgba(0, 0, 0, .1);
}

    .urun-resim-button .icon {
        width: 16px;
        height: 16px;
    }

    .urun-resim-button:hover, .urun-resim-button:focus-visible {
        border-color: var(--accent);
        background: rgba(var(--accent-rgb), .13);
        color: var(--accent);
        box-shadow: 0 0 0 3px rgba(var(--accent-rgb), .1), 0 5px 13px rgba(0, 0, 0, .15);
        outline: 0;
    }

    .urun-resim-button.has-image {
        border-color: rgba(69, 214, 91, .48);
        background: linear-gradient(145deg, rgba(69, 214, 91, .17), rgba(69, 214, 91, .07));
        color: #45d65b;
    }

    .urun-resim-button.is-loading {
        cursor: wait;
        opacity: .62;
    }

/* Ürün tablosundaki işlemler tek bir kompakt düğmeden açılır; panel body altında
   sabit konumlandığı için tablonun kaydırma alanında kırpılmaz. */
.urun-islem-column, .firma-islem-column, .finans-evrak-islem-column {
    width: 96px;
    text-align: center;
}

.urun-islem-cell, .firma-islem-cell, .finans-evrak-islem-cell {
    padding: 2px 7px;
    overflow: visible;
    text-align: center;
    font-weight: 400;
}

.urun-islem-toggle, .firma-islem-toggle, .finans-evrak-islem-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    height: 28px;
    padding: 0 9px;
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    background: var(--input-bg);
    color: var(--text-soft);
    font-size: 10.5px;
    font-weight: 700;
    cursor: pointer;
}

.urun-islem-toggle.has-related-record,
.urun-islem-toggle.has-related-record:hover,
.urun-islem-toggle.has-related-record:focus-visible,
.urun-islem-toggle.has-related-record[aria-expanded="true"] {
    border-right: 3px solid #f59e0b;
}

    .urun-islem-toggle .icon, .firma-islem-toggle .icon, .finans-evrak-islem-toggle .icon {
        width: 15px;
        height: 15px;
    }

    .urun-islem-toggle:hover, .urun-islem-toggle:focus-visible, .urun-islem-toggle[aria-expanded="true"],
    .firma-islem-toggle:hover, .firma-islem-toggle:focus-visible, .firma-islem-toggle[aria-expanded="true"],
    .finans-evrak-islem-toggle:hover, .finans-evrak-islem-toggle:focus-visible, .finans-evrak-islem-toggle[aria-expanded="true"] {
        border-color: var(--accent);
        background: var(--soft);
        color: var(--accent);
        outline: 0;
        box-shadow: 0 0 0 3px rgba(var(--accent-rgb), .1);
    }

.urun-islem-menu {
    position: fixed;
    z-index: 1085;
    display: none;
    width: 214px;
    padding: 6px;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: var(--surface);
    box-shadow: var(--dropdown-shadow);
}

    .urun-islem-menu.is-open {
        display: grid;
        gap: 2px;
    }

.urun-islem-menu-item {
    display: flex;
    align-items: center;
    gap: 9px;
    width: 100%;
    min-height: 34px;
    padding: 6px 9px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--text-soft);
    font-size: 12px;
    font-weight: 650;
    text-align: left;
    cursor: pointer;
}

    .urun-islem-menu-item .icon {
        width: 16px;
        height: 16px;
        flex: 0 0 16px;
        color: var(--text-softer);
    }

.urun-islem-menu-count {
    display: none;
    align-items: center;
    justify-content: center;
    min-width: 21px;
    height: 20px;
    margin-left: auto;
    padding: 0 6px;
    border-radius: 999px;
    background: rgba(245, 158, 11, .16);
    color: #d97706;
    font-size: 10px;
    font-weight: 800;
}

    .urun-islem-menu-count.is-visible {
        display: inline-flex;
    }

    .urun-islem-menu-item:hover, .urun-islem-menu-item:focus-visible {
        background: var(--soft);
        color: var(--accent);
        outline: 0;
    }

        .urun-islem-menu-item:hover .icon, .urun-islem-menu-item:focus-visible .icon {
            color: var(--accent);
        }

.urun-resim-count {
    position: absolute;
    top: -6px;
    right: -7px;
    display: grid;
    min-width: 16px;
    height: 16px;
    padding: 0 3px;
    place-items: center;
    border: 2px solid var(--surface);
    border-radius: 999px;
    background: #45d65b;
    color: #06140a;
    font-size: 8px;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
    z-index: 999;
}

.urun-resim-preview-popover {
    position: fixed;
    z-index: 1080;
    display: none;
    width: 330px;
    padding: 10px;
    overflow: hidden;
    border: 1px solid rgba(var(--accent-rgb), .48);
    border-radius: 13px;
    background: var(--surface);
    color: var(--text);
    box-shadow: 0 22px 55px rgba(0, 0, 0, .42), 0 0 0 1px rgba(var(--accent-rgb), .08);
}

    .urun-resim-preview-popover.is-visible {
        display: block;
        animation: urunResimPopoverGiris .14s ease-out;
    }

@keyframes urunResimPopoverGiris {
    from {
        opacity: 0;
        transform: translateY(4px) scale(.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.urun-resim-preview-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
    padding: 2px 2px 9px;
}

    .urun-resim-preview-header > span {
        overflow: hidden;
        font-size: 12px;
        font-weight: 800;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .urun-resim-preview-header > small {
        flex: 0 0 auto;
        color: var(--accent);
        font-size: 9px;
        font-weight: 800;
        letter-spacing: .05em;
        text-transform: uppercase;
    }

.urun-resim-preview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.urun-resim-preview-item {
    position: relative;
    display: block;
    height: 105px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: var(--input-bg);
}

    .urun-resim-preview-item img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .urun-resim-preview-item em {
        position: absolute;
        top: 6px;
        left: 6px;
        padding: 3px 6px;
        border-radius: 999px;
        background: rgba(6, 20, 10, .86);
        color: #5bea77;
        font-size: 8px;
        font-style: normal;
        font-weight: 900;
        letter-spacing: .05em;
        text-transform: uppercase;
    }

.urun-resim-preview-state {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 104px;
    padding: 18px;
    border: 1px dashed var(--border-soft);
    border-radius: 9px;
    background: var(--bg);
    color: var(--muted);
    font-size: 11px;
    text-align: center;
}

    .urun-resim-preview-state .icon {
        width: 22px;
        height: 22px;
    }

    .urun-resim-preview-state.is-error {
        border-color: rgba(239, 62, 86, .32);
        color: #ef566b;
    }

.urun-resim-preview-more, .urun-resim-preview-hint {
    color: var(--muted);
    font-size: 9.5px;
    text-align: center;
}

.urun-resim-preview-more {
    margin-top: 7px;
    color: var(--accent);
    font-weight: 800;
}

.urun-resim-preview-hint {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--line);
}

.ur-img-modal .modal-dialog {
    max-width: 1040px;
}

.ur-img-upload-panel {
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 13px;
    background: var(--surface);
}

.ur-img-upload {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 96px;
    padding: 16px;
    border: 1px dashed rgba(var(--accent-rgb), .42);
    border-radius: 11px;
    background: linear-gradient(110deg, rgba(var(--accent-rgb), .09), var(--bg));
    cursor: pointer;
}

    .ur-img-upload:hover, .ur-img-upload:focus-visible, .ur-img-upload.is-dragging {
        border-color: var(--accent);
        background: rgba(var(--accent-rgb), .12);
        box-shadow: 0 0 0 3px rgba(var(--accent-rgb), .09);
        outline: 0;
    }

    .ur-img-upload.is-dragging {
        transform: scale(.995);
    }

.ur-img-upload-icon {
    display: grid;
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    place-items: center;
    border: 1px solid rgba(var(--accent-rgb), .32);
    border-radius: 14px;
    background: rgba(var(--accent-rgb), .13);
    color: var(--accent);
}

    .ur-img-upload-icon .icon {
        width: 27px;
        height: 27px;
    }

.ur-img-upload-copy {
    min-width: 0;
}

    .ur-img-upload-copy h3 {
        margin: 0 0 5px;
        color: var(--text);
        font-size: 14px;
        font-weight: 800;
    }

    .ur-img-upload-copy p {
        margin: 0 0 5px;
        color: var(--text-soft);
        font-size: 12px;
    }

    .ur-img-upload-copy > span {
        color: var(--muted);
        font-size: 10.5px;
    }

.ur-img-upload-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
}

.ur-img-select-btn {
    height: 38px;
    padding: 0 14px;
    border-color: rgba(var(--accent-rgb), .38);
    color: var(--accent);
}

    .ur-img-select-btn:hover {
        border-color: var(--accent);
        background: rgba(var(--accent-rgb), .1);
    }

.ur-img-selected-count {
    flex: 1 1 auto;
    color: var(--muted);
    font-size: 11px;
}

.ur-img-save-btn {
    height: 38px;
}

    .ur-img-save-btn:disabled {
        cursor: not-allowed;
        filter: saturate(.35);
        opacity: .48;
        box-shadow: none;
        transform: none;
    }

.ur-img-pending {
    display: flex;
    gap: 8px;
    margin-top: 10px;
    overflow-x: auto;
}

    .ur-img-pending:empty {
        display: none;
    }

.ur-img-pending-item {
    position: relative;
    display: block;
    width: 82px;
    flex: 0 0 82px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: var(--input-bg);
}

    .ur-img-pending-item img {
        display: block;
        width: 100%;
        height: 62px;
        object-fit: contain;
    }

    .ur-img-pending-item small {
        display: block;
        padding: 5px 6px;
        overflow: hidden;
        color: var(--muted);
        font-size: 8px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.ur-img-list-panel {
    margin-top: 12px;
}

.ur-img-gallery {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px;
    min-height: 270px;
    max-height: 48vh;
    padding: 13px;
    overflow-y: auto;
}

.ur-img-card {
    position: relative;
    min-width: 0;
    height: 190px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: var(--input-bg);
    box-shadow: 0 6px 18px rgba(0, 0, 0, .1);
}

    .ur-img-card > img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .ur-img-card:hover {
        border-color: rgba(var(--accent-rgb), .52);
        box-shadow: 0 10px 25px rgba(0, 0, 0, .18);
        transform: translateY(-2px);
    }

.ur-img-card-top {
    position: absolute;
    top: 8px;
    right: 8px;
    left: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.ur-img-primary-badge {
    padding: 5px 8px;
    border: 1px solid rgba(69, 214, 91, .42);
    border-radius: 999px;
    background: rgba(6, 20, 10, .88);
    color: #5bea77;
    font-size: 8.5px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.ur-img-delete {
    display: grid;
    width: 32px;
    height: 32px;
    margin-left: auto;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(239, 62, 86, .5);
    border-radius: 8px;
    background: rgba(18, 21, 31, .9);
    color: #ef566b;
    cursor: pointer;
    box-shadow: 0 5px 13px rgba(0, 0, 0, .25);
}

    .ur-img-delete .icon {
        width: 16px;
        height: 16px;
    }

    .ur-img-delete:hover, .ur-img-delete:focus-visible {
        border-color: #ef3e56;
        background: #ef3e56;
        color: #fff;
        outline: 0;
    }

    .ur-img-delete:disabled {
        cursor: wait;
        opacity: .7;
    }

.ur-img-state {
    display: flex;
    grid-column: 1 / -1;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 7px;
    min-height: 240px;
    padding: 24px;
    color: var(--muted);
    text-align: center;
}

    .ur-img-state > .icon {
        width: 32px;
        height: 32px;
    }

    .ur-img-state strong {
        color: var(--text-soft);
        font-size: 12px;
    }

    .ur-img-state > span:not(.spinner-border):not(.ug-empty-icon) {
        font-size: 10.5px;
    }

    .ur-img-state.is-error, .ur-img-state.is-error strong {
        color: #ef566b;
    }

@media (max-width: 800px) {
    .ur-img-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .urun-resim-preview-popover {
        width: min(330px, calc(100vw - 20px));
    }

    .ur-img-upload {
        align-items: flex-start;
    }

    .ur-img-upload-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ur-img-selected-count {
        text-align: center;
    }

    .ur-img-save-btn, .ur-img-select-btn {
        width: 100%;
    }

    .ur-img-gallery {
        grid-template-columns: 1fr;
    }

    .ur-img-card {
        height: 220px;
    }
}

/* --------------------------------------------------------------------------
   Firma listesi, firma hareketleri ve firma kartı
   -------------------------------------------------------------------------- */
.firma-tool-header {
    gap: 10px;
}

.firma-tool-header .tool-search {
    flex-basis: 340px;
}

.firma-tool-header .tool-search .app-textbox {
    height: 35px;
}

.firma-filter, .finans-evrak-filter {
    width: 190px;
    height: 35px !important;
    border-color: #29313d;
    background-color: #111722;
    color: #dbe2ec;
}

.finans-evrak-yil { width: 90px; }
.finans-evrak-ay { width: 135px; }
.finans-evrak-durum { width: 150px; }
.finans-evrak-doviz { width: 130px; }

.firma-toolbar-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}

.firma-list-card {
    min-height: 0;
}

#tblFirmalarTable {
    min-width: 1970px;
}

#tblFirmalarTable th:nth-child(1) { width: 110px; }
#tblFirmalarTable th:nth-child(2) { width: 175px; }
#tblFirmalarTable th:nth-child(3) { width: 260px; }
#tblFirmalarTable th:nth-child(n+4):nth-child(-n+6) { width: 125px; }
#tblFirmalarTable th:nth-child(7) { width: 75px; }
#tblFirmalarTable th:nth-child(8) { width: 110px; }
#tblFirmalarTable th:nth-child(n+9):nth-child(-n+13) { width: 120px; }
#tblFirmalarTable th:nth-child(14) { width: 150px; }
#tblFirmalarTable th:nth-child(15) { width: 96px; }

#tblFirmalar tbody tr.is-risk td:first-child {
    box-shadow: inset 3px 0 #ef566b;
}

#tblFirmalar tbody tr.is-closed td:first-child {
    box-shadow: inset 3px 0 #8b96ab;
}

#tblFirmalar tbody tr.is-tracked td:first-child {
    box-shadow: inset 3px 0 #f59e0b;
}

.firma-table-summary {
    justify-content: space-between;
    gap: 12px;
    white-space: nowrap;
}

.firma-genel-toplamlar, .firma-secili-toplamlar {
    display: flex;
    align-items: center;
    gap: 18px;
}

.firma-genel-toplamlar {
    min-width: 0;
    overflow-x: auto;
}

.firma-secili-toplamlar {
    flex: 0 0 auto;
    padding-left: 12px;
    border-left: 1px solid var(--border-soft);
}

.firma-secili-toplamlar[hidden] {
    display: none;
}

.firma-doviz-toplamlari-ac {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    padding: 0;
    border: 1px solid var(--border-soft);
    border-radius: 4px;
    background: var(--input-bg);
    color: var(--text);
    cursor: pointer;
    line-height: 1;
}

.firma-doviz-toplamlari-ac:hover, .firma-doviz-toplamlari-ac:focus-visible {
    border-color: var(--accent);
    color: var(--accent);
}

.firma-table-summary strong {
    color: var(--accent);
}

.firma-empty-cell {
    height: 90px;
    color: var(--empty-text);
    text-align: center !important;
}

.firma-hareket-sayfasi {
    grid-column: 1 / -1;
    grid-row: 1 / -1;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
}

.firma-hareket-tool-header .tool-search {
    flex-basis: 430px;
}

.firma-hareket-tool-header .tool-more {
    margin-left: 0;
}

.firma-hareket-layout {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 10px;
    min-width: 0;
    min-height: 0;
    padding-top: 10px;
}

.firma-hareket-detay-card {
    display: grid;
    grid-template-columns: minmax(185px, 1fr) minmax(320px, 1.7fr) minmax(170px, .85fr) minmax(190px, .95fr);
    box-shadow: none;
}

.firma-hareket-evrak-ozetleri,
.firma-hareket-filtre-card {
    grid-column: 1 / -1;
}

.firma-hareket-liste-baslik {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 32px;
    padding: 7px 12px;
    border-bottom: 1px solid var(--line);
}

.firma-hareket-kimlik,
.firma-hareket-firma-bilgileri,
.firma-hareket-bakiye-karti {
    min-width: 0;
    min-height: 82px;
    padding: 9px 11px;
    border-right: 1px solid var(--line);
}

.firma-hareket-bakiye-karti:nth-of-type(4) {
    border-right: 0;
}

.firma-hareket-kimlik {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    gap: 4px;
    background: var(--soft);
}

.firma-hareket-kimlik > strong {
    overflow: hidden;
    color: var(--text);
    font-size: 12px;
    line-height: 1.35;
    text-overflow: ellipsis;
}

.firma-hareket-kimlik > small {
    color: var(--muted);
    font-size: 9px;
    font-weight: 700;
}

.firma-hareket-kimlik > span,
.firma-hareket-firma-bilgileri > span,
.firma-hareket-bakiye-karti > span {
    color: var(--text-softer);
    font-size: 9.5px;
    font-weight: 700;
}

.firma-hareket-firma-bilgileri {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
    background: var(--surface);
}

.firma-hareket-firma-bilgi-satirlari {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.firma-hareket-firma-bilgi-satirlari strong {
    overflow: hidden;
    color: var(--text);
    font-size: 10px;
    font-weight: 600;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.firma-hareket-bolum-basligi {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--accent);
    font-size: 11px;
    font-weight: 800;
}

.firma-hareket-bolum-basligi .icon {
    width: 15px;
    height: 15px;
}

.firma-hareket-bakiye-karti {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: auto 1fr auto;
    gap: 3px 8px;
    background: var(--surface);
}

.firma-hareket-bakiye-karti > span {
    grid-column: 1;
    grid-row: 1;
}

.firma-hareket-bakiye-karti > strong {
    grid-column: 2;
    grid-row: 1;
    overflow: hidden;
    color: var(--text);
    font-size: 14px;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.firma-hareket-bakiye-karti > b {
    grid-column: 1;
    grid-row: 2 / 4;
    align-self: end;
    color: var(--accent);
    font-size: 21px;
    font-weight: 900;
    letter-spacing: .7px;
    line-height: 1;
}

.firma-hareket-bakiye-karti em {
    grid-column: 2;
    grid-row: 3;
    align-self: end;
    justify-self: end;
    padding: 2px 7px;
    border-radius: 999px;
    font-size: 9px;
    font-style: normal;
    font-weight: 800;
    text-transform: uppercase;
}

.firma-hareket-bakiye-karti em.is-credit {
    background: rgba(52, 199, 91, .14);
    color: #34c75b;
}

.firma-hareket-bakiye-karti em.is-debt {
    background: rgba(239, 86, 107, .14);
    color: #ef566b;
}

.firma-hareket-bakiye-karti em.is-zero {
    background: var(--soft);
    color: var(--muted);
}

.firma-hareket-evrak-ozetleri {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
    min-width: 0;
    border-top: 1px solid var(--line);
}

.firma-hareket-evrak-ozetleri > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-width: 0;
    min-height: 31px;
    padding: 5px 10px;
    border-right: 1px solid var(--line);
}

.firma-hareket-evrak-ozetleri > div:last-child {
    border-right: 0;
}

.firma-hareket-evrak-ozetleri span {
    color: var(--text-softer);
    font-size: 9.5px;
    font-weight: 700;
    white-space: nowrap;
}

.firma-hareket-evrak-ozetleri strong {
    overflow: hidden;
    color: var(--text);
    font-size: 11px;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.firma-hareket-mutabakat {
    color: var(--text-softer);
}

.firma-hareket-filtre-card {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    min-height: 55px;
    padding: 8px 12px;
    border-top: 1px solid var(--line);
}

.firma-hareket-filtre-card label {
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--text-softer);
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.firma-hareket-tarih {
    width: 140px;
    padding: 0 8px;
}

.firma-hareket-tarih-ayirici {
    color: var(--muted);
    font-weight: 700;
}

.firma-hareket-filtre-card .tool-btn {
    padding: 0 11px;
    box-shadow: none;
}

.firma-hareket-islem-sec {
    flex: 0 1 285px;
    min-width: 205px;
    margin-left: auto;
}

.firma-hareket-liste-baslik .uk-check {
    margin: 0;
    white-space: nowrap;
}

.firma-hareket-liste-baslik .firma-hareket-bolum-basligi + .uk-check {
    margin-left: auto;
}

.firma-hareket-islem-kolon,
.firma-hareket-islem-hucre {
    padding: 0 !important;
    text-align: center;
}

.firma-hareket-islem-hucre .btn {
    width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 29px;
    padding: 0;
    border: 0;
    box-shadow: none;
}

.firma-hareket-islem-hucre .icon {
    width: 14px;
    height: 14px;
}

.firma-hareket-silindi td {
    background: rgba(239, 86, 107, .06);
    color: var(--muted);
    text-decoration: line-through;
}

.firma-hareket-silindi .firma-hareket-islem-hucre,
.firma-hareket-silindi .firma-hareket-islem-hucre button {
    text-decoration: none;
}

.firma-hareket-durum {
    display: inline-flex;
    padding: 2px 7px;
    border-radius: 999px;
    background: rgba(52, 199, 91, .14);
    color: #34c75b;
    font-size: 9px;
    font-weight: 800;
}

.firma-hareket-durum--5 { background: rgba(239, 86, 107, .14); color: #ef566b; }
.firma-hareket-durum--8 { background: rgba(245, 158, 11, .14); color: var(--accent); }

.firma-finans-firma-sec {
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.firma-finans-firma-secim-modal { z-index: 1090; }
.firma-finans-firma-arama-wrap { margin-bottom: 10px; }
.firma-finans-firma-table-scroll { max-height: 420px; }
.firma-finans-firma-table-scroll tr { cursor: pointer; }

.finans-evrak-salt-okunur {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 8px 12px 0;
    padding: 8px 10px;
    border: 1px solid rgba(245, 158, 11, .45);
    border-radius: var(--radius-sm);
    background: rgba(245, 158, 11, .1);
    color: var(--text);
    font-size: 11px;
}

.finans-evrak-salt-okunur .icon { width: 16px; height: 16px; color: var(--accent); }

.urun-hareket-sayfasi {
    grid-column: 1 / -1;
    grid-row: 1 / -1;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 10px;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
}

.urun-hareket-toolbar-actions,
.urun-hareket-donem-label {
    display: flex;
    align-items: center;
    gap: 8px;
}

.urun-hareket-toolbar-actions {
    margin-left: auto;
}

.urun-hareket-tool-header .tool-search {
    flex-basis: 430px;
}

.urun-hareket-donem-label {
    color: var(--text-softer);
    font-size: 11px;
    font-weight: 700;
}

.urun-hareket-donem-label .app-combobox {
    width: 112px;
    min-width: 112px;
}

.urun-hareket-olcut-ac.is-active {
    border-color: var(--accent);
    color: var(--accent);
}

.urun-hareket-olcut-adet {
    display: inline-grid;
    place-items: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    background: var(--accent);
    color: #111827;
    font-size: 10px;
    font-weight: 900;
}

.urun-hareket-list-card,
.urun-hareket-list-card .table-area,
.urun-hareket-list-card .table-frame {
    width: 100%;
    min-width: 0;
    min-height: 0;
}

.urun-hareket-list-card {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    box-shadow: none;
}

.urun-hareket-list-baslik {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.urun-hareket-list-baslik > span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.urun-hareket-donem-ozeti {
    color: var(--text-softer);
    font-weight: 700;
}

.urun-hareket-table-scroll {
    width: 100%;
    height: 100%;
}

.urun-hareket-table { min-width: 2240px; }
.urun-hareket-tbody tr[data-evrak-id] { cursor: pointer; }

.urun-hareket-table-summary {
    display: grid;
    grid-template-columns: repeat(5, max-content);
    justify-content: start;
    gap: 0;
}

.urun-hareket-table-summary > span {
    padding: 0 14px;
    border-right: 1px solid var(--border);
}

.urun-hareket-table-summary > span:first-child { padding-left: 0; }
.urun-hareket-table-summary > span:last-child { border-right: 0; }

.urun-hareket-islem-column,
.urun-hareket-islem-cell {
    width: 38px;
    min-width: 38px;
    padding: 0 !important;
    text-align: center !important;
}

.urun-hareket-evrak-ac,
.urun-hareket-evrak-yok {
    display: inline-grid;
    place-items: center;
    width: 100%;
    height: 100%;
    min-height: 27px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--accent);
    font-weight: 900;
}

.urun-hareket-evrak-ac { cursor: pointer; }
.urun-hareket-evrak-ac:hover { background: rgba(var(--accent-rgb), .14); }
.urun-hareket-evrak-yok { color: var(--text-softer); opacity: .55; }

.urun-hareket-islem-modal-body {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 10px;
    min-height: 420px;
}

.urun-hareket-islem-modal-body .tool-search {
    width: 100%;
    max-width: none;
}

.urun-hareket-islem-scroll {
    max-height: 360px;
}

.urun-hareket-islem-scroll input[type="checkbox"] {
    display: block;
    margin: 0 auto;
}

.urun-hareket-sadece-secili {
    justify-self: end;
}

.firma-hareket-list-card,
.firma-hareket-frame {
    min-height: 0;
}

.data-card.wide.firma-hareket-list-card {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    box-shadow: none;
}

.firma-hareket-error-card {
    grid-column: 1 / -1;
    min-height: 0;
    margin-top: 10px;
}

.firma-ekstre-sayfasi {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 10px;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
}

.firma-ekstre-modal .modal-dialog {
    width: min(1500px, calc(100vw - 24px));
    max-width: none;
}

.firma-ekstre-modal .modal-content {
    height: min(840px, calc(100vh - 24px));
    max-height: calc(100vh - 24px);
}

.firma-ekstre-modal .modal-body {
    display: flex;
    min-height: 0;
    padding: 10px;
}

.firma-ekstre-header-actions {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-left: auto;
}

.firma-ekstre-header-actions .uk-header-btn {
    height: 34px;
    gap: 6px;
    padding: 0 12px;
    border-radius: 7px;
    font-size: 12px;
}

.firma-ekstre-header-actions .uk-header-btn .icon {
    width: 15px;
    height: 15px;
}

.firma-ekstre-ozet-card {
    display: grid;
    grid-template-columns: minmax(470px, 2.4fr) repeat(3, minmax(145px, .75fr));
    box-shadow: none;
}

.firma-ekstre-ozet-card > div {
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
    padding: 11px 15px;
    border-right: 1px solid var(--line);
}

.firma-ekstre-ozet-card > div:last-child {
    border-right: 0;
}

.firma-ekstre-ozet-card span {
    color: var(--text-softer);
    font-size: 10.5px;
    font-weight: 700;
}

.firma-ekstre-ozet-card strong {
    overflow: hidden;
    color: var(--text);
    font-size: 14px;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.firma-ekstre-kimlik {
    gap: 3px !important;
    background: linear-gradient(120deg, rgba(var(--accent-rgb), .13), transparent 72%);
}

.firma-ekstre-kimlik > strong {
    font-size: 12px;
    text-align: left;
}

.firma-ekstre-kimlik > small {
    color: var(--accent);
    font-size: 10px;
    font-weight: 800;
}

.firma-ekstre-bilgi-satirlari {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2px 14px;
    min-width: 0;
}

.firma-ekstre-bilgi-satirlari b {
    overflow: hidden;
    color: var(--text-softer);
    font-size: 9.5px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.firma-ekstre-doviz {
    color: var(--accent);
    font-size: 10px;
    text-align: right;
}

.firma-ekstre-list-card,
.firma-ekstre-frame {
    min-height: 0;
}

.firma-ekstre-list-card {
    box-shadow: none;
}

.firma-ekstre-frame th:nth-child(1), .firma-ekstre-frame th:nth-child(5) { width: 105px; }
.firma-ekstre-frame th:nth-child(2), .firma-ekstre-frame th:nth-child(3) { width: 155px; }
.firma-ekstre-frame th:nth-child(4) { width: 120px; }
.firma-ekstre-frame th:nth-child(6) { width: 260px; }
.firma-ekstre-frame th:nth-child(7), .firma-ekstre-frame th:nth-child(8), .firma-ekstre-frame th:nth-child(9) { width: 125px; }
.firma-ekstre-frame th:nth-child(10) { width: 50px; }

.firma-ekstre-ba {
    text-align: center !important;
    font-weight: 800;
}

.firma-ekstre-error-card {
    grid-row: 2 / -1;
    min-height: 0;
}

.firma-error-panel {
    display: flex;
    min-height: 220px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    color: #ef566b;
    text-align: center;
}

.firma-error-panel .icon {
    width: 34px;
    height: 34px;
}

.firma-error-panel span {
    color: var(--muted);
}

.fk-modal .modal-dialog {
    width: min(1500px, calc(100vw - 24px));
    max-width: none;
}

.fk-modal .modal-content {
    max-height: calc(100vh - 24px);
}

.fk-modal .modal-title small {
    margin-left: 8px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 600;
}

.fk-grid {
    grid-template-columns: none;
}

.fk-grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fk-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.firma-ekstre-tfoot td {
    position: sticky;
    z-index: 2;
    bottom: 0;
    height: 31px;
    padding: 5px 10px;
    border-top: 1px solid var(--border);
    border-right: 1px solid var(--line);
    background: var(--soft);
    color: var(--text-softer);
    font-size: 10.5px;
    font-weight: 700;
    white-space: nowrap;
}

.firma-ekstre-tfoot td:last-child {
    border-right: 0;
}

.firma-ekstre-tfoot strong {
    color: var(--accent);
}

.firma-hareket-sanal-devir td {
    background: rgba(var(--accent-rgb), .07);
    font-weight: 700;
}

.fk-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fk-general-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: 10px 24px;
}

.fk-general-title {
    grid-column: span 2;
}

.fk-general-tax-office {
    grid-column: 3;
}

.fk-general-col, .fk-tax-fields, .fk-main-column {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 8px;
}

.fk-general-col .uk-field-label, .fk-general-grid > .uk-field .uk-field-label, .fk-tax-fields .uk-field-label {
    flex-basis: 112px;
}

.fk-general-col .uk-field label {
    flex-basis: 112px;
}

.fk-tax-row {
    display: flex;
    align-items: stretch;
    gap: 8px;
    min-width: 0;
}

.fk-tax-fields {
    flex: 1 1 auto;
}

.fk-tax-row .firma-mukellef-btn {
    display: inline-flex;
    width: 92px !important;
    height: 62px !important;
    min-width: 92px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 3px;
    padding: 5px 8px !important;
    border: 1px solid rgba(var(--accent-rgb), .72);
    border-radius: 8px;
    background: rgba(var(--accent-rgb), .14);
    color: var(--accent);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
    cursor: pointer;
}

.fk-tax-row .firma-mukellef-btn:hover, .fk-tax-row .firma-mukellef-btn:focus-visible {
    border-color: var(--accent);
    background: rgba(var(--accent-rgb), .23);
    outline: 0;
}

.fk-tax-row .firma-mukellef-btn .icon {
    width: 16px;
    height: 16px;
}

.fk-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(390px, .75fr);
    gap: 10px;
    align-items: start;
    margin-top: 10px;
}

.fk-main-column {
    gap: 10px;
}

.fk-notes-body textarea {
    min-height: 82px;
}

.fk-contacts-section {
    min-height: 250px;
}

.fk-finance-grid {
    grid-template-columns: 1fr;
    gap: 6px;
}

.fk-finance-checks {
    flex-wrap: wrap;
    padding-top: 3px;
}

.fk-span-2 {
    grid-column: span 2;
}

.fk-span-4 {
    grid-column: span 4;
}

.fk-span-3 {
    grid-column: span 3;
}

.firma-finans-yonlar {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.firma-finans-yon {
    min-width: 130px;
}

.firma-finans-hareket-modal .modal-dialog {
    max-width: 860px;
}

.firma-finans-tutar-doviz {
    display: flex;
    gap: 8px;
    min-width: 0;
}

.firma-finans-tutar-doviz > #fhTutar {
    flex: 1 1 150px;
    min-width: 0;
}

.firma-finans-tutar-doviz > #fhDoviz {
    flex: 0 0 105px;
    min-width: 0;
}

.firma-finans-kur-alani {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-left: auto;
    color: var(--text);
    font-size: 12px;
    font-weight: 600;
}

.firma-finans-kur-alani > #fhKur {
    width: 92px;
    height: 24px;
    min-height: 24px;
    padding: 2px 8px;
    text-align: right;
}

.firma-finans-kur-parite {
    min-width: 52px;
    color: var(--accent);
    white-space: nowrap;
}

.firma-finans-firma-label {
    display: flex;
    align-items: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fk-modal textarea.uk-input {
    min-height: 62px;
}

.fk-lower-row {
    grid-template-columns: minmax(0, 1.35fr) minmax(360px, .65fr);
}

.fk-contact-body {
    display: block;
}

.fk-contact-scroll {
    max-height: 230px;
}

.fk-contact-scroll table {
    min-width: 850px;
}

.fk-contact-scroll th:last-child {
    width: 36px;
}

.fk-contact-scroll .firma-yetkili-sil {
    width: 35px !important;
    min-width: 35px;
    border-radius: 0 !important;
    background: rgba(239, 86, 107, .16);
    color: #ef566b;
    box-shadow: none;
}

.firma-mukellef-modal {
    z-index: 1080;
}

.modal-backdrop.firma-mukellef-backdrop {
    z-index: 1075;
}

.firma-mukellef-modal .modal-content {
    max-height: calc(100vh - 32px);
}

.firma-mukellef-modal .modal-body {
    min-height: 260px;
}

.firma-mukellef-modal .modal-footer {
    gap: 8px;
    padding: 10px 18px 14px;
    border-top: 1px solid var(--line);
    background: var(--surface);
}

.firma-mukellef-loading {
    display: flex;
    min-height: 240px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--text-softer);
    font-size: 13px;
    font-weight: 700;
}

.firma-mukellef-loading[hidden], .firma-mukellef-content[hidden] {
    display: none !important;
}

.firma-mukellef-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px 16px;
}

.firma-mukellef-summary > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}

.firma-mukellef-summary span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
}

.firma-mukellef-summary strong {
    overflow: hidden;
    color: var(--text);
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.firma-mukellef-modal .uk-section-title small {
    margin-left: auto;
    color: var(--muted);
    font-size: 10px;
    font-weight: 600;
}

.firma-mukellef-adres-scroll {
    max-height: 220px;
}

.firma-mukellef-adres-scroll table {
    min-width: 760px;
}

.firma-mukellef-adres-scroll tr[data-adres-index] {
    cursor: pointer;
}

.firma-mukellef-adres-scroll tr[data-adres-index]:hover td, .firma-mukellef-adres-scroll tr[data-adres-index].is-selected td {
    background: rgba(var(--accent-rgb), .1);
}

.firma-mukellef-adres-secim {
    width: 34px;
    text-align: center;
}

.firma-mukellef-adres-secim span {
    display: inline-block;
    width: 13px;
    height: 13px;
    border: 2px solid var(--muted);
    border-radius: 50%;
}

.firma-mukellef-adres-scroll tr.is-selected .firma-mukellef-adres-secim span {
    border: 4px solid var(--accent);
}

.firma-mukellef-faaliyetler {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.firma-mukellef-faaliyetler > span {
    display: inline-flex;
    gap: 6px;
    padding: 5px 8px;
    border: 1px solid var(--border);
    border-radius: 7px;
    background: var(--input-bg);
    color: var(--text-softer);
    font-size: 11px;
}

.firma-mukellef-faaliyetler strong {
    color: var(--accent);
}

@media (max-width: 1100px) {
    .firma-hareket-detay-card {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .firma-hareket-firma-bilgileri {
        border-right: 0;
    }

    .fk-grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fk-general-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fk-general-title, .fk-general-tax-office {
        grid-column: 1 / -1;
    }

    .fk-general-col:last-child {
        grid-column: 1 / -1;
    }

    .fk-span-4 {
        grid-column: span 2;
    }

    .fk-lower-row, .fk-main-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .firma-toolbar-actions {
        margin-left: 0;
    }

    .firma-ekstre-ozet-card {
        grid-template-columns: 1fr 1fr;
    }

    .firma-ekstre-kimlik {
        grid-column: 1 / -1;
    }

    .firma-filter {
        flex: 1 1 160px;
    }

    .firma-hareket-filtre-card {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .firma-hareket-islem-sec {
        flex: 1 1 205px;
        margin-left: 0;
    }

    .fk-grid--4, .fk-grid--3, .fk-grid--2, .fk-general-grid, .firma-mukellef-summary {
        grid-template-columns: 1fr;
    }

    .fk-general-col:last-child {
        grid-column: auto;
    }

    .fk-general-title, .fk-general-tax-office {
        grid-column: auto;
    }

    .fk-span-2, .fk-span-3, .fk-span-4 {
        grid-column: auto;
    }

    .firma-finans-tutar-doviz {
        flex-wrap: wrap;
    }

    .firma-finans-tutar-doviz > #fhTutar {
        flex-basis: 100%;
    }
}

@media (max-width: 560px) {
    .firma-hareket-detay-card {
        grid-template-columns: 1fr;
    }

    .firma-hareket-kimlik,
    .firma-hareket-firma-bilgileri,
    .firma-hareket-bakiye-karti {
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .firma-hareket-filtre-card label {
        width: 100%;
        justify-content: space-between;
    }

    .firma-hareket-tarih {
        flex: 1 1 auto;
    }

    .firma-hareket-tarih-ayirici {
        display: none;
    }

    .firma-ekstre-ozet-card {
        grid-template-columns: 1fr;
    }

    .firma-ekstre-kimlik {
        grid-column: auto;
    }
}

/* Tablo hücrelerindeki bütün ortak kontrol tipleri modül stillerinden bağımsız olarak köşesiz görünür. */
table :is(button,
    input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="image"]):not([type="range"]):not([type="color"]),
    textarea,
    select:not([multiple]),
    .ug-input-wrap) {
    border-radius: 0 !important;
}

