/* UserConfiguration.css - Cognito user admin styles */

/* Module layout */

/* The module wrapper this file used to style is retired: the sub-tab bar and the panel
   are siblings on the page now, so the stack owns the gap and the platform one-panel
   rule (Panel.css) gives the panel the tab height. */

.user-config-sub-tabs {
    padding-bottom: var(--space-2);
}

/* Form layout */

.user-config-form {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.user-config-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-3);
    align-items: start;
}

/* Account status section */

.user-status-section {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding-top: var(--space-2);
    border-top: var(--border-width-1) solid var(--border-subtle);
}

.user-status-label {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--text-primary);
}

/* Scope Selector */

.scope-selector-wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.scope-description {
    font-size: var(--text-xs);
    color: var(--text-muted);
}

/* Tab Access Picker */

.user-config-permissions {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.perm-grid-actions {
    display: flex;
    gap: var(--space-2);
}

.tab-access-list {
    max-height: 300px;
    overflow-y: auto;
    border: var(--border-width-1) solid var(--border-subtle);
    border-radius: var(--border-radius-md);
}

.tab-access-row {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-1) var(--space-3);
    border-bottom: var(--border-width-1) solid var(--border-subtle);
}

.tab-access-row:last-child {
    border-bottom: none;
}

.tab-access-row:hover {
    background: var(--bg-layer-3);
}

.tab-access-check {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    cursor: pointer;
    flex: 1;
}

.tab-access-check input[type="checkbox"] {
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: var(--color-primary);
}

.tab-access-label {
    font-size: var(--text-sm);
    color: var(--text-body);
}

.tab-access-level {
    font-size: var(--text-sm);
    padding: var(--space-1) var(--space-2);
    border: var(--border-width-1) solid var(--border-subtle);
    border-radius: var(--border-radius-sm);
    background: var(--bg-layer-1);
    color: var(--text-body);
    cursor: pointer;
    width: 70px;
    flex-shrink: 0;
}

.tab-access-level:disabled {
    opacity: 0.4;
    cursor: default;
}

/* Full Access Badge */

.perm-full-access-badge {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3);
    background: var(--bg-success-subtle, var(--color-success-light));
    border-radius: var(--border-radius-md);
}

.perm-full-access-hint {
    font-size: var(--text-sm);
    color: var(--text-muted);
}

.perm-hint {
    font-size: var(--text-sm);
    color: var(--text-muted);
    margin: 0;
    padding: var(--space-2) 0;
}

/* Password Reveal Modal */

.password-copy-row {
    display: flex;
    justify-content: flex-end;
}

.password-value {
    font-family: 'Courier New', monospace;
    font-size: var(--text-base);
    font-weight: 600;
    color: var(--text-primary);
    background: var(--bg-layer-2);
    padding: var(--space-1) var(--space-2);
    border-radius: var(--border-radius-sm);
    letter-spacing: 0.05em;
    -webkit-user-select: all;
    user-select: all;
}

/* Bulk role assignment bar above the operator users table (TLP-964). Shown only
   while rows are selected; the table below it is untouched by a selection. */
.user-config-selection-bar {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    background: var(--primary-subtle);
    border-radius: var(--radius-md);
}

.user-config-selection-bar .form-field {
    margin: 0;
    min-width: 240px;
}

.user-config-selection-count {
    color: var(--text-primary);
    font-weight: var(--font-weight-semibold);
}

.user-config-selection-hidden {
    color: var(--text-muted);
    font-weight: var(--font-weight-normal);
}

.user-config-selection-spacer {
    flex: 1;
}

.user-config-role-summary {
    color: var(--text-body);
    font-size: var(--text-sm);
}

/* Review: existing people onto roles (TLP-964 chunk 3). */
.review-filters {
    display: flex;
}

.review-group {
    border: var(--border-width-1) solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: var(--bg-surface);
    overflow: hidden;
}

.review-group + .review-group {
    margin-top: var(--space-3);
}

.review-group-header {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    background: var(--bg-panel);
    border-bottom: var(--border-width-1) solid var(--border-subtle);
}

.review-group-proposed {
    color: var(--text-muted);
    font-size: var(--text-sm);
}

.review-delta {
    display: inline-flex;
    flex-wrap: wrap;
    gap: var(--space-1);
}

.review-delta-plus,
.review-delta-minus {
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-2);
    border-radius: var(--radius-pill);
    font-size: var(--text-xs);
    font-weight: var(--font-weight-medium);
    white-space: nowrap;
}

.review-delta-plus {
    background: var(--color-success-light);
    color: var(--color-success-hover);
}

.review-delta-minus {
    background: var(--color-warning-light);
    color: var(--color-warning-hover);
}

.review-delta-same {
    color: var(--text-light);
    font-size: var(--text-sm);
}
