/* Shared Nannovative surfaces. Public flow uses restrained, explicit classes. */
.nv-card,
.nv-card-glass,
.admin-panel,
.metric,
.login-panel,
.image-tile,
.kv,
.table-wrap {
    border: 1px solid var(--nv-border, rgba(255, 255, 255, .16));
    border-radius: 0;
    background: #141414;
    box-shadow: none;
}

.nv-card,
.nv-card-glass,
.admin-panel,
.metric,
.login-panel,
.image-tile,
.kv {
    transition:
        border-color var(--nv-transition-card, 400ms ease),
        background var(--nv-transition-card, 400ms ease),
        transform var(--nv-transition-card, 400ms ease);
}

.nv-card:hover,
.admin-panel:hover,
.metric:hover,
.image-tile:hover {
    border-color: var(--nv-border-strong, rgba(255, 255, 255, .28));
    background: #161616;
    box-shadow: none;
    transform: none;
}

/* Public experience surfaces are deliberately lighter than admin cards. */
.camera-frame {
    border: 1px solid var(--nv-border, rgba(255, 255, 255, .16));
    border-radius: 0;
    background: #0b0b0b;
    box-shadow: none;
    backdrop-filter: none;
}

.send-details-panel,
.quiz-panel,
.quiz-report,
.generation-list {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

/* Explicit form controls. Avoid styling every input/table in the application. */
.nv-input,
.nv-select,
.nv-textarea,
.field-group input,
.field-group select,
.field-group textarea,
.send-details-panel input,
.send-details-panel select,
.send-details-panel textarea,
.content-setting-field input,
.content-setting-field select,
.content-setting-field textarea,
.content-search input {
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 0;
    background: #0b0b0b;
    color: var(--nv-text, #fff);
    box-shadow: none;
    transition: border-color var(--nv-transition, 300ms ease), box-shadow var(--nv-transition, 300ms ease);
}

.nv-input:focus,
.nv-select:focus,
.nv-textarea:focus,
.field-group input:focus,
.field-group select:focus,
.field-group textarea:focus,
.send-details-panel input:focus,
.send-details-panel select:focus,
.send-details-panel textarea:focus,
.content-setting-field input:focus,
.content-setting-field select:focus,
.content-setting-field textarea:focus,
.content-search input:focus {
    border-color: var(--nv-accent, #0ABAB5);
    box-shadow: 0 0 0 2px rgba(10, 186, 181, .10);
    outline: none;
}

.nv-table,
.table-wrap table {
    background: #101010;
}

.table-wrap tbody tr {
    transition: background var(--nv-transition, 300ms ease);
}

.table-wrap tbody tr:hover {
    background: rgba(255, 255, 255, .035);
}
