/* User shell visual system aligned to admin/super-admin aesthetics */
:root {
    --user-surface: #ffffff;
    --user-surface-alt: #f8faff;
    --user-border: #cfd3e7;
    --user-text: #1a1d26;
    --user-text-soft: #4c599a;
    --user-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

[data-theme="dark"] {
    --user-surface: #111827;
    --user-surface-alt: #0f172a;
    --user-border: rgba(148, 163, 184, 0.2);
    --user-text: #e5e7eb;
    --user-text-soft: #9aa4bd;
    --user-shadow: 0 12px 30px rgba(0, 0, 0, 0.45);
}

body {
    background: linear-gradient(180deg, #f5f8ff 0%, #eef3fb 45%, #f7f9fd 100%);
    color: var(--user-text);
}

[data-theme="dark"] body {
    background: linear-gradient(180deg, #050914 0%, #0a1020 45%, #0a1226 100%);
    color: var(--user-text);
}

.card {
    border: 1px solid var(--user-border);
    border-radius: 0.95rem;
    background: var(--user-surface);
    box-shadow: var(--user-shadow);
}

.card-header {
    background: var(--user-surface);
    border-bottom: 1px solid var(--user-border);
    font-weight: 700;
}

.table,
.table td,
.table th {
    color: var(--user-text);
}

.table thead th {
    border-bottom-color: var(--user-border);
}

.form-control,
.form-select {
    border-radius: 0.65rem;
    border-color: var(--user-border);
    background: var(--user-surface);
    color: var(--user-text);
}

.form-control:focus,
.form-select:focus {
    border-color: rgba(19, 55, 236, 0.45);
    box-shadow: 0 0 0 3px rgba(19, 55, 236, 0.15);
}

.btn {
    border-radius: 0.65rem;
    font-weight: 600;
}

/* Primary buttons - standard blue */
.btn-primary {
    background: linear-gradient(135deg, #3159f7 0%, #1535db 100%) !important;
    border-color: #1b41dd !important;
    color: #fff !important;
}
.btn-primary:hover,
.btn-primary:focus {
    background: linear-gradient(135deg, #2d4fe0 0%, #102fbf 100%) !important;
    border-color: #102fbf !important;
    color: #fff !important;
}
.btn-primary:active {
    background: linear-gradient(135deg, #2845c7 0%, #0e28a8 100%) !important;
    border-color: #0e28a8 !important;
    color: #fff !important;
}
.btn-primary:disabled,
.btn-primary.disabled {
    background: linear-gradient(135deg, #3159f7 0%, #1535db 100%) !important;
    border-color: #1b41dd !important;
    opacity: 0.65 !important;
    color: #fff !important;
}

/* Outline primary buttons */
.btn-outline-primary {
    color: #3159f7 !important;
    border-color: #3159f7 !important;
    background: transparent !important;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background: #3159f7 !important;
    border-color: #3159f7 !important;
    color: #fff !important;
}
.btn-outline-primary:active {
    background: #2d4fe0 !important;
    border-color: #2d4fe0 !important;
    color: #fff !important;
}
.btn-outline-primary:disabled,
.btn-outline-primary.disabled {
    color: #3159f7 !important;
    border-color: #3159f7 !important;
    background: transparent !important;
    opacity: 0.65 !important;
}

.alert {
    border-radius: 0.75rem;
    border-width: 1px;
}

.page-header,
.section-header,
h1,
h2,
h3,
h4,
h5 {
    color: var(--user-text);
}

.text-muted,
.form-text,
small {
    color: var(--user-text-soft) !important;
}
