/* ============================================================
   Bulut HR - Tum stiller (CSS Modules -> onekli global CSS)
   Kaynak: buluthrnextjs altindaki *.module.css dosyalari ; her modul kendi onekiyle
   ============================================================ */

/* ---- globals.css ---- */
/* ============================================================
   Lineasoft Bordro — NetGSM Teması
   (netgsm.com.tr tema/font uyumu: Plus Jakarta Sans,
    imza gradient #8f37e9 → #536ee0 → #07b5d4)
   ============================================================ */
:root {
  /* Zeminler */
  --lb-bg: #f2f5fa;            /* genel arka plan (NetGSM firstBgColor #F2F7FE) */
  --lb-surface: #ffffff;        /* kart / panel yüzeyi */
  --lb-surface-2: #f6f8fc;      /* tablo başlığı / hafif dolgu */
  --lb-surface-3: #eef2fa;      /* hover dolgusu */

  /* Çizgiler */
  --lb-border: #e5e9f2;
  --lb-border-strong: #d4dbe8;

  /* Metin */
  --lb-text: #16213b;
  --lb-text-2: #46546e;
  --lb-text-3: #98a2b8;

  /* Vurgu renkleri — NetGSM imza gradienti */
  --lb-accent: #536ee0;
  --lb-accent-dark: #8f37e9;
  --lb-accent-light: #07b5d4;
  --lb-accent-soft: #eef0ff;
  --lb-accent-fg: #ffffff;
  --lb-gradient: linear-gradient(90deg, #8f37e9 0%, #536ee0 50%, #07b5d4 100%);

  /* Durum renkleri (NetGSM soft palette) */
  --lb-danger: #d44846;
  --lb-danger-soft: #fff2f8;
  --lb-danger-fg: #b33634;
  --lb-success: #009a62;
  --lb-success-soft: #ebf7f7;

  /* Geometri */
  --lb-radius: 14px;
  --lb-radius-sm: 10px;
  --lb-shadow: 0 1px 2px rgba(22, 33, 59, 0.05),
    0 10px 30px -12px rgba(22, 33, 59, 0.1);
  --lb-shadow-lg: 0 2px 4px rgba(22, 33, 59, 0.04),
    0 24px 60px -20px rgba(22, 33, 59, 0.18);
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html,
body {
  font-family:
    "Plus Jakarta Sans",
    "Segoe UI",
    system-ui,
    -apple-system,
    Roboto,
    "Helvetica Neue",
    Arial,
    sans-serif;
  background: var(--lb-bg);
  color: var(--lb-text);
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a {
  color: inherit;
  text-decoration: none;
}

input,
select,
textarea,
button {
  font-family: inherit;
}

/* hidden ozniteligi her zaman gizler (React kosullu render karsiligi) */
[hidden] {
  display: none !important;
}

/* panel-nav: acilir grup icerigi dikey liste */
.pn-nav [data-nav-grup-icerik] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* ---- app/login/login.module.css  (onek: .lg-*) ---- */
.lg-wrap {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background:
    radial-gradient(1200px 500px at 80% -10%, rgba(143, 55, 233, 0.35) 0%, transparent 60%),
    radial-gradient(900px 400px at 0% 110%, rgba(7, 181, 212, 0.35) 0%, transparent 55%),
    linear-gradient(rgba(15, 23, 42, 0.55), rgba(15, 23, 42, 0.55)),
    url("/arka-plan.png") center / cover no-repeat #0f172a;
}

.lg-card {
  width: 100%;
  max-width: 400px;
  background: #ffffff;
  border: 1px solid var(--lb-border);
  border-radius: 18px;
  padding: 40px 32px;
  box-shadow: 0 25px 60px rgba(15, 23, 42, 0.35);
}

.lg-brand {
  text-align: center;
  margin-bottom: 32px;
}

.lg-logo {
  width: 130px;
  height: 130px;
  margin: 0 auto 24px;
  border-radius: 26px;
  overflow: hidden;
}

.lg-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.lg-brand h1 {
  color: var(--lb-text);
  font-size: 22px;
  margin-bottom: 6px;
}

.lg-brand p {
  color: var(--lb-text-3);
  font-size: 14px;
}

.lg-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.lg-form label {
  color: var(--lb-text-2);
  font-size: 13px;
  font-weight: 600;
  margin-top: 8px;
}

.lg-form input {
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-border);
  border-radius: 10px;
  color: var(--lb-text);
  padding: 12px 14px;
  font-size: 15px;
  outline: none;
  transition: border-color 0.15s;
}

.lg-form input:focus {
  border-color: var(--lb-accent);
}

.lg-error {
  margin-top: 12px;
  color: var(--lb-danger-fg);
  background: var(--lb-danger-soft);
  border: 1px solid rgba(212, 72, 70, 0.35);
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 13px;
}

.lg-button {
  margin-top: 20px;
  background: var(--lb-gradient);
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 13px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.15s;
}

.lg-button:hover {
  opacity: 0.9;
}

.lg-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* ---- app/cikis/cikis.module.css  (onek: .ck-*) ---- */
.ck-wrap {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(1000px 420px at 80% -10%, rgba(143, 55, 233, 0.1) 0%, transparent 60%),
    radial-gradient(900px 400px at 0% 110%, rgba(7, 181, 212, 0.1) 0%, transparent 55%),
    var(--lb-bg);
}

.ck-card {
  text-align: center;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  padding: 32px;
  max-width: 380px;
  box-shadow: var(--lb-shadow-lg);
}

.ck-card h1 {
  color: var(--lb-text);
  font-size: 20px;
  margin-bottom: 8px;
}

.ck-card p {
  color: var(--lb-text-3);
  font-size: 14px;
  margin-bottom: 20px;
}

.ck-card button {
  background: var(--lb-gradient);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

.ck-back {
  display: inline-block;
  margin-top: 14px;
  color: var(--lb-text-3);
  font-size: 13px;
}

/* ---- app/admin/admin-layout.module.css  (onek: .al-*) ---- */
.al-layout {
  display: flex;
  min-height: 100vh;
}

.al-sidebar {
  width: 240px;
  background: #ffffff;
  border-right: 1px solid var(--lb-border);
  display: flex;
  flex-direction: column;
  padding: 20px 0;
  position: sticky;
  top: 0;
  height: 100vh;
}

.al-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 20px;
  margin-bottom: 28px;
}

.al-logo {
  width: 130px;
  height: 130px;
  border-radius: 24px;
  overflow: hidden;
  flex-shrink: 0;
}

.al-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.al-brand strong {
  display: block;
  color: var(--lb-text);
  font-size: 14px;
  white-space: nowrap;
}

.al-brand span {
  display: block;
  color: var(--lb-text-3);
  font-size: 12px;
  margin-top: 2px;
}

.al-nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 0 10px;
  flex: 1;
}

.al-nav a {
  padding: 11px 14px;
  border-radius: 10px;
  color: var(--lb-text-2);
  font-size: 14px;
  transition: background 0.15s, color 0.15s;
}

.al-nav a:hover {
  background: var(--lb-surface-3);
  color: var(--lb-text);
}

.al-nav a.al-active {
  background: var(--lb-accent-soft);
  color: var(--lb-accent-dark);
  font-weight: 600;
}

.al-footer {
  padding: 16px 20px 0;
  border-top: 1px solid var(--lb-border);
}

.al-user {
  color: var(--lb-text);
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 8px;
}

.al-logout {
  color: var(--lb-danger);
  font-size: 13px;
}

.al-content {
  flex: 1;
  padding: 32px;
  background: var(--lb-bg);
}

/* ---- app/admin/admin.module.css  (onek: .ad-*) ---- */
.ad-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.ad-header h1 {
  color: var(--lb-text);
  font-size: 24px;
}

.ad-tableWrap {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  overflow: hidden;
  overflow-x: auto;
  box-shadow: var(--lb-shadow);
}

.ad-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.ad-table th,
.ad-table td {
  text-align: left;
  padding: 13px 16px;
  border-bottom: 1px solid var(--lb-border);
  white-space: nowrap;
}

.ad-table th {
  background: var(--lb-surface-2);
  color: var(--lb-text-3);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.ad-table tbody tr:last-child td {
  border-bottom: none;
}

.ad-table tbody tr:hover td {
  background: var(--lb-surface-3);
}

.ad-link {
  color: var(--lb-accent);
  font-weight: 600;
}

.ad-link:hover {
  text-decoration: underline;
}

.ad-muted {
  color: var(--lb-text-3);
  font-size: 12px;
}

.ad-badgeOk {
  background: var(--lb-success-soft);
  color: var(--lb-success);
  padding: 4px 10px;
  border-radius: 99px;
  font-size: 12px;
  font-weight: 600;
}

.ad-badgeBad {
  background: var(--lb-danger-soft);
  color: var(--lb-danger);
  padding: 4px 10px;
  border-radius: 99px;
  font-size: 12px;
  font-weight: 600;
}

.ad-btnPrimary {
  background: var(--lb-gradient);
  color: #fff;
  padding: 10px 16px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 14px -6px var(--lb-accent);
  transition: opacity 0.15s;
}

.ad-btnPrimary:hover {
  opacity: 0.9;
}

.ad-btnGhost {
  color: var(--lb-text-2);
  border: 1px solid var(--lb-border-strong);
  background: var(--lb-surface);
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 13px;
  cursor: pointer;
  transition: border-color 0.15s, color 0.15s;
}

.ad-btnGhost:hover {
  color: var(--lb-text);
  border-color: var(--lb-accent);
}

/* ---- app/admin/sifre-degistir/sifre.module.css  (onek: .sf-*) ---- */
.sf-wrap {
  max-width: 720px;
}

.sf-title {
  color: var(--lb-text);
  font-size: 24px;
  margin-bottom: 20px;
}

.sf-card {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  padding: 24px;
  box-shadow: var(--lb-shadow);
}

.sf-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 420px;
}

.sf-field {
  display: grid;
  gap: 6px;
}

.sf-field label {
  color: var(--lb-text-2);
  font-size: 13px;
  font-weight: 600;
}

.sf-field input {
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-border);
  border-radius: 8px;
  color: var(--lb-text);
  padding: 10px 12px;
  font-size: 14px;
  font-family: inherit;
  outline: none;
}

.sf-field input:focus {
  border-color: var(--lb-accent);
}

.sf-btn {
  background: var(--lb-accent);
  border: none;
  border-radius: 8px;
  color: var(--lb-accent-fg);
  padding: 12px 18px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
}

.sf-btn:hover {
  filter: brightness(1.08);
}

/* ---- app/admin/parametreler/admin-parametreler.module.css  (onek: .ap-*) ---- */
.ap-title {
  color: var(--lb-text);
  font-size: 24px;
  margin-bottom: 24px;
}

.ap-sectionTitle {
  color: var(--lb-text-2);
  font-size: 16px;
  margin: 28px 0 12px;
}

.ap-card {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  padding: 20px;
  margin-bottom: 16px;
  box-shadow: var(--lb-shadow);
}

.ap-cardHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  color: var(--lb-text);
  font-size: 15px;
}

.ap-badge {
  background: var(--lb-accent-light, #eef2ff);
  color: var(--lb-accent-dark, #4f46e5);
  border: 1px solid var(--lb-border);
  border-radius: 999px;
  padding: 2px 10px;
  font-size: 12px;
  white-space: nowrap;
}

.ap-muted {
  color: var(--lb-text-3);
  font-size: 13px;
}

.ap-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
}

.ap-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.ap-table th,
.ap-table td {
  text-align: left;
  padding: 9px 10px;
  border-bottom: 1px solid var(--lb-border);
}

.ap-table th {
  color: var(--lb-text-3);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.ap-table tbody tr:last-child td {
  border-bottom: none;
}

.ap-kod {
  font-family: "Consolas", monospace;
  color: var(--lb-accent-dark);
  font-weight: 600;
}

/* ---- app/admin/firma/ekle/firma-ekle.module.css  (onek: .fe-*) ---- */
.fe-wrap {
  max-width: 640px;
}

.fe-title {
  color: var(--lb-text);
  font-size: 24px;
  margin-bottom: 20px;
}

.fe-card {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  padding: 28px;
  box-shadow: var(--lb-shadow);
}

.fe-form {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.fe-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px 20px;
}

.fe-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.fe-fieldFull {
  grid-column: 1 / -1;
}

.fe-field label {
  color: var(--lb-text-2);
  font-size: 13px;
  font-weight: 600;
}

.fe-form input,
.fe-form textarea {
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-border);
  border-radius: 8px;
  color: var(--lb-text);
  padding: 10px 12px;
  font-size: 14px;
  font-family: inherit;
  outline: none;
  width: 100%;
  box-sizing: border-box;
}

.fe-form input:focus,
.fe-form textarea:focus {
  border-color: var(--lb-accent);
}

@media (max-width: 640px) {
  .fe-grid {
    grid-template-columns: 1fr;
  }
}

.fe-error {
  margin-top: 12px;
  color: var(--lb-danger-fg);
  background: var(--lb-danger-soft);
  border: 1px solid rgba(212, 72, 70, 0.35);
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 13px;
}

.fe-ok {
  margin-top: 12px;
  color: var(--lb-success);
  background: var(--lb-success-soft);
  border: 1px solid rgba(0, 154, 98, 0.35);
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 13px;
}

.fe-button {
  margin-top: 20px;
  background: var(--lb-gradient);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 12px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}

.fe-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* ---- app/admin/firma/[id]/firma.module.css  (onek: .fd-*) ---- */
.fd-wrap {
  max-width: 860px;
}

.fd-back {
  color: var(--lb-accent);
  font-size: 14px;
  margin-bottom: 16px;
  display: inline-block;
}

.fd-back:hover {
  color: var(--lb-accent-dark);
}

.fd-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
}

.fd-title {
  color: var(--lb-text);
  font-size: 24px;
}

.fd-card {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: var(--lb-shadow);
}

.fd-sectionTitle {
  color: var(--lb-text);
  font-size: 16px;
  margin-bottom: 14px;
}

.fd-subTitle {
  color: var(--lb-text-2);
  font-size: 14px;
  margin: 24px 0 12px;
  padding-top: 16px;
  border-top: 1px solid var(--lb-border);
}

.fd-info {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  font-size: 14px;
}

.fd-info div {
  color: var(--lb-text);
}

.fd-info div span {
  color: var(--lb-text-3);
  margin-right: 8px;
}

.fd-muted {
  color: var(--lb-text-3);
  font-size: 13px;
}

.fd-badgeOk {
  background: var(--lb-success-soft);
  color: var(--lb-success);
  padding: 4px 10px;
  border-radius: 99px;
  font-size: 12px;
  font-weight: 600;
}

.fd-badgeBad {
  background: var(--lb-danger-soft);
  color: var(--lb-danger);
  padding: 4px 10px;
  border-radius: 99px;
  font-size: 12px;
  font-weight: 600;
}

.fd-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.fd-table th,
.fd-table td {
  text-align: left;
  padding: 10px 12px;
  border-bottom: 1px solid var(--lb-border);
}

.fd-table th {
  color: var(--lb-text-3);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.fd-table tbody tr:last-child td {
  border-bottom: none;
}

.fd-userName {
  font-family: "Consolas", monospace;
  color: var(--lb-accent-dark);
  font-weight: 600;
}

.fd-userForm {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.fd-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px 20px;
}

.fd-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.fd-field label {
  color: var(--lb-text-2);
  font-size: 12px;
  font-weight: 600;
}

.fd-field input {
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-border);
  border-radius: 8px;
  color: var(--lb-text);
  padding: 10px 12px;
  font-size: 14px;
  font-family: inherit;
  outline: none;
  width: 100%;
  box-sizing: border-box;
}

.fd-field textarea {
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-border);
  border-radius: 8px;
  color: var(--lb-text);
  padding: 10px 12px;
  font-size: 14px;
  font-family: inherit;
  outline: none;
  width: 100%;
  box-sizing: border-box;
  resize: vertical;
}

.fd-field input:focus,
.fd-field textarea:focus {
  border-color: var(--lb-accent);
}

.fd-full {
  grid-column: 1 / -1;
}

.fd-error,
.fd-ok {
  font-size: 13px;
  padding: 8px 12px;
  border-radius: 8px;
}

.fd-error {
  color: var(--lb-danger-fg);
  background: var(--lb-danger-soft);
  border: 1px solid rgba(212, 72, 70, 0.35);
}

.fd-ok {
  color: var(--lb-success);
  background: var(--lb-success-soft);
  border: 1px solid rgba(0, 154, 98, 0.35);
}

.fd-button {
  margin-top: 16px;
  background: var(--lb-gradient);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 11px 18px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  align-self: flex-start;
}

.fd-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

@media (max-width: 640px) {
  .fd-grid {
    grid-template-columns: 1fr;
  }
  .fd-info {
    grid-template-columns: 1fr;
  }
}

/* ---- app/admin/kullanicilar/kullanici.module.css  (onek: .ku-*) ---- */
.ku-wrap {
  max-width: 1100px;
}

.ku-title {
  color: var(--lb-text);
  font-size: 24px;
  margin-bottom: 20px;
}

.ku-card {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: var(--lb-shadow);
}

.ku-sectionTitle {
  color: var(--lb-text);
  font-size: 16px;
  margin-bottom: 14px;
}

.ku-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.ku-table th,
.ku-table td {
  text-align: left;
  padding: 10px 12px;
  border-bottom: 1px solid var(--lb-border);
}

.ku-table th {
  color: var(--lb-text-3);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.ku-table tbody tr:last-child td {
  border-bottom: none;
}

.ku-userName {
  font-family: "Consolas", monospace;
  color: var(--lb-accent-dark);
  font-weight: 600;
}

.ku-kurumlar {
  color: var(--lb-text-2);
  font-size: 13px;
}

.ku-rolAdmin {
  background: var(--lb-accent-soft);
  color: var(--lb-accent-dark);
  padding: 4px 10px;
  border-radius: 99px;
  font-size: 12px;
  font-weight: 700;
}

.ku-rolKullanici {
  background: var(--lb-surface-3);
  color: var(--lb-text-2);
  padding: 4px 10px;
  border-radius: 99px;
  font-size: 12px;
  font-weight: 600;
}

.ku-badgeOk {
  background: var(--lb-success-soft);
  color: var(--lb-success);
  padding: 4px 10px;
  border-radius: 99px;
  font-size: 12px;
  font-weight: 600;
}

.ku-badgeBad {
  background: var(--lb-danger-soft);
  color: var(--lb-danger);
  padding: 4px 10px;
  border-radius: 99px;
  font-size: 12px;
  font-weight: 600;
}

.ku-islemler {
  display: flex;
  gap: 8px;
  align-items: center;
}

.ku-miniBtn {
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-border);
  border-radius: 8px;
  color: var(--lb-text-2);
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
}

.ku-miniBtn:hover {
  border-color: var(--lb-accent);
  color: var(--lb-accent-dark);
}

.ku-muted {
  color: var(--lb-text-3);
  font-size: 12px;
}

.ku-sifreForm {
  display: flex;
  gap: 6px;
  align-items: center;
  white-space: nowrap;
}

.ku-sifreInput {
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-border);
  border-radius: 8px;
  color: var(--lb-text);
  padding: 6px 8px;
  font-size: 12px;
  font-family: inherit;
  outline: none;
  width: 130px;
}

.ku-sifreInput:focus {
  border-color: var(--lb-accent);
}

.ku-silBtn {
  border-color: rgba(212, 72, 70, 0.4);
  color: var(--lb-danger);
}

.ku-silBtn:hover {
  background: var(--lb-danger-soft);
  border-color: rgba(212, 72, 70, 0.6);
  color: var(--lb-danger-fg);
}

.ku-bannerHata,
.ku-bannerOk {
  font-size: 13px;
  padding: 10px 14px;
  border-radius: 8px;
  margin-bottom: 16px;
}

.ku-bannerHata {
  color: var(--lb-danger-fg);
  background: var(--lb-danger-soft);
  border: 1px solid rgba(212, 72, 70, 0.35);
}

.ku-bannerOk {
  color: var(--lb-success);
  background: var(--lb-success-soft);
  border: 1px solid rgba(0, 154, 98, 0.35);
}

.ku-userForm {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.ku-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px 20px;
}

.ku-full {
  grid-column: 1 / -1;
}

.ku-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.ku-field label {
  color: var(--lb-text-2);
  font-size: 12px;
  font-weight: 600;
}

.ku-field input,
.ku-field select {
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-border);
  border-radius: 8px;
  color: var(--lb-text);
  padding: 10px 12px;
  font-size: 14px;
  font-family: inherit;
  outline: none;
  width: 100%;
  box-sizing: border-box;
}

.ku-field input:focus,
.ku-field select:focus {
  border-color: var(--lb-accent);
}

.ku-field select:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.ku-error,
.ku-ok {
  font-size: 13px;
  padding: 8px 12px;
  border-radius: 8px;
}

.ku-error {
  color: var(--lb-danger-fg);
  background: var(--lb-danger-soft);
  border: 1px solid rgba(212, 72, 70, 0.35);
}

.ku-ok {
  color: var(--lb-success);
  background: var(--lb-success-soft);
  border: 1px solid rgba(0, 154, 98, 0.35);
}

.ku-button {
  margin-top: 16px;
  background: var(--lb-gradient);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 11px 18px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  align-self: flex-start;
}

.ku-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

@media (max-width: 640px) {
  .ku-grid {
    grid-template-columns: 1fr;
  }
}

/* ---- app/admin/kullanicilar/[id]/menuler/menuler.module.css  (onek: .mn-*) ---- */
.mn-wrap {
  max-width: 760px;
}

.mn-ust {
  margin-bottom: 20px;
}

.mn-geri {
  color: var(--lb-text-3);
  font-size: 13px;
}

.mn-geri:hover {
  color: var(--lb-accent-dark);
}

.mn-title {
  color: var(--lb-text);
  font-size: 24px;
  margin: 8px 0 8px;
}

.mn-aciklama {
  color: var(--lb-text-2);
  font-size: 13px;
  line-height: 1.5;
}

.mn-form {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  padding: 24px;
  box-shadow: var(--lb-shadow);
}

.mn-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px 20px;
  margin-bottom: 20px;
}

.mn-bolum {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.mn-satir {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--lb-border);
  border-radius: 10px;
  background: var(--lb-surface-2);
  cursor: pointer;
  font-size: 14px;
  color: var(--lb-text);
}

.mn-anaSatir {
  font-weight: 600;
}

.mn-altBolum {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-left: 18px;
  padding-left: 12px;
  border-left: 2px solid var(--lb-border);
}

.mn-altSatir {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 10px;
  border: 1px solid var(--lb-border);
  border-radius: 8px;
  background: var(--lb-surface-2);
  cursor: pointer;
  font-size: 13px;
  color: var(--lb-text-2);
}

.mn-satir:has(input:disabled) {
  opacity: 0.7;
  cursor: not-allowed;
}

.mn-satir input {
  accent-color: var(--lb-accent);
  width: 17px;
  height: 17px;
}

.mn-zorunlu {
  margin-left: auto;
  font-size: 11px;
  color: var(--lb-text-3);
  background: var(--lb-surface-3);
  padding: 3px 8px;
  border-radius: 99px;
  font-weight: 600;
}

.mn-btn {
  background: var(--lb-accent);
  border: none;
  border-radius: 8px;
  color: var(--lb-accent-fg);
  padding: 12px 20px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
}

.mn-btn:hover {
  filter: brightness(1.08);
}

/* ---- components/uyari.module.css  (onek: .uy-*) ---- */
.uy-toast {
  position: fixed;
  top: 22px;
  left: 50%;
  transform: translateX(-50%) translateY(0);
  z-index: 999;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 18px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  background: rgba(26, 30, 40, 0.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.32);
  animation: in 0.28s ease;
  transition: opacity 0.3s ease, transform 0.3s ease;
  max-width: 90vw;
}

.uy-basari {
  border-left: 3px solid var(--lb-success);
}

.uy-hata {
  border-left: 3px solid var(--lb-danger);
}

.uy-ikon {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 800;
  flex-shrink: 0;
}

.uy-basari .uy-ikon {
  background: rgba(0, 190, 120, 0.22);
  color: #4ade9a;
}

.uy-hata .uy-ikon {
  background: rgba(235, 68, 66, 0.22);
  color: #ff8a8a;
}

.uy-mesaj {
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.uy-gidiyor {
  opacity: 0;
  transform: translateX(-50%) translateY(-12px);
}

@keyframes in {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(-14px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

/* ---- app/panel/panel.module.css  (onek: .pn-*) ---- */
.pn-layout {
  display: flex;
  min-height: 100vh;
}

.pn-sidebar {
  width: 240px;
  background: #ffffff;
  border-right: 1px solid var(--lb-border);
  display: flex;
  flex-direction: column;
  padding: 20px 0;
  position: sticky;
  top: 0;
  height: 100vh;
}

.pn-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
  padding: 0 20px;
  margin-bottom: 28px;
}

.pn-logo {
  width: 130px;
  height: 130px;
  border-radius: 24px;
  overflow: hidden;
  flex-shrink: 0;
}

.pn-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.pn-brand strong {
  display: block;
  color: var(--lb-text);
  font-size: 14px;
}

.pn-brand span {
  display: block;
  color: var(--lb-text-3);
  font-size: 12px;
  margin-top: 2px;
}

.pn-kurumKutu {
  position: relative;
  padding: 0 14px;
  margin-bottom: 16px;
}

.pn-kurumBaslik {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--lb-border);
  border-radius: 12px;
  background: var(--lb-surface-2);
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  color: inherit;
}

.pn-kurumBaslik:hover {
  border-color: var(--lb-border-strong);
}

.pn-kurumAvatar {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: var(--lb-accent-soft);
  color: var(--lb-accent-dark);
  font-weight: 800;
  font-size: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pn-kurumLogo {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  object-fit: cover;
  flex-shrink: 0;
}

.pn-kurumMetin {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.pn-kurumMetin strong {
  font-size: 13px;
  font-weight: 600;
  color: var(--lb-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pn-kurumMetin span {
  font-size: 11px;
  color: var(--lb-text-3);
}

.pn-kurumOk {
  color: var(--lb-text-3);
  font-size: 12px;
  flex-shrink: 0;
}

.pn-kurumListe {
  position: absolute;
  top: calc(100% + 6px);
  left: 14px;
  right: 14px;
  z-index: 60;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: 12px;
  box-shadow: var(--lb-shadow-lg);
  overflow: hidden;
  padding: 6px;
}

.pn-kurumSecenek {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
  border: none;
  background: transparent;
  border-radius: 8px;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
  font-size: 13px;
  color: var(--lb-text-2);
}

.pn-kurumSecenek:hover {
  background: var(--lb-surface-3);
  color: var(--lb-text);
}

.pn-kurumSecenekAd {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pn-kurumTik {
  font-size: 11px;
  color: var(--lb-success);
  font-weight: 700;
  white-space: nowrap;
  flex-shrink: 0;
}

.pn-kurumUst {
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  padding: 16px 20px;
  margin-bottom: 22px;
  box-shadow: var(--lb-shadow);
}

.pn-kurumUstAvatar {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: var(--lb-accent-soft);
  color: var(--lb-accent-dark);
  font-weight: 800;
  font-size: 17px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pn-kurumUstMetin span {
  font-size: 11px;
  color: var(--lb-text-3);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: block;
  margin-bottom: 2px;
}

.pn-kurumUstMetin strong {
  font-size: 17px;
  color: var(--lb-text);
  font-weight: 700;
}

.pn-kurumUstTarih {
  margin-left: auto;
}

.pn-nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 0 10px;
  flex: 1;
}

.pn-nav a {
  padding: 11px 14px;
  border-radius: 10px;
  color: var(--lb-text-2);
  font-size: 14px;
  transition: background 0.15s, color 0.15s;
}

.pn-nav a:hover {
  background: var(--lb-accent-soft);
  color: var(--lb-accent-dark);
}

.pn-nav a.pn-active {
  background: var(--lb-accent-soft);
  color: var(--lb-accent-dark);
  font-weight: 600;
}

.pn-navGrupKutu {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.pn-navGrup {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 12px 14px;
  margin-top: 8px;
  background: none;
  border: none;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: normal;
  text-transform: none;
  color: var(--lb-text-3);
  cursor: pointer;
  text-align: left;
  transition: background 0.15s, color 0.15s;
}

.pn-navGrup:hover {
  background: var(--lb-accent-soft);
  color: var(--lb-accent-dark);
}

.pn-navGrupAktif {
  color: var(--lb-accent-dark);
}

.pn-navOk {
  font-size: 12px;
  color: var(--lb-text-3);
  transition: transform 0.18s ease;
}

.pn-navGrupAcik .pn-navOk {
  transform: rotate(180deg);
  color: var(--lb-accent);
}

.pn-nav a.pn-subLink {
  padding: 8px 14px 8px 26px;
  font-size: 13px;
  font-weight: 600;
  color: var(--lb-text-2);
}

.pn-nav a.pn-subActive {
  padding: 8px 14px 8px 26px;
  font-size: 13px;
  font-weight: 600;
  background: var(--lb-accent-soft);
  color: var(--lb-accent-dark);
  border-left: 3px solid var(--lb-accent);
  border-radius: 8px;
}

.pn-footer {
  padding: 16px 20px 0;
  border-top: 1px solid var(--lb-border);
}

.pn-user {
  color: var(--lb-text);
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 8px;
}

.pn-logout {
  color: var(--lb-danger);
  font-size: 13px;
}

.pn-content {
  flex: 1;
  padding: 32px;
  background: var(--lb-bg);
}

.pn-title {
  color: var(--lb-text);
  font-size: 24px;
  margin-bottom: 24px;
}

/* ---- components/masaustu/masaustu.module.css  (onek: .ms-*) ---- */
.ms-masaustu {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 18px;
}

.ms-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  aspect-ratio: 1 / 1;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: 20px;
  box-shadow: var(--lb-shadow);
  text-decoration: none;
  cursor: grab;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.ms-tile:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.16);
  border-color: var(--lb-accent);
}

.ms-tileIkon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 18px;
  color: #fff;
  font-size: 22px;
  font-weight: 800;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.22);
}

.ms-tileAd {
  color: var(--lb-text);
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  line-height: 1.3;
  padding: 0 8px;
}

.ms-tileOk {
  color: var(--lb-accent);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
}

.ms-tileEkleIkon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 18px;
  color: var(--lb-accent-dark);
  background: var(--lb-accent-soft);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.12);
}

.ms-dzenKutu {
  margin-top: 24px;
  border: 1px solid var(--lb-border);
  border-radius: 14px;
  background: var(--lb-surface);
  box-shadow: var(--lb-shadow);
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ms-dzenBaslik {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.ms-dzenBaslikYazi {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--lb-text-3);
  text-transform: uppercase;
}

.ms-dzenEkleBtn {
  padding: 7px 14px;
  border: 1px solid var(--lb-border-strong);
  border-radius: 9px;
  background: var(--lb-surface);
  color: var(--lb-accent-dark);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}

.ms-dzenEkleBtn:hover {
  background: var(--lb-accent-soft);
  border-color: var(--lb-accent);
}

.ms-dzenListe {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ms-dzenSekme {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 2px 6px 2px 12px;
  border: 1px solid var(--lb-border);
  border-radius: 10px;
  background: var(--lb-bg);
  cursor: grab;
  transition: border-color 0.15s, background 0.15s;
}

.ms-dzenSekme:hover {
  border-color: var(--lb-accent);
}

.ms-dzenSekmeAktif {
  background: var(--lb-accent-soft);
  border-color: var(--lb-accent);
}

.ms-dzenHedef {
  outline: 2px dashed var(--lb-accent);
  outline-offset: 2px;
}

.ms-dzenAdBtn {
  background: none;
  border: none;
  padding: 6px 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--lb-text);
  cursor: pointer;
  white-space: nowrap;
}

.ms-dzenSilBtn {
  background: none;
  border: none;
  padding: 4px 6px;
  font-size: 16px;
  line-height: 1;
  color: var(--lb-danger);
  cursor: pointer;
  border-radius: 6px;
}

.ms-dzenSilBtn:hover {
  background: var(--lb-danger);
  color: #fff;
}

.ms-dzenAdSatir {
  display: flex;
  align-items: center;
  gap: 10px;
  border-top: 1px solid var(--lb-border);
  padding-top: 12px;
}

.ms-dzenAdEtiket {
  font-size: 13px;
  font-weight: 600;
  color: var(--lb-text-2);
  white-space: nowrap;
}

.ms-dzenAdInput {
  flex: 1;
  min-width: 0;
  padding: 8px 12px;
  border: 1px solid var(--lb-border-strong);
  border-radius: 9px;
  background: var(--lb-bg);
  color: var(--lb-text);
  font-size: 14px;
  font-weight: 600;
  outline: none;
}

.ms-dzenAdInput:focus {
  border-color: var(--lb-accent);
}

.ms-eklePanel {
  position: fixed;
  z-index: 1200;
  max-height: 420px;
  overflow-y: auto;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border-strong);
  border-radius: 14px;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ms-ekleBaslik {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--lb-text-3);
  padding-bottom: 6px;
  border-bottom: 1px solid var(--lb-border);
}

.ms-ekleListe {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.ms-ekleGrup {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ms-ekleGrupBtn {
  display: flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  padding: 7px 8px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  text-align: left;
  border-radius: 8px;
}

.ms-ekleGrupBtn:hover {
  background: var(--lb-accent-soft);
}

.ms-ekleKartBtn {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--lb-bg);
  border: 1px solid var(--lb-border);
  border-radius: 9px;
  padding: 6px 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--lb-text);
  cursor: pointer;
  text-align: left;
}

.ms-ekleKartBtn:hover {
  border-color: var(--lb-accent);
  background: var(--lb-accent-soft);
}

.ms-ekleKartIkon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  flex-shrink: 0;
  color: #fff;
}

