/* General styles */
.ksm-login-container, .ksm-admission-container, .ksm-submitted-container {
    max-width: 1200px;
    margin: 20px auto;
    padding: 20px;
}

.ksm-login-box, .ksm-admission-box, .ksm-submitted-box {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.ksm-login-field, .ksm-form-field {
    margin-bottom: 15px;
}

.ksm-login-field input, .ksm-form-field input, .ksm-form-field select, .ksm-form-field textarea {
    width: 100%;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.ksm-form-row {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.ksm-form-field {
    flex: 1;
    min-width: 200px;
}

.ksm-form-field label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

.ksm-form-field .required {
    color: red;
}

.ksm-file-name {
    display: block;
    font-size: 0.9em;
    color: #555;
    margin-top: 5px;
}

.ksm-table-wrapper {
    overflow-x: auto;
}

.ksm-submitted-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}

.ksm-submitted-table th, .ksm-submitted-table td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: left;
}

.ksm-submitted-table th {
    background: #f4f4f4;
}

.ksm-login-message, .ksm-admission-message, .ksm-submitted-message, .ksm-update-message {
    margin: 10px 0;
    padding: 10px;
    border-radius: 4px;
}

.ksm-login-message.error, .ksm-admission-message.error, .ksm-submitted-message.error, .ksm-update-message.error {
    background: #ffe6e6;
    color: #d8000c;
}

.ksm-login-message.success, .ksm-admission-message.success, .ksm-submitted-message.success, .ksm-update-message.success {
    background: #e6ffe6;
    color: #270;
}

/* Gradient button styles for all buttons */
button, .button, input[type="submit"], input[type="button"], .ksm-action-button, #ksm_login_button, #ksm_submit_button, #ksm_update_button, #ksm_delete_single_button, #ksm_toggle_password {
    background: linear-gradient(45deg, #ff6200, #ffd700, #00b7eb, #87ceeb);
    color: #fff;
    border: none;
    padding: 8px 15px;
    border-radius: 5px;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
    overflow: hidden;
    font-size: 0.9em;
}

button:hover, .button:hover, input[type="submit"]:hover, input[type="button"]:hover, .ksm-action-button:hover, #ksm_login_button:hover, #ksm_submit_button:hover, #ksm_update_button:hover, #ksm_delete_single_button:hover, #ksm_toggle_password:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

button::before, .button::before, input[type="submit"]::before, input[type="button"]::before, .ksm-action-button::before, #ksm_login_button::before, #ksm_submit_button::before, #ksm_update_button::before, #ksm_delete_single_button::before, #ksm_toggle_password::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, transparent, rgba(255,255,255,0.3), transparent);
    transition: left 0.5s ease;
}

button:hover::before, .button:hover::before, input[type="submit"]:hover::before, input[type="button"]:hover::before, .ksm-action-button:hover::before, #ksm_login_button:hover::before, #ksm_submit_button:hover::before, #ksm_update_button:hover::before, #ksm_delete_single_button:hover::before, #ksm_toggle_password:hover::before {
    left: 100%;
}

/* Action buttons container */
.ksm-action-buttons {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
    justify-content: flex-start;
}

/* Small-sized action buttons */
.ksm-action-button {
    padding: 8px 15px;
    font-size: 0.9em;
}