/* ============================================================
   Emperia Dragos — Animasyonlu Tema
   ============================================================ */
:root{
  --primary:#2a5298; --primary-dark:#1e3c72; --accent:#4e9eff;
  --bg:#eef1f6; --card:#ffffff; --text:#2c3e50; --muted:#7f8c9a;
  --success:#27ae60; --danger:#e74c3c; --warning:#f39c12; --info:#3498db;
  --radius:14px; --shadow-sm:0 2px 10px rgba(0,0,0,.08);
  --shadow-md:0 8px 24px rgba(30,60,114,.15);
  --shadow-lg:0 16px 40px rgba(30,60,114,.25);
}
*{box-sizing:border-box}
body{
  margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;
  color:var(--text);
  background:linear-gradient(135deg,#eef1f6 0%,#e3e8f0 100%);
  background-attachment:fixed;
  animation:fadeIn .5s ease;
  min-height:100vh;
}

/* --- Keyframes --- */
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideInRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}
@keyframes slideInDown{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}
@keyframes scaleIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes gradientShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes rotateSlow{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.95)}100%{transform:scale(1)}}

/* --- Navbar --- */
.navbar{
  background:linear-gradient(135deg,var(--primary-dark),var(--primary))!important;
  box-shadow:0 4px 20px rgba(30,60,114,.2);
  animation:slideInDown .45s cubic-bezier(.16,1,.3,1);
  padding:.6rem 1rem;
}
.navbar-brand{
  display:flex;align-items:center;gap:.6rem;
  font-weight:700;letter-spacing:.3px;color:#fff!important;
  transition:transform .3s ease;
}
.navbar-brand:hover{transform:translateX(3px)}
.navbar-brand .brand-logo{
  height:38px;width:auto;max-width:120px;object-fit:contain;
  transition:transform .4s cubic-bezier(.34,1.56,.64,1);
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.2));
}
.navbar-brand:hover .brand-logo{transform:rotate(-8deg) scale(1.12)}
.navbar-brand .brand-icon{font-size:1.6rem;animation:float 3s ease-in-out infinite}

.nav-link{
  position:relative;color:rgba(255,255,255,.85)!important;
  padding:.5rem 1rem!important;border-radius:8px;
  transition:all .25s ease;
}
.nav-link:hover,.nav-link.active{
  color:#fff!important;background:rgba(255,255,255,.12);
  transform:translateY(-1px);
}
.nav-link::after{
  content:"";position:absolute;left:50%;bottom:4px;width:0;height:2px;
  background:var(--accent);border-radius:2px;
  transition:width .3s ease,left .3s ease;
}
.nav-link:hover::after{width:60%;left:20%}
.navbar-text{color:rgba(255,255,255,.9)!important;font-size:.9rem}

/* --- Kartlar --- */
.card{
  border:none;border-radius:var(--radius);background:var(--card);
  box-shadow:var(--shadow-sm);
  transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease;
  animation:fadeInUp .55s cubic-bezier(.16,1,.3,1) backwards;
  overflow:hidden;
}
.row > [class*="col"]:nth-child(1) > .card{animation-delay:.05s}
.row > [class*="col"]:nth-child(2) > .card{animation-delay:.1s}
.row > [class*="col"]:nth-child(3) > .card{animation-delay:.15s}
.row > [class*="col"]:nth-child(4) > .card{animation-delay:.2s}
.row > [class*="col"]:nth-child(5) > .card{animation-delay:.25s}
.row > [class*="col"]:nth-child(6) > .card{animation-delay:.3s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}

