:root{--bg:#0b1324;--card:#121a2e;--muted:#7f8dab;--text:#eef3ff;--accent:#3da9fc;--accent-2:#8bd450;--danger:#ff6b6b;--warn:#ffd166;--grid:#1b2542}
*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%;color:var(--text);background:var(--bg);font:14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif}
.app-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--card);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--grid)}
.app-header h1{margin:0;font-size:18px}
.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
label{display:inline-flex;gap:6px;align-items:center}
select,input[type=date],input[type=number],input[type=text]{background:#0f1830;color:var(--text);border:1px solid var(--grid);padding:6px 8px;border-radius:6px}
button{background:var(--accent);color:#001222;border:0;padding:8px 12px;border-radius:6px;cursor:pointer}
button.secondary{background:#243357;color:var(--text)}
button:disabled{opacity:.6;cursor:not-allowed}
.import-label{display:inline-flex;gap:6px;align-items:center;background:#243357;color:var(--text);padding:6px 10px;border-radius:6px;cursor:pointer}
.import-label input{display:none}
.tabs{display:flex;gap:6px;padding:8px 16px;background:var(--card);border-bottom:1px solid var(--grid);position:sticky;top:56px;z-index:9}
.tab{background:#1a2748;color:var(--text);border:1px solid var(--grid);padding:8px 12px;border-radius:6px}
.tab.active{background:var(--accent);color:#001222}
.tab-panels{padding:16px}
.tab-panel{display:none}
.tab-panel.active{display:block}
.table-container{overflow:auto;background:var(--card);border:1px solid var(--grid);border-radius:8px}
table{border-collapse:separate;border-spacing:0;min-width:800px;width:100%}
th,td{border-bottom:1px solid var(--grid);border-right:1px solid var(--grid);padding:6px 8px;white-space:nowrap}
th:first-child,td:first-child{position:sticky;left:0;background:#172448;z-index:2}
th{position:sticky;top:0;background:#172448}
tr:nth-child(even) td{background:#101b36}
.cell-center{text-align:center}
.mark-plus{color:var(--accent-2);font-weight:700}
.mark-minus{color:var(--danger);font-weight:700}
.mark-empty{color:var(--muted)}
.student-detail{display:flex;flex-direction:column;gap:12px}
.student-half-summary{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px}
.student-half-summary>div{background:var(--card);border:1px solid var(--grid);border-radius:8px;padding:10px}
.kv-pair{display:flex;justify-content:space-between;gap:8px;margin:6px 0}
.pay-toggle{background:#243357;color:var(--text)}
.settings-form{display:grid;gap:16px;max-width:900px}
fieldset{border:1px solid var(--grid);border-radius:8px;padding:10px}
legend{padding:0 6px;color:var(--muted)}
.students-list{display:flex;flex-direction:column;gap:6px}
.student-row{display:grid;grid-template-columns:40px 1fr 32px 32px;align-items:center;gap:6px}
.drag{cursor:grab}
.name-edit{width:100%}
.students-actions{display:flex;gap:8px}
.form-actions{display:flex;gap:8px;justify-content:flex-end}
.app-footer{padding:10px 16px;color:var(--muted)}

.teacher-meals{display:flex;flex-direction:column;gap:12px}
.teacher-summary{background:var(--card);border:1px solid var(--grid);border-radius:8px;padding:12px}
.teacher-summary h3{margin:0 0 8px 0;color:var(--accent)}
.teacher-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}
.stat-item{display:flex;justify-content:space-between;align-items:center;gap:8px}
.stat-item span{color:var(--muted)}
.stat-item strong{color:var(--text)}

@media print{
  .app-header,.tabs,.toolbar,.app-footer,.import-label,.form-actions,.students-actions{display:none!important}
  body{background:#fff;color:#000}
  .table-container{border:0}
  th:first-child,td:first-child,th{background:#fff;color:#000}
}


