:root{--navy: #FA475C;--blue: #fb6879;--bg: #DBD9D7;--border: #c5c3c2;--grey: #5a6b87;--green: #1e7e34;--red: #b3261e}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:#1a1f2b}.hidden{display:none!important}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--navy),var(--blue))}.login-card{background:#fff;padding:40px;border-radius:10px;width:340px;box-shadow:0 10px 30px #00000040}.login-card h1{font-size:20px;color:var(--navy);margin:0 0 2px}.login-card .subtitle{color:var(--grey);margin:0 0 20px;font-size:13px}.login-card label{display:block;font-size:13px;margin-bottom:12px;color:#333}.login-card input{width:100%;padding:8px 10px;margin-top:4px;border:1px solid var(--border);border-radius:6px;font-size:14px}.login-card button{width:100%;padding:10px;background:var(--navy);color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;margin-top:6px}.login-card button:hover{background:var(--blue)}.error-text{color:var(--red);font-size:13px;min-height:18px}.hint{font-size:11px;color:var(--grey);text-align:center;margin-top:16px}.topbar{display:flex;align-items:center;gap:20px;background:var(--navy);color:#fff;padding:10px 20px;flex-wrap:wrap}.brand{font-weight:700;font-size:15px;white-space:nowrap}.tabs{display:flex;gap:4px;flex:1;flex-wrap:wrap}.tabs button{background:transparent;border:none;color:#ffd7dc;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:13px}.tabs button:hover{background:#ffffff1a;color:#fff}.tabs button.active{background:#fff;color:var(--navy);font-weight:700}.user-box{display:flex;align-items:center;gap:10px;font-size:13px}.badge{background:#ffffff26;padding:3px 8px;border-radius:10px;font-size:11px;text-transform:uppercase}.link-btn{background:none;border:1px solid rgba(255,255,255,.4);color:#fff;padding:5px 10px;border-radius:6px;cursor:pointer;font-size:12px}.link-btn:hover{background:#ffffff26}.content{padding:24px;max-width:1200px;margin:0 auto}.panel{background:#fff;border:1px solid var(--border);border-radius:8px;padding:20px;margin-bottom:20px}.panel h2{margin-top:0;color:var(--navy);font-size:17px}.panel h3{color:var(--blue);font-size:14px;margin:18px 0 8px}.row{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start}.col{flex:1;min-width:280px}table{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}th{background:#fff6f7;color:var(--navy);font-size:12px;text-transform:uppercase}tr.clickable{cursor:pointer}tr.clickable:hover{background:#fff9fa}td.clickable{cursor:pointer;color:var(--blue);text-decoration:underline}td.clickable:hover{color:var(--navy)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:10px}.form-grid label{font-size:12px;color:var(--grey);display:block}.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:7px 8px;border:1px solid var(--border);border-radius:5px;margin-top:3px;font-size:13px}button.primary{background:var(--navy);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;margin-top:10px}button.primary:hover{background:var(--blue)}button.small{padding:4px 10px;font-size:12px}button.primary.danger{background:#b3261e}button.primary.danger:hover{background:#8f1e18}button+button{margin-left:6px}select.status-select{padding:4px;border-radius:4px;border:1px solid var(--border)}.search-multiselect-option:hover{background:#fff2f3}.pill{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700}.pill.core{background:#ffedef;color:var(--navy)}.pill.elective{background:#fdf1e0;color:#8a5a12}.pill.present{background:#e5f4e9;color:var(--green)}.pill.absent{background:#fbe9e8;color:var(--red)}.pill.late{background:#fff6de;color:#8a6d12}.pill.excused{background:#eee;color:#555}.pill.skill_lab{background:#e6f4f1;color:#146c5c}.pill.knowledge_series{background:#f0e8fa;color:#5b2e8c}.muted{color:var(--grey);font-size:12.5px}.empty{color:var(--grey);font-style:italic;padding:12px 0}.grade-final{font-size:28px;font-weight:700;color:var(--navy)}.subject-list{list-style:none;padding:0;margin:0}.subject-list li{padding:8px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between}
