/* =====================================================================
   KAFORA MUHASEBE - Tasarım Token'ları
   Sade, okunaklı, kahve dünyasına göz kırpan sıcak-nötr palet.
   Finansal rakamlar için tabular mono font kullanılır (defter hissi).
   ===================================================================== */

@media print {
    #sidebar, #sidebarOverlay, .no-print {
        display: none !important;
    }
    body, main {
        padding: 0 !important;
        margin: 0 !important;
    }
    .card {
        break-inside: avoid;
        border: 1px solid #ddd !important;
    }
}

:root {
    --color-bg: #FAFAF9;          /* stone-50  - genel arka plan */
    --color-surface: #FFFFFF;      /* kart/panel arka planı */
    --color-sidebar: #1C1917;      /* stone-900 - sol menü */
    --color-sidebar-hover: #292524;/* stone-800 */
    --color-text: #292524;         /* stone-800 - ana metin */
    --color-text-muted: #78716C;   /* stone-500 - ikincil metin */
    --color-border: #E7E5E4;       /* stone-200 */
    --color-accent: #B45309;       /* amber-700 - kahve/bakır vurgu */
    --color-accent-light: #FEF3C7; /* amber-100 */
    --color-success: #15803D;      /* gelir */
    --color-success-light: #DCFCE7;
    --color-danger: #B91C1C;       /* gider */
    --color-danger-light: #FEE2E2;
}

body {
    font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
    background-color: var(--color-bg);
    color: var(--color-text);
}

/* Finansal tutarlar: hizalı, okunaklı rakamlar */
.figure {
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
}

.logo-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #FFFFFF;
    border-radius: 5px;
    padding: 0.5rem 0.75rem;
}

.logo-badge img {
    height: 22px;
    width: auto;
    display: block;
}

#sidebar {
    width: 16rem;
    transition: width 0.2s ease, transform 0.2s ease;
}

.quick-filter-btn {
    font-size: 0.75rem;
    padding: 0.35rem 0.7rem;
    border-radius: 5px;
    border: 1px solid var(--color-border);
    color: var(--color-text-muted);
    background-color: var(--color-surface);
    white-space: nowrap;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.quick-filter-btn:hover {
    border-color: var(--color-accent);
    color: var(--color-accent);
}

.sidebar-icon {
    font-size: 1.05rem;
    width: 1.5rem;
    text-align: center;
    flex-shrink: 0;
}

@media (min-width: 1024px) {
    #sidebar.collapsed {
        width: 4.5rem;
    }
    #sidebar.collapsed .sidebar-label {
        display: none;
    }
    #sidebar.collapsed .sidebar-brand {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    #sidebar.collapsed .logo-badge {
        padding: 0.5rem;
    }
    #sidebar.collapsed .logo-badge img {
        height: 16px;
    }
    #sidebar.collapsed .sidebar-link {
        justify-content: center;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
}

.sidebar-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.625rem 1rem;
    border-radius: 5px;
    color: #D6D3D1; /* stone-300 */
    font-size: 0.9rem;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.sidebar-link:hover {
    background-color: var(--color-sidebar-hover);
    color: #FFFFFF;
}

.sidebar-link.active {
    background-color: var(--color-accent);
    color: #FFFFFF;
}

.card {
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: 5px;
}

.badge-success {
    background-color: var(--color-success-light);
    color: var(--color-success);
}

.badge-danger {
    background-color: var(--color-danger-light);
    color: var(--color-danger);
}

/* Odak görünürlüğü (erişilebilirlik) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    * { transition: none !important; animation: none !important; }
}
