/* Formlar bölümü (/formlar): liste, seçim penceresi, form kâğıdı, doldurma alanları ve yazdırma */

/* ---- Liste ---- */
.fr-ara { display: grid; gap: 14px; margin-bottom: 8px; }
.fr-ara .input { max-width: 560px; font-size: 16px; }
.fr-konular { display: flex; flex-wrap: wrap; gap: 6px; }
.fr-say { font-family: var(--mono); font-size: 11px; opacity: .6; }
.fr-grup { margin-top: 34px; }
.fr-grup h2 { margin: 0 0 12px; font-family: var(--display); font-size: 20px; letter-spacing: -.02em; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.fr-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.fr-kart { display: grid; gap: 8px; align-content: start; text-align: left; padding: 16px; font: inherit; color: inherit; cursor: pointer; transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease; }
.fr-kart:hover, .fr-kart:focus-visible { border-color: var(--ink); transform: translateY(-2px); box-shadow: 0 14px 28px -20px rgba(11, 14, 23, .45); }
.fr-kart .tag { justify-self: start; }
.fr-kart b { font-size: 15px; line-height: 1.35; }
.fr-tur { color: var(--muted); font-size: 12.5px; }

/* ---- Seçim penceresi ---- */
.fr-perde { position: fixed; inset: 0; z-index: 60; background: rgba(11, 14, 23, .55); display: grid; place-items: center; padding: 16px; animation: fr-gir .15s ease; }
@keyframes fr-gir { from { opacity: 0; } }
.fr-pencere { position: relative; width: min(620px, 100%); padding: clamp(20px, 3vw, 30px); max-height: calc(100vh - 32px); overflow: auto; }
.fr-pencere h2 { margin: 12px 0 4px; font-family: var(--display); font-size: clamp(20px, 2.4vw, 26px); letter-spacing: -.02em; line-height: 1.2; }
.fr-x { position: absolute; top: 12px; right: 12px; border: 0; background: none; padding: 6px; cursor: pointer; color: var(--muted); }
.fr-x:hover { color: var(--ink); }
.fr-secenek { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
.fr-sec { display: grid; gap: 6px; padding: 18px; text-decoration: none; color: inherit; }
.fr-sec:hover, .fr-sec:focus-visible { border-color: var(--ink); color: inherit; }
.fr-sec .ico { width: 44px; height: 44px; display: grid; place-items: center; border-radius: var(--r); margin-bottom: 4px; }
.fr-sec b { font-size: 16px; }
.fr-sec span:last-child { color: var(--muted); font-size: 13.5px; }
@media (max-width: 560px) { .fr-secenek { grid-template-columns: 1fr; } }

/* ---- Form sayfası ---- */
.fr-ust { padding-top: clamp(28px, 4vw, 48px); }
.fr-ust h1 { margin: 10px 0 0; font-family: var(--display); font-size: clamp(24px, 3vw, 36px); letter-spacing: -.03em; line-height: 1.15; text-wrap: balance; }
.fr-yol { font-size: 13.5px; display: flex; gap: 8px; flex-wrap: wrap; }
.fr-yol-bas { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.fr-geri { padding: 6px 12px 6px 9px; }
.fr-alt-geri { margin-top: 18px; }
/* Üyelik çağrısı */
.fr-cagri { display: flex; gap: 16px 24px; align-items: center; justify-content: space-between; flex-wrap: wrap; padding: clamp(18px, 2.6vw, 26px); border-color: var(--ink); background: linear-gradient(120deg, #F6F8FF, #FBFFEA); margin-top: 22px; }
.fr-cagri > div:first-child { flex: 1 1 380px; display: grid; gap: 6px; }
.fr-cagri b { font-family: var(--display); font-size: 19px; letter-spacing: -.02em; }
.fr-cagri span { color: var(--muted); font-size: 14.5px; }
.fr-cagri-tus { display: flex; gap: 8px; flex-wrap: wrap; }
.fr-cagri.kisa b { font-size: 17px; }
/* Giriş yapmış öğretmen: bilgilerim çubuğu */
.fr-bilgi { margin-top: 14px; padding: 14px 16px; border-color: #C6D2FF; background: #F6F8FF; }
.fr-bilgi-ust { display: flex; gap: 10px 16px; align-items: center; flex-wrap: wrap; }
.fr-cipler { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.fr-cip { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fr-arac { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 18px; }
.fr-arac .seg a { display: inline-block; padding: 7px 14px; text-decoration: none; color: var(--muted); font-weight: 600; font-size: 14px; border-radius: 2px; }
.fr-arac .seg a.on { background: var(--ink); color: #fff; }
.fr-duzen { display: inline-flex; gap: 8px; align-items: center; font-size: 14px; cursor: pointer; }
.fr-ipucu { margin: 12px 0 0; font-size: 13.5px; color: var(--muted); max-width: 52em; }
#fr-durum:not(:empty) { margin-top: 12px; }
.fr-alan { padding-top: 22px; padding-bottom: 48px; }
.fr-kagit-kap { background: var(--soft); border: 1px solid var(--line); border-radius: var(--r); padding: clamp(10px, 3vw, 36px); overflow-x: auto; }

/* Kâğıt: A4 genişliğinde, resmî yazı görünümü */
.fr-kagit { background: #fff; margin: 0 auto; max-width: 210mm; min-height: 120px; padding: 18mm 16mm; box-shadow: 0 6px 24px -14px rgba(11, 14, 23, .4); color: #000; font-family: 'Times New Roman', Times, serif; font-size: 11pt; line-height: 1.35; }
.fr-kagit p { margin: 0; min-height: 1.2em; white-space: pre-wrap; tab-size: 4em; overflow-wrap: anywhere; }
.fr-kagit .et { display: inline-block; min-width: 12em; }
.fr-kagit p.o, .fr-kagit td.o { text-align: center; }
.fr-kagit p.s, .fr-kagit td.s { text-align: right; }
.fr-kagit table { width: 100%; border-collapse: collapse; margin: 4px 0; }
.fr-kagit td { padding: 2px 5px; vertical-align: top; }
.fr-kagit table.k td { border: 1px solid #000; }
.fr-kagit img { display: inline-block; max-width: 100%; height: auto; }
.fr-kagit b { font-weight: 700; }

/* Görsel form: sayfa görselleri */
.fr-kagit.gorsel { padding: 0; max-width: 900px; background: none; box-shadow: none; }
.fr-sayfa { position: relative; background: #fff; box-shadow: 0 6px 24px -14px rgba(11, 14, 23, .4); line-height: 0; }
.fr-sayfa + .fr-sayfa { margin-top: 18px; }
.fr-sayfa.yatay { max-width: 100%; }
.fr-sayfa img { display: block; width: 100%; height: auto; user-select: none; -webkit-user-select: none; }
.fr-kagit.gorsel.doldur .fr-sayfa { cursor: text; }

/* ---- Doldurma ---- */
.fr-kagit.doldur .fr-a { display: inline-block; vertical-align: baseline; border-bottom: 1px dotted #555; background: #FFF4BF; padding: 0 2px; min-height: 1.1em; line-height: 1.25; white-space: pre-wrap; outline: none; text-align: left; }
.fr-kagit.doldur .fr-a:focus { background: #FFE88A; box-shadow: 0 0 0 2px #2F5BFF55; }
.fr-kagit.doldur td.fr-h { background: #FFF8D6; cursor: text; outline: none; }
.fr-kagit.doldur td.fr-h:focus { background: #FFEFA6; box-shadow: inset 0 0 0 2px #2F5BFF66; }
.fr-kagit.doldur.tum { outline: 2px dashed #2F5BFF66; outline-offset: 4px; }
.fr-kutu { cursor: pointer; font-family: 'Segoe UI Symbol', 'DejaVu Sans', sans-serif; }
.fr-yk { position: absolute; z-index: 2; display: inline-flex; align-items: flex-start; gap: 2px; line-height: 1.2; transform: translateY(-60%); color: #0b1a5c; font-family: Arial, Helvetica, sans-serif; }
.fr-yk-m { min-width: 2em; padding: 1px 3px; background: rgba(255, 244, 191, .85); outline: 1px dashed #2F5BFF; white-space: pre-wrap; max-width: 60vw; }
.fr-yk-m:focus { background: rgba(255, 232, 138, .95); }
.fr-yk-t, .fr-yk-x { font: 12px/1 Arial, sans-serif; color: #2F5BFF; background: #fff; border: 1px solid #2F5BFF; border-radius: 2px; padding: 2px 3px; cursor: grab; opacity: 0; transition: opacity .15s; }
.fr-yk-x { cursor: pointer; color: #B42318; border-color: #B42318; }
.fr-yk:hover .fr-yk-t, .fr-yk:hover .fr-yk-x, .fr-yk:focus-within .fr-yk-t, .fr-yk:focus-within .fr-yk-x { opacity: 1; }
@media (hover: none) { .fr-yk-t, .fr-yk-x { opacity: 1; } }

@media (max-width: 720px) {
  .fr-kagit { padding: 7mm 5mm; font-size: 10pt; }
}

/* ---- Yazdırma: yalnızca kâğıt basılır ---- */
@media print {
  body[data-page="formlar"] .hdr, body[data-page="formlar"] .foot, body[data-page="formlar"] .fr-ust, body[data-page="formlar"] #eg-toast, #fr-cagri, .fr-alt-geri { display: none !important; }
  body[data-page="formlar"] { background: #fff; }
  body[data-page="formlar"] .sec, body[data-page="formlar"] .wrap { padding: 0 !important; margin: 0 !important; max-width: none !important; }
  .fr-kagit-kap { background: none; border: 0; padding: 0; overflow: visible; }
  .fr-kagit { box-shadow: none; padding: 0; max-width: none; font-size: 11pt; }
  .fr-kagit table, .fr-kagit tr { break-inside: avoid; }
  .fr-kagit.doldur .fr-a, .fr-kagit.doldur td.fr-h { background: none !important; box-shadow: none !important; }
  .fr-kagit.doldur .fr-a { border-bottom: 1px dotted #000; }
  .fr-kagit.doldur.tum { outline: 0; }
  .fr-kagit.gorsel { max-width: none; }
  .fr-sayfa { box-shadow: none; break-after: page; page-break-after: always; display: block; margin: 0 auto !important; width: fit-content; }
  .fr-sayfa:last-child { break-after: auto; page-break-after: auto; }
  .fr-sayfa img { width: auto; max-width: 100%; max-height: 280mm; }
  .fr-sayfa.yatay img { max-height: 192mm; }
  .fr-yk-m { background: none !important; outline: 0 !important; }
  .fr-yk-t, .fr-yk-x { display: none !important; }
}
