/*STYLE.CSS*/


:root{
  --bg:#ffffff;                 /* sayfa arkaplanı */
  --panel:#ffffff;
  --card:#ffffff;               /* kart arkaplanı */
--text: var(--ink);
--muted: var(--ink-muted);
  --accent:#1d4ed8;             /* buton vurgusu (mavi) */
  --danger:#b91c1c;             /* kırmızı */
  --ok:#047857;                 /* yeşil */
  --border:rgba(0,0,0,.12);     /* açık gri border */
}


html{ overflow-y: scroll; }


*{ box-sizing:border-box; }
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  background: #ffffff;     /* düz beyaz */
  color: var(--text);      /* siyah */
}


a{ color:inherit; text-decoration:none; }
.container{ max-width:1100px; margin:0 auto; padding:18px; }

.topbar{
  position:sticky; top:0; z-index:10;
  background: rgba(10,18,32,.72);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--border);
}
.topbar-inner{
  max-width:1100px; margin:0 auto;
  padding:14px 18px;
  display:flex; align-items:center; justify-content:space-between;
}
.brand{ font-weight:700; letter-spacing:.2px; }
.nav a{
  margin-left:14px;
  color:var(--muted);
}
.nav a:hover{ color:var(--text); }

.flash{
  border:1px solid var(--border);
  padding:12px 14px;
  border-radius:12px;
  margin:12px 0 18px 0;
  background: rgba(255,255,255,.03);
}
.flash.is-dismissible{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.flash-copy{
  flex:1 1 auto;
  min-width:0;
}
.flash-dismiss{
  position:relative;
  flex:0 0 auto;
  width:28px;
  height:28px;
  margin-left:auto;
  border:0;
  border-radius:999px;
  background:transparent;
  color:inherit;
  cursor:pointer;
  opacity:.82;
  transition: background-color .18s ease, opacity .18s ease, transform .18s ease;
}
.flash-dismiss:hover,
.flash-dismiss:focus-visible{
  opacity:1;
  background:rgba(255,255,255,.12);
  transform:scale(1.04);
  outline:none;
}
.flash-dismiss::before,
.flash-dismiss::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:14px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  transform-origin:center;
}
.flash-dismiss::before{
  transform:translate(-50%, -50%) rotate(45deg);
}
.flash-dismiss::after{
  transform:translate(-50%, -50%) rotate(-45deg);
}
.flash.success{ border-color: rgba(52,211,153,.35); }
.flash.error{ border-color: rgba(248,113,113,.35); }

.card{
  border:1px solid var(--border);
  background: rgba(15,23,42,.55);
  border-radius:16px;
  padding:16px;
  margin:16px 0;
}
.card-head{
  display:flex;
  align-items:center;            /* DİKEY ORTA */
  justify-content:space-between;
  gap:14px;
}

/* Sadece “Veriler” gibi başlık + tablo olan kartlarda: altta nefes boşluğu */
.card-head-gap{
  margin-bottom: 12px;
}

.card-head h2{
  margin: 0; /* header satırında buton tam dikey ortada dursun */
}

.actions{ display:flex; gap:10px; align-items:center; }

h1{ margin:10px 0 8px 0; font-size:26px; }
h2{ margin:0 0 6px 0; font-size:18px; }
h3{ margin:0 0 8px 0; font-size:15px; }

/* Sayfa üst başlığı: Derslikler + Geri aynı beyaz bantta */
.page-head{
  display:flex;
  align-items:center;              /* dikey ortalama */
  justify-content:space-between;   /* sol başlık, sağ geri */
  min-height: 20px;               /* üst ve alt boşluk eşit hissetsin */
  padding: 0 18px;                 /* container padding ile uyumlu */
}

/* h1'in default margin'ini kontrol edelim */
.page-head .page-title{
  margin: 0;                       /* alt boşluğu kaldır */
}

/* Geri butonu beyaz alanda da düzgün dursun */
.page-back-btn{
  background: rgba(16,144,144,.14) !important;
  border-color: rgba(16,144,144,.35) !important;
  color: var(--ink) !important;
  font-weight: 800;
}
.page-back-btn:hover{
  filter: brightness(0.98);
}



.muted{ color:var(--muted); font-size:13px; }

.grid-buttons{
  display:grid;
  grid-template-columns: repeat(2, minmax(240px, 1fr));
  gap:16px;
  margin-top:16px;
}
.big-tile{
  display:block;
  padding:22px;
  border-radius:18px;
  border:0;
  background:#fff;
  box-shadow:0 3px 12px #064f5b24;
  transition: background-color .15s ease, box-shadow .15s ease;
  min-height:140px;
}
.big-tile:hover{
  background:#f5fbfa;
  box-shadow:0 6px 18px #064f5b30;
}
.tile-title{
  font-size:22px;
  font-weight:800;
  margin-bottom:8px;
  color: var(--ink);
}

.tile-sub{
  color: var(--ink-muted);
  line-height:1.35;
}


.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:9px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background: rgba(255,255,255,.04);
  color:var(--text);
  font-size:13px;
  cursor:pointer;
}

/* Sadece ikon: hover'da zıpla + shadow (index.php hissi) */
.icon-only{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  background: transparent !important;
  border: none !important;
  box-shadow: none !important;

  padding: 0 !important;
  margin: 0 !important;

  cursor: pointer;

  transition: transform .14s ease;
  will-change: transform;
}

/* ikon (PNG) */
.icon-only img{
  display: block;
  width: 64px;
  height: 64px;

  border-radius: 12px; /* ikon PNG kare ise yumuşatsın (çerçeve değil) */
  transition: box-shadow .14s ease, filter .14s ease;
}

/* Hover: zıpla + shadow */
.icon-only:hover{
  transform: translateY(-3px);
}

.icon-only:hover img{
  box-shadow: 0 10px 30px rgba(0,0,0,.28);
  filter: brightness(1.01);
}

/* disabled: animasyon yok */
.icon-only.is-disabled{
  opacity: .45;
  pointer-events: none;
  cursor: default;
  transform: none !important;
}
.icon-only.is-disabled img{
  box-shadow: none !important;
  filter: none !important;
}



.btn:hover{ border-color: rgba(255,255,255,.18); }
.btn.primary{
  background: rgba(16,144,144,.20) !important;
  border-color: rgba(16,144,144,.55) !important;
  color: var(--text) !important; /* beyaz sayfada turkuaz yazı */
}
.card .btn.primary{
  background: rgba(255,255,255,.18) !important; /* turkuaz kart üstünde açık */
  border-color: rgba(255,255,255,.40) !important;
  color: #ffffff !important;
}

.btn.plus{
  width:44px; height:44px; font-size:22px; font-weight:900;
  border-radius:14px;
}

.upload-form{
  display:flex; flex-wrap:wrap; gap:10px;
}
.upload-form input[type="text"],
.upload-form input[type="file"]{
  flex:1 1 240px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background: rgba(0,0,0,.18);
  color: var(--text);
}

.table-wrap{ overflow:auto; border-radius:14px; border:1px solid var(--border); }
.table{
  width:100%;
  border-collapse:collapse;
  min-width:640px;
  background: rgba(0,0,0,.12);
  font-size: 15px;
}
.table th, .table td{
  padding:10px 12px;
  border-bottom:1px solid rgba(255,255,255,.06);
  vertical-align:top;
}
.table th{ text-align:left; font-size:13px; color: var(--muted); background: rgba(255,255,255,.03); }

.cell{
  width:100%;
  padding:9px 10px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.16);
  color:var(--text);
}

.textarea{
  width:100%;
  min-height:180px;
  resize:vertical;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background: rgba(0,0,0,.18);
  color: var(--text);
}

.grid-2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:16px;
}
.pager{
  display:flex; justify-content:space-between; align-items:center;
  margin-top:12px;
  gap:10px;
}
.pager-links{ display:flex; gap:10px; }

