:root{--ink:#172b36;--muted:#61717b;--yellow:#ffcf00;--line:#e4e9ec;--paper:#fff;--background:#f5f7f8}
*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--ink);font-family:Tajawal,Arial,sans-serif;font-size:17px}button,input,select{font:inherit}button{cursor:pointer;border-radius:12px;padding:12px 20px;font-weight:700;border:1px solid transparent}button:disabled{opacity:.5;cursor:default}button:hover:not(:disabled){filter:brightness(.96)}button:focus-visible,a:focus-visible{outline:3px solid #168081;outline-offset:3px}[hidden]{display:none!important}.topbar{background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:18px max(24px,calc((100vw - 1180px)/2))}.topbar img{width:115px;height:50px;object-fit:contain}.badge{font-size:14px;border-radius:20px;padding:8px 15px;background:#fff8d5;font-weight:700}main{max-width:1180px;margin:0 auto;padding:40px 24px 60px}h1{font-size:36px;line-height:1.3;margin:12px 0}p{line-height:1.7}.muted{color:var(--muted);margin:8px 0 24px}.eyebrow{font-size:14px;font-weight:800;color:#52717c}.login-card{max-width:480px;margin:40px auto;background:var(--paper);padding:38px;border:1px solid var(--line);border-radius:24px;box-shadow:0 16px 50px #172b3608}.login-card h1{font-size:32px}.login-card label{display:block;margin:20px 0 8px;font-weight:700}input,select{width:100%;min-height:48px;background:#fff;border:1px solid #cad4da;border-radius:10px;padding:11px 14px;color:var(--ink)}input:focus,select:focus{outline:2px solid #168081;outline-offset:2px}.primary{background:var(--yellow);color:var(--ink)}.login-card .primary{width:100%;margin-top:24px}.login-note{font-size:13px;text-align:center;color:var(--muted);margin-bottom:0}.secondary{background:white;border-color:#cad4da;color:var(--ink)}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.account{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px;font-size:14px;max-width:360px;overflow-wrap:anywhere}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:10px 0 28px}.stats article{background:white;border:1px solid var(--line);border-radius:18px;padding:24px}.stats article:first-child{border-top:4px solid var(--yellow)}.stats span{display:block;color:var(--muted);font-size:15px}.stats strong{display:block;font-size:36px;margin-top:14px;direction:ltr;text-align:right}.records-panel{background:white;border:1px solid var(--line);border-radius:20px;padding:24px}.toolbar{display:flex;align-items:flex-end;gap:16px}.search{flex:1}.sort{width:220px}.toolbar label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}.records-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:14px;margin:24px 0 16px}.student{border:1px solid var(--line);border-radius:14px;margin:12px 0;overflow:hidden}.student summary{cursor:pointer;display:flex;align-items:center;gap:20px;padding:20px;list-style:none}.student summary::-webkit-details-marker{display:none}.student summary:focus-visible{outline:2px solid #168081;outline-offset:-3px}.student-name{flex:1;min-width:0}.student-name strong{display:block;font-size:20px;overflow-wrap:anywhere}.student-name small{color:var(--muted);font-size:13px;display:block;margin-top:8px}.grade-pill{min-width:105px;border-radius:12px;background:#f3f6f7;padding:10px 14px;text-align:center}.grade-pill span{display:block;font-size:12px;color:var(--muted)}.grade-pill b{font-size:24px;display:block;direction:ltr;margin-top:4px}.grade-pill.german{background:#fff8d5}.expand-label{font-size:13px;color:#52717c}.student[open] .expand-label{color:var(--ink)}.subjects{padding:0 20px 20px}table{width:100%;border-collapse:collapse;font-size:15px}th,td{text-align:right;padding:12px;border-bottom:1px solid var(--line)}th{background:#f5f7f8;color:var(--muted);font-weight:500}td:nth-child(n+2),th:nth-child(n+2){text-align:center}.empty{padding:40px 10px;text-align:center;color:var(--muted)}.pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:24px;font-size:14px}#status{color:#a52c2c;text-align:center;max-width:700px;margin:20px auto;min-height:28px}#status.loading{color:var(--muted)}
@media(max-width:760px){main{padding:24px 16px 40px}.topbar{padding:12px 20px}.page-heading{display:block}.account{max-width:none;justify-content:flex-start;margin-bottom:24px}h1{font-size:30px}.stats{gap:10px}.stats article{padding:16px 12px}.stats strong{font-size:28px}.stats span{font-size:12px}.toolbar{flex-wrap:wrap}.search{flex-basis:100%}.sort{flex:1;min-width:160px}.records-panel{padding:16px}.student summary{flex-wrap:wrap;gap:12px;padding:16px}.student-name{flex-basis:100%}.grade-pill{flex:1;min-width:85px}.expand-label{font-size:12px}.subjects{padding:0 10px 16px}.records-meta{flex-wrap:wrap}.login-card{margin:20px auto;padding:26px}.login-card h1{font-size:28px}}
@media(max-width:380px){.stats{grid-template-columns:1fr}.stats article{display:flex;justify-content:space-between;align-items:center}.stats strong{margin:0}.expand-label{flex-basis:100%}.toolbar button{width:100%}}
.admin-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 24px}.parent-record{display:flex;align-items:center;gap:20px;border:1px solid var(--line);border-radius:14px;padding:20px;margin:12px 0}.parent-email{overflow-wrap:anywhere;min-width:0;user-select:all}.parent-record .student-name{flex:1}@media(max-width:760px){.parent-record{flex-wrap:wrap;gap:14px}.parent-record .student-name{flex-basis:100%}.parent-email{flex:1}.admin-tabs button{flex:1}}
.grade-delete-button{margin-top:24px}
.admin-login-title{display:block;font-size:28px;line-height:1.4;color:var(--ink)}
.drive-toolbar,.drive-actions{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin-bottom:20px}.drive-toolbar label{flex:1;min-width:190px}.drive-toolbar input,.drive-toolbar select{margin-top:8px}.drive-actions label,.drive-recipient{display:flex;align-items:center;gap:10px}.drive-actions input,.drive-recipient input{width:20px;min-height:20px;flex-shrink:0}.drive-file{border:1px solid var(--line);border-radius:14px;padding:20px;margin:16px 0}.drive-file h3{overflow-wrap:anywhere;margin-top:0}.drive-request{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.drive-info{flex:1;min-width:0;overflow-wrap:anywhere}.drive-info small{display:block;color:var(--muted);margin-top:8px}.drive-info p{white-space:pre-wrap}@media(max-width:760px){.drive-request{flex-wrap:wrap}.drive-info{flex-basis:100%}.drive-request button{flex:1}.drive-toolbar button{width:100%}}
.file-drive-link{display:inline-block;margin:12px 0 20px;color:#12676b;font-weight:700}.file-access-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.file-access-row>span{flex:1;min-width:200px}.file-access-row>strong{background:#fff8d5;border-radius:8px;padding:6px 12px;font-size:14px}.file-access-row small{color:var(--muted)}.file-access-error{color:#a52c2c}.file-access-card summary .badge{flex-shrink:0}@media(max-width:760px){.file-access-row>span{flex-basis:100%;min-width:0}}
.topbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}html{color-scheme:light}input[type=checkbox]{accent-color:#168081}
html[data-theme=dark]{color-scheme:dark;--ink:#edf2f5;--muted:#adbcc6;--line:#35434e;--paper:#1b2630;--background:#111a22}
[data-theme=dark] .topbar,[data-theme=dark] .stats article,[data-theme=dark] .records-panel,[data-theme=dark] .secondary,[data-theme=dark] input,[data-theme=dark] select{background:var(--paper)}
[data-theme=dark] .secondary,[data-theme=dark] input,[data-theme=dark] select{border-color:#52616e}
[data-theme=dark] .badge,[data-theme=dark] .grade-pill.german,[data-theme=dark] .file-access-row>strong{background:#443b16;color:#ffe47a}
[data-theme=dark] .grade-pill,[data-theme=dark] th{background:#26333e}
[data-theme=dark] .primary{color:#172b36}
[data-theme=dark] .eyebrow,[data-theme=dark] .expand-label{color:#a2c7ce}
[data-theme=dark] .admin-login-title,[data-theme=dark] .student[open] .expand-label{color:var(--ink)}
[data-theme=dark] .file-drive-link{color:#7ee0dc}
[data-theme=dark] #status,[data-theme=dark] .file-access-error{color:#ffaaaa}
[data-theme=dark] #status.loading{color:var(--muted)}
[data-theme=dark] input::placeholder{color:#9eafba;opacity:1}
[data-theme=dark] input:focus,[data-theme=dark] select:focus,[data-theme=dark] button:focus-visible,[data-theme=dark] a:focus-visible,[data-theme=dark] .student summary:focus-visible{outline-color:#7ee0dc}
[data-theme=dark] input[type=checkbox]{accent-color:var(--yellow)}
[data-theme=dark] .topbar img{background:white;border-radius:8px;padding:4px}
@media(max-width:480px){.topbar-actions{gap:8px}.topbar-actions .badge{display:none}.topbar-actions button{padding:10px 12px;font-size:14px}}
.toolbar{flex-wrap:wrap}.toolbar .search{min-width:min(100%,240px)}
.whatsapp-link{display:inline-block;margin-top:8px;padding:9px 15px;background:#146c43;color:#fff;border-radius:10px;font-size:15px;font-weight:700;text-decoration:none}.whatsapp-link:hover{background:#105735}
