.major-selector{position:relative;width:300px;font-family:sans-serif}.dropdown-header{border:1px solid #ccc;padding:8px;border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#fff}.dropdown-list{position:absolute;top:100%;left:0;width:100%;max-height:200px;overflow-y:auto;border:1px solid #ccc;border-radius:4px;background-color:#fff;z-index:10;margin-top:2px;padding:4px 0}.dropdown-item{display:flex;align-items:center;padding:4px 8px;cursor:pointer}.dropdown-item input[type=checkbox]{margin-right:8px}.major-info .meta{font-size:12px;color:#666}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;margin:0;background:var(--bg);color:#0b0f16}.app{max-width:1100px;margin:24px auto;padding:20px}header h1{margin:0 0 6px}.major-selector .majors-grid{display:flex;flex-wrap:wrap;gap:10px}.major-card{padding:8px 10px;border-radius:8px;background:var(--card);box-shadow:0 1px 3px #0000000f}label{display:flex;align-items:center;gap:8px}label.checked .major-card{outline:2px solid #cfe0ff}.results{display:grid;grid-template-columns:1fr 360px;gap:18px;margin-top:18px}.table-wrap{overflow:auto;background:var(--card);padding:8px;border-radius:8px}table{width:100%;border-collapse:collapse}th,td{padding:6px 8px;border-bottom:1px solid #eee;text-align:left}.taken td{background:#eef9ee}.year{background:var(--card);padding:10px;border-radius:8px;margin-bottom:10px}footer{margin-top:24px;color:#4b5563}.form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.form-container{background:#fff;padding:2rem;border-radius:8px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:700}.form-group input{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:4px}.course-field{display:flex;gap:.5rem;margin-bottom:.5rem}.course-field input{flex:1}.form-buttons{display:flex;gap:1rem;margin-top:1.5rem}.form-buttons button{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer}.form-buttons button[type=submit]{background:#007bff;color:#fff}.form-buttons button[type=button]{background:#6c757d;color:#fff}.header-container{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.header-text{flex:2}.user-display{background:#f8f9fa;padding:12px;border-radius:8px;min-width:200px;max-width:250px;font-size:14px}.user-display h3{margin:0 0 8px;font-size:16px}.user-display p{margin:4px 0}.enter-info-btn{background:#1e40af;color:#fff;padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;margin:10px 0}.enter-info-btn:hover{background:#1e40af;transform:translateY(-2px);box-shadow:0 6px 8px #2563eb66}.download-btn{background:#1e40af;color:#fff;padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;margin:10px}.download-btn:hover{background:#1e40af;transform:translateY(-2px)}@media print{body *{visibility:hidden}.planner,.planner *{visibility:visible}.planner{position:absolute;left:0;top:0;width:100%;padding:20px}input[type=checkbox]:checked{background-color:#000!important}}.Banner img{width:150px;height:100px;margin:0}.Banner{background-color:#000b3f;margin:0;padding:0;display:flex}