.form label{ display:block; margin-bottom:6px; color:var(--muted); font-size:13px; }
.form input[type="text"],
.form input[type="email"],
.form input[type="password"]{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background: rgba(0,0,0,.18);
  color: var(--text);
  margin-bottom:12px;
}





@media (max-width: 920px){
  .grid-buttons{ grid-template-columns: 1fr; }
  .grid-2{ grid-template-columns: 1fr; }
}



/* =========================
   DEU-İşletme Tema Override
   ========================= */

/* Fakülte turkuazı (logo tonu) */
:root{
  --faculty: #109090;        /* ana turkuaz (banner + kart) */
  --faculty-dark: #0c6664;   /* tablo gibi koyu turkuaz */
  --ink: #0b6f6f;            /* beyaz zeminde kullanılacak koyu turkuaz yazı */
  --ink-muted: #0f7f7f;      /* beyaz zeminde muted turkuaz */
  --on-faculty: #ffffff;     /* turkuaz zeminde yazı rengi */
}


/* Koyu gri görünen kart alanları -> turkuaz */
.card{
  background: var(--faculty) !important;
  border-color: rgba(255,255,255,.22) !important;
  color: #ffffff !important;
}

/* Kart içindeki açıklama/metinler */
.card h2, .card h3, .card p, .card label{
  color: #ffffff !important;
}

/* Kart içindeki muted yazılar (beyaza yakın) */
.card .muted{
  color: rgba(255,255,255,.88) !important;
}

/* Tüm tablolar: beyaz hücre + #095f5f yazı */
.table{
  background: #ffffff !important;
}

.table th,
.table td{
  background: #ffffff !important;
  color: #095f5f !important;
  border-bottom: 1px solid rgba(9,95,95,.22) !important;
}

/* Başlık hücreleri de beyaz + koyu turkuaz */
.table th{
  font-weight: 800 !important;
}

/* tablo çerçevesi de turkuaz ton */
.table-wrap{
  border-color: rgba(9,95,95,.22) !important;
}



/* Kart içindeki butonlar: beyaz yazı */
.card .btn{
  color: #ffffff !important;
  border-color: rgba(255,255,255,.35) !important;
  background: rgba(255,255,255,.14) !important;
}
.card .btn:hover{
  border-color: rgba(255,255,255,.55) !important;
}
/* CSV indir (Veriler) - mavi */
.card .btn.btn-blue{
  background: #00d833 !important;
  border-color: white !important;
  color: #ffffff !important;
  font-weight: 800;
}
.card .btn.btn-blue:hover{
  filter: brightness(0.95);
}

/* Kırmızı (Veriyi Sil) — her yerde çalışsın (modal dahil) */
.btn.danger{
  background: #b54747 !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
  font-weight: 800;
}
.btn.danger:hover{
  filter: brightness(0.95);
}


/* Form elemanları turkuaz üstünde okunur kalsın: beyaz zemin + siyah yazı */
.card input[type="text"],
.card input[type="password"],
.card input[type="file"],
.card .textarea,
.card .cell{
  background: #ffffff !important;
  color: #111111 !important;
  border: 1px solid rgba(0,0,0,.18) !important;
}



/* =========================
   TOPBAR (BANNER) - TURKUAZ
   ========================= */
.topbar{
  background: var(--faculty) !important;
  border-bottom: 1px solid rgba(255,255,255,.22) !important;
  backdrop-filter: none !important;  /* blur istemiyorsan */
}

.brand{
  color: var(--on-faculty) !important;
  font-weight: 800 !important;
}

.nav a{
  color: rgba(255,255,255,.92) !important;
}

.nav a:hover{
  color: #ffffff !important;
  text-decoration: underline;
}
.card a{ color: var(--on-faculty) !important; }


/* =========================
   Ana Menü - Kare İkon Butonlar
   ========================= */

.home-icon-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, 190px); /* 1 kolon genişliği */
  justify-content: center;                       /* kolonları ortala */
  gap: 14px;
  margin-top: 22px;
  align-items: start;
  
}




.icon-tile{
  width: 100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  padding: 0;
  transition: transform .14s ease, box-shadow .14s ease, filter .14s ease;
}




/* İKON KUTUSU: shadow ve zıplama burada */
.icon-box{
  width: 150px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius: 24px;
  transition: transform .14s ease, box-shadow .14s ease, filter .14s ease;
}

.icon-box img{
  width: 150px;
  height: auto;
  display:block;
}


/* Hover olduğunda sadece ikon kutusu yükselsin + shadow gelsin */
.icon-tile:hover .icon-box{
  transform: translateY(-3px);              /* sadece ikon zıplar */
  box-shadow: 0 14px 30px rgba(0,0,0,.14);  /* shadow sadece ikon etrafında */
  filter: brightness(1.01);
}


.icon-label{
  font-size: 16px;
  font-weight: 600;
  color: var(--ink);
  line-height: 1.1;
  text-align: center;
}



@media (max-width: 620px){
  .icon-tile{ width:180px; }
  .icon-box{ width:180px; }
  .icon-box img{ width:180px; }
  .icon-label{ font-size:16px; }
}

