/* =====================================================
   DistAlloy / BearingSmarts — Global Stylesheet
   Bootstrap 5.3 üzerine marka override'lari
   ===================================================== */

/* Marka renk degiskenleri */
:root {
    --brand-primary:   #64AA8C;
    --brand-secondary: #202D48;
    --brand-accent:    #f0f4f8;

    --bs-primary:        #64AA8C;
    --bs-primary-rgb:    100, 170, 140;
    --bs-secondary:      #202D48;
    --bs-secondary-rgb:  32, 45, 72;
    --bs-light:          #f0f4f8;
    --bs-body-bg:        #f0f4f8;
}

.btn-primary {
    background-color: var(--brand-primary);
    border-color:     var(--brand-primary);
    color: #fff;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: #559c7d;
    border-color:     #559c7d;
    color: #fff;
}
.btn-outline-primary {
    color:        var(--brand-primary);
    border-color: var(--brand-primary);
}
.btn-outline-primary:hover {
    background-color: var(--brand-primary);
    border-color:     var(--brand-primary);
    color: #fff;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 0.2rem rgba(100, 170, 140, 0.25);
}

.card {
    border-radius: 0.75rem;
    background-color: #ffffff;
}
.card-section {
    padding: 1.5rem;
    border-bottom: 1px solid #f3f4f6;
}
.card-section:last-child {
    border-bottom: none;
}

/* NO-PURPLE politikasi */
[class*="purple"],[class*="lavender"],[class*="violet"],[class*="magenta"] {
    color: inherit !important;
    background-color: transparent !important;
    border-color: transparent !important;
}
[style*="purple" i],[style*="lavender" i],[style*="violet" i],[style*="magenta" i],
[style*="#594ae2" i],[style*="594ae2" i] {
    color: inherit !important;
    background-color: transparent !important;
}

/* Toast container (sag ust) */
#toast-container {
    position: fixed;
    top: 1rem;
    right: 1rem;
    z-index: 1100;
    min-width: 280px;
}

/* ================================================
   Search Tablosu — Odd/Even + Hover + Seçili Satır
   Bootstrap 5: arka planlar td üzerinde uygulanmalı
   ================================================ */
.search-table { border-collapse: separate; border-spacing: 0; }

