:root{--green:#1f5f3b;--green2:#2f7d4f;--bg:#f5f7f6;--text:#17231b;--muted:#667085;--border:#e4e7ec}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}
header{background:linear-gradient(135deg,var(--green),#123b25);color:#fff;padding:28px 20px}.wrap{max-width:1120px;margin:auto;padding:0 18px}
h1{margin:0 0 6px;font-size:29px}h2{margin:0 0 12px}.card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:22px;margin:20px 0;box-shadow:0 3px 12px #1018280b}
.hero{display:flex;justify-content:space-between;align-items:center;gap:20px}.hero select{max-width:220px}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--green);margin-bottom:6px}.muted{color:var(--muted);font-size:14px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat{background:#eef6f0;border-radius:12px;padding:15px;text-align:center}.stat strong{display:block;color:var(--green);font-size:24px}.stat span{font-size:11px;color:var(--muted)}
.current-text{font-size:18px;line-height:1.5;margin-top:12px}.badge,.pill{display:inline-block;padding:5px 9px;border-radius:20px;font-size:11px;font-weight:800}.pill{background:#eef6f0;color:var(--green)}.exam{background:#fff4cc;color:#7a5b00}.next{background:#e8eefc;color:#344054}
.row{display:grid;grid-template-columns:105px 1fr;gap:18px;padding:15px 0;border-bottom:1px solid #eaecf0}.date{font-weight:800}.note{margin-top:7px;padding:8px;background:#f8faf9;border-left:3px solid var(--green);font-size:13px}.badges{margin-top:7px}
.section-head,.top-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.top-actions{margin:18px 0}.top-actions form{margin:0}
a{color:var(--green);font-weight:700}.button,button{border:0;border-radius:9px;padding:10px 13px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}.primary{background:var(--green);color:#fff;width:auto}.secondary{background:#eef2f1;color:var(--text)}.danger{background:#fee4e2;color:#b42318}
label{display:block;font-weight:700;font-size:13px;margin:10px 0 6px}input,select,textarea{width:100%;padding:11px;border:1px solid #d0d5dd;border-radius:9px;font:inherit}textarea{min-height:85px;resize:vertical}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.full{grid-column:1/-1}.checks{display:flex;gap:20px;flex-wrap:wrap}.checks label{font-weight:400}.checks input{width:auto;margin-right:6px}
.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:900px}th,td{padding:11px;border-bottom:1px solid #eaecf0;text-align:left;vertical-align:top;font-size:13px}th{color:var(--muted);font-size:11px;text-transform:uppercase}
.login{max-width:480px;margin:70px auto;padding:18px}.login hr{border:0;border-top:1px solid #eaecf0;margin:20px 0}.login .primary{width:100%;margin-top:15px}.error{background:#fee4e2;color:#b42318;padding:10px;border-radius:9px;margin-bottom:12px}.notice{background:#e8f3eb;color:var(--green);padding:12px;border-radius:9px;margin-bottom:12px}.empty{padding:30px;text-align:center;color:var(--muted)}
footer{text-align:center;padding:25px;color:var(--muted);font-size:12px}
@media(max-width:720px){.hero,.section-head{display:block}.hero select{max-width:none;margin-top:15px}.stats{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.row{grid-template-columns:1fr;gap:5px}.top-actions{align-items:stretch}.top-actions>*{flex:1}}


.topic-status{display:grid;gap:10px}
.topic-status-row{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:14px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}
.topic-number{font-weight:800;color:#0f766e}
@media(max-width:700px){.topic-status-row{grid-template-columns:1fr}.topic-row{grid-template-columns:1fr!important}.topic-row>div:last-child{padding-top:0!important}}

.assignment{margin-top:8px;padding:10px 12px;border-left:4px solid #14b8a6;background:#f0fdfa;border-radius:8px;color:#134e4a;line-height:1.5;}
.syllabus-box{padding:14px 16px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc;}
