.searchable-select{position:relative;width:100%;margin-bottom:20px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}.searchable-select .select-trigger{position:relative;display:flex;align-items:center;min-height:38px;padding:8px 12px;background:#fff;border:1px solid #ccc;border-radius:5px;cursor:pointer;transition:all .2s ease}.searchable-select .select-trigger:hover{border-color:#0095b3;box-shadow:0 2px 4px rgba(0,149,179,.1)}.searchable-select .select-trigger.is-open{border-color:#0095b3;box-shadow:0 4px 8px rgba(0,0,0,.1);border-radius:5px 5px 0 0}.searchable-select .select-content{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.searchable-select .selected-option{flex:1;color:#333;font-size:15px;font-weight:500;line-height:1.4}.searchable-select .placeholder{color:#757575;font-size:15px}.searchable-select .clear-button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:#f5f5f5;border:none;border-radius:50%;color:#666;font-size:18px;cursor:pointer;transition:all .2s ease}.searchable-select .clear-button:hover{background:#e0e0e0;color:#333}.searchable-select .dropdown{position:absolute;top:100%;left:0;width:100%;background:#fff;border-top:none;border-radius:0 0 5px 5px;box-shadow:0 4px 8px rgba(0,0,0,.1);z-index:1000}.searchable-select .search-wrapper{padding:8px;border-bottom:1px solid #e0e0e0}.searchable-select .search-input{width:100%;padding:8px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;background:#f8f9fa;transition:all .2s ease}.searchable-select .search-input:focus{outline:0;border-color:#0095b3;background:#fff;box-shadow:0 0 0 3px rgba(0,149,179,.1)}.searchable-select .options-list{max-height:240px;margin:0;padding:4px 0;list-style:none;overflow-y:auto}.searchable-select .option-item{padding:8px 12px;cursor:pointer;transition:all .15s ease}.searchable-select .option-item:hover{background:#f0f7f9}.searchable-select .option-item.is-selected{background:#e6f3f7;font-weight:500}.searchable-select .course-info{display:flex;flex-direction:column;gap:2px}.searchable-select .course-name{color:#333;font-size:14px;line-height:1.4}.searchable-select .course-shortname{font-size:12px;color:#666}.searchable-select .no-results{padding:12px;color:#666;text-align:center;font-style:italic}.searchable-select .options-list::-webkit-scrollbar{width:8px}.searchable-select .options-list::-webkit-scrollbar-track{background:#f5f5f5;border-radius:4px}.searchable-select .options-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.searchable-select .options-list::-webkit-scrollbar-thumb:hover{background:#999}@media (max-width:768px){.searchable-select .dropdown{position:fixed;top:auto;left:5%;width:90%;margin:0;border:1px solid #0095b3;border-radius:5px;box-shadow:0 4px 12px rgba(0,0,0,.15)}}@media (max-width:480px){.searchable-select .select-trigger{min-height:42px}.searchable-select .search-input{padding:10px 12px}.searchable-select .option-item{padding:12px}.searchable-select .clear-button{width:28px;height:28px;font-size:20px}}body{font-family:Arial,sans-serif}.dashboard-container,.login-container{width:90%;max-width:500px;margin:20px auto;padding:20px;border:1px solid #ccc;border-radius:5px;box-shadow:0 0 10px rgba(0,0,0,.1)}.logo{float:left;margin-right:20px}.logo img{width:100px}.header{display:flex;align-items:center;margin-bottom:20px}.header h2{margin:0;flex-grow:1}h1,h2{margin:0}form div{margin-bottom:10px}input[type=password],input[type=text],textarea{width:100%;padding:8px;box-sizing:border-box}textarea{height:100px}button{width:100%;padding:10px;background-color:#0095b3;color:#fff;border:none;border-radius:5px;cursor:pointer}.error-message{color:red;margin-top:10px;text-align:center}.logout-link{color:#0095b3;text-decoration:none;cursor:pointer;display:flex;align-items:center}.logout-link:hover{text-decoration:underline}.logout-icon{margin-left:5px}@media (max-width:768px){.dashboard-container,.login-container{width:95%;padding:15px}.header{flex-direction:column;align-items:flex-start}.logo{margin-bottom:10px}.header h1,.header h2{text-align:center;width:100%}}@media (max-width:480px){.logo img{width:80px}textarea{height:80px}}select{width:100%;padding:8px;margin-bottom:10px;box-sizing:border-box}.radio-group{margin-bottom:10px}.radio-group label{display:block;margin-bottom:5px}.button-container{display:flex;justify-content:center;align-items:center;margin-top:20px}button[type=submit]{width:150px;padding:10px;background-color:#0095b3;color:#fff;border:none;border-radius:5px;cursor:pointer}button[type=submit]:hover{background-color:#007a94}button[type=submit]:disabled{background-color:#ccc;cursor:not-allowed}.spinner{border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;width:24px;height:24px;animation:spin 1s linear infinite;margin-left:10px;flex-shrink:0;float:right;margin-top:-24px}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.dashboard-container form>div:first-of-type{margin-bottom:20px}.dashboard-container form label{display:block;margin-bottom:8px;font-weight:500;color:#333}.radio-group{margin-left:2px}