/* İstatistik kartları */
.card.text-white{position:relative;overflow:hidden;border:none}
.card.text-white::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.15) 50%,transparent 70%);
  background-size:200% 100%;animation:shimmer 3s linear infinite;
  pointer-events:none;
}
.card.bg-danger{background:linear-gradient(135deg,#ff6b6b,#c0392b)!important}
.card.bg-warning{background:linear-gradient(135deg,#ffb86c,#e67e22)!important;color:#fff!important}
.card.bg-success{background:linear-gradient(135deg,#58d68d,#27ae60)!important}
.card.bg-info{background:linear-gradient(135deg,#5dade2,#2980b9)!important}
.card.text-white h2{
  font-size:2.2rem;font-weight:700;margin:0;
  animation:scaleIn .7s cubic-bezier(.34,1.56,.64,1) .2s backwards;
}
.card.text-white h6{opacity:.9;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}

/* --- Butonlar --- */
.btn{
  border-radius:8px;font-weight:500;letter-spacing:.2px;
  transition:all .25s cubic-bezier(.34,1.56,.64,1);
  position:relative;overflow:hidden;
}
.btn::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at center,rgba(255,255,255,.4) 0%,transparent 60%);
  opacity:0;transform:scale(0);transition:transform .5s,opacity .3s;
}
.btn:hover::before{opacity:1;transform:scale(2)}
.btn-primary{
  background:linear-gradient(135deg,var(--primary),var(--accent));
  border:none;color:#fff;
}
.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(42,82,152,.4);
  background:linear-gradient(135deg,var(--primary-dark),var(--primary));
}
.btn-success{
  background:linear-gradient(135deg,#58d68d,#27ae60);
  border:none;color:#fff;
}
.btn-success:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(39,174,96,.4);
}
.btn-outline-primary:hover,.btn-outline-secondary:hover,
.btn-outline-danger:hover,.btn-outline-warning:hover{
  transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.12);
}

/* --- Tablo --- */
.table{
  border-collapse:separate;border-spacing:0 4px;background:transparent;
}
.table thead th{
  background:linear-gradient(135deg,#f5f7fa,#e8ecf3);
  color:var(--primary-dark);font-weight:600;font-size:.85rem;
  text-transform:uppercase;letter-spacing:.5px;
  border:none!important;padding:.85rem 1rem;
}
.table thead th:first-child{border-radius:10px 0 0 10px}
.table thead th:last-child{border-radius:0 10px 10px 0}
.table tbody tr{
  background:#fff;animation:fadeIn .4s ease backwards;
  transition:transform .2s ease,box-shadow .2s ease;
  box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.table tbody tr:nth-child(2){animation-delay:.05s}
.table tbody tr:nth-child(3){animation-delay:.1s}
.table tbody tr:nth-child(4){animation-delay:.15s}
.table tbody tr:nth-child(5){animation-delay:.2s}
.table tbody tr:hover{
  transform:translateX(3px);
  box-shadow:0 4px 15px rgba(42,82,152,.12);
}
.table tbody td{
  border:none!important;padding:.8rem 1rem;vertical-align:middle;
}
.table tbody td:first-child{border-radius:10px 0 0 10px}
.table tbody td:last-child{border-radius:0 10px 10px 0}

/* --- Badge --- */
.badge{
  padding:.4em .7em;font-weight:600;letter-spacing:.3px;
  border-radius:6px;animation:scaleIn .35s cubic-bezier(.34,1.56,.64,1);
}
.badge.bg-danger{animation:scaleIn .35s cubic-bezier(.34,1.56,.64,1),pulse 2.5s ease-in-out infinite}

/* --- Form --- */
.form-control,.form-select{
  border:1.5px solid #d8dee9;border-radius:8px;
  padding:.6rem .85rem;font-size:.95rem;
  transition:all .25s ease;background:#fff;
}
.form-control:focus,.form-select:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 4px rgba(78,158,255,.15);
  transform:translateY(-1px);
}
.form-label{font-size:.85rem;font-weight:600;color:var(--primary-dark);margin-bottom:.4rem}
.form-check-input:checked{background-color:var(--primary);border-color:var(--primary)}

/* --- Alert / Toast --- */
.alert{
  border:none;border-radius:10px;
  animation:slideInRight .4s cubic-bezier(.16,1,.3,1);
  box-shadow:var(--shadow-sm);
}
.alert-success{background:linear-gradient(135deg,#d4edda,#b7ebc9);color:#0d6832}
.alert-danger{background:linear-gradient(135deg,#f8d7da,#f5c0c0);color:#721c24}
.alert-info{background:linear-gradient(135deg,#d1ecf1,#bee5eb);color:#0c5460}
.alert-warning{background:linear-gradient(135deg,#fff3cd,#ffe1a3);color:#856404}

/* --- Login sayfası --- */
.login-bg{
  background:linear-gradient(-45deg,#1e3c72,#2a5298,#4e9eff,#2a5298);
  background-size:400% 400%;
  animation:gradientShift 12s ease infinite;
  min-height:100vh;
}
.login-bg .card{
  animation:bounceIn .7s cubic-bezier(.34,1.56,.64,1);
  backdrop-filter:blur(10px);
}
.login-bg h4{color:var(--primary-dark);font-weight:700}

/* --- Yazılım kartları --- */
.yazilim-card .card-body{transition:transform .3s ease}
.yazilim-card:hover .card-body{transform:scale(1.02)}
.yazilim-card img{
  transition:transform .35s cubic-bezier(.34,1.56,.64,1);
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.08));
}
.yazilim-card:hover img{transform:scale(1.15) rotate(-3deg)}

/* --- Logoya tıklanınca indirme efekti --- */
a[href*="download"] img{cursor:pointer}
a[href*="download"]:active img{transform:scale(.9)}

/* --- Başlıklar --- */
h3,h4,h5{color:var(--primary-dark);font-weight:700;letter-spacing:-.3px}
h3{animation:fadeInDown .5s ease}
h4{animation:fadeInDown .45s ease}
h5{animation:fadeInDown .4s ease}

/* --- Navbar çıkış butonu --- */
.navbar .btn-outline-light{
  border-radius:8px;font-size:.85rem;padding:.35rem .9rem;
  transition:all .3s ease;
}
.navbar .btn-outline-light:hover{
  background:#fff;color:var(--primary-dark);
  transform:translateX(2px);
}

/* --- Collapse form animasyonu --- */
.collapse{transition:height .35s ease,opacity .35s ease}
.collapsing{transition:height .35s ease}

/* --- Modal --- */
.modal-content{border:none;border-radius:var(--radius);animation:scaleIn .3s ease}
.modal-header{border-bottom:1px solid #eef1f6}
.modal-footer{border-top:1px solid #eef1f6}

/* --- Utility --- */
.text-primary-gradient{
  background:linear-gradient(135deg,var(--primary),var(--accent));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.fade-in-up{animation:fadeInUp .55s cubic-bezier(.16,1,.3,1) backwards}
.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}

/* --- Reduced motion (erişilebilirlik) --- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* --- Mobil --- */
@media (max-width:768px){
  .navbar-brand .brand-text{display:none}
  .navbar-brand .brand-logo{height:32px}
  .card.text-white h2{font-size:1.6rem}
  .table{font-size:.85rem}
  .table thead th,.table tbody td{padding:.6rem .5rem}
}