.search-table tbody tr:nth-child(odd)  td { background-color: #f8fafb; }
.search-table tbody tr:nth-child(even) td { background-color: #ffffff; }

.search-table tbody tr { cursor: pointer; }

.search-table tbody td {
    transition: background-color 0.15s ease;
    border-bottom: 1px solid #edf0f2;
    vertical-align: middle;
}

.search-table tbody tr:hover:not(.row-selected) td {
    background-color: #eef6f1 !important;
}
.search-table tbody tr:hover:not(.row-selected) td:first-child {
    box-shadow: inset 4px 0 0 var(--brand-primary);
}

.search-table tbody tr.row-selected td {
    background-color: #d4eddf !important;
    color: var(--brand-secondary);
    font-weight: 500;
}
.search-table tbody tr.row-selected td:first-child {
    box-shadow: inset 4px 0 0 var(--brand-primary);
}

/* Tablo başlığı — brand-secondary (lacivert) zemin, Bootstrap th override */
.search-table thead th { background-color: var(--brand-secondary) !important; color: rgba(255,255,255,.6); }

/* ================================================
   Companies Tablosu
   ================================================ */
.companies-table { border-collapse: separate; border-spacing: 0; }
.companies-table tbody tr:nth-child(odd)  td { background-color: #f8fafb; }
.companies-table tbody tr:nth-child(even) td { background-color: #ffffff; }
.companies-table tbody tr { cursor: pointer; }
.companies-table tbody td {
    transition: background-color 0.15s ease;
    border-bottom: 1px solid #edf0f2;
    vertical-align: middle;
}
.companies-table tbody tr:hover td { background-color: #eef6f1 !important; }
.companies-table tbody tr:hover td:first-child { box-shadow: inset 4px 0 0 var(--brand-primary); }
.companies-table thead th { background-color: var(--brand-secondary) !important; color: rgba(255,255,255,.6); }

/* ================================================
   Form — Input Group & Checkbox brand renk uyumu
   ================================================ */
.input-group-text {
    background-color: rgba(100, 170, 140, 0.10);
    border-color: #ced4da;
    color: var(--brand-secondary);
}
.form-control,
.form-select {
    background-color: #ffffff;
}
.input-group:focus-within .input-group-text {
    border-color: var(--brand-primary);
    background-color: rgba(100, 170, 140, 0.18);
}
.input-group:focus-within .form-control,
.input-group:focus-within .form-select {
    border-color: var(--brand-primary);
    box-shadow: none;
}
.form-check-input:checked {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}
.form-check-input:focus {
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 0.2rem rgba(100, 170, 140, 0.25);
}

/* ================================================
   Vergi Dairesi Arama Dropdown
   ================================================ */
.vd-option { cursor: pointer; border-bottom: 1px solid #f0f0f0; transition: background .1s; }
.vd-option:last-child { border-bottom: none; }
.vd-option:hover { background-color: #eef6f1; }

/* ================================================
   Paylaşılan Veri Tablosu (.data-table)
   Companies, Search ve Urunler sayfaları tarafından kullanılır
   ================================================ */
.data-table { border-collapse: separate; border-spacing: 0; }
.data-table tbody tr:nth-child(odd)  td { background-color: #f8fafb; }
.data-table tbody tr:nth-child(even) td { background-color: #ffffff; }
.data-table tbody td {
    transition: background-color 0.15s ease;
    border-bottom: 1px solid #edf0f2;
    vertical-align: middle;
}
.data-table tbody tr:hover td { background-color: #eef6f1 !important; }
.data-table tbody tr:hover td:first-child { box-shadow: inset 4px 0 0 var(--brand-primary); }
.data-table thead th { background-color: var(--brand-secondary) !important; color: rgba(255,255,255,.7); border-bottom: none; }
/* Seçili satır (Search sayfası) */
.data-table tbody tr.row-selected td {
    background-color: #d4eddf !important;
    color: var(--brand-secondary);
    font-weight: 500;
}
.data-table tbody tr.row-selected td:first-child { box-shadow: inset 4px 0 0 var(--brand-primary); }

/* ================================================
   Home Sayfası — Animasyonlar ve Bileşenler
   ================================================ */
@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50%       { transform: translateY(-12px); }
}
@keyframes floatSlow {
    0%, 100% { transform: translateY(0px) scale(1); }
    50%       { transform: translateY(-18px) scale(1.03); }
}
.animate-float      { animation: float 4s ease-in-out infinite; }
.animate-float-slow { animation: floatSlow 6s ease-in-out infinite; }

.home-hero-section {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9f5f0 60%, #f0f4ff 100%);
    overflow: hidden;
    position: relative;
}
.hero-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    pointer-events: none;
}
.hero-blob-1 { width:300px; height:300px; top:-80px; left:-80px;  background:rgba(100,170,140,.18); }
.hero-blob-2 { width:400px; height:400px; top:30%;  right:-120px; background:rgba(32,45,72,.08); }
.hero-blob-3 { width:200px; height:200px; bottom:40px; left:25%; background:rgba(100,170,140,.15); animation: floatSlow 7s ease-in-out infinite; }

.dashboard-card { transform: rotate(3deg); transition: transform .5s ease; }
.dashboard-card:hover { transform: rotate(0deg); }

.feature-card { transition: transform .25s ease, box-shadow .25s ease; }
.feature-card:hover { transform: translateY(-6px); box-shadow: 0 1rem 2rem rgba(0,0,0,.12) !important; }

.value-icon {
    width: 40px; height: 40px; min-width: 40px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 10px;
}
.btn-hero-primary {
    background: var(--brand-primary);
    border-color: var(--brand-primary);
    color: #fff;
    font-weight: 600;
    transition: transform .2s, box-shadow .2s;
}
.btn-hero-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(100,170,140,.35);
    background: #4fa07a; border-color: #4fa07a; color:#fff;
}
.btn-hero-outline {
    border: 2px solid var(--brand-secondary);
    color: var(--brand-secondary);
    font-weight: 600;
    transition: transform .2s, background .2s;
}
.btn-hero-outline:hover {
    transform: translateY(-2px);
    background: var(--brand-secondary);
    color: #fff;
}
.home-form-control:focus {
    border-color: var(--brand-primary) !important;
    box-shadow: 0 0 0 .2rem rgba(100,170,140,.25) !important;
}

/* ================================================
   CompaniesDetail Sayfası — Tüm bileşen stilleri
   .company-detail-wrapper kapsamına alınmıştır
   ================================================ */
.company-detail-wrapper {
    min-height: 100vh;
    background: linear-gradient(to bottom, #F8F4F0, #e8e4e0);
    padding: 2rem 1rem;
}
.company-detail-wrapper .hero-section {
    background: linear-gradient(135deg, #64AA8C 0%, #4a8a6f 100%);
    border-radius: 16px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    position: relative;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(100,170,140,.2);
}
.company-detail-wrapper .hero-section::before {
    content: '';
    position: absolute;
    top: 0; right: 0;
    width: 200px; height: 200px;
    background: rgba(255,255,255,.08);
    border-radius: 50%;
    transform: translate(40%,-40%);
}
.company-detail-wrapper .hero-content {
    position: relative; z-index: 1;
    display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
}
.company-detail-wrapper .hero-back-btn {
    background: rgba(255,255,255,.2);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.3);
    color: white; border-radius: 10px;
    padding: .4rem .8rem; cursor: pointer;
    transition: all .3s ease;
    display: inline-flex; align-items: center; gap: .4rem;
    font-size: .9rem;
}
.company-detail-wrapper .hero-back-btn:hover {
    background: rgba(255,255,255,.3);
    transform: translateX(-4px);
}
.company-detail-wrapper .hero-logo {
    width: 56px; height: 56px;
    background: white; border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem; font-weight: bold; color: #64AA8C;
    box-shadow: 0 4px 16px rgba(0,0,0,.1);
    flex-shrink: 0; padding: 4px; overflow: hidden;
}
.company-detail-wrapper .hero-title {
    color: white; font-size: 1.75rem; font-weight: 700;
    margin: 0; text-shadow: 0 2px 4px rgba(0,0,0,.1);
}
.company-detail-wrapper .hero-subtitle { color: rgba(255,255,255,.9); font-size: .9rem; margin: .25rem 0 0; }
.company-detail-wrapper .hero-badges { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .5rem; }
.company-detail-wrapper .hero-badge {
    background: rgba(255,255,255,.25); backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.3); color: white;
    padding: .35rem .75rem; border-radius: 16px; font-weight: 600; font-size: .8rem;
}
.company-detail-wrapper .stats-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.5rem; margin-bottom: 2rem;
}
.company-detail-wrapper .stat-card {
    background: rgba(255,255,255,.7); backdrop-filter: blur(20px);
    border: 1px solid rgba(255,255,255,.5); border-radius: 20px;
    padding: 1.5rem; position: relative; overflow: hidden;
    transition: all .3s ease; box-shadow: 0 8px 32px rgba(0,0,0,.08);
}
.company-detail-wrapper .stat-card:hover { transform: translateY(-4px); box-shadow: 0 12px 48px rgba(0,0,0,.12); }
.company-detail-wrapper .stat-card::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
    background: linear-gradient(135deg, #64AA8C 0%, #4a8a6f 100%);
}
.company-detail-wrapper .stat-card.warning::before { background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%); }
.company-detail-wrapper .stat-icon {
    width: 48px; height: 48px; border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem; margin-bottom: 1rem;
}
.company-detail-wrapper .stat-icon.primary,
.company-detail-wrapper .stat-icon.success { background: linear-gradient(135deg, rgba(100,170,140,.1), rgba(74,138,111,.1)); color: #64AA8C; }
.company-detail-wrapper .stat-icon.warning { background: linear-gradient(135deg, rgba(245,158,11,.1), rgba(217,119,6,.1)); color: #f59e0b; }
.company-detail-wrapper .stat-label { font-size: .85rem; color: #202D48; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; margin-bottom: .5rem; }
.company-detail-wrapper .stat-value { font-size: 2rem; font-weight: 700; color: #202D48; line-height: 1; }
.company-detail-wrapper .custom-tabs-container { background: white; border-radius: 20px; box-shadow: 0 8px 32px rgba(0,0,0,.08); overflow: hidden; }
.company-detail-wrapper .custom-tabs-nav {
    display: flex; border-bottom: 2px solid #f1f5f9;
    padding: .5rem 1rem; gap: .5rem; flex-wrap: wrap; background: #fafafa;
}
.company-detail-wrapper .custom-tab {
    display: flex; align-items: center; gap: .5rem;
    padding: .75rem 1.5rem; border-radius: 12px; border: none;
    background: transparent; color: #64748b; font-weight: 600;
    cursor: pointer; transition: all .3s ease;
    position: relative; font-size: .95rem;
}
.company-detail-wrapper .custom-tab:hover { background: rgba(100,170,140,.1); color: #64AA8C; }
.company-detail-wrapper .custom-tab.active { background: white; color: #64AA8C; box-shadow: 0 4px 12px rgba(100,170,140,.15); }
.company-detail-wrapper .custom-tab.active::after {
    content: ''; position: absolute; bottom: -2px; left: 0; right: 0;
    height: 2px; background: linear-gradient(135deg, #64AA8C 0%, #4a8a6f 100%);
}
.company-detail-wrapper .custom-tab-icon { font-size: 1.25rem; }
.company-detail-wrapper .custom-tab-content { padding: 2rem; }
.company-detail-wrapper .section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; flex-wrap: wrap; gap: 1rem; }
.company-detail-wrapper .section-title { font-size: 1.5rem; font-weight: 700; color: #202D48; display: flex; align-items: center; gap: .75rem; }
.company-detail-wrapper .section-title-icon {
    width: 40px; height: 40px; border-radius: 10px;
    display: flex; align-items: center; justify-content: center; font-size: 1.25rem;
    background: linear-gradient(135deg, #64AA8C 0%, #4a8a6f 100%); color: white;
}
.company-detail-wrapper .modern-card {
    background: white; border-radius: 16px; padding: 1.5rem;
    box-shadow: 0 4px 16px rgba(0,0,0,.06); transition: all .3s ease;
    border: 1px solid #f1f5f9; height: 100%;
}
.company-detail-wrapper .modern-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.1); transform: translateY(-2px); }
.company-detail-wrapper .modern-card-header { display: flex; justify-content: space-between; align-items: start; margin-bottom: 1rem; }
.company-detail-wrapper .modern-card-badge { padding: .35rem .75rem; border-radius: 8px; font-size: .8rem; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; }
.company-detail-wrapper .badge-primary  { background: linear-gradient(135deg, rgba(100,170,140,.15), rgba(74,138,111,.15)); color: #64AA8C; }
.company-detail-wrapper .badge-success  { background: linear-gradient(135deg, rgba(100,170,140,.15), rgba(82,148,122,.15)); color: #64AA8C; }
.company-detail-wrapper .badge-warning  { background: linear-gradient(135deg, rgba(245,158,11,.15), rgba(217,119,6,.15)); color: #f59e0b; }
.company-detail-wrapper .badge-error    { background: linear-gradient(135deg, rgba(239,68,68,.15), rgba(220,38,38,.15)); color: #dc2626; }
.company-detail-wrapper .modern-card-title    { font-size: 1.25rem; font-weight: 700; color: #202D48; margin-bottom: .25rem; }
.company-detail-wrapper .modern-card-subtitle { font-size: .9rem; color: #202D48; opacity: .7; margin-bottom: 1rem; }
.company-detail-wrapper .modern-card-content  { display: flex; flex-direction: column; gap: .75rem; }
.company-detail-wrapper .info-row { display: flex; align-items: center; gap: .75rem; padding: .5rem; border-radius: 8px; transition: background .2s ease; }
.company-detail-wrapper .info-row:hover { background: #f8fafc; }
.company-detail-wrapper .info-icon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 1rem; background: #f1f5f9; color: #64AA8C; flex-shrink: 0; }
.company-detail-wrapper .info-text { color: #202D48; font-size: .95rem; flex: 1; }
.company-detail-wrapper .info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px,1fr)); gap: 1.25rem; }
.company-detail-wrapper .info-item { background: linear-gradient(135deg, #F8F4F0, #f0ebe7); padding: 1.25rem; border-radius: 12px; border: 1px solid #e2e8f0; transition: all .3s ease; }
.company-detail-wrapper .info-item:hover { border-color: #64AA8C; box-shadow: 0 4px 12px rgba(100,170,140,.1); }
.company-detail-wrapper .info-item-label { font-size: .75rem; color: #202D48; opacity: .7; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; margin-bottom: .5rem; }
.company-detail-wrapper .info-item-value { font-size: 1.1rem; font-weight: 600; color: #202D48; }
.company-detail-wrapper .modern-avatar {
    width: 48px; height: 48px; border-radius: 12px;
    background: linear-gradient(135deg, #64AA8C 0%, #4a8a6f 100%); color: white;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 1.1rem; box-shadow: 0 4px 12px rgba(102,126,234,.3);
}
.company-detail-wrapper .btn-modern {
    padding: .75rem 1.5rem; border-radius: 12px; font-weight: 600;
    border: none; cursor: pointer; transition: all .3s ease;
    display: inline-flex; align-items: center; gap: .5rem; font-size: .95rem;
}
.company-detail-wrapper .btn-modern.btn-primary { background: linear-gradient(135deg, #64AA8C 0%, #4a8a6f 100%); color: white; box-shadow: 0 4px 12px rgba(100,170,140,.3); }
.company-detail-wrapper .btn-modern.btn-primary:hover { box-shadow: 0 6px 20px rgba(100,170,140,.4); transform: translateY(-2px); }
.company-detail-wrapper .btn-modern.btn-danger { background: linear-gradient(135deg, #ef4444, #dc2626); color: white; }
.company-detail-wrapper .btn-modern.btn-secondary { background: white; color: #64AA8C; border: 2px solid #64AA8C; }
.company-detail-wrapper .btn-modern.btn-secondary:hover { background: #64AA8C; color: white; }
.company-detail-wrapper .payment-section { display: grid; gap: 1.5rem; }
.company-detail-wrapper .payment-card {
    background: linear-gradient(135deg, #64AA8C 0%, #4a8a6f 100%); color: white;
    padding: 1.5rem; border-radius: 16px; box-shadow: 0 8px 24px rgba(100,170,140,.3);
}
.company-detail-wrapper .payment-card-header { font-size: 1.5rem; font-weight: 700; margin-bottom: 1rem; display: flex; align-items: center; gap: .5rem; }
.company-detail-wrapper .payment-detail { background: rgba(255,255,255,.15); backdrop-filter: blur(10px); padding: .75rem; border-radius: 8px; margin-bottom: .5rem; }
.company-detail-wrapper .payment-detail:last-child { margin-bottom: 0; }
.company-detail-wrapper .sub-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px,1fr)); gap: 1rem; margin-top: 1rem; }
.company-detail-wrapper .sub-card { background: white; padding: 1.25rem; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,.08); border-left: 4px solid #667eea; }
.company-detail-wrapper .sub-card-title { font-size: 1.1rem; font-weight: 700; color: #1e293b; margin-bottom: .75rem; }
.company-detail-wrapper .sub-card-detail { font-size: .9rem; color: #64748b; margin-bottom: .5rem; }
.company-detail-wrapper .empty-state { text-align: center; padding: 3rem 1rem; }
.company-detail-wrapper .empty-state-icon { font-size: 4rem; color: #cbd5e1; margin-bottom: 1rem; }
.company-detail-wrapper .empty-state-text { color: #64748b; font-size: 1.1rem; }
.company-detail-wrapper .loading-container { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 4rem; gap: 1rem; }
.company-detail-wrapper .loading-spinner {
    width: 64px; height: 64px; border: 4px solid #e2e8f0;
    border-top-color: #64AA8C; border-radius: 50%;
    animation: spin 1s linear infinite;
}
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

@media (max-width: 768px) {
    .company-detail-wrapper .hero-title  { font-size: 1.25rem; }
    .company-detail-wrapper .stat-value  { font-size: 1.5rem; }
    .company-detail-wrapper .custom-tabs-nav { overflow-x: auto; flex-wrap: nowrap; }
    .company-detail-wrapper .section-header  { flex-direction: column; align-items: stretch; }
    .company-detail-wrapper .stats-container { grid-template-columns: 1fr; }
}
