/* ===========================================================================
   Apjakal EduSuite — Global Theme Override  (NEC Brand)
   Navy:    #1B2A6B  (Primary — buttons, links, active states)
   Blue:    #2E3B8C  (Hover — interactive hover states)
   Royal:   #3A4DB0  (Light interactive accents)
   Orange:  #F5A623  (Accent — sidebar highlights, badges)
   Gold:    #F7B731  (Secondary accent)
   =========================================================================== */

/* ── CSS Variables ─────────────────────────────────────────────────────── */
:root {
    /* EduSuite palette — NEC brand */
    --edu-primary:        #1B2A6B;
    --edu-primary-hover:  #2E3B8C;
    --edu-primary-light:  rgba(27, 42, 107, 0.12);
    --edu-primary-glow:   rgba(27, 42, 107, 0.30);
    --edu-accent:         #F5A623;
    --edu-accent-hover:   #E09500;
    --edu-success:        #3BB273;
    --edu-warning:        #F18F01;
    --edu-danger:         #E84855;
    --edu-navy:           #0D1B4A;
    --edu-navy-light:     #1B2A6B;

    /* Frappe core overrides */
    --primary:            #1B2A6B;
    --primary-color:      #1B2A6B;

    /* Override apjakaltheme tokens */
    --color-primary:               #1B2A6B;
    --color-primary-hover:         #2E3B8C;
    --color-primary-soft:          rgba(27, 42, 107, 0.08);
    --color-sidebar-active-border: #F5A623;
    --primary-rgb:                 27, 42, 107;
}

[data-theme="dark"] {
    --primary:            #3A4DB0;
    --primary-color:      #3A4DB0;
    --color-primary:      #3A4DB0;
    --color-primary-hover:#4A5DC0;
    --color-primary-soft: rgba(58, 77, 176, 0.12);
    --edu-primary:        #3A4DB0;
    --edu-primary-hover:  #4A5DC0;
    --edu-primary-light:  rgba(58, 77, 176, 0.15);
    --edu-primary-glow:   rgba(58, 77, 176, 0.35);
    --edu-navy:           #070F28;
    --edu-navy-light:     #0D1B4A;
}

/* ── Buttons — Primary ─────────────────────────────────────────────────── */
.btn-primary,
.btn.btn-primary {
    background-color: var(--edu-primary) !important;
    border-color:     var(--edu-primary) !important;
    color:            #ffffff !important;
    box-shadow:       0 1px 3px rgba(27, 42, 107, 0.20) !important;
}
.btn-primary:hover,
.btn.btn-primary:hover,
.btn-primary:active,
.btn.btn-primary:active {
    background-color: var(--edu-primary-hover) !important;
    border-color:     var(--edu-primary-hover) !important;
    color:            #ffffff !important;
}
.btn-primary:focus,
.btn.btn-primary:focus {
    color:      #ffffff !important;
    box-shadow: 0 0 0 0.2rem var(--edu-primary-glow) !important;
}
.btn-primary:disabled,
.btn.btn-primary:disabled,
.btn-primary.disabled,
.btn.btn-primary.disabled {
    background-color: #6B7DB8 !important;
    border-color:     #6B7DB8 !important;
    color:            #ffffff !important;
    opacity:          0.65 !important;
}

/* ── Buttons — bg-primary utility ──────────────────────────────────────── */
.bg-primary {
    background-color: var(--edu-primary) !important;
    color:            #ffffff !important;
}

/* ── Text utilities ────────────────────────────────────────────────────── */
.text-primary {
    color: var(--edu-primary) !important;
}

/* ── Links ─────────────────────────────────────────────────────────────── */
a { color: var(--edu-primary); }
a:hover { color: var(--edu-primary-hover); }

/* ── Navbar brand / logo ─────────────────────────────────────────────────── */
.navbar-brand img,
.navbar-home  img {
    height:      auto       !important;
    max-height:  32px       !important;
    width:       auto       !important;
    object-fit:  contain    !important;
    cursor:      pointer;
}
.navbar-brand,
.navbar-home {
    cursor:      pointer    !important;
    display:     flex       !important;
    align-items: center     !important;
    padding:     0.5rem     !important;
}

