/* static/style.css - IKOSOYE BWA NYUMA */

/* ================================================== */
/* STYLING RUSANGE N'IY'ISHUSHO Y'INYUMA */
/* ================================================== */
body {
 font-family: sans-serif;
}

.site-background {
 background-image: url('images/auth_bg.jpg');
 background-size: cover;
 background-position: center;
 background-repeat: no-repeat;
 background-attachment: fixed;
 color: #f8f9fa;
}

.navbar.bg-dark {
 background-color: rgba(33, 37, 41, 0.85) !important;
 backdrop-filter: blur(5px);
}

/* ================================================== */
/* HERO SECTION KURI HOME PAGE */
/* ================================================== */
.hero-section {
 position: relative;
 padding: 100px 0;
 text-align: center;
 background-image: url('images/aurumgoldai-hero.jpg');
 background-size: cover;
 background-position: center;
 background-repeat: no-repeat;
}

.hero-overlay {
 background-color: rgba(0, 0, 0, 0.3);
 position: absolute;
 top: 0; left: 0; right: 0; bottom: 0;
 z-index: 1;
}

.hero-content {
 position: relative;
 z-index: 2;
}

/* ================================================== */
/* IBICE BYO HASI KURI HOME PAGE */
/* ================================================== */
.home-content-section h2, .home-content-section h5 {
 color: #ffffff;
}

.home-content-section p, .home-content-section li {
 color: #adb5bd;
}

.card {
 border: 1px solid rgba(255, 255, 255, 0.2);
 background-color: rgba(33, 37, 41, 0.7);
 transition: all 0.3s;
}

.card:hover {
 transform: translateY(-5px);
 box-shadow: 0 4px 15px rgba(0,0,0,.2);
 border-color: rgba(255, 255, 255, 0.5);
}