.ms-kutu {
  position: relative;
  display: flex;
}

.ms-kutu .ms-tile {
  flex: 1;
  width: 100%;
  min-width: 0;
}

.ms-kutuHedef {
  outline: 2px dashed var(--lb-accent);
  outline-offset: 3px;
  border-radius: 10px;
}

.ms-grup {
  position: relative;
  display: flex;
}

.ms-grup .ms-tile {
  flex: 1;
  width: 100%;
  min-width: 0;
}

.ms-acilir {
  position: fixed;
  z-index: 900;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border-strong);
  border-radius: 16px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.32);
  padding: 14px;
  width: 360px;
  animation: acilirin 0.16s ease;
}

@keyframes acilirin {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.ms-acilirBaslik {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--lb-text-3);
  margin-bottom: 10px;
}

.ms-acilirIzgara {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}

.ms-acilirKart {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  aspect-ratio: 1 / 1;
  padding: 12px 8px;
  background: var(--lb-bg);
  border: 1px solid var(--lb-border);
  border-radius: 12px;
  text-decoration: none;
  text-align: center;
  transition: border-color 0.15s ease, transform 0.15s ease;
}

.ms-acilirKart:hover {
  border-color: var(--lb-accent);
  transform: translateY(-2px);
}

.ms-acilirIkon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 18px;
  color: #fff;
  font-size: 22px;
  font-weight: 800;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.22);
}

.ms-acilirAd {
  color: var(--lb-text);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
}

/* ---- components/calisma-tarihi/calisma-tarihi.module.css  (onek: .ct-*) ---- */
.ct-kutu {
  position: relative;
}

.ct-tetik {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border-strong);
  border-radius: 13px;
  box-shadow: var(--lb-shadow);
  cursor: pointer;
  min-width: 210px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ct-tetik:hover {
  border-color: var(--lb-accent);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.14);
}

.ct-tetikIkon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(135deg, var(--lb-accent), #7c3aed);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);
  flex-shrink: 0;
}

.ct-tetikMetin {
  display: flex;
  flex-direction: column;
  gap: 1px;
  text-align: left;
  flex: 1;
}

.ct-tetikEtiket {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--lb-text-3);
}

.ct-tetikTarih {
  font-size: 15px;
  font-weight: 800;
  color: var(--lb-text);
  letter-spacing: 0.02em;
}

.ct-tetikOk {
  color: var(--lb-text-3);
  font-size: 12px;
  transition: transform 0.15s ease;
}

.ct-katman {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(15, 20, 35, 0.55);
  backdrop-filter: blur(3px);
  animation: katmanin 0.16s ease;
}

@keyframes katmanin {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.ct-modal {
  width: 320px;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border-strong);
  border-radius: 18px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
  padding: 18px;
  animation: modalcin 0.16s ease;
}