/* ── Home nav button ─────────────────────────────────────────────────────── */
.home-nav-item { display: flex; align-items: center; }
.home-nav-item .home-link {
    display:         flex;
    align-items:     center;
    justify-content: center;
    padding:         0.5rem 0.75rem;
    border-radius:   6px;
    transition:      background-color 0.15s ease-in-out;
}
.home-nav-item .home-link:hover {
    background-color: var(--bg-light-gray, #f4f5f6);
    text-decoration:  none;
}
.home-nav-item .home-link:hover .icon { stroke: var(--edu-primary); }
[data-theme="dark"] .home-nav-item .home-link:hover {
    background-color: var(--bg-dark-gray, #2e2e2e);
}

/* ── Sidebar — active item (Frappe desk sidebar) ─────────────────────── */
.sidebar-item.active > .sidebar-item-label,
.desk-sidebar .standard-sidebar-item.selected {
    color:            var(--edu-primary) !important;
    border-left:      3px solid var(--edu-accent) !important;
    background-color: var(--edu-primary-light) !important;
}

/* ── Sidebar — apjakaltheme sidebar overrides ────────────────────────── */
.sidebar .menu-list a.m-link:hover {
    background-color: rgba(27, 42, 107, 0.15) !important;
    color:            #FFFFFF !important;
}
.sidebar .menu-list a.m-link:hover .icon-sm,
.sidebar .menu-list a.m-link:hover .icon-xs {
    stroke: #FFFFFF !important;
    color:  #FFFFFF !important;
}
.sidebar .menu-list a[aria-expanded="true"] {
    background-color: rgba(245, 166, 35, 0.12) !important;
    border-left:      3px solid var(--edu-accent) !important;
}
.sidebar .menu-list a.m-link.active {
    border-left: 3px solid var(--edu-accent) !important;
}

/* ── Form tabs / pills ──────────────────────────────────────────────────── */
.nav-pills .nav-link.active,
.nav-tabs  .nav-link.active {
    background-color: var(--edu-primary) !important;
    border-color:     var(--edu-primary) !important;
    color:            #ffffff !important;
}

/* ── Input focus — all form controls ───────────────────────────────────── */
.form-control:focus,
.frappe-control input:focus,
.frappe-control select:focus,
.frappe-control textarea:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus {
    border-color: var(--edu-primary) !important;
    box-shadow:   0 0 0 0.2rem var(--edu-primary-light) !important;
}

/* ── Checkbox / radio accent ───────────────────────────────────────────── */
input[type="checkbox"],
input[type="radio"] {
    accent-color: var(--edu-primary) !important;
}
input[type="checkbox"]:checked {
    accent-color: var(--edu-primary) !important;
}

/* ── Indicator / badge ──────────────────────────────────────────────────── */
.indicator-pill.blue,
.badge-primary {
    background-color: var(--edu-primary) !important;
}

/* ── Brand badge dot (apjakaltheme) ────────────────────────────────────── */
.apjakal-brand-badge .badge-dot {
    background-color: var(--edu-accent) !important;
}

/* ── Search highlight (awesomplete) ────────────────────────────────────── */
.awesomplete mark,
.awesomplete .highlight mark {
    background-color: rgba(27, 42, 107, 0.1) !important;
    color:            var(--edu-primary) !important;
}

/* ── Progress bars ─────────────────────────────────────────────────────── */
.progress-bar { background-color: var(--edu-primary) !important; }

/* ── List view — selected row ──────────────────────────────────────────── */
.list-row.checked,
.list-row-container.checked {
    background-color: var(--edu-primary-light) !important;
}

/* ── Frappe desk workspace card hover ──────────────────────────────────── */
.widget.shortcut-widget-box:hover .widget-head .widget-title,
.widget.links-widget-box a:hover {
    color: var(--edu-primary) !important;
}

/* ── Splash screen ─────────────────────────────────────────────────────── */
.splash { background: var(--edu-navy) !important; }
.splash .splash-icon {
    background: transparent !important;
    position:   relative;
}
.splash .splash-icon > * { display: none !important; visibility: hidden !important; }
.splash .splash-title {
    color:       var(--edu-accent) !important;
    font-size:   26px !important;
    font-weight: 300 !important;
}
.splash .splash-description { color: #c5d5e4 !important; }
.splash .spinner {
    border-color:     rgba(27, 42, 107, 0.2)  !important;
    border-top-color: var(--edu-accent)        !important;
}

[data-theme="dark"] .splash { background: #070F28 !important; }
[data-theme="dark"] .splash .splash-title { color: var(--edu-accent) !important; }

/* ── Like / toggle active states ───────────────────────────────────────── */
.like-active-item .like-action.active,
.liked-by .like-action.active {
    color: var(--edu-accent) !important;
}

/* ── Page indicator (breadcrumb active) ────────────────────────────────── */
.breadcrumb-item.active,
.breadcrumb-item a {
    color: var(--edu-primary) !important;
}
.breadcrumb-item a:hover {
    color: var(--edu-primary-hover) !important;
}
