*{box-sizing:border-box}
body{margin:0;font-family:Arial,sans-serif;background:#f8fafc;color:#1e293b}
header{background:#881337;color:#ffffff;padding:18px 20px;display:flex;align-items:center;justify-content:center;gap:18px;box-shadow:0 4px 12px rgba(0,0,0,0.25);border-bottom:4px solid #fecdd3;position:relative;z-index:10}
.logo-box{width:60px;height:60px;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:32px;box-shadow:0 2px 6px rgba(0,0,0,0.2)}
header h1{margin:0;font-size:22px;font-weight:800;letter-spacing:0.8px;color:#ffffff;text-shadow:0 2px 4px rgba(0,0,0,0.3)}
header h2{margin:4px 0 0 0;font-size:16px;font-weight:700;color:#fecdd3;letter-spacing:0.5px}
.container{max-width:1200px;margin:auto;padding:15px;position:relative;z-index:1}
.card{background:#fff;border-radius:12px;padding:18px;margin-bottom:15px;box-shadow:0 2px 8px rgba(0,0,0,.06);border:1px solid #e2e8f0}
h2{margin-top:0;font-size:18px;color:#0f172a;display:flex;align-items:center;gap:8px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.form-group{display:flex;flex-direction:column}.form-group.full{grid-column:1/-1}label{font-weight:bold;margin-bottom:5px;font-size:14px;color:#334155}
input,textarea,select{width:100%;padding:11px;border:1px solid #cbd5e1;border-radius:8px;font-size:15px}textarea{min-height:75px;resize:vertical}
button{border:0;border-radius:8px;padding:11px 16px;font-size:14px;font-weight:bold;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;position:relative;z-index:5;pointer-events:auto;}
button:hover{opacity:0.9;transform:translateY(-1px);}
button:active{transform:translateY(0);}
.btn-primary{background:#991b1b;color:#fff}.btn-secondary{background:#64748b;color:#fff}.btn-success{background:#15803d;color:#fff}.btn-danger{background:#dc2626;color:#fff}.btn-edit{background:#d97706;color:#fff}.btn-info{background:#0284c7;color:#fff}.btn-purple{background:#7c3aed;color:#fff}.btn-orange{background:#ea580c;color:#fff}.btn-teal{background:#0d9488;color:#fff}.btn-pink{background:#be185d;color:#fff}.btn-indigo{background:#4338ca;color:#fff}.btn-amber{background:#b45309;color:#fff}.btn-dark{background:#1e1b4b;color:#fff}.btn-cyan{background:#0891b2;color:#fff}.btn-emerald{background:#059669;color:#fff}.btn-rose{background:#e11d48;color:#fff}
.button-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:950px}
th,td{border-bottom:1px solid #e2e8f0;padding:12px 10px;text-align:left;font-size:14px}th{background:#f1f5f9;color:#334155}.search{margin-bottom:15px}
.hidden{display:none !important}
.badge{display:inline-block;padding:5px 8px;border-radius:6px;font-size:12px;font-weight:bold}.badge-yes{background:#dcfce7;color:#166534}.badge-no{background:#fee2e2;color:#991b1b}.badge-warning{background:#fef3c7;color:#92400e}.badge-info{background:#e0f2fe;color:#075985}.badge-critical{background:#7f1d1d;color:#fff}
.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;z-index:9999;padding:15px}
.modal-content{background:#fff;border-radius:12px;padding:20px;max-width:1000px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px rgba(0,0,0,0.2);position:relative;z-index:10000;}
.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e2e8f0;padding-bottom:10px;margin-bottom:15px}
.modal-header h3{margin:0;font-size:18px}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#64748b;font-weight:bold}
.toplam-sure-box{background:#fef2f2;color:#991b1b;padding:12px 16px;border-radius:8px;margin-bottom:15px;font-size:14px;border:1px solid #fecaca}
.toplam-sure-title{font-weight:bold;font-size:15px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px dashed #fca5a5;padding-bottom:6px}
.toplam-sure-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-top:6px}
.toplam-sure-item{background:#ffffff;padding:8px;border-radius:6px;border:1px solid #fecaca;font-size:13px;color:#7f1d1d}
.toplam-sure-item strong{display:block;font-size:14px;color:#991b1b;margin-top:2px}
.gorusme-item,.cizelge-card,.eksik-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px;margin-bottom:10px}
.gorusme-header,.cizelge-header{display:flex;justify-content:space-between;align-items:center;font-weight:bold;font-size:13px;color:#334155;margin-bottom:6px;flex-wrap:wrap;gap:5px}
.gorusme-detay{font-size:14px;color:#1e293b;white-space:pre-wrap}
.progress-bar-bg{background:#e2e8f0;border-radius:6px;height:12px;width:100%;overflow:hidden;margin-top:6px}
.progress-bar-fill{background:#ea580c;height:100%;width:0%;transition:width .3s}
.top-action-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px;flex-wrap:wrap;position:relative;z-index:20;}
.ajanda-item{background:#fefce8;border:1px solid #fef08a;border-radius:8px;padding:12px;margin-bottom:10px}
.ajanda-header{display:flex;justify-content:space-between;align-items:center;font-weight:bold;font-size:13px;color:#854d0e;margin-bottom:6px;flex-wrap:wrap;gap:5px}
.kitap-kart{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:14px;margin-bottom:12px}
.kitap-kart-header{display:flex;justify-content:space-between;align-items:center;font-weight:bold;color:#c2410c;font-size:15px;margin-bottom:8px}
.kitap-ekle-box{background:#f8fafc;border:1px solid #cbd5e1;padding:12px;border-radius:10px;margin-bottom:15px}
.program-table th,.program-table td{text-align:center;padding:8px 6px;font-size:13px;border:1px solid #cbd5e1}
.program-table th{background:#e0f2fe;color:#0369a1}
.saat-input{width:70px;padding:4px;font-size:12px;text-align:center}
.low-score{background-color:#fee2e2 !important;color:#991b1b !important;font-weight:bold}
.ders-kart{background:#f8fafc;border:1px solid #cbd5e1;padding:10px;border-radius:8px;text-align:center}
.ders-kart.low{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.section-divider{grid-column:1/-1;font-weight:bold;font-size:15px;color:#881337;border-bottom:2px solid #fecdd3;padding-bottom:4px;margin-top:8px;}
.sinif-stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-bottom: 15px; }
.sinif-stat-card { background: #fff; border-radius: 10px; padding: 14px; border: 1px solid #e2e8f0; box-shadow: 0 2px 4px rgba(0,0,0,0.02); }
.sinif-stat-title { font-size: 12px; font-weight: bold; text-transform: uppercase; color: #64748b; margin-bottom: 6px; display: flex; align-items: center; justify-content: space-between; }
.sinif-stat-main { font-size: 22px; font-weight: 800; color: #0f172a; }
.sinif-stat-sub { font-size: 12px; color: #475569; margin-top: 4px; border-top: 1px dashed #e2e8f0; padding-top: 4px; }
#printArea{display:none;}

@page { margin: 12mm; }

@media print {
  * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; box-sizing: border-box !important; }
  html, body { width: 100% !important; margin: 0 !important; padding: 0 !important; background: #fff !important; }
  /* Yazdırılmayan arayüzü yerleşimden de çıkar: visibility:hidden boş alan bırakır. */
  body > :not(#printArea) { display: none !important; }
  #printArea { position: static !important; display: block !important; width: 100% !important; margin: 0 !important; padding: 0 !important; height: auto !important; min-height: 0 !important; overflow: visible !important; }
  .print-page { display: block !important; padding: 0; margin: 0; font-family: Arial, sans-serif; background: #fff; color: #000; width: 100% !important; max-width: 100% !important; break-after: auto !important; page-break-after: auto !important; }
  .print-page:not(:last-child) { break-after: page !important; page-break-after: always !important; }
  .print-page:last-child { break-after: auto !important; page-break-after: auto !important; margin-bottom: 0 !important; padding-bottom: 0 !important; }
  .print-header { display: flex; align-items: center; justify-content: space-between; border-bottom: 2px solid #881337; padding-bottom: 8px; margin-bottom: 10px; }
  .print-header h2 { margin: 0; font-size: 17px; color: #881337; }
  .print-header h4 { margin: 4px 0 0 0; font-size: 12px; color: #475569; }
  .print-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 10px; background: #f8fafc !important; padding: 8px; border: 1px solid #cbd5e1; border-radius: 6px; font-size: 11px; }
  .print-section-title { font-size: 12px; font-weight: bold; color: #881337; border-bottom: 1px solid #e2e8f0; padding-bottom: 3px; margin: 10px 0 5px 0; }
  .print-table { width: 100% !important; border-collapse: collapse; margin-bottom: 8px; font-size: 11px; table-layout: fixed; }
  .print-table th, .print-table td { border: 1px solid #94a3b8; padding: 5px; text-align: left; word-wrap: break-word; overflow-wrap: break-word; }
  .print-table th { background: #f1f5f9 !important; }
  .print-footer { margin-top: 15px; display: flex; justify-content: space-between; font-size: 11px; text-align: center; }
  .imza-kutu { width: 30%; border-top: 1px dashed #000; padding-top: 5px; }

  div[style*="max-height"], div[style*="overflow"] { max-height: none !important; overflow: visible !important; border: none !important; }
  #sinifGenelRaporModal .modal-content > div[style*="display: grid"], .print-grid { display: block !important; width: 100% !important; }
  #sinifGenelRaporModal .modal-content > div[style*="display: grid"] > div { width: 100% !important; margin-bottom: 20px !important; page-break-inside: avoid; }
  table { width: 100% !important; table-layout: auto !important; font-size: 11px !important; }
  th, td { word-wrap: break-word !important; white-space: normal !important; padding: 6px 4px !important; }
  tr[style*="position:sticky"], th[style*="position:sticky"] { position: static !important; }
  .sinif-stat-card, .modal-content > div { page-break-inside: avoid; }
}

@media(max-width:650px){.form-grid{grid-template-columns:1fr}.form-group.full{grid-column:auto}.container{padding:10px}.top-action-bar{flex-direction:column;align-items:stretch}}