:root{
  --black:#1b1b1e;
  --sidebar-bg:#ffffff;
  --sidebar-border:#e4e7eb;
  --page-bg:#f3f4f6;
  --border:#e0e3e8;
  --blue:#2563af;
  --blue-light:#eaf1fb;
  --orange:#eda23a;
  --orange-dark:#d98c1f;
  --orange-light:#fbe9d0;
  --text:#232529;
  --text-muted:#767b85;
  --green:#2f9e5c;
  --green-light:#e1f3e7;
  --pink-bg:#fbe7ee;
  --pink-text:#c23b62;
  --red:#d64545;
  --card-bg:#ffffff;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;height:100%;}
body{
  font-family:"Segoe UI",Arial,Helvetica,sans-serif;
  background:var(--page-bg);
  color:var(--text);
  font-size:13.5px;
}
.hidden{display:none !important;}
a{color:var(--blue);text-decoration:none;cursor:pointer;}
a:hover{text-decoration:underline;}
input,select,textarea,button{font-family:inherit;font-size:13.5px;}
input[type=text],input[type=number],input[type=date],input[type=email],input[type=password],input[type=tel],select,textarea{
  width:100%;padding:6px 8px;border:1px solid #ccd1d9;border-radius:3px;background:#fff;color:var(--text);
}
input:disabled{background:#f0f1f3;color:#9aa0a8;}
textarea{resize:vertical;min-height:54px;}
label{font-size:12.5px;color:#4b4f57;font-weight:600;display:block;margin-bottom:3px;}
.req{color:var(--red);}
.field{margin-bottom:12px;}
.row{display:flex;gap:14px;flex-wrap:wrap;}
.row > .field{flex:1;min-width:120px;}

/* ---------- LOGIN ---------- */
#loginScreen{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#1b1b1e 0%,#2b3550 55%,#2563af 100%);
}
.login-card{
  width:360px;background:#fff;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.35);
  padding:34px 32px 26px;
}
.login-logo{font-size:24px;font-weight:700;color:var(--black);text-align:center;margin-bottom:2px;}
.login-logo span{color:var(--blue);}
.login-sub{text-align:center;color:var(--text-muted);font-size:12px;margin-bottom:22px;}
.login-card .field{margin-bottom:14px;}
.login-btn{
  width:100%;padding:10px;background:var(--blue);color:#fff;border:none;border-radius:4px;
  font-weight:600;font-size:14px;cursor:pointer;margin-top:6px;
}
.login-btn:hover{background:#1d4f8c;}
.login-error{background:#fdeaea;color:var(--red);padding:8px 10px;border-radius:4px;font-size:12.5px;margin-bottom:12px;display:none;}
.login-demo{
  margin-top:20px;padding-top:16px;border-top:1px solid #eee;font-size:11.5px;color:var(--text-muted);
}
.login-demo table{width:100%;border-collapse:collapse;}
.login-demo td{padding:3px 4px;}
.login-demo b{color:var(--text);}
.demo-fill{cursor:pointer;color:var(--blue);}

/* ---------- APP SHELL ---------- */
#topbar{
  background:var(--black);color:#fff;padding:8px 18px;font-size:19px;font-weight:600;
  display:flex;align-items:center;justify-content:space-between;letter-spacing:.3px;gap:14px;flex-wrap:wrap;
}
#topbar .slash{color:#9aa0a8;font-weight:400;font-size:15px;margin-left:6px;}
.topbar-left{display:flex;align-items:center;gap:12px;flex:0 0 auto;}
.topbar-right{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap;flex:1 1 auto;min-width:0;}
.tb-icon-btn{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:4px;
  padding:6px 10px;font-size:12.5px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:5px;
  line-height:1;position:relative;white-space:nowrap;flex-shrink:0;
}
.tb-icon-btn:hover{background:rgba(255,255,255,.2);}
.tb-icon-btn:disabled{opacity:.35;cursor:not-allowed;}
.tb-icon-btn:disabled:hover{background:rgba(255,255,255,.08);}
.tb-select{
  width:auto;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:4px;
  padding:6px 8px;font-size:11.5px;font-weight:600;cursor:pointer;flex-shrink:0;
}
.tb-select option{color:#111;}
.tb-icon-btn-green{background:var(--green-light);border-color:var(--green-light);color:#1b7a43;}
.tb-icon-btn-green:hover{background:#cdeedb;}
.tb-icon-btn-green:disabled{opacity:.4;}
body.dark-mode .tb-icon-btn-green{color:#7fd8a5;}
body.dark-mode .tb-icon-btn-green:hover{background:#1f4430;}
.msg-badge{
  position:absolute;top:-6px;right:-6px;background:var(--red);color:#fff;border-radius:50%;
  min-width:15px;height:15px;padding:0 2px;font-size:9.5px;display:none;align-items:center;justify-content:center;font-weight:700;
}
.msg-badge.show{display:flex;}
#layout{display:flex;align-items:flex-start;min-height:calc(100vh - 46px);}
#sidebar{
  width:230px;flex:0 0 230px;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);
  min-height:calc(100vh - 46px);
}
#sidebar.collapsed{display:none;}
#layout.menu-right{flex-direction:row-reverse;}
#layout.menu-right #sidebar{border-right:none;border-left:1px solid var(--sidebar-border);}
#layout.menu-top{flex-direction:column;}
#layout.menu-top #sidebar{
  width:100%;flex:0 0 auto;min-height:0;border-right:none;border-bottom:1px solid var(--sidebar-border);
  display:flex;align-items:center;flex-wrap:wrap;padding:0 10px;position:relative;z-index:60;
}
#layout.menu-top #main{width:100%;}
#layout.menu-top .user-block{border-bottom:none;border-right:1px solid var(--sidebar-border);padding:8px 12px;}
#layout.menu-top .kurum-select-wrap{border-bottom:none;border-right:1px solid var(--sidebar-border);padding:8px 12px;}
#layout.menu-top .panel-tabs{border-bottom:none;border-right:1px solid var(--sidebar-border);}
#layout.menu-top .panel-tabs div{padding:8px 12px;}
#layout.menu-top #navMenu{display:flex;flex-wrap:wrap;padding:0;flex:1;}
#layout.menu-top .nav-group{position:relative;}
#layout.menu-top .nav-group-title{padding:12px 14px;}
#layout.menu-top .nav-item.top{padding:12px 14px;border-left:none;border-bottom:3px solid transparent;}
#layout.menu-top .nav-item.top.active{border-left:none;border-bottom:3px solid var(--blue);}
#layout.menu-top .nav-children{
  position:absolute;top:100%;left:0;background:var(--sidebar-bg);border:1px solid var(--sidebar-border);
  box-shadow:0 12px 28px rgba(0,0,0,.18);min-width:220px;z-index:200;border-radius:0 0 4px 4px;
}
.user-block{padding:16px 16px 12px;border-bottom:1px solid var(--sidebar-border);display:flex;gap:10px;align-items:center;}
.avatar-box{width:40px;height:40px;background:var(--black);border-radius:3px;flex:0 0 40px;}
.user-name{font-weight:700;font-size:13px;}
.user-links{font-size:11.5px;color:var(--text-muted);}
.user-links a{font-size:11.5px;}
.kurum-select-wrap{padding:10px 14px;border-bottom:1px solid var(--sidebar-border);}
.kurum-select-wrap select{font-size:12.5px;padding:6px;font-weight:600;color:var(--blue);}
.panel-tabs{display:flex;border-bottom:1px solid var(--sidebar-border);}
.panel-tabs div{flex:1;text-align:center;padding:9px 0;font-size:12.5px;color:var(--text-muted);cursor:pointer;}
.panel-tabs div.active{color:var(--blue);font-weight:600;border-bottom:2px solid var(--blue);}
#navMenu{padding:6px 0;}
.nav-group-title{
  padding:10px 16px;font-size:12.8px;font-weight:600;color:#3a3d44;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;user-select:none;
}
.nav-group-title:hover{background:#f6f7f9;}
.nav-group-title .arrow{font-size:10px;color:#9aa0a8;transition:transform .15s;}
.nav-group-title.open .arrow{transform:rotate(90deg);}
.nav-children{display:none;}
.nav-children.open{display:block;}
.nav-item{
  padding:8px 16px 8px 30px;font-size:12.5px;color:#4b4f57;cursor:pointer;display:block;border-left:3px solid transparent;
}
.nav-item:hover{background:#f6f7f9;}
.nav-item.active{color:var(--blue);font-weight:700;background:var(--blue-light);border-left:3px solid var(--blue);}
.nav-item.top{padding-left:16px;}
.nav-item.not-built{background:#f0f1f2;color:#9aa0a8;}
.nav-item.not-built:hover{background:#e7e8ea;}
.nav-item.not-built.active{background:#e7e8ea;color:var(--blue);}
.nav-star{color:#f5b700;margin-left:6px;font-size:11px;}

#main{flex:1;min-width:0;}
#breadcrumbBar{
  background:#eef0f3;border-bottom:1px solid var(--border);padding:7px 20px;font-size:12px;color:var(--text-muted);
  display:flex;justify-content:space-between;align-items:center;
}
#breadcrumbBar b{color:var(--text);font-weight:600;}
#pageContent{padding:20px;}

/* ---------- COMMON UI ---------- */
.page-title{font-size:20px;font-weight:600;margin:2px 0 14px;}
.page-title small{font-size:13px;color:var(--text-muted);font-weight:400;}
.toolbar{
  background:#fff;border:1px solid var(--border);border-radius:4px 4px 0 0;padding:8px 10px;
  display:flex;gap:8px;align-items:center;flex-wrap:wrap;
}
.btn{
  padding:7px 13px;border-radius:3px;border:1px solid #ccd1d9;background:#fff;color:var(--text);
  cursor:pointer;font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;gap:5px;
}
.btn:hover{background:#f4f5f7;}
.btn-primary{background:var(--blue);color:#fff;border-color:var(--blue);}
.btn-primary:hover{background:#1d4f8c;}
.btn-orange{background:var(--orange);color:#fff;border-color:var(--orange);font-size:14px;padding:10px;width:100%;justify-content:center;}
.btn-orange:hover{background:var(--orange-dark);}
.btn-green{background:var(--green);color:#fff;border-color:var(--green);font-size:15px;padding:12px;width:100%;justify-content:center;font-weight:700;margin-top:4px;}
.btn-green:hover{background:#25824a;}
.btn-sm{padding:4px 9px;font-size:11.5px;}
.filter-panel{background:#fff;border:1px solid var(--border);border-top:none;padding:14px 14px 6px;}
.filter-panel .row{margin-bottom:10px;}
.filter-panel label{font-size:11.5px;color:var(--text-muted);font-weight:600;}
.filter-actions{display:flex;justify-content:flex-end;padding:0 0 12px;}
.card{background:#fff;border:1px solid var(--border);border-radius:4px;padding:16px;margin-bottom:16px;}
.card-title{font-weight:700;font-size:13.5px;margin-bottom:12px;border-bottom:1px solid var(--border);padding-bottom:8px;}
.data-table{width:100%;border-collapse:collapse;background:#fff;}
.data-table th{
  text-align:left;background:#f7f8fa;border-bottom:1px solid var(--border);padding:8px 10px;font-size:11.5px;
  color:#565b64;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;
}
.data-table td{padding:8px 10px;border-bottom:1px solid #eef0f2;font-size:12.5px;white-space:nowrap;}
.data-table tbody tr:hover{background:#f8fafc;}
.table-wrap{overflow-x:auto;border:1px solid var(--border);border-top:none;background:#fff;}
.pill{padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700;}
.pill-green{background:#e4f6ea;color:var(--green);}
.pill-gray{background:#eee;color:#777;}
.badge-count{
  background:var(--red);color:#fff;border-radius:50%;font-size:9.5px;width:15px;height:15px;
  display:inline-flex;align-items:center;justify-content:center;position:relative;top:-6px;left:2px;
}
.section-grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;align-items:start;}
.section-grid2{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;align-items:start;}
@media(max-width:1100px){.section-grid3{grid-template-columns:1fr;}.section-grid2{grid-template-columns:1fr;}}
.tab-group{display:flex;border-bottom:1px solid var(--border);margin-bottom:0;flex-wrap:wrap;}
.tab-group div{padding:8px 14px;font-size:12.5px;cursor:pointer;color:var(--text-muted);border-bottom:2px solid transparent;font-weight:600;}
.tab-group div.active{color:var(--blue);border-bottom:2px solid var(--blue);}
.taksit-head{display:flex;justify-content:space-between;align-items:center;padding:10px 2px;font-size:12px;color:var(--text-muted);}
.taksit-head b{color:var(--text);}
.row-unpaid{background:var(--pink-bg);}
.row-unpaid td{color:var(--pink-text);}
.row-paid{background:#e5f7ec;}
.row-paid td{color:#1f7a44;}
.stat-block{border-right:1px solid var(--border);padding:0 22px 0 0;}
.stat-block:last-child{border-right:none;}
.stat-num{font-size:26px;font-weight:700;}
.stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;margin-top:2px;}
.stat-breakdown{display:flex;gap:14px;margin-top:10px;font-size:11px;color:var(--text-muted);}
.stat-breakdown b{display:block;color:var(--text);font-size:12px;}
.progress-bar{height:6px;background:#eee;border-radius:4px;margin-top:8px;overflow:hidden;}
.progress-bar div{height:100%;}
.toast{
  position:fixed;bottom:24px;right:24px;background:var(--black);color:#fff;padding:12px 18px;border-radius:5px;
  font-size:13px;box-shadow:0 8px 24px rgba(0,0,0,.3);z-index:999;opacity:0;transform:translateY(10px);transition:all .25s;
}
.toast.show{opacity:1;transform:translateY(0);}
.hint{font-size:11px;color:var(--text-muted);margin-top:4px;}

/* -------- Raporlar: şık tablo görünümü -------- */
.rapor-table{font-variant-numeric:tabular-nums;}
.rapor-table th.num, .rapor-table td.num{text-align:right;}
.rapor-table tbody tr:nth-child(odd){background:rgba(0,0,0,.015);}
body.dark-mode .rapor-table tbody tr:nth-child(odd){background:rgba(255,255,255,.02);}
.rapor-table tbody tr.total-row, .rapor-table tbody tr.total-row td{
  background:var(--blue-light);font-weight:700;border-top:2px solid var(--border);
}
body.dark-mode .rapor-table tbody tr.total-row, body.dark-mode .rapor-table tbody tr.total-row td{background:#1d2a3d;}
.rapor-table thead th{position:sticky;top:0;}

/* -------- Raporlar: Dashboard -------- */
.dash-hero-card{padding:18px 20px;}
.dash-hero-row{display:flex;flex-wrap:wrap;gap:0;}
.dash-hero-tile{flex:1;min-width:130px;border-right:1px solid var(--border);padding:0 18px;}
.dash-hero-tile:last-child{border-right:none;}
.dash-hero-tile:first-child{padding-left:0;}
.dash-hero-val{font-size:26px;font-weight:700;color:var(--text);}
.dash-hero-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;margin-top:2px;letter-spacing:.2px;}
.dash-kurum-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:1000px){.dash-kurum-grid{grid-template-columns:1fr;}}
.dash-kurum-card{background:var(--card-bg,#fff);border:1px solid var(--border);border-radius:4px;padding:16px;margin-bottom:16px;}
.dash-kurum-title{font-weight:700;font-size:15px;margin-bottom:14px;}
.dash-kpi-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:14px;}
.dash-kpi-val{font-size:19px;font-weight:700;color:var(--text);}
.dash-kpi-label{font-size:10.5px;color:var(--text-muted);text-transform:uppercase;margin-top:2px;}
.dash-meter{margin-bottom:12px;}
.dash-meter-label{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted);margin-bottom:4px;}
.dash-meter-label b{color:var(--text);}
.dash-mini-row{display:flex;gap:22px;font-size:11px;color:var(--text-muted);border-top:1px solid var(--border);padding-top:10px;}
.dash-mini-row b{display:block;font-size:13px;margin-top:2px;}
.dash-mini-label{text-transform:uppercase;letter-spacing:.2px;}
.dash-compare-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px;}
@media(max-width:900px){.dash-compare-grid{grid-template-columns:1fr;}}
.dash-compare-title{font-size:11.5px;color:var(--text-muted);font-weight:700;margin-bottom:10px;text-transform:uppercase;letter-spacing:.2px;}
.dash-compare-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;}
.dash-compare-name{width:38px;color:var(--text-muted);flex-shrink:0;}
.dash-compare-track{flex:1;height:14px;background:var(--page-bg);border-radius:0 3px 3px 0;overflow:hidden;}
.dash-compare-fill{height:100%;border-radius:0 3px 3px 0;transition:width .3s;}
.dash-compare-val{width:34px;text-align:right;color:var(--text);flex-shrink:0;}
.chart-legend{display:flex;gap:18px;margin-bottom:6px;font-size:11.5px;color:var(--text-muted);}
.chart-legend .legend-item{display:flex;align-items:center;gap:6px;}
.chart-legend .legend-item i{width:10px;height:10px;border-radius:2px;display:inline-block;}
.checkbox-line{display:flex;align-items:center;gap:6px;font-weight:400;font-size:12.5px;color:var(--text);}
.checkbox-line input{width:auto;}
.placeholder-box{
  background:#fff;border:1px dashed #c7cbd3;border-radius:6px;padding:40px 20px;text-align:center;color:var(--text-muted);
}
.placeholder-box b{display:block;color:var(--text);font-size:15px;margin-bottom:6px;}
.svc-row{display:grid;grid-template-columns:80px 70px 1fr;gap:8px;align-items:center;margin-bottom:8px;}
.svc-row span{font-size:12px;}
.student-card-box{background:#fff;border:1px solid var(--border);border-radius:4px;padding:16px;}
.student-card-box h3{margin:0 0 4px;font-size:16px;}
.student-card-box .meta{font-size:12px;color:var(--text-muted);line-height:1.9;margin-top:8px;}
.link-strong{font-weight:600;}
.role-badge{display:inline-block;background:var(--blue-light);color:var(--blue);font-size:10.5px;padding:2px 7px;border-radius:3px;font-weight:700;margin-left:6px;}

/* ---------- TARİH SEÇİCİ (mini takvim) ---------- */
.date-input-wrap{display:flex;gap:4px;}
.date-input-wrap input{flex:1;}
.date-btn{flex:0 0 auto;padding:6px 10px;border:1px solid #ccd1d9;border-radius:3px;background:#fff;cursor:pointer;font-size:13px;line-height:1;}
.date-btn:hover{background:#f4f5f7;}
.date-btn:disabled{background:#f0f1f3;color:#bbb;cursor:not-allowed;}
.dp-popup{position:absolute;z-index:2000;background:#fff;border:1px solid #ccd1d9;border-radius:6px;box-shadow:0 12px 34px rgba(0,0,0,.2);padding:10px;width:232px;}
.dp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:700;font-size:12.5px;}
.dp-header button{background:none;border:none;cursor:pointer;font-size:15px;padding:2px 10px;color:var(--blue);border-radius:3px;}
.dp-header button:hover{background:var(--blue-light);}
.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;font-size:11.5px;text-align:center;}
.dp-grid .dow{color:#999;font-weight:700;padding:2px 0;}
.dp-grid .day{padding:5px 0;border-radius:4px;cursor:pointer;}
.dp-grid .day:hover{background:var(--blue-light);}
.dp-grid .day.muted{color:#ccc;cursor:default;}
.dp-grid .day.muted:hover{background:none;}
.dp-grid .day.selected{background:var(--blue);color:#fff;font-weight:700;}

/* ---------- MODAL (Sınıf formu vb.) ---------- */
.modal-overlay{position:fixed;inset:0;background:rgba(20,20,25,.45);z-index:3000;display:flex;align-items:center;justify-content:center;}
.modal-box{background:#fff;border-radius:8px;padding:22px;width:380px;box-shadow:0 20px 60px rgba(0,0,0,.3);}
.modal-box h3{margin:0 0 16px;font-size:16px;}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;}

/* ---------- PASİF DURUM ---------- */
.pasif-mode input[type=text],.pasif-mode input[type=number],.pasif-mode input[type=date],
.pasif-mode input[type=email],.pasif-mode input[type=tel],.pasif-mode select,.pasif-mode textarea{
  background:#e7e8ea;
}

/* ---------- ÖĞRENCİ DÜZENLE ARAÇ ÇUBUĞU ---------- */
.ogr-toolbar{background:#fff;border:1px solid var(--border);border-radius:4px;padding:8px 10px;display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.ogr-toolbar .btn:disabled{opacity:.45;cursor:not-allowed;}
.ogr-toolbar .btn:disabled:hover{background:#fff;}
.info-box{background:var(--blue-light);border:1px solid #cfe0f5;border-radius:4px;padding:9px 12px;font-size:12px;color:var(--text);margin-bottom:12px;}

/* ---------- SIRALANABİLİR TABLO BAŞLIKLARI (Başlangıç / Öğrenciler) ---------- */
.data-table th.sortable-th{cursor:pointer;user-select:none;position:relative;}
.data-table th.sortable-th:hover{background:#eef1f5;color:#2a2f38;}
body.dark-mode .data-table th.sortable-th:hover{background:#2a2d34;}
.data-table th.sortable-th.sorted{color:var(--blue);}
body.dark-mode .data-table th.sortable-th.sorted{color:#6fa8e8;}
.data-table th.sortable-th .sort-arrow{margin-left:3px;font-size:9px;opacity:.85;}

/* ---------- FOTOĞRAF ALANI (Öğrenci / Personel) ---------- */
.photo-thumb{
  position:relative;flex:0 0 auto;border:2px solid var(--border);background:var(--blue);
  display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;
  color:#fff;transition:opacity .15s;
}
.photo-thumb:hover{opacity:.85;}
.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.photo-thumb .photo-thumb-icon{font-size:20px;line-height:1;}
.photo-thumb .photo-thumb-badge{
  position:absolute;bottom:0;right:0;left:0;background:rgba(0,0,0,.55);color:#fff;
  font-size:9px;text-align:center;padding:2px 0;letter-spacing:.2px;
}
.photo-preview-box{
  width:200px;height:200px;border-radius:8px;overflow:hidden;background:var(--page-bg);
  border:1px solid var(--border);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;
}
.photo-preview-box img{width:100%;height:100%;object-fit:cover;}
.photo-preview-empty{color:var(--text-muted);font-size:12px;text-align:center;padding:0 16px;}

/* ---------- GENİŞ MODAL / MATRİX (Personel, Devamsızlık) ---------- */
.modal-box.wide{width:680px;max-width:92vw;max-height:82vh;overflow:auto;}
.matrix-table{width:100%;border-collapse:collapse;font-size:12px;}
.matrix-table th{text-align:left;padding:6px 8px;border-bottom:2px solid var(--border);background:#f7f8fa;font-size:11px;text-transform:uppercase;color:#565b64;}
.matrix-table td{padding:5px 8px;border-bottom:1px solid #eef0f2;}
.matrix-table td.chk{text-align:center;width:70px;}
.matrix-table tr.grp-row td{background:#f3f4f6;font-weight:700;color:var(--text-muted);font-size:11px;text-transform:uppercase;}
.notes-list{max-height:230px;overflow:auto;margin-bottom:14px;border:1px solid var(--border);border-radius:4px;}
.note-item{border-bottom:1px solid #eef0f2;padding:9px 12px;}
.note-item:last-child{border-bottom:none;}
.note-meta{font-size:11px;color:var(--text-muted);}
.note-meta b{color:var(--text);}
.note-text{font-size:12.5px;margin-top:3px;}

/* ---------- YAZDIRMA (A4 Dikey) ---------- */
@media print{
  .no-print, #topbar, #sidebar, #breadcrumbBar, #toast, #dpPopup, .modal-overlay{display:none !important;}
  #layout{display:block !important;}
  #main{width:100% !important;min-height:0 !important;}
  #pageContent{padding:0 !important;}
  body{font-size:10px;background:#fff;}
  .page-title{font-size:15px;margin-bottom:8px;}
  .section-grid3{display:grid !important;grid-template-columns:1fr 1fr 1fr !important;gap:8px !important;}
  .card{padding:8px !important;margin-bottom:8px !important;break-inside:avoid;box-shadow:none !important;border-color:#ccc !important;}
  .card-title{font-size:11px;padding-bottom:4px;margin-bottom:6px;}
  .field{margin-bottom:6px;}
  label{font-size:9.5px;margin-bottom:1px;}
  input,select,textarea{padding:2px 4px;font-size:9.5px;border-color:#999;}
  .date-btn{display:none !important;}
  @page{size:A4 portrait;margin:10mm;}
}

/* ---------- FİNANSAL DURUM: MODERN ÖZET KARTLARI ---------- */
.fin-card-title-row{font-weight:700;font-size:13.5px;margin:4px 0 10px;color:var(--text);}
.fin-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:18px;}
.fin-card{
  background:var(--card-bg);border:1px solid var(--border);border-top:4px solid var(--blue);border-radius:10px;
  padding:16px 14px 14px;text-align:center;transition:box-shadow .15s ease,transform .15s ease;
}
.fin-card:hover{box-shadow:0 10px 26px rgba(20,20,30,.10);transform:translateY(-2px);}
body.dark-mode .fin-card:hover{box-shadow:0 10px 26px rgba(0,0,0,.45);}
.fin-card-hero{text-align:left;}
.fin-card-top{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:2px;}
.fin-card-hero .fin-card-top{justify-content:flex-start;}
.fin-card-icon{font-size:16px;line-height:1;}
.fin-card-label{font-size:10.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-weight:700;}
.fin-gauge-wrap{position:relative;display:flex;justify-content:center;margin:2px 0 0;}
.fin-gauge-value{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:19px;font-weight:800;color:var(--text);}
.fin-card-value{font-size:18px;font-weight:800;color:var(--text);margin-top:4px;}
.fin-card-hero .fin-card-value{font-size:27px;margin-top:8px;}
.fin-card-unit{font-size:11px;font-weight:600;color:var(--text-muted);margin-left:4px;}
.fin-card-breakdown{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border);font-size:10px;color:var(--text-muted);}
.fin-card-hero .fin-card-breakdown{justify-content:flex-start;}
.fin-card-breakdown b{display:block;color:var(--text);font-size:12px;}

/* ---------- GİDERLER: GİDER TÜRLERİ / GİDER GİRİŞİ ---------- */
.gider-layout{display:grid;grid-template-columns:250px 1fr;gap:16px;align-items:start;}
@media(max-width:900px){.gider-layout{grid-template-columns:1fr;}}
.gider-turu-list{border:1px solid var(--border);border-radius:4px;overflow:hidden;}
.gider-turu-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;border-bottom:1px solid var(--border);}
.gider-turu-row:last-child{border-bottom:none;}
.gider-turu-row:nth-child(odd){background:rgba(0,0,0,.015);}
body.dark-mode .gider-turu-row:nth-child(odd){background:rgba(255,255,255,.02);}
.gider-turu-actions{white-space:nowrap;flex-shrink:0;}
.gider-turu-actions a{font-size:12px;margin-left:8px;}

/* ---------- HAFTALIK DERS PROGRAMI ---------- */
.hp-week-range{font-size:12.5px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px;white-space:nowrap;}
.hp-table{table-layout:fixed;}
.hp-table th{text-align:center;}
.hp-saat-cell{width:112px;text-align:center;font-weight:600;background:#f7f8fa;white-space:normal;}
.hp-saat-time{display:block;font-weight:400;color:var(--text-muted);font-size:10.5px;}
.hp-ara-row td{background:#f7f8fa;color:var(--text-muted);}
.hp-ara-cell{text-align:center;font-size:11px;text-transform:uppercase;letter-spacing:.3px;}
.hp-cell{height:60px;vertical-align:top;white-space:normal;cursor:pointer;padding:6px 8px;}
.hp-cell.hp-empty{color:#c7cbd3;font-size:18px;text-align:center;vertical-align:middle;}
.hp-cell.hp-empty:hover{background:var(--blue-light);}
.hp-cell.hp-filled{background:#fbfcfe;text-align:left;}
.hp-cell.hp-filled:hover{background:var(--blue-light);}
.hp-no{font-size:9.5px;color:var(--text-muted);font-weight:700;}
.hp-ders{font-weight:700;font-size:12px;}
.hp-ogretmen{font-size:11px;color:var(--text-muted);}
.hp-konu{font-size:10.5px;color:var(--text-muted);font-style:italic;margin-top:2px;}
tr.hp-now-row td.hp-saat-cell,tr.hp-now-row td.hp-ara-cell,tr.hp-now-row td.hp-cell{background:var(--green-light);}
body.dark-mode .hp-saat-cell,body.dark-mode .hp-ara-row td{background:#202227;}
body.dark-mode .hp-cell.hp-filled{background:#1c1e23;}
body.dark-mode tr.hp-now-row td.hp-saat-cell,body.dark-mode tr.hp-now-row td.hp-ara-cell,body.dark-mode tr.hp-now-row td.hp-cell{background:var(--green-light);}

/* ---------- KARANLIK MOD ---------- */
body.dark-mode{
  --page-bg:#15161a; --border:#31333a; --text:#e7e9ee; --text-muted:#9aa0ab;
  --sidebar-bg:#1c1e23; --sidebar-border:#31333a; --blue-light:#1d2a3d;
  --orange-light:#3a2c17; --green-light:#173626; --card-bg:#1c1e23;
}
body.dark-mode .card, body.dark-mode .toolbar, body.dark-mode .ogr-toolbar, body.dark-mode .filter-panel,
body.dark-mode .table-wrap, body.dark-mode .data-table, body.dark-mode .modal-box, body.dark-mode .student-card-box,
body.dark-mode #breadcrumbBar, body.dark-mode .notes-list, body.dark-mode .dp-popup{
  background:#1c1e23;border-color:#31333a;
}
body.dark-mode .data-table th{background:#232529;color:#c7cbd3;}
body.dark-mode .data-table td{border-color:#2b2d33;}
body.dark-mode .data-table tbody tr:hover{background:#22242a;}
body.dark-mode input[type=text],body.dark-mode input[type=number],body.dark-mode input[type=date],
body.dark-mode input[type=email],body.dark-mode input[type=password],body.dark-mode input[type=tel],
body.dark-mode select,body.dark-mode textarea{
  background:#25272d;border-color:#3a3d45;color:#e7e9ee;
}
body.dark-mode input:disabled{background:#1c1e23;color:#6b7078;}
body.dark-mode .btn{background:#25272d;border-color:#3a3d45;color:#e7e9ee;}
body.dark-mode .btn:hover{background:#2d3038;}
body.dark-mode .placeholder-box{background:#1c1e23;border-color:#3a3d45;}
body.dark-mode .nav-item:hover, body.dark-mode .nav-group-title:hover{background:#25272d;}
body.dark-mode .nav-group-title{color:#dfe2e8;}
body.dark-mode .nav-item{color:#c7cbd3;}
body.dark-mode .nav-item.not-built{background:#202227;color:#6b7078;}
body.dark-mode .nav-item.not-built:hover{background:#25272d;}
body.dark-mode .nav-children{background:#1c1e23;}
body.dark-mode .pasif-mode input[type=text],body.dark-mode .pasif-mode input[type=number],
body.dark-mode .pasif-mode select,body.dark-mode .pasif-mode textarea{background:#111214;}
body.dark-mode .info-box{background:#1d2a3d;border-color:#2c3f57;}
body.dark-mode .matrix-table tr.grp-row td{background:#202227;}
body.dark-mode .matrix-table th{background:#232529;color:#c7cbd3;}
body.dark-mode .row-paid{background:#173626;}
body.dark-mode .row-paid td{color:#7fd8a5;}
body.dark-mode .row-unpaid{background:#3a1c26;}
body.dark-mode .row-unpaid td{color:#f0a9c0;}
body.dark-mode .user-block, body.dark-mode .kurum-select-wrap, body.dark-mode .panel-tabs{border-color:#31333a;}
body.dark-mode .note-item{border-color:#2b2d33;}
