@import '_content/Z.Blazor.Diagrams/Z.Blazor.Diagrams.bundle.scp.css';

/* /../Modules/Distribution/App/Pages/Trips.razor.rz.scp.css */
/* Trips Page Scoped Styles */

/* Grid Row Compact Styling */
[b-4w6e8y5c84] .rz-datagrid-data td {
    padding: 4px 8px !important;
    font-size: 13px !important;
}

/* Detail View (Sefer Detay) Card Styling */
[b-4w6e8y5c84] .detail-card {
    margin: 10px;
    padding: 16px !important;
    background-color: #ffffff !important;
    border: 1px solid #e6e9f0 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05) !important;
}

/* Tab Panels Styling */
[b-4w6e8y5c84] .rz-tabview-panels {
    padding: 16px !important;
    border: 1px solid #f0f2f5 !important;
    border-top: none !important;
    background: #ffffff !important;
}

[b-4w6e8y5c84] .rz-tabview-nav {
    background: transparent !important;
    padding: 0 8px !important;
}

[b-4w6e8y5c84] .rz-tabview-item {
    font-size: 13px !important;
    font-weight: 600 !important;
}

[b-4w6e8y5c84] .rz-tabview-item.rz-state-active {
    color: #6a1b9a !important;
    border-bottom: 2px solid #6a1b9a !important;
}

/* Fieldset Styling - Standardized Font Sizes */
[b-4w6e8y5c84] .rz-fieldset {
    margin-bottom: 12px !important;
    border: 1px solid #f0f2f5 !important;
    border-radius: 6px !important;
    padding: 0 !important;
}

[b-4w6e8y5c84] .rz-fieldset-legend {
    font-size: 13px !important; /* Idealized to 13px */
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #6a1b9a !important;
    background: #f8f9fc !important;
    padding: 4px 12px !important;
    border-radius: 4px !important;
    border: 1px solid #f0f2f5 !important;
    margin-left: 12px !important;
    width: auto !important;
}

[b-4w6e8y5c84] .rz-fieldset-content {
    padding: 12px !important;
}

/* Universal Label Styling - Matching "Ideal" Genel Bilgiler Tab */
[b-4w6e8y5c84] .rz-label {
    font-size: 13px !important;
    color: #64748b !important;
    font-weight: 600 !important;
    margin-bottom: 4px !important;
    display: block !important;
}

/* Universal Input Styling (Ensuring Alış Fiyatı etc. are not larger) */
[b-4w6e8y5c84] .rz-textbox, 
[b-4w6e8y5c84] .rz-dropdown, 
[b-4w6e8y5c84] .rz-numeric, 
[b-4w6e8y5c84] .rz-datepicker,
[b-4w6e8y5c84] .rz-autocomplete,
[b-4w6e8y5c84] .rz-textarea,
[b-4w6e8y5c84] .rz-inputtext {
    height: 36px !important;
    font-size: 12px !important; /* Keep autocomplete/input text aligned with the compact layout */
}

/* Deep override for inner numeric and datepicker input elements */
[b-4w6e8y5c84] .rz-numeric-input,
[b-4w6e8y5c84] .rz-numeric input,
[b-4w6e8y5c84] .rz-datepicker input,
[b-4w6e8y5c84] .rz-badge {
    font-size: 12px !important;
}

[b-4w6e8y5c84] .rz-numeric-input,
[b-4w6e8y5c84] .rz-numeric input,
[b-4w6e8y5c84] .rz-datepicker input {
    height: 34px !important;
}

/* Stack Layout Fixes */
[b-4w6e8y5c84] .rz-stack {
    width: 100%;
}

/* Text Detail View (Varlık Detayları Section) */
.detail-label[b-4w6e8y5c84] {
    font-size: 13px !important;
    color: #64748b !important;
    font-weight: 600 !important;
}

.detail-value[b-4w6e8y5c84] {
    font-size: 13px !important;
    color: #1a1c23 !important;
    font-weight: 500 !important;
}

/* Detail Action Buttons Footer */
.detail-actions[b-4w6e8y5c84] {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #f0f2f5;
}
/* /../Platform.Core/App/Pages/AdminLayout.razor.rz.scp.css */
.admin-layout-shell[b-g2mk5grxw0] {
    position: fixed;
    inset: 0;
    overflow: hidden;
}

/* Üst bar yüksekliği tek yerden: satırın kalan yüksekliği buradan türer. */
.admin-layout-shell[b-g2mk5grxw0] {
    --admin-topbar-h: 44px;
    --admin-sidebar-w: 300px;
}

/* Ana modül (Dağıtım) başlığıyla aynı dil: beyaz zemin, ince alt kenarlık,
   en solda gizleme butonu. Kenar menü gizlenince bu bar yerinde kalır. */
