:root{--bg-color: #f0f4f8;--card-bg-color: #ffffff;--primary-text-color: #102a43;--secondary-text-color: #486581;--accent-color: #3b82f6;--accent-color-hover: #2563eb;--border-color: #dbe2e9;--error-color: #dc2626;--success-color: #16a34a;--shadow-color: rgba(0, 0, 0, .1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Roboto,sans-serif;background-color:var(--bg-color);color:var(--primary-text-color);display:flex;justify-content:center;align-items:flex-start;min-height:100vh;padding:1rem}#root{width:100%;max-width:600px}.app-container{background-color:var(--card-bg-color);padding:2rem;border-radius:12px;box-shadow:0 4px 12px var(--shadow-color)}.header{text-align:center;margin-bottom:2rem;border-bottom:1px solid var(--border-color);padding-bottom:1.5rem}.header h1{font-size:1.75rem;color:var(--primary-text-color);margin-bottom:.5rem;text-transform:uppercase}.header h2{font-size:1.2rem;font-weight:500;color:var(--secondary-text-color);margin-top:-.25rem;margin-bottom:1rem}.header p{font-size:1.1rem;color:var(--secondary-text-color)}.attendance-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:var(--primary-text-color)}.form-group-subtitle{font-weight:700;color:var(--accent-color);font-size:1.05rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;font-family:Roboto,sans-serif;transition:border-color .3s,box-shadow .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #3b82f64d}.form-group textarea{resize:vertical;min-height:80px}.number-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem}.submit-btn{padding:.8rem 1.5rem;background-color:var(--accent-color);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background-color .3s;width:100%;margin-top:1rem}.submit-btn:hover{background-color:var(--accent-color-hover)}.submit-btn:disabled{background-color:#94a3b8;cursor:not-allowed}.success-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#102a4399;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.success-modal{background-color:var(--card-bg-color);padding:2.5rem;border-radius:12px;text-align:center;box-shadow:0 5px 20px #0003;width:90%;max-width:400px}.success-modal h3{color:var(--success-color);font-size:1.5rem;margin-bottom:1rem}.success-modal p{color:var(--primary-text-color);font-size:1.1rem}.confirmation-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#102a4399;display:flex;justify-content:center;align-items:center;z-index:1500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirmation-modal{background-color:var(--card-bg-color);padding:2.5rem;border-radius:12px;text-align:center;box-shadow:0 5px 20px #0003;width:90%;max-width:400px;display:flex;flex-direction:column;gap:1rem}.confirmation-modal h3{color:var(--primary-text-color);font-size:1.3rem;margin-bottom:.5rem}.confirm-class-name{font-size:2.5rem;font-weight:700;color:var(--error-color);margin:.5rem 0 1.5rem}.confirmation-actions{display:flex;justify-content:space-between;gap:1rem;width:100%}.confirmation-actions button{flex:1;padding:.7rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:background-color .3s,transform .2s}.confirmation-actions button:hover:not(:disabled){transform:translateY(-2px)}.btn-cancel{background-color:#f1f5f9;color:var(--secondary-text-color);border:1px solid var(--border-color)}.btn-cancel:hover:not(:disabled){background-color:#e2e8f0}.btn-confirm{background-color:var(--accent-color);color:#fff}.btn-confirm:hover:not(:disabled){background-color:var(--accent-color-hover)}.confirmation-actions button:disabled{background-color:#94a3b8;cursor:not-allowed;color:#e2e8f0}.firewall-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#102a43cc;display:flex;justify-content:center;align-items:center;z-index:2000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:1rem}.firewall-modal{background-color:var(--card-bg-color);padding:2.5rem;border-radius:12px;text-align:center;box-shadow:0 5px 20px #00000040;width:100%;max-width:420px;display:flex;flex-direction:column;gap:1rem}.firewall-modal h3{color:var(--primary-text-color);font-size:1.5rem;margin-bottom:.5rem}.firewall-modal p{color:var(--secondary-text-color);font-size:1rem;line-height:1.5;margin-bottom:1rem}.firewall-modal .form-group{margin-bottom:.5rem}.firewall-modal .submit-btn{margin-top:.5rem}.error-message{color:var(--error-color);font-size:.9rem;font-weight:500;margin-top:-.5rem;margin-bottom:.5rem}@media(max-width:480px){.app-container{padding:1.5rem}.header h1{font-size:1.5rem}.header h2{font-size:1.1rem}.header p{font-size:1rem}.success-modal,.firewall-modal,.confirmation-modal{padding:2rem 1.5rem}}
