:root{--primary:#2e7d32; --on-primary:#ffffff; --surface:#f9fefb; --surface-container:#ffffff; --outline:#d1d1d1; --shadow:rgba(0, 0, 0, 0.15); --radius:18px; --gradient:linear-gradient(135deg, #e0f2f1, #c8e6c9)}*{box-sizing:border-box; font-family:'Segoe UI', 'Roboto', sans-serif; margin:0; padding:0}.hidden{display:none}body{background:var(--gradient); min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px}.card{background:var(--surface-container); border-radius:var(--radius); box-shadow:0 8px 20px var(--shadow); padding:48px; max-width:550px; width:100%; animation:fadeIn 0.6s ease; position:relative}.logo{display:block; margin:0 auto 20px; width:120px; height:120px; border-radius:50%; object-fit:cover; box-shadow:0 4px 14px rgba(0, 100, 0, 0.25)}.school-name, .school-address, .contact-bar{text-align:center}.school-name{color:var(--primary); font-size:1.4rem; font-weight:700; margin-bottom:4px}.school-address{font-size:0.95rem; color:#555; margin-bottom:10px}.contact-bar{font-size:0.9rem; color:#666; margin-bottom:24px}.contact-bar span{display:block; margin:4px 0}h2{text-align:center; font-size:1.5rem; font-weight:600; color:#1b5e20; margin:24px 0 16px}label{font-size:0.95rem; font-weight:500; margin-bottom:6px; display:block; color:#333}input, select{width:100%; padding:14px; border-radius:12px; border:1px solid var(--outline); background-color:#fff; font-size:1rem; transition:border 0.3s ease; margin-bottom:20px}input:focus, select:focus{outline:none; border:2px solid var(--primary)}button{width:100%; padding:16px; background-color:var(--primary); color:var(--on-primary); font-weight:bold; border:none; border-radius:100px; font-size:1rem; cursor:pointer; transition:background 0.25s ease}button:hover{background-color:#1b5e20}.footer{margin-top:32px; text-align:center; font-size:0.8rem; color:#aaa}.spinner{width:48px; height:48px; border:5px solid #e0f2e9; border-top:5px solid var(--primary); border-radius:50%; animation:spin 1s linear infinite; margin:20px auto}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#checkResultBtn.hidden, #loadingSpinner.hidden{display:none}.notification-overlay{position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0, 0, 0, 0.6); display:none; justify-content:center; align-items:center; z-index:999}.notification{background:white; padding:30px; border-radius:12px; text-align:center; box-shadow:0 10px 20px rgba(0,0,0,0.2); max-width:350px; width:90%; position:relative}.close-captcha{position:absolute; top:8px; right:8px; background:transparent; border:none; font-size:22px; cursor:pointer; line-height:1}#captchaText{background:linear-gradient(135deg, #f5f7fa, #c3cfe2); padding:15px; border-radius:5px; font-size:24px; letter-spacing:5px; margin:20px 0; font-weight:bold; user-select:none; display:inline-block}#captchaInput{width:100%; padding:10px; font-size:16px; text-align:center; font-family:'Courier New', monospace; border:2px solid #ddd; border-radius:5px; margin-bottom:10px}.button-group{display:flex; justify-content:space-between; margin-top:10px}.button-group button{flex:1; margin:0 4px; padding:10px 20px; border:none; border-radius:6px; cursor:pointer; font-weight:bold}.button-group button:last-child{background-color:#2e7d32; color:white}#captchaError{color:red; font-size:0.9rem; display:none}