@keyframes modalcin {
  from {
    opacity: 0;
    transform: translateY(-10px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.ct-modalBaslik {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.ct-modalAd {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--lb-text-3);
}

.ct-modalKapat {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border: none;
  border-radius: 8px;
  background: var(--lb-bg);
  color: var(--lb-text-3);
  font-size: 13px;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.ct-modalKapat:hover {
  background: #fee2e2;
  color: #dc2626;
}

.ct-modalNav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.ct-popOk {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: none;
  border-radius: 9px;
  background: var(--lb-bg);
  color: var(--lb-text);
  font-size: 16px;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.ct-popOk:hover {
  background: linear-gradient(135deg, var(--lb-accent), #7c3aed);
  color: #fff;
}

.ct-popAyAd {
  font-size: 15px;
  font-weight: 800;
  color: var(--lb-text);
}

.ct-popIzgara {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
}

.ct-popGunAd {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--lb-text-3);
  text-align: center;
  padding: 4px 0;
}

.ct-popBos {
  height: 0;
}

.ct-popGun {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  border: none;
  border-radius: 10px;
  background: transparent;
  color: var(--lb-text);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.12s ease, color 0.12s ease;
}

.ct-popGun:hover {
  background: var(--lb-bg);
}

.ct-popGunBugun {
  box-shadow: inset 0 0 0 2px var(--lb-accent);
}

.ct-popGunSecili {
  background: linear-gradient(135deg, var(--lb-accent), #7c3aed);
  color: #fff;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.ct-popAlt {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--lb-border);
}

.ct-popBugun {
  padding: 6px 12px;
  border: none;
  border-radius: 9px;
  background: var(--lb-bg);
  color: var(--lb-accent);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.ct-popBugun:hover {
  background: linear-gradient(135deg, var(--lb-accent), #7c3aed);
  color: #fff;
}

/* ---- components/tarih-secici/tarih-secici.module.css  (onek: .ts-*) ---- */
.ts-kutu {
  position: relative;
  display: inline-block;
}

.ts-tetik {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border-strong);
  border-radius: 10px;
  box-shadow: var(--lb-shadow);
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ts-tetik:hover {
  border-color: var(--lb-accent);
  box-shadow: 0 5px 14px rgba(0, 0, 0, 0.12);
}

.ts-tetikKisa {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border-strong);
  border-radius: 8px;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ts-tetikKisa:hover {
  border-color: var(--lb-accent);
}

.ts-tetikIkon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 7px;
  color: #fff;
  background: linear-gradient(135deg, var(--lb-accent), #7c3aed);
  flex-shrink: 0;
}

.ts-tetikMetin {
  display: flex;
  flex-direction: column;
  text-align: left;
  flex: 1;
  overflow: hidden;
  min-width: 0;
}

.ts-tetikEtiket {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--lb-text-3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ts-tetikTarih {
  font-size: 12px;
  font-weight: 800;
  color: var(--lb-text);
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.ts-tetikOk {
  color: var(--lb-text-3);
  font-size: 11px;
  flex-shrink: 0;
}

.ts-katman {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(15, 20, 35, 0.55);
  backdrop-filter: blur(3px);
  animation: katmanin 0.16s ease;
}

@keyframes katmanin {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.ts-modal {
  width: 320px;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border-strong);
  border-radius: 18px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
  padding: 18px;
  animation: modalcin 0.16s ease;
}

@keyframes modalcin {
  from {
    opacity: 0;
    transform: translateY(-10px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.ts-modalBaslik {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.ts-modalAd {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--lb-text-3);
}

.ts-modalKapat {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border: none;
  border-radius: 8px;
  background: var(--lb-bg);
  color: var(--lb-text-3);
  font-size: 13px;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.ts-modalKapat:hover {
  background: #fee2e2;
  color: #dc2626;
}

.ts-modalNav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.ts-popOk {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: none;
  border-radius: 9px;
  background: var(--lb-bg);
  color: var(--lb-text);
  font-size: 16px;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.ts-popOk:hover {
  background: linear-gradient(135deg, var(--lb-accent), #7c3aed);
  color: #fff;
}

.ts-popAyAd {
  font-size: 15px;
  font-weight: 800;
  color: var(--lb-text);
}

.ts-popIzgara {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
}

.ts-popGunAd {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--lb-text-3);
  text-align: center;
  padding: 4px 0;
}

.ts-popBos {
  height: 0;
}

.ts-popGun {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  border: none;
  border-radius: 10px;
  background: transparent;
  color: var(--lb-text);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.12s ease, color 0.12s ease;
}

.ts-popGun:hover {
  background: var(--lb-bg);
}

.ts-popGunBugun {
  box-shadow: inset 0 0 0 2px var(--lb-accent);
}

.ts-popGunSecili {
  background: linear-gradient(135deg, var(--lb-accent), #7c3aed);
  color: #fff;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.ts-popAlt {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--lb-border);
}

.ts-popBugun {
  padding: 6px 12px;
  border: none;
  border-radius: 9px;
  background: var(--lb-bg);
  color: var(--lb-accent);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.ts-popBugun:hover {
  background: linear-gradient(135deg, var(--lb-accent), #7c3aed);
  color: #fff;
}

.ts-popTemizle {
  margin-left: auto;
  padding: 6px 10px;
  border: none;
  border-radius: 9px;
  background: transparent;
  color: var(--lb-text-3);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: color 0.15s ease;
}

.ts-popTemizle:hover {
  color: #dc2626;
}

/* ---- components/ayyil-secici/ayyil-secici.module.css  (onek: .ay-*) ---- */
.ay-kutu {
  position: relative;
  z-index: 40;
}

.ay-tetik {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 8px 12px;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border-strong);
  border-radius: 12px;
  box-shadow: var(--lb-shadow);
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ay-tetik:hover {
  border-color: var(--lb-accent);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

.ay-tetikIkon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(135deg, var(--lb-accent), #7c3aed);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.16);
  flex-shrink: 0;
}

.ay-tetikMetin {
  display: flex;
  flex-direction: column;
  text-align: left;
  flex: 1;
  overflow: hidden;
}

.ay-tetikEtiket {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--lb-text-3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ay-tetikTarih {
  font-size: 14px;
  font-weight: 800;
  color: var(--lb-text);
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.ay-tetikOk {
  color: var(--lb-text-3);
  font-size: 12px;
  flex-shrink: 0;
}

.ay-pop {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  width: 252px;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border-strong);
  border-radius: 16px;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
  padding: 14px;
  z-index: 60;
  animation: popin 0.14s ease;
}

@keyframes popin {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.ay-popBaslik {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.ay-popOk {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: none;
  border-radius: 9px;
  background: var(--lb-bg);
  color: var(--lb-text);
  font-size: 16px;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.ay-popOk:hover {
  background: linear-gradient(135deg, var(--lb-accent), #7c3aed);
  color: #fff;
}

.ay-popAyAd {
  font-size: 15px;
  font-weight: 800;
  color: var(--lb-text);
}

.ay-popIzgara {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

.ay-popAy {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 38px;
  border: 1px solid var(--lb-border);
  border-radius: 10px;
  background: var(--lb-bg);
  color: var(--lb-text);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.12s ease, color 0.12s ease;
}

.ay-popAy:hover {
  border-color: var(--lb-accent);
}

.ay-popAySecili {
  background: linear-gradient(135deg, var(--lb-accent), #7c3aed);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

/* ---- app/panel/personeller/personeller.module.css  (onek: .pe-*) ---- */
.pe-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  flex-shrink: 0;
}

.pe-title {
  color: var(--lb-text);
  font-size: 24px;
  margin: 0;
}

.pe-sayfa {
  display: flex;
  flex-direction: column;
  height: calc(100vh - 64px);
}

.pe-tableWrap {
  flex: 1;
  min-height: 0;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  overflow: auto;
  box-shadow: var(--lb-shadow);
}

.pe-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  color: var(--lb-text);
}

.pe-table th,
.pe-table td {
  text-align: left;
  padding: 9px 12px;
  border-bottom: 1px solid var(--lb-border);
  white-space: nowrap;
}

.pe-table th {
  background: var(--lb-surface-2);
  color: var(--lb-text-3);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
  position: sticky;
  top: 0;
  z-index: 1;
}

.pe-table tbody tr:last-child td {
  border-bottom: none;
}

.pe-table tbody tr:hover td {
  background: var(--lb-surface-3);
}

.pe-name a {
  color: var(--lb-accent);
  font-weight: 600;
}

.pe-name a:hover {
  text-decoration: underline;
}

.pe-badgeEmekli {
  background: rgba(143, 55, 233, 0.12);
  color: var(--lb-accent-dark);
  padding: 4px 10px;
  border-radius: 99px;
  font-size: 11px;
  font-weight: 600;
}

.pe-badgeNormal {
  background: rgba(83, 110, 224, 0.12);
  color: var(--lb-accent);
  padding: 4px 10px;
  border-radius: 99px;
  font-size: 11px;
  font-weight: 600;
}

.pe-badgeOk {
  background: var(--lb-success-soft);
  color: var(--lb-success);
  padding: 4px 10px;
  border-radius: 99px;
  font-size: 11px;
  font-weight: 600;
}

.pe-badgeBad {
  background: var(--lb-danger-soft);
  color: var(--lb-danger);
  padding: 4px 10px;
  border-radius: 99px;
  font-size: 11px;
  font-weight: 600;
}

.pe-badgePasifPoz {
  color: var(--lb-text-3);
  font-size: 12px;
}

.pe-btnPrimary {
  background: var(--lb-gradient);
  color: #fff;
  padding: 10px 16px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 14px -6px var(--lb-accent);
  transition: opacity 0.15s;
}

.pe-btnPrimary:hover {
  opacity: 0.9;
}

.pe-btnGhost {
  color: var(--lb-text-2);
  border: 1px solid var(--lb-border-strong);
  background: var(--lb-surface);
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 13px;
  cursor: pointer;
  transition: border-color 0.15s, color 0.15s;
}

.pe-btnGhost:hover {
  color: var(--lb-text);
  border-color: var(--lb-accent);
}

.pe-ikonBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  color: var(--lb-text-2);
  border: 1px solid var(--lb-border-strong);
  background: var(--lb-surface);
  border-radius: 8px;
  cursor: pointer;
  transition: color 0.15s, border-color 0.15s, background 0.15s;
}

.pe-ikonBtn:hover {
  color: var(--lb-accent);
  border-color: var(--lb-accent);
  background: var(--lb-accent-soft, rgba(83, 110, 224, 0.1));
}

.pe-empty {
  text-align: center;
  color: var(--lb-text-3);
  padding: 40px;
}

.pe-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.pe-detailWrap {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  max-width: 1400px;
}

.pe-detailHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  box-shadow: var(--lb-shadow);
  padding: 18px 22px;
  margin-bottom: 16px;
}

.pe-detailKimlik {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1;
  min-width: 260px;
}

.pe-detailAvatar {
  flex-shrink: 0;
  width: 78px;
  height: 78px;
  border-radius: 16px;
  background: var(--lb-gradient);
  color: var(--lb-accent-fg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: 0.02em;
  box-shadow: 0 6px 18px -8px var(--lb-accent);
}

.pe-detailName {
  color: var(--lb-text);
  font-size: 24px;
  margin: 0;
}

.pe-detailSicil {
  color: var(--lb-text-3);
  font-size: 13px;
  margin: 4px 0 0;
}

.pe-detailRozetler {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}

.pe-detailAksiyon {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
  flex-wrap: wrap;
}

.pe-detailCard {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  padding: 18px 24px 22px;
  margin-bottom: 20px;
  box-shadow: var(--lb-shadow);
}

.pe-detailBolum + .pe-detailBolum {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--lb-border);
}

.pe-detailBolumBaslik {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--lb-accent-dark);
  background: linear-gradient(
    135deg,
    var(--lb-accent-soft, rgba(83, 110, 224, 0.12)),
    rgba(83, 110, 224, 0.05)
  );
  border: 1px solid rgba(83, 110, 224, 0.18);
  border-radius: 999px;
  padding: 5px 14px;
  margin: 0 0 10px;
  width: fit-content;
}

.pe-detailGrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 0 32px;
}

.pe-detailRow {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 11px 0;
  border-bottom: 1px solid var(--lb-border);
}

.pe-detailRow:last-child {
  border-bottom: none;
}

.pe-detailLabel {
  color: var(--lb-text-3);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.pe-detailValue {
  color: var(--lb-text);
  font-weight: 500;
  font-size: 14px;
}

.pe-backLink {
  color: var(--lb-accent);
  font-size: 14px;
}

.pe-backLink:hover {
  text-decoration: underline;
}

.pe-aramaKutusu {
  margin-bottom: 14px;
}

.pe-baslikGrup {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.pe-sekmeler {
  display: flex;
  gap: 4px;
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-border);
  border-radius: 12px;
  padding: 4px;
  margin: 28px 0 18px;
  width: fit-content;
}

.pe-sekme {
  background: transparent;
  border: none;
  color: var(--lb-text-2);
  padding: 8px 18px;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: color 0.15s, background 0.15s, box-shadow 0.15s;
}

.pe-sekme:hover {
  color: var(--lb-text);
}

.pe-sekmeAktif {
  background: var(--lb-surface);
  color: var(--lb-accent);
  box-shadow: 0 2px 8px -3px rgba(0, 0, 0, 0.25);
}

.pe-aramaKutusu input {
  width: 100%;
  max-width: 460px;
  padding: 9px 14px;
  border: 1px solid var(--lb-border-strong);
  border-radius: 10px;
  background: var(--lb-surface);
  color: var(--lb-text);
  font-size: 13px;
  outline: none;
}

.pe-aramaKutusu input:focus {
  border-color: var(--lb-accent);
}

.pe-aksiyonlar {
  display: flex;
  gap: 6px;
  justify-content: flex-end;
  align-items: center;
}

.pe-btnDanger {
  color: var(--lb-danger);
  border: 1px solid var(--lb-danger);
  background: var(--lb-surface);
  padding: 4px 10px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 600;
  height: 30px;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.pe-btnDanger:hover {
  background: var(--lb-danger);
  color: #fff;
}

.pe-btnDanger:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.pe-btnAktif {
  background: linear-gradient(135deg, #0e9f4d, #2ec96e);
  color: #fff;
  padding: 4px 10px;
  border-radius: 8px;
  border: none;
  font-size: 11px;
  font-weight: 600;
  height: 30px;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(14, 159, 77, 0.35);
}

.pe-btnAktif:hover {
  filter: brightness(1.1);
}

.pe-btnAktif:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.pe-modalOverlay {
  position: fixed;
  inset: 0;
  z-index: 100;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(3px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.pe-modal {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: 14px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
  max-width: 420px;
  width: 100%;
  padding: 22px 24px;
}

.pe-modalBaslik {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 10px;
}

.pe-modalMetin {
  font-size: 13px;
  line-height: 1.55;
  color: var(--lb-text-2);
  margin: 0 0 18px;
}

.pe-modalButtons {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.pe-detailFoto {
  flex-shrink: 0;
  width: 78px;
  height: 78px;
  object-fit: cover;
  border-radius: 16px;
  border: 1px solid var(--lb-border-strong);
  box-shadow: 0 6px 18px -8px rgba(0, 0, 0, 0.25);
}

/* ---------------- Puantaj ---------------- */

.pe-ppuantaj {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  box-shadow: var(--lb-shadow);
  margin-bottom: 20px;
  overflow: hidden;
}

.pe-ptabs {
  display: flex;
  background: var(--lb-surface-2);
  border-bottom: 1px solid var(--lb-border);
}

.pe-ptab {
  flex: 1;
  padding: 12px 16px;
  border: none;
  background: transparent;
  color: var(--lb-text-2);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: color 0.15s, border-color 0.15s, background 0.15s;
}

.pe-ptab:hover {
  color: var(--lb-text);
}

.pe-ptabAktif {
  color: var(--lb-accent);
  border-bottom-color: var(--lb-accent);
  font-weight: 600;
  background: var(--lb-accent-soft, rgba(83, 110, 224, 0.06));
}

.pe-ptabIc {
  padding: 16px 20px;
}

.pe-pformSatir {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.pe-pformGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}

.pe-pformLabel {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  color: var(--lb-text-3);
}

.pe-pformLabel input,
.pe-pformLabel select {
  padding: 8px 10px;
  border: 1px solid var(--lb-border-strong);
  border-radius: 8px;
  background: var(--lb-surface);
  color: var(--lb-text);
  font-size: 13px;
  outline: none;
  min-width: 100%;
}

.pe-pformLabel input:focus,
.pe-pformLabel select:focus {
  border-color: var(--lb-accent);
}

.pe-pozet {
  font-size: 13px;
  color: var(--lb-text-2);
  background: var(--lb-surface-2);
  border: 1px dashed var(--lb-border-strong);
  border-radius: 8px;
  padding: 8px 12px;
  margin-bottom: 12px;
}

.pe-pbtnSatir {
  display: flex;
  gap: 10px;
  margin-bottom: 12px;
}

.pe-pbtn {
  background: var(--lb-gradient);
  color: #fff;
  padding: 9px 18px;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 600;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 12px -6px var(--lb-accent);
  transition: opacity 0.15s;
}

.pe-pbtn:hover {
  opacity: 0.9;
}

.pe-pbtn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.pe-pbtnKaydet {
  background: linear-gradient(135deg, #0e9f4d, #2ec96e);
  box-shadow: 0 4px 12px -6px #0e9f4d;
}

.pe-pHata {
  color: var(--lb-danger);
  font-size: 13px;
  background: var(--lb-danger-soft);
  border: 1px solid var(--lb-danger);
  border-radius: 8px;
  padding: 8px 12px;
  margin-bottom: 12px;
}

.pe-pMesaj {
  color: var(--lb-success);
  font-size: 13px;
  background: var(--lb-success-soft);
  border: 1px solid var(--lb-success);
  border-radius: 8px;
  padding: 8px 12px;
  margin-bottom: 12px;
}

.pe-pUyari {
  color: #b45309;
  font-size: 13px;
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid #f59e0b;
  border-radius: 8px;
  padding: 8px 12px;
  margin-bottom: 12px;
}

.pe-pkalemOzet {
  font-size: 13px;
  color: var(--lb-text);
  background: var(--lb-accent-soft, rgba(83, 110, 224, 0.08));
  border: 1px solid var(--lb-border-strong);
  border-radius: 8px;
  padding: 8px 12px;
  margin-bottom: 12px;
}

.pe-psonucGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  margin-top: 8px;
}

.pe-pkutu {
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-border);
  border-radius: 10px;
  padding: 10px 12px;
  text-align: center;
}

.pe-pkutuEtiket {
  font-size: 11px;
  color: var(--lb-text-3);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
}

.pe-pkutuDeger {
  font-size: 15px;
  font-weight: 700;
  color: var(--lb-text);
}

.pe-pkutuOnemli {
  background: var(--lb-gradient);
  border-color: transparent;
}

.pe-pkutuOnemli .pe-pkutuEtiket {
  color: rgba(255, 255, 255, 0.8);
}

.pe-pkutuOnemli .pe-pkutuDeger {
  color: #fff;
}

.pe-pkalemForm {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
  align-items: end;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--lb-border);
}

.pe-pkalemForm .pe-pbtn {
  align-self: end;
  height: 38px;
}

.pe-pbos {
  text-align: center;
  color: var(--lb-text-3);
  padding: 24px;
  font-size: 14px;
}

.pe-ptable {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.pe-ptable th,
.pe-ptable td {
  text-align: left;
  padding: 9px 12px;
  border-bottom: 1px solid var(--lb-border);
  white-space: nowrap;
}

.pe-ptable th {
  background: var(--lb-surface-2);
  color: var(--lb-text-3);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.pe-ptable tbody tr:last-child td {
  border-bottom: none;
}

.pe-psilBtn {
  color: var(--lb-danger);
  border: 1px solid var(--lb-danger);
  background: var(--lb-surface);
  padding: 4px 10px;
  border-radius: 7px;
  font-size: 12px;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.pe-psilBtn:hover {
  background: var(--lb-danger);
  color: #fff;
}


/* ---- app/panel/personeller/ekle/personel-ekle.module.css  (onek: .pk-*) ---- */
.pk-wrap {
  width: 100%;
  max-width: none;
}

.pk-title {
  color: var(--lb-text);
  font-size: 24px;
  margin-bottom: 20px;
}

.pk-card {
  position: relative;
  overflow: hidden;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  padding: 32px;
  box-shadow: var(--lb-shadow);
}

.pk-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--lb-gradient);
}

.pk-form {
  display: flex;
  flex-direction: column;
}

.pk-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px 24px;
  min-width: 0;
}

.pk-grid > * {
  min-width: 0;
}

.pk-sectionBaslik {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--lb-border);
  color: var(--lb-text-2);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.pk-sectionBaslik::before {
  content: "";
  width: 4px;
  height: 14px;
  border-radius: 4px;
  background: var(--lb-accent);
}

.pk-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.pk-field label {
  color: var(--lb-text-2);
  font-size: 13px;
  font-weight: 600;
}

.pk-field input,
.pk-field select {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-border);
  border-radius: 8px;
  color: var(--lb-text);
  padding: 10px 12px;
  font-size: 14px;
  font-family: inherit;
  outline: none;
}

.pk-field select {
  appearance: auto;
  cursor: pointer;
}

.pk-field input:focus,
.pk-field select:focus {
  border-color: var(--lb-accent);
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
}

.pk-fieldYardim {
  color: var(--lb-text-3);
  font-size: 12px;
  line-height: 1.5;
}

.pk-fotoBlok {
  display: flex;
  align-items: stretch;
  gap: 30px;
  width: 100%;
  margin-bottom: 30px;
  padding: 24px 28px;
  border: 1px solid var(--lb-border);
  border-radius: 16px;
  background: var(--lb-surface);
  box-shadow: var(--lb-shadow);
}

.pk-fotoKimlik {
  margin-right: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  min-width: 150px;
  max-width: 210px;
}

.pk-fotoKisiBaslik {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.pk-fotoAd {
  color: var(--lb-text);
  font-size: 24px;
  font-weight: 800;
  margin: 0;
  line-height: 1.15;
  word-break: break-word;
}

.pk-fotoSicil {
  color: var(--lb-text-soft);
  font-size: 13px;
  font-weight: 700;
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-border);
  padding: 5px 12px;
  border-radius: 8px;
  display: inline-block;
  width: fit-content;
}

.pk-fotoUnvan {
  display: inline-block;
  width: fit-content;
  margin-top: 4px;
  color: var(--lb-accent);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-bottom: 2px solid var(--lb-accent);
  padding-bottom: 6px;
  line-height: 1.2;
}

.pk-fotoAyrac {
  width: 1px;
  background: var(--lb-border-strong);
  align-self: stretch;
}

.pk-fotoSecimler {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  width: 340px;
  flex-shrink: 0;
}

.pk-kurumOzet {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--lb-border);
  border-radius: 10px;
  background: var(--lb-surface-2);
  font-size: 14px;
  font-weight: 600;
  color: var(--lb-text);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.pk-kurumOzet::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--lb-accent);
  box-shadow: 0 0 0 3px var(--lb-accent-soft);
  flex-shrink: 0;
}

.pk-fotoKurum {
  min-width: 0;
}

.pk-fotoKutu {
  position: relative;
  width: 250px;
  height: 310px;
  flex-shrink: 0;
  margin-left: 89px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid var(--lb-border);
  background: #fff;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
  align-self: center;
}

.pk-fotoBuyuk {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.pk-fotoDuzenle {
  position: absolute;
  bottom: 14px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--lb-accent);
  color: #fff;
  border: none;
  border-radius: 999px;
  padding: 8px 20px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  backdrop-filter: blur(8px);
  white-space: nowrap;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.pk-fotoDuzenle:hover {
  opacity: 0.92;
}

.pk-fotoGizli {
  display: none;
}

.pk-kurumsalListe {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
  max-width: 520px;
}

.pk-error {
  margin-top: 14px;
  color: var(--lb-danger-fg);
  background: var(--lb-danger-soft);
  border: 1px solid rgba(212, 72, 70, 0.35);
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 13px;
}

.pk-ok {
  margin-top: 14px;
  color: var(--lb-success);
  background: var(--lb-success-soft);
  border: 1px solid rgba(0, 154, 98, 0.35);
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 13px;
}

.pk-button {
  margin-top: 24px;
  background: var(--lb-gradient);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 13px 28px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  align-self: flex-start;
  min-width: 220px;
}

.pk-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.pk-backLink {
  display: inline-block;
  margin-top: 18px;
  color: var(--lb-accent);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}

.pk-backLink:hover {
  text-decoration: underline;
}

@media (max-width: 960px) {
  .pk-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .pk-grid {
    grid-template-columns: 1fr;
  }
}



















/* ---- app/panel/organizasyon/organizasyon.module.css  (onek: .og-*) ---- */
.og-islemler {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  gap: 20px;
  align-items: start;
  margin-bottom: 32px;
}

.og-header {
  margin-bottom: 24px;
}

.og-title {
  color: var(--lb-text);
  font-size: 24px;
}

.og-muted {
  color: var(--lb-text-3);
  font-size: 14px;
  margin-top: 6px;
}

.og-sema {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 32px;
  align-items: flex-start;
  justify-content: center;
}

.og-semaBirim {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 150px;
  align-items: center;
  position: relative;
}

.og-semaKutu {
  background: var(--lb-gradient);
  color: #fff;
  border-radius: 8px;
  padding: 6px 10px;
  box-shadow: 0 4px 12px -6px var(--lb-accent);
  position: relative;
  z-index: 1;
}

/* Kutu → çocuk arası dikey bağlantı hattı */
.og-semaKutu:has(+ .og-semaCocuk)::after,
.og-semaKutu:has(+ .og-semaPoziKolon)::after,
.og-semaPoz:has(+ .og-semaPoziKolon)::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: 2px;
  height: 6px;
  background: linear-gradient(
    to bottom,
    var(--lb-accent),
    var(--lb-accent-light)
  );
  transform: translateX(-50%);
  z-index: 0;
}

/* Hattın ucunda ok işareti */
.og-semaKutu:has(+ .og-semaCocuk)::before,
.og-semaKutu:has(+ .og-semaPoziKolon)::before,
.og-semaPoz:has(+ .og-semaPoziKolon)::before {
  content: "";
  position: absolute;
  top: calc(100% + 5px);
  left: 50%;
  transform: translateX(-50%);
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 6px solid var(--lb-accent-light);
  z-index: 0;
}

/* Çocuk kapsayıcı: üstteki yatay bağlantı hattı */
.og-semaCocuk,
.og-semaPoziKolon {
  position: relative;
  padding-top: 24px;
}

.og-semaCocuk::before,
.og-semaPoziKolon::before {
  content: "";
  position: absolute;
  top: 0;
  left: 8px;
  right: 8px;
  height: 2px;
  background: linear-gradient(
    to right,
    var(--lb-accent-light),
    var(--lb-accent),
    var(--lb-accent-light)
  );
  z-index: 0;
}

.og-semaCocuk {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 24px 20px;
}

.og-semaPoziKolon {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 24px 20px;
}

/* Çocuk kutuların üstünden yukarı bağlantı hattı */
.og-semaCocuk > :is(.og-semaBirim, .og-semaPoz),
.og-semaPoziKolon > :is(.og-semaBirim, .og-semaPoz) {
  position: relative;
}

.og-semaCocuk > :is(.og-semaBirim, .og-semaPoz)::before,
.og-semaPoziKolon > :is(.og-semaBirim, .og-semaPoz)::before {
  content: "";
  position: absolute;
  top: -24px;
  left: 50%;
  width: 2px;
  height: 24px;
  background: linear-gradient(
    to bottom,
    var(--lb-accent-light),
    var(--lb-accent)
  );
  transform: translateX(-50%);
  z-index: 0;
}

/* Çocuk kutuların kendisi arka planda kalsın */
.og-semaCocuk > .og-semaBirim .og-semaKutu,
.og-semaCocuk > .og-semaPoz,
.og-semaPoziKolon > .og-semaBirim .og-semaPoz,
.og-semaPoziKolon > .og-semaPoz {
  z-index: 1;
  position: relative;
}

.og-semaKutu strong {
  display: block;
  font-size: 12px;
  font-weight: 700;
}

.og-semaKutu em {
  display: block;
  font-style: normal;
  font-size: 10px;
  opacity: 0.8;
  margin-top: 1px;
}

.og-semaKutu.og-alt {
  background: linear-gradient(90deg, #536ee0 0%, #07b5d4 100%);
}

.og-semaKutu.og-bolum {
  background: var(--lb-surface);
  color: var(--lb-text);
  border: 1px solid var(--lb-accent);
  box-shadow: none;
}

.og-semaKutu.og-bolum em {
  color: var(--lb-accent);
}

.og-semaKutu.og-altBirim {
  background: transparent;
  color: var(--lb-text);
  border: 1px solid var(--lb-border-strong);
  border-left: 3px solid var(--lb-accent-light);
  box-shadow: none;
}

.og-semaKutu.og-altBirim em {
  color: var(--lb-text-3);
}

.og-semaPoz {
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-border);
  border-radius: 6px;
  padding: 4px 8px;
  font-size: 11px;
  color: var(--lb-text);
}

.og-semaPoz em {
  color: var(--lb-text-3);
  font-style: normal;
  font-size: 9px;
  margin-left: 4px;
}

.og-semaKisi {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px;
  margin-top: 4px;
}

.og-semaKisiItem {
  background: var(--lb-accent-soft);
  color: var(--lb-accent);
  border: 1px solid rgba(83, 110, 224, 0.25);
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 10px;
  font-weight: 600;
  white-space: nowrap;
}

.og-semaPoz .og-semaKisi {
  margin-top: 3px;
}

.og-semaPoz .og-semaKisiItem {
  font-size: 9.5px;
  padding: 1px 6px;
}

.og-kart {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  padding: 20px;
  box-shadow: var(--lb-shadow);
}

.og-kart h2 {
  color: var(--lb-text);
  font-size: 16px;
  margin-bottom: 14px;
}

.og-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.og-formRow {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.og-formRow input,
.og-formRow select {
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-border);
  border-radius: 8px;
  color: var(--lb-text);
  padding: 10px 12px;
  font-size: 14px;
  font-family: inherit;
  outline: none;
  flex: 1;
  min-width: 140px;
}

.og-formRow input:focus,
.og-formRow select:focus {
  border-color: var(--lb-accent);
}

.og-btn {
  background: var(--lb-gradient);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 10px 18px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: opacity 0.15s;
}

.og-btn:hover {
  opacity: 0.9;
}

.og-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.og-error {
  margin-top: 10px;
  color: var(--lb-danger-fg);
  background: var(--lb-danger-soft);
  border: 1px solid rgba(212, 72, 70, 0.35);
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 13px;
}

.og-ok {
  margin-top: 10px;
  color: var(--lb-success);
  background: var(--lb-success-soft);
  border: 1px solid rgba(0, 154, 98, 0.35);
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 13px;
}

.og-miniListe {
  list-style: none;
  margin-top: 14px;
  border-top: 1px solid var(--lb-border);
  padding-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.og-miniListe li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 14px;
  color: var(--lb-text);
}

.og-miniListe li:nth-child(odd) {
  background: var(--lb-surface-2);
}

.og-miniListe li em {
  color: var(--lb-text-3);
  font-style: normal;
  font-size: 12px;
}

.og-silBtn {
  background: none;
  border: 1px solid var(--lb-border-strong);
  color: var(--lb-danger);
  border-radius: 8px;
  padding: 4px 10px;
  font-size: 12px;
  cursor: pointer;
  transition: border-color 0.15s, color 0.15s;
}

.og-silBtn:hover {
  border-color: var(--lb-danger);
}

.og-kartListeBaslik {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.og-kartListeBilgi {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.og-kartListeAksiyon {
  display: flex;
  align-items: center;
  gap: 8px;
}

.og-kartListeSatir form {
  margin-top: 12px;
}

.og-aramaKutusu {
  margin-bottom: 16px;
}

.og-aramaKutusu input {
  width: 100%;
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-border);
  border-radius: 8px;
  color: var(--lb-text);
  padding: 8px 12px;
  font-size: 12px;
  font-family: inherit;
  outline: none;
}

.og-aramaKutusu input:focus {
  border-color: var(--lb-accent);
}

.og-ekleKutusu {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  padding: 16px;
  margin-bottom: 20px;
  box-shadow: var(--lb-shadow);
}

.og-ekleKutusu h2 {
  color: var(--lb-text);
  font-size: 14px;
  margin-bottom: 12px;
}

/* Pozisyonlar listesi: daha küçük yazılar */
.og-kartListeSatir {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  padding: 10px 14px;
  margin-bottom: 8px;
  box-shadow: var(--lb-shadow);
}

.og-kartListeSatir.og-pasif {
  background: var(--lb-surface-2);
  opacity: 0.6;
  filter: grayscale(0.6);
}

.og-kartListeSatir.og-pasif strong {
  color: var(--lb-text-3);
}

.og-btnAktifEt {
  background: linear-gradient(135deg, #0e9f4d, #2ec96e);
  color: #fff;
  padding: 6px 12px;
  border-radius: 8px;
  border: none;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(14, 159, 77, 0.35);
}

.og-btnAktifEt:hover {
  filter: brightness(1.1);
}

.og-btnAktifEt:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.og-grupBaslik {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: var(--lb-text-3);
  margin: 14px 0 6px;
}

.og-modalOverlay {
  position: fixed;
  inset: 0;
  z-index: 100;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(3px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.og-modal {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: 14px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
  max-width: 420px;
  width: 100%;
  padding: 22px 24px;
}

.og-modalBaslik {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 10px;
}

.og-modalMetin {
  font-size: 13px;
  line-height: 1.55;
  color: var(--lb-text-2);
  margin: 0 0 18px;
}

.og-modalButtons {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.og-kartListeBilgi strong {
  color: var(--lb-text);
  font-size: 13px;
}

.og-kartListeBilgi .og-muted {
  font-size: 11px;
}

.og-kartListeSatir .og-formRow input,
.og-kartListeSatir .og-formRow select {
  font-size: 12px;
  padding: 7px 10px;
}

.og-kartListeSatir .og-btn {
  font-size: 12px;
  padding: 6px 12px;
}

/* ---- app/panel/tanimlar/tanimlar.module.css  (onek: .tn-*) ---- */
.tn-wrap {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.tn-header {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.tn-title {
  font-size: 22px;
  font-weight: 700;
  margin: 0;
  color: var(--lb-text);
}

.tn-muted {
  color: var(--lb-text-2);
  font-size: 13px;
  margin: 0;
}

.tn-ekleKutusu {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: 12px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tn-ekleKutusu h2 {
  font-size: 15px;
  font-weight: 600;
  margin: 0;
}

.tn-form {
  display: flex;
  gap: 10px;
}

.tn-form input {
  flex: 1;
  padding: 9px 12px;
  border: 1px solid var(--lb-border-strong);
  border-radius: 9px;
  font-size: 14px;
  background: var(--lb-bg);
  color: var(--lb-text);
}

.tn-form input:focus {
  outline: none;
  border-color: var(--lb-accent);
  box-shadow: 0 0 0 3px rgba(83, 110, 224, 0.15);
}

.tn-btn {
  background: linear-gradient(135deg, var(--lb-accent-dark, #3f5bd6), var(--lb-accent));
  color: #fff;
  border: none;
  padding: 9px 18px;
  border-radius: 9px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(83, 110, 224, 0.3);
}

.tn-btn:hover {
  filter: brightness(1.08);
}

.tn-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.tn-ok {
  color: #0e9f4d;
  font-size: 13px;
  font-weight: 500;
  margin: 0;
}

.tn-error {
  color: #d93025;
  font-size: 13px;
  font-weight: 500;
  margin: 0;
}

.tn-liste {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tn-satir {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: 10px;
  padding: 11px 14px;
}

.tn-satir strong {
  font-size: 14px;
  color: var(--lb-text);
}

.tn-satir br {
  display: none;
}

.tn-satirAd {
  font-size: 14px;
  color: var(--lb-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tn-satirAksiyon {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

.tn-duzenleForm {
  display: flex;
  gap: 8px;
  flex: 1;
  align-items: center;
}

.tn-duzenleForm input {
  flex: 1;
  padding: 7px 12px;
  border: 1px solid var(--lb-border-strong);
  border-radius: 8px;
  font-size: 14px;
  background: var(--lb-bg);
  color: var(--lb-text);
  min-width: 0;
}

.tn-duzenleForm input:focus {
  outline: none;
  border-color: var(--lb-accent);
  box-shadow: 0 0 0 3px rgba(83, 110, 224, 0.15);
}

.tn-btnDanger {
  background: rgba(217, 48, 37, 0.1);
  color: #d93025;
  border: 1px solid rgba(217, 48, 37, 0.35);
  padding: 6px 13px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}

.tn-btnDanger:hover {
  background: rgba(217, 48, 37, 0.18);
}

.tn-btnDanger:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.tn-btnGhost {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border-strong);
  color: var(--lb-text-2);
  padding: 7px 14px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}

.tn-btnGhost:hover {
  color: var(--lb-text);
  border-color: var(--lb-accent);
}

.tn-modalOverlay {
  position: fixed;
  inset: 0;
  background: rgba(10, 14, 26, 0.55);
  backdrop-filter: blur(2px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.tn-modal {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border-strong);
  border-radius: 14px;
  padding: 22px 24px;
  max-width: 420px;
  width: 100%;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
}

.tn-modalBaslik {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 10px;
  color: var(--lb-text);
}

.tn-modalMetin {
  font-size: 14px;
  color: var(--lb-text-2);
  line-height: 1.5;
  margin: 0 0 18px;
}

.tn-modalButtons {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

/* ---- app/panel/tanimlar/kalem-tanimlar.module.css  (onek: .kt-*) ---- */
.kt-wrap {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.kt-header {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.kt-title {
  font-size: 24px;
  font-weight: 800;
  margin: 0;
  color: var(--lb-text);
  letter-spacing: -0.01em;
}

.kt-muted {
  color: var(--lb-text-2);
  font-size: 13px;
  margin: 0;
  line-height: 1.5;
}

.kt-mutedKucuk {
  color: var(--lb-text-2);
  font-size: 13px;
  margin: 0;
}

.kt-success {
  color: var(--lb-success);
  font-size: 13px;
  font-weight: 500;
  margin: 0;
}

.kt-bildirim {
  display: flex;
}

.kt-bildirim p {
  margin: 0;
}

.kt-ok {
  color: var(--lb-success, #0e9f4d);
  font-size: 13px;
  font-weight: 500;
}

.kt-error {
  color: var(--lb-danger, #d93025);
  font-size: 13px;
  font-weight: 500;
}

.kt-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.kt-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: 14px;
  padding: 16px 18px;
  box-shadow: var(--lb-shadow);
}

.kt-statAd {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--lb-text-3);
}

.kt-statSayi {
  font-size: 26px;
  font-weight: 800;
  color: var(--lb-accent);
  line-height: 1.1;
}

.kt-kart {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: 14px;
  box-shadow: var(--lb-shadow);
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.kt-kartBaslik {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--lb-border);
}

.kt-kartBaslikAd {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 4px;
  color: var(--lb-text);
}

.kt-grupSayi {
  background: var(--lb-accent-soft, rgba(83, 110, 224, 0.12));
  color: var(--lb-accent);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 12px;
  white-space: nowrap;
}

.kt-ekleBaslik {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--lb-text-3);
}

.kt-ekleKutusu {
  background: var(--lb-bg);
  border: 1px dashed var(--lb-border-strong);
  border-radius: 12px;
  padding: 14px;
}

.kt-form {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.kt-alan {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}

.kt-alanEtiket {
  font-size: 11px;
  font-weight: 700;
  color: var(--lb-text-3);
  letter-spacing: 0.03em;
}

.kt-alan:has(.kt-adInput) {
  flex: 1;
  min-width: 180px;
}

.kt-alan:has(.kt-tutarInput) {
  width: 130px;
}

.kt-form input {
  padding: 8px 12px;
  border: 1px solid var(--lb-border-strong);
  border-radius: 9px;
  font-size: 13px;
  background: var(--lb-surface);
  color: var(--lb-text);
  width: 100%;
  box-sizing: border-box;
}

.kt-form input:focus {
  outline: none;
  border-color: var(--lb-accent);
  box-shadow: 0 0 0 3px rgba(83, 110, 224, 0.15);
}

.kt-brutNet {
  display: flex;
  gap: 6px;
  align-items: stretch;
}

.kt-radyo {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  border: 1px solid var(--lb-border-strong);
  border-radius: 9px;
  padding: 7px 12px;
  font-size: 13px;
  color: var(--lb-text-2);
  background: var(--lb-surface);
  transition: border-color 0.15s, color 0.15s, background 0.15s;
  height: 34px;
  box-sizing: border-box;
}

.kt-radyo input {
  margin: 0;
  width: auto;
  accent-color: var(--lb-accent);
}

.kt-radyo:has(input:checked) {
  border-color: var(--lb-accent);
  color: #fff;
  background: linear-gradient(135deg, var(--lb-accent), var(--lb-accent-dark));
  font-weight: 600;
}

.kt-btnEkle,
.kt-btnKaydet {
  background: linear-gradient(135deg, var(--lb-accent-dark, #3f5bd6), var(--lb-accent));
  color: #fff;
  border: none;
  padding: 9px 18px;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 4px 12px -4px rgba(83, 110, 224, 0.5);
  white-space: nowrap;
  height: 34px;
}

.kt-btnEkle:hover:not(:disabled),
.kt-btnKaydet:hover:not(:disabled) {
  filter: brightness(1.08);
}

.kt-btnEkle:disabled,
.kt-btnKaydet:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.kt-liste {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.kt-satir {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--lb-bg);
  border: 1px solid var(--lb-border);
  border-radius: 12px;
  padding: 12px 14px;
  gap: 12px;
  flex-wrap: wrap;
  transition: border-color 0.15s;
}

.kt-satir:hover {
  border-color: var(--lb-border-strong);
}

.kt-duzenliyor {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.kt-duzenliyorIpcik {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--lb-accent);
}

.kt-duzenliyor .kt-form {
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-border);
  border-radius: 10px;
  padding: 12px;
}

.kt-satirBilgi {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
  flex: 1;
}

.kt-satirAd {
  font-size: 14px;
  font-weight: 700;
  color: var(--lb-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kt-kucuk {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.kt-rozet {
  background: var(--lb-accent-soft, rgba(83, 110, 224, 0.12));
  color: var(--lb-accent-dark);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
}

.kt-rozetTur {
  color: var(--lb-text-3);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.kt-tutarMetin {
  color: var(--lb-text);
  font-size: 13px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.kt-tarihMetin {
  color: var(--lb-text-3);
  font-size: 12px;
}

.kt-satirAksiyon {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

.kt-btnGhost {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border-strong);
  color: var(--lb-text-2);
  padding: 7px 14px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
  transition: color 0.15s, border-color 0.15s;
}

.kt-btnGhost:hover {
  color: var(--lb-text);
  border-color: var(--lb-accent);
}

.kt-btnVazgec {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border-strong);
  color: var(--lb-text-2);
  padding: 0 14px;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
  height: 34px;
}

.kt-btnVazgec:hover:not(:disabled) {
  color: var(--lb-text);
  border-color: var(--lb-accent);
}

.kt-btnVazgec:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.kt-btnDanger {
  background: rgba(217, 48, 37, 0.1);
  color: var(--lb-danger, #d93025);
  border: 1px solid rgba(217, 48, 37, 0.35);
  padding: 6px 13px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s;
}

.kt-btnDanger:hover:not(:disabled) {
  background: rgba(217, 48, 37, 0.18);
}

.kt-btnDanger:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.kt-modalOverlay {
  position: fixed;
  inset: 0;
  background: rgba(10, 14, 26, 0.55);
  backdrop-filter: blur(2px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.kt-modal {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border-strong);
  border-radius: 14px;
  padding: 22px 24px;
  max-width: 420px;
  width: 100%;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
}

.kt-modalBaslik {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 10px;
  color: var(--lb-text);
}

.kt-modalMetin {
  font-size: 14px;
  color: var(--lb-text-2);
  line-height: 1.5;
  margin: 0 0 18px;
}

.kt-modalButtons {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

/* tabi-oldugu.tsx */
.kt-grup {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.kt-grupBaslik {
  font-size: 15px;
  font-weight: 700;
  margin: 0;
  color: var(--lb-text);
}

.kt-tabiSatir {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  min-width: 0;
}

.kt-tabiSatir input {
  width: 17px;
  height: 17px;
  accent-color: var(--lb-accent);
  cursor: pointer;
  flex-shrink: 0;
}

.kt-tabiSatir:has(input:disabled) {
  opacity: 0.6;
  cursor: wait;
}

.kt-satirDetay {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-left: auto;
}

.kt-bosYazi {
  color: var(--lb-text-3);
  font-size: 13px;
  padding: 8px 0;
  margin: 0;
}

@media (max-width: 900px) {
  .kt-form {
    flex-direction: column;
    align-items: stretch;
  }

  .kt-alan,
  .kt-alan:has(.kt-adInput) {
    width: 100%;
    min-width: 0;
  }

  .kt-brutNet {
    justify-content: flex-start;
  }
}

/* ---- app/panel/bordro/bordro.module.css  (onek: .bd-*) ---- */
.bd-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  gap: 16px;
  flex-wrap: wrap;
}

.bd-title {
  color: var(--lb-text);
  font-size: 24px;
  letter-spacing: -0.02em;
}

.bd-toolbar {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.bd-btnPrimary {
  background: linear-gradient(135deg, var(--lb-accent), var(--lb-accent-dark));
  color: var(--lb-accent-fg);
  padding: 10px 18px;
  border-radius: var(--lb-radius-sm);
  font-size: 14px;
  font-weight: 600;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 14px -6px var(--lb-accent);
  transition: opacity 0.15s ease, transform 0.1s ease;
}

.bd-btnPrimary:hover {
  opacity: 0.9;
}

.bd-btnSecondary {
  background: var(--lb-surface);
  color: var(--lb-text);
  padding: 10px 18px;
  border-radius: var(--lb-radius-sm);
  font-size: 14px;
  font-weight: 600;
  border: 1px solid var(--lb-border);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.bd-btnSecondary:hover {
  border-color: var(--lb-border-strong);
  background: var(--lb-surface-3);
}

.bd-link {
  color: var(--lb-accent);
  font-weight: 600;
  font-size: 14px;
}

.bd-link:hover {
  text-decoration: underline;
}

.bd-empty {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  padding: 40px;
  text-align: center;
  color: var(--lb-text-3);
}

.bd-tableWrap {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  box-shadow: var(--lb-shadow);
  overflow: hidden;
  overflow-x: auto;
}

.bd-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  color: var(--lb-text);
}

.bd-table th,
.bd-table td {
  text-align: left;
  padding: 13px 16px;
  border-bottom: 1px solid var(--lb-border);
  white-space: nowrap;
}

.bd-table th {
  background: var(--lb-surface-2);
  color: var(--lb-text-3);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
}

.bd-table tbody tr:last-child td {
  border-bottom: none;
}

.bd-table tbody tr:hover td {
  background: var(--lb-surface-3);
}

.bd-tfoot td {
  background: var(--lb-surface-2);
  font-weight: 700;
  border-top: 1px solid var(--lb-border-strong);
}

.bd-net {
  color: var(--lb-accent);
  font-weight: 700;
}

.bd-cardGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}

.bd-card {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  box-shadow: var(--lb-shadow);
  padding: 18px;
}

.bd-cardLabel {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--lb-text-3);
  margin-bottom: 6px;
}

.bd-cardValue {
  font-size: 22px;
  font-weight: 700;
  color: var(--lb-text);
  letter-spacing: -0.02em;
}

.bd-notice {
  background: var(--lb-accent-soft);
  border: 1px solid var(--lb-accent);
  color: var(--lb-accent-dark);
  border-radius: var(--lb-radius-sm);
  padding: 12px 16px;
  font-size: 14px;
  margin-bottom: 20px;
}

/* ---- app/panel/bordro/bordro-hesapla-form.module.css  (onek: .bf-*) ---- */
.bf-form {
  display: flex;
  gap: 20px;
  align-items: flex-end;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  padding: 16px;
  box-shadow: var(--lb-shadow);
}

.bf-row {
  display: flex;
  gap: 12px;
}

.bf-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.bf-field label {
  color: var(--lb-text-2);
  font-size: 12px;
  font-weight: 600;
}

.bf-field select {
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-border);
  border-radius: 8px;
  color: var(--lb-text);
  padding: 10px 12px;
  font-size: 14px;
  font-family: inherit;
  outline: none;
}

.bf-field select:focus {
  border-color: var(--lb-accent);
}

.bf-error,
.bf-ok {
  font-size: 13px;
  padding: 10px 12px;
  border-radius: 8px;
}

.bf-error {
  color: var(--lb-danger-fg);
  background: var(--lb-danger-soft);
  border: 1px solid rgba(212, 72, 70, 0.35);
}

.bf-ok {
  color: var(--lb-success);
  background: var(--lb-success-soft);
  border: 1px solid rgba(0, 154, 98, 0.35);
}

.bf-button {
  background: var(--lb-gradient);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 11px 18px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}

.bf-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* ---- app/panel/parametreler/parametreler.module.css  (onek: .pr-*) ---- */
.pr-title {
  color: var(--lb-text);
  font-size: 24px;
  margin-bottom: 24px;
}

.pr-card {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: var(--lb-shadow);
}

.pr-cardHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  color: var(--lb-text);
  font-size: 16px;
}

.pr-badgeOk {
  background: var(--lb-success-soft);
  color: var(--lb-success);
  padding: 4px 10px;
  border-radius: 99px;
  font-size: 12px;
  font-weight: 600;
}

.pr-badgeBad {
  background: var(--lb-danger-soft);
  color: var(--lb-danger);
  padding: 4px 10px;
  border-radius: 99px;
  font-size: 12px;
  font-weight: 600;
}

.pr-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.pr-table th,
.pr-table td {
  text-align: left;
  padding: 10px 12px;
  border-bottom: 1px solid var(--lb-border);
}

.pr-table th {
  color: var(--lb-text-3);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.pr-table tbody tr:last-child td {
  border-bottom: none;
}

.pr-kod {
  font-family: "Consolas", monospace;
  color: var(--lb-accent-dark);
  font-weight: 600;
}

.pr-muted {
  color: var(--lb-text-3);
  font-size: 13px;
}

.pr-degerInput {
  width: 200px;
  padding: 7px 10px;
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius-sm);
  background: var(--lb-surface-3);
  color: var(--lb-text);
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}

.pr-degerInput:focus {
  outline: none;
  border-color: var(--lb-accent);
}

.pr-saveBtn {
  margin-top: 12px;
  background: var(--lb-accent);
  color: var(--lb-accent-fg);
  padding: 9px 16px;
  border: none;
  border-radius: var(--lb-radius-sm);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.15s ease;
}

.pr-saveBtn:hover {
  opacity: 0.9;
}

.pr-saveBtn:disabled {
  opacity: 0.6;
  cursor: default;
}

.pr-error {
  margin-top: 10px;
  color: var(--lb-danger);
  font-size: 14px;
}

.pr-ok {
  margin-top: 10px;
  color: var(--lb-success);
  font-size: 14px;
}

.pr-notice {
  background: var(--lb-surface);
  border: 1px solid var(--lb-accent);
  border-left: 4px solid var(--lb-accent);
  color: var(--lb-text);
  border-radius: var(--lb-radius-sm);
  padding: 12px 16px;
  font-size: 14px;
  margin-bottom: 20px;
  line-height: 1.6;
}

.pr-donemForm {
  background: var(--lb-surface);
  border: 1px dashed var(--lb-accent);
  border-radius: var(--lb-radius);
  padding: 16px;
  margin-bottom: 20px;
}

.pr-btnPrimary {
  background: linear-gradient(135deg, var(--lb-accent), var(--lb-accent-dark));
  color: var(--lb-accent-fg);
  padding: 10px 18px;
  border-radius: var(--lb-radius-sm);
  font-size: 14px;
  font-weight: 600;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 14px -6px var(--lb-accent);
  transition: opacity 0.15s ease;
}

.pr-btnPrimary:hover {
  opacity: 0.9;
}

.pr-btnPrimary:disabled {
  opacity: 0.6;
  cursor: default;
}

.pr-donemAciklama {
  margin: 10px 0 0;
  color: var(--lb-text-3);
  font-size: 13px;
  line-height: 1.5;
}

.pr-altBaslik {
  font-size: 18px;
  color: var(--lb-text);
  margin: 28px 0 14px;
}

.pr-emptyBox {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  padding: 30px;
  text-align: center;
  color: var(--lb-text-3);
}

.pr-badgeYil {
  display: inline-block;
  margin-left: 10px;
  background: var(--lb-surface-3);
  border: 1px solid var(--lb-border);
  color: var(--lb-text-3);
  padding: 3px 10px;
  border-radius: 99px;
  font-size: 12px;
  font-weight: 600;
}

.pr-cekForm {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  margin-bottom: 4px;
}

.pr-cekForm label {
  font-size: 13px;
  font-weight: 600;
  color: var(--lb-muted, #666);
}

.pr-cekSecim {
  padding: 7px 12px;
  border: 1px solid var(--lb-border, #d7dbe3);
  border-radius: var(--lb-radius-sm, 6px);
  font-size: 14px;
  font-family: inherit;
  background: #fff;
  min-width: 110px;
}

.pr-silForm {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.pr-silBtn {
  background: transparent;
  border: 1px solid var(--lb-danger, #c33);
  color: var(--lb-danger, #c33);
  padding: 5px 12px;
  border-radius: var(--lb-radius-sm, 6px);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease;
}

.pr-silBtn:hover {
  background: rgba(204, 51, 51, 0.1);
}

.pr-silBtn:disabled {
  opacity: 0.5;
  cursor: default;
}

/* ---- app/panel/puantajlar/puantaj.module.css  (onek: .pu-*) ---- */
.pu-title {
  color: var(--lb-text);
  font-size: 24px;
  margin-bottom: 20px;
}

.pu-ustBar {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.pu-donemForm {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  flex-wrap: wrap;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  box-shadow: var(--lb-shadow);
  padding: 14px;
}

.pu-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.pu-field label {
  color: var(--lb-text-2);
  font-size: 12px;
  font-weight: 600;
}

.pu-field select {
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-border);
  border-radius: 8px;
  color: var(--lb-text);
  padding: 9px 12px;
  font-size: 14px;
  font-family: inherit;
  outline: none;
  cursor: pointer;
  min-width: 110px;
}

.pu-field select:focus {
  border-color: var(--lb-accent);
}

.pu-btnBirincil {
  background: linear-gradient(135deg, var(--lb-accent), var(--lb-accent-dark));
  color: var(--lb-accent-fg);
  padding: 10px 18px;
  border: none;
  border-radius: var(--lb-radius-sm);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 4px 14px -6px var(--lb-accent);
  transition: opacity 0.15s ease;
}

.pu-btnBirincil:hover {
  opacity: 0.9;
}

.pu-bilgi {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  padding: 12px 16px;
  box-shadow: var(--lb-shadow);
  font-size: 14px;
  color: var(--lb-text-2);
}

.pu-bilgi a {
  color: var(--lb-accent);
  font-weight: 600;
}

.pu-bilgi a:hover {
  text-decoration: underline;
}

.pu-uyari {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  padding: 30px;
  text-align: center;
  color: var(--lb-text-2);
  line-height: 1.7;
}

.pu-uyari a {
  color: var(--lb-accent);
  font-weight: 600;
}

.pu-calismaAlert {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 18px;
  border-radius: 16px;
  background: linear-gradient(
    135deg,
    var(--lb-accent-soft),
    rgba(83, 110, 224, 0.06)
  );
  border: 1px solid rgba(83, 110, 224, 0.35);
  box-shadow: 0 10px 30px -12px rgba(83, 110, 224, 0.45);
  min-width: 320px;
  flex: 1;
  position: relative;
  overflow: hidden;
  animation: calismaAlertGiris 0.35s ease both;
}

.pu-calismaAlert::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    120deg,
    transparent 30%,
    rgba(255, 255, 255, 0.35) 50%,
    transparent 70%
  );
  transform: translateX(-100%);
  animation: calismaAlertParla 2.4s ease 0.35s infinite;
}

.pu-calismaAlertIkon {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, var(--lb-accent), var(--lb-accent-dark));
  box-shadow: 0 6px 16px -6px var(--lb-accent);
}

.pu-calismaAlertGovde {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-top: 1px;
}

.pu-calismaAlertBaslik {
  font-size: 14px;
  font-weight: 700;
  color: var(--lb-accent-dark);
  line-height: 1.5;
}

.pu-calismaAlertMetin {
  font-size: 13px;
  color: var(--lb-text-2);
  line-height: 1.6;
}

@keyframes calismaAlertGiris {
  from {
    opacity: 0;
    transform: translateY(-8px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes calismaAlertParla {
  0% {
    transform: translateX(-100%);
  }
  60%,
  100% {
    transform: translateX(100%);
  }
}

.pu-tabloSar {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  box-shadow: var(--lb-shadow);
  overflow: hidden;
  overflow-x: auto;
}

.pu-tablo {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  color: var(--lb-text);
}

.pu-tablo th,
.pu-tablo td {
  text-align: left;
  padding: 9px 12px;
  border-bottom: 1px solid var(--lb-border);
  white-space: nowrap;
}

.pu-bosSatir {
  background: var(--lb-surface);
}

.pu-bosHuc {
  text-align: center !important;
  padding: 28px !important;
  color: var(--lb-text-3);
  white-space: normal !important;
}

.pu-filtreSatiri th {
  background: var(--lb-surface);
  padding: 6px 8px;
  border-bottom: 1px solid var(--lb-border);
}

.pu-filtreSatiri input[type="text"] {
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-border);
  border-radius: 6px;
  color: var(--lb-text);
  padding: 4px 8px;
  font-size: 12px;
  font-family: inherit;
  outline: none;
  width: 100%;
  min-width: 70px;
  box-sizing: border-box;
}

.pu-filtreSatiri input[type="text"]:focus {
  border-color: var(--lb-accent);
}

.pu-tablo th {
  background: var(--lb-surface-2);
  color: var(--lb-text-3);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
}

.pu-tablo tbody tr:last-child td {
  border-bottom: none;
}

.pu-tablo tbody tr:hover td {
  background: var(--lb-surface-3);
}

.pu-tfoot td {
  background: var(--lb-surface-2);
  font-weight: 700;
  border-top: 1px solid var(--lb-border-strong);
  font-size: 12px;
}

.pu-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.pu-net {
  color: var(--lb-accent);
  font-weight: 700;
}

.pu-ad {
  font-weight: 600;
  color: var(--lb-text);
}

.pu-alt {
  color: var(--lb-text-3);
  font-size: 12px;
}

.pu-normalIle {
  color: var(--lb-text-2);
}

.pu-islemler {
  display: flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}

.pu-gozBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 1px solid var(--lb-border);
  border-radius: 8px;
  background: var(--lb-surface-2);
  color: var(--lb-accent);
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.pu-gozBtn:hover {
  background: var(--lb-accent);
  border-color: var(--lb-accent);
  color: var(--lb-accent-fg);
}

.pu-acBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 1px solid var(--lb-border);
  border-radius: 8px;
  background: var(--lb-surface-2);
  color: var(--lb-accent);
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  text-decoration: none;
}

.pu-acBtn:hover {
  background: var(--lb-accent);
  border-color: var(--lb-accent);
  color: var(--lb-accent-fg);
}

.pu-onayBtn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 600;
  padding: 0 9px;
  height: 30px;
  border: 1px solid var(--lb-border);
  border-radius: 8px;
  background: var(--lb-surface-2);
  color: var(--lb-success);
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.pu-onayBtn:hover:not(:disabled) {
  background: var(--lb-success);
  border-color: var(--lb-success);
  color: var(--lb-success-fg);
}

.pu-onayBtn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.pu-onayRozet {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  color: var(--lb-success);
  border: 1px solid var(--lb-success);
  border-radius: 999px;
  padding: 2px 9px;
  margin-left: 8px;
  vertical-align: middle;
}

.pu-silBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 1px solid var(--lb-border);
  border-radius: 8px;
  background: var(--lb-surface-2);
  color: var(--lb-danger, #e5484d);
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.pu-silBtn:hover:not(:disabled) {
  background: var(--lb-danger, #e5484d);
  border-color: var(--lb-danger, #e5484d);
  color: #fff;
}

.pu-silBtn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.pu-btnPasif {
  opacity: 0.4;
  pointer-events: none;
  cursor: not-allowed;
  color: var(--lb-text-3);
}

.pu-menuKatman {
  position: fixed;
  inset: 0;
  z-index: 900;
}

.pu-menu {
  position: fixed;
  min-width: 220px;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border-strong);
  border-radius: 14px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  animation: menuGiris 0.14s ease;
}

@keyframes menuGiris {
  from {
    opacity: 0;
    transform: translateY(-4px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.pu-menuBaslik {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 10px;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--lb-border);
  font-size: 12px;
}

.pu-menuBaslik strong {
  color: var(--lb-text);
  font-size: 13px;
}

.pu-menuBaslik span {
  color: var(--lb-text-3);
  font-size: 11px;
}

.pu-menuItem {
  display: block;
  width: 100%;
  padding: 9px 10px;
  border: none;
  border-radius: 9px;
  background: transparent;
  color: var(--lb-text);
  font-size: 13px;
  font-weight: 600;
  font-family: inherit;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.12s ease, color 0.12s ease;
}

.pu-menuItem:hover:not(:disabled) {
  background: var(--lb-accent-soft);
  color: var(--lb-accent-dark);
}

.pu-menuItem:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.pu-menuDanger {
  color: var(--lb-danger, #d44846);
}

.pu-menuDanger:hover:not(:disabled) {
  background: var(--lb-danger-soft, #fff2f8);
  color: var(--lb-danger, #d44846);
}

.pu-menu .pu-btnPasif {
  opacity: 0.4;
}

.pu-overlay {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(10, 16, 32, 0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.pu-modal {
  background: var(--lb-bg);
  border: 1px solid var(--lb-border);
  border-radius: 18px;
  width: min(760px, 100%);
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 24px 70px -18px rgba(10, 16, 32, 0.55);
}

.pu-modalBaslik {
  position: relative;
  padding: 20px 24px;
  background: var(--lb-gradient);
  color: #fff;
  border-radius: 18px 18px 0 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.pu-modalBaslikSol {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.pu-modalAvatar {
  flex-shrink: 0;
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.pu-modalBaslik h2 {
  font-size: 20px;
  margin: 0;
  letter-spacing: -0.01em;
}

.pu-modalAlt {
  margin: 4px 0 0;
  font-size: 12px;
  opacity: 0.85;
}

.pu-modalBaslikSag {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.pu-modalDonem {
  background: rgba(255, 255, 255, 0.18);
  padding: 6px 12px;
  border-radius: 99px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  margin-left: 0;
}

.pu-kapat {
  background: rgba(255, 255, 255, 0.18);
  border: none;
  color: #fff;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  transition: background 0.15s ease;
  flex-shrink: 0;
}

.pu-kapat:hover {
  background: rgba(255, 255, 255, 0.32);
}

.pu-modalGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}

.pu-kutu {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: 12px;
  padding: 12px 14px;
}

.pu-kutuEtiket {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--lb-text-3);
  margin-bottom: 6px;
  font-weight: 600;
}

.pu-kutuDeger {
  font-size: 15px;
  font-weight: 700;
  color: var(--lb-text);
  font-variant-numeric: tabular-nums;
}

.pu-kutuAlt {
  margin-top: 4px;
  font-size: 11px;
  color: var(--lb-text-3);
}

.pu-kutuOnemli {
  background: linear-gradient(135deg, var(--lb-accent), var(--lb-accent-dark));
  border-color: transparent;
}

.pu-kutuOnemli .pu-kutuEtiket {
  color: rgba(255, 255, 255, 0.75);
}

.pu-kutuOnemli .pu-kutuDeger {
  color: #fff;
}

.pu-modalGovde {
  padding: 18px 24px 22px;
}

.pu-modalBolum + .pu-modalBolum,
.pu-ozaNet + .pu-modalBolum,
.pu-ozaNet + .pu-paramBlok,
.pu-modalBolum + .pu-ozaNet {
  margin-top: 20px;
}

.pu-bolumBaslik {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--lb-text-2);
  margin-bottom: 10px;
}

.pu-bolumBaslik::before {
  content: "";
  width: 4px;
  height: 14px;
  border-radius: 2px;
  background: var(--lb-gradient);
}

.pu-paramBlok {
  margin: 20px 0 0;
  background: var(--lb-surface);
  border: 1px dashed var(--lb-border-strong);
  border-radius: 12px;
  padding: 14px 16px;
}

.pu-paramBlok h3 {
  margin: 0 0 10px;
  font-size: 13px;
  color: var(--lb-text-2);
}

.pu-paramBlok ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.pu-paramBlok li {
  font-size: 13px;
  color: var(--lb-text-2);
  line-height: 1.6;
}

.pu-paramBlok strong {
  color: var(--lb-text);
}

.pu-ozaNet {
  background: var(--lb-gradient);
  border-radius: 14px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  box-shadow: 0 12px 30px -14px rgba(83, 110, 224, 0.6);
}

.pu-ozaNetEtiket {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  opacity: 0.92;
}

.pu-ozaNetDeger {
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -0.01em;
}

.pu-ozaMaliyet {
  margin-top: 10px;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border-strong);
  border-radius: 14px;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  color: var(--lb-text-2);
}

.pu-ozaMaliyet strong {
  font-size: 18px;
  color: var(--lb-accent-dark);
}

/* ---- app/panel/puantajlar/person-modal.module.css  (onek: .pm-*) ---- */
.pm-acBtn {
  padding: 10px 18px;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 700;
  font-size: 13px;
  color: #fff;
  background: linear-gradient(135deg, var(--accent, #2563eb), var(--accent2, #1e40af));
  box-shadow: 0 6px 18px rgba(37, 99, 235, 0.35);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.pm-acBtn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(37, 99, 235, 0.45);
}

.pm-kapak {
  position: fixed;
  inset: 0;
  z-index: 1200;
  background: rgba(10, 14, 24, 0.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.pm-modal {
  width: 100%;
  max-width: min(1280px, 96vw);
  max-height: 88vh;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
  overflow: hidden;
  animation: pm-in 0.22s ease;
}

@keyframes pm-in {
  from {
    opacity: 0;
    transform: translateY(10px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.pm-ust {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 18px 12px;
}

.pm-baslik {
  font-size: 16px;
  font-weight: 800;
  color: #131a2a;
}

.pm-baslik span {
  color: #7a8498;
  font-weight: 600;
  font-size: 13px;
}

.pm-kapat {
  width: 30px;
  height: 30px;
  border: none;
  border-radius: 8px;
  background: #f1f3f7;
  color: #5a6478;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

.pm-kapat:hover {
  background: #e4e7ee;
  color: #131a2a;
}

.pm-arama {
  margin: 0 18px 12px;
  padding: 11px 14px;
  border: 1px solid #d9dee8;
  border-radius: 10px;
  font-size: 14px;
  outline: none;
  background: #f7f8fb;
}

.pm-arama:focus {
  border-color: var(--accent, #2563eb);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.pm-tabloSar {
  display: flex;
  flex-direction: column;
  padding: 0 18px 14px;
  overflow: auto;
}

.pm-tablo {
  border-collapse: collapse;
  width: max-content;
  min-width: 100%;
}

.pm-tablo th,
.pm-tablo td {
  padding: 9px 14px;
  text-align: left;
  white-space: nowrap;
  font-size: 12.5px;
  color: #3d465a;
  border-bottom: 1px solid #eef1f6;
}

.pm-tablo thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f4f6fa;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #5a6478;
  border-bottom: 1px solid #e3e7ef;
}

.pm-tablo tbody tr {
  cursor: pointer;
}

.pm-tablo tbody tr:hover {
  background: #eef3ff;
}

.pm-tdSicil {
  font-variant-numeric: tabular-nums;
  color: #7a8498 !important;
}

.pm-tdAd {
  font-size: 13.5px !important;
  font-weight: 700;
  color: #1c2437 !important;
}

.pm-bos {
  padding: 26px 12px;
  text-align: center;
  color: #9aa3b4;
  font-size: 13px;
}

/* ---- components/puantaj-karti/puantaj-karti.module.css  (onek: .kk-*) ---- */
.kk-sayfa {
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: 100%;
}

.kk-baslik {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  flex-wrap: wrap;
}

.kk-altBaslik {
  color: var(--lb-text-3);
  font-size: 13px;
  margin-top: 4px;
}

.kk-baslikSag {
  display: flex;
  justify-content: flex-end;
}

.kk-pdfBtn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border-strong);
  color: var(--lb-accent);
  padding: 9px 14px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.kk-pdfBtn:hover:not(:disabled) {
  background: var(--lb-accent);
  border-color: var(--lb-accent);
  color: var(--lb-accent-fg);
}

.kk-pdfBtn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.kk-pdfBtnSans {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border-strong);
  color: var(--lb-accent);
  padding: 9px 18px;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}

.kk-pdfBtnSans:hover:not(:disabled) {
  border-color: var(--lb-accent);
  background: var(--lb-accent-soft, rgba(83, 110, 224, 0.08));
}

.kk-pdfBtnSans:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ---- Kurum / kişi seçici ---- */

.kk-kurumKart {
  display: flex;
  align-items: center;
  gap: 20px 28px;
  flex-wrap: wrap;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  box-shadow: var(--lb-shadow);
  padding: 16px 20px;
}

.kk-kurumSol {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 0 1 auto;
  min-width: 220px;
}

.kk-kisiFotograf {
  width: 88px;
  height: 88px;
  object-fit: cover;
  object-position: top;
  border-radius: 50%;
  border: 2px solid var(--lb-border-strong);
  box-shadow: var(--lb-shadow);
  background: var(--lb-surface-2);
  flex: 0 0 auto;
}

.kk-kurumEtiket {
  font-size: 10px;
  letter-spacing: 0.1em;
  color: var(--lb-text-3);
  text-transform: uppercase;
  font-weight: 700;
}

.kk-kurumUnvan {
  font-size: 17px;
  font-weight: 700;
  color: var(--lb-text);
}

.kk-kurumBilgi {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
  font-size: 12px;
  color: var(--lb-text-3);
  margin-top: 6px;
}

.kk-kisiSec {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  flex: 0 0 auto;
  min-width: 240px;
  order: -1;
}

.kk-kisiSec .kk-pformLabel {
  align-items: flex-end;
}

.kk-kisiSec select {
  min-width: 240px;
}

.kk-seciliKisi {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  line-height: 1.3;
}

.kk-seciliKisi strong {
  font-size: 14px;
  color: var(--lb-text);
}

.kk-seciliEtiket {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--lb-text-3);
}

.kk-sicilTag {
  font-size: 12px;
  color: var(--lb-text-3);
}

.kk-kisiOz {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px 14px;
  flex: 1 1 380px;
  min-width: 0;
  align-content: center;
}

.kk-kisiAlan {
  display: flex;
  flex-direction: column;
  gap: 2px;
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: 10px;
  padding: 8px 12px;
  min-width: 0;
}

.kk-kisiEtiket {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--lb-text-3);
  font-weight: 700;
}

.kk-kisiAlan strong {
  font-size: 13px;
  color: var(--lb-text);
  word-break: break-word;
}

/* ---- Gün kartları ---- */

.kk-gunKartlari {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}

.kk-gunKart {
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-border);
  border-radius: 12px;
  padding: 12px 14px;
}

.kk-gunEtiket {
  font-size: 12px;
  font-weight: 600;
  color: var(--lb-text-2);
}

.kk-gunKart input {
  width: 100%;
  padding: 9px 0;
  border: none;
  background: transparent;
  color: var(--lb-text);
  font-size: 22px;
  font-weight: 700;
  outline: none;
}

.kk-gunKart input:focus {
  color: var(--lb-accent);
}

.kk-gunYardim {
  font-size: 11px;
  color: var(--lb-text-3);
  min-height: 15px;
}

/* ---- Sonuç kutuları ---- */

.kk-kutu {
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-border);
  border-radius: 10px;
  padding: 10px 12px;
  text-align: center;
}

.kk-kutuEtiket {
  font-size: 11px;
  color: var(--lb-text-3);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
}

.kk-kutuDeger {
  font-size: 15px;
  font-weight: 700;
  color: var(--lb-text);
}

.kk-kutuOnemli {
  background: var(--lb-gradient);
  border-color: transparent;
}

.kk-kutuOnemli .kk-kutuEtiket {
  color: rgba(255, 255, 255, 0.8);
}

.kk-kutuOnemli .kk-kutuDeger {
  color: #fff;
}

/* ---- Kalem sekmeleri ---- */

.kk-sekmeBaslik {
  font-size: 14px;
  font-weight: 700;
  color: var(--lb-text);
  margin: 0 0 12px;
}

.kk-kalemTablo {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.kk-kalemTablo th,
.kk-kalemTablo td {
  text-align: left;
  padding: 9px 12px;
  border-bottom: 1px solid var(--lb-border);
  white-space: nowrap;
}

.kk-kalemTablo th {
  background: var(--lb-surface-2);
  color: var(--lb-text-3);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.kk-kalemTablo tbody tr:last-child td {
  border-bottom: none;
}

.kk-satirInput {
  width: 180px;
  padding: 7px 9px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: var(--lb-text);
  font-size: 13px;
  outline: none;
  transition: border-color 0.15s, background 0.15s;
}

.kk-satirInput:hover {
  border-color: var(--lb-border-strong);
  background: var(--lb-surface);
}

.kk-satirInput:focus {
  border-color: var(--lb-accent);
  background: var(--lb-surface);
}

.kk-satirTutar {
  text-align: right;
  font-weight: 600;
  width: 130px;
}

/* ---- PDF modal ---- */

.kk-pdfOverlay {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(3px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.kk-pdfKutu {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: 14px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
  max-width: 860px;
  width: 100%;
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.kk-pdfToolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--lb-border);
  background: var(--lb-surface-2);
}

.kk-pdfBtnKapat {
  border: 1px solid var(--lb-border-strong);
  background: var(--lb-surface);
  color: var(--lb-text-2);
  border-radius: 8px;
  font-size: 14px;
  width: 36px;
  height: 36px;
  cursor: pointer;
}

.kk-pdfBtnKapat:hover {
  color: var(--lb-danger);
  border-color: var(--lb-danger);
}

.kk-pdfYazdir {
  background: var(--lb-gradient);
  color: #fff;
  border: none;
  border-radius: 9px;
  padding: 10px 18px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 4px 12px -6px var(--lb-accent);
}

.kk-pdfYazdir:hover {
  opacity: 0.9;
}

.kk-belge {
  overflow-y: auto;
  padding: 28px 32px 40px;
  background: #fff;
  color: #1a2027;
  font-family: "Segoe UI", "Tahoma", "Helvetica Neue", Arial, sans-serif;
  font-size: 12px;
  line-height: 1.45;
}

.kk-bBaslik {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  border-bottom: 3px solid #1c3d6e;
  padding-bottom: 12px;
  margin-bottom: 16px;
}

.kk-bUnvan {
  display: flex;
  flex-direction: column;
  font-size: 11px;
  color: #4a5560;
  gap: 1px;
  max-width: 340px;
}

.kk-bUnvan strong {
  font-size: 17px;
  color: #1c3d6e;
  font-family: Georgia, "Times New Roman", serif;
}

.kk-bDokAd {
  text-align: center;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #1c3d6e;
  font-family: Georgia, "Times New Roman", serif;
}

.kk-bDonem {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  font-size: 11px;
  color: #4a5560;
}

.kk-bInfo,
.kk-bIsveren {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 14px;
}

.kk-bInfo td,
.kk-bIsveren td {
  border: 1px solid #b9c2cc;
  padding: 6px 9px;
}

.kk-bInfoLabel {
  background: #eef2f7;
  font-weight: 700;
  color: #1c3d6e;
  width: 130px;
  font-size: 11px;
}

.kk-bInfoDeger {
  color: #222;
  font-weight: 600;
}

.kk-bTablo {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 14px;
}

.kk-bTablo th {
  background: #1c3d6e;
  color: #fff;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 7px 9px;
  border: 1px solid #1c3d6e;
  text-align: left;
}

.kk-bTablo td {
  border: 1px solid #b9c2cc;
  padding: 6px 9px;
}

.kk-bTutar {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.kk-bToplamSatir td {
  font-weight: 700;
  background: #eef2f7;
}

.kk-bKesintiToplam td {
  font-weight: 700;
  background: #f7ead9;
}

.kk-bNetSatir td {
  font-weight: 800;
  background: #1c3d6e;
  color: #fff;
  font-size: 13px;
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: 0.02em;
}

.kk-bNetSatir .kk-bTutar {
  color: #fff;
}

.kk-bKalemler {
  margin-bottom: 14px;
}

.kk-bKalemler > strong {
  color: #1c3d6e;
  font-size: 12px;
}

.kk-bDipnot {
  font-size: 10px;
  color: #6b7681;
  margin: 8px 0 18px;
}

.kk-bImza {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  margin-top: 6px;
}

.kk-bImza div {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex: 1;
  font-size: 11px;
  color: #4a5560;
}

.kk-bImzaSatir {
  border-bottom: 1px solid #222;
  width: 100%;
  height: 34px;
}

/* ---- Yazdırma: yalnızca belge ---- */

@media print {
  @page {
    size: A4 portrait;
    margin: 10mm 12mm;
  }

  body > :not(.kk-pdfOverlay) {
    display: none;
  }

  .kk-pdfOverlay {
    position: static;
    inset: auto;
    background: none;
    backdrop-filter: none;
    padding: 0;
    display: block;
  }

  .kk-pdfKutu {
    max-height: none;
    box-shadow: none;
    border: none;
    overflow: visible;
  }

  .kk-pdfToolbar,
  .kk-pdfBtnKapat,
  .kk-pdfYazdir {
    display: none;
  }

  #bordro-belge {
    position: static;
    left: auto;
    top: auto;
    width: 100%;
    padding: 0;
    overflow: visible;
  }

  .kk-bTablo,
  .kk-bInfo,
  .kk-bIsveren,
  .kk-bTablo th,
  .kk-bTablo td,
  .kk-bInfo td,
  .kk-bIsveren td {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

/* ---- Paylaşılan form/sekme stilleri ---- */

.kk-title {
  color: var(--lb-text);
  font-size: 24px;
}

.kk-ppuantaj {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  box-shadow: var(--lb-shadow);
  overflow: hidden;
}

.kk-ptabs {
  display: flex;
  background: var(--lb-surface-2);
  border-bottom: 1px solid var(--lb-border);
}

.kk-ptab {
  flex: 1;
  padding: 12px 16px;
  border: none;
  background: transparent;
  color: var(--lb-text-2);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: color 0.15s, border-color 0.15s, background 0.15s;
}

.kk-ptab:hover {
  color: var(--lb-text);
}

.kk-ptabAktif {
  color: var(--lb-accent);
  border-bottom-color: var(--lb-accent);
  font-weight: 600;
  background: var(--lb-accent-soft, rgba(83, 110, 224, 0.06));
}

.kk-ptabIc {
  padding: 16px 20px;
}

.kk-pformSatir {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.kk-pformGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}

.kk-pformLabel {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  color: var(--lb-text-3);
}

.kk-pformLabel input,
.kk-pformLabel select {
  padding: 8px 10px;
  border: 1px solid var(--lb-border-strong);
  border-radius: 8px;
  background: var(--lb-surface);
  color: var(--lb-text);
  font-size: 13px;
  outline: none;
  min-width: 100%;
}

.kk-pformLabel input:focus,
.kk-pformLabel select:focus {
  border-color: var(--lb-accent);
}

.kk-pozet {
  font-size: 13px;
  color: var(--lb-text-2);
  background: var(--lb-surface-2);
  border: 1px dashed var(--lb-border-strong);
  border-radius: 8px;
  padding: 8px 12px;
  margin-bottom: 12px;
}

.kk-pbtnSatir {
  display: flex;
  gap: 10px;
  margin-bottom: 12px;
}

.kk-pbtn {
  background: var(--lb-gradient);
  color: #fff;
  padding: 9px 18px;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 600;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 12px -6px var(--lb-accent);
  transition: opacity 0.15s;
  white-space: nowrap;
  width: 180px;
  text-align: center;
  flex-shrink: 0;
}

.kk-pbtn:hover {
  opacity: 0.9;
}

.kk-pbtn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.kk-pbtnKaydet {
  background: linear-gradient(135deg, #0e9f4d, #2ec96e);
  box-shadow: 0 4px 12px -6px #0e9f4d;
}

.kk-pHata {
  color: var(--lb-danger);
  font-size: 13px;
  background: var(--lb-danger-soft);
  border: 1px solid var(--lb-danger);
  border-radius: 8px;
  padding: 8px 12px;
  margin-bottom: 12px;
}

.kk-pMesaj {
  color: var(--lb-success);
  font-size: 13px;
  background: var(--lb-success-soft);
  border: 1px solid var(--lb-success);
  border-radius: 8px;
  padding: 8px 12px;
  margin-bottom: 12px;
}

.kk-pUyari {
  color: #b45309;
  font-size: 13px;
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid #f59e0b;
  border-radius: 8px;
  padding: 8px 12px;
  margin-bottom: 12px;
}

.kk-pkalemOzet {
  font-size: 13px;
  color: var(--lb-text);
  background: var(--lb-accent-soft, rgba(83, 110, 224, 0.08));
  border: 1px solid var(--lb-border-strong);
  border-radius: 8px;
  padding: 8px 12px;
  margin-bottom: 12px;
}

.kk-psonucGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  margin-top: 8px;
}

.kk-pkalemForm {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
  align-items: end;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--lb-border);
}

.kk-pkalemForm .kk-pbtn {
  align-self: end;
  height: 38px;
}

.kk-pbos {
  text-align: center;
  color: var(--lb-text-3);
  padding: 24px;
  font-size: 14px;
}

.kk-psilBtn {
  color: var(--lb-danger);
  border: 1px solid var(--lb-danger);
  background: var(--lb-surface);
  padding: 4px 10px;
  border-radius: 7px;
  font-size: 12px;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.kk-psilBtn:hover {
  background: var(--lb-danger);
  color: #fff;
}

.kk-tarihSatir {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 14px;
}

.kk-tarihKutu {
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-border-strong);
  border-radius: 10px;
  padding: 10px 12px;
  flex: 1 1 auto;
}

.kk-tarihEtiket {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--lb-text-3);
  margin-bottom: 8px;
}

.kk-tarihAlan {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.kk-tarihAlan .kk-pformLabel {
  min-width: 70px;
}

.kk-donemCip {
  background: var(--lb-accent-soft, rgba(83, 110, 224, 0.1));
  border: 1px solid var(--lb-border-strong);
  color: var(--lb-text);
  border-radius: 999px;
  padding: 8px 14px;
  font-size: 13px;
  width: fit-content;
}


/* ============================================================
   Panel zemin temasi (kurumsal/net surum):
   Zemin gorseli yalnizca hafif bir doku olarak kalir; kartlar, tablolar ve
   kenarliklar Next.js kaynagindaki gibi OPAK beyaz ve net cizgilidir.
   Yari saydam yuzey ve blur kullanilmaz (yazi/tablo netligi icin).
   ============================================================ */
.pn-content {
  position: relative;
  isolation: isolate;
  /* Kullanicinin verdigi zemin gorseli (arka-plan.png) oldugu gibi, ortusuz */
  background: url("/arka-plan.png") center / cover no-repeat fixed #f2f5fa;
}

/* Masaustu kartlari: SAYDAM (kullanici istegi 2026-09-20) - beyaz zemin yok,
   sayfa arka plan gorseli kartin icinden gorunur; ikon kutusu ve yazi one cikar */
.pn-content .ms-tile {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 10px;
  box-shadow: none;
}

/* Tum kartlarda ikon + yazi ayni hizada: ok (▾) akistan cikarilir, alt kenara sabitlenir */
.pn-content .ms-tile {
  justify-content: flex-start;
  padding-top: 30px;
  gap: 14px;
}
.pn-content .ms-tileOk {
  position: absolute;
  left: 0; right: 0; bottom: 12px;
  text-align: center;
}

/* Renkli ikon kutulari: hafif koseli */
.pn-content .ms-tileIkon,
.pn-content .ms-tileEkleIkon {
  border-radius: 9px;
}

.pn-content .ms-tile:hover {
  transform: translateY(-4px) scale(1.02);
  background: rgba(255, 255, 255, 0.4);
  border-color: var(--lb-accent);
  box-shadow: 0 18px 40px -16px rgba(83, 110, 224, 0.4);
}

.pn-content .ms-tileIkon {
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.26);
}

.pn-content .ms-tile:hover .ms-tileIkon {
  transform: scale(1.06);
}

.pn-content .ms-tileAd {
  font-weight: 700;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
}

/* ============================================================
   Izin yonetimi (firma paneli) - iz-
   ============================================================ */
.iz-sayfa { display: flex; flex-direction: column; gap: 14px; }
.iz-altBaslik { color: var(--lb-text-2); font-size: 13px; margin: 4px 0 0; }
.iz-altBaslik .iz-link { color: var(--lb-accent); font-weight: 600; }
.iz-alt { color: var(--lb-text-3); font-size: 11px; margin-top: 2px; }
.iz-negatif { color: var(--lb-danger); }
.iz-ozetler { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.iz-ozet { display: flex; flex-direction: column; gap: 4px; background: var(--lb-surface); border: 1px solid var(--lb-border); border-radius: var(--lb-radius-sm); padding: 14px 16px; box-shadow: var(--lb-shadow); transition: border-color .15s; }
.iz-ozet span { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--lb-text-3); }
.iz-ozet strong { font-size: 24px; font-weight: 800; color: var(--lb-text); }
a.iz-ozet:hover { border-color: var(--lb-accent); }
.iz-ozetIk strong { color: var(--lb-accent-dark); }
.iz-ozetOk strong { color: var(--lb-success); }
.iz-filtre { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.iz-filtre .iz-input { width: auto; min-width: 160px; }
.iz-input { width: 100%; border: 1px solid var(--lb-border-strong); border-radius: 9px; background: var(--lb-surface); color: var(--lb-text); padding: 8px 10px; font: inherit; font-size: 13px; }
.iz-input:focus { outline: none; border-color: var(--lb-accent); box-shadow: 0 0 0 3px var(--lb-accent-soft); }
.iz-input.iz-renk { padding: 2px 4px; height: 36px; }
textarea.iz-input { resize: vertical; }
.iz-form { display: flex; flex-direction: column; gap: 12px; }
.iz-label { display: flex; flex-direction: column; gap: 5px; font-size: 12px; font-weight: 600; color: var(--lb-text-2); }
.iz-ipucu { font-weight: 400; color: var(--lb-text-3); font-size: 11px; line-height: 1.45; }
.iz-satir2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.iz-check { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--lb-text); cursor: pointer; }
.iz-check input { width: 16px; height: 16px; accent-color: var(--lb-accent); }
.iz-checkGrup { display: flex; flex-direction: column; gap: 8px; }
.iz-hata { color: var(--lb-danger-fg); background: var(--lb-danger-soft); border-radius: 8px; padding: 8px 10px; font-size: 12px; margin: 0; }
.iz-ok { color: var(--lb-success); background: var(--lb-success-soft); border-radius: 8px; padding: 8px 10px; font-size: 12px; margin: 0; }
.iz-gunOnizleme { background: var(--lb-surface-2); border: 1px dashed var(--lb-border-strong); border-radius: 9px; padding: 10px 12px; font-size: 13px; color: var(--lb-text); }
.iz-modal { max-width: 520px; }
.iz-modalGenis { max-width: 720px; }
.iz-tableWrap { flex: 1; min-height: 0; }
.iz-table td { vertical-align: top; }
.iz-tur { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 22px; padding: 0 7px; border-radius: 6px; font-size: 11px; font-weight: 800; letter-spacing: .03em; color: #fff; background: var(--tur-renk, var(--lb-accent)); vertical-align: middle; }
.iz-turKucuk { min-width: 24px; height: 18px; padding: 0 3px; font-size: 10px; }
.iz-durum { display: inline-block; padding: 3px 9px; border-radius: 999px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.iz-durumOk { background: var(--lb-success-soft); color: var(--lb-success); }
.iz-durumRed { background: var(--lb-danger-soft); color: var(--lb-danger-fg); }
.iz-durumIptal { background: var(--lb-surface-3); color: var(--lb-text-3); text-decoration: line-through; }
.iz-durumBekle { background: #fff7e6; color: #b45309; }
.iz-durumIk { background: var(--lb-accent-soft); color: var(--lb-accent-dark); }
.iz-adimlar { display: flex; flex-wrap: wrap; gap: 4px; }
.iz-adim { display: inline-flex; align-items: center; gap: 4px; padding: 2px 7px; border-radius: 999px; font-size: 11px; border: 1px solid var(--lb-border-strong); color: var(--lb-text-2); background: var(--lb-surface); white-space: nowrap; }
.iz-adim b { font-size: 10px; color: var(--lb-text-3); }
.iz-adim i { font-style: normal; }
.iz-adimONAYLANDI { border-color: var(--lb-success); color: var(--lb-success); background: var(--lb-success-soft); }
.iz-adimREDDEDILDI { border-color: var(--lb-danger); color: var(--lb-danger-fg); background: var(--lb-danger-soft); }
.iz-adimATLANDI { opacity: .55; }
.iz-adimBos { font-size: 11px; color: var(--lb-text-3); }
.iz-donem { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.iz-donemForm { display: flex; gap: 6px; }
.iz-donem .iz-input { width: auto; }
.iz-lejant { display: flex; flex-wrap: wrap; gap: 10px 16px; font-size: 12px; color: var(--lb-text-2); }
.iz-lejantOge { display: inline-flex; align-items: center; gap: 6px; }
.iz-lejantOge b { color: var(--lb-text); }
.iz-lejantKutu { display: inline-block; width: 16px; height: 16px; border-radius: 4px; border: 1px solid var(--lb-border-strong); }
.iz-izgara { font-size: 11px; }
.iz-izgara th, .iz-izgara td { padding: 4px 3px !important; text-align: center; }
.iz-izgara th.iz-sabit, .iz-izgara td.iz-sabit { text-align: left; position: sticky; left: 0; background: var(--lb-surface); z-index: 2; min-width: 190px; padding-left: 12px !important; box-shadow: 1px 0 0 var(--lb-border); }
.iz-izgara thead th.iz-sabit { background: var(--lb-surface-2); z-index: 3; }
.iz-gunBaslik { min-width: 28px; }
.iz-gunBaslik span { display: block; font-weight: 700; }
.iz-gunBaslik small { display: block; font-size: 9px; color: var(--lb-text-3); font-weight: 500; }
.iz-hucre { height: 30px; }
.iz-hucreHs { background: var(--lb-surface-3) !important; }
.iz-hucreTatil { background: #fff1f0 !important; }
.iz-izgara tfoot td { background: var(--lb-surface-2); font-weight: 600; }
.iz-aramaKutusu .iz-input { max-width: 420px; }
.iz-ikiKolon { display: grid; grid-template-columns: minmax(320px, 1fr) minmax(360px, 1.4fr); gap: 16px; align-items: start; }
.iz-kartBaslik { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 8px; }
.iz-kartBaslik .iz-input { width: auto; }
.iz-satirForm { flex-direction: row; flex-wrap: wrap; align-items: center; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--lb-border); }
.iz-satirForm .iz-input { width: auto; flex: 1; min-width: 140px; }
.iz-satirForm .iz-hata { width: 100%; }
.iz-sifreListe { max-height: 50vh; overflow: auto; margin-bottom: 14px; border: 1px solid var(--lb-border); border-radius: 9px; }
.iz-sifreUrl { padding: 8px 12px; background: var(--lb-surface-2); font-size: 12px; border-bottom: 1px solid var(--lb-border); }
.iz-sifreKod { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 13px; font-weight: 700; letter-spacing: .06em; background: var(--lb-accent-soft); padding: 2px 6px; border-radius: 5px; }
.pe-btnAktif.iz-mini, .pe-btnDanger.iz-mini { height: 26px; padding: 2px 8px; }
@media (max-width: 900px) { .iz-ikiKolon { grid-template-columns: 1fr; } .iz-satir2 { grid-template-columns: 1fr; } }
@media print {
  .pn-sidebar, .iz-donem, .pe-header .pe-btnPrimary { display: none !important; }
  .pn-content { padding: 0 !important; background: #fff !important; }
  .iz-tableWrap { overflow: visible !important; box-shadow: none !important; }
  .iz-izgara th.iz-sabit, .iz-izgara td.iz-sabit { position: static; }
}

/* ============================================================
   Personel portali - po-
   ============================================================ */
.po-layout { min-height: 100vh; display: flex; flex-direction: column; background: var(--lb-bg); }
.po-ust { background: var(--lb-surface); border-bottom: 1px solid var(--lb-border); position: sticky; top: 0; z-index: 20; }
.po-ustIc { max-width: 1120px; margin: 0 auto; padding: 10px 20px; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.po-marka { display: flex; align-items: center; gap: 10px; }
.po-markaLogo { width: 36px; height: 36px; object-fit: contain; border-radius: 8px; }
.po-markaAvatar, .po-kullaniciAvatar { width: 36px; height: 36px; border-radius: 10px; background: var(--lb-gradient); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 14px; flex-shrink: 0; }
.po-markaMetin, .po-kullaniciMetin, .po-satirMetin { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.po-markaMetin strong { font-size: 14px; }
.po-markaMetin span, .po-kullaniciMetin span { font-size: 11px; color: var(--lb-text-3); }
.po-nav { display: flex; gap: 4px; flex: 1; flex-wrap: wrap; }
.po-nav a { padding: 8px 12px; border-radius: 9px; font-size: 13px; font-weight: 600; color: var(--lb-text-2); display: inline-flex; align-items: center; gap: 6px; }
.po-nav a:hover { background: var(--lb-surface-3); color: var(--lb-text); }
.po-nav a.po-navAktif { background: var(--lb-accent-soft); color: var(--lb-accent-dark); }
.po-rozet { background: var(--lb-danger); color: #fff; font-size: 10px; font-weight: 800; padding: 1px 6px; border-radius: 999px; }
.po-kullanici { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.po-kullaniciFoto, .po-kisiFoto { width: 36px; height: 36px; border-radius: 10px; object-fit: cover; flex-shrink: 0; }
.po-kullaniciMetin strong { font-size: 13px; }
.po-cikis { border: 1px solid var(--lb-border-strong); background: var(--lb-surface); color: var(--lb-text-2); border-radius: 8px; padding: 6px 10px; font: inherit; font-size: 12px; cursor: pointer; }
.po-cikis:hover { border-color: var(--lb-danger); color: var(--lb-danger); }
.po-icerik { max-width: 1120px; width: 100%; margin: 0 auto; padding: 24px 20px 40px; display: flex; flex-direction: column; gap: 18px; }
.po-alt { text-align: center; color: var(--lb-text-3); font-size: 11px; padding: 16px; }
.po-baslik { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.po-baslik h1 { font-size: 22px; margin: 0; }
.po-baslik p { color: var(--lb-text-2); font-size: 13px; margin: 4px 0 0; }
.po-baslik .iz-input { width: auto; }
.po-kartlar { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
.po-kart { background: var(--lb-surface); border: 1px solid var(--lb-border); border-radius: var(--lb-radius); padding: 16px; box-shadow: var(--lb-shadow); display: flex; flex-direction: column; gap: 4px; }
.po-kart span { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--lb-text-3); }
.po-kart strong { font-size: 30px; font-weight: 800; line-height: 1.1; }
.po-kart small { font-size: 11px; color: var(--lb-text-3); }
.po-kartVurgu { background: var(--lb-gradient); border: none; color: #fff; }
.po-kartVurgu span, .po-kartVurgu small { color: rgba(255, 255, 255, .85); }
.po-bilgi { background: var(--lb-accent-soft); color: var(--lb-accent-dark); border-radius: 9px; padding: 10px 12px; font-size: 13px; margin: 0; }
.po-ikiKolon { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.po-bolum { background: var(--lb-surface); border: 1px solid var(--lb-border); border-radius: var(--lb-radius); padding: 16px 18px; box-shadow: var(--lb-shadow); display: flex; flex-direction: column; gap: 8px; }
.po-bolum h2 { font-size: 14px; font-weight: 800; margin: 0 0 4px; color: var(--lb-text); }
.po-satir { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid var(--lb-border); font-size: 13px; }
.po-satir:first-of-type { border-top: none; }
.po-satirMetin { flex: 1; }
.po-satirMetin strong { font-size: 13px; }
.po-satirMetin span { font-size: 12px; color: var(--lb-text-2); }
.po-bos { color: var(--lb-text-3); font-size: 13px; margin: 0; }
.po-link { color: var(--lb-accent); font-size: 13px; font-weight: 600; }
.po-akis { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.po-akis li strong { display: block; }
.po-akis li span { font-size: 11px; color: var(--lb-text-3); }
.po-formKart { background: var(--lb-surface); border: 1px solid var(--lb-border); border-radius: var(--lb-radius); padding: 20px 22px; box-shadow: var(--lb-shadow); max-width: 640px; }
.po-turBilgi { font-size: 12px; color: var(--lb-text-2); margin: -6px 0 0; }
.po-talep { background: var(--lb-surface); border: 1px solid var(--lb-border); border-radius: var(--lb-radius); box-shadow: var(--lb-shadow); }
.po-talepUst { display: flex; align-items: center; gap: 12px; padding: 14px 16px; flex-wrap: wrap; }
.po-talepAlt { border-top: 1px solid var(--lb-border); padding: 10px 16px; display: flex; flex-direction: column; gap: 6px; font-size: 12px; }
.po-not { margin: 0; color: var(--lb-text-2); font-size: 13px; }
.po-kararBtnlar { display: flex; gap: 6px; }
.po-girisAlt { margin-top: 16px; text-align: center; font-size: 12px; color: var(--lb-text-3); line-height: 1.5; }
.po-girisAlt a { color: var(--lb-accent); font-weight: 600; }
@media (max-width: 720px) {
  .po-ikiKolon { grid-template-columns: 1fr; }
  .po-kullaniciMetin { display: none; }
  .po-ustIc { gap: 10px; }
  .po-nav { order: 3; width: 100%; }
}

/* ============================================================
   Ikonlu sol menu (panel + admin) ve genel sag tik menusu
   ============================================================ */
.pn-nav a.pn-navLink, .al-nav a.pn-navLink { display: flex; align-items: center; gap: 10px; }
.pn-navIkon { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 8px; flex-shrink: 0; color: var(--lb-accent-dark); background: var(--lb-accent-soft); transition: background .15s, color .15s, transform .15s; }
.pn-nav a.pn-active .pn-navIkon, .al-nav a.al-active .pn-navIkon, .pn-navGrupAktif .pn-navIkon { background: var(--nav-renk, var(--lb-gradient)); color: #fff; box-shadow: 0 4px 10px -4px rgba(83, 110, 224, .6); }
.pn-nav a:hover .pn-navIkon, .al-nav a:hover .pn-navIkon, .pn-navGrup:hover .pn-navIkon { transform: translateY(-1px); }
.pn-navGrupSol { display: inline-flex; align-items: center; gap: 10px; }
.pn-navGrup { padding: 9px 10px; }
/* Duz baglantilar (Ana Sayfa, Bildirimler, Sifre Degistir...) grup satirlariyla ayni ic bosluk: ikonlar ayni hizada */
.pn-nav a.pn-navLink, .al-nav a.pn-navLink { padding: 9px 10px; }
.pn-nav a.pn-subLink, .pn-nav a.pn-subActive { display: flex; align-items: center; gap: 8px; padding-left: 22px; }
.pn-subIkon { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 6px; color: var(--lb-text-3); background: var(--lb-surface-2); flex-shrink: 0; }
.pn-nav a.pn-subActive .pn-subIkon, .pn-nav a.pn-subLink:hover .pn-subIkon { color: var(--lb-accent-dark); background: #fff; }
.pn-user { display: flex; align-items: center; gap: 8px; }
.pn-userAvatar { width: 26px; height: 26px; border-radius: 8px; background: var(--lb-gradient); color: #fff; font-size: 12px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.pn-logout, .al-logout { display: inline-flex; align-items: center; gap: 6px; }
.po-nav a svg { flex-shrink: 0; }

/* sag tik menusu (LB.sagTik) */
.lb-menuKatman { position: fixed; inset: 0; z-index: 200; }
.lb-menu { position: fixed; min-width: 220px; max-width: 300px; background: var(--lb-surface); border: 1px solid var(--lb-border); border-radius: 12px; box-shadow: var(--lb-shadow-lg); padding: 6px; z-index: 201; animation: lb-menuAc .12s ease-out; }
@keyframes lb-menuAc { from { opacity: 0; transform: translateY(-4px) scale(.98); } to { opacity: 1; transform: none; } }
.lb-menuBaslik { display: flex; flex-direction: column; gap: 1px; padding: 8px 10px 9px; border-bottom: 1px solid var(--lb-border); margin-bottom: 4px; }
.lb-menuBaslik strong { font-size: 13px; color: var(--lb-text); }
.lb-menuBaslik span { font-size: 11px; color: var(--lb-text-3); }
.lb-menuItem { display: flex; align-items: center; gap: 9px; width: 100%; padding: 8px 10px; border: none; background: none; border-radius: 8px; color: var(--lb-text); font: inherit; font-size: 13px; text-align: left; cursor: pointer; transition: background .12s, color .12s; }
.lb-menuItem:hover { background: var(--lb-accent-soft); color: var(--lb-accent-dark); }
.lb-menuItem svg { color: var(--lb-text-3); flex-shrink: 0; }
.lb-menuItem:hover svg { color: inherit; }
.lb-menuItem.lb-menuTehlike { color: var(--lb-danger); }
.lb-menuItem.lb-menuTehlike:hover { background: var(--lb-danger-soft); color: var(--lb-danger-fg); }
.lb-menuItem.lb-menuPasif { opacity: .45; cursor: not-allowed; }
.lb-menuAyrac { height: 1px; background: var(--lb-border); margin: 4px 6px; }
.lb-menuKisayol { margin-left: auto; font-size: 11px; color: var(--lb-text-3); }
[data-sagtik] { cursor: context-menu; }

/* Yatay tasma duzeltmesi: kenar cubugu sabit, icerik tablo genisligiyle buyumesin */
.pn-sidebar, .al-sidebar { flex-shrink: 0; }
.pn-content, .al-content { min-width: 0; }
.pe-sayfa, .iz-sayfa, .pe-tableWrap, .iz-tableWrap, .pu-tabloSar { min-width: 0; max-width: 100%; }

/* Son gorunen satir cizgisi (bos-durum satiri her zaman sonda oldugu icin JS ile isaretlenir) */
.pe-table tbody tr.lb-sonSatir td, .pu-tablo tbody tr.lb-sonSatir td { border-bottom: none; }

/* ============================================================
   Personel portali - panel temasi uyumu (po- ek siniflar)
   ============================================================ */
.po-sayfa { display: flex; flex-direction: column; gap: 16px; }
.po-sayfa .po-baslik { margin-bottom: 0; }
.po-sayfa .po-formKart, .po-sayfa .po-talep, .po-sayfa .po-bolum { backdrop-filter: blur(6px); }
.po-kurumSabit { cursor: default; }
.po-kurumSabit:hover { background: inherit; }
.po-user { align-items: center; }
.po-userFoto { width: 30px; height: 30px; border-radius: 9px; object-fit: cover; flex-shrink: 0; }
.po-userMetin { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.po-userMetin strong { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.po-userMetin span { font-size: 11px; color: var(--lb-text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.po-cikisBtn { background: none; border: none; padding: 0; font: inherit; cursor: pointer; }
.pn-navRozet { margin-left: auto; }
.po-ana { display: flex; flex-direction: column; gap: 18px; }
.po-ustFoto { width: 56px; height: 56px; border-radius: 16px; object-fit: cover; flex-shrink: 0; box-shadow: var(--lb-shadow); }
.po-ustAlt { display: block; font-size: 12px; color: var(--lb-text-3); font-weight: 500; margin-top: 2px; }
.po-ustTarih { margin-left: auto; display: flex; flex-direction: column; align-items: flex-end; }
.po-ustTarih span { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--lb-text-3); }
.po-ustTarih strong { font-size: 15px; }
.po-kutucuklar { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; }
.po-tile { cursor: pointer; aspect-ratio: auto; padding: 18px 10px; gap: 10px; }
.po-tile .ms-tileAd { font-size: 13px; }
.po-tileRozet { position: absolute; top: 10px; right: 10px; background: var(--lb-danger); color: #fff; font-size: 11px; font-weight: 800; padding: 2px 7px; border-radius: 999px; }
.po-kolon { display: flex; flex-direction: column; gap: 16px; }
.po-bolumBaslik { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.po-bolumBaslik h2 { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.po-bolumAksiyon { display: flex; align-items: center; gap: 10px; }
.po-bildirim { display: flex; align-items: flex-start; gap: 12px; padding: 10px 12px; border-radius: 10px; border: 1px solid transparent; border-top: 1px solid var(--lb-border); font-size: 13px; transition: background .12s; }
.po-bildirim:first-of-type { border-top-color: transparent; }
.po-bildirim:hover { background: var(--lb-surface-3); }
.po-bildirimYeni { background: var(--lb-accent-soft); border-color: rgba(83, 110, 224, .25); border-radius: 10px; }
.po-bildirimYeni + .po-bildirim { border-top-color: transparent; }
.po-bildirimIkon { width: 30px; height: 30px; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; background: var(--lb-surface-2); color: var(--lb-accent-dark); flex-shrink: 0; }
.po-bildirimIZIN_ONAY .po-bildirimIkon { background: var(--lb-success-soft); color: var(--lb-success); }
.po-bildirimIZIN_RED .po-bildirimIkon, .po-bildirimIZIN_IPTAL .po-bildirimIkon { background: var(--lb-danger-soft); color: var(--lb-danger-fg); }
.po-bildirimONAY_BEKLIYOR .po-bildirimIkon { background: #fff7e6; color: #b45309; }
.po-bildirimDUYURU .po-bildirimIkon { background: linear-gradient(135deg,#fbbf24,#f59e0b); color: #fff; }
.po-bildirimHatirlatma .po-bildirimIkon { background: var(--lb-gradient); color: #fff; }
.po-bildirimMetin { flex: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.po-bildirimMetin strong { font-size: 13px; }
.po-bildirimMetin span { font-size: 12px; color: var(--lb-text-2); }
.po-bildirim .iz-alt { white-space: nowrap; }
.po-ekipIzgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
.po-ekipKart { background: var(--lb-surface); border: 1px solid var(--lb-border); border-radius: var(--lb-radius); box-shadow: var(--lb-shadow); padding: 14px; display: flex; flex-direction: column; gap: 10px; backdrop-filter: blur(6px); }
.po-ekipUst { display: flex; align-items: center; gap: 12px; }
.po-ekipFoto { width: 46px; height: 46px; border-radius: 12px; object-fit: cover; flex-shrink: 0; }
.po-ekipAvatar { width: 46px; height: 46px; border-radius: 12px; background: var(--lb-gradient); color: #fff; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.po-ekipUst .iz-durum { margin-left: auto; align-self: flex-start; }
.po-ekipAlt { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 12px; color: var(--lb-text-2); border-top: 1px solid var(--lb-border); padding-top: 8px; }
.po-ekipAlt > span { display: inline-flex; align-items: center; gap: 6px; }
.po-semaKart { overflow: auto; }
.po-semaPoz { min-width: 170px; }
.po-semaKok { border-color: var(--lb-accent) !important; background: var(--lb-accent-soft) !important; }
.po-semaKisiler { display: flex; flex-direction: column; gap: 4px; margin-top: 6px; }
.po-semaKisi { display: flex; align-items: center; gap: 7px; padding: 4px 6px; border-radius: 8px; background: var(--lb-surface); border: 1px solid var(--lb-border); font-size: 12px; }
.po-semaKisi img, .po-semaKisi i { width: 24px; height: 24px; border-radius: 7px; object-fit: cover; flex-shrink: 0; }
.po-semaKisi i { font-style: normal; font-size: 10px; font-weight: 800; color: #fff; background: var(--lb-gradient); display: inline-flex; align-items: center; justify-content: center; }
.po-semaKisi b { font-weight: 600; white-space: nowrap; }
.po-semaIzinli { border-color: var(--lb-danger); background: var(--lb-danger-soft); }
.iz-duyuruKart { padding: 14px 18px 12px; }
.iz-duyuruKart .iz-satirForm { margin-top: 6px; padding-top: 0; border-top: none; }
@media (max-width: 720px) { .po-ustTarih { display: none; } }

/* Izin hareketleri / kimde / puantaj izin rozeti */
.iz-kimde { display: inline-flex; align-items: center; gap: 7px; padding: 4px 9px 4px 6px; border-radius: 999px; border: 1px solid var(--lb-border-strong); background: var(--lb-surface); font-size: 12px; white-space: nowrap; }
.iz-kimde span { display: flex; flex-direction: column; line-height: 1.15; }
.iz-kimde strong { font-size: 12px; }
.iz-kimde small { font-size: 10px; color: var(--lb-text-3); }
.iz-kimdeYonetici { border-color: #f59e0b; background: #fff7e6; color: #92400e; }
.iz-kimdeYonetici svg { color: #d97706; }
.iz-kimdeIk { border-color: var(--lb-accent); background: var(--lb-accent-soft); color: var(--lb-accent-dark); }
.iz-kimdeIzgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 10px; }
.iz-kimdeKart { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--lb-border); border-radius: 12px; background: var(--lb-surface-2); font-size: 13px; transition: border-color .15s, background .15s; }
.iz-kimdeKart:hover { border-color: var(--lb-accent); background: var(--lb-surface); }
.iz-kimdeKart .po-satirMetin { flex: 1; min-width: 0; }
.iz-kimdeKart .po-satirMetin span { font-size: 11px; }
.iz-hareket { display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px; border-radius: 999px; font-size: 12px; font-weight: 600; background: var(--lb-surface-2); color: var(--lb-text-2); white-space: nowrap; }
.iz-hareketTALEP { background: var(--lb-accent-soft); color: var(--lb-accent-dark); }
.iz-hareketYONETICI_ONAY, .iz-hareketONAYLANDI { background: var(--lb-success-soft); color: var(--lb-success); }
.iz-hareketYONETICI_RED, .iz-hareketREDDEDILDI, .iz-hareketIPTAL { background: var(--lb-danger-soft); color: var(--lb-danger-fg); }
.iz-not { max-width: 220px; font-size: 12px; color: var(--lb-text-2); }
.pu-izinRozet { display: inline-block; padding: 2px 8px; border-radius: 999px; background: var(--lb-accent-soft); color: var(--lb-accent-dark); font-weight: 700; font-size: 11px; }
.pu-izinFark { color: #b45309 !important; white-space: nowrap; cursor: help; }


/* ============================================================
   Netlik / kurumsal okunabilirlik ayarlari
   ============================================================ */
html, body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.pn-content .pe-table, .pn-content .pu-tablo, .pn-content .bd-table, .pn-content .kt-table { font-variant-numeric: tabular-nums; }
.pe-table th, .pu-tablo th, .bd-table th { color: var(--lb-text-2); font-weight: 700; letter-spacing: 0.04em; }
.pe-table td, .pu-tablo td { color: var(--lb-text); }
.iz-alt, .pu-alt { color: #6b7790; }
.pn-content .pe-detailCard, .pn-content .pe-tableWrap, .pn-content .iz-ozet, .pn-content .po-bolum, .pn-content .po-kart, .pn-content .po-ekipKart, .pn-content .po-formKart, .pn-content .po-talep, .pn-content .pn-kurumUst { backdrop-filter: none; -webkit-backdrop-filter: none; }

/* ============================================================
   Kenar cubugu: menu gruplari acilinca sayfa uzamasin, sag icerik kaymasin.
   Nav kendi icinde kaydirilir; kenar cubugu her zaman 100vh kalir.
   ============================================================ */
.pn-sidebar { overflow: hidden; }
.pn-nav { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; }
.pn-brand, .pn-kurumKutu, .pn-footer, .lb-komutKutu { flex-shrink: 0; }


/* ============================================================
   Premium arac cubugu: arama kutusu + Excel / PDF aktarim butonlari (lb-)
   ============================================================ */
.lb-arac { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.lb-arac .lb-arama { flex: 1 1 320px; max-width: 520px; }
.lb-aracSag { display: flex; align-items: center; gap: 10px; margin-left: auto; flex-wrap: wrap; }
.lb-butonlar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

.lb-arama { position: relative; display: flex; align-items: center; width: 100%; max-width: 520px; }
.lb-arama > svg { position: absolute; left: 14px; color: var(--lb-text-3); pointer-events: none; transition: color .15s; }
.lb-arama input {
  width: 100%; height: 42px; padding: 0 92px 0 42px;
  border: 1px solid var(--lb-border-strong); border-radius: 12px;
  background: var(--lb-surface); color: var(--lb-text); font: inherit; font-size: 13px;
  box-shadow: 0 1px 2px rgba(22, 33, 59, .04), 0 8px 24px -18px rgba(22, 33, 59, .35);
  transition: border-color .15s, box-shadow .15s;
  -webkit-appearance: none; appearance: none;
}
.lb-arama input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
.lb-arama input::placeholder { color: var(--lb-text-3); }
.lb-arama input:focus { outline: none; border-color: var(--lb-accent); box-shadow: 0 0 0 4px var(--lb-accent-soft), 0 8px 24px -14px rgba(83, 110, 224, .45); }
.lb-arama:focus-within > svg { color: var(--lb-accent); }
.lb-aramaSayi {
  position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
  font-size: 11px; font-weight: 700; letter-spacing: .03em; color: var(--lb-text-2);
  background: var(--lb-surface-3); border: 1px solid var(--lb-border); border-radius: 999px; padding: 3px 9px; white-space: nowrap;
}
.lb-aramaDolu .lb-aramaSayi { background: var(--lb-accent-soft); color: var(--lb-accent-dark); border-color: transparent; }
.lb-aramaTemizle {
  position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
  width: 22px; height: 22px; border-radius: 50%; border: none; cursor: pointer;
  background: var(--lb-surface-3); color: var(--lb-text-2); font-size: 14px; line-height: 1; display: none; align-items: center; justify-content: center;
}
.lb-aramaDolu .lb-aramaSayi { right: 38px; }
.lb-aramaDolu .lb-aramaTemizle { display: inline-flex; }
.lb-aramaTemizle:hover { background: var(--lb-danger-soft); color: var(--lb-danger-fg); }

.lb-btnAktar {
  display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px 0 14px;
  border: none; border-radius: 11px; cursor: pointer; font: inherit; font-size: 13px; font-weight: 700; letter-spacing: .01em;
  color: #fff; text-decoration: none; white-space: nowrap; position: relative; overflow: hidden;
  box-shadow: 0 6px 18px -8px rgba(22, 33, 59, .5), inset 0 1px 0 rgba(255, 255, 255, .22);
  transition: transform .15s, box-shadow .15s, filter .15s;
}
.lb-btnAktar::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0) 55%); pointer-events: none; }
.lb-btnAktar svg { flex-shrink: 0; filter: drop-shadow(0 1px 1px rgba(0,0,0,.18)); }
.lb-btnAktar:hover { transform: translateY(-1px); filter: brightness(1.05); }
.lb-btnAktar:active { transform: translateY(0); }
.lb-btnAktar:disabled { cursor: progress; opacity: .8; transform: none; }
.lb-btnExcel { background: linear-gradient(135deg, #21a366 0%, #107c41 55%, #0b5e30 100%); box-shadow: 0 8px 20px -8px rgba(16, 124, 65, .7), inset 0 1px 0 rgba(255,255,255,.25); }
.lb-btnExcel:hover { box-shadow: 0 12px 26px -10px rgba(16, 124, 65, .8), inset 0 1px 0 rgba(255,255,255,.25); }
.lb-btnPdf { background: linear-gradient(135deg, #f0565b 0%, #d7262d 55%, #a81c22 100%); box-shadow: 0 8px 20px -8px rgba(215, 38, 45, .7), inset 0 1px 0 rgba(255,255,255,.25); }
.lb-btnPdf:hover { box-shadow: 0 12px 26px -10px rgba(215, 38, 45, .8), inset 0 1px 0 rgba(255,255,255,.25); }
.lb-btnAktar.lb-mini { height: 34px; padding: 0 12px 0 10px; font-size: 12px; border-radius: 9px; }
.lb-btnAktar .lb-donuyor { width: 14px; height: 14px; border: 2px solid rgba(255,255,255,.45); border-top-color: #fff; border-radius: 50%; animation: lb-don .7s linear infinite; }
@keyframes lb-don { to { transform: rotate(360deg); } }

/* Basliklara buton sigdirma (org / tanimlar / kalemler / kullanicilar) */
.og-header, .tn-header, .kt-header { display: flex; flex-direction: row; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.og-header > div, .tn-header > div, .kt-header > div { display: flex; flex-direction: column; gap: 4px; flex: 1 1 420px; min-width: 0; }
.og-header > .lb-btnAktar, .tn-header > .lb-btnAktar, .kt-header > .lb-btnAktar { flex-shrink: 0; margin-top: 4px; }
.ku-baslik { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.ku-baslik .ku-title { margin-bottom: 0; }

/* PDF cekimi sirasinda gizlenecekler / cekim alani */
.lb-pdfCekim [data-pdf-gizle] { visibility: hidden !important; }
.lb-pdfCekim [data-pdf-alan] { background: #fff; padding: 16px; }

@media print {
  .lb-arac, .lb-btnAktar, .lb-arama { display: none !important; }
}

/* Masaustu kartlari: <button> ve <a> kartlarda yazi tipi birebir ayni */
.ms-tile, .ms-tile .ms-tileAd { font-family: inherit; font-size: 14px; font-weight: 700; letter-spacing: 0; color: var(--lb-text); }
.ms-tile:focus { outline: none; }
.ms-tile:focus-visible { outline: 2px solid var(--lb-accent); outline-offset: 3px; }

/* ============================================================
   Sol menu ikonlari: premium / net (kullanici: "cok bulanik")
   Her grup ikonu kendi renk gecisiyle dolu, beyaz ve kalin cizgili;
   alt menu ikonlari koyu ve belirgin. Bulaniklik yapan yarim piksel
   kaydirma (translateY) kaldirildi.
   ============================================================ */
.pn-nav .pn-navIkon, .al-nav .pn-navIkon {
  width: 24px; height: 24px; border-radius: 7px;
  background: var(--nav-renk, var(--lb-gradient));
  color: #fff;
  box-shadow: 0 3px 8px -3px rgba(22, 33, 59, .45), inset 0 1px 0 rgba(255, 255, 255, .28);
  transition: box-shadow .15s, filter .15s;
}
.pn-nav .pn-navIkon svg, .al-nav .pn-navIkon svg, .pn-subIkon svg {
  width: 14px; height: 14px;
  stroke-width: 2.2;
  shape-rendering: geometricPrecision;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .25));
}
.pn-nav a.pn-active .pn-navIkon, .al-nav a.al-active .pn-navIkon, .pn-navGrupAktif .pn-navIkon {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, .9), 0 0 0 3.5px var(--lb-accent), 0 6px 14px -5px rgba(83, 110, 224, .65), inset 0 1px 0 rgba(255, 255, 255, .28);
}
.pn-nav a:hover .pn-navIkon, .al-nav a:hover .pn-navIkon, .pn-navGrup:hover .pn-navIkon {
  transform: none;
  filter: brightness(1.08) saturate(1.1);
  box-shadow: 0 6px 14px -5px rgba(22, 33, 59, .5), inset 0 1px 0 rgba(255, 255, 255, .28);
}
.pn-nav a.pn-active .pn-navIkon:hover, .pn-navGrupAktif:hover .pn-navIkon {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, .9), 0 0 0 3.5px var(--lb-accent), 0 6px 14px -5px rgba(83, 110, 224, .65), inset 0 1px 0 rgba(255, 255, 255, .28);
}
.pn-subIkon {
  width: 20px; height: 20px; border-radius: 6px;
  color: var(--lb-accent-dark);
  background: #fff;
  border: 1px solid var(--lb-border-strong);
  box-shadow: 0 1px 2px rgba(22, 33, 59, .08);
}
.pn-subIkon svg { width: 12px; height: 12px; stroke-width: 2.3; filter: none; }
.pn-nav a.pn-subActive .pn-subIkon, .pn-nav a.pn-subLink:hover .pn-subIkon {
  color: #fff; background: var(--lb-gradient); border-color: transparent;
  box-shadow: 0 3px 8px -3px rgba(83, 110, 224, .6);
}
.pn-nav a.pn-subActive .pn-subIkon svg, .pn-nav a.pn-subLink:hover .pn-subIkon svg { filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .2)); }
/* Menu yazilari da net olsun */
.pn-nav .pn-navGrup, .pn-nav a.pn-navLink { color: var(--lb-text); font-weight: 600; }
.pn-nav a.pn-subLink { color: var(--lb-text-2); font-weight: 600; }

/* ============================================================
   Kontrol paneli (panel ana sayfa) - dp-  (2026-09-21)
   Kurumsal, opak yuzeyler; zemin gorseli kartlarin arasindan gorunur.
   ============================================================ */
.dp-kpi { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin: 22px 0 0; }
@media (max-width: 1500px) { .dp-kpi { gap: 12px; } .dp-kart { padding: 14px 14px; gap: 11px; } .dp-kartDeger { font-size: 25px; } .dp-mini, .dp-halka { display: none; } .dp-kpi .dp-kart:has(.dp-mini) .dp-kartAlt, .dp-kpi .dp-kart:has(.dp-halka) .dp-kartAlt { padding-right: 0; } }
@media (max-width: 1250px) { .dp-kpi { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 800px) { .dp-kpi { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.dp-kart {
  position: relative; display: flex; align-items: flex-start; gap: 14px; min-height: 104px;
  background: var(--lb-surface); border: 1px solid var(--lb-border); border-radius: var(--lb-radius);
  padding: 16px 18px; box-shadow: var(--lb-shadow); color: var(--lb-text); overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.dp-kart::after { content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; background: var(--dp-renk, var(--lb-gradient)); opacity: .9; }
.dp-kartLink:hover { transform: translateY(-2px); box-shadow: var(--lb-shadow-lg); border-color: var(--lb-border-strong); }
.dp-kartIkon {
  width: 40px; height: 40px; border-radius: 12px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  background: var(--dp-renk, var(--lb-gradient)); color: #fff; box-shadow: 0 8px 18px -8px rgba(22, 33, 59, .45);
}
.dp-kartIkon svg { stroke-width: 2.1; }
.dp-kartGovde { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
.dp-kartEtiket { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--lb-text-3); }
.dp-kartDeger { font-size: 28px; line-height: 1.1; font-weight: 800; letter-spacing: -.02em; color: var(--lb-text); font-variant-numeric: tabular-nums; }
.dp-kartDeger small { font-size: 13px; font-weight: 600; color: var(--lb-text-3); margin-left: 5px; letter-spacing: 0; }
.dp-kartAlt { font-size: 12px; color: var(--lb-text-2); display: flex; gap: 8px; flex-wrap: wrap; line-height: 1.3; }
.dp-artis { color: var(--lb-success); font-weight: 700; }
.dp-azalis { color: var(--lb-danger); font-weight: 700; }
.dp-mini { position: absolute; right: 14px; bottom: 14px; width: 64px; height: 20px; color: var(--lb-accent); opacity: .8; }
.dp-kart:has(.dp-mini) .dp-kartAlt, .dp-kart:has(.dp-halka) .dp-kartAlt { padding-right: 62px; }
.dp-nabiz { position: absolute; top: 14px; right: 14px; width: 9px; height: 9px; border-radius: 50%; background: #f59e0b; box-shadow: 0 0 0 0 rgba(245, 158, 11, .5); animation: dp-nabiz 1.8s ease-out infinite; }
@keyframes dp-nabiz { 0% { box-shadow: 0 0 0 0 rgba(245, 158, 11, .55); } 70% { box-shadow: 0 0 0 9px rgba(245, 158, 11, 0); } 100% { box-shadow: 0 0 0 0 rgba(245, 158, 11, 0); } }
.dp-halka {
  position: absolute; right: 14px; bottom: 12px; width: 30px; height: 30px; border-radius: 50%;
  background: conic-gradient(#0ea5e9 calc(var(--dp-oran, 0) * 1%), #e5e9f2 0);
  -webkit-mask: radial-gradient(circle, transparent 58%, #000 60%); mask: radial-gradient(circle, transparent 58%, #000 60%);
}

.dp-grid { display: grid; grid-template-columns: 1.55fr 1fr; gap: 16px; margin-top: 16px; }
.dp-panel {
  background: var(--lb-surface); border: 1px solid var(--lb-border); border-radius: var(--lb-radius);
  box-shadow: var(--lb-shadow); padding: 18px 20px 20px; min-width: 0; display: flex; flex-direction: column;
}
.dp-grafik { grid-column: 1; }
.dp-dikkat { grid-column: 2; grid-row: 1 / span 2; }
.dp-bugun { grid-column: 1; }
.dp-birim { grid-column: 1; }
.dp-izinTur { grid-column: 2; }
.dp-panelBaslik { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.dp-panelBaslik h2 { font-size: 15px; font-weight: 800; color: var(--lb-text); margin: 0; letter-spacing: -.01em; }
.dp-panelBaslik p { font-size: 12px; color: var(--lb-text-3); margin: 2px 0 0; }
.dp-tarih { font-size: 12px; color: var(--lb-text-3); white-space: nowrap; font-weight: 600; }
.dp-rozet { font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 99px; white-space: nowrap; }
.dp-rozetArti { background: var(--lb-success-soft); color: var(--lb-success); }
.dp-rozetEksi { background: var(--lb-danger-soft); color: var(--lb-danger-fg); }
.dp-baglanti { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 700; color: var(--lb-accent); white-space: nowrap; }
.dp-baglanti:hover { text-decoration: underline; }

/* Alan grafigi */
.dp-alan { position: relative; }
.dp-alanSvg { width: 100%; height: auto; display: block; overflow: visible; }
.dp-izgara { stroke: var(--lb-border); stroke-width: 1; stroke-dasharray: 2 4; }
.dp-eksenY, .dp-eksenX { fill: var(--lb-text-3); font-size: 11px; font-family: inherit; font-weight: 600; }
.dp-cizgi { fill: none; stroke: var(--lb-accent); stroke-width: 2.4; stroke-linejoin: round; stroke-linecap: round; }
.dp-nokta { fill: var(--lb-surface); stroke: var(--lb-accent); stroke-width: 2; opacity: 0; transition: opacity .15s, r .15s; cursor: pointer; }
.dp-noktaSon, .dp-noktaAktif { opacity: 1; }
.dp-noktaAktif { r: 5.5; }
.dp-imlec { stroke: var(--lb-accent); stroke-width: 1; stroke-dasharray: 3 3; opacity: .6; }
.dp-ipucu {
  position: absolute; transform: translate(-50%, calc(-100% - 12px)); pointer-events: none; z-index: 2;
  background: var(--lb-text); color: #fff; border-radius: 9px; padding: 7px 11px; font-size: 12px; line-height: 1.3;
  box-shadow: var(--lb-shadow-lg); display: flex; flex-direction: column; gap: 1px; white-space: nowrap;
}
.dp-ipucu span { opacity: .75; font-size: 11px; }
.dp-ipucu strong { font-size: 13px; }
.dp-ipucu::after { content: ""; position: absolute; left: 50%; bottom: -5px; width: 10px; height: 10px; background: var(--lb-text); transform: translateX(-50%) rotate(45deg); border-radius: 2px; }

/* Dikkat listesi */
.dp-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.dp-satir {
  display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--lb-border);
  background: var(--lb-surface-2); color: var(--lb-text); transition: border-color .15s, background .15s, transform .15s;
}
.dp-satir:hover { border-color: var(--lb-accent); background: var(--lb-accent-soft); transform: translateX(2px); }
.dp-satirIkon { width: 32px; height: 32px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; background: var(--lb-surface); border: 1px solid var(--lb-border); color: var(--lb-text-2); }
.dp-seviye-uyari .dp-satirIkon { background: #fff4e5; border-color: #ffe0b3; color: #c2410c; }
.dp-seviye-bilgi .dp-satirIkon { background: var(--lb-accent-soft); border-color: #dfe4ff; color: var(--lb-accent); }
.dp-seviye-not .dp-satirIkon { color: var(--lb-text-3); }
.dp-satirMetin { flex: 1; font-size: 13px; color: var(--lb-text-2); line-height: 1.35; }
.dp-satirMetin strong { color: var(--lb-text); font-size: 15px; font-weight: 800; margin-right: 3px; font-variant-numeric: tabular-nums; }
.dp-satirOk { color: var(--lb-text-3); flex-shrink: 0; transition: transform .15s, color .15s; }
.dp-satir:hover .dp-satirOk { color: var(--lb-accent); transform: translateX(2px); }
.dp-bos { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 34px 16px; color: var(--lb-text-3); font-size: 13px; }
.dp-bos strong { color: var(--lb-text); font-size: 15px; }
.dp-bosIkon { width: 48px; height: 48px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--lb-success-soft); color: var(--lb-success); margin-bottom: 6px; }
.dp-bosSatir { font-size: 13px; color: var(--lb-text-3); margin: 8px 0 0; padding: 18px 12px; text-align: center; border: 1px dashed var(--lb-border-strong); border-radius: 12px; }

/* Bugun & yaklasan */
.dp-sekmeler { display: flex; gap: 4px; padding: 4px; background: var(--lb-surface-2); border: 1px solid var(--lb-border); border-radius: 12px; margin-bottom: 10px; overflow-x: auto; }
.dp-sekme { flex: 1; border: 0; background: transparent; font: inherit; font-size: 12px; font-weight: 700; color: var(--lb-text-2); padding: 8px 10px; border-radius: 9px; cursor: pointer; white-space: nowrap; display: inline-flex; align-items: center; justify-content: center; gap: 6px; transition: background .15s, color .15s; }
.dp-sekme b { font-size: 11px; font-weight: 800; background: var(--lb-border); color: var(--lb-text-2); padding: 1px 7px; border-radius: 99px; }
.dp-sekme:hover { color: var(--lb-text); }
.dp-sekmeAktif { background: var(--lb-surface); color: var(--lb-accent-dark); box-shadow: 0 1px 3px rgba(22, 33, 59, .1); }
.dp-sekmeAktif b { background: var(--lb-accent-soft); color: var(--lb-accent-dark); }
.dp-sekmeIcerik { display: flex; flex-direction: column; gap: 2px; }
.dp-kisi { display: flex; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 10px; color: var(--lb-text); transition: background .15s; }
a.dp-kisi:hover { background: var(--lb-surface-3); }
.dp-kisiSoluk { opacity: .55; }
.dp-kisiMetin { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.dp-kisiMetin strong { font-size: 13px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dp-kisiMetin span { font-size: 11.5px; color: var(--lb-text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dp-tur { font-size: 11px; font-weight: 700; padding: 4px 9px; border-radius: 99px; white-space: nowrap; color: var(--dp-tur, var(--lb-accent)); background: color-mix(in srgb, var(--dp-tur, var(--lb-accent)) 12%, #fff); border: 1px solid color-mix(in srgb, var(--dp-tur, var(--lb-accent)) 28%, #fff); }
.dp-kalan { font-size: 12px; font-weight: 600; color: var(--lb-text-2); white-space: nowrap; }
.dp-kalanVurgu { color: var(--lb-accent-dark); font-weight: 800; }
.dp-altBaslik { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--lb-text-3); padding: 10px 10px 4px; }
.dp-takvimKutu { width: 40px; height: 40px; border-radius: 10px; border: 1px solid var(--lb-border); background: var(--lb-surface-2); display: inline-flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; flex-shrink: 0; }
.dp-takvimKutu b { font-size: 15px; font-weight: 800; color: var(--lb-text); }
.dp-takvimKutu span { font-size: 9.5px; font-weight: 700; text-transform: uppercase; color: var(--lb-text-3); margin-top: 2px; }

/* Yatay cubuklar (tek renk; izin turlerinde turun kendi rengi) */
.dp-cubuklar { display: flex; flex-direction: column; gap: 9px; }
.dp-cubuk { display: grid; grid-template-columns: minmax(96px, 34%) 1fr auto; align-items: center; gap: 12px; font-size: 12.5px; }
.dp-cubukAd { color: var(--lb-text-2); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: flex; align-items: center; gap: 7px; }
.dp-nokta2 { width: 9px; height: 9px; border-radius: 3px; background: var(--dp-tur, var(--lb-accent)); flex-shrink: 0; }
.dp-cubukRay { height: 10px; border-radius: 99px; background: var(--lb-surface-3); overflow: hidden; }
.dp-cubukDolgu { display: block; height: 100%; width: 0; border-radius: 99px; background: var(--dp-dolgu, var(--lb-accent)); transition: width .8s cubic-bezier(.2, .7, .2, 1); }
.dp-hazir .dp-cubukDolgu { width: var(--dp-genislik, 0); }
.dp-cubukDeger { font-weight: 800; color: var(--lb-text); font-variant-numeric: tabular-nums; white-space: nowrap; }
.dp-cubukDeger small { font-weight: 500; color: var(--lb-text-3); font-size: 11px; }

@media (max-width: 1100px) {
  .dp-grid { grid-template-columns: 1fr; }
  .dp-grafik, .dp-dikkat, .dp-bugun, .dp-birim, .dp-izinTur { grid-column: 1; grid-row: auto; }
}

/* Avatar (fotograf veya bas harfler) */
.lb-avatar {
  width: var(--av-boyut, 32px); height: var(--av-boyut, 32px); border-radius: 10px; flex-shrink: 0; object-fit: cover;
  display: inline-flex; align-items: center; justify-content: center; font-size: calc(var(--av-boyut, 32px) * .36); font-weight: 800; letter-spacing: .02em;
  color: hsl(var(--av-ton, 230) 45% 32%); background: linear-gradient(135deg, hsl(var(--av-ton, 230) 80% 93%), hsl(var(--av-ton, 230) 70% 85%));
  border: 1px solid hsl(var(--av-ton, 230) 50% 82%);
}

/* ============================================================
   Komut paleti (Ctrl+K) - lb-komut  (2026-09-21)
   ============================================================ */
.lb-komutKutu { padding: 0 14px; margin: -4px 0 14px; }
.lb-komutTetik {
  display: flex; align-items: center; gap: 9px; width: 100%; padding: 9px 12px; border-radius: 11px;
  border: 1px solid var(--lb-border); background: var(--lb-surface); color: var(--lb-text-3); font: inherit; font-size: 12.5px; cursor: pointer;
  transition: border-color .15s, box-shadow .15s, color .15s;
}
.lb-komutTetik:hover { border-color: var(--lb-accent); color: var(--lb-text-2); box-shadow: 0 0 0 3px var(--lb-accent-soft); }
.lb-komutTetik svg { flex-shrink: 0; }
.lb-komutTetik span { flex: 1; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lb-komutTetik kbd, .lb-komut kbd {
  font: 600 10.5px/1 "Plus Jakarta Sans", system-ui, sans-serif; color: var(--lb-text-3); background: var(--lb-surface-2);
  border: 1px solid var(--lb-border-strong); border-bottom-width: 2px; border-radius: 5px; padding: 3px 5px; white-space: nowrap;
}
.lb-komutKatman { position: fixed; inset: 0; z-index: 400; display: none; align-items: flex-start; justify-content: center; padding: 11vh 16px 16px; background: rgba(22, 33, 59, .42); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.lb-komutKatman.lb-komutAcik { display: flex; animation: lb-komutKatmanAc .14s ease-out; }
@keyframes lb-komutKatmanAc { from { opacity: 0; } to { opacity: 1; } }
.lb-komut { width: 100%; max-width: 620px; background: var(--lb-surface); border-radius: 16px; box-shadow: 0 30px 80px -20px rgba(22, 33, 59, .5), 0 0 0 1px rgba(255, 255, 255, .6); overflow: hidden; animation: lb-komutAc .16s cubic-bezier(.2, .8, .2, 1); }
@keyframes lb-komutAc { from { opacity: 0; transform: translateY(-8px) scale(.985); } to { opacity: 1; transform: none; } }
.lb-komutGiris { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--lb-border); color: var(--lb-text-3); }
.lb-komutGiris input { flex: 1; border: 0; outline: 0; background: transparent; font: inherit; font-size: 16px; color: var(--lb-text); min-width: 0; }
.lb-komutGiris input::placeholder { color: var(--lb-text-3); }
.lb-komutListe { max-height: min(60vh, 460px); overflow-y: auto; padding: 8px; }
.lb-komutGrup { font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--lb-text-3); padding: 10px 10px 5px; }
.lb-komutOge { display: flex; align-items: center; gap: 12px; width: 100%; padding: 9px 10px; border: 0; border-radius: 10px; background: transparent; font: inherit; color: var(--lb-text); text-align: left; cursor: pointer; }
.lb-komutSecili { background: var(--lb-accent-soft); }
.lb-komutIkon { width: 32px; height: 32px; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; background: var(--lb-surface-2); border: 1px solid var(--lb-border); color: var(--lb-text-2); }
.lb-komutSecili .lb-komutIkon { background: var(--lb-gradient); border-color: transparent; color: #fff; }
.lb-komutIkon svg { width: 15px; height: 15px; }
.lb-komutHarf { font-size: 12px; font-weight: 800; }
.lb-komutFoto { object-fit: cover; }
.lb-komutMetin { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.lb-komutMetin strong { font-size: 13.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lb-komutMetin strong mark { background: transparent; color: var(--lb-accent-dark); font-weight: 800; }
.lb-komutMetin span { font-size: 11.5px; color: var(--lb-text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lb-komutTur { font-size: 10.5px; font-weight: 700; color: var(--lb-text-3); background: var(--lb-surface-2); border: 1px solid var(--lb-border); padding: 3px 8px; border-radius: 99px; flex-shrink: 0; }
.lb-komutSecili .lb-komutTur { color: var(--lb-accent-dark); background: #fff; border-color: #dfe4ff; }
.lb-komutBos { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 36px 12px; color: var(--lb-text-3); font-size: 12.5px; }
.lb-komutBos strong { color: var(--lb-text-2); font-size: 14px; margin-top: 6px; }
.lb-komutAlt { display: flex; gap: 18px; padding: 10px 16px; border-top: 1px solid var(--lb-border); background: var(--lb-surface-2); font-size: 11.5px; color: var(--lb-text-3); }
.lb-komutAlt span { display: inline-flex; align-items: center; gap: 5px; }
.lb-komutBody { overflow: hidden; }

/* Tablo siralama gostergesi */
th.lb-siralanabilir { cursor: pointer; user-select: none; position: relative; padding-right: 22px !important; transition: color .15s; }
th.lb-siralanabilir:hover { color: var(--lb-accent-dark); }
th.lb-siralanabilir::after { content: ""; position: absolute; right: 9px; top: 50%; width: 6px; height: 6px; margin-top: -4px; border-right: 1.8px solid currentColor; border-bottom: 1.8px solid currentColor; transform: rotate(45deg); opacity: 0; transition: opacity .15s, transform .15s; }
th.lb-siralanabilir:hover::after { opacity: .45; }
th.lb-siralanabilir[aria-sort="ascending"]::after { opacity: 1; transform: rotate(-135deg); margin-top: -1px; color: var(--lb-accent-dark); }
th.lb-siralanabilir[aria-sort="descending"]::after { opacity: 1; color: var(--lb-accent-dark); }
th.lb-siralanabilir[aria-sort] { color: var(--lb-accent-dark); }

/* Personel listesi: avatar + ad */
.pe-name .pe-kisi { display: inline-flex; align-items: center; gap: 10px; }
.pe-name .pe-kisi .lb-avatar { border-radius: 8px; }

/* Sayfa girisi: icerik hafifce yukari suzulur (hareket azaltma tercihine saygili) */
@keyframes lb-sayfaGiris { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.pn-content > *, .al-content > * { animation: lb-sayfaGiris .32s ease-out both; }
.pn-content > *:nth-child(2), .al-content > *:nth-child(2) { animation-delay: .04s; }
.pn-content > *:nth-child(3), .al-content > *:nth-child(3) { animation-delay: .08s; }
@media (prefers-reduced-motion: reduce) { .pn-content > *, .al-content > * { animation: none; } .dp-cubukDolgu { transition: none; } .dp-nabiz { animation: none; } }

/* Markali hata sayfalari (errors/*) - er- */
.er-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px; background: url("/arka-plan.png") center / cover no-repeat fixed #f2f5fa; }
.er-card { width: 100%; max-width: 480px; background: var(--lb-surface); border: 1px solid var(--lb-border); border-radius: 20px; box-shadow: var(--lb-shadow-lg); padding: 40px 36px; text-align: center; animation: lb-sayfaGiris .35s ease-out both; }
.er-logo img { height: 72px; width: auto; }
.er-kod { font-size: 64px; font-weight: 800; letter-spacing: -.04em; line-height: 1; margin: 22px 0 8px; background: var(--lb-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
.er-card h1 { font-size: 20px; color: var(--lb-text); margin: 0 0 8px; }
.er-card p { font-size: 14px; color: var(--lb-text-2); line-height: 1.55; margin: 0 0 24px; }
.er-butonlar { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.er-butonlar .pe-btnGhost { padding: 10px 16px; border-radius: 10px; font-size: 14px; }

/* ============================================================
   Personel Portali yonetimi (panel) - pd-   (2026-09-21)
   ============================================================ */
.pd-ikiKolon { display: grid; grid-template-columns: 1.15fr 1fr; gap: 16px; align-items: start; }
.pd-kartDuzen { grid-template-columns: 1fr 1.05fr; }
.pd-kolon { display: flex; flex-direction: column; gap: 16px; }
.pd-satir { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pd-formAlt { justify-content: flex-end; margin-top: 4px; }
.pd-adres a { font-weight: 700; color: var(--lb-accent); word-break: break-all; }
.pd-secenekler { display: flex; flex-direction: column; gap: 10px; }
.pd-secenekSatir { flex-direction: row; flex-wrap: wrap; gap: 8px 18px; }
.pd-anahtar { display: flex; align-items: flex-start; gap: 12px; cursor: pointer; padding: 10px 12px; border: 1px solid var(--lb-border); border-radius: 12px; background: var(--lb-surface-2); transition: border-color .15s; }
.pd-anahtar:hover { border-color: var(--lb-border-strong); }
.pd-anahtar input { position: absolute; opacity: 0; width: 0; height: 0; }
.pd-anahtarKutu { position: relative; width: 38px; height: 22px; border-radius: 99px; background: #cfd6e4; flex-shrink: 0; transition: background .18s; margin-top: 1px; }
.pd-anahtarKutu::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: transform .18s; }
.pd-anahtar input:checked + .pd-anahtarKutu { background: var(--lb-accent); }
.pd-anahtar input:checked + .pd-anahtarKutu::after { transform: translateX(16px); }
.pd-anahtar input:focus-visible + .pd-anahtarKutu { box-shadow: 0 0 0 3px var(--lb-accent-soft); }
.pd-anahtarMetin { display: flex; flex-direction: column; gap: 2px; font-size: 13px; }
.pd-anahtarMetin strong { color: var(--lb-text); font-weight: 700; }
.pd-anahtarMetin span { color: var(--lb-text-3); font-size: 12px; line-height: 1.35; }
.pd-anahtarKucuk { padding: 7px 10px; background: transparent; }
.pd-sure .pd-sureKutu { display: flex; align-items: center; gap: 8px; }
.pd-sure input { width: 90px; }
.pd-sure em { font-style: normal; color: var(--lb-text-3); font-size: 12px; }
.pd-modulListe { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.pd-modulListe li { display: flex; align-items: center; gap: 12px; padding: 9px 10px; border-radius: 10px; color: var(--lb-text-2); }
.pd-modulListe li:hover { background: var(--lb-surface-3); }
.pd-modulListe li > span { flex: 1; display: flex; flex-direction: column; gap: 1px; font-size: 12px; color: var(--lb-text-3); }
.pd-modulListe li > span strong { color: var(--lb-text); font-size: 13px; }
.pd-dosya { padding: 7px 10px; }
.iz-label small { font-weight: 500; color: var(--lb-text-3); }

/* Duyuru listesi */
.pd-duyuruListe { display: grid; grid-template-columns: repeat(auto-fill, minmax(420px, 1fr)); gap: 14px; }
.pd-duyuru { display: grid; grid-template-columns: 132px 1fr; grid-template-rows: auto auto; background: var(--lb-surface); border: 1px solid var(--lb-border); border-radius: var(--lb-radius); box-shadow: var(--lb-shadow); overflow: hidden; transition: border-color .15s, transform .15s; }
.pd-duyuru:hover { border-color: var(--lb-border-strong); transform: translateY(-1px); }
.pd-durum-PASIF { opacity: .7; }
.pd-duyuruKapak { grid-row: 1 / span 2; position: relative; background: var(--lb-surface-3); min-height: 132px; display: flex; align-items: center; justify-content: center; color: var(--lb-text-3); }
.pd-duyuruKapak img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.pd-gorselSayi { position: absolute; right: 8px; bottom: 8px; display: inline-flex; align-items: center; gap: 4px; background: rgba(22,33,59,.75); color: #fff; font-size: 11px; font-weight: 700; padding: 3px 7px; border-radius: 99px; }
.pd-kapakIkon { width: 44px; height: 44px; border-radius: 12px; background: var(--lb-surface); border: 1px solid var(--lb-border); display: inline-flex; align-items: center; justify-content: center; }
.pd-duyuruGovde { padding: 14px 16px 8px; min-width: 0; }
.pd-duyuruUst { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 8px; }
.pd-rozet { display: inline-flex; align-items: center; gap: 4px; font-size: 10.5px; font-weight: 700; padding: 3px 8px; border-radius: 99px; background: var(--lb-surface-2); color: var(--lb-text-2); border: 1px solid var(--lb-border); }
.pd-rozet-YAYINDA { background: var(--lb-success-soft); color: var(--lb-success); border-color: #cfeee2; }
.pd-rozet-PLANLI { background: #fff4e5; color: #c2410c; border-color: #ffe0b3; }
.pd-rozet-BITTI { background: var(--lb-surface-2); color: var(--lb-text-3); }
.pd-rozet-PASIF { background: var(--lb-danger-soft); color: var(--lb-danger-fg); border-color: #f6d5e2; }
.pd-rozetSabit { background: var(--lb-accent-soft); color: var(--lb-accent-dark); border-color: #dfe4ff; }
.pd-duyuruBaslik { font-size: 15px; font-weight: 800; margin: 0 0 4px; color: var(--lb-text); }
.pd-duyuruMetin { font-size: 12.5px; color: var(--lb-text-2); margin: 0 0 8px; line-height: 1.45; }
.pd-duyuruAlt { display: flex; gap: 12px; font-size: 11.5px; color: var(--lb-text-3); }
.pd-duyuruAlt span { display: inline-flex; align-items: center; gap: 4px; }
.pd-duyuruAksiyon { grid-column: 2; display: flex; gap: 6px; flex-wrap: wrap; padding: 8px 16px 14px; }
.pd-duyuruAksiyon .pe-btnGhost, .pd-duyuruAksiyon .pe-btnDanger { padding: 5px 10px; font-size: 12px; display: inline-flex; align-items: center; gap: 5px; }
.pd-modal { max-width: 640px; }
.pd-turSecim { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pd-turKart { cursor: pointer; }
.pd-turKart input { position: absolute; opacity: 0; width: 0; height: 0; }
.pd-turKart > span { display: flex; flex-direction: column; gap: 3px; padding: 12px 14px; border: 1.5px solid var(--lb-border); border-radius: 12px; background: var(--lb-surface-2); color: var(--lb-text-2); transition: border-color .15s, background .15s; }
.pd-turKart > span strong { color: var(--lb-text); font-size: 13.5px; }
.pd-turKart > span small { color: var(--lb-text-3); font-size: 11.5px; }
.pd-turKart input:checked + span { border-color: var(--lb-accent); background: var(--lb-accent-soft); color: var(--lb-accent-dark); }
.pd-mevcutGorseller { display: flex; gap: 8px; flex-wrap: wrap; }
.pd-mevcutGorsel { position: relative; width: 84px; height: 64px; border-radius: 9px; overflow: hidden; border: 1px solid var(--lb-border); }
.pd-mevcutGorsel img { width: 100%; height: 100%; object-fit: cover; }
.pd-gorselSil { position: absolute; top: 4px; right: 4px; width: 20px; height: 20px; border-radius: 50%; border: 0; background: rgba(22,33,59,.8); color: #fff; font-size: 14px; line-height: 1; cursor: pointer; }
.pd-gorselSil:hover { background: var(--lb-danger); }

/* Dogum gunu karti sayfasi */
.pd-temalar { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.pd-tema { cursor: pointer; display: flex; flex-direction: column; gap: 4px; text-align: center; font-size: 12px; }
.pd-tema input { position: absolute; opacity: 0; width: 0; height: 0; }
.pd-tema strong { color: var(--lb-text); }
.pd-tema small { color: var(--lb-text-3); font-size: 10.5px; line-height: 1.3; }
.pd-temaOrnek { height: 56px; min-height: 0 !important; border-radius: 10px !important; border: 2px solid transparent; padding: 0 !important; transition: border-color .15s, transform .15s; }
.pd-temaOrnek .dk-konfeti, .pd-temaOrnek .dk-icerik { display: none; }
.pd-tema input:checked ~ .pd-temaOrnek { border-color: var(--lb-accent); transform: scale(1.04); box-shadow: 0 0 0 3px var(--lb-accent-soft); }
.pd-onizlemeUst { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pd-onizlemeAd { flex-direction: row !important; align-items: center; gap: 8px !important; }
.pd-onizlemeAd input { width: 170px; padding: 6px 9px; }
@media (max-width: 1200px) { .pd-ikiKolon, .pd-kartDuzen { grid-template-columns: 1fr; } .pd-duyuruListe { grid-template-columns: 1fr; } }

/* ============================================================
   Dogum gunu karti - dk-  (panel onizleme + portal)
   ============================================================ */
.dk-kart { position: relative; overflow: hidden; border-radius: 20px; min-height: 300px; padding: 34px 28px; display: flex; align-items: center; justify-content: center; text-align: center; color: #fff; box-shadow: var(--lb-shadow-lg); isolation: isolate; }
.dk-kart::before { content: ""; position: absolute; inset: 0; background-image: var(--dk-gorsel, none); background-size: cover; background-position: center; z-index: -2; }
.dk-kart::after { content: ""; position: absolute; inset: 0; z-index: -1; }
.dk-tema-konfeti { background: linear-gradient(135deg, #8f37e9 0%, #536ee0 55%, #07b5d4 100%); }
.dk-tema-gunbatimi { background: linear-gradient(135deg, #f97316 0%, #ec4899 60%, #8b5cf6 100%); }
.dk-tema-zarif { background: linear-gradient(160deg, #0f172a 0%, #1e293b 60%, #312e81 100%); }
.dk-tema-zarif .dk-baslik, .dk-tema-zarif .dk-pasta { color: #fcd34d; }
.dk-tema-zarif .dk-imza { color: #fde68a; border-color: rgba(252, 211, 77, .5); }
.dk-tema-bahar { background: linear-gradient(135deg, #34d399 0%, #06b6d4 60%, #3b82f6 100%); }
.dk-tema-kurumsal { background: #ffffff; color: var(--lb-text); border: 1px solid var(--lb-border); }
.dk-tema-kurumsal::after { background: linear-gradient(90deg, #8f37e9, #536ee0, #07b5d4); height: 6px; inset: auto 0 0 0; }
.dk-tema-kurumsal .dk-baslik { background: var(--lb-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
.dk-tema-kurumsal .dk-metin { color: var(--lb-text-2); }
.dk-tema-kurumsal .dk-imza { color: var(--lb-accent-dark); border-color: var(--lb-border); }
.dk-tema-kurumsal .dk-konfeti i { opacity: .8; }
.dk-kart[style*="--dk-gorsel"]::after { background: rgba(15, 23, 42, .45); }
.dk-kart[style*="--dk-gorsel"] { color: #fff; }
.dk-kart[style*="--dk-gorsel"] .dk-baslik, .dk-kart[style*="--dk-gorsel"] .dk-metin, .dk-kart[style*="--dk-gorsel"] .dk-imza { color: #fff; -webkit-text-fill-color: #fff; text-shadow: 0 1px 8px rgba(0,0,0,.35); }
.dk-icerik { position: relative; display: flex; flex-direction: column; align-items: center; gap: 10px; max-width: 520px; }
.dk-logo { height: 40px; width: auto; max-width: 160px; object-fit: contain; background: rgba(255,255,255,.92); border-radius: 10px; padding: 5px 10px; }
.dk-firma { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; opacity: .85; }
.dk-pasta { font-size: 44px; line-height: 1; filter: drop-shadow(0 6px 12px rgba(0,0,0,.25)); animation: dk-zipla 2.4s ease-in-out infinite; }
@keyframes dk-zipla { 0%, 100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-6px) rotate(3deg); } }
.dk-baslik { font-size: 26px; font-weight: 800; letter-spacing: -.02em; margin: 0; line-height: 1.15; }
.dk-metin { font-size: 14.5px; line-height: 1.6; margin: 0; opacity: .95; }
.dk-imza { margin-top: 8px; font-size: 13px; font-weight: 700; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.35); min-width: 160px; }
.dk-konfeti { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.dk-konfeti i { position: absolute; top: -12px; left: calc(var(--i) * 5.6%); width: 8px; height: 12px; border-radius: 2px; opacity: .85;
  background: hsl(calc(var(--i) * 47deg) 90% 65%); animation: dk-dus 5s linear infinite; animation-delay: calc(var(--i) * -0.37s); transform-origin: center; }
.dk-konfeti i:nth-child(odd) { width: 6px; height: 6px; border-radius: 50%; }
@keyframes dk-dus { 0% { transform: translateY(-20px) rotate(0deg); } 100% { transform: translateY(360px) rotate(540deg); } }
@media (prefers-reduced-motion: reduce) { .dk-konfeti i, .dk-pasta { animation: none; } }

/* ============================================================
   Portal: slayt, duyurular, dogum gunu - po-
   ============================================================ */
.po-hosgeldin { display: block; margin-top: 4px; font-size: 12.5px; color: var(--lb-accent-dark); font-weight: 600; }
.po-dogumKart { animation: lb-sayfaGiris .5s ease-out both; }
.po-dogumKart .dk-kart { min-height: 320px; }
.po-dogumSerit { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; background: linear-gradient(90deg, #fff1f2, #fdf2f8 60%, #f5f3ff); border: 1px solid #fbcfe8; border-radius: 12px; padding: 10px 14px; font-size: 13px; color: var(--lb-text-2); }
.po-dogumSeritIkon { font-size: 20px; }
.po-dogumSeritMetin { flex: 1; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.po-dogumSeritMetin strong { color: var(--lb-text); }
.po-dogumKisi { display: inline-flex; align-items: center; gap: 6px; background: #fff; border: 1px solid var(--lb-border); border-radius: 99px; padding: 3px 10px 3px 4px; font-weight: 600; color: var(--lb-text); }
.po-dogumKisi .lb-avatar { border-radius: 50%; }
.po-slayt { position: relative; border-radius: var(--lb-radius); overflow: hidden; background: var(--lb-text); box-shadow: var(--lb-shadow-lg); aspect-ratio: 21 / 8; min-height: 220px; max-height: 420px; }
.po-slaytSerit, .po-slaytOge { position: absolute; inset: 0; }
.po-slaytOge { display: block; color: #fff; animation: po-slaytGiris .6s ease-out; }
@keyframes po-slaytGiris { from { opacity: 0; transform: scale(1.02); } to { opacity: 1; transform: none; } }
.po-slaytOge img { width: 100%; height: 100%; object-fit: cover; display: block; }
.po-slaytYazi { position: absolute; left: 0; right: 0; bottom: 0; padding: 40px 28px 22px; display: flex; flex-direction: column; gap: 4px; background: linear-gradient(180deg, rgba(15,23,42,0) 0%, rgba(15,23,42,.75) 100%); }
.po-slaytYazi strong { font-size: 20px; font-weight: 800; letter-spacing: -.01em; text-shadow: 0 1px 6px rgba(0,0,0,.4); }
.po-slaytYazi span { font-size: 13px; opacity: .92; max-width: 720px; }
.po-slaytOk { position: absolute; top: 50%; transform: translateY(-50%); width: 38px; height: 38px; border-radius: 50%; border: 0; background: rgba(255,255,255,.85); color: var(--lb-text); font-size: 22px; line-height: 1; cursor: pointer; opacity: 0; transition: opacity .15s, background .15s; display: flex; align-items: center; justify-content: center; }
.po-slayt:hover .po-slaytOk { opacity: 1; }
.po-slaytOk:hover { background: #fff; }
.po-slaytGeri { left: 14px; } .po-slaytIleri { right: 14px; }
.po-slaytTek .po-slaytOk, .po-slaytTek .po-slaytNoktalar { display: none; }
.po-slaytNoktalar { position: absolute; right: 18px; top: 14px; display: flex; gap: 6px; }
.po-slaytNoktalar button { width: 8px; height: 8px; border-radius: 99px; border: 0; background: rgba(255,255,255,.5); cursor: pointer; padding: 0; transition: width .2s, background .2s; }
.po-slaytNoktalar .po-noktaAktif { width: 22px; background: #fff; }
.po-duyuruIzgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.po-duyuru { display: flex; gap: 12px; padding: 10px; border: 1px solid var(--lb-border); border-radius: 12px; background: var(--lb-surface-2); color: var(--lb-text); transition: border-color .15s, background .15s; align-items: flex-start; }
.po-duyuru:hover { border-color: var(--lb-accent); background: var(--lb-accent-soft); }
.po-duyuruSabit { border-color: #dfe4ff; }
.po-duyuruKapak { width: 84px; height: 64px; border-radius: 9px; object-fit: cover; flex-shrink: 0; }
.po-duyuruIkon { width: 44px; height: 44px; border-radius: 11px; background: #fff; border: 1px solid var(--lb-border); display: inline-flex; align-items: center; justify-content: center; color: #f97316; flex-shrink: 0; }
.po-duyuruMetin { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; font-size: 12.5px; color: var(--lb-text-2); }
.po-duyuruMetin strong { font-size: 13.5px; color: var(--lb-text); }
.po-duyuruUst { display: flex; align-items: center; gap: 8px; }
.po-duyuruRozet { display: inline-flex; align-items: center; gap: 3px; font-size: 10px; font-weight: 800; background: var(--lb-accent-soft); color: var(--lb-accent-dark); padding: 2px 7px; border-radius: 99px; }
.po-duyuruListe { display: flex; flex-direction: column; gap: 8px; }
.po-duyuruSatir { background: var(--lb-surface); box-shadow: var(--lb-shadow); }
.po-gorselSayi { position: static; align-self: center; }
.po-duyuruDetay { background: var(--lb-surface); border: 1px solid var(--lb-border); border-radius: var(--lb-radius); box-shadow: var(--lb-shadow); padding: 20px 24px; display: flex; flex-direction: column; gap: 10px; }
.po-duyuruDetayUst { display: flex; gap: 10px; align-items: center; }
.po-duyuruDetay h2 { font-size: 22px; font-weight: 800; margin: 0; letter-spacing: -.01em; }
.po-duyuruGovde { font-size: 14px; line-height: 1.65; color: var(--lb-text-2); }
.po-galeri { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; margin-top: 6px; }
.po-galeriOge { margin: 0; border-radius: 12px; overflow: hidden; border: 1px solid var(--lb-border); background: var(--lb-surface-2); }
.po-galeriOge img { width: 100%; display: block; }
.po-galeriOge figcaption { padding: 8px 12px; font-size: 12px; color: var(--lb-text-2); }
@media (max-width: 800px) { .po-slayt { aspect-ratio: 16 / 9; } .pd-temalar { grid-template-columns: repeat(3, 1fr); } .pd-satir { grid-template-columns: 1fr; } }

/* Takvim: ay/yil secimi + elle tarih yazma (ts- ve ct- ortak) - 2026-09-21 */
.ts-popSecim, .ct-popSecim { display: flex; gap: 6px; }
.ts-popSec, .ct-popSec {
  font: inherit; font-size: 13.5px; font-weight: 800; color: var(--lb-text); background: var(--lb-bg); border: 1px solid transparent; border-radius: 9px;
  padding: 5px 26px 5px 10px; cursor: pointer; appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%2346546e' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 9px center;
}
.ts-popSec:hover, .ct-popSec:hover { border-color: var(--lb-border-strong); }
.ts-popSec:focus, .ct-popSec:focus { outline: none; border-color: var(--lb-accent); box-shadow: 0 0 0 3px var(--lb-accent-soft); }
.ts-popSecYil, .ct-popSecYil { min-width: 82px; }
.ts-popYaz, .ct-popYaz { display: flex; gap: 6px; margin-bottom: 10px; }
.ts-popYazInput, .ct-popYazInput { flex: 1; font: inherit; font-size: 13px; padding: 7px 10px; border: 1px solid var(--lb-border-strong); border-radius: 9px; color: var(--lb-text); background: var(--lb-surface); min-width: 0; }
.ts-popYazInput:focus, .ct-popYazInput:focus { outline: none; border-color: var(--lb-accent); box-shadow: 0 0 0 3px var(--lb-accent-soft); }
.ts-popYazHata, .ct-popYazHata { border-color: var(--lb-danger) !important; box-shadow: 0 0 0 3px var(--lb-danger-soft) !important; }
.ts-popYazBtn, .ct-popYazBtn { font: inherit; font-size: 12.5px; font-weight: 700; padding: 7px 12px; border: 1px solid var(--lb-border-strong); border-radius: 9px; background: var(--lb-surface); color: var(--lb-text-2); cursor: pointer; }
.ts-popYazBtn:hover, .ct-popYazBtn:hover { border-color: var(--lb-accent); color: var(--lb-accent-dark); }

/* ============================================================
   Portal: Ekibim / Ekibimin Kayitlari (2026-09-21)
   ============================================================ */
.po-kayitSekmeler { flex-wrap: wrap; }
.po-kayitYerlesim { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 16px; align-items: start; }
.po-kisiListeKart { background: var(--lb-surface); border: 1px solid var(--lb-border); border-radius: var(--lb-radius); box-shadow: var(--lb-shadow); padding: 10px; display: flex; flex-direction: column; gap: 8px; position: sticky; top: 16px; max-height: calc(100vh - 32px); }
.po-kisiListe { display: flex; flex-direction: column; gap: 2px; overflow-y: auto; min-height: 0; }
.po-kisiSatir { display: flex; align-items: center; gap: 10px; padding: 7px 8px; border-radius: 9px; color: var(--lb-text); border: 1px solid transparent; }
.po-kisiSatir:hover { background: var(--lb-surface-3); }
.po-kisiSatir.po-kisiAktif { background: var(--lb-accent-soft); border-color: var(--lb-accent); }
.po-kisiSatir .po-satirMetin strong { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.po-kisiSatir .po-satirMetin span { font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.po-kisiFotoK { width: 32px; height: 32px; border-radius: 9px; object-fit: cover; flex-shrink: 0; }
.po-kisiAvatarK { width: 32px; height: 32px; border-radius: 9px; background: var(--lb-gradient); color: #fff; font-weight: 800; font-size: 12px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.po-kisiNokta { width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0; font-style: normal; font-size: 12px; line-height: 1; }
.po-kisiNoktaRed { background: var(--lb-danger); }
.po-kisiNoktaDogum { width: auto; height: auto; }
.po-kisiDetay { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.po-profilKart { display: flex; flex-direction: column; gap: 14px; }
.po-profilUst { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.po-profilFoto { width: 64px; height: 64px; border-radius: 16px; object-fit: cover; flex-shrink: 0; }
.po-profilAvatar { width: 64px; height: 64px; border-radius: 16px; background: var(--lb-gradient); color: #fff; font-weight: 800; font-size: 22px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.po-profilAd { margin: 0; font-size: 20px; font-weight: 800; line-height: 1.2; }
.po-profilUst .po-satirMetin > span { font-size: 13px; color: var(--lb-text-2); }
.po-profilDurum { margin-left: auto; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.po-profilIzgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; }
.po-profilAlan { border: 1px solid var(--lb-border); border-radius: 10px; padding: 10px 12px; display: flex; flex-direction: column; gap: 3px; background: var(--lb-surface-2, #fafbff); }
.po-profilAlan > span { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--lb-text-3); }
.po-profilAlan strong { font-size: 15px; font-weight: 800; }
.po-profilAlan small { font-size: 11px; color: var(--lb-text-2); }
.po-profilAlanVurgu { border-color: #f59e0b; background: #fff7e6; }
.po-profilAlt { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 12px; color: var(--lb-text-2); border-top: 1px solid var(--lb-border); padding-top: 10px; }
.po-profilAlt .iz-adim { margin-left: 4px; }
.po-bolumBaslik { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 6px; }
.po-bolumBaslik h2 { margin: 0; }
.po-kartBaslik { font-size: 15px; font-weight: 800; display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.po-satirForm { display: inline-flex; gap: 6px; align-items: center; }
.po-satirForm .iz-input { width: auto; }
.po-hakTablo td, .po-hakTablo th { text-align: center; }
.po-hakTablo td:first-child, .po-hakTablo th:first-child { text-align: left; }
.po-hakAktif td { background: var(--lb-accent-soft); }
.po-eksi { color: var(--lb-danger); }
.po-kisiLink { display: inline-flex; align-items: center; gap: 8px; color: var(--lb-text); }
.po-kisiLink:hover b { color: var(--lb-accent); }
.po-dogumBugun td { background: var(--lb-success-soft); }
.po-dogumYakin td { background: #fff7e6; }
.po-nowrap { white-space: nowrap; }
.po-notHucre { max-width: 260px; color: var(--lb-text-2); }
.po-filtreSatir { padding: 0; }

/* Talep + akis (details) */
.po-talepAkis { background: var(--lb-surface); border: 1px solid var(--lb-border); border-radius: var(--lb-radius); box-shadow: var(--lb-shadow); overflow: hidden; }
.po-talepAkisOzet { list-style: none; display: flex; align-items: center; gap: 12px; padding: 12px 14px; cursor: pointer; user-select: none; }
.po-talepAkisOzet::-webkit-details-marker { display: none; }
.po-talepAkisOzet:hover { background: var(--lb-surface-3); }
.po-talepAkisOzet .po-satirMetin { flex: 1; }
.po-talepAkisOk { color: var(--lb-text-3); font-size: 12px; transition: transform .15s; }
.po-talepAkis[open] > .po-talepAkisOzet .po-talepAkisOk { transform: rotate(180deg); }
.po-talepAkisIc { border-top: 1px solid var(--lb-border); padding: 12px 16px 14px; background: var(--lb-surface-2, #fafbff); }
.po-bolum .po-talepAkis { box-shadow: none; }

/* Dikey zaman cizgisi: adim adim onay akisi */
.po-zaman { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.po-zamanAdim { position: relative; display: flex; gap: 12px; padding: 0 0 14px 0; }
.po-zamanAdim:last-child { padding-bottom: 0; }
.po-zamanAdim::before { content: ""; position: absolute; left: 13px; top: 26px; bottom: -2px; width: 2px; background: var(--lb-border-strong); }
.po-zamanAdim:last-child::before { display: none; }
.po-zamanNokta { width: 28px; height: 28px; border-radius: 50%; border: 2px solid var(--lb-border-strong); background: var(--lb-surface); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; position: relative; z-index: 1; }
.po-zamanNokta b { font-size: 12px; font-weight: 800; color: var(--lb-text-3); }
.po-zamanIcerik { display: flex; flex-direction: column; gap: 3px; min-width: 0; padding-top: 4px; flex: 1; }
.po-zamanBaslik { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; }
.po-zamanNo { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--lb-text-3); }
.po-zamanDurum { font-size: 11px; font-weight: 700; padding: 1px 8px; border-radius: 999px; border: 1px solid var(--lb-border-strong); color: var(--lb-text-2); background: var(--lb-surface); }
.po-zamanMeta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 12px; color: var(--lb-text-2); }
.po-zamanKisi { font-weight: 700; color: var(--lb-text); }
.po-zamanNot { margin: 2px 0 0; font-size: 12px; color: var(--lb-text-2); font-style: italic; }
.po-zamanTAMAM .po-zamanNokta { border-color: var(--lb-success); background: var(--lb-success-soft); }
.po-zamanTAMAM .po-zamanNokta b { color: var(--lb-success); }
.po-zamanTAMAM .po-zamanDurum { border-color: var(--lb-success); color: var(--lb-success); background: var(--lb-success-soft); }
.po-zamanTAMAM::before { background: var(--lb-success) !important; }
.po-zamanRED .po-zamanNokta, .po-zamanIPTAL .po-zamanNokta { border-color: var(--lb-danger); background: var(--lb-danger-soft); }
.po-zamanRED .po-zamanNokta b, .po-zamanIPTAL .po-zamanNokta b { color: var(--lb-danger-fg); }
.po-zamanRED .po-zamanDurum, .po-zamanIPTAL .po-zamanDurum { border-color: var(--lb-danger); color: var(--lb-danger-fg); background: var(--lb-danger-soft); }
.po-zamanBEKLIYOR .po-zamanNokta { border-color: #f59e0b; background: #fff7e6; box-shadow: 0 0 0 4px rgba(245, 158, 11, .18); }
.po-zamanBEKLIYOR .po-zamanNokta b { color: #b45309; }
.po-zamanBEKLIYOR .po-zamanDurum { border-color: #f59e0b; color: #b45309; background: #fff7e6; }
.po-zamanAktif .po-zamanBaslik strong { color: #b45309; }
.po-zamanSIRADA .po-zamanNokta { border-style: dashed; }
.po-zamanATLANDI, .po-zamanPASIF { opacity: .6; }
.po-zamanATLANDI .po-zamanNokta, .po-zamanPASIF .po-zamanNokta { border-style: dashed; }

/* Ekip semasi: kisi kartlari tiklanabilir */
a.po-semaKisi { color: var(--lb-text); }
a.po-semaKisi:hover { border-color: var(--lb-accent); background: var(--lb-accent-soft); }
.po-semaKisi em { font-style: normal; font-size: 10px; font-weight: 700; color: var(--lb-accent-dark); background: var(--lb-accent-soft); padding: 0 6px; border-radius: 999px; margin-left: auto; }
.po-semaBos { display: block; font-size: 10px; color: var(--lb-text-3); font-weight: 500; margin-top: 4px; }

@media (max-width: 960px) {
    .po-kayitYerlesim { grid-template-columns: 1fr; }
    .po-kisiListeKart { position: static; max-height: 280px; }
}
.po-filtreSatir { margin-bottom: 0; }
.po-filtreSatir .lb-arama { flex: 1 1 260px; max-width: 380px; }
.po-semaKokKolon::before { display: none; }
.po-semaKokKolon > .og-semaBirim::before { display: none; }

/* ============================================================
   Ozluk dosyasi (oz-) + genel talepler (tl-) (2026-09-21)
   ============================================================ */
.oz-etiket { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; background: var(--lb-surface-3); color: var(--lb-text-2); white-space: nowrap; }
.oz-dosya { display: inline-flex; align-items: center; gap: 4px; color: var(--lb-accent); font-weight: 600; font-size: 12px; white-space: nowrap; }
.oz-dosya:hover { text-decoration: underline; }
.oz-satirDoldu td { background: var(--lb-danger-soft); }
.oz-satirYakin td { background: #fff7e6; }
.pe-btnKucuk { padding: 4px 10px !important; font-size: 12px !important; }
.pe-actions { white-space: nowrap; text-align: right; }
.pe-actions button + button { margin-left: 6px; }
.iz-ozetRed strong { color: var(--lb-danger); }
.iz-check { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--lb-text-2); }
.pk-fieldGenis { grid-column: 1 / -1; }
.oz-notListe { display: flex; flex-direction: column; gap: 10px; }
.oz-not { background: var(--lb-surface); border: 1px solid var(--lb-border); border-left: 4px solid var(--lb-border-strong); border-radius: var(--lb-radius-sm); padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; }
.oz-notUst { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.oz-notUst strong { font-size: 14px; }
.oz-notTur { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; padding: 2px 8px; border-radius: 999px; background: var(--lb-surface-3); color: var(--lb-text-2); }
.oz-notKisi { font-size: 12px; }
.oz-notSag { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; }
.oz-notMetin { margin: 0; font-size: 13px; color: var(--lb-text-2); white-space: pre-line; }
.oz-notUYARI { border-left-color: #f59e0b; } .oz-notUYARI .oz-notTur { background: #fff7e6; color: #b45309; }
.oz-notTUTANAK { border-left-color: var(--lb-danger); } .oz-notTUTANAK .oz-notTur { background: var(--lb-danger-soft); color: var(--lb-danger-fg); }
.oz-notTAKDIR { border-left-color: var(--lb-success); } .oz-notTAKDIR .oz-notTur { background: var(--lb-success-soft); color: var(--lb-success); }
.oz-notEGITIM { border-left-color: #0ea5e9; } .oz-notEGITIM .oz-notTur { background: #e0f2fe; color: #0369a1; }
.oz-notSAGLIK { border-left-color: #ec4899; } .oz-notSAGLIK .oz-notTur { background: #fce7f3; color: #be185d; }
.oz-notGORUSME { border-left-color: #8b5cf6; } .oz-notGORUSME .oz-notTur { background: #ede9fe; color: #6d28d9; }

.tl-liste { display: flex; flex-direction: column; gap: 10px; }
.tl-ikon { width: 34px; height: 34px; border-radius: 10px; background: var(--tur-renk, var(--lb-accent)); color: #fff; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.tl-ikonMini { width: 20px; height: 20px; border-radius: 6px; vertical-align: middle; }
.tl-kart .po-talepAkisOzet { gap: 12px; }
.tl-kart .po-satirMetin strong { font-size: 13px; }
.tl-turler { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
.tl-tur { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; text-align: left; padding: 12px 14px; background: var(--lb-surface); border: 1px solid var(--lb-border); border-radius: var(--lb-radius); font: inherit; cursor: pointer; color: var(--lb-text); box-shadow: var(--lb-shadow); transition: border-color .15s, box-shadow .15s; }
.tl-tur:hover { border-color: var(--tur-renk); box-shadow: 0 0 0 3px color-mix(in srgb, var(--tur-renk) 18%, transparent); }
.tl-tur strong { font-size: 13px; }
.tl-tur > span:last-child { font-size: 11px; color: var(--lb-text-3); line-height: 1.35; }
.tl-tur .tl-ikon { width: 30px; height: 30px; border-radius: 8px; }
.po-bilgiGrid { grid-template-columns: 1fr; }
.po-bilgiKolon { align-items: start; }
.po-bilgiKolon .po-bolum h2 { display: inline-flex; align-items: center; gap: 8px; }
@media (max-width: 960px) { .po-ikiKolon { grid-template-columns: 1fr; } }

/* ---- IK Raporlari (rp-) ---- */
.rp-alan { display: flex; flex-direction: column; gap: 16px; }
.rp-kpi { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.rp-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 16px; }
.rp-panel { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.rp-genis { grid-column: 1 / -1; }
.rp-svg { width: 100%; height: auto; display: block; }
.rp-izgara { stroke: var(--lb-border); stroke-width: 1; }
.rp-eksen { font-size: 10px; fill: var(--lb-text-3); }
.rp-cizgiYol { fill: none; stroke: #2a78d6; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.rp-nokta circle:first-child { fill: #2a78d6; stroke: var(--lb-surface); stroke-width: 2; }
.rp-noktaGelecek circle:first-child { fill: var(--lb-surface); stroke: #2a78d6; }
.rp-hedef { fill: transparent; cursor: default; }
.rp-nokta:hover circle:first-child { r: 6; }
.rp-lejant { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; color: var(--lb-text-2); }
.rp-lejant i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; margin-left: 8px; }
.rp-lejant i:first-child { margin-left: 0; }
.rp-barlar { display: flex; flex-direction: column; gap: 6px; }
.rp-bar { display: grid; grid-template-columns: 120px 1fr 44px; align-items: center; gap: 8px; font-size: 12px; position: relative; }
.rp-barAd { color: var(--lb-text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rp-barKanal { height: 14px; background: var(--lb-surface-3); border-radius: 4px; overflow: hidden; }
.rp-barKanal i { display: block; height: 100%; background: #2a78d6; border-radius: 0 4px 4px 0; min-width: 2px; transition: width .3s; }
.rp-barDeger { text-align: right; font-weight: 700; color: var(--lb-text); font-variant-numeric: tabular-nums; }
.rp-sutunlar { display: grid; grid-template-columns: repeat(12, 1fr); gap: 4px; height: 150px; align-items: end; }
.rp-sutunGrup { display: flex; flex-direction: column; align-items: center; gap: 4px; height: 100%; position: relative; }
.rp-sutunKanal { flex: 1; width: 100%; display: flex; align-items: flex-end; justify-content: center; gap: 2px; border-bottom: 1px solid var(--lb-border); }
.rp-sutunKanal i { display: block; width: 40%; border-radius: 4px 4px 0 0; min-height: 2px; background: #2a78d6; }
.rp-sutunTek { width: 70% !important; }
.rp-sutunCikis { background: #eb6834 !important; }
.rp-sutunAd { font-size: 10px; color: var(--lb-text-3); }
[data-tip] { position: relative; }
[data-tip]:hover::after { content: attr(data-tip); position: absolute; left: 50%; bottom: calc(100% + 6px); transform: translateX(-50%); background: var(--lb-text); color: #fff; font-size: 11px; padding: 4px 8px; border-radius: 6px; white-space: nowrap; z-index: 5; pointer-events: none; box-shadow: var(--lb-shadow); }
.rp-oran { display: flex; flex-direction: column; gap: 4px; margin-bottom: 8px; }
.rp-oranBaslik { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--lb-text-3); }
.rp-oranSerit { display: flex; height: 14px; border-radius: 4px; overflow: hidden; gap: 2px; background: var(--lb-surface-3); }
.rp-oranParca { display: block; height: 100%; min-width: 2px; }
.rp-oranLejant { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 11px; color: var(--lb-text-2); }
.rp-oranLejant span { display: inline-flex; align-items: center; gap: 4px; }
.rp-oranLejant i { width: 9px; height: 9px; border-radius: 2px; display: inline-block; }
.rp-ton0 { background: #2a78d6; } .rp-ton1 { background: #eb6834; } .rp-ton2 { background: #1baf7a; } .rp-ton3 { background: #eda100; } .rp-ton4 { background: #98a2b8; }
.rp-renkNokta { display: inline-block; width: 9px; height: 9px; border-radius: 50%; vertical-align: middle; margin-right: 4px; }
.rp-tablo td, .rp-tablo th { padding: 6px 8px; font-size: 12px; }
.rp-tabloGorunum summary { cursor: pointer; font-size: 13px; color: var(--lb-text-2); }
.rp-tabloGorunum[open] summary { margin-bottom: 10px; }
.rp-kpi { grid-template-columns: repeat(auto-fit, minmax(125px, 1fr)); }
.rp-panel { overflow: hidden; }
.rp-panel .pe-table { min-width: 0; width: 100%; }
.rp-svg text { font-family: inherit; }
.rp-tablo { table-layout: fixed; }
.rp-tablo td, .rp-tablo th { white-space: normal; overflow: hidden; text-overflow: ellipsis; }
.rp-tablo th:first-child, .rp-tablo td:first-child { width: 42%; }
.rp-tablo th { white-space: normal; overflow: visible; font-size: 10px; padding: 6px 4px; letter-spacing: 0; }
.rp-tablo td { padding: 6px 4px; }
.rp-tablo th:first-child, .rp-tablo td:first-child { width: 40%; }
/* ---- Tahakkuk / calisan listesi raporlari ---- */
.oz-etiket.oz-etiketAktif { background: var(--lb-accent-soft); color: var(--lb-accent-dark); }
a.oz-etiket:hover { background: var(--lb-accent-soft); }
.th-tablo td, .th-tablo th { white-space: nowrap; font-size: 12px; padding: 7px 8px; }
.th-tablo .th-net { font-weight: 800; color: var(--lb-success); }
.th-grupBaslik td { background: var(--lb-surface-3); color: var(--lb-text-2); font-size: 12px; }
.th-araToplam td { background: var(--lb-accent-soft); font-weight: 700; font-size: 12px; }
.th-tablo tfoot td { background: var(--lb-surface-2, #fafbff); border-top: 2px solid var(--lb-border-strong); }
.cl-filtre .cl-tarih { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--lb-text-2); }
.cl-filtre .cl-tarih .iz-input { min-width: 0; width: 140px; }
.cl-tablo td, .cl-tablo th { white-space: nowrap; font-size: 12px; padding: 7px 8px; }
.cl-tablo .cl-uzun { max-width: 220px; overflow: hidden; text-overflow: ellipsis; }
.cl-pasif td { color: var(--lb-text-3); }

/* ---- Personel sicil karti (premium sekmeli form)  (onek: .pk-premium) ---- */
.pk-premium .pk-form { gap: 0; }
.pk-premium .pk-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 24px; }
.pk-premium .pk-field label em { color: var(--lb-danger); font-style: normal; margin-left: 2px; }
.pk-premium .pk-field input, .pk-premium .pk-field select { background: var(--lb-surface); transition: border-color .15s, box-shadow .15s, background .15s; }
.pk-premium .pk-field input:hover, .pk-premium .pk-field select:hover { border-color: var(--lb-border-strong); }
.pk-premium .pk-field input:disabled, .pk-premium .pk-field select:disabled { background: var(--lb-surface-2); color: var(--lb-text-3); cursor: not-allowed; }
.pk-premium .pk-field input:invalid:not(:placeholder-shown):not(:focus) { border-color: rgba(212, 72, 70, .55); }
.pk-premium .pk-fieldGenis { grid-column: span 2; }
.pk-premium .pk-fieldBos { display: none; }
.pk-premium .pk-inputBuyuk { font-size: 18px !important; font-weight: 700; letter-spacing: .01em; }
.pk-premium .pk-inputMono { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; letter-spacing: .04em; }
.pk-premium .pk-fieldSonuk { opacity: .45; pointer-events: none; }
.pk-premium .pk-fieldSonuk input, .pk-premium .pk-fieldSonuk select { background: var(--lb-surface-2); }
.pk-yardimOk { color: var(--lb-success) !important; font-weight: 600; }
.pk-yardimHata { color: var(--lb-danger-fg) !important; font-weight: 600; }
.pk-premium .pk-fieldBilgi { justify-content: flex-end; }
.pk-bilgiKutu { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 10px; background: var(--lb-accent-soft); color: var(--lb-text-2); font-size: 12.5px; line-height: 1.45; }
.pk-bilgiKutu svg { color: var(--lb-accent); flex-shrink: 0; }
.pk-bilgiKutu b { color: var(--lb-text); }
.pk-premium .ts-kutu { width: 100%; }
.pk-premium .ts-tetikKisa { width: 100%; padding: 6px 10px; border-color: var(--lb-border); }

/* Hero */
.pk-hero { position: relative; overflow: hidden; display: grid; grid-template-columns: auto 1fr auto; gap: 28px; align-items: center; padding: 26px 30px; margin-bottom: 18px; border: 1px solid var(--lb-border); border-radius: var(--lb-radius); background: var(--lb-surface); box-shadow: var(--lb-shadow-lg); }
.pk-hero::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 5px; background: var(--lb-gradient); }
.pk-hero::after { content: ""; position: absolute; z-index: 0; right: -80px; top: -120px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(closest-side, color-mix(in srgb, var(--lb-accent-soft) 45%, transparent), transparent 70%); pointer-events: none; }
.pk-hero > * { position: relative; z-index: 1; }
.pk-heroFoto { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.pk-avatar { position: relative; width: 118px; height: 118px; border-radius: 28px; overflow: hidden; background: var(--lb-gradient); box-shadow: 0 12px 28px rgba(83, 110, 224, .28); display: grid; place-items: center; }
.pk-avatarImg { width: 100%; height: 100%; object-fit: cover; display: block; }
.pk-avatarHarf { color: #fff; font-size: 40px; font-weight: 800; letter-spacing: .02em; }
.pk-avatarBtn { position: absolute; right: 8px; bottom: 8px; width: 32px; height: 32px; border-radius: 50%; border: 2px solid #fff; background: var(--lb-text); color: #fff; display: grid; place-items: center; cursor: pointer; box-shadow: 0 4px 10px rgba(0,0,0,.25); transition: transform .15s, background .15s; }
.pk-avatarBtn:hover { transform: scale(1.08); background: var(--lb-accent); }
.pk-fotoNot { font-size: 11px; color: var(--lb-text-3); }
.pk-heroBilgi { min-width: 0; position: relative; }
.pk-heroUst { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.pk-heroEtiket { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--lb-accent); background: var(--lb-accent-soft); padding: 4px 10px; border-radius: 999px; }
.pk-heroKurum { font-size: 12.5px; color: var(--lb-text-3); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pk-heroAd { margin: 0; font-size: 30px; line-height: 1.1; font-weight: 800; color: var(--lb-text); letter-spacing: -.01em; word-break: break-word; }
.pk-heroAlt { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 8px; font-size: 14px; color: var(--lb-text-2); }
.pk-heroSicil b { color: var(--lb-text); font-weight: 800; }
.pk-heroUnvan { font-weight: 700; color: var(--lb-accent-dark); text-transform: uppercase; letter-spacing: .04em; font-size: 12.5px; }
.pk-heroRozetler { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.pk-rozet { display: inline-flex; align-items: center; padding: 4px 11px; border-radius: 999px; font-size: 12px; font-weight: 700; background: var(--lb-surface-2); border: 1px solid var(--lb-border); color: var(--lb-text-2); }
.pk-rozetMavi { background: var(--lb-accent-soft); border-color: transparent; color: var(--lb-accent); }
.pk-rozetYesil { background: var(--lb-success-soft); border-color: transparent; color: var(--lb-success); }
.pk-heroOzet { display: grid; grid-template-columns: repeat(3, auto); gap: 10px; align-self: stretch; align-content: center; position: relative; }
.pk-ozetKutu { display: flex; flex-direction: column; gap: 4px; min-width: 96px; padding: 12px 14px; border-radius: 12px; background: var(--lb-surface); border: 1px solid var(--lb-border-strong); box-shadow: var(--lb-shadow); }
.pk-ozetKutu > span { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--lb-text-3); }
.pk-ozetKutu > b { font-size: 16px; font-weight: 800; color: var(--lb-text); white-space: nowrap; }
.pk-ozetDoluluk { grid-column: 1 / -1; }
.pk-ozetDoluluk > span b { color: var(--lb-text); }
.pk-doluluk { height: 7px; border-radius: 999px; background: var(--lb-border); overflow: hidden; margin-top: 2px; }
.pk-doluluk i { display: block; height: 100%; width: 0; border-radius: 999px; background: var(--lb-danger); transition: width .4s ease, background .3s; }
.pk-doluluk i.pk-dolulukOrta { background: #f59e0b; }
.pk-doluluk i.pk-dolulukIyi { background: var(--lb-gradient); }

/* Sekmeler */
.pk-sekmeler { position: sticky; top: 0; z-index: 5; display: flex; gap: 4px; padding: 6px; margin-bottom: 0; border: 1px solid var(--lb-border); border-bottom: none; border-radius: var(--lb-radius) var(--lb-radius) 0 0; background: var(--lb-surface); overflow-x: auto; scrollbar-width: none; }
.pk-sekmeler::-webkit-scrollbar { display: none; }
.pk-sekme { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: none; border-radius: 10px; background: transparent; color: var(--lb-text-2); font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; white-space: nowrap; transition: background .15s, color .15s; }
.pk-sekme:hover { background: var(--lb-surface-2); color: var(--lb-text); }
.pk-sekmeAktif, .pk-sekmeAktif:hover { background: var(--lb-accent-soft); color: var(--lb-accent); }
.pk-sekme svg { flex-shrink: 0; opacity: .8; }
.pk-sekmeHata { position: absolute; top: 7px; right: 7px; width: 8px; height: 8px; border-radius: 50%; background: var(--lb-danger); box-shadow: 0 0 0 2px var(--lb-surface); }

/* Paneller */
.pk-panelKutu { border: 1px solid var(--lb-border); border-radius: 0 0 var(--lb-radius) var(--lb-radius); background: var(--lb-surface); box-shadow: var(--lb-shadow); }
.pk-panel { padding: 28px 30px 32px; animation: pkPanelGir .22s ease; }
@keyframes pkPanelGir { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.pk-panelBaslik { display: flex; flex-direction: column; gap: 3px; margin-bottom: 18px; padding-bottom: 12px; border-bottom: 1px solid var(--lb-border); }
.pk-panelBaslik h2 { margin: 0; font-size: 16px; font-weight: 800; color: var(--lb-text); display: flex; align-items: center; gap: 10px; }
.pk-panelBaslik h2::before { content: ""; width: 4px; height: 16px; border-radius: 4px; background: var(--lb-gradient); }
.pk-panelBaslik p { margin: 0; font-size: 12.5px; color: var(--lb-text-3); padding-left: 14px; }
.pk-panelBaslikAlt { margin-top: 30px; }
.pk-panelBaslikUyari h2::before { background: var(--lb-danger); }

/* Anahtar (checkbox) */
.pk-fieldAnahtar { justify-content: center; }
.pk-anahtar { display: inline-flex !important; align-items: center; gap: 10px; cursor: pointer; font-size: 14px !important; color: var(--lb-text) !important; user-select: none; }
.pk-anahtar input { position: absolute; opacity: 0; width: 0 !important; height: 0; }
.pk-anahtar i { position: relative; width: 40px; height: 22px; border-radius: 999px; background: var(--lb-border-strong); transition: background .2s; flex-shrink: 0; }
.pk-anahtar i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.3); transition: transform .2s; }
.pk-anahtar input:checked + i { background: var(--lb-accent); }
.pk-anahtar input:checked + i::after { transform: translateX(18px); }
.pk-anahtar input:focus-visible + i { box-shadow: 0 0 0 3px var(--lb-accent-soft); }

/* Kayit cubugu */
.pk-kayitCubuk { position: sticky; bottom: 0; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; padding: 12px 18px; border: 1px solid var(--lb-border); border-radius: var(--lb-radius); background: color-mix(in srgb, var(--lb-surface) 88%, transparent); backdrop-filter: blur(10px); box-shadow: 0 -4px 20px rgba(22, 33, 59, .06); }
.pk-kayitMesaj { display: flex; align-items: center; gap: 14px; min-width: 0; flex: 1; }
.pk-kayitMesaj .pk-error, .pk-kayitMesaj .pk-ok { margin: 0; }
.pk-kirli { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; color: #b45309; }
.pk-kayitNot { font-size: 12px; color: var(--lb-text-3); }
.pk-kayitAksiyon { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.pk-premium .pk-button { margin: 0; min-width: 0; display: inline-flex; align-items: center; gap: 8px; padding: 11px 22px; border-radius: 10px; box-shadow: 0 6px 16px rgba(83, 110, 224, .3); transition: transform .12s, box-shadow .15s; }
.pk-premium .pk-button:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(83, 110, 224, .38); }
.pk-btnGhost { display: inline-flex; align-items: center; padding: 10px 18px; border-radius: 10px; border: 1px solid var(--lb-border-strong); background: var(--lb-surface); color: var(--lb-text-2); font-size: 14px; font-weight: 700; text-decoration: none; transition: background .15s, color .15s; }
.pk-btnGhost:hover { background: var(--lb-surface-2); color: var(--lb-text); }

@media (max-width: 1100px) {
  .pk-hero { grid-template-columns: auto 1fr; }
  .pk-heroOzet { grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 960px) {
  .pk-premium .pk-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .pk-hero { grid-template-columns: 1fr; padding: 20px 16px; text-align: center; }
  .pk-heroFoto { align-items: center; }
  .pk-heroUst, .pk-heroAlt, .pk-heroRozetler { justify-content: center; }
  .pk-heroAd { font-size: 24px; }
  .pk-heroOzet { grid-template-columns: 1fr 1fr; }
  .pk-premium .pk-grid { grid-template-columns: 1fr; }
  .pk-premium .pk-fieldGenis { grid-column: auto; }
  .pk-panel { padding: 20px 16px 24px; }
  .pk-sekme span { display: none; }
  .pk-sekme { padding: 10px 12px; }
  .pk-kayitCubuk { flex-direction: column; align-items: stretch; }
  .pk-kayitAksiyon { justify-content: stretch; }
  .pk-kayitAksiyon .pk-button, .pk-kayitAksiyon .pk-btnGhost { flex: 1; justify-content: center; }
}

/* ---- Izin onay tanimlari (panel) + izin parametreleri (admin) ---- */
.iz-not { padding: 10px 14px; border-radius: 9px; background: var(--lb-surface-2); border: 1px solid var(--lb-border); font-size: 13px; margin-bottom: 16px; }
.iz-notOk { background: #ecfdf5; border-color: #a7f3d0; }
.ot-liste { display: flex; flex-direction: column; gap: 8px; }
.ot-satir { display: flex; align-items: center; gap: 8px; }
.ot-seviye { flex: 0 0 28px; height: 28px; border-radius: 50%; background: var(--lb-accent-soft); color: var(--lb-accent); font-weight: 700; font-size: 12px; display: inline-flex; align-items: center; justify-content: center; }
.ot-satir .ot-kisi { flex: 1 1 200px; min-width: 160px; }
.ot-satir .ot-etiket { flex: 1 1 140px; min-width: 120px; }
.ot-onizleme { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 8px; font-size: 13px; }
.ip-form { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ip-select { height: 32px; border: 1px solid var(--lb-border); border-radius: 7px; padding: 0 8px; background: #fff; font: inherit; font-size: 13px; min-width: 300px; }
.ip-selectDar { min-width: 150px; }
.ip-check { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; }
.ip-sayi { font-size: 12px; color: var(--lb-muted); }
@media (max-width: 700px) { .ot-satir { flex-wrap: wrap; } .ip-select { min-width: 0; width: 100%; } }
.ot-seviyeIk { background: #fef3c7; color: #b45309; }
.ot-ikSatir td { background: var(--lb-surface-2); }
.ot-tablo .pe-aksiyonlar { white-space: nowrap; }
.ot-zincir { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; }
.ot-adim { display: inline-flex; align-items: center; gap: 5px; padding: 2px 8px; border-radius: 999px; background: var(--lb-surface-2); border: 1px solid var(--lb-border); font-size: 12px; white-space: nowrap; }
.ot-adim b { display: inline-flex; width: 18px; height: 18px; border-radius: 50%; background: var(--lb-accent-soft); color: var(--lb-accent); font-size: 11px; align-items: center; justify-content: center; }
.ot-adim i { color: var(--lb-muted); font-style: normal; }
.ot-adimIk { background: #fef3c7; border-color: #fde68a; }
.ot-adimIk b { background: #fde68a; color: #92400e; }
.ot-adimPasif { opacity: .55; text-decoration: line-through; }
.ot-ok { color: var(--lb-muted); font-size: 12px; }
.ot-adim .ot-adimKisi { display: inline-flex; flex-direction: column; line-height: 1.2; }
.ot-adim .ot-adimKisi small { font-size: 10.5px; color: var(--lb-muted); font-weight: 400; }
.ot-kullanan { min-width: 150px; }
.ot-kullananListe { margin-top: 3px; font-size: 12px; }
.ot-kullananListe summary { cursor: pointer; color: var(--lb-accent); }
.ot-kullananListe ul { margin: 4px 0 0; padding-left: 16px; }
.ot-kullananListe li { line-height: 1.4; white-space: nowrap; }
.ot-kullananListe small { color: var(--lb-muted); }

/* ============================================================
   Izin puantaji (premium duzen) - iz-pz  (2026-09-22)
   ============================================================ */
.iz-pzSayfa { gap: 16px; }
.iz-pzBaslik { align-items: flex-start; margin-bottom: 0; gap: 16px; flex-wrap: wrap; }
.iz-pzBaslikSol { display: flex; align-items: center; gap: 14px; }
.iz-pzIkon {
  display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 13px; flex-shrink: 0;
  color: #fff; background: var(--lb-gradient); box-shadow: 0 8px 18px -8px rgba(83, 110, 224, .7), inset 0 1px 0 rgba(255,255,255,.25);
}
.iz-pzAraclar { gap: 10px; }
.iz-pzGezgin {
  display: inline-flex; align-items: center; gap: 2px; padding: 3px; border-radius: 12px;
  background: var(--lb-surface); border: 1px solid var(--lb-border); box-shadow: var(--lb-shadow);
}
.iz-pzGezginBtn {
  display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 9px;
  color: var(--lb-text-2); font-size: 20px; line-height: 1; text-decoration: none; transition: background .15s, color .15s;
}
.iz-pzGezginBtn:hover { background: var(--lb-accent-soft); color: var(--lb-accent); }
.iz-pzDonemForm .iz-input { border: none; background: transparent; font-weight: 700; padding: 6px 8px; box-shadow: none; }
.iz-pzDonemForm .iz-input:focus { background: var(--lb-surface-2); box-shadow: none; }
.iz-pzYazdir, .iz-pzBugun { display: inline-flex; align-items: center; gap: 7px; height: 40px; padding: 0 14px; border-radius: 11px; font-weight: 600; text-decoration: none; }

/* ozet kartlari */
.iz-pzOzetler { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.iz-pzOzet { position: relative; overflow: hidden; padding: 16px 18px 14px; border-radius: var(--lb-radius); gap: 6px; }
.iz-pzOzet::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--lb-border-strong); border-radius: 4px 0 0 4px; }
.iz-pzOzet.iz-ozetIk::before { background: var(--lb-gradient); }
.iz-pzOzet.iz-ozetOk::before { background: var(--lb-success); }
.iz-pzOzet strong { display: flex; align-items: baseline; gap: 6px; font-size: 28px; line-height: 1.05; letter-spacing: -.02em; }
.iz-pzOzet strong small { font-size: 12px; font-weight: 600; color: var(--lb-text-3); letter-spacing: 0; }
.iz-pzOzet em { font-style: normal; font-size: 12px; color: var(--lb-text-2); line-height: 1.4; }
@media (max-width: 1100px) { .iz-pzOzetler { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .iz-pzOzetler { grid-template-columns: 1fr; } }

/* arac cubugu: arama + lejant */
.iz-pzArac { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.iz-pzArama { position: relative; flex: 0 0 300px; max-width: 100%; color: var(--lb-text-3); }
.iz-pzArama svg { position: absolute; left: 11px; top: 50%; transform: translateY(-50%); pointer-events: none; }
.iz-pzArama .iz-input { padding-left: 32px; height: 38px; border-radius: 11px; }
.iz-pzLejant { flex: 1; gap: 6px 8px; align-items: center; }
.iz-pzLejantOge {
  display: inline-flex; align-items: center; gap: 7px; padding: 4px 10px 4px 5px; border-radius: 999px; cursor: pointer; font: inherit; font-size: 12px;
  border: 1px solid var(--lb-border); background: var(--lb-surface); color: var(--lb-text-2); transition: border-color .15s, box-shadow .15s, opacity .15s, background .15s;
}
.iz-pzLejantOge:hover:not(:disabled) { border-color: var(--lb-accent); color: var(--lb-text); }
.iz-pzLejantOge b { color: var(--lb-text); font-variant-numeric: tabular-nums; padding-left: 6px; border-left: 1px solid var(--lb-border); }
.iz-pzLejantOge.iz-pzLejantPasif { opacity: .45; cursor: default; }
.iz-pzLejantOge.iz-pzLejantSecili { border-color: var(--lb-accent); background: var(--lb-accent-soft); color: var(--lb-accent-dark); box-shadow: 0 0 0 3px rgba(83, 110, 224, .12); }
.iz-pzLejantAyrac { width: 1px; height: 20px; background: var(--lb-border-strong); margin: 0 4px; }
.iz-pzKutu { display: inline-block; width: 14px; height: 14px; border-radius: 4px; border: 1px solid var(--lb-border-strong); }
.iz-pzKutuHs { background: repeating-linear-gradient(135deg, var(--lb-surface-3) 0 3px, #e3e8f3 3px 4px); }
.iz-pzKutuTatil { background: #fff1f0; border-color: #f5c6c2; }
.iz-pzKutuBugun { background: var(--lb-accent-soft); border-color: var(--lb-accent); }

/* izgara */
.iz-pzTabloWrap { border-radius: var(--lb-radius); }
.iz-pzIzgara { font-size: 11px; border-collapse: separate; border-spacing: 0; }
.iz-pzIzgara th, .iz-pzIzgara td { padding: 0 !important; border-bottom: 1px solid var(--lb-border); border-right: 1px solid #f0f3f9; }
.iz-pzIzgara thead th { height: 44px; vertical-align: middle; text-transform: none; letter-spacing: 0; }
.iz-pzIzgara thead th.iz-sabit, .iz-pzIzgara td.iz-sabit { padding: 0 12px !important; min-width: 220px; border-right: 1px solid var(--lb-border); box-shadow: 4px 0 10px -6px rgba(22, 33, 59, .18); }
.iz-pzIzgara thead th.iz-sabit { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--lb-text-3); }
.iz-pzIzgara .iz-gunBaslik { min-width: 34px; width: 34px; }
.iz-pzIzgara .iz-gunBaslik span { font-size: 12px; color: var(--lb-text); }
.iz-pzIzgara .iz-gunBaslik small { font-size: 9px; text-transform: uppercase; letter-spacing: .04em; }
.iz-pzIzgara .iz-hucreHs { background: repeating-linear-gradient(135deg, var(--lb-surface-2) 0 3px, #edf1f8 3px 4px) !important; }
.iz-pzIzgara thead th.iz-hucreHs span { color: var(--lb-text-3); }
.iz-pzIzgara .iz-hucreTatil { background: #fff3f2 !important; }
.iz-pzIzgara thead th.iz-hucreTatil span { color: var(--lb-danger-fg); }
.iz-pzIzgara .iz-pzBugunKolon { box-shadow: inset 0 0 0 1px var(--lb-accent), inset 0 0 0 999px rgba(83, 110, 224, .05); }
.iz-pzIzgara thead th.iz-pzBugunKolon { box-shadow: inset 0 -3px 0 var(--lb-accent); }
.iz-pzIzgara thead th.iz-pzBugunKolon span { color: var(--lb-accent); }
.iz-pzIzgara tbody td.iz-hucre { height: 40px; vertical-align: middle; }
.iz-pzIzgara tbody td.iz-sabit { height: 48px; vertical-align: middle; }
.iz-pzIzgara tbody tr:hover td { background: var(--lb-surface-3); }
.iz-pzIzgara tbody tr:hover td.iz-sabit { background: var(--lb-surface-3); }
.iz-pzIzgara td.iz-pzKolonVurgu, .iz-pzIzgara th.iz-pzKolonVurgu { background: var(--lb-accent-soft) !important; }
.iz-pzKisi { gap: 10px; }
.iz-pzKisiMetin { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.iz-pzKisiMetin a { font-weight: 700; font-size: 12.5px; }
.iz-pzKisiMetin .iz-alt { margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 190px; }

/* izin cubugu: ardisik gunler tek bir serit gibi gorunur */
.iz-pzBar {
  display: flex; align-items: center; height: 24px; margin: 0 -1px; padding: 0 2px; overflow: hidden;
  color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .03em; text-decoration: none; white-space: nowrap;
  background: var(--tur-renk, var(--lb-accent)); box-shadow: inset 0 1px 0 rgba(255,255,255,.22), inset 0 -1px 0 rgba(0,0,0,.08);
  transition: filter .15s, transform .15s;
}
.iz-pzBar.iz-pzBarBas { margin-left: 3px; padding-left: 6px; border-radius: 7px 0 0 7px; }
.iz-pzBar.iz-pzBarSon { margin-right: 3px; border-radius: 0 7px 7px 0; }
.iz-pzBar.iz-pzBarBas.iz-pzBarSon { border-radius: 7px; justify-content: center; padding: 0 2px; }
.iz-pzBar.iz-pzBarSayilmaz { background: repeating-linear-gradient(135deg, var(--tur-renk) 0 4px, color-mix(in srgb, var(--tur-renk) 55%, #fff) 4px 8px); }
.iz-pzBar:hover { filter: brightness(1.08) saturate(1.1); }
.iz-pzIzgara tbody td[data-tur] { position: relative; }
.iz-pzIzgara.iz-pzFiltreli td[data-tur]:not(.iz-pzTurAktif) .iz-pzBar { opacity: .16; filter: grayscale(.6); }
.iz-pzIzgara.iz-pzFiltreli td.iz-pzOzetKolon:not(.iz-pzTurAktif) { color: var(--lb-text-3); opacity: .45; }

/* sag ozet kolonlari */
.iz-pzIzgara .iz-pzOzetKolon { padding: 0 8px !important; min-width: 40px; background: var(--lb-surface-2); }
.iz-pzIzgara thead .iz-pzOzetKolon { text-align: center; }
.iz-pzIzgara tbody .iz-pzOzetKolon { font-weight: 600; color: var(--lb-text-2); }
.iz-pzIzgara .iz-pzToplamKolon { padding: 0 12px !important; min-width: 64px; background: var(--lb-surface-2); border-left: 1px solid var(--lb-border); }
.iz-pzIzgara tbody .iz-pzToplamKolon strong { font-size: 13px; }

/* alt toplam: gunluk izinli sayisi isi haritasi (tek renkli, aciktan koyuya) */
.iz-pzIzgara tfoot td { background: var(--lb-surface); font-weight: 600; border-top: 2px solid var(--lb-border-strong); border-bottom: none; height: 40px; vertical-align: middle; }
.iz-pzIzgara tfoot td.iz-sabit strong { display: block; font-size: 12px; }
.iz-pzIzgara tfoot td.iz-pzGunToplam { position: relative; }
.iz-pzIzgara tfoot td.iz-pzGunToplam::before { content: ""; position: absolute; inset: 6px 4px; border-radius: 6px; background: var(--lb-accent); opacity: calc(var(--yog, 0) * .5); }
.iz-pzGunSayi { position: relative; font-size: 11px; font-weight: 800; color: var(--lb-text); font-variant-numeric: tabular-nums; }
.iz-pzIzgara tfoot td.iz-pzGunToplam[style*="--yog: 1"] .iz-pzGunSayi { color: #fff; }

/* bos durum */
.iz-pzBosSatir td { border: none !important; }
.iz-pzBos { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 56px 20px; text-align: center; }
.iz-pzBosIkon { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 16px; background: var(--lb-accent-soft); color: var(--lb-accent); margin-bottom: 4px; }
.iz-pzBos strong { font-size: 15px; color: var(--lb-text); }
.iz-pzBos p { margin: 0 0 8px; max-width: 420px; font-size: 13px; color: var(--lb-text-2); line-height: 1.5; }
.iz-pzBos .pe-btnGhost { text-decoration: none; }
.iz-pzDipnot { margin: 0; font-size: 11.5px; color: var(--lb-text-3); line-height: 1.5; }

@media print {
  .iz-pzArac, .iz-pzAraclar, .iz-pzDipnot, .iz-pzIkon { display: none !important; }
  .iz-pzOzetler { grid-template-columns: repeat(4, 1fr); gap: 8px; }
  .iz-pzOzet { box-shadow: none; padding: 8px 12px; }
  .iz-pzOzet strong { font-size: 18px; }
  .iz-pzIzgara { font-size: 9px; }
  .iz-pzIzgara .iz-gunBaslik { min-width: 0; width: auto; }
  .iz-pzIzgara thead th.iz-sabit, .iz-pzIzgara td.iz-sabit { box-shadow: none; min-width: 150px; }
  .iz-pzBar { -webkit-print-color-adjust: exact; print-color-adjust: exact; height: 16px; font-size: 8px; }
  .iz-pzIzgara .iz-hucreHs, .iz-pzIzgara .iz-hucreTatil, .iz-pzIzgara tfoot td.iz-pzGunToplam::before { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* ============================================================
   Ek mesai: admin formulleri (am-), puantaj karti saat bloku (kk-mesai*),
   mesai onay tanimlari (mo-)  (2026-09-22)
   ============================================================ */
.am-sayfa { display: flex; flex-direction: column; gap: 18px; }
.am-sayfa code { background: var(--lb-surface-3); padding: 1px 6px; border-radius: 5px; font-size: 12px; }
.am-bilgi { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(320px, 1fr); gap: 16px; align-items: start; }
.am-bilgi > div { background: var(--lb-surface); border: 1px solid var(--lb-border); border-radius: var(--lb-radius); padding: 14px 18px; font-size: 13px; color: var(--lb-text-2); box-shadow: var(--lb-shadow); }
.am-bilgi ul { margin: 6px 0 8px; padding-left: 18px; line-height: 1.7; }
.am-dene { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; background: var(--lb-accent-soft); border: 1px solid var(--lb-border); border-radius: var(--lb-radius); padding: 14px 18px; font-size: 13px; }
.am-dene strong { width: 100%; }
.am-dene label { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--lb-text-2); }
.am-formulInput { flex: 1 1 100%; font-family: ui-monospace, Menlo, Consolas, monospace; }
.am-firma { display: flex; flex-direction: column; gap: 8px; }
.am-firmaBaslik { margin: 0; font-size: 15px; display: flex; align-items: center; gap: 10px; }
.am-firmaBaslik .ad-muted { font-size: 12px; font-weight: 500; }
.am-tablo thead { display: none; }
.am-satir { display: grid; grid-template-columns: 58px 130px minmax(140px, 1fr) minmax(220px, 1.6fr) minmax(200px, 1.2fr) 70px auto; gap: 8px; align-items: center; padding: 2px 0; }
.am-satir .ip-select { width: 100%; box-sizing: border-box; }
.am-formul { font-family: ui-monospace, Menlo, Consolas, monospace; }
.am-onizleme { font-size: 12px; color: var(--lb-text-2); line-height: 1.3; }
.am-butonlar { display: inline-flex; gap: 6px; }
.am-yeniSatir td { background: var(--lb-surface-2); }
.am-satir .fd-error { grid-column: 1 / -1; }
@media (max-width: 1100px) { .am-bilgi { grid-template-columns: 1fr; } .am-satir { grid-template-columns: 1fr 1fr; } .am-satir .am-formul, .am-satir .am-onizleme { grid-column: 1 / -1; } }

/* puantaj karti: Ek Mesailer sekmesi saat bloku */
.kk-mesaiSaat { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px dashed var(--lb-border-strong); }
.kk-mesaiBaslik { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.kk-mesaiBaslik > div { display: flex; flex-direction: column; gap: 2px; }
.kk-mesaiBaslik strong { font-size: 14px; }
.kk-mesaiBilgi { background: var(--lb-success-soft); color: var(--lb-success); }
.kk-mesaiTablo .kk-mesaiFormul { font-size: 12px; color: var(--lb-text-2); }
.kk-mesaiTablo .kk-mesaiSaatKolon { width: 120px; }
.kk-mesaiTablo .kk-num, .kk-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.kk-mesaiTablo tfoot td { background: var(--lb-surface-2); border-top: 2px solid var(--lb-border-strong); padding: 8px 10px; }
.kk-mesaiSaat .kk-pbtnSatir { align-items: center; gap: 12px; }
.kk-mesaiSaat .iz-ipucu { flex: 1; min-width: 240px; }

/* mesai onay tanimlari: acik talep + uygulanan tanim */
.mo-talep { display: flex; flex-direction: column; gap: 4px; }
.mo-talepTanim { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 12px; padding: 0 4px; }

/* ---- Panel: karar bekleyen talep rozetleri + bildirim cubugu (2026-09-22) ---- */
.pn-rozet { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--lb-danger); color: #fff; font-size: 10.5px; font-weight: 800; line-height: 1; box-shadow: 0 0 0 2px var(--lb-surface); }
.pn-navSag { display: inline-flex; align-items: center; gap: 8px; }
.pn-nav a .pn-rozetAlt { margin-left: auto; }
.pn-navGrupAcik .pn-rozet { opacity: .85; }
.pn-bildirimCubuk { display: flex; align-items: center; gap: 12px; margin: -8px 0 18px; padding: 10px 14px; border-radius: 12px; background: #fff7e6; border: 1px solid #fcd9a1; color: #7c4a03; font-size: 13px; box-shadow: var(--lb-shadow); }
.pn-bildirimCubukIk { background: var(--lb-danger-soft); border-color: #f5c6c2; color: var(--lb-danger-fg); }
.pn-bildirimIkon { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 9px; background: rgba(255,255,255,.7); flex-shrink: 0; }
.pn-bildirimMetin { flex: 1; line-height: 1.5; }
.pn-bildirimMetin a { color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.pn-bildirimMetin a:hover { color: var(--lb-danger); }
.pn-bildirimYonetici { color: var(--lb-text-2); font-weight: 500; }
.pn-bildirimKapat { border: none; background: transparent; color: inherit; opacity: .6; cursor: pointer; font-size: 14px; padding: 4px 6px; border-radius: 6px; }
.pn-bildirimKapat:hover { opacity: 1; background: rgba(255,255,255,.6); }
@media print { .pn-bildirimCubuk { display: none !important; } }
/* Ek Mesailer: saat kutusu, "Saat" basligi ve alttaki toplamla ayni hizada (kutu ic boslugu kadar sola alinir) */
.kk-mesaiTablo .kk-satirInput.kk-satirTutar { text-align: left; width: 110px; margin-left: -10px; font-weight: 600; }
.kk-mesaiTablo .kk-satirInput.kk-satirTutar::placeholder { font-weight: 400; }
.kk-mesaiTablo tfoot td, .kk-mesaiTablo th { vertical-align: middle; }
/* Puantaj listesi: toplu onayli izin + mesai aktarim dugmesi */
.pu-btnToplu { margin-left: auto; margin-right: 8px; white-space: nowrap; }
@media (max-width: 720px) { .pu-btnToplu { margin-left: 0; } }
/* Talep onay tanimlari: tur sekmeleri */
.to-sekmeler { display: flex; gap: 6px; flex-wrap: wrap; }
.to-sekme { display: inline-flex; align-items: center; gap: 7px; padding: 8px 14px; border-radius: 10px; border: 1px solid var(--lb-border); background: var(--lb-surface); color: var(--lb-text-2); font-size: 13px; font-weight: 600; text-decoration: none; transition: border-color .15s, background .15s; }
.to-sekme:hover { border-color: var(--lb-accent); color: var(--lb-text); }
.to-sekme b { font-size: 11px; padding: 1px 7px; border-radius: 999px; background: var(--lb-surface-3); color: var(--lb-text-2); }
.to-sekmeAktif { background: var(--lb-accent-soft); border-color: var(--lb-accent); color: var(--lb-accent-dark); }
.to-sekmeAktif b { background: var(--lb-accent); color: #fff; }
/* Admin: talep parametreleri */
.tp-form { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.tp-tum { padding: 4px 10px; border-radius: 8px; background: var(--lb-accent-soft); }
.tp-turler { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.tp-turler .ip-check { font-size: 12.5px; }
/* Puantaj: masraf (+) / avans (−) alanlari */
.pu-masraf { color: var(--lb-success); font-weight: 600; }
.pu-avans { color: var(--lb-danger-fg); font-weight: 600; }
.kk-talepOzet { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; margin-bottom: 12px; }
.kk-etiketMasraf { background: var(--lb-success-soft); color: var(--lb-success); }
.kk-etiketAvans { background: var(--lb-danger-soft); color: var(--lb-danger-fg); }
.kk-tutarArti { color: var(--lb-success); font-weight: 700; }
.kk-tutarEksi { color: var(--lb-danger-fg); font-weight: 700; }
.pu-odenecekFark { background: var(--lb-accent-soft); }

/* Yatay BulutHR logosu (2026-09-23): kare kutular yerine genis, oranini koruyan logo alani */
.pn-logo, .al-logo { width: 180px; height: auto; border-radius: 0; overflow: visible; }
.lg-logo { width: 240px; height: auto; border-radius: 0; overflow: visible; }
.pn-logo img, .al-logo img, .lg-logo img { width: 100%; height: auto; margin: 0; }
/* Sol menu icerigi (logo dahil) biraz asagida baslasin */
.pn-sidebar, .al-sidebar { padding-top: 44px; }

/* Masaustu acilir grup penceresi: beyaz yerine sayfadaki zemin gorseli (fixed -> arkasindaki bolgeyle birebir hizali);
   icindeki kartlar masaustu kartlari gibi saydam (kullanici istegi 2026-09-23) */
.ms-acilir {
  background: url("/arka-plan.png") center / cover no-repeat fixed #f2f5fa;
  border: 1px solid rgba(255, 255, 255, 0.55);
}
.ms-acilirKart {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 10px;
}
.ms-acilirKart:hover {
  background: rgba(255, 255, 255, 0.4);
  border-color: var(--lb-accent);
}
.ms-acilirIkon { border-radius: 9px; }
.ms-acilirAd { text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); }
.ms-acilirBaslik { color: var(--lb-text-2); }

/* Yerinde (AJAX) sayfa guncelleme: ust ilerleme cubugu (yerinde.js) */
.lb-ilerleme { position: fixed; top: 0; left: 0; height: 3px; width: 0; z-index: 3000; pointer-events: none;
  background: linear-gradient(90deg, #7c3aed, #2563eb, #06b6d4); box-shadow: 0 0 8px rgba(37, 99, 235, .5); opacity: 0; }
.lb-ilerlemeAktif { opacity: 1; width: 80%; transition: width 8s cubic-bezier(.1, .7, .2, 1), opacity .1s; }
.lb-ilerlemeBitti { opacity: 0; width: 100%; transition: width .2s ease, opacity .35s ease .2s; }
form.lb-pending { cursor: progress; }

/* ============================================================
   Tablo sayfalama (app.js tabloSayfala) + tablo netligi
   ============================================================ */
tr.lb-sayfaDisi { display: none; }
.lb-pdfCekim tr.lb-sayfaDisi:not([hidden]) { display: table-row; }
.lb-sayfalama {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  margin-top: 8px; padding: 8px 12px;
  background: var(--lb-surface); border: 1px solid var(--lb-border); border-radius: var(--lb-radius);
  font-size: 12px; color: var(--lb-text-2); flex: 0 0 auto;
}
.lb-sayfalama[hidden] { display: none !important; }
/* Sayfalama varken tablo kutusu bos alani doldurmak icin uzamasin; cubuk hemen altinda dursun */
div:has(> table):has(+ .lb-sayfalama:not([hidden])) { flex: 0 1 auto; }
.lb-sayfaBilgi strong { color: var(--lb-text); font-weight: 700; font-variant-numeric: tabular-nums; }
.lb-sayfaDugmeler { display: flex; align-items: center; gap: 4px; }
.lb-sayfaBtn {
  min-width: 30px; height: 30px; padding: 0 8px; border-radius: 7px;
  border: 1px solid var(--lb-border); background: var(--lb-surface); color: var(--lb-text);
  font: inherit; font-weight: 600; cursor: pointer; font-variant-numeric: tabular-nums;
  transition: background .12s, border-color .12s, color .12s;
}
.lb-sayfaBtn:hover:not(:disabled):not(.lb-sayfaAktif) { background: var(--lb-surface-3); border-color: var(--lb-accent); color: var(--lb-accent); }
.lb-sayfaBtn:disabled { opacity: .4; cursor: default; }
.lb-sayfaAktif { background: var(--lb-accent); border-color: var(--lb-accent); color: #fff; }
.lb-sayfaBosluk { padding: 0 4px; color: var(--lb-text-3); }
.lb-sayfaBoyut { display: flex; align-items: center; gap: 6px; }
.lb-sayfaBoyut select {
  height: 30px; padding: 0 8px; border-radius: 7px; border: 1px solid var(--lb-border);
  background: var(--lb-surface); color: var(--lb-text); font: inherit; font-weight: 600; cursor: pointer;
}
.lb-sayfaBoyut select:focus { outline: 2px solid var(--lb-accent); outline-offset: 1px; }
@media (max-width: 640px) {
  .lb-sayfalama { justify-content: center; }
  .lb-sayfaBilgi { width: 100%; text-align: center; }
}
@media print { .lb-sayfalama { display: none !important; } tr.lb-sayfaDisi:not([hidden]) { display: table-row; } }

/* Netlik: basliklar belirgin alt cizgi, keskin metin */
:where(.pe-table, .ad-table) th { box-shadow: inset 0 -1.5px 0 var(--lb-border); color: var(--lb-text-2); }
:where(.pe-table, .ad-table, .pu-tablo) td { -webkit-font-smoothing: antialiased; }

/* Surec/onay akislari: yatay (soldan saga) adim cizgisi (2026-09-28) */
.po-zaman { flex-direction: row; align-items: flex-start; overflow-x: auto; padding: 4px 2px 6px; scrollbar-width: thin; }
.po-zamanAdim { flex: 1 1 0; min-width: 150px; max-width: 260px; flex-direction: column; gap: 8px; padding: 0 14px 0 0; }
.po-zamanAdim:last-child { padding-right: 0; }
.po-zamanAdim::before { left: 34px; right: 6px; top: 13px; bottom: auto; width: auto; height: 2px; border-radius: 2px; }
.po-zamanIcerik { padding-top: 0; gap: 4px; }
.po-zamanBaslik { flex-direction: column; align-items: flex-start; gap: 3px; }
.po-zamanBaslik strong { font-size: 13px; line-height: 1.3; }
.po-zamanMeta { flex-direction: column; align-items: flex-start; gap: 1px; }
.po-zamanNot { line-height: 1.35; }
.po-zamanSIRADA::before, .po-zamanATLANDI::before, .po-zamanPASIF::before { background: repeating-linear-gradient(90deg, var(--lb-border-strong) 0 5px, transparent 5px 9px); }

/* Portal ana sayfa "Onay Akisiniz": yatay ciplik akis */
.po-akis { list-style: none; padding: 0; counter-reset: poakis; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 6px 0; }
.po-akis li { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px 6px 8px; border: 1px solid var(--lb-border); border-radius: 10px; background: var(--lb-surface); line-height: 1.25; }
.po-akis li strong { font-size: 12.5px; }
.po-akis li span { display: block; }
.po-akis li::before { counter-increment: poakis; content: counter(poakis); display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: var(--lb-accent-soft); color: var(--lb-accent); font-size: 11px; font-weight: 700; flex-shrink: 0; }
.po-akis li + li { margin-left: 26px; position: relative; }
.po-akis li + li::after { content: "→"; position: absolute; left: -19px; top: 50%; transform: translateY(-50%); color: var(--lb-text-3); font-size: 13px; }

/* Calisan kartlari listesi: ic kaydirma yok, tablo tum satirlari gosterir ve sayfa kayar; baslik satiri ekranin ustune yapisir */
.pe-listeSayfa { height: auto; }
.pe-listeSayfa .pe-tableWrap { flex: none; overflow: visible; }
.pe-listeSayfa .pe-table thead th:first-child { border-top-left-radius: var(--lb-radius); }
.pe-listeSayfa .pe-table thead th:last-child { border-top-right-radius: var(--lb-radius); }
@media (max-width: 720px) { .pe-listeSayfa .pe-tableWrap { overflow-x: auto; } }

/* Masaustu ust satir (2026-09-29): "Aktif Kurum" karti kaldirildi; calisma tarihi logonun hemen sagina yaslanir, daha kucuk yazi */
.pn-kurumUstSade { background: none; border: 0; box-shadow: none; padding: 0; gap: 10px; }
.pn-kurumUstSade { justify-content: flex-end; }
.pn-kurumUstSade .pn-kurumUstTarih { margin-left: 0; }
@media (max-width: 960px) {
  .pn-kurumUstSade { justify-content: center; }
  /* m-mobil.css (720px alti) tarih kutusunu tam genislige yayip sola dayar; sade basliktaki tarih ortada, kendi genisliginde kalir */
  .pn-kurumUstSade .pn-kurumUstTarih { flex: 0 0 auto; padding-top: 0; border-top: 0; }
  .pn-kurumUstSade .pn-kurumUstTarih .ct-tetik { width: auto; }
}
/* Mobil (2026-09-29): tarih kutusu kenardan kenara premium serit; icerik (ikon + tarih) ortada kalir */
@media (max-width: 720px) {
  .pn-kurumUst.pn-kurumUstSade { padding: 0; }
  .pn-kurumUstSade .pn-kurumUstTarih { flex: 1 1 100%; }
  .pn-kurumUstSade .pn-kurumUstTarih .ct-tetik {
    position: relative; width: 100%; justify-content: center; gap: 10px; padding: 10px 44px; border-radius: 16px;
    background:
      linear-gradient(135deg, rgba(143, 55, 233, .10) 0%, rgba(83, 110, 224, .08) 50%, rgba(7, 181, 212, .10) 100%),
      rgba(255, 255, 255, .88);
    border: 1px solid rgba(255, 255, 255, .95);
    box-shadow: 0 0 0 1px rgba(83, 110, 224, .12), 0 10px 26px -12px rgba(83, 110, 224, .45), inset 0 1px 0 rgba(255, 255, 255, .9);
    -webkit-backdrop-filter: saturate(160%) blur(12px); backdrop-filter: saturate(160%) blur(12px);
  }
  .pn-kurumUstSade .pn-kurumUstTarih .ct-tetik::before {
    content: ""; position: absolute; left: 16px; right: 16px; top: 0; height: 2px; border-radius: 0 0 2px 2px;
    background: var(--lb-gradient); opacity: .75;
  }
  .pn-kurumUstSade .pn-kurumUstTarih .ct-tetikMetin { flex: 0 0 auto; }
  .pn-kurumUstSade .pn-kurumUstTarih .ct-tetikIkon { width: 32px; height: 32px; border-radius: 10px; }
  .pn-kurumUstSade .pn-kurumUstTarih .ct-tetikIkon svg { width: 15px; height: 15px; }
  .pn-kurumUstSade .pn-kurumUstTarih .ct-tetikTarih { font-size: 14px; }
  .pn-kurumUstSade .pn-kurumUstTarih .ct-tetikOk {
    position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
    display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 8px;
    background: var(--lb-accent-soft); color: var(--lb-accent);
  }
}
.pn-kurumUstSade .ct-tetik { min-width: 0; padding: 6px 10px; gap: 8px; border-radius: 11px; }
.pn-kurumUstSade .ct-tetikIkon { width: 28px; height: 28px; border-radius: 8px; }
.pn-kurumUstSade .ct-tetikEtiket { font-size: 9px; }
.pn-kurumUstSade .ct-tetikTarih { font-size: 13px; }

/* Mobil zemin (2026-09-29): iOS Safari / mobil tarayicilar background-attachment:fixed desteklemez,
   gorsel uzun icerige gerilip kaybolur. Dokunmatik/dar ekranda sabit ::before katmani kullanilir;
   Sol menu z-index ile katmanin ustunde tutulur. */
@media (hover: none), (max-width: 960px) {
  .pn-content { background: #f2f5fa; }
  .pn-sidebar { z-index: 1; }
  .pn-content::before {
    content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
    background: url("/arka-plan.png") center / cover no-repeat;
  }
  .ms-acilir { background: url("/arka-plan.png") center / cover no-repeat #f2f5fa; }
}
@media print { .pn-content::before { display: none; } }

/* Masaustu acilir menu kapat (X) dugmesi - yalnizca mobil/dokunmatik (2026-09-29) */
.ms-acilirKapat { display: none; }
@media (hover: none), (max-width: 960px) {
  .ms-acilirBaslik { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
  .ms-acilirKapat {
    display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
    width: 32px; height: 32px; border-radius: 9px; border: 1px solid var(--lb-border-strong);
    background: rgba(255, 255, 255, 0.85); color: var(--lb-text); font-size: 15px; font-weight: 700;
    cursor: pointer; line-height: 1;
  }
  .ms-acilirKapat:active { background: #fff; }
}

/* Sayfa ici sekme gecisi (yerinde.js, data-sekme-yerinde): giris animasyonu oynamaz, sayfa yenilenmis gibi gorunmez (2026-09-29) */
.lb-sekmeGecis .pn-content > *, .lb-sekmeGecis .al-content > * { animation: none !important; }
