/* Shared ContactForm admin style: identical visual baseline across all admin views */

.contactform-admin .form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.contactform-admin .form-group-full {
    grid-column: 1 / -1;
}

.contactform-admin .form-group {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.contactform-admin .form-group input[type="text"],
.contactform-admin .form-group input[type="email"],
.contactform-admin .form-group input[type="url"],
.contactform-admin .form-group input[type="password"],
.contactform-admin .form-group input[type="number"],
.contactform-admin .form-group select,
.contactform-admin .form-group textarea {
    width: 100%;
}

.contactform-admin .text-muted {
    color: var(--text-light);
}

.contactform-admin .alert {
    padding: 10px 14px;
    border-radius: 8px;
    margin-bottom: 14px;
    border: 1px solid var(--border);
}

.contactform-admin .alert-success {
    background: #ecf9ef;
    border-color: #c9eacb;
    color: #1f6f37;
}

.contactform-admin .alert-danger {
    background: #fff1f1;
    border-color: #f2caca;
    color: #8f1f1f;
}

.contactform-admin .contactform-admin-nav-box {
    margin-bottom: 1rem;
}

html[data-theme="dark"] .contactform-admin .alert-success {
    background: #1d2f22;
    border-color: #2e4a36;
    color: #7cd992;
}

html[data-theme="dark"] .contactform-admin .alert-danger {
    background: #3a1f1f;
    border-color: #5a2b2b;
    color: #ff8f8f;
}

.contactform-admin .table-responsive {
    overflow-x: auto;
}

.contactform-admin .fields-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.contactform-admin .field-item {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--bg-light);
}

.contactform-admin .field-info {
    flex: 1;
}

.contactform-admin .submission-data {
    display: grid;
    gap: 12px;
}

.contactform-admin .data-item {
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--bg-light);
}

.contactform-admin .data-label {
    margin-bottom: 6px;
}

.contactform-admin .data-value {
    overflow-wrap: anywhere;
}

.contactform-admin .pagination {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 12px;
}

.contactform-admin .cf-row-between {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.contactform-admin .cf-fields-builder {
    display: grid;
    gap: 12px;
}

.contactform-admin .cf-field-row {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--bg-light);
    padding: 12px;
}

.contactform-admin .cf-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.contactform-admin .cf-field-controls {
    display: flex;
    align-items: end;
    justify-content: space-between;
}

.contactform-admin .cf-hidden {
    display: none;
}

.contactform-admin .cf-field-form-box {
    margin-bottom: 2rem;
    padding: 1rem;
    background: #f9f9f9;
    border-radius: 4px;
}

.contactform-admin .cf-required-flag {
    color: #d32f2f;
}

.contactform-admin .cf-empty-note {
    text-align: center;
    color: #999;
}

.contactform-public {
    width: 100%;
    max-width: none;
    margin: 0;
}

.contactform-public .contactform-public-card {
    padding: 1.25rem;
}

.contactform-public .content-header {
    display: block;
    margin-bottom: 1rem;
}

.contactform-public .content-header h2 {
    margin-bottom: 0.5rem;
}

.contactform-public .content-header .text-muted {
    display: block;
    margin: 0;
}

.contactform-public .contact-form {
    display: grid;
    gap: 14px;
}

.contactform-public .form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.contactform-public .form-group input,
.contactform-public .form-group textarea,
.contactform-public .form-group select {
    width: 100%;
}

.contactform-public .required-marker {
    color: #b21818;
}

.contactform-public .field-description {
    color: var(--text-light);
    font-size: 0.9em;
}

.contactform-public .field-error {
    color: #b21818;
    font-size: 0.9em;
}

.contactform-public .checkbox-group {
    display: grid;
    gap: 6px;
}

.contactform-public .checkbox-label {
    display: flex;
    align-items: center;
    gap: 6px;
}

@media (max-width: 900px) {
    .contactform-admin .form-grid,
    .contactform-admin .cf-field-grid {
        grid-template-columns: 1fr;
    }
}
