/* ================================================================
   NEXERP PORTAL — FUTURISTIC DEEP SPACE THEME
   CSS-only override for /my portal pages.
   ================================================================ */

/* ===== PAGE BACKGROUND ===== */
body .o_portal_wrap,
#wrapwrap .o_portal_wrap {
    background:
        radial-gradient(ellipse at 30% 40%, rgba(0, 102, 255, 0.25) 0%, transparent 60%),
        radial-gradient(ellipse at 70% 70%, rgba(123, 47, 255, 0.20) 0%, transparent 55%),
        linear-gradient(180deg, #020408 0%, #050c14 50%, #080f1a 100%) !important;
    color: var(--text-bright) !important;
    min-height: 100vh;
    font-family: 'Space Grotesk', 'Inter', sans-serif;
}

/* ===== BREADCRUMB ===== */
.o_portal .breadcrumb {
    background: transparent !important;
    padding: 1rem 0;
    margin-bottom: 0;
}

.o_portal .breadcrumb-item a {
    color: var(--neon-cyan) !important;
    text-decoration: none;
}

.o_portal .breadcrumb-item.active {
    color: var(--text-bright) !important;
}

.o_portal .breadcrumb-item + .breadcrumb-item::before {
    color: var(--text-dim) !important;
}

/* ===== PORTAL INDEX CARDS ===== */
.o_portal_index_card {
    background: transparent !important;
    border: none !important;
}

.o_portal_index_card > a {
    background: var(--bg-card) !important;
    border: var(--glass-border) !important;
    border-radius: 20px !important;
    backdrop-filter: blur(20px);
    transition: all 0.4s var(--ease-spring);
    color: var(--text-white) !important;
    padding: 1.5rem !important;
    display: block;
    text-decoration: none;
}

.o_portal_index_card > a:hover {
    transform: translateY(-6px);
    border: var(--glass-border-hover) !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.5), var(--glow-cyan);
}

.o_portal_index_card > a h5,
.o_portal_index_card > a .fs-5 {
    color: var(--text-white) !important;
    font-family: 'Orbitron', sans-serif;
    font-size: 0.9rem;
    letter-spacing: 0.05em;
}

.o_portal_index_card > a p,
.o_portal_index_card > a .text-muted {
    color: var(--text-muted) !important;
    text-decoration: none;
}

/* ===== SECTION HEADINGS ===== */
.o_portal_my_home .o_portal_category {
    margin-top: 2rem !important;
}

.o_portal_my_home .o_portal_category h3,
.o_portal_wrap h3.my-3 {
    font-family: 'Orbitron', sans-serif !important;
    color: var(--text-white) !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 700;
    font-size: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(0, 245, 255, 0.12);
    margin-bottom: 1rem !important;
}

/* ===== SIDEBAR / MY DETAILS ===== */
.o_portal_my_details,
.o_portal_sidebar_content,
#accountOffCanvas {
    background: var(--bg-card) !important;
    border: var(--glass-border) !important;
    border-radius: 15px;
    padding: 1.5rem;
    color: var(--text-muted) !important;
    backdrop-filter: blur(12px);
}

/* ===== FORMS ===== */
.o_portal_wrap .form-control,
.o_portal_wrap .form-select {
    background: rgba(0, 245, 255, 0.03) !important;
    border: 1px solid rgba(0, 245, 255, 0.2) !important;
    border-radius: 8px !important;
    color: var(--text-bright) !important;
    font-family: 'Space Grotesk', sans-serif;
}

.o_portal_wrap .form-control:focus,
.o_portal_wrap .form-select:focus {
    border-color: var(--neon-cyan) !important;
    box-shadow: 0 0 0 3px rgba(0, 245, 255, 0.1) !important;
    outline: none;
}

.o_portal_wrap .form-control::placeholder {
    color: var(--text-dim) !important;
}

.o_portal_wrap label {
    color: var(--text-muted) !important;
    font-size: 0.85rem;
}

/* ===== BUTTONS ===== */
.o_portal_wrap .btn-light,
.o_portal_wrap .btn-secondary {
    background: rgba(0, 245, 255, 0.05) !important;
    border: 1px solid rgba(0, 245, 255, 0.2) !important;
    color: var(--neon-cyan) !important;
    transition: all 0.3s ease;
    border-radius: 8px;
}

.o_portal_wrap .btn-light:hover,
.o_portal_wrap .btn-secondary:hover {
    background: rgba(0, 245, 255, 0.15) !important;
    border-color: var(--neon-cyan) !important;
    color: var(--text-white) !important;
    box-shadow: 0 0 15px rgba(0, 245, 255, 0.2);
}

.o_portal_wrap .btn-primary {
    background: linear-gradient(135deg, var(--neon-cyan), var(--neon-blue)) !important;
    border: none !important;
    color: var(--bg-void) !important;
    font-weight: 700;
    border-radius: 8px;
}

.o_portal_wrap .btn-primary:hover {
    box-shadow: var(--glow-cyan) !important;
    opacity: 0.9;
}

.o_portal_wrap .btn-link {
    color: var(--neon-cyan) !important;
    text-decoration: none;
}

.o_portal_wrap .btn-link:hover {
    color: var(--text-white) !important;
}

/* ===== TABLES ===== */
.o_portal_my_doc_table,
.o_portal_wrap table {
    background: transparent !important;
    color: var(--text-bright) !important;
}

.o_portal_my_doc_table th,
.o_portal_wrap table th {
    color: var(--neon-cyan) !important;
    border-bottom: 1px solid rgba(0, 245, 255, 0.2) !important;
    background: transparent !important;
    font-family: 'Orbitron', sans-serif;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.o_portal_my_doc_table td,
.o_portal_wrap table td {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    background: transparent !important;
    color: var(--text-muted) !important;
}

.o_portal_my_doc_table tr:nth-of-type(odd),
.o_portal_wrap table tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.02) !important;
}

/* ===== BADGES / STATUS ===== */
.o_portal_wrap .badge {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.75rem;
}

/* ===== GENERAL TEXT ===== */
.o_portal_wrap p,
.o_portal_wrap span,
.o_portal_wrap div {
    color: inherit;
}

.o_portal_wrap .text-muted {
    color: var(--text-muted) !important;
}

.o_portal_wrap h1,
.o_portal_wrap h2,
.o_portal_wrap h4,
.o_portal_wrap h5,
.o_portal_wrap h6 {
    color: var(--text-white) !important;
}

/* ===== PAGER ===== */
.o_portal_wrap .o_portal_pager .page-link {
    background: var(--bg-surface) !important;
    border-color: rgba(0, 245, 255, 0.15) !important;
    color: var(--text-muted) !important;
}

.o_portal_wrap .o_portal_pager .page-item.active .page-link {
    background: linear-gradient(135deg, rgba(0, 245, 255, 0.15), rgba(0, 102, 255, 0.15)) !important;
    border-color: var(--neon-cyan) !important;
    color: var(--neon-cyan) !important;
}

/* ===== CARD / PANEL ===== */
.o_portal_wrap .card {
    background: var(--bg-card) !important;
    border: var(--glass-border) !important;
    border-radius: 12px !important;
    color: var(--text-bright) !important;
}

.o_portal_wrap .card-header {
    background: rgba(0, 245, 255, 0.04) !important;
    border-bottom: 1px solid rgba(0, 245, 255, 0.1) !important;
    color: var(--text-white) !important;
    font-family: 'Orbitron', sans-serif;
    font-size: 0.85rem;
    letter-spacing: 0.06em;
}

.o_portal_wrap .card-body {
    background: transparent !important;
}
