/* --- Form Styles --- */
#om-form-wrapper { max-width: 600px; margin: 20px auto; padding: 20px; border: 1px solid #ddd; border-radius: 5px; background: #f9f9f9; }
#om-form-wrapper p { margin-bottom: 15px; }
#om-form-wrapper label { display: block; margin-bottom: 5px; font-weight: bold; }
#om-form-wrapper input[type="text"], #om-form-wrapper select, #om-form-wrapper textarea { width: 100%; padding: 8px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; }
#om-form-wrapper .required { color: red; }
#om-form-wrapper input[type="submit"] { background: #0073aa; color: white; border: none; padding: 10px 20px; cursor: pointer; border-radius: 4px; }
#om-form-wrapper input[type="submit"]:hover { background: #0085ba; }
.om-success-message { border: 1px solid #4CAF50; background-color: #dff0d8; color: #3c763d; padding: 15px; margin-bottom: 20px; }
.om-error-message { border: 1px solid #f44336; background-color: #f2dede; color: #a94442; padding: 15px; margin-bottom: 20px; }

/* --- Accordion Styles --- */
.om-accordion-wrapper { margin: 20px 0; }
.om-accordion-item, .om-accordion-item-inner { margin-bottom: 5px; border: 1px solid #e5e5e5; }
.om-accordion-header, .om-accordion-header-inner { background: #f5f5f5; padding: 10px 15px; cursor: pointer; font-weight: bold; border-bottom: 1px solid #e5e5e5; }
.om-accordion-header:hover, .om-accordion-header-inner:hover { background: #eee; }
/* Changed display to none to be closed by default */
.om-accordion-content, .om-accordion-content-inner { display: none; padding: 15px; border-top: 1px solid #e5e5e5; } 
.om-accordion-item > .om-accordion-content { padding-left: 25px; } /* Indent inner items */
.om-accordion-item-inner { background: #fafafa; }
.om-accordion-content-inner table { width: 100%; border-collapse: collapse; }
.om-accordion-content-inner table td { padding: 8px; border-bottom: 1px solid #ddd; display: block; } /* Stack cells on smaller screens */
.om-no-info { color: #888; font-style: italic; }

@media (min-width: 600px) {
    .om-accordion-content-inner table td { display: table-cell; } /* Revert to table display on wider screens */
}

/* --- Styles for Advanced Server-Side Search Form --- */
#om-search-wrapper form {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: flex-end;
    margin-bottom: 20px;
    padding: 20px;
    background: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 5px;
}

.om-search-field-group {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    flex-grow: 1;
}

.om-search-field-group select,
.om-search-field-group input[type="text"] {
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    min-width: 180px;
    flex-grow: 1;
}

.om-search-button-group {
    display: flex;
    gap: 10px;
}

#om-search-wrapper button {
    padding: 10px 20px;
    background-color: #0073aa;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    white-space: nowrap;
}
#om-search-wrapper button:hover {
    background-color: #0085ba;
}

#om-search-wrapper .om-clear-search {
    padding: 10px 15px;
    color: #a00;
    text-decoration: none;
    border: 1px solid #ddd;
    background: #fff;
    border-radius: 4px;
    white-space: nowrap;
}
#om-search-wrapper .om-clear-search:hover {
    background: #f5f5f5;
    text-decoration: none;
}