/* CSV User Directory — front-end search widget */

#cud-search-app { font-family: inherit; }

/* ── Form ── */
.cud-form {
    background: #f6f7f8;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 20px;
    margin-bottom: 24px;
}

.cud-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 14px;
    align-items: end;
}

@media (max-width: 780px) {
    .cud-form-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
    .cud-form-grid { grid-template-columns: 1fr; }
}

.cud-field label {
    display: block;
    font-weight: 600;
    font-size: .875rem;
    margin-bottom: 4px;
}

.cud-field input,
.cud-field select {
    width: 100%;
    padding: 8px 10px;
    font-size: 1rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
    background: #fff;
}

.cud-field input:focus,
.cud-field select:focus {
    outline: none;
    border-color: #0073aa;
    box-shadow: 0 0 0 2px rgba(0,115,170,.15);
}

/* Dollar-sign prefix on amount inputs */
.cud-input-prefix-wrap {
    position: relative;
    display: flex;
    align-items: center;
}
.cud-input-prefix {
    position: absolute;
    left: 10px;
    color: #666;
    font-size: 1rem;
    pointer-events: none;
    line-height: 1;
}
.cud-input-prefix-wrap input {
    padding-left: 22px;
}

/* ── Buttons ── */
.cud-form-actions { margin-top: 16px; display: flex; gap: 8px; }

.cud-btn {
    padding: 9px 22px;
    border: 1px solid #aaa;
    border-radius: 4px;
    background: #f0f0f0;
    cursor: pointer;
    font-size: 1rem;
    line-height: 1.4;
}
.cud-btn--primary {
    background: #0073aa;
    color: #fff;
    border-color: #005d8c;
}
.cud-btn--primary:hover { background: #005d8c; }
.cud-btn:not(.cud-btn--primary):hover { background: #e2e2e2; }

/* ── Results meta ── */
.cud-results-meta {
    font-size: .875rem;
    color: #555;
    margin-bottom: 8px;
}

/* Responsive table scroll on small screens */
.cud-results { overflow-x: auto; }

/* ── Pagination ── */
.cud-pagination {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 16px;
    align-items: center;
}
.cud-page-btn {
    padding: 6px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    font-size: .875rem;
    line-height: 1.4;
}
.cud-page-btn.active {
    background: #0073aa;
    color: #fff;
    border-color: #0073aa;
    cursor: default;
}
.cud-page-btn:disabled { opacity: .4; cursor: default; }

/* ── States ── */
.cud-loading   { font-style: italic; color: #555; padding: 16px 0; }
.cud-no-results { color: #555; padding: 16px 0; }
