/* Okul Otomasyonu · Lacivert arayüz · v5.0.1 */
:root{
  --nav:#0c1d38;--accent:#3974e8;--bg:#f2f5fb;--line:#dce4f1;
  --text:#172b4d;--muted:#667895;--danger:#c53e52;
  --nav-soft:#17345f;--surface:#fff;--shadow:0 10px 30px rgba(17,43,82,.07);
}
body{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55}
body:not(.center) .top{height:76px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:0 3px 20px rgba(15,39,73,.045);padding-inline:30px;z-index:20}
.brand{display:flex;align-items:center;gap:10px;min-width:0;color:#10294b;font-size:16px;letter-spacing:-.025em}
.brand .school-logo{max-height:44px;max-width:55px;object-fit:contain}.brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.who{display:flex;align-items:center;gap:4px;color:#536985;font-size:13px;white-space:nowrap}.who b{color:#153963}
.who a{margin-left:10px!important;background:#ecf2fc!important;color:#174477!important;border:1px solid #d7e4f8!important;box-shadow:none!important}
.who a:hover{background:#173b70!important;color:#fff!important}
.app{grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 76px)}
.app>nav{background:linear-gradient(172deg,#0a1c36 0%,#112b50 57%,#163a68 100%);color:#dce8fa;padding:22px 13px;box-shadow:8px 0 28px rgba(11,32,67,.09)}
.app>nav a,.app>nav summary{transition:background .16s,color .16s,transform .16s;border-radius:11px}
.app>nav a{color:#d7e5f8;padding:11px 13px;font-weight:650;margin:3px 0}
.app>nav a:hover,.app>nav summary:hover{background:rgba(127,177,245,.16);color:#fff}
.app>nav a.active{background:linear-gradient(110deg,#2963c3,#347ee8);color:#fff;box-shadow:0 7px 18px rgba(1,15,42,.18)}
.app>nav .nav-title{color:#9cb6d7;opacity:1;font-weight:800;letter-spacing:.13em}
.app>nav .nav-group{border:1px solid rgba(192,217,247,.12);background:rgba(255,255,255,.045);border-radius:12px;margin:8px 0;padding:3px}
.app>nav .nav-group summary{color:#e8f1fc;font-weight:750;cursor:pointer}
.app>nav .nav-submenu{border-left:1px solid rgba(205,226,255,.18);margin:3px 0 6px 15px;padding-left:8px}
.app main{max-width:1580px;padding:32px clamp(18px,3vw,48px) 24px}
.page-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}
.page-title h1{font-size:clamp(24px,2.2vw,32px);letter-spacing:-.035em;color:#102b50;margin:0;font-weight:820}
.page-title::after{content:"";display:block;width:38px;height:4px;border-radius:8px;background:#4384eb}
.panel,.stats>div,.student,.class-card,.card-selection-toolbar{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:17px}
.panel{padding:clamp(18px,2vw,27px);margin-bottom:20px}.panel h2{font-size:19px;letter-spacing:-.02em;color:#13345f;margin-bottom:15px}
.stats{gap:16px}.stats>div{position:relative;padding:20px 22px;border-top:3px solid #4b87e7;transition:transform .16s,box-shadow .16s}
.stats>div:hover,.class-card:hover,.student-link:hover .student{transform:translateY(-3px);box-shadow:0 16px 36px rgba(19,57,105,.13)}
.stats b{font-size:29px;line-height:1.1;color:#153d76;letter-spacing:-.03em}.stats span{font-size:12px;font-weight:650;color:#6b7f9c}
.class-card{background:linear-gradient(145deg,#fff,#f1f6ff);border-color:#d5e3f8;color:#17385f;transition:transform .16s,box-shadow .16s}
.class-card b{color:#174a94}.student,.student-link .student{transition:transform .16s,box-shadow .16s,border-color .16s}
.student-link:hover .student{border-color:#77a8f3}.avatar,.album-placeholder,.student-photo-large{background:#edf3fb}
label{color:#284365;font-weight:690}input,select,textarea{background:#fff;border:1px solid #cbd8e9;color:#163252;min-height:42px;border-radius:10px;transition:border-color .15s,box-shadow .15s}
input:hover,select:hover,textarea:hover{border-color:#8eaedf}input:focus,select:focus,textarea:focus{border-color:#4f84df;outline:0;box-shadow:0 0 0 3px rgba(69,123,219,.17)}
input[type="checkbox"],input[type="radio"]{accent-color:#2864c4;min-height:0}
button,.button-link{border-radius:10px;background:#1c4e92;color:#fff;font-weight:740;box-shadow:0 5px 13px rgba(20,69,134,.14);transition:background .16s,transform .16s,box-shadow .16s}
button:hover:not(:disabled),.button-link:hover{background:#2867bd;transform:translateY(-1px);box-shadow:0 8px 19px rgba(20,69,134,.2)}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #91bcff;outline-offset:2px}
button.secondary,.button-link.secondary{background:#eaf1fc;color:#1c477f;box-shadow:none}
button.secondary:hover,.button-link.secondary:hover{background:#d8e8fd;color:#123c72;box-shadow:none}
button.danger{background:#b9344b;color:#fff}button.danger:hover{background:#a6283e}
button:disabled{opacity:.5;box-shadow:none;transform:none;cursor:not-allowed}
.table-scroll{border:1px solid var(--line);border-radius:12px;overflow:auto}table{background:#fff}th{background:#f3f7fd;color:#375579;font-size:11px;letter-spacing:.07em;text-transform:uppercase;position:sticky;top:0;z-index:1}
th,td{border-bottom:1px solid #e8edf5;padding:12px 13px}tbody tr:hover{background:#f7faff}tbody tr:last-child td{border-bottom:0}
.alert{border-radius:12px;padding:13px 16px;border:1px solid transparent}.alert.ok{background:#eaf2ff;border-color:#c7dcf8;color:#1b4d87}.alert.error{background:#fff0f2;border-color:#f1c9d0;color:#9f3143}
.muted,small{color:var(--muted)}hr{border-top-color:var(--line)}
.student-modal,.record-dialog,.badge-edit-dialog,.login,.install{border:1px solid #dce6f3;border-radius:20px;box-shadow:0 30px 80px rgba(13,36,75,.22);color:var(--text)}
.student-modal::backdrop,.record-dialog::backdrop,.badge-edit-dialog::backdrop{background:rgba(7,22,48,.7);backdrop-filter:blur(2px)}
.modal-close{background:#edf3fc;color:#164079}.badge-edit-heading h2{color:#153960}
.center{background:radial-gradient(circle at 20% 20%,#dce9ff,transparent 32%),radial-gradient(circle at 85% 80%,#c7dbfb,transparent 33%),linear-gradient(145deg,#f6f9ff,#e7effb)}
.login,.install{background:#fff;padding:34px}.login h1{color:#122d54;letter-spacing:-.035em}.login>p{color:#667c98}.login-school-logo{object-fit:contain}
.site-footer{color:#7d90aa}.login-footer{text-align:center;padding-top:18px}
.backup-grid .panel{border-top:4px solid #3978d7}.backup-grid .backup-restore{border-top-color:#c34357;background:#fffafb}.backup-symbol{background:#eaf2ff;color:#205db0}.backup-symbol.warning{background:#ffe8ed;color:#b73048}
.badge-version-label{color:#8295af}.card-selection-toolbar{padding:15px 18px}
.badge-edit-dialog input,.badge-edit-dialog select{border-color:#cbd8e9}
.nav-operations summary,.nav-admin summary{list-style:none}
@media(max-width:900px){.app{grid-template-columns:1fr}.app>nav{display:flex;gap:6px;overflow-x:auto;padding:10px 12px;box-shadow:none}.app>nav a{white-space:nowrap}.app>nav .nav-group{min-width:max-content;margin:0}.app>nav .nav-submenu{position:relative}.app main{padding:19px 14px}.top{padding-inline:14px!important}.brand{font-size:14px}.who{font-size:11px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.top{height:auto;min-height:72px;gap:12px;flex-wrap:wrap;padding-block:10px}.brand{width:100%}.who{width:100%;justify-content:space-between}.stats{grid-template-columns:1fr 1fr;gap:10px}.stats>div{padding:14px}.stats b{font-size:23px}.panel{padding:16px}.inline-form>*{min-width:100%}.page-title h1{font-size:23px}.page-title::after{display:none}}
@media print{body{background:#fff}.app main{max-width:none;padding:0}.panel,.stats>div{box-shadow:none}.badge-delete-select,.badge-edit-trigger{display:none!important}}

.backup-intro{color:#607895;margin:-4px 0 17px}.backup-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:21px}.backup-overview>div{background:#fff;border:1px solid #dce4f1;border-radius:14px;padding:16px 18px;box-shadow:var(--shadow)}.backup-overview b{display:block;font-size:25px;color:#184579;line-height:1.1}.backup-overview span{display:block;color:#6c829f;font-size:12px;margin-top:5px}.backup-grid .panel form{margin-top:16px}.backup-grid .backup-create button{max-width:220px}@media(max-width:700px){.backup-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Admin sınıfları kademe başlıkları altında listelenir. */
.class-level-section{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px;margin:0 0 18px;box-shadow:var(--shadow)}
.class-level-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}
.class-level-heading h2{margin:0;color:#12345f;font-size:19px}.class-level-heading span{font-size:12px;font-weight:750;color:#245492;background:#eaf2ff;padding:6px 10px;border-radius:999px}
.class-level-section .class-grid{margin:0}.class-level-empty{margin:0;padding:3px 0 8px}
@media(max-width:560px){.class-level-section{padding:16px}.class-level-heading h2{font-size:17px}}

/* Yönetici görüşme arşivi */
.all-records-filters form{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:13px;align-items:end}
.all-records-filters label{min-width:0}.all-records-filters input,.all-records-filters select{width:100%}.all-records-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.all-records-actions .button-link,.all-records-pagination a{display:inline-flex;align-items:center;justify-content:center;padding:10px 13px;text-decoration:none;border-radius:10px}
.all-records-summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.all-records-summary h2{margin:0}.all-records-summary span{color:var(--muted)}
.all-records-table{min-width:920px}.all-records-table td{vertical-align:top}.all-records-table td small{display:block;margin-top:3px}.all-records-content{white-space:normal;overflow-wrap:anywhere;min-width:230px;max-width:500px}.all-records-pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding-top:18px}.all-records-pagination a{background:#eaf1fc;color:#1c477f;font-weight:750}.all-records-pagination a:hover{background:#d8e8fd}
@media(max-width:700px){.all-records-summary{display:block}.all-records-actions{grid-column:1/-1}}

/* Müdür yardımcısı için okunmamış öğretmen görüşleri */
.who a.header-record-notice{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;margin:0 12px 0 0!important;padding:0 8px!important;border:1px solid #d7e4f8!important;border-radius:11px;background:#ecf2fc!important;color:#174477!important;font-size:23px;line-height:1;text-decoration:none}
.who a.header-record-notice.has-unread{background:#fff0f2!important;color:#b82641!important;border-color:#f5c4ce!important;animation:record-notice-pulse 1.35s infinite}
.header-record-notice span,.class-record-notice b,.student-record-notice b{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#d62d49;color:#fff!important;font-size:11px!important;font-weight:850!important;line-height:1}
.header-record-notice span{position:absolute;right:-8px;top:-8px}
.class-card{position:relative}.class-record-notice{position:absolute;right:12px;top:12px;display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:9px;background:#fff0f2;color:#bd2a45;font-size:16px;animation:record-notice-pulse 1.35s infinite}
.student-popup-trigger{position:relative}.student-record-notice{position:absolute;z-index:2;top:6px;right:6px;display:inline-flex!important;align-items:center;gap:4px;padding:5px 6px;border-radius:9px;background:#fff0f2;color:#bd2a45!important;box-shadow:0 4px 12px rgba(117,20,46,.18);font-size:18px;text-decoration:none;animation:record-notice-pulse 1.35s infinite}
.student-record-notice b{display:inline-grid!important}
@keyframes record-notice-pulse{0%,100%{box-shadow:0 0 0 0 rgba(214,45,73,.48)}50%{box-shadow:0 0 0 6px rgba(214,45,73,0)}}
@media(prefers-reduced-motion:reduce){.who a.header-record-notice.has-unread,.class-record-notice,.student-record-notice{animation:none}}

.all-records-row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:160px}.all-records-row-actions form{display:inline;margin:0}.all-records-row-actions .button-link{white-space:nowrap}.all-records-row-actions button{min-height:34px;padding:7px 10px}
/* Görüşme listesinde kısa önizleme, açılınca tam metin */
.record-expand{min-width:0}.record-expand summary{cursor:pointer;list-style:none;display:flex;align-items:flex-start;gap:10px;color:#183d6c}.record-expand summary::-webkit-details-marker{display:none}
.record-summary-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;white-space:normal;overflow-wrap:anywhere;flex:1;min-width:0}
.record-read-more{white-space:nowrap;font-size:11px;font-weight:750;color:#2867bd}.record-expand[open] .record-read-more{font-size:0}.record-expand[open] .record-read-more::after{content:'Kapat';font-size:11px}
.record-full{padding:10px 0 2px;line-height:1.55;white-space:normal;overflow-wrap:anywhere;color:var(--text)}.record-expand[open] summary{border-bottom:1px solid var(--line);padding-bottom:8px}
.all-records-summary button{margin-left:auto}
@media print{
 .record-table tr:has(.private-badge){display:table-row!important}
 .record-expand summary{display:none!important}.record-expand .record-full{display:block!important;padding:0;border:0;color:#111}
 .all-records-table{min-width:0!important;width:100%;font-size:8pt}.all-records-content{min-width:0;max-width:none}.all-records-summary{margin-bottom:10px}
}
/* Öğrenci görüşleri: yazdırılabilir resmi rapor görünümü */
@media print{
 body[data-page="student_records"],body[data-page="all_records"]{font-family:Arial,Helvetica,sans-serif;color:#182b42;font-size:9pt}
 body[data-page="student_records"] .record-history-server-header{position:relative;display:block!important;margin:0 0 5mm;padding:4mm 2mm 5mm;border-top:1.8mm solid #153d70;border-bottom:1px solid #b7c8dc;text-align:center;break-after:avoid}
 body[data-page="student_records"] .record-history-server-header .report-school-logo{position:absolute;left:3mm;top:4mm;width:18mm;height:18mm;object-fit:contain}
 body[data-page="student_records"] .record-history-server-header>strong{display:block;font-size:11pt;font-weight:800;letter-spacing:.4px;color:#102b50}
 body[data-page="student_records"] .record-history-server-header>span{font-size:8.5pt;color:#455c79;margin-top:1mm}
 body[data-page="student_records"] .record-history-server-header>b{display:block;font-size:15pt;letter-spacing:.8px;color:#102b50;margin:3mm 0 0}
 body[data-page="student_records"] .record-history-print-student{display:flex;align-items:center;gap:4mm;margin:5mm 1mm 0;padding:3mm 4mm;border:1px solid #c6d5e6;border-radius:2mm;background:#f6f9fd!important;text-align:left}
 body[data-page="student_records"] .record-history-print-student .record-student-photo{width:18mm!important;height:23mm!important;object-fit:cover;border-radius:1.5mm}
 body[data-page="student_records"] .record-history-print-student h2{font-size:13pt;color:#102b50;margin:0 0 2mm}
 body[data-page="student_records"] .record-history-print-student p{font-size:8.5pt;color:#3e526d;margin:0}
 body[data-page="student_records"] .print-only.record-print-summary{display:flex!important;justify-content:space-between;align-items:end;gap:5mm;margin:0 0 3mm;padding:0 1mm 2mm;border-bottom:1px solid #bccbdd;color:#173e70}
 body[data-page="student_records"] .record-print-summary span:first-child{font-weight:800;font-size:10pt;letter-spacing:.6px}
 body[data-page="student_records"] .record-print-summary span:last-child{font-size:8pt;color:#5e7088}
 body[data-page="student_records"] .record-print-area{border:0!important;padding:0!important;margin:0!important;box-shadow:none!important}
 body[data-page="student_records"] .record-table,body[data-page="student_records"] .record-table tbody{display:block!important;width:100%}
 body[data-page="student_records"] .record-table thead{display:none!important}
 body[data-page="student_records"] .record-table tbody tr{display:grid!important;grid-template-columns:16% 20% 17% 27% 20%;gap:0;margin:0 0 3mm;padding:0;border:1px solid #c9d5e4;border-left:3px solid #1b4e91;border-radius:1.5mm;break-inside:avoid-page;page-break-inside:avoid;background:#fff!important}
 body[data-page="student_records"] .record-table tr:has(.private-badge){display:grid!important}
 body[data-page="student_records"] .record-table td{display:block!important;min-width:0;padding:2.5mm 2.3mm;border:0!important;font-size:8.5pt;line-height:1.35;overflow-wrap:anywhere}
 body[data-page="student_records"] .record-table td::before{display:block;margin-bottom:1mm;color:#647993;font-size:6.8pt;font-weight:800;letter-spacing:.5px}
 body[data-page="student_records"] .record-table td:nth-child(1){grid-column:1;order:1}body[data-page="student_records"] .record-table td:nth-child(1)::before{content:'TARİH'}
 body[data-page="student_records"] .record-table td:nth-child(2){grid-column:2;order:2}body[data-page="student_records"] .record-table td:nth-child(2)::before{content:'BİLGİ TÜRÜ'}
 body[data-page="student_records"] .record-table td:nth-child(3){grid-column:3;order:3}body[data-page="student_records"] .record-table td:nth-child(3)::before{content:'GÖRÜŞME'}
 body[data-page="student_records"] .record-table td:nth-child(5){grid-column:4;order:4}body[data-page="student_records"] .record-table td:nth-child(5)::before{content:'YAZAN'}
 body[data-page="student_records"] .record-table td:nth-child(6){grid-column:5;order:5}body[data-page="student_records"] .record-table td:nth-child(6)::before{content:'KAYIT TARİHİ'}
 body[data-page="student_records"] .record-table td:nth-child(4){grid-column:1/-1;order:6;padding:2.5mm 3mm 3mm;border-top:1px solid #e0e8f1!important;background:#f8fafd!important;font-size:9pt}
 body[data-page="student_records"] .record-table td:nth-child(4)::before{content:'GÖRÜŞME NOTU'}
 body[data-page="student_records"] .record-table td:nth-child(7){display:none!important}
 body[data-page="student_records"] .record-table small{font-size:7pt;color:#5c7088}
 body[data-page="student_records"] .record-expand .record-full{padding:0!important;line-height:1.55}
 body[data-page="all_records"] .print-only.archive-print-header{display:grid!important;gap:1.5mm;margin:0 0 6mm;padding:4mm 2mm 5mm;border-top:1.8mm solid #153d70;border-bottom:1px solid #b7c8dc;text-align:center;break-after:avoid}
 body[data-page="all_records"] .archive-print-header strong{font-size:11pt;color:#102b50}body[data-page="all_records"] .archive-print-header span{font-size:15pt;font-weight:800;color:#102b50}body[data-page="all_records"] .archive-print-header small{font-size:8pt;color:#5e7088}
 body[data-page="all_records"] .all-records-report{padding:0!important;border:0!important;box-shadow:none!important}body[data-page="all_records"] .all-records-summary{display:none!important}
 body[data-page="all_records"] .all-records-table,body[data-page="all_records"] .all-records-table tbody{display:block!important;width:100%}body[data-page="all_records"] .all-records-table thead{display:none!important}
 body[data-page="all_records"] .all-records-table tbody tr{display:grid!important;grid-template-columns:15% 27% 16% 24% 18%;margin:0 0 3mm;border:1px solid #c9d5e4;border-left:3px solid #1b4e91;border-radius:1.5mm;break-inside:avoid-page;page-break-inside:avoid;background:#fff!important}
 body[data-page="all_records"] .all-records-table td{display:block!important;min-width:0;padding:2.3mm;border:0!important;font-size:8.5pt;overflow-wrap:anywhere}
 body[data-page="all_records"] .all-records-table td::before{display:block;margin-bottom:1mm;color:#647993;font-size:6.8pt;font-weight:800;letter-spacing:.5px}
 body[data-page="all_records"] .all-records-table td:nth-child(1){grid-column:1;order:1}body[data-page="all_records"] .all-records-table td:nth-child(1)::before{content:'TARİH'}
 body[data-page="all_records"] .all-records-table td:nth-child(2){grid-column:2;order:2}body[data-page="all_records"] .all-records-table td:nth-child(2)::before{content:'ÖĞRENCİ'}
 body[data-page="all_records"] .all-records-table td:nth-child(3){grid-column:3;order:3}body[data-page="all_records"] .all-records-table td:nth-child(3)::before{content:'SINIF'}
 body[data-page="all_records"] .all-records-table td:nth-child(4){grid-column:4;order:4}body[data-page="all_records"] .all-records-table td:nth-child(4)::before{content:'YAZAN'}
 body[data-page="all_records"] .all-records-table td:nth-child(5){grid-column:5;order:5}body[data-page="all_records"] .all-records-table td:nth-child(5)::before{content:'TÜR'}
 body[data-page="all_records"] .all-records-table td:nth-child(6){grid-column:1/-1;order:6;padding:2.5mm 3mm 3mm;border-top:1px solid #e0e8f1!important;background:#f8fafd!important;font-size:9pt}
 body[data-page="all_records"] .all-records-table td:nth-child(6)::before{content:'GÖRÜŞME NOTU'}
 body[data-page="all_records"] .all-records-table td:nth-child(7){display:none!important}
 body[data-page="all_records"] .all-records-table small{font-size:7pt;color:#5c7088}
 body[data-page="all_records"] .record-expand .record-full{padding:0!important;line-height:1.55}
}
/* Baskı önizlemesinde de görünen güvenli kenar boşluğu. */
@page record-report{size:A4 portrait;margin:10mm 8mm 10mm 8mm}
@media print{
 body[data-page="student_records"],body[data-page="all_records"]{page:record-report}
 body[data-page="student_records"] .app main,body[data-page="all_records"] .app main{box-sizing:border-box!important;width:100%!important;max-width:none!important;padding:8mm 9mm 10mm!important;margin:0!important}
 body[data-page="student_records"] .record-history-server-header,body[data-page="all_records"] .archive-print-header{max-width:100%;box-sizing:border-box}
 body[data-page="student_records"] .record-table,body[data-page="all_records"] .all-records-table{max-width:100%!important;box-sizing:border-box}
}
/* Anne ve baba fotoğrafı ilgili bilgi kartının sağında */
.student-family-group>.family-info-with-photo{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:8px;align-items:start;padding:9px;border-top:1px solid #e8edf5}
.family-info-with-photo.no-photo{grid-template-columns:1fr}
.family-info-rows{min-width:0}.family-info-rows>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:5px;padding:5px 0;font-size:12px;border-bottom:1px solid #edf2f8}.family-info-rows>div:last-child{border-bottom:0}.family-info-rows span{color:var(--muted)}.family-info-rows b{overflow-wrap:anywhere}
.family-parent-photo{width:76px;height:96px;object-fit:cover;object-position:center top;border-radius:9px;border:1px solid #d6e2f1;background:#edf3fb}
@media(max-width:650px){.student-family-group>.family-info-with-photo{grid-template-columns:minmax(0,1fr) 76px}.family-info-rows>div{grid-template-columns:96px minmax(0,1fr)}}
/* Fotoğraf başlığın gri alanından başlar; e-posta fotoğrafın altında tam genişlikte kalır. */
.student-family-group.has-family-photo{position:relative}
.student-family-group>.family-info-with-photo{display:block;padding:9px 94px 4px 9px;min-height:71px}
.student-family-group .family-parent-photo{position:absolute;right:9px;top:7px;z-index:1}
.student-family-group>.family-email-row{display:grid;grid-template-columns:80px minmax(0,1fr);gap:5px;align-items:center;margin-top:7px;padding:7px 9px;border-top:1px solid #edf2f8;font-size:11px}
.student-family-group>.family-email-row span{color:var(--muted)}
.student-family-group>.family-email-row b{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.student-family-group>.family-email-row a{color:#193e75;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.family-info-rows .family-email-row b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:650px){.student-family-group>.family-info-with-photo{padding-right:94px}.family-info-rows>div{grid-template-columns:80px minmax(0,1fr)}}
.student-avatar-wrap{position:relative;width:86px;margin:0 auto 10px}.student-avatar-wrap .avatar{margin-bottom:0}.student-edit-photo{position:absolute;right:-12px;bottom:-8px;z-index:1;display:inline-block;padding:4px 7px;border-radius:7px;background:#173a70;color:#fff!important;font-size:10px;font-weight:750;text-decoration:none;box-shadow:0 2px 8px #172b4d55}.student-edit-photo:hover,.student-edit-photo:focus{background:#2d58a0;outline:2px solid #fff}
.student-edit-panel form{display:grid;grid-template-columns:190px minmax(0,1fr);gap:25px}.student-edit-photo-preview img,.student-edit-photo-preview>.album-placeholder{width:150px;height:188px;object-fit:cover;border-radius:12px;margin-bottom:12px}.student-edit-photo-preview input{max-width:180px;font-size:11px}.student-edit-photo-preview small{font-size:11px}.student-edit-fields h2{margin:0 0 10px}.student-edit-fields h2:not(:first-child){margin-top:24px}.student-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.student-edit-grid input,.student-edit-grid select{width:100%;min-width:0}.student-edit-actions{display:flex;align-items:center;gap:10px;margin-top:26px}.student-edit-actions .button-link{padding:10px 16px;border-radius:9px;text-decoration:none}
@media(max-width:850px){.student-edit-panel form{grid-template-columns:1fr}.student-edit-grid{grid-template-columns:1fr}}
.class-back-button{display:inline-flex;align-items:center;padding:9px 14px;border-radius:9px;text-decoration:none;font-weight:700}
.class-student-search{max-width:760px}.class-student-search label{margin-bottom:6px}.class-student-search input{width:100%}.student-search-results{display:grid;gap:7px;margin-top:10px}.student-search-results:empty{display:none}.student-search-results>a{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;border:1px solid #d4e0f3;border-radius:9px;background:#f6f9fe;text-decoration:none}.student-search-results>a:hover,.student-search-results>a:focus{border-color:#2255a1;background:#eaf1fc}.student-search-results span{font-size:12px;color:#60718c}.student:target{outline:3px solid #376ac0;scroll-margin-top:85px}
@media(max-width:650px){.student-search-results>a{align-items:start;flex-direction:column}}
.badge-match-repair{margin:0 0 12px}.badge-match-repair button{font-size:13px}
.daily-menu-panel{max-width:820px}.daily-menu-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:14px}.daily-menu-heading small{display:block;color:#416ca8;font-size:11px;font-weight:800;letter-spacing:.08em}.daily-menu-heading h2{margin:2px 0 0;font-size:23px}.daily-menu-heading span{color:#617087;font-weight:650}.daily-menu-heading .button-link{padding:9px 12px;border-radius:9px;text-decoration:none;font-weight:700;font-size:12px}.daily-menu-image-link{display:block;width:min(100%,310px);max-height:560px;overflow:auto;border:1px solid #d9e3f0;border-radius:12px;background:#f2f5f7}.daily-menu-image-link img{display:block;width:100%;height:auto}.daily-menu-panel p{margin:12px 0 0}
@media(max-width:600px){.daily-menu-heading{flex-direction:column}.daily-menu-image-link{margin:auto}}
.daily-menu-panel{max-width:none}.daily-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;overflow-x:auto;padding:3px 3px 12px;scroll-snap-type:x proximity}.daily-meal-card{box-sizing:border-box;aspect-ratio:1/1;min-width:0;min-height:255px;padding:20px;border:1px solid #dce5f2;border-radius:12px;background:linear-gradient(155deg,#f7faff,#fff);box-shadow:0 8px 24px rgba(17,42,81,.05);display:flex;flex-direction:column;scroll-snap-align:start}.daily-meal-card h3{margin:9px 0 12px;color:#142e58;font-size:18px}.daily-meal-icon{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:10px;background:#e8effb;color:#194885;font-size:23px}.daily-meal-lunch .daily-meal-icon{background:#e8edfa}.daily-meal-snack .daily-meal-icon{background:#edf0fa}.daily-meal-card ul{padding:0;margin:0;list-style:none;overflow-y:auto;min-height:0}.daily-meal-card li{padding:8px 0;border-top:1px solid #e6ecf4;line-height:1.3;color:#273b56}.daily-meal-card p{color:#66758b}.menu-preview-grid textarea{display:block;width:100%;min-height:75px;margin:6px 0 12px;resize:vertical}.menu-preview-grid label{display:block;font-size:13px;font-weight:700;color:#213b62}@media(max-width:900px){.daily-menu-grid{grid-template-columns:repeat(3,minmax(260px,1fr))}.daily-meal-card{padding:17px}}
.menu-admin-panel{max-width:850px}.menu-admin-panel form{display:grid;grid-template-columns:1fr 2fr;gap:14px;align-items:end}.menu-admin-panel form input{width:100%}.menu-admin-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}.menu-admin-actions button[hidden]{display:none}.menu-admin-panel #menuUploadStatus{grid-column:1/-1;margin:0;min-height:1.5em;color:#234a81}.menu-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;max-height:560px;overflow:auto}.menu-preview-grid>div{border:1px solid #d9e3f0;border-radius:9px;padding:8px;background:#f7f9fd}.menu-preview-grid strong{display:block;margin-bottom:7px}.menu-preview-grid img{display:block;width:100%;max-height:260px;object-fit:contain;object-position:top}.menu-uploaded-list{display:grid;gap:8px}.menu-uploaded-list>div{display:flex;align-items:center;gap:16px;border-bottom:1px solid #edf1f6;padding:7px}.menu-uploaded-list span{color:#62748b}
@media(max-width:650px){.menu-admin-panel form{grid-template-columns:1fr}.menu-uploaded-list>div{flex-wrap:wrap}}
