/* Shared palette from the mobile app and public website. */
:root {
    color-scheme: light;
    --background-color: #F3F8F8;
    --surface-color: #FFFFFF;
    --default-color: #17282D;
    --heading-color: #17282D;
    --muted-color: #526970;
    --light-color: #526970;
    --accent-color: #286A75;
    --accent-rgb: 40, 106, 117;
    --contrast-color: #FFFFFF;
    --gold-color: #C6A45C;
    --border-color: #D4E3E5;
    --border-color-light: #E8F0F1;
    --border-color-dark: #B4CCD0;
}

:root[data-theme="dark"] {
    color-scheme: dark;
    --background-color: #111E23;
    --surface-color: #1D3037;
    --default-color: #EFF7F7;
    --heading-color: #EFF7F7;
    --muted-color: #A9BEC3;
    --light-color: #A9BEC3;
    --accent-color: #5CBDBD;
    --accent-rgb: 92, 189, 189;
    --contrast-color: #111E23;
    --gold-color: #D6B970;
    --border-color: #35515A;
    --border-color-light: #29434B;
    --border-color-dark: #526F78;
}

:root, :root[data-theme="dark"] {
    --header-bg: var(--surface-color);
    --header-border: var(--border-color);
    --sidebar-bg: var(--surface-color);
    --sidebar-border: var(--border-color);
    --sidebar-text: var(--default-color);
    --sidebar-text-muted: var(--muted-color);
    --sidebar-heading-color: var(--muted-color);
    --sidebar-icon-color: var(--muted-color);
    --sidebar-hover-bg: color-mix(in srgb, var(--accent-color) 6%, var(--surface-color));
    --sidebar-active-bg: color-mix(in srgb, var(--accent-color) 12%, var(--surface-color));
    --sidebar-active-text: var(--accent-color);
    --card-bg: var(--surface-color);
    --card-border: var(--border-color);
    --table-header-bg: var(--background-color);
    --table-hover-bg: var(--sidebar-hover-bg);
    --table-stripe-bg: color-mix(in srgb, var(--background-color) 50%, var(--surface-color));
    --input-bg: var(--surface-color);
    --input-border: var(--border-color);
    --input-focus-border: var(--accent-color);
    --input-focus-ring: rgba(var(--accent-rgb), .25);
    --primary-color: var(--accent-color);
    --bs-primary: var(--accent-color);
    --bs-primary-rgb: var(--accent-rgb);
    --bs-primary-text-emphasis: var(--accent-color);
    --bs-primary-bg-subtle: var(--sidebar-active-bg);
    --bs-primary-border-subtle: var(--border-color-dark);
    --bs-body-color: var(--default-color);
    --bs-body-color-rgb: 23, 40, 45;
    --bs-body-bg: var(--background-color);
    --bs-secondary-color: var(--muted-color);
    --bs-tertiary-color: var(--muted-color);
    --bs-secondary-bg: var(--sidebar-hover-bg);
    --bs-tertiary-bg: var(--background-color);
    --bs-emphasis-color: var(--heading-color);
    --bs-border-color: var(--border-color);
    --bs-link-color: var(--accent-color);
    --bs-link-color-rgb: var(--accent-rgb);
    --bs-link-hover-color: var(--accent-color);
    --bs-link-hover-color-rgb: var(--accent-rgb);
    --bs-focus-ring-color: var(--input-focus-ring);
}

:root[data-theme="dark"] { --bs-body-color-rgb: 239, 247, 247; }

.btn-primary {
    --bs-btn-color: var(--contrast-color);
    --bs-btn-hover-color: var(--contrast-color);
    --bs-btn-active-color: var(--contrast-color);
    --bs-btn-disabled-color: var(--contrast-color);
    --bs-btn-disabled-bg: var(--accent-color);
    --bs-btn-disabled-border-color: var(--accent-color);
    --bs-btn-focus-shadow-rgb: var(--accent-rgb);
}

.btn-outline-primary {
    --bs-btn-color: var(--accent-color);
    --bs-btn-border-color: var(--accent-color);
    --bs-btn-hover-bg: var(--accent-color);
    --bs-btn-hover-border-color: var(--accent-color);
    --bs-btn-hover-color: var(--contrast-color);
    --bs-btn-active-bg: var(--accent-color);
    --bs-btn-active-border-color: var(--accent-color);
    --bs-btn-active-color: var(--contrast-color);
    --bs-btn-disabled-color: var(--accent-color);
    --bs-btn-disabled-border-color: var(--accent-color);
    --bs-btn-focus-shadow-rgb: var(--accent-rgb);
}

.btn-primary, .btn-primary:hover, .btn-primary:active, .btn-primary:disabled,
.btn-outline-primary:hover, .btn-outline-primary:active { color: var(--contrast-color); }

.user-initial, .bg-primary, .text-bg-primary { color: var(--contrast-color) !important; }
.loading-progress circle { stroke: var(--border-color); }
.loading-progress circle:last-child { stroke: var(--accent-color); }
.auth-form-side { background: var(--background-color); }
.auth-layout-split { align-items: stretch; }
.auth-brand-side { background: linear-gradient(135deg, #1D3037, #111E23); color: #EFF7F7; }
.auth-brand-title { color: #EFF7F7; }
.auth-brand-icon { color: var(--gold-color); background: #ffffff0f; border: 1px solid #C6A45C66; }
.auth-brand-feature i { color: var(--gold-color); }
.auth-card { border-radius: 16px; box-shadow: 0 10px 30px #111e230d; }
.auth-logo, .admin-sidebar-brand, .admin-header-brand {
    background: #111E23;
    border-radius: 10px;
    padding: 12px 16px;
}
.auth-logo { width: min(280px, 100%); margin-inline: auto; }
.auth-logo img { width: 100%; height: auto; object-fit: contain; }
.auth-tenant-logo { width: min(280px, 100%); margin: 0 auto 24px; text-align: center; }
.auth-tenant-logo img { max-width: 100%; max-height: 120px; object-fit: contain; }
[data-theme="dark"] .auth-logo img,
[data-theme="dark"] .admin-sidebar-brand img,
[data-theme="dark"] .admin-header-brand img { filter: none; }
.admin-sidebar-brand { display: block; margin: 16px 16px 4px; flex-shrink: 0; }
.admin-sidebar-brand img { width: 100%; height: 72px; object-fit: contain; }
.admin-sidebar-tenant-name { display: block; margin-top: 8px; color: #EFF7F7; font-size: 14px; font-weight: 600; line-height: 1.4; text-align: center; overflow-wrap: anywhere; }
.admin-header-brand { display: inline-flex; align-items: center; flex-shrink: 0; padding: 6px 10px; }
.admin-header-brand img { width: 108px; height: 40px; object-fit: contain; }
.auth-theme-toggle { position: fixed; top: 16px; right: 16px; z-index: 10; background: var(--surface-color); color: var(--default-color); border: 1px solid var(--border-color); border-radius: 50%; }
.tools-category[data-category] { --tool-color: var(--accent-color); }
.tools-category[data-category="wallet"] { --tool-color: var(--gold-color); }

@media (min-width: 1200px) {
    .admin-header-brand { display: none; }
    .header-without-sidebar .admin-header-brand { display: inline-flex; }
    .sidebar-collapsed .admin-sidebar-brand { display: none; }
}
@media (max-width: 575px) {
    .admin-header-brand img { width: 80px; height: 32px; }
}