/* Main Exams navigation follows the shared 170px square tiles. */
.home-icon-grid:not(.home-icon-grid--mini){grid-template-columns:repeat(auto-fill,170px);justify-content:start;gap:16px;margin-top:0}
.home-icon-grid:not(.home-icon-grid--mini) .icon-tile{width:170px;aspect-ratio:1;justify-content:center;gap:8px;padding:12px;border:0;border-radius:10px;background:#fff;box-shadow:0 3px 12px #064f5b24;transition:background-color .16s,box-shadow .16s,transform .16s ease}
.home-icon-grid:not(.home-icon-grid--mini) .icon-tile:hover{background:#f5fbfa;box-shadow:0 6px 18px #064f5b30;transform:translateY(-3px);filter:none}
.home-icon-grid:not(.home-icon-grid--mini) .icon-box,.home-icon-grid:not(.home-icon-grid--mini) .icon-box img{width:100px;height:100px;object-fit:contain}
.home-icon-grid:not(.home-icon-grid--mini) .icon-tile:hover .icon-box{transform:none;box-shadow:none;filter:none}
@media(max-width:420px){.home-icon-grid:not(.home-icon-grid--mini){grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-icon-grid:not(.home-icon-grid--mini) .icon-tile{width:100%}.home-icon-grid:not(.home-icon-grid--mini) .icon-box,.home-icon-grid:not(.home-icon-grid--mini) .icon-box img{width:80px;height:80px}.home-icon-grid:not(.home-icon-grid--mini) .icon-label{font-size:14px}}
@media(prefers-reduced-motion:reduce){.home-icon-grid:not(.home-icon-grid--mini) .icon-tile,.big-tile,.ruleset-box{transition:none}.home-icon-grid:not(.home-icon-grid--mini) .icon-tile:hover{transform:none}}

.req-list{
  margin: 0 0 0 18px;
  padding: 0;
}
.req-list li{
  margin: 6px 0;
}




/* =========================
   Kurallar - Set Grid (max 7)
   ========================= */
.page-actions{
  margin: 10px 0 18px 0;
  display:flex;
  justify-content:flex-end;
  gap:10px;
}

.ruleset-grid{
  display:grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 14px;
  margin-top: 18px;
  align-items:start;
}

.ruleset-tile{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  text-align:center;
}

.ruleset-box{
  width:100%;
  aspect-ratio: 1 / 1;
  border-radius: 18px;
  border: 0;
  background: #fff;
  padding: 10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  box-shadow:0 3px 12px #064f5b24;
  transition: background-color .16s, box-shadow .16s, transform .16s ease;
}

.ruleset-tile:hover .ruleset-box{
  background:#f5fbfa;
  box-shadow:0 6px 18px #064f5b30;
  transform:translateY(-3px);
}
@media(prefers-reduced-motion:reduce){.ruleset-tile:hover .ruleset-box{transform:none}}

.ruleset-count{
  font-size: 26px;
  font-weight: 800;
  color: var(--ink);
  line-height: 1;
}

.ruleset-count-label{
  font-size: 12px;
  color: var(--ink-muted);
  margin-top: 4px;
}

.ruleset-updated{
  margin-top: 8px;
  font-size: 11px;
  color: rgba(11,111,111,.85);
}

.ruleset-label{
  font-size: 14px;
  font-weight: 650;
  color: var(--ink);
  line-height: 1.2;
}

/* Responsive */
@media (max-width: 1100px){
  .ruleset-grid{ grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 700px){
  .ruleset-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 460px){
  .ruleset-grid{ grid-template-columns: 1fr; }
}
.ruleset-grid{grid-template-columns:repeat(auto-fill,170px)}
@media(max-width:420px){.ruleset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* =========================
   Kural listesi (ruleset.php)
   ========================= */
.rule-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top: 10px;
}

.rule-item{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.22);
  background: rgba(0,0,0,.12);
}

.rule-title{
  font-weight:800;
  color:#fff;
}

.rule-meta{
  margin-top:6px;
  font-size:12px;
  color: rgba(255,255,255,.86);
}

.rule-actions{
  display:flex;
  gap:10px;
  align-items:flex-start;
  flex-wrap:wrap;
}

/* =========================
   Rule builder küçük UI
   ========================= */
.hr{
  height:1px;
  background: rgba(255,255,255,.22);
  margin: 12px 0;
  border-radius: 1px;
}

/* Form select/number için de aynı stil */
.form select,
.form input[type="number"]{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background: rgba(0,0,0,.18);
  color: var(--text);
  margin-bottom:12px;
}

/* Card üstünde okunur kalsın */
.card select,
.card input[type="number"]{
  background:#ffffff !important;
  color:#111111 !important;
  border:1px solid rgba(0,0,0,.18) !important;
}

/* Kural kutusu */
.rule-preview{
  padding: 12px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(0,0,0,.12);
  color: #ffffff;
  font-weight: 700;
}

/* Grid düzeni */
.rule-form-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 10px;
}
.rule-form-grid .span-2{ grid-column: 1 / -1; }

@media (max-width: 720px){
  .rule-form-grid{ grid-template-columns: 1fr; }
}


/* =========================
   Kurallar Sayfası - Set Listesi Tablosu
   ========================= */

.rulesets-wrap{
  border: 1px solid var(--faculty-dark) !important; /* koyu turkuaz stroke */
  background: #ffffff !important;
}

/* Bu tablo, global .table stilinden bağımsız olacak */
.rulesets-table{
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
  background: #ffffff !important;
}

.rulesets-table th,
.rulesets-table td{
  padding: 12px 14px;
  border-bottom: 1px solid var(--faculty-dark) !important; /* koyu turkuaz çizgiler */
  vertical-align: middle;
}

/* Başlık satırı turkuaz + beyaz yazı */
.rulesets-table thead th{
  background: var(--faculty) !important;
  color: #ffffff !important;
  font-weight: 800;
}

/* Veri satırları beyaz + koyu turkuaz yazı */
.rulesets-table tbody td{
  background: #ffffff !important;
  color: var(--ink) !important;
}

/* Hover: çok hafif vurgu */
.rulesets-table tbody tr:hover td{
  background: rgba(16,144,144,.06) !important;
}

/* Düzenle / Sil butonları */
.btn-rule-copy,
.btn-rule-edit,
.btn-rule-delete{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 12px;
  color: #ffffff !important;
  font-weight: 700;
  border: none;
  text-decoration: none;
}

/* Yeşil düzenle */
.btn-rule-copy{
  background: #1f8a70;
}

.btn-rule-edit{
  background: #417dbf;
}

/* Kırmızı sil */
.btn-rule-delete{
  background: #b54747;
}

/* Hover koyulaştırma */
.btn-rule-copy:hover{ filter: brightness(0.95); }
.btn-rule-edit:hover{ filter: brightness(0.95); }
.btn-rule-delete:hover{ filter: brightness(0.95); }

/* Başlıklar ve satırlar aynı hizaya */
.rulesets-table th,
.rulesets-table td{
  text-align: left;            /* hepsi sola dayalı */
}

/* Sadece buton kolonları ortalı olsun */
.rulesets-table th:nth-child(4),
.rulesets-table th:nth-child(5),
.rulesets-table th:nth-child(6),
.rulesets-table th:nth-child(7),
.rulesets-table td:nth-child(4),
.rulesets-table td:nth-child(5),
.rulesets-table td:nth-child(6),
.rulesets-table td:nth-child(7){
  text-align: center;
}

/* Kural sayısı sütunu da istersen ortalı */
/* Kurallar tablosu daha kompakt */
.rulesets-table{
  font-size: 13px !important;
}

.rulesets-table th{
  font-size: 13px !important;
}

.rulesets-table td{
  font-size: 13px !important;
}

/* Butonlar da biraz küçülsün */
.btn-rule-copy,
.btn-rule-edit,
.btn-rule-delete{
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 13px;
}


/* =========================
   ruleset.php - Kural Kartları (Beyaz + Turkuaz)
   ========================= */

.rule-list-light{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:10px;
}

/* Kural kartı */
.rule-item-light{
  display:flex;
  align-items:stretch;                 /* numara kutusu tam yükseklik alsın */
  gap:14px;
  padding:12px;
  border-radius:16px;
  border:1px solid var(--faculty-dark) !important;
  background:#ffffff !important;
}

.rule-item-light{
  position: relative;
}

.rule-num{
  /* kart yüksekliğine yakın büyük bir daire */
  align-self: stretch;          /* kartın yüksekliğine yayıl */
  aspect-ratio: 1 / 1;          /* daire */
  min-height: 48px;             /* çok küçük olmasın */
  height: auto;                 /* stretch ile yükseklik alacak */
  width: auto;                  /* aspect-ratio genişliği belirleyecek */

  border-radius: 999px;
  border: 1px solid var(--faculty-dark);
  background: rgba(16,144,144,.10);
  color: var(--faculty-dark);

  display:flex;
  align-items:center;           /* dikey ortala */
  justify-content:center;       /* yatay ortala */

  font-weight: 900;
  font-size: 20px;              /* yazı biraz büyük */
  line-height: 1;
  padding: 0 10px;              /* güvenlik */
}


/* Metin alanı */
.rule-item-light .rule-text{
  flex: 1 1 auto;
}

.rule-item-light .rule-title{
  color: var(--faculty-dark) !important;
  font-weight: 400;

  font-size: 15px;
}

.rule-item-light .rule-meta{
  margin-top:6px;
  color: var(--ink-muted) !important;
  font-size: 12px;
}

/* Buton alanı */
.rule-item-light .rule-actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

/* Bu sayfada butonlar daha düzgün dursun */
.rule-item-light .btn-rule-edit,
.rule-item-light .btn-rule-delete{
  min-width: 110px;
  padding: 10px 14px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 800;
}


/* =========================
   Kurallar (kurallar.php) - Ortalı başlık + ikon butonlar
   ========================= */

.page-title-center{
  text-align: center;
}

.page-subtitle-center{
  text-align: center;
}

/* Bu sayfada action alanı ortada olsun */
.page-actions.rulesets-actions{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin: 18px 0 22px 0;
}

/* Kare ikon buton */
.rulesets-icon-btn{
  width: 72px;
  height: 72px;
  border-radius: 18px;              /* kare ama yumuşak köşe */
  border: 1px solid rgba(16,144,144,.35);
  background: rgba(16,144,144,.06);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .14s ease, box-shadow .14s ease, filter .14s ease;
}

.rulesets-icon-btn:hover{
  transform: translateY(-3px);
 box-shadow: 0 6px 14px rgba(0,0,0,.12);
  filter: brightness(1.01);
}

.rulesets-icon-btn img{
  width: 54px;
  height: 54px;
  object-fit: contain;
  display: block;
}

/* Mobilde biraz küçült */
@media (max-width: 520px){
  .rulesets-icon-btn{
    width: 78px;
    height: 78px;
    border-radius: 16px;
  }
  .rulesets-icon-btn img{
    width: 46px;
    height: 46px;
  }
}



/* =========================
   Modal (Popup) - Yeni Kural Ekle
   ========================= */

body.modal-open{
  overflow: hidden;
}

/* button da .rulesets-icon-btn kullansın */
button.rulesets-icon-btn{
  cursor: pointer;
  appearance: none;
}

/* arka plan */
.br-modal-backdrop{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.35);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  z-index: 2000;
}

.br-modal-backdrop.is-open{
  display: flex;
}

/* kutu */
.br-modal{
  width: min(780px, 100%);
  background: #ffffff;
  border-radius: 18px;
  border: 1px solid rgba(16,144,144,.35);
  box-shadow: 0 18px 50px rgba(0,0,0,.18);
  padding: 16px;
}

/* üst başlık satırı */
.br-modal-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.br-modal-head h2{
  margin: 0;
  font-size: 18px;
  color: var(--ink);
}

/* X kapatma */
.br-modal-x{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.03);
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
}