.card .card-header {
 background-color: rgba(255, 255, 255, 0.1);
 border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.card .card-title {
 color: #ffffff;
}

.testimonial-card {
 background-color: transparent;
 border: none;
}
.testimonial-author {
 color: #ffffff;
 font-weight: bold;
}

/* ================================================== */
/* STYLING KURI LOGIN/REGISTER PAGES */
/* ================================================== */
.auth-wrapper {
 min-height: calc(100vh - 56px);
 display: flex;
 align-items: center;
 justify-content: center;
 padding: 20px;
}

.auth-form-container {
 background-color: rgba(10, 25, 47, 0.85);
 padding: 30px;
 border-radius: 10px;
 box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
 border: 1px solid rgba(255, 255, 255, 0.1);
 width: 100%;
 max-width: 450px;
 color: #f8f9fa;
}

.auth-form-container .form-control {
 background-color: rgba(255, 255, 255, 0.05);
 border-color: rgba(255, 255, 255, 0.2);
 color: #ffffff;
}

.auth-form-container .form-control::placeholder {
 color: #adb5bd;
}

.auth-form-container .form-control:focus {
 background-color: rgba(255, 255, 255, 0.1);
 border-color: #0d6efd;
 box-shadow: none;
 color: #ffffff;
}

.auth-form-container a {
 color: #0d6efd;
}

/* ================================================== */
/* STYLING NSHYA KURI DASHBOARD N'IZINDI PAJI Z'IMBERE */
/* ================================================== */
.card-dark-custom {
 background-color: rgba(10, 25, 47, 0.85);
 padding: 25px;
 border-radius: 10px;
 border: 1px solid rgba(255, 255, 255, 0.1);
 color: #f8f9fa;
}

.card-dark-custom .card-title {
 color: #ffffff;
}

.card-dark-custom .card-text {
 color: #adb5bd;
}

.card-header-dark-custom {
 background-color: rgba(255, 255, 255, 0.05);
 padding: 10px 25px;
 border-bottom: 1px solid rgba(255, 255, 255, 0.1);
 border-top-left-radius: 10px;
 border-top-right-radius: 10px;
 margin: -25px -25px 20px -25px;
}

.form-control-dark {
 background-color: rgba(255, 255, 255, 0.05);
 border-color: rgba(255, 255, 255, 0.2);
 color: #ffffff;
}

.form-control-dark::placeholder {
 color: #adb5bd;
}

.form-control-dark:focus {
 background-color: rgba(255, 255, 255, 0.1);
 border-color: #0d6efd;
 box-shadow: none;
 color: #ffffff;
}

.form-control-dark.form-select {
 background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23adb5bd' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e" );
}

.form-check-input:checked {
 background-color: #0d6efd;
 border-color: #0d6efd;
}

.form-check-input {
 background-color: rgba(255, 255, 255, 0.1);
 border-color: rgba(255, 255, 255, 0.3);
}

.list-group-item-dark-custom {
 background-color: rgba(255, 255, 255, 0.05);
 border-color: rgba(255, 255, 255, 0.1);
 color: #f8f9fa;
 margin-bottom: 5px;
 border-radius: 5px;
}

.text-white { color: #ffffff !important; }
.text-white-50 { color: rgba(255, 255, 255, 0.5) !important; }

/* ================================================== */
/* GUKOSORA IBIBAZO BYA SELECT NA LABEL (IGICE CYONGEREYEWEHO) */
/* ================================================== */
.form-control-dark option {
 background-color: #0a192f;
 color: #ffffff;
}

.form-container-dark .form-label,
.card-dark-custom .form-label {
 color: #adb5bd;
}

/* Footer */
.footer {
 background-color: rgba(33, 37, 41, 0.85) !important;
}

/* =========================================================
 AURUMQUANT AI AUTHENTICATION DESIGN
 ========================================================= */

:root {
 --aq-navy: #06152f;
 --aq-navy-deep: #020817;
 --aq-blue: #153d78;
 --aq-gold: #f2cc70;
 --aq-gold-light: #ffe6a3;
 --aq-border: rgba(242, 204, 112, 0.68);
 --aq-text: #f7f9ff;
 --aq-muted: #b8c4dc;
}

body.auth-page {
 min-height: 100vh;
 margin: 0;
 color: var(--aq-text);
 background:
 radial-gradient(
 circle at 18% 20%,
 rgba(27, 78, 145, 0.45),
 transparent 35%
 ),
 radial-gradient(
 circle at 84% 78%,
 rgba(8, 43, 94, 0.58),
 transparent 42%
 ),
 linear-gradient(
 135deg,
 #020817 0%,
 #071a3a 48%,
 #020817 100%
 ) !important;
 background-attachment: fixed;
}

body.auth-page .navbar,
body.auth-page .footer {
 display: none;
}

.auth-shell {
 min-height: 100vh;
 display: flex;
 align-items: center;
 justify-content: center;
 padding: 42px 18px;
}

.auth-card {
 width: min(100%, 580px);
 padding: 34px 42px 30px;
 border: 1px solid var(--aq-border);
 border-radius: 18px;
 background:
 linear-gradient(
 145deg,
 rgba(4, 12, 30, 0.96),
 rgba(12, 44, 91, 0.88)
 );
 box-shadow:
 0 24px 70px rgba(0, 0, 0, 0.45),
 inset 0 0 32px rgba(80, 144, 232, 0.08);
 backdrop-filter: blur(12px);
}

.register-card {
 width: min(100%, 610px);
}

.compact-card {
 width: min(100%, 500px);
}

.auth-brand {
 color: var(--aq-gold);
 text-align: center;
 font-size: clamp(1.2rem, 3vw, 1.65rem);
 font-weight: 800;
 letter-spacing: 0.04em;
 margin-bottom: 13px;
}

.auth-card h1 {
 text-align: center;
 color: #ffffff;
 font-size: clamp(1.7rem, 4vw, 2.35rem);
 font-weight: 800;
 margin: 0;
}

.auth-subtitle {
 color: #a9c7fb;
 text-align: center;
 margin: 10px 0 26px;
 font-size: 1.02rem;
}

.auth-field {
 margin-bottom: 17px;
}

.auth-field label {
 display: block;
 margin-bottom: 7px;
 color: #f4f6fb;
 font-weight: 500;
}

.auth-input,
.auth-input:focus,
.auth-card input,
.auth-card input:focus {
 min-height: 50px;
 color: #ffffff !important;
 background: rgba(15, 53, 105, 0.72) !important;
 border: 1px solid rgba(150, 190, 250, 0.7) !important;
 border-radius: 9px;
 box-shadow: none !important;
}

.auth-card input::placeholder {
 color: #bccce5;
 opacity: 0.82;
}

.password-row {
 display: flex;
 gap: 9px;
}

.password-row .auth-input {
 flex: 1;
}

.show-password {
 min-width: 74px;
 border: 1px solid rgba(177, 202, 239, 0.55);
 border-radius: 9px;
 color: white;
 background: rgba(102, 145, 207, 0.72);
 font-weight: 600;
}

.show-password:hover {
 background: rgba(130, 169, 224, 0.9);
}

.auth-options {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 15px;
 margin: 4px 0 20px;
 color: var(--aq-muted);
 font-size: 0.92rem;
}

.auth-options a,
.auth-footer-link a {
 color: var(--aq-gold-light);
 text-decoration: none;
}

.auth-options a:hover,
.auth-footer-link a:hover {
 text-decoration: underline;
}

.remember-label {
 display: flex;
 align-items: center;
 gap: 7px;
 margin: 0;
}

.remember-label input {
 min-height: auto;
 width: 16px;
 height: 16px;
 accent-color: var(--aq-gold);
}

.auth-submit {
 width: 100%;
 min-height: 52px;
 border: 0;
 border-radius: 9px;
 color: #263048;
 background: linear-gradient(90deg, #f2d58b, #ffe8a7);
 font-size: 1.05rem;
 font-weight: 800;
 transition: transform 0.2s ease, filter 0.2s ease;
}

.auth-submit:hover {
 filter: brightness(1.08);
 transform: translateY(-1px);
}

.auth-footer-link {
 color: var(--aq-muted);
 text-align: center;
 margin: 20px 0 0;
}

.small-link {
 margin-top: 10px;
 font-size: 0.82rem;
}

.legal-note {
 color: #b8c7df;
 text-align: center;
 font-size: 0.78rem;
 line-height: 1.5;
 margin: 18px 0 0;
}

.auth-alert {
 border-radius: 8px;
 padding: 10px 12px;
 margin-bottom: 16px;
 font-size: 0.92rem;
}

.auth-alert.error,
.auth-alert.errorlist,
.auth-alert.danger,
.auth-alert.warning {
 color: #ffe1e1;
 background: rgba(133, 26, 42, 0.72);
 border: 1px solid rgba(255, 145, 145, 0.4);
}

.auth-alert.success {
 color: #e3ffe9;
 background: rgba(24, 111, 68, 0.72);
 border: 1px solid rgba(130, 255, 176, 0.4);
}

.field-error {
 color: #ffb9b9;
 font-size: 0.82rem;
 margin-top: 5px;
}

@media (max-width: 600px) {
 .auth-shell {
 padding: 22px 12px;
 align-items: flex-start;
 }

 .auth-card {
 margin-top: 12px;
 padding: 28px 20px 24px;
 border-radius: 14px;
 }

 .auth-options {
 align-items: flex-start;
 flex-direction: column;
 }
}

/* =========================================================
 AURUMQUANT AI GLOBAL PRODUCT UI
 Applies to all authenticated/application pages.
 ========================================================= */

body.aq-app-page {
 min-height: 100vh !important;
 margin: 0 !important;
 color: #f5f7ff !important;
 background:
 radial-gradient(
 circle at 12% 8%,
 rgba(39, 102, 180, 0.33),
 transparent 32%
 ),
 radial-gradient(
 circle at 90% 80%,
 rgba(15, 66, 130, 0.3),
 transparent 38%
 ),
 linear-gradient(
 135deg,
 #020817 0%,
 #071a3a 48%,
 #020817 100%
 ) !important;
 background-attachment: fixed !important;
}

body.aq-app-page .navbar {
 min-height: 68px;
 background:
 linear-gradient(
 90deg,
 rgba(2, 8, 23, 0.98),
 rgba(7, 28, 62, 0.98)
 ) !important;
 border-bottom: 1px solid rgba(242, 204, 112, 0.35);
 box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28);
}

body.aq-app-page .navbar-brand {
 color: #f2cc70 !important;
 font-weight: 800;
 letter-spacing: 0.03em;
}

body.aq-app-page .navbar-brand span {
 color: #f2cc70 !important;
}

body.aq-app-page .navbar-brand img {
 border-radius: 10px;
 border: 1px solid rgba(242, 204, 112, 0.55);
 box-shadow: 0 0 14px rgba(242, 204, 112, 0.18);
}

body.aq-app-page .nav-link {
 color: #d9e5fb !important;
 font-weight: 500;
 transition: color 0.2s ease, transform 0.2s ease;
}

body.aq-app-page .nav-link:hover,
body.aq-app-page .nav-link:focus {
 color: #f2cc70 !important;
 transform: translateY(-1px);
}

body.aq-app-page main {
 min-height: calc(100vh - 132px);
 padding-bottom: 34px;
}

body.aq-app-page h1,
body.aq-app-page h2,
body.aq-app-page h3,
body.aq-app-page h4,
body.aq-app-page h5,
body.aq-app-page h6 {
 color: #f5f7ff !important;
}

body.aq-app-page .container,
body.aq-app-page .container-fluid {
 position: relative;
 z-index: 1;
}

body.aq-app-page .card,
body.aq-app-page .card-dark-custom,
body.aq-app-page .form-container-dark,
body.aq-app-page .card-dark,
body.aq-app-page .dashboard-card {
 color: #f5f7ff !important;
 background:
 linear-gradient(
 145deg,
 rgba(5, 15, 36, 0.96),
 rgba(11, 42, 84, 0.9)
 ) !important;
 border: 1px solid rgba(242, 204, 112, 0.38) !important;
 border-radius: 16px !important;
 box-shadow:
 0 18px 45px rgba(0, 0, 0, 0.25),
 inset 0 0 24px rgba(82, 145, 226, 0.06);
}

body.aq-app-page .card-header,
body.aq-app-page .card-header-dark-custom {
 color: #f2cc70 !important;
 background: rgba(2, 8, 23, 0.45) !important;
 border-bottom: 1px solid rgba(242, 204, 112, 0.3) !important;
 font-weight: 700;
}

body.aq-app-page .card-body {
 color: #eaf0ff !important;
}

body.aq-app-page .text-muted,
body.aq-app-page .text-white-50,
body.aq-app-page .form-text {
 color: #afc0dc !important;
}

body.aq-app-page .text-warning,
body.aq-app-page .text-gold {
 color: #f2cc70 !important;
}

body.aq-app-page .btn-primary,
body.aq-app-page .btn-success,
body.aq-app-page .btn-info {
 color: #14213d !important;
 background: linear-gradient(90deg, #e9bd5f, #ffe5a0) !important;
 border: 0 !important;
 font-weight: 800;
 border-radius: 9px !important;
}

body.aq-app-page .btn-primary:hover,
body.aq-app-page .btn-success:hover,
body.aq-app-page .btn-info:hover {
 color: #071a3a !important;
 filter: brightness(1.08);
}

body.aq-app-page .btn-outline-light,
body.aq-app-page .btn-outline-primary {
 color: #f2cc70 !important;
 border-color: rgba(242, 204, 112, 0.7) !important;
 border-radius: 9px !important;
}

body.aq-app-page .btn-outline-light:hover,
body.aq-app-page .btn-outline-primary:hover {
 color: #071a3a !important;
 background: #f2cc70 !important;
}

body.aq-app-page .form-control,
body.aq-app-page .form-select,
body.aq-app-page .form-control-dark {
 color: #ffffff !important;
 background-color: rgba(18, 56, 107, 0.78) !important;
 border: 1px solid rgba(151, 190, 244, 0.58) !important;
 border-radius: 9px !important;
}

body.aq-app-page .form-control:focus,
body.aq-app-page .form-select:focus {
 color: #ffffff !important;
 background-color: rgba(21, 66, 124, 0.9) !important;
 border-color: #f2cc70 !important;
 box-shadow: 0 0 0 0.2rem rgba(242, 204, 112, 0.16) !important;
}

body.aq-app-page .table {
 --bs-table-bg: transparent;
 --bs-table-color: #edf3ff;
 --bs-table-border-color: rgba(157, 187, 226, 0.18);
}

body.aq-app-page .table thead th {
 color: #f2cc70 !important;
 border-bottom-color: rgba(242, 204, 112, 0.42) !important;
}

body.aq-app-page .table tbody tr:hover {
 background: rgba(56, 111, 180, 0.15);
}

body.aq-app-page .badge {
 border-radius: 999px;
 padding: 0.45em 0.72em;
}

body.aq-app-page .footer {
 color: #aebed8 !important;
 background:
 linear-gradient(
 90deg,
 rgba(2, 8, 23, 0.98),
 rgba(7, 28, 62, 0.98)
 ) !important;
 border-top: 1px solid rgba(242, 204, 112, 0.28);
}

body.aq-app-page hr {
 border-color: rgba(242, 204, 112, 0.24) !important;
}

body.aq-app-page .alert {
 border-radius: 10px;
}

@media (max-width: 768px) {
 body.aq-app-page .navbar {
 min-height: 60px;
 }

 body.aq-app-page main {
 padding-top: 10px;
 }

 body.aq-app-page .card,
 body.aq-app-page .card-dark-custom,
 body.aq-app-page .form-container-dark {
 border-radius: 13px !important;
 }
}

/* =========================================================
 AURUMQUANT AI FINAL CONTRAST AND BACKGROUND FIX
 ========================================================= */

/* Main application background */
html,
body {
 min-height: 100% !important;
 background: #020817 !important;
}

body {
 color: #eef4ff !important;
 background:
 radial-gradient(
 circle at 12% 8%,
 rgba(36, 94, 172, 0.38),
 transparent 32%
 ),
 radial-gradient(
 circle at 88% 82%,
 rgba(14, 62, 126, 0.34),
 transparent 40%
 ),
 linear-gradient(
 135deg,
 #020817 0%,
 #071a3a 48%,
 #020817 100%
 ) !important;
 background-attachment: fixed !important;
}

/* Remove the old white page backgrounds */
body::before,
body::after,
main,
main::before,
main::after,
.container-fluid,
.container {
 background-color: transparent !important;
}

/* Ensure all application pages receive the AurumQuant background,
 even when an old template body class is still present. */
body.aq-app-page,
body.site-background,
body:not(.auth-page) {
 color: #eef4ff !important;
 background:
 radial-gradient(
 circle at 12% 8%,
 rgba(36, 94, 172, 0.38),
 transparent 32%
 ),
 radial-gradient(
 circle at 88% 82%,
 rgba(14, 62, 126, 0.34),
 transparent 40%
 ),
 linear-gradient(
 135deg,
 #020817 0%,
 #071a3a 48%,
 #020817 100%
 ) !important;
}

/* Navigation */
.navbar,
body.aq-app-page .navbar,
body.site-background .navbar {
 background:
 linear-gradient(
 90deg,
 #020817 0%,
 #0a2147 52%,
 #020817 100%
 ) !important;
 opacity: 1 !important;
 border-bottom: 1px solid rgba(242, 204, 112, 0.55) !important;
 box-shadow: 0 8px 26px rgba(0, 0, 0, 0.48) !important;
}

.navbar-brand,
.navbar-brand span {
 color: #f2cc70 !important;
 opacity: 1 !important;
 font-weight: 800 !important;
}

.navbar .nav-link,
.navbar-dark .navbar-nav .nav-link {
 color: #f4f7ff !important;
 opacity: 1 !important;
 font-weight: 600 !important;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar .nav-link.active {
 color: #f2cc70 !important;
}

/* Page headings */
main h1,
main h2,
main h3,
main h4,
main h5,
main h6,
.aq-page-title {
 color: #f2cc70 !important;
 opacity: 1 !important;
 text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
}

/* Normal text: prevent white-on-white */
main p,
main label,
main li,
main span,
main strong,
main small,
main div {
 color: inherit;
}

main p,
main label,
main li,
main small,
main .text-muted,
main .text-white-50,
main .text-secondary,
main .form-text {
 color: #d2def2 !important;
 opacity: 1 !important;
}

main strong,
main .fw-bold,
main .card-text {
 color: #f5f8ff !important;
 opacity: 1 !important;
}

/* Cards */
.card,
.card-dark-custom,
.form-container-dark,
.card-dark,
.dashboard-card,
.pricing-card,
.subscription-card {
 color: #eef4ff !important;
 background:
 linear-gradient(
 145deg,
 rgba(5, 15, 36, 0.98),
 rgba(15, 51, 99, 0.96)
 ) !important;
 border: 1px solid rgba(242, 204, 112, 0.48) !important;
 box-shadow:
 0 18px 46px rgba(0, 0, 0, 0.38),
 inset 0 0 26px rgba(83, 145, 225, 0.08) !important;
}

.card-body,
.card-body p,
.card-body span,
.card-body small,
.card-body label {
 color: #dbe7fa !important;
 opacity: 1 !important;
}

.card-title,
.card-header,
.card-header-dark-custom,
.pricing-card-title {
 color: #f2cc70 !important;
 opacity: 1 !important;
}

.card-header,
.card-header-dark-custom {
 background: rgba(2, 8, 23, 0.42) !important;
 border-bottom: 1px solid rgba(242, 204, 112, 0.32) !important;
}

/* Inputs and selects */
.form-control,
.form-select,
.form-control-dark,
input,
select,
textarea {
 color: #ffffff !important;
 background-color: rgba(18, 56, 107, 0.94) !important;
 border: 1px solid rgba(164, 201, 250, 0.72) !important;
}

.form-control::placeholder,
input::placeholder,
textarea::placeholder {
 color: #c7d5eb !important;
 opacity: 1 !important;
}

.form-control:focus,
.form-select:focus,
input:focus,
select:focus,
textarea:focus {
 color: #ffffff !important;
 background-color: #174b8d !important;
 border-color: #f2cc70 !important;
 box-shadow: 0 0 0 0.2rem rgba(242, 204, 112, 0.2) !important;
}

/* Tables */
.table,
.table td,
.table th {
 color: #edf4ff !important;
 background-color: transparent !important;
 border-color: rgba(170, 198, 235, 0.22) !important;
}

.table thead th {
 color: #f2cc70 !important;
 background: rgba(2, 8, 23, 0.38) !important;
}

.table tbody tr:hover td {
 color: #ffffff !important;
 background: rgba(54, 111, 181, 0.22) !important;
}

/* Buttons */
.btn-primary,
.btn-success,
.btn-info,
.btn-warning {
 color: #101c35 !important;
 background: linear-gradient(90deg, #e9bd5f, #ffe5a0) !important;
 border: 0 !important;
 font-weight: 800 !important;
 opacity: 1 !important;
}

.btn-danger {
 color: #ffffff !important;
 background: linear-gradient(90deg, #c84570, #ef7d9d) !important;
 border: 0 !important;
 font-weight: 800 !important;
}

.btn-outline-light,
.btn-outline-primary {
 color: #f2cc70 !important;
 border-color: #f2cc70 !important;
 opacity: 1 !important;
}

.btn-outline-light:hover,
.btn-outline-primary:hover {
 color: #071a3a !important;
 background: #f2cc70 !important;
}

/* Footer */
.footer {
 color: #dbe7fa !important;
 background:
 linear-gradient(
 90deg,
 #020817,
 #0a2147,
 #020817
 ) !important;
 border-top: 1px solid rgba(242, 204, 112, 0.38) !important;
 opacity: 1 !important;
}

/* Subscription descriptions and signal metadata */
.subscription-card *,
.pricing-card *,
.signal-card *,
.card * {
 opacity: 1 !important;
}

.subscription-card p,
.pricing-card p,
.signal-card p {
 color: #dbe7fa !important;
}

.badge {
 opacity: 1 !important;
}

/* Mobile readability */
@media (max-width: 768px) {
 .navbar .nav-link {
 padding: 10px 14px !important;
 color: #ffffff !important;
 }

 main {
 padding-left: 10px;
 padding-right: 10px;
 }
}
