/* Bootstrap ve Blazor sablonundan gelen varsayilanlari Tense temasina cekiyoruz.
   Tasarim degiskenleri css/tense.css icinde; burada sadece ezme (override) var. */

a, .btn-link { color: var(--t-primary-dark); }

.btn-primary {
    color: #fff;
    background-color: var(--t-primary);
    border-color: var(--t-primary);
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus,
.form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 3px rgba(0, 171, 199, .18);
}

.content { padding-top: 1.1rem; }

h1:focus { outline: none; }

.valid.modified:not([type=checkbox]) { outline: 1px solid var(--t-success); }
.invalid { outline: 1px solid var(--t-danger); }
.validation-message { color: var(--t-danger); }

/* Blazor devre kopmasi / hata seridi */
#blazor-error-ui {
    color-scheme: light only;
    background: var(--t-warning-soft);
    border-top: 1px solid #F5D9A8;
    bottom: 0;
    box-shadow: 0 -2px 12px rgba(13, 0, 52, .1);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.9rem 1.4rem 0.9rem 1.4rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
    font-family: var(--t-font-body);
    color: #9A5300;
}

#blazor-error-ui .dismiss {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}

.blazor-error-boundary {
    background: var(--t-danger);
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
    border-radius: var(--t-radius);
}

.blazor-error-boundary::after { content: "Beklenmeyen bir hata oluştu."; }

/* ==========================================================================
   ROL ROZETI (Components/RolRozeti.razor)
   Renk paleti ModulKarti ile ayni; Rol.Renk kolonundaki deger sinifa donusur.
   ========================================================================== */
.rol-rozet {
    --rb: var(--t-primary);
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: .74rem;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
    color: color-mix(in srgb, var(--rb) 82%, #000);
    background: color-mix(in srgb, var(--rb) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--rb) 26%, transparent);
}

.rol-turkuaz  { --rb: #00ABC7; }
.rol-mavi     { --rb: #0284C7; }
.rol-lacivert { --rb: #3B3663; }
.rol-turuncu  { --rb: #EC6726; }
.rol-yesil    { --rb: #12A150; }
.rol-kirmizi  { --rb: #DC2626; }
.rol-mor      { --rb: #7C3AED; }
.rol-altin    { --rb: #CA8A04; }

.rol-pasif { opacity: .55; text-decoration: line-through; }

/* Muhasebe: bakiye yonu (Dtos/Bicim.BakiyeSinifi). B = cari borclu, A = alacakli. */
.bk-borc { color: var(--t-info); font-weight: 600; }
.bk-alacak { color: var(--t-accent); font-weight: 600; }

/* TUM TABLOLAR: baslik ve veri TAM ORTALI (kullanici istegi). tense.css kardes
   projelerle ortak oldugu icin ezme burada. Sayi kolonlarindaki .t-text-right ve
   islem kolonu da ortalanir; kesilen metin (.t-truncate) hucrenin ortasina oturur. */
.t-table th,
.t-table td,
.t-table th.t-text-right,
.t-table td.t-text-right,
.t-table .t-cell-actions { text-align: center; vertical-align: middle; }
.t-table td .t-truncate { margin-left: auto; margin-right: auto; }