.br-modal-x:hover{
  filter: brightness(.98);
}

/* modal içi inputları beyaz yap (temiz görünüm) */
.br-modal .form select,
.br-modal .form input[type="number"]{
  background: #ffffff !important;
  color: #111111 !important;
  border: 1px solid rgba(0,0,0,.18) !important;
}
/* Modal içindeki text/file inputlar da beyaz olsun (dataset upload popup) */
.br-modal .form input[type="text"],
.br-modal .form input[type="file"]{
  width: 100%;
  padding: 10px 12px;
  border-radius: 12px;
  background: #ffffff !important;
  color: #111111 !important;
  border: 1px solid rgba(0,0,0,.18) !important;
}

/* preview alanı turkuaz tonlu */
.br-modal .rule-preview{
  background: rgba(16,144,144,.06) !important;
  border: 1px solid rgba(16,144,144,.35) !important;
  color: var(--ink) !important;
}

/* alt butonlar */
.br-modal-actions{
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 12px;
  flex-wrap: wrap;
}


/* =========================
   classrooms.php - Tek Kutu (Derslikler)
   ========================= */

.dataset-card{
  padding: 18px !important;
}

.dataset-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

.dataset-head h2{
  margin:0;
  font-size:20px;
}

.dataset-title-block{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:min(100%, 420px);
  flex:1 1 520px;
}

.dataset-active-form{
  margin:0;
  max-width:720px;
}

.dataset-active-label{
  display:block;
  margin:0 0 4px 0;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}

.dataset-active-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.dataset-active-select{
  flex:1 1 360px;
  min-width:260px;
  min-height:44px;
  margin:0 !important;
  padding:10px 42px 10px 14px;
  border:1px solid rgba(255,255,255,.70) !important;
  border-radius:8px;
  background:
    linear-gradient(45deg, transparent 50%, var(--ink) 50%) right 18px center / 7px 7px no-repeat,
    linear-gradient(135deg, var(--ink) 50%, transparent 50%) right 12px center / 7px 7px no-repeat,
    linear-gradient(180deg, #ffffff 0%, #f4fbfb 100%) !important;
  color:#113b3b !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.75) inset,
    0 8px 18px rgba(0,0,0,.10);
  font-size:14px;
  font-weight:700;
  line-height:1.25;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease, background-color .16s ease;
  touch-action: manipulation;
}

.dataset-active-submit{
  flex:0 0 auto;
  margin:0;
  min-height:44px;
  border-radius:8px !important;
  background:#ffffff !important;
  color:var(--ink) !important;
  border:1px solid rgba(255,255,255,.70) !important;
  box-shadow:0 8px 18px rgba(0,0,0,.10);
  font-weight:800;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease, background-color .16s ease;
}

.dataset-active-select::-ms-expand{
  display:none;
}

.dataset-active-select:focus-visible{
  outline:none;
  border-color:#ffffff !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.85) inset,
    0 0 0 4px rgba(255,255,255,.26),
    0 12px 24px rgba(0,0,0,.16);
}

.dataset-active-select:disabled{
  cursor:not-allowed;
  opacity:.72;
  box-shadow:none;
}

@media (hover:hover){
  .dataset-active-select:hover,
  .dataset-active-submit:hover{
    border-color:#ffffff !important;
    box-shadow:
      0 1px 0 rgba(255,255,255,.85) inset,
      0 12px 24px rgba(0,0,0,.16);
    transform:translateY(-1px);
  }
}

.dataset-active-submit:active{
  transform:translateY(0);
  box-shadow:0 5px 12px rgba(0,0,0,.12);
}

@media (max-width:720px){
  .dataset-active-row{
    align-items:stretch;
  }

  .dataset-active-select,
  .dataset-active-submit{
    flex:1 1 100%;
    width:100%;
    min-width:0;
  }
}

.dataset-actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

.dataset-upload{
  align-items:center; /* input + butonlar aynı hizada dursun */
}






/* =========================
   classrooms.php - File + Buttons satırı
   ========================= */

/* classrooms.php - tek satır upload row */
.dataset-inline-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap: nowrap;   /* büyük ekranda TEK satır */
  width:100%;
}

.dataset-inline-row .dataset-name{
  flex: 0 0 320px;     /* dosya adı kısa kalsın */
  width: 320px;
  max-width: 100%;
}

.dataset-inline-row .dataset-file{
  flex: 1 1 320px;     /* file alanı esneyebilsin */
  min-width: 220px;
  max-width: 420px;
  min-width: 0;        /* flex içinde küçülebilsin */
}

@media (max-width: 900px){
  .dataset-inline-row{
    flex-wrap: wrap;   /* küçük ekranda alt satıra düşebilir */
  }
  .dataset-inline-row .dataset-name,
  .dataset-inline-row .dataset-file{
    width:100%;
    max-width: 100%;
  }
}


.dataset-file-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex: 0 0 auto;
}

/* Yeşil (Veri Yükle / Güncelle) — her yerde çalışsın (modal dahil) */
.btn.ok{
  background: #00d833 !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
  font-weight: 800;
}
.btn.ok:hover{
  filter: brightness(0.97);
}
/* =========================
   olustur.php - Sınav Arama UI
   (Modern görünüm)
   ========================= */

.card .exam-search-wrap{
  max-width: 920px;
  position: relative;
  margin-top: 10px;
}


/* Arama + Download aynı satır */
.card .exam-search-row{
  display: flex;
  align-items: center;
  justify-content: space-between; /* ikon sağdaki boşluğa gider */
  gap: 14px;
  width: 100%;
}

/* Download ikonu: input ile aynı yükseklik */
.card .exam-search-download{
  width: 52px;
  height: 52px;
}
.card .exam-search-download img{
  width: 52px;
  height: 52px;
}

/* Mobilde input 56px olduğu için ikon da 56px olsun */
@media (max-width: 520px){
  .card .exam-search-download{
    width: 56px;
    height: 56px;
  }
  .card .exam-search-download img{
    width: 56px;
    height: 56px;
  }
}


/* Input satırı */
.card .exam-search-input{
  position: relative;
}

/* Arama kutusu */
.card #examSearchInput{
  width: 100%;
  height: 52px;

  /* solda ikon, sağda X için boşluk */
  padding: 12px 56px 12px 44px;

  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.18) !important;
  background: #ffffff !important;
  color: #111111 !important;

  font-size: 15px;
  font-weight: 650;

  box-shadow: 0 16px 40px rgba(0,0,0,.14);
  transition: box-shadow .14s ease, border-color .14s ease, transform .14s ease;
}

/* Placeholder daha yumuşak */
.card #examSearchInput::placeholder{
  color: rgba(17,17,17,.55);
  font-weight: 600;
}

/* Sol tarafta küçük arama ikonu (ekstra HTML gerekmez) */
.card .exam-search-input::before{
  content: "🔎";
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  opacity: .55;
  pointer-events: none;
}

/* Focus olduğunda turkuaz halka */
.card #examSearchInput:focus{
  outline: none;
  border-color: rgba(16,144,144,.75) !important;
  box-shadow: 0 0 0 4px rgba(16,144,144,.18), 0 18px 50px rgba(0,0,0,.16);
}

/* Seçim yapıldığında input kilitleniyor (disabled). Daha “etiket” gibi dursun */
.card #examSearchInput:disabled{
  background: rgba(255,255,255,.92) !important;
  color: var(--ink) !important;
  border-color: rgba(255,255,255,.55) !important;
  cursor: default;
}

/* Sağdaki X (temizle) butonu */
.card #examSearchClear{
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);

  width: 38px;
  height: 38px;
  border-radius: 14px;

  border: 1px solid rgba(16,144,144,.35) !important;
  background: rgba(16,144,144,.10) !important;

  color: var(--faculty-dark) !important;
  font-size: 24px;
  font-weight: 900;
  line-height: 1;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  box-shadow: 0 10px 24px rgba(0,0,0,.12);
  transition: transform .14s ease, filter .14s ease, box-shadow .14s ease, background .14s ease;
}

.card #examSearchClear:hover{
  transform: translateY(-50%) translateY(-1px);
  filter: brightness(1.02);
  background: rgba(16,144,144,.16) !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.14);
}

/* Öneri kutusu (dropdown) */
.card .exam-search-suggestions{
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  z-index: 30;

  border: 1px solid rgba(9,95,95,.22) !important;
  border-radius: 16px;
  background: #ffffff !important;

  box-shadow: 0 18px 50px rgba(0,0,0,.18);
  overflow: hidden;

  max-height: 360px;
  overflow-y: auto;
}

/* Öneri satırları */
.card .exam-search-suggestions button{
  width: 100%;
  padding: 12px 14px;
  border: 0;
  background: transparent;

  text-align: left;
  cursor: pointer;

  color: var(--ink) !important;
  font-weight: 750;
  font-size: 14px;
}

/* Satır ayraç */
.card .exam-search-suggestions button + button{
  border-top: 1px solid rgba(9,95,95,.14) !important;
}

/* Hover/Focus: turkuaz vurgu */
.card .exam-search-suggestions button:hover,
.card .exam-search-suggestions button:focus{
  background: rgba(16,144,144,.07) !important;
  outline: none;
}

/* Mobilde biraz büyüt */
@media (max-width: 520px){
  .card #examSearchInput{
    height: 56px;
    font-size: 16px;
  }
  .card #examSearchClear{
    width: 40px;
    height: 40px;
    border-radius: 14px;
  }
}

/* =========================
   lect.php - Hoca sınav tablosu
   Düzgün tablo + ASLA yatay scroll yok
   ========================= */

/* lect.php tablolarinda gerekirse yatay kaydirma olsun */
.lect-table-wrap{
  overflow-x: auto !important;
}

/* Tablo: ekrana sığ, sabit yerleşim */
.lect-exams-table{
  width: 100% !important;
  table-layout: fixed !important;
  min-width: 0 !important;      /* global min-width:640'ı ezer */
  font-size: 13px !important;   /* biraz küçült */
}

/* Hücreler: mutlaka satır kır */
.lect-exams-table th,
.lect-exams-table td{
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  line-height: 1.2;
  padding: 8px 10px;
  vertical-align: middle !important;
}

/* Başlık biraz daha küçük */
.lect-exams-table th{
  font-size: 12px !important;
}

/* Sağdaki buton kolonu ortalı (artık sadece "Yoklama") */
.lect-exams-table th:nth-child(8),
.lect-exams-table td:nth-child(8){
  text-align: center;
}

.lect-exams-table .btn,
.lect-invigs-table .btn.btn-tutanak{
  font-size: 12px !important;
  padding: 6px 10px !important;
  border-radius: 10px !important;

  /* Yoklama: pastel mavi + beyaz yazı */
  color: #ffffff !important;
  background: #60a5fa !important;
  border-color: #3b82f6 !important;
  font-weight: 800 !important;
}

.lect-exams-table .btn:hover{
  filter: brightness(0.95);
}

.lect-invigs-table .btn.lect-trade-btn{
  font-size: 12px !important;
  padding: 6px 10px !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  background: #f97316 !important;
  border-color: #ea580c !important;
}

/* =========================
   lect.php - Üst butonlar + Toplam sınav satırı
   ========================= */

.lect-view-actions{
  display:flex;
  justify-content:center;   /* ortala */
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin:12px 0 16px 0;
}

/* Toplam sınav: solda, PDF İndir: sağda */
.lect-count-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

.lect-count-row .muted{ margin:0; }

/* Renkli butonlar (beyaz yazı) */
.btn.br-blue{
  background:#2563eb !important;
  border-color: rgba(255,255,255,.45) !important;
  color:#ffffff !important;
  font-weight: 900 !important;
}
.btn.br-green{
  background:#16a34a !important;
  border-color: rgba(255,255,255,.45) !important;
  color:#ffffff !important;
  font-weight: 900 !important;
}
.btn.br-orange{
  background:#f97316 !important;
  border-color: rgba(255,255,255,.45) !important;
  color:#ffffff !important;
  font-weight: 900 !important;
}

.btn.br-blue:hover,
.btn.br-green:hover,
.btn.br-orange:hover{
  filter: brightness(0.95);
}

/* aktif görünüm */
.btn.is-active{
  box-shadow: 0 10px 22px rgba(0,0,0,.18);
  transform: translateY(-1px);
}

/* =========================
   lect.php - TAKVİM GÖRÜNÜMÜ (2 hafta)
   Premium tablo stili
   ========================= */

.lect-cal-week-title{
  margin: 18px 0 10px 0;
  text-align: center;
  font-size: 14px;
  letter-spacing: .8px;
  font-weight: 900;
  color: #ffffff;
}

.lect-cal-wrap{
  background: #ffffff;
  border-radius: 18px;
  overflow: hidden;                 /* radius düzgün görünsün */
  border: 1px solid rgba(9,95,95,.18);

  box-shadow: 0 18px 45px rgba(0,0,0,.14);
  margin-bottom: 18px;

  overflow-x: auto;                 /* dar ekranda yatay scroll */
}

.lect-cal-table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  min-width: 980px;                 /* 6 sütun rahat sığsın */
}

/* hücre çizgileri */
.lect-cal-table th,
.lect-cal-table td{
  border-right: 1px solid rgba(9,95,95,.18);
  border-bottom: 1px solid rgba(9,95,95,.18);
  padding: 10px 10px;
  vertical-align: top;
  background: #ffffff;
  color: #095f5f;
  font-size: 12px;
  vertical-align: middle !important;
}




/* son sütunda sağ çizgi olmasın */
.lect-cal-table th:last-child,
.lect-cal-table td:last-child{
  border-right: 0;
}

/* son satırda alt çizgi olmasın */
.lect-cal-table tbody tr:last-child th,
.lect-cal-table tbody tr:last-child td{
  border-bottom: 0;
}

/* üst başlık satırı */
.lect-cal-table thead th{
  background: rgba(16,144,144,.08);
  font-weight: 900;
}





.cal-corner{
  width: 140px;                     /* saat kolonu genişliği */
  background: rgba(16,144,144,.10) !important;
}

.cal-day-head{
  text-align: center;
}

.cal-day-name{
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .4px;
}

.cal-day-date{
  margin-top: 2px;
  font-size: 11px;
  opacity: .9;
}

/* saat kolonu */
.cal-time{
  background: rgba(16,144,144,.06) !important;
  text-align: center;
  width: 140px;
}

.cal-time-main{
  font-weight: 950;
  font-size: 12px;
}

.cal-time-sub{
  margin-top: 2px;
  font-size: 11px;
  opacity: .9;
}

/* iç hücre */
.cal-cell{
  height: 128px;                    /* her slot sabit hissiyat */
}



/* sınav kartı */
.cal-item{
  border-radius: 14px;
  border: 1px solid rgba(16,144,144,.22);
  background: rgba(16,144,144,.07);
  padding: 4px 4px 4px 4px !important;
  margin: 2px 0;
  box-shadow: 0 10px 22px rgba(0,0,0,.06);
}

.cal-course{
  font-weight: 950;
  font-size: 12px;
  line-height: 1;
    margin: 0 !important;

}

.cal-room{
  margin-top: 3px;
  font-size: 12px;
  font-weight: 400;
  opacity: .95;
}

.cal-inv{
  margin-top: 6px;
  font-size: 11px;
  line-height: 1.2;
}

.cal-occ{
  margin-top: 6px;
  font-size: 11px;
  opacity: .95;
}



/* =========================
   lect.php - Takvim boş satırları küçült
   ========================= */

/* Normal dolu satır yüksekliği zaten .cal-cell ile 128px */
.cal-row-empty .cal-cell{
  height: 44px;              /* ~128/3 */
  padding-top: 6px;
  padding-bottom: 6px;
}

/* Saat hücresini de sıkıştır */
.cal-row-empty .cal-time{
  padding-top: 6px;
  padding-bottom: 6px;
}



/* =========================
   lect.php - Takvim içi “Yoklama” butonu
   (liste görünümüyle aynı renk)
   ========================= */

.cal-yoklama-wrap{
  margin-top: 4px;
  display: flex;
  justify-content: center;   /* yatay ortala */
}

.cal-yoklama-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 5px 10px;
  border-radius: 6px;

  background: #60a5fa;       /* liste görünümü ile aynı */
  border: 1px solid #3b82f6; /* liste görünümü ile aynı */
  color: #ffffff;

  font-size: 11px;
  font-weight: 800;

  cursor: pointer;
}

.cal-yoklama-btn:hover{
  filter: brightness(1.1);
}

/* =========================================
   lect.php takvim: GÜVENLİ yatay+dikey ortalama
   (tablo hücrelerini display:flex yapmadan)
   ========================================= */

/* Tüm takvim hücreleri: yatay + dikey ortalama */
.lect-cal-table th,
.lect-cal-table td{
  vertical-align: middle !important;
  text-align: center !important;
}

/* Saat sütunu zaten ayrı: ortada dursun */
.cal-time{
  text-align: center !important;
}

/* Sınav kutuları hücre içinde ortalansın (yatay) */
.cal-item{
  margin: 6px auto !important;    /* auto => yatay ortalama */
  width: 92% !important;
  max-width: 260px !important;
  text-align: center !important;  /* kutu içi metin */
}

/* Boş hücre */
.cal-empty{
  height: 120%;
}

/* =========================================
   lect.php - Tab Buttons 
   (Active = faculty, Inactive = faculty-dark)
   ========================================= */

.lect-tabs{
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: flex-end;
  justify-content: flex-start;

  /* Tabs share a toolbar with the archive selector above the card. */
  margin: 0;

  /* Tab bar arka planı SAYFA BEYAZI olsun */
  background: #ffffff;

  /* İçten nefes */
  padding: 0 0px;

  /* Tabların oturduğu çizgi */
border-bottom: 0 !important;
box-shadow: none !important;


  /* Kartın üst radius'u ile uyumlu */
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;

  overflow: hidden; /* beyaz bar radius dışında taşmasın */
}

.lect-tab{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 6px 22px;
  min-width: 140px;
  min-height: 40px;

  border-radius: 16px 16px 0 0;

  /* İnaktif = koyu yeşil */
  background: var(--faculty-dark);
  color: #ffffff;

  /* Kenar çizgisi (tab şekli) */
  border: 0 !important;

  border-bottom: 0;

  font-weight: 600;
  letter-spacing: .2px;
  text-decoration: none;
  user-select: none;

  /* Çizgiyle aynı hizada durması için */
  margin-bottom: 0;
  position: relative;
}

.lect-tab:hover{
  filter: brightness(1.2);
}

/* Aktif = ana yeşil */
.lect-tab.is-active{
  background: var(--faculty);
  color: #ffffff;

margin-bottom: 0;
box-shadow: none;

}

.lect-tab.is-active:hover{
  filter: brightness(1);
}


/* JS toggle: sadece aktif view görünsün */
.lect-view{ display:none; }
.lect-view.is-active{ display:block; }
/* Sadece lect.php kartı: dış stroke (border) görünmesin */
.lect-card{
  border: none !important;
  display: flow-root; /* Keep a first message's margin inside the card. */
  margin-top: 0;
  border-top-left-radius: 0;
}

/* One compact row: tabs left, archive selector right. Shared shell owns top spacing. */
.exam-schedule-tools{
  margin: 0;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:8px 16px;
  flex-wrap:wrap;
}

.lect-schedule-select-form{
  margin:0;
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
  min-width:0;
  max-width:100%;
}
.lect-schedule-select-label{
  font-size:13px;
  font-weight:800;
  color:#2f5f58;
  white-space:nowrap;
}
.lect-schedule-select{
  min-width:280px;
  max-width:min(44vw, 520px);
  height:40px;
  margin:0;
  border:1px solid rgba(12,102,100,.22);
  border-radius:10px;
  background:#fff;
  color:#123232;
  font-size:14px;
  font-weight:700;
}
@media (max-width: 899px){
  .lect-tabs{
    width:100%;
    gap:8px;
  }
  .lect-tab{
    flex:1 1 auto;
    min-width:0;
    padding:6px 12px;
  }
  .lect-schedule-select-form{
    order:-1;
    width:100%;
    margin-left:0;
    align-items:center;
  }
  .lect-schedule-select{
    min-width:0;
    max-width:100%;
    width:100%;
  }
}


/* lect.php: right-side actions (Google icon + PDF) */
.lect-top-actions{
  display: flex;
  align-items: center;
  gap: 10px;
}

/* remove default form spacing */
.gcal-form{
  display: inline-flex;
  margin: 0;
}

