:root{
  --brand:#0d6efd;
  --ink:#0b1220;
  --muted:#64748b;
  --card-radius:18px;
}
body{
  background: radial-gradient(1200px 600px at 10% 10%, rgba(13,110,253,.10), transparent 60%),
              radial-gradient(900px 500px at 90% 0%, rgba(32,201,151,.10), transparent 55%),
              #f6f8fb;
  color: var(--ink);
}
.navbar{
  backdrop-filter: blur(10px);
}
.card-soft{
  border:0;
  border-radius: var(--card-radius);
  box-shadow: 0 12px 38px rgba(2,6,23,.08);
}
.badge-soft{
  background: rgba(13,110,253,.10);
  color: var(--brand);
  border: 1px solid rgba(13,110,253,.18);
}
.badge-soft-success{
  background: rgba(25,135,84,.10);
  color: #198754;
  border: 1px solid rgba(25,135,84,.18);
}
.kpi{
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(2,6,23,.06);
  box-shadow: 0 12px 30px rgba(2,6,23,.06);
}
.kpi .label{ color: var(--muted); font-size: .85rem; }
.kpi .value{ font-size: 1.4rem; font-weight: 800; letter-spacing:-.02em;}
.form-control, .form-select{
  border-radius: 12px;
}
.btn{
  border-radius: 12px;
}
.table> :not(caption)>*>*{
  padding: .85rem .85rem;
}
.table thead th{
  color: #0f172a;
  font-weight: 700;
  border-bottom: 1px solid rgba(2,6,23,.08);
}
.table tbody td{
  border-top: 1px solid rgba(2,6,23,.06);
}
.small-muted{ color: var(--muted); font-size: .9rem; }
.app-shell{
  max-width: 1180px;
}
.footer-note{
  color: var(--muted);
  font-size: .85rem;
}

/* ===== Modern action buttons (shared) ===== */

/* tablo hücresinde kırılma olmasın */
td.text-end{ white-space: nowrap; }

/* buton grubu: tek satır, yan yana; dar alanda yatay kaydır */
.action-wrap{
  display: inline-flex;
  flex-wrap: nowrap !important;
  gap: .35rem;
  justify-content: flex-end;
  align-items: center;
  white-space: nowrap;
  max-width: 440px;         /* ihtiyaca göre artır */
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 2px;
}

/* scrollbar çok görünmesin */
.action-wrap::-webkit-scrollbar{ height: 6px; }
.action-wrap::-webkit-scrollbar-thumb{
  background: rgba(0,0,0,.12);
  border-radius: 99px;
}

/* ortak buton stili */
.action-btn{
  flex: 0 0 auto;           /* asla küçülüp satır kırmasın */
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  border-radius: 999px !important;
  padding: .34rem .74rem;
  font-weight: 700;
  font-size: .82rem;
  line-height: 1;
  border-width: 1px;
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
  transition: all .15s ease;
}
.action-btn i{ font-size: .95rem; }
.action-btn svg{ width: 16px; height: 16px; }

.action-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(0,0,0,.12);
}

.action-btn:disabled,
.action-btn[disabled]{
  opacity: .55;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}

/* ===== Renk varyasyonları (tek standart) ===== */
.btn-soft-primary,
.btn-download{
  background: rgba(13,110,253,.10);
  border-color: rgba(13,110,253,.25);
  color: #0d6efd;
}
.btn-soft-primary:hover,
.btn-download:hover{
  background: rgba(13,110,253,.15);
}

.btn-soft-secondary,
.btn-edit{
  background: rgba(108,117,125,.10);
  border-color: rgba(108,117,125,.20);
  color: #495057;
}
.btn-soft-secondary:hover,
.btn-edit:hover{
  background: rgba(108,117,125,.15);
}

.btn-soft-warning,
.btn-lock{
  background: rgba(255,193,7,.16);
  border-color: rgba(255,193,7,.35);
  color: #8a6d00;
}
.btn-soft-warning:hover,
.btn-lock:hover{
  background: rgba(255,193,7,.25);
}

.btn-soft-danger,
.btn-delete{
  background: rgba(220,53,69,.10);
  border-color: rgba(220,53,69,.25);
  color: #dc3545;
}
.btn-soft-danger:hover,
.btn-delete:hover{
  background: rgba(220,53,69,.15);
}

.btn-share{
  border: 1px solid rgba(13,110,253,.15);
  background: rgba(13,110,253,.06);
  color: #0d6efd;
}
.btn-share:hover{
  background: rgba(13,110,253,.12);
}