.admin-layout-topbar[b-g2mk5grxw0] {
    position: relative;
    z-index: 250;
    display: flex;
    align-items: center;
    gap: 10px;
    height: var(--admin-topbar-h);
    padding: 0 12px;
    border-bottom: 1px solid #e6e9f0;
    background: #ffffff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

.admin-layout-toggle[b-g2mk5grxw0] {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 3px;
    background: transparent;
    color: #111d43;
    font-size: 17px;
    line-height: 1;
    cursor: pointer;
}

.admin-layout-toggle:hover[b-g2mk5grxw0] {
    background: #f4f7fa;
}

.admin-layout-row[b-g2mk5grxw0] {
    height: calc(100% - var(--admin-topbar-h));
    overflow: hidden;
}

/* Genişlik ve gizlenme ana modül menüsüyle (Radzen RadzenSidebar) aynı:
   300px, kapanınca 0 + opaklık 0, geçiş 0.1s linear. */
.admin-layout-sidebar[b-g2mk5grxw0] {
    flex: 0 0 auto;
    width: var(--admin-sidebar-w);
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    opacity: 1;
    transition: width 0.1s linear, opacity 0.1s linear;
}

.admin-layout-collapsed .admin-layout-sidebar[b-g2mk5grxw0] {
    width: 0;
    opacity: 0;
    border-right-width: 0;
}

.admin-layout-content[b-g2mk5grxw0] {
    height: 100%;
    overflow: auto;
    min-width: 0;
}

.custom-scrollbar[b-g2mk5grxw0]::-webkit-scrollbar {
    width: 0;
    height: 0;
    background: transparent;
}

.custom-scrollbar[b-g2mk5grxw0] {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Kenar menü lacivert teması — ana modül menüsüyle (NavMenu) aynı görsel dil.
   Sağdaki içerik yüzeyi açık kalır; yalnızca sidebar koyudur. */
.admin-layout-sidebar[b-g2mk5grxw0] {
    padding: 0;
    border-right: 1px solid rgba(140, 180, 230, 0.10);
    background: linear-gradient(180deg, #0e2038 0%, #0a1729 100%);
    color: #dce9f9;
}

/* Marka artık kenar menüde değil üst barda — açık zemine göre renklendi. */
.admin-layout-brand[b-g2mk5grxw0] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    color: #111d43;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
    white-space: nowrap;
}

.admin-layout-brand span[b-g2mk5grxw0] {
    overflow: hidden;
    text-overflow: ellipsis;
}
/* /../Platform.Core/App/Pages/AdminNavMenu.razor.rz.scp.css */
/* Platform (/sys) kenar menüsü — NavMenu ile aynı görsel dil:
   lacivert zemin, açık mavi tipografi, seçilide sol gösterge çubuğu,
   grup başlıkları küçük punto açık mavi, grup altı satırlarda madde işareti.
   NavLink kendi <a> etiketini ürettiği için kurallar ::deep ile yazılır. */

/* Tipografi Satın Alma kenar menüsüyle (procurement.css · .proc-nav-*) aynı:
   Inter, üst satır 12px/600, alt satır 12px/500, grup başlığı 10px/700 versal.
   px kullanılır; rem kök font boyutuna bağlı olduğu için zoom panelinde
   menü ile içerik farklı ölçeklenirdi. */
.psh-admin-nav[b-b3kpit18eh],
.psh-admin-nav[b-b3kpit18eh]  * {
    font-family: Inter, "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

.psh-admin-nav[b-b3kpit18eh] {
    display: grid;
    gap: 0;
    padding-bottom: 12px;
}

.psh-admin-nav[b-b3kpit18eh]  .psh-nav-link {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 34px;
    padding: 0 14px;
    border-bottom: 1px solid rgba(140, 180, 230, 0.08);
    color: #dce9f9;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.15s ease-in-out;
}

.psh-admin-nav[b-b3kpit18eh]  .psh-nav-link i {
    flex: 0 0 auto;
    color: #7fb2e6;
    font-size: 14px;
}

.psh-admin-nav[b-b3kpit18eh]  .psh-nav-link:hover {
    background: rgba(90, 169, 255, 0.10);
    color: #ffffff;
}

.psh-admin-nav[b-b3kpit18eh]  .psh-nav-link:hover i {
    color: #ffffff;
}

.psh-admin-nav[b-b3kpit18eh]  .psh-nav-link.active {
    background: linear-gradient(90deg, #1c4c8c 0%, #14355f 100%);
    box-shadow: inset 4px 0 0 0 #5aa9ff;
    color: #ffffff;
    font-weight: 700;
}

.psh-admin-nav[b-b3kpit18eh]  .psh-nav-link.active i {
    color: #ffffff;
}

/* Grup başlığı altındaki satırlar */
.psh-admin-nav[b-b3kpit18eh]  .psh-nav-sublink {
    min-height: 30px;
    padding-left: 22px;
    border-bottom: none;
    color: #cfe1f6;
    font-weight: 500;
}

.psh-admin-nav[b-b3kpit18eh]  .psh-nav-sublink::before {
    content: "\2022";
    flex: 0 0 auto;
    margin-right: -2px;
    color: #5a93d4;
    font-size: 14px;
    line-height: 1;
}

.psh-admin-nav[b-b3kpit18eh]  .psh-nav-sublink.active {
    box-shadow: inset 3px 0 0 0 #5aa9ff;
}

/* Grup başlığı */
.psh-admin-nav[b-b3kpit18eh]  .psh-nav-caption {
    padding: 10px 14px 4px 22px;
    color: #5f9fd8;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.psh-admin-nav[b-b3kpit18eh]  .psh-nav-divider {
    margin: 12px 14px 10px;
    border: 0;
    border-top: 1px solid rgba(140, 180, 230, 0.12);
    opacity: 1;
}

.psh-admin-nav[b-b3kpit18eh]  .psh-nav-logout {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: calc(100% - 28px);
    margin: 0 14px;
    min-height: 34px;
    border: 1px solid rgba(239, 68, 68, 0.25);
    border-radius: 3px;
    background: rgba(239, 68, 68, 0.12);
    color: #ff9d9d;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    cursor: pointer;
}

.psh-admin-nav[b-b3kpit18eh]  .psh-nav-logout:hover {
    background: #ef4444;
    color: #ffffff;
}
/* /../Platform.Core/App/Pages/CorporateContentCenter.razor.rz.scp.css */
.corporate-page[b-1x4eb8jy9n] {
    max-width: 1600px;
}

.corporate-links-table[b-1x4eb8jy9n] {
    max-height: 320px;
    overflow: auto;
}

.corporate-links-table table[b-1x4eb8jy9n] {
    margin-bottom: 0;
}

.bg-light-subtle[b-1x4eb8jy9n] {
    background: #f8fafc;
}

.bg-success-subtle[b-1x4eb8jy9n] {
    background: #e7f8ee;
}

.bg-secondary-subtle[b-1x4eb8jy9n] {
    background: #eef1f4;
}

.text-success-emphasis[b-1x4eb8jy9n] {
    color: #0f6b3c;
}

.text-secondary-emphasis[b-1x4eb8jy9n] {
    color: #495057;
}

textarea.form-control[b-1x4eb8jy9n] {
    resize: vertical;
    min-height: 90px;
}

.corporate-textarea[b-1x4eb8jy9n] {
    min-height: 140px;
    white-space: pre-wrap;
}
/* /../Platform.Core/App/Pages/NavMenu.razor.rz.scp.css */
/* Lacivert zemin + açık mavi tipografi: referans nav menü tasarımı.
   Radzen 8.x sınıf adları: aktif satır .rz-navigation-item-wrapper-active
   (eski .rz-state-active bu sürümde artık üretilmiyor).

   TİPOGRAFİ — Satın Alma modülünün kenar menüsüyle (procurement.css · .proc-nav-*)
   birebir aynıdır: Inter ailesi, üst satır 12px/600, alt satır 12px/500,
   grup başlığı 10px/700 versal. Değerler px'tir, rem DEĞİL: rem kök font
   boyutuna bağlıdır ve zoom panelinde menü ile içerik farklı ölçeklenirdi. */

.nav-menu-container[b-vhngzrns60],
.nav-menu-container[b-vhngzrns60]  * {
    font-family: Inter, "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

.nav-menu-container[b-vhngzrns60]  .rz-panel-menu {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

/* ---- ÜST SEVİYE SATIRLAR ---- */

/* Satırlar kenardan kenara: Radzen'in varsayılan kenar boşluğu ve yuvarlaklığı sıfırlanır */
.nav-menu-container[b-vhngzrns60]  .rz-panel-menu > .rz-navigation-item,
.nav-menu-container[b-vhngzrns60]  .rz-navigation-item {
    margin: 0 !important;
    border-radius: 0 !important;
    border-block-end: 1px solid rgba(140, 180, 230, 0.08) !important;
    background-color: transparent !important;
}

.nav-menu-container[b-vhngzrns60]  .rz-navigation-item-wrapper {
    margin: 0 !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    transition: background-color 0.15s ease-in-out;
}

.nav-menu-container[b-vhngzrns60]  .rz-navigation-menu {
    background-color: rgba(0, 0, 0, 0.22) !important;
}

.nav-menu-container[b-vhngzrns60]  .rz-navigation-item-link {
    display: flex !important;
    align-items: center !important;
    min-height: 34px !important;
    padding: 0 14px !important;
    color: #dce9f9 !important;
    background: transparent !important;
}

.nav-menu-container[b-vhngzrns60]  .rz-navigation-item-text {
    color: #dce9f9 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.2px;
}

.nav-menu-container[b-vhngzrns60]  .rz-navigation-item-icon {
    color: #7fb2e6 !important;
    margin-inline: 0 10px !important;
    font-size: 15px !important;
    width: 15px !important;
    height: 15px !important;
}

/* Açılır satırların sağındaki ok — Radzen açıkken kendisi 180° döndürür */
.nav-menu-container[b-vhngzrns60]  .rz-navigation-item-icon-children {
    margin-inline-start: auto !important;
    color: #6f9fd0 !important;
    opacity: 1 !important;
    font-size: 14px !important;
    width: 14px !important;
    height: 14px !important;
}

/* ---- SEÇİLİ SATIR ---- */

.nav-menu-container[b-vhngzrns60]  .rz-navigation-item-wrapper-active,
.nav-menu-container[b-vhngzrns60]  .rz-navigation-item-active {
    background: linear-gradient(90deg, #1c4c8c 0%, #14355f 100%) !important;
    /* Radzen'in 4px'lik gösterge ::before'u material temada display:none — kendi çubuğumuzu
       box-shadow ile çiziyoruz ki wrapper'ın overflow:hidden'ı ile uyumlu kalsın. */
    box-shadow: inset 4px 0 0 0 #5aa9ff !important;
}

.nav-menu-container[b-vhngzrns60]  .rz-navigation-item-wrapper-active .rz-navigation-item-text,
.nav-menu-container[b-vhngzrns60]  .rz-navigation-item-active .rz-navigation-item-text {
    color: #ffffff !important;
    font-weight: 700 !important;
}

.nav-menu-container[b-vhngzrns60]  .rz-navigation-item-wrapper-active .rz-navigation-item-icon,
.nav-menu-container[b-vhngzrns60]  .rz-navigation-item-active .rz-navigation-item-icon {
    color: #ffffff !important;
}

/* ---- HOVER ---- */

.nav-menu-container[b-vhngzrns60]  .rz-navigation-item-wrapper:hover:not(.rz-navigation-item-wrapper-active) {
    background-color: rgba(90, 169, 255, 0.10) !important;
}

.nav-menu-container[b-vhngzrns60]  .rz-navigation-item-wrapper:hover .rz-navigation-item-text,
.nav-menu-container[b-vhngzrns60]  .rz-navigation-item-wrapper:hover .rz-navigation-item-icon,
.nav-menu-container[b-vhngzrns60]  .rz-navigation-item-wrapper:hover .rz-navigation-item-icon-children {
    color: #ffffff !important;
}

/* ---- ALT MENÜ ---- */

.nav-menu-container[b-vhngzrns60]  .rz-navigation-menu .rz-navigation-item {
    border-block-end: none !important;
}

.nav-menu-container[b-vhngzrns60]  .rz-navigation-menu .rz-navigation-item-link {
    min-height: 30px !important;
    padding: 0 14px 0 22px !important;
}

/* Madde işareti. Radzen bu ::before'u ripple için kullandığından mutlak konumlama
   ve arka plan burada sıfırlanır; alt satırlarda ripple efekti bilinçli olarak kapalı. */
.nav-menu-container[b-vhngzrns60]  .rz-navigation-menu .rz-navigation-item-link::before {
    content: "\2022";
    position: static !important;
    inset: auto !important;
    opacity: 1 !important;
    background: none !important;
    transition: none !important;
    color: #5a93d4;
    font-size: 14px;
    line-height: 1;
    margin-right: 10px;
    flex: 0 0 auto;
}

.nav-menu-container[b-vhngzrns60]  .rz-navigation-menu .rz-navigation-item-text {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #cfe1f6 !important;
}

.nav-menu-container[b-vhngzrns60]  .rz-navigation-menu .rz-navigation-item-icon {
    font-size: 14px !important;
    width: 14px !important;
    height: 14px !important;
    margin-inline: 0 8px !important;
}

.nav-menu-container[b-vhngzrns60]  .rz-navigation-menu .rz-navigation-item-wrapper-active,
.nav-menu-container[b-vhngzrns60]  .rz-navigation-menu .rz-navigation-item-active {
    box-shadow: inset 3px 0 0 0 #5aa9ff !important;
}

/* ---- BÖLÜM BAŞLIĞI (alt menü içi grup etiketi) ---- */

.nav-menu-container[b-vhngzrns60]  .nav-group-caption {
    padding: 10px 14px 4px 22px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: #5f9fd8;
}

/* Alt menüde iki grubu ayıran ince çizgi; yalnız üstünde görünen bir grup varsa çizilir */
.nav-menu-container[b-vhngzrns60]  .nav-group-divider {
    margin: 6px 14px 0 22px;
    border-top: 1px solid rgba(140, 180, 230, 0.12);
}

/* Menü sonundaki tekil satırı üstündeki gruptan ayırır */
.nav-menu-container[b-vhngzrns60]  .nav-item-separated {
    margin-top: 10px !important;
    border-top: 1px solid rgba(140, 180, 230, 0.12) !important;
}

/* ---- ÇIKIŞ BUTONU ---- */

.logout-btn-container[b-vhngzrns60]  .rz-button {
    background-color: rgba(239, 68, 68, 0.12) !important;
    border: 1px solid rgba(239, 68, 68, 0.25) !important;
    color: #ff9d9d !important;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 1px;
    border-radius: 3px;
    padding: 7px;
}

.logout-btn-container[b-vhngzrns60]  .rz-button:hover {
    background-color: #ef4444 !important;
    color: #ffffff !important;
}

hr[b-vhngzrns60] {
    border-top: 1px solid rgba(140, 180, 230, 0.12) !important;
    opacity: 1 !important;
}
/* /Components/PermissionTree.razor.rz.scp.css */
/* Modül → Ekran → Yetki ağacı. Bootstrap 5 üzerine, bileşene izole. */
.perm-tree[b-x5psjvsv85] {
    --pt-line: #dde3e9;
    --pt-soft: #eef2f6;
    --pt-muted: #6b7783;
    --pt-primary: #0d6efd;
    --pt-primary-soft: #e7f0ff;
    --pt-primary-ink: #0a58ca;
    --pt-deny: #b3261e;
    --pt-deny-soft: #fdeceb;
    --pt-ok: #1a7f4b;
    --pt-ok-soft: #e6f4ec;
    border: 1px solid var(--pt-line);
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}

.perm-tree input[type=checkbox][b-x5psjvsv85] {
    accent-color: var(--pt-primary);
    cursor: pointer;
    flex: 0 0 auto;
    margin: 0;
}

/* ── araç çubuğu ─────────────────────────────────────────────────────── */
.pt-toolbar[b-x5psjvsv85] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 9px 12px;
    border-bottom: 1px solid var(--pt-line);
    background: #fbfcfd;
}

.pt-search[b-x5psjvsv85] { position: relative; flex: 0 0 280px; }
.pt-search .bi-search[b-x5psjvsv85] { position: absolute; left: 10px; top: 7px; color: var(--pt-muted); font-size: 12px; }
.pt-search input[b-x5psjvsv85] { padding-left: 30px; padding-right: 28px; border-radius: 20px; }
.pt-clear[b-x5psjvsv85] { position: absolute; right: 6px; top: 3px; border: 0; background: none; color: var(--pt-muted); font-size: 11px; padding: 3px 5px; }

.pt-chips[b-x5psjvsv85] { display: flex; gap: 5px; flex-wrap: wrap; }

.pt-chip[b-x5psjvsv85] {
    height: 28px;
    padding: 0 11px;
    border: 1px solid var(--pt-line);
    border-radius: 20px;
    background: #fff;
    color: var(--pt-muted);
    font-size: 12px;
}
.pt-chip:hover[b-x5psjvsv85] { border-color: #c2cbd4; }
.pt-chip.active[b-x5psjvsv85] { border-color: var(--pt-primary); background: var(--pt-primary-soft); color: var(--pt-primary-ink); font-weight: 600; }
.pt-chip .n[b-x5psjvsv85] { margin-left: 5px; opacity: .7; font-size: 11px; }

.pt-toolbar-end[b-x5psjvsv85] { display: flex; align-items: center; gap: 6px; margin-left: auto; }

.pt-link[b-x5psjvsv85] { border: 0; background: none; color: var(--pt-primary-ink); font-size: 12px; padding: 4px 6px; text-decoration: underline; }

.pt-seg[b-x5psjvsv85] { display: flex; border: 1px solid var(--pt-line); border-radius: 7px; overflow: hidden; background: #fff; }
.pt-seg button[b-x5psjvsv85] { height: 28px; padding: 0 12px; border: 0; background: none; color: var(--pt-muted); font-size: 12px; }
.pt-seg button.active[b-x5psjvsv85] { background: var(--pt-primary); color: #fff; font-weight: 600; }

/* ── gövde ───────────────────────────────────────────────────────────── */
.pt-body[b-x5psjvsv85] { display: grid; grid-template-columns: 232px 1fr; }

.pt-rail[b-x5psjvsv85] { border-right: 1px solid var(--pt-line); background: #fbfcfd; padding: 9px 7px; overflow: auto; max-height: 460px; }
.pt-rail-title[b-x5psjvsv85] { padding: 2px 8px 8px; color: var(--pt-muted); font-size: 10.5px; font-weight: 700; letter-spacing: .4px; }

.pt-mod[b-x5psjvsv85] {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 9px;
    margin-bottom: 3px;
    border: 1px solid transparent;
    border-radius: 8px;
    cursor: pointer;
}
.pt-mod:hover[b-x5psjvsv85] { background: #f1f4f8; }
.pt-mod.active[b-x5psjvsv85] { background: #fff; border-color: var(--pt-line); box-shadow: 0 1px 3px rgba(20,30,45,.06); }

.pt-mi[b-x5psjvsv85] { width: 24px; height: 24px; border-radius: 6px; display: grid; place-items: center; font-size: 12px; flex: 0 0 auto; }
.pt-mi.lg[b-x5psjvsv85] { width: 30px; height: 30px; border-radius: 7px; font-size: 15px; }

.pt-mod-body[b-x5psjvsv85] { flex: 1; min-width: 0; }
.pt-mod-name[b-x5psjvsv85] { display: block; font-size: 13px; font-weight: 600; color: #1f2933; }
.pt-mod-sub[b-x5psjvsv85] { display: block; color: var(--pt-muted); font-size: 11px; margin-top: 1px; }
.pt-bar[b-x5psjvsv85] { display: block; height: 4px; border-radius: 3px; background: var(--pt-soft); margin-top: 6px; overflow: hidden; }
.pt-bar i[b-x5psjvsv85] { display: block; height: 100%; background: var(--pt-primary); border-radius: 3px; }

.pt-main[b-x5psjvsv85] { padding: 10px 13px 8px; overflow: auto; max-height: 460px; }

.pt-mod-head[b-x5psjvsv85] { display: flex; align-items: center; gap: 10px; padding: 2px 2px 9px; border-bottom: 1px dashed var(--pt-line); margin-bottom: 8px; }
.pt-mod-head h6[b-x5psjvsv85] { margin: 0; font-size: 14.5px; font-weight: 640; }
.pt-mod-head p[b-x5psjvsv85] { margin: 2px 0 0; color: var(--pt-muted); font-size: 12px; }
.pt-mod-tools[b-x5psjvsv85] { margin-left: auto; display: flex; gap: 4px; }

/* ── ağaç düğümü ─────────────────────────────────────────────────────── */
.pt-node[b-x5psjvsv85] { border: 1px solid var(--pt-line); border-radius: 8px; margin-bottom: 7px; overflow: hidden; }
.pt-node.open[b-x5psjvsv85] { border-color: #cdd8e4; }

.pt-grp[b-x5psjvsv85] { display: flex; align-items: center; gap: 9px; padding: 8px 11px; background: #fcfdfe; cursor: pointer; user-select: none; }
.pt-grp:hover[b-x5psjvsv85] { background: #f7f9fc; }
.pt-node.open .pt-grp[b-x5psjvsv85] { border-bottom: 1px solid var(--pt-line); }

.pt-caret[b-x5psjvsv85] { color: var(--pt-muted); font-size: 10px; transition: transform .15s; }
.pt-node.open .pt-caret[b-x5psjvsv85] { transform: rotate(90deg); }

.pt-grp-label[b-x5psjvsv85] { font-size: 13.5px; font-weight: 600; }

.pt-count[b-x5psjvsv85] { padding: 1px 7px; border-radius: 10px; background: var(--pt-soft); color: var(--pt-muted); font-size: 11px; font-weight: 600; }
.pt-count.on[b-x5psjvsv85] { background: var(--pt-primary-soft); color: var(--pt-primary-ink); }

.pt-grp-tools[b-x5psjvsv85] { margin-left: auto; display: flex; gap: 4px; opacity: 0; transition: opacity .12s; }
.pt-grp:hover .pt-grp-tools[b-x5psjvsv85], .pt-node.open .pt-grp-tools[b-x5psjvsv85] { opacity: 1; }

.pt-mini[b-x5psjvsv85] { height: 24px; padding: 0 9px; border: 1px solid var(--pt-line); border-radius: 14px; background: #fff; color: var(--pt-muted); font-size: 11.5px; white-space: nowrap; }
.pt-mini:hover[b-x5psjvsv85] { border-color: var(--pt-primary); color: var(--pt-primary-ink); background: var(--pt-primary-soft); }

/* ── yetki satırı ────────────────────────────────────────────────────── */
/* İKİ SÜTUN SABİT DEĞİL, SIĞDIĞI KADAR: sabit "1fr 1fr" iken sütun genişliği
   sayfanın değil panelin işiydi ve panel dar kaldığında satırın sağ ucu
   (.pt-node overflow:hidden yüzünden) kesiliyordu — kapsam ve devir kontrolleri
   ekrandan silinmiş gibi görünüyordu. minmax ile satır kendi asgari genişliğini
   alamıyorsa tek sütuna düşer; hiçbir kontrol kırpılmaz. */
.pt-perms[b-x5psjvsv85] { padding: 4px 10px 8px 32px; display: grid; grid-template-columns: repeat(auto-fit, minmax(430px, 1fr)); gap: 0 14px; }

/* Satır düzeni: kutu | ad (esneyen) | sağ blok (rozet+kapsam+devir).
   IZGARA, flex değil: flex'te uzun yetki adı bloğu şişirip sağdaki kontrolleri
   alt satıra atıyordu. minmax(0,1fr) ad sütununu kesin daraltır; ad uzunsa
   kırpılır ama satır tek satır kalır ve sağ blok yerini korur. */
.pt-perm[b-x5psjvsv85] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 2px 9px;
    padding: 6px 8px;
    border-radius: 6px;
    min-height: 34px;
}
.pt-perm:hover[b-x5psjvsv85] { background: #f6f9fd; }
.pt-perm.denied[b-x5psjvsv85] { background: var(--pt-deny-soft); }
.pt-perm.denied:hover[b-x5psjvsv85] { background: #fbe2e0; }

.pt-perm-main[b-x5psjvsv85] { min-width: 0; margin: 0; cursor: pointer; }
.pt-perm-name[b-x5psjvsv85] { display: block; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* Yetki kodu satırda yazılmaz (ipucuna alındı); bu yüzden .pt-perm-code kuralı da kaldırıldı. */

/* Satır sonu: rozet | kapsam | devir. ÜÇÜ DE SABİT SÜTUN — her üçü de koşullu
   çizilir (rozet yalnız rolden gelende, devir yalnız doğrudan verilende) ve
   serbest akışta bırakılsalardı yan yana satırlarda kontroller yatayda kayardı:
   rolden gelen bir yetkiyi doğrudan verdiğinizde rozet düşer, düğme belirir ve
   kapsam kutusu yerinden oynardı. Boş sütun yerini korur.
   Rozet SAĞDA durur; ad sütununun içine alınırsa uzun yetki adlarını kırpar. */
.pt-tail[b-x5psjvsv85] {
    margin-left: auto;
    display: grid;
    grid-template-columns: 82px 112px 106px;
    align-items: center;
    justify-items: start;
    gap: 5px;
    flex: 0 0 auto;
}

.pt-badge[b-x5psjvsv85] { flex: 0 0 auto; }

.pt-slot[b-x5psjvsv85] { display: flex; align-items: center; gap: 4px; min-width: 0; }

/* Rozet yuvası: "Rolden" ve "Engellendi" farklı genişlikte; sütun ikisini de
   alacak kadar geniş, rozet sağa yaslı durur ki kapsam kutusuyla arası sabit kalsın. */
.pt-slot-badge[b-x5psjvsv85] { justify-content: flex-end; width: 82px; }

/* ── kapsam seçimi: "Kendi belgesi" / "Tüm belgeler" ──────────────────────
   ONAY KUTUSU DEĞİL, İKİ SEÇENEKLİ GRUP. Eskiden tek bir onay kutusu vardı ve
   etiketi duruma göre değişiyordu; kutu "işaretlersem bu olur" diye okunurken
   etiket "şu an bu" diyordu — iki okuma birbirinin tersiydi. Artık iki seçenek
   de her zaman yazılı, aktif olan dolu; tıklanan taraf seçilir.

   SABİT GENİŞLİK: yanındaki "Rolden"/"Devredebilir" rozetleri her tıklamada
   yer değiştirmesin. İki seçenek alt alta olduğu için genişlik de sabit kalır. */
.pt-scope[b-x5psjvsv85] {
    box-sizing: border-box;
    display: inline-flex;
    align-items: stretch;
    gap: 6px;
    flex: 0 0 auto;
    width: 112px;
    padding: 3px 7px;
    margin: 0;
    border: 1px solid var(--pt-line);
    border-radius: 12px;
    background: #fff;
}

/* Dikey ray + topuz: hangi satırın aktif olduğunu yazıyı okumadan verir. */
.pt-scope-rail[b-x5psjvsv85] {
    position: relative;
    flex: 0 0 11px;
    width: 11px;
    border-radius: 6px;
    background: #e7ecf2;
}

.pt-scope-knob[b-x5psjvsv85] {
    position: absolute;
    left: 2px;
    top: 3px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #9aa6b2;
    transition: top .15s ease, background .15s ease;
}

.pt-scope.all[b-x5psjvsv85] { border-color: var(--pt-primary); background: var(--pt-primary-soft, #eef3fd); }
.pt-scope.all .pt-scope-rail[b-x5psjvsv85] { background: #d5e1f8; }
.pt-scope.all .pt-scope-knob[b-x5psjvsv85] { top: calc(100% - 10px); background: var(--pt-primary); }

.pt-scope-opts[b-x5psjvsv85] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }

.pt-scope-opt[b-x5psjvsv85] {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: none;
    text-align: left;
    font-size: 10.5px;
    line-height: 13px;
    color: #9aa6b2;
    white-space: nowrap;
    cursor: pointer;
}

.pt-scope-opt.sel[b-x5psjvsv85] { color: var(--pt-ink, #1c2a3a); font-weight: 700; }
.pt-scope.all .pt-scope-opt.sel[b-x5psjvsv85] { color: var(--pt-primary-ink); }
.pt-scope-opt:hover:not(.sel):not(:disabled)[b-x5psjvsv85] { color: var(--pt-primary); text-decoration: underline; }
.pt-scope-opt:disabled[b-x5psjvsv85] { cursor: default; }

/* Yetki kapalıyken kapsam sorusunun cevabı yok: kontrol yerinde durur ama söner.
   Gizlenseydi satır kısalır, açıp kapatmak listeyi zıplatırdı. */
.pt-scope.muted[b-x5psjvsv85] { opacity: .4; }
.pt-scope.muted .pt-scope-opt[b-x5psjvsv85] { cursor: default; }

/* Devir düğmesi: durumu rengiyle değil yazısıyla söyler — "Devret" yazan düğme
   tıklanmamışken de tıklanmışken de aynı görünüyordu. */
.pt-deleg[b-x5psjvsv85] { box-sizing: border-box; border: 1px solid var(--pt-line); background: #fff; color: #9aa6b2; border-radius: 14px; height: 22px; min-width: 106px; padding: 0 7px; font-size: 11px; white-space: nowrap; }
.pt-deleg:hover[b-x5psjvsv85] { border-color: var(--pt-primary); color: var(--pt-primary-ink); }
.pt-deleg.on[b-x5psjvsv85] { border-color: var(--pt-ok); background: var(--pt-ok-soft); color: var(--pt-ok); font-weight: 600; }

.pt-hint[b-x5psjvsv85] { grid-column: 1 / -1; margin: -2px 0 0 25px; color: var(--pt-muted); font-size: 11px; }

/* ── matris ──────────────────────────────────────────────────────────── */
.pt-matrix[b-x5psjvsv85] { font-size: 13px; }
.pt-matrix thead th[b-x5psjvsv85] { background: #f7f9fb; font-size: 11px; color: var(--pt-muted); font-weight: 700; letter-spacing: .3px; }
.pt-matrix tbody tr:hover td[b-x5psjvsv85] { background: #fafcfe; }
.pt-dash[b-x5psjvsv85] { color: #c8d0d8; }

.pt-mxchip[b-x5psjvsv85] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border: 1px solid var(--pt-line);
    border-radius: 14px;
    padding: 2px 9px 2px 6px;
    margin: 2px 4px 2px 0;
    font-size: 11.5px;
    background: #fff;
    cursor: pointer;
}
.pt-mxchip.on[b-x5psjvsv85] { border-color: var(--pt-primary); background: var(--pt-primary-soft); color: var(--pt-primary-ink); }

/* Matris hücresi: yetki kutusu üstte, kapsam altında. */
.pt-mxcell[b-x5psjvsv85] { display: inline-flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 3px; min-height: 34px; }

/* Kapsamın yatay ikilisi. Liste görünümündeki dikey kontrolün dar karşılığı:
   aynı iki etiket, aynı kural — aktif olan dolu, tıklanan taraf seçilir. */
.pt-mxscope[b-x5psjvsv85] {
    display: inline-flex;
    border: 1px solid var(--pt-line);
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    line-height: 1;
}

.pt-mxscope-opt[b-x5psjvsv85] {
    border: 0;
    background: none;
    padding: 2px 6px;
    font-size: 9.5px;
    color: #9aa6b2;
    white-space: nowrap;
    cursor: pointer;
}

.pt-mxscope-opt + .pt-mxscope-opt[b-x5psjvsv85] { border-left: 1px solid var(--pt-line); }
.pt-mxscope-opt.sel[b-x5psjvsv85] { background: var(--pt-primary-soft, #eef3fd); color: var(--pt-primary-ink); font-weight: 700; }
.pt-mxscope-opt:hover:not(.sel):not(:disabled)[b-x5psjvsv85] { color: var(--pt-primary); }
.pt-mxscope-opt:disabled[b-x5psjvsv85] { cursor: default; }
.pt-mxscope.muted[b-x5psjvsv85] { opacity: .4; }

/* ── özet ────────────────────────────────────────────────────────────── */
.pt-summary[b-x5psjvsv85] {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    padding: 9px 13px;
    border-top: 1px solid var(--pt-line);
    background: #fbfcfd;
    color: var(--pt-muted);
    font-size: 12.5px;
}
.pt-legend[b-x5psjvsv85] { display: flex; gap: 12px; flex-wrap: wrap; font-size: 11.5px; }
.pt-dot[b-x5psjvsv85] { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 5px; vertical-align: -1px; }

.pt-empty[b-x5psjvsv85] { padding: 34px 10px; text-align: center; color: var(--pt-muted); font-size: 13px; }

@media (max-width: 991.98px) {
    .pt-body[b-x5psjvsv85] { grid-template-columns: 1fr; }
    .pt-rail[b-x5psjvsv85] { border-right: 0; border-bottom: 1px solid var(--pt-line); max-height: none; }
    /* Dar ekranda tek sütun; auto-fit zaten düşürür, kural burada niyeti sabitler. */
    .pt-perms[b-x5psjvsv85] { grid-template-columns: 1fr; }
    .pt-search[b-x5psjvsv85] { flex: 1 1 100%; }
}