/* Icon-only buttons: NO frame, NO padding, NO fixed box */
.gcal-icon,
.pdf-icon{
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;

  line-height: 0 !important;
  font-size: 0 !important;

  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Image itself defines the clickable size */
.gcal-icon img,
.pdf-icon img{
  display: block;
  width: auto;
  height: 64px;  /* change this if you want bigger/smaller */
}

/* Optional: tiny hover effect on the image only */
.gcal-icon:hover img {
  filter: brightness(1.2);
}


/* Optional: tiny hover effect on the image only */

.pdf-icon:hover img{
  filter: brightness(1.1);
}




/* =========================
   lect.php - Tarih hücresi (2 satır)
   GG.AA.YYYY + Haftanın günü
   ========================= */
.col-date{ line-height: 1.05 !important; }
.date-top{

}
.date-dow{
  margin-top: 2px;
  font-size: 12px;
  opacity: 1;

}


/* =========================
   lect.php - Gözetmenliklerim tablosu:
   Sınavlarım tablosuyla aynı font/yoğunluk
   ========================= */
.lect-invigs-table{
  width: 100% !important;
  table-layout: auto !important;
  min-width: 0 !important;
  font-size: 13px !important;
}

.lect-invigs-table th,
.lect-invigs-table td{
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.2;
  padding: 8px 10px;
  vertical-align: middle !important;
}

.lect-invigs-table th{
  font-size: 12px !important;
}

.lect-invigs-table th,
.lect-invigs-table td{
  width: auto !important;
}

.lect-invigs-table th:nth-child(1),
.lect-invigs-table td:nth-child(1),
.lect-invigs-table th:nth-child(2),
.lect-invigs-table td:nth-child(2){
  white-space: nowrap !important;
  width: 1% !important;
}

.lect-invigs-table th:nth-child(7),
.lect-invigs-table td:nth-child(7),
.lect-invigs-table th:nth-child(8),
.lect-invigs-table td:nth-child(8),
.lect-invigs-table th:nth-child(9),
.lect-invigs-table td:nth-child(9){
  width: 1% !important;
  text-align: center;
  white-space: nowrap !important;
}


/* =========================
   Sınavlarım tablosunda da Tarih + Saat dar olsun
   ========================= */
.lect-exams-table th:nth-child(1),
.lect-exams-table td:nth-child(1){
  width: 110px !important;
}

.lect-exams-table th:nth-child(2),
.lect-exams-table td:nth-child(2){
  width: 70px !important;
}

/* Yoklama kolonu sabit kalsın */
.lect-exams-table th:nth-child(8),
.lect-exams-table td:nth-child(8){
  width: 105px !important;
}

/* lect.php - Gözetmenliklerim: satır yüksekliğini Sınavlarım ile aynı yap */
.lect-invigs-table th,
.lect-invigs-table td{
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  line-height: 1.2 !important;
}

/* Eğer içeride div/line-break nedeniyle şişiyorsa, satır içi boşlukları da sıkılaştır */
.lect-invigs-table td > div,
.lect-invigs-table td p{
  margin: 0 !important;
}


/* Legend + ikon satırı: içerik her zaman ortalı dursun */
.lect-count-row{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex-wrap: wrap;

  /* Boşluğu yukarıda tek taraflı bırakmak yerine, içeride eşit dağıt */
  padding: 10px 0 !important;
}

.lect-count-row .lect-legend{
  margin: 0 !important;
}

.lect-count-row .lect-top-actions{
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

/* Form bazen kendi baseline saçmalığı yaratıyor: direkt flex yap */
.lect-top-actions .gcal-form{
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
}


/* =========================================
   lect.php - Gözetmenliklerim: TUTANAK sütunu + buton
   ========================================= */
.lect-invigs-table th:nth-child(8),
.lect-invigs-table td:nth-child(8),
.lect-invigs-table th:nth-child(9),
.lect-invigs-table td:nth-child(9){
  width: 1% !important;
  text-align: center;
  white-space: nowrap !important;
}





.lect-invigs-table .btn.btn-tutanak:hover{
  filter: brightness(0.95);
}

.lect-invigs-table .btn.lect-trade-btn:hover{
  filter: brightness(0.95);
}

.lect-invigs-table .btn.btn-tutanak{
  font-family: inherit !important;
  line-height: 1.2 !important;
  appearance: none;
}

.lect-invigs-table .btn.lect-trade-btn{
  font-family: inherit !important;
  line-height: 1.2 !important;
  appearance: none;
  text-decoration: none !important;
}

.lect-invigs-table .btn.btn-tutanak:disabled,
.lect-invigs-table .btn.btn-tutanak[disabled]{
  opacity: .6;
  cursor: not-allowed;
  filter: none;
}

.lect-invigs-table .btn.lect-trade-btn:disabled,
.lect-invigs-table .btn.lect-trade-btn[disabled]{
  opacity: .6;
  cursor: not-allowed;
  filter: none;
}

/* =========================================
   Tutanak popup (modal) içi düzen
   br-modal / br-modal-backdrop zaten var, sadece içerik layout'u ekliyoruz
   ========================================= */
.tutanak-meta{
  margin: 6px 0 10px 0;
  color: var(--ink);
  font-weight: 800;
}

.tutanak-subtitle{
  margin: 0 0 10px 0;
  color: rgba(11,111,111,.85);
  font-size: 12px;
  line-height: 1.35;
}

.tutanak-checklist{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 16px;
  margin-top: 8px;
}

.tutanak-check{
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--ink);
  font-weight: 500;
  font-size: 12px;
  user-select: none;
}

.tutanak-check input{
  width: 18px;
  height: 18px;
}

.tutanak-inv-header{
  grid-column: 1 / -1;
  margin-top: 6px;
  font-weight: 900;
  color: var(--ink);
}

@media (max-width: 520px){
  .tutanak-checklist{ grid-template-columns: 1fr; }
}

/* Öğrenci sütunu artık sadece sayı: daralt */
.lect-exams-table th:nth-child(7),
.lect-exams-table td:nth-child(7){
  width: 90px !important;
  text-align: center;
}

.lect-invigs-table th:nth-child(7),
.lect-invigs-table td:nth-child(7){
  width: 90px !important;
  text-align: center;
}


/* ✅ Tutanak popup: card içindeki beyaz label zorlamasını ez (beyaz zeminde görünmüyordu) */
.tutanak-modal label,
.tutanak-modal .tutanak-check,
.tutanak-modal .tutanak-check span,
.tutanak-modal .tutanak-inv-header{
  color: var(--ink) !important;
}

/* =========================================
   Auth pages
   ========================================= */
.auth-shell{
  max-width: 1040px;
  margin: 28px auto 36px auto;
}

.auth-surface{
  display: grid;
  grid-template-columns: minmax(320px, .95fr) minmax(380px, 1.05fr);
  border: 1px solid rgba(16,144,144,.16);
  border-radius: 28px;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 20px 50px rgba(6,61,61,.08);
}

.auth-surface--single{
  grid-template-columns: 1fr;
  max-width: 760px;
  margin: 0 auto;
}

.auth-column{
  padding: 40px 42px;
}

.auth-column--single{
  background:
    radial-gradient(circle at top left, rgba(16,144,144,.08), transparent 42%),
    linear-gradient(180deg, #fbfefe 0%, #f7fcfc 54%, #ffffff 100%);
}

.auth-column--intro{
  background:
    radial-gradient(circle at top left, rgba(16,144,144,.08), transparent 42%),
    linear-gradient(180deg, #fbfefe 0%, #f7fcfc 54%, #ffffff 100%);
  border-right: 1px solid rgba(16,144,144,.12);
}

.auth-column--student{
  background:
    radial-gradient(circle at top left, rgba(16,144,144,.08), transparent 42%),
    linear-gradient(180deg, #fbfefe 0%, #f7fcfc 54%, #ffffff 100%);
}

.auth-column--form{
  display: flex;
  align-items: flex-start;
  background:
    radial-gradient(circle at top left, rgba(16,144,144,.08), transparent 42%),
    linear-gradient(180deg, #fbfefe 0%, #f7fcfc 54%, #ffffff 100%);
}

.auth-panel{
  width: 100%;
  margin: 0;
}

.auth-copy{
  max-width: 420px;
  margin-bottom: 26px;
}

.auth-kicker{
  margin-bottom: 10px;
  color: rgba(11,111,111,.72);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.auth-title{
  margin: 0 0 14px 0;
  font-size: 38px;
  line-height: 1.05;
  color: var(--ink);
}

.auth-panel-title{
  margin: 0 0 14px 0;
  color: var(--ink);
  font-size: 38px;
  line-height: 1.05;
}

.auth-lead{
  margin: 0;
  color: rgba(11,111,111,.88);
  font-size: 13px;
  line-height: 1.7;
}

.auth-lead-line{
  display: block;
  margin-bottom: .55em;
}

.auth-lead-line:last-child{
  margin-bottom: 0;
}

.auth-lead-emphasis{
  font-weight: 600;
  color: var(--ink);
}

.auth-guidance{
  display: grid;
  gap: 12px;
  margin: 28px 0 18px 0;
}

.auth-inline-signup{
  max-width: 510px;
  margin-top: 0;
}

.auth-guidance-item{
  padding: 16px 18px;
  border: 1px solid rgba(16,144,144,.16);
  border-radius: 18px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 8px 24px rgba(6,61,61,.04);
}

.auth-guidance-item strong{
  display: block;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.45;
}

.auth-guidance-label{
  display: block;
  margin-bottom: 6px;
  color: rgba(11,111,111,.68);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.auth-side-note{
  margin: 0;
  color: rgba(11,111,111,.78);
  font-size: 13px;
  line-height: 1.65;
}

.auth-panel-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 26px;
}

.auth-panel-head--single{
  min-height: 0;
}

.auth-form label{
  color: var(--ink) !important;
  font-weight: 700;
  margin-bottom: 8px;
  font-size: 13px;
}

.auth-form input[type="text"],
.auth-form input[type="password"],
.auth-form input[type="email"]{
  background: #f7fbfb !important;
  border: 1px solid rgba(16,144,144,.20) !important;
  color: #123232 !important;
  margin-bottom: 16px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
  font-size: 13px;
}

.auth-form input[type="text"]:focus,
.auth-form input[type="password"]:focus,
.auth-form input[type="email"]:focus{
  outline: none;
  border-color: rgba(16,144,144,.54) !important;
  box-shadow: 0 0 0 4px rgba(16,144,144,.10);
  background: #ffffff !important;
}

.auth-form input::placeholder{
  color: rgba(18,50,50,.66);
}

.auth-inline-link-row{
  margin-top: -4px;
  margin-bottom: 6px;
}

.auth-inline-link{
  color: rgba(11,111,111,.82);
  font-size: 13px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.auth-inline-link:hover{
  color: var(--ink);
}

.auth-actions{
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 10px;
}

.auth-actions .btn{
  min-height: 46px;
  padding-left: 16px;
  padding-right: 16px;
}

.auth-actions--stack{
  margin-top: 22px;
}

.auth-primary-btn{
  background: #109090 !important;
  border-color: #109090 !important;
  color: #ffffff !important;
  font-weight: 700;
}

.auth-primary-btn:hover{
  filter: brightness(0.97);
}

.auth-secondary-btn{
  background: #ffffff !important;
  border-color: rgba(16,144,144,.22) !important;
  color: var(--ink) !important;
  font-weight: 700;
}

.auth-secondary-btn:hover{
  border-color: rgba(16,144,144,.38) !important;
  background: #f7fbfb !important;
}

.auth-footnote{
  margin: 18px 0 0 0;
  color: rgba(11,111,111,.78);
  font-size: 13px;
  line-height: 1.65;
}

.auth-footnote--top{
  margin-top: 0;
  margin-bottom: 18px;
}

.auth-footnote b,
.auth-side-note b{
  color: var(--ink);
}

.auth-panel .flash{
  background: #ffffff;
  color: var(--ink);
  border-width: 1px;
}

.auth-panel .flash.error{
  background: rgba(185,28,28,.05);
}

.auth-panel .flash.success{
  background: rgba(4,120,87,.06);
}

.auth-status{
  padding: 18px 20px;
  border-radius: 20px;
  border: 1px solid rgba(16,144,144,.16);
  background: rgba(255,255,255,.72);
  box-shadow: 0 10px 28px rgba(6,61,61,.05);
  margin-bottom: 20px;
}

.auth-status-copy{
  min-width: 0;
}

.auth-status-title{
  margin-bottom: 4px;
  color: var(--ink);
  font-size: 15px;
  font-weight: 700;
}

.auth-status-text{
  margin: 0;
  color: rgba(11,111,111,.82);
  font-size: 13px;
  line-height: 1.65;
}

.auth-shell--landing .auth-column{
  display: flex;
  flex-direction: column;
}

.auth-shell--landing .auth-surface{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.auth-shell--landing .auth-column{
  min-width: 0;
  padding: 28px 30px;
}

.auth-shell--landing .auth-column + .auth-column{
  border-left: 1px solid rgba(16,144,144,.12);
}

.auth-shell--landing .auth-column--intro{
  border-right: 0;
}

.auth-shell--landing .auth-column--form{
  position: relative;
  align-items: stretch;
}

.auth-shell--landing .auth-copy,
.auth-shell--landing .auth-panel-head{
  min-height: 104px;
}

.auth-shell--landing .auth-copy{
  margin-bottom: 18px;
}

.auth-shell--landing .auth-panel-title{
  font-size: 27px;
  line-height: 1.08;
  white-space: nowrap;
}

.auth-shell--landing .auth-lead{
  line-height: 1.5;
}

.auth-column--student .auth-panel-title{
  text-align: center;
}

.auth-lang-row{
  display: flex;
  justify-content: flex-end;
  margin-bottom: 8px;
}

.auth-lang-switch{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px;
  border-radius: 999px;
  background: #eff4fb;
  box-shadow: 0 8px 18px rgba(6,61,61,.06);
}

.auth-lang-btn{
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #5d7290;
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  padding: 8px 12px;
  text-transform: uppercase;
  transition: background-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.auth-lang-btn:hover{
  color: #173b74;
}

.auth-lang-btn.is-active{
  background: #109090;
  color: #ffffff;
  box-shadow: 0 6px 16px rgba(16,144,144,.22);
}

.auth-landing-form{
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.auth-shell--landing .auth-inline-signup,
.auth-shell--landing .auth-landing-form,
.auth-shell--landing .auth-panel,
.auth-shell--landing .auth-panel .auth-form,
.auth-shell--landing .auth-column--form > .auth-form{
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.auth-shell--landing .auth-column--form > .auth-form .login-narrow,
.auth-shell--landing .auth-panel .login-narrow{
  flex: 1 1 auto;
}

.auth-shell--landing .auth-form input[type="text"],
.auth-shell--landing .auth-form input[type="password"],
.auth-shell--landing .auth-form input[type="email"]{
  margin-bottom: 12px;
}

.auth-shell--landing .auth-landing-form .auth-actions--stack,
.auth-shell--landing .auth-inline-signup .auth-actions--stack,
.auth-shell--landing .auth-column--form > .auth-form .auth-actions--split,
.auth-shell--landing .auth-panel .auth-actions--split{
  margin-top: auto;
  padding-top: 10px;
}

@media (max-width: 920px){
  .auth-surface{
    grid-template-columns: 1fr;
  }

  .auth-column{
    padding: 30px 24px;
  }

  .auth-column--intro{
    border-right: 0;
    border-bottom: 1px solid rgba(16,144,144,.12);
  }

  .auth-shell--landing .auth-column + .auth-column{
    border-left: 0;
    border-top: 1px solid rgba(16,144,144,.12);
  }

  .auth-shell--landing .auth-copy,
  .auth-shell--landing .auth-panel-head{
    min-height: 0;
  }

  .auth-shell--landing .auth-panel-title{
    font-size: 25px;
  }

  .auth-lang-switch{
    width: auto;
  }
}

@media (max-width: 620px){
  .auth-shell{
    margin-top: 20px;
  }

  .auth-title{
    font-size: 32px;
  }

  .auth-panel-title{
    font-size: 26px;
  }

  .auth-panel-head{
    flex-direction: column;
  }

  .auth-actions--split .btn,
  .auth-actions--stack .btn{
    width: 100%;
  }
}
