/* ============================================
   DevLab Color Palette - Professional Theme
   ============================================ */

/* DevLab Color Palette */
:root {
    --devlab-blue: #4A9EFF;
    --devlab-dark-blue: #2E7FD9;
    --devlab-light-blue: #6BB3FF;
    --devlab-accent-blue: #5AA8FF;
    --devlab-black: #1A1A1A;
    --devlab-dark-gray: #2C2C2C;
    --devlab-gray: #666666;
    --devlab-light-gray: #F5F5F5;
    --devlab-medium-gray: #CCCCCC;
    --devlab-border-gray: #E0E0E0;
    --devlab-white: #FFFFFF;
    --devlab-text-dark: #333333;
    --devlab-code-bg: #F8F8F8;
}

/* ============================================
   Override Doxygen Default Colors
   ============================================ */

/* Override Doxygen default blue colors */
:root {
    --primary-color: var(--devlab-blue) !important;
    --primary-dark-color: var(--devlab-dark-blue) !important;
    --primary-light-color: var(--devlab-light-blue) !important;
    --nav-text-color: var(--devlab-white) !important;
    --nav-background-color: var(--devlab-black) !important;
}

/* Force override of any remaining blue colors */
div, span, a, td, th, li {
    border-color: var(--devlab-border-gray) !important;
}

.highlight,
.highlighted,
.selected,
.current {
    background-color: var(--devlab-blue) !important;
    color: var(--devlab-white) !important;
}

/* Fix white text on white background issues */
div.header,
.title,
.summary a,
.memtitle {
    color: var(--devlab-text-dark) !important;
}

/* Ensure breadcrumbs are visible */
div.header .headertitle,
div.header .title,
div.summary {
    color: var(--devlab-text-dark) !important;
}

div.header .headertitle .title {
    color: var(--devlab-dark-blue) !important;
    font-weight: bold;
}

/* ============================================
   General Page Styling
   ============================================ */

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, Arial, sans-serif;
    background-color: var(--devlab-white);
    color: var(--devlab-text-dark);
    line-height: 1.6;
    margin: 0;
    padding: 0;
}

/* Header Styling - DevLab Theme */
#titlearea {
    background: linear-gradient(180deg, var(--devlab-blue) 0%, var(--devlab-dark-blue) 100%);
    border-bottom: 3px solid var(--devlab-dark-blue);
    padding: 20px 0;
    color: var(--devlab-white);
}

#projectname {
    font-size: 28px;
    font-weight: 600;
    color: var(--devlab-white) !important;
    margin: 0;
    padding: 0;
}

#projectbrief {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 14px;
    margin-top: 5px;
}

#projectnumber {
    color: rgba(255, 255, 255, 0.8) !important;
    font-size: 12px;
}

/* ============================================
   Navigation Menu - DevLab Theme
   ============================================ */

/* Main navigation bar - Black background with white text */
#main-menu,
#main-nav,
#top {
    background-color: var(--devlab-black) !important;
    border-bottom: 2px solid var(--devlab-blue) !important;
}

/* Menu items - White text on dark background */
.sm-dox,
.sm-dox ul {
    background-color: var(--devlab-black) !important;
}

.sm-dox a {
    color: #FFFFFF !important;
    background-color: transparent !important;
    text-decoration: none !important;
}

.sm-dox a:hover {
    background-color: var(--devlab-blue) !important;
    color: #FFFFFF !important;
}

.sm-dox li {
    border: none !important;
}

/* Tabs styling - Visible and functional */
.tabs, 
.tabs2, 
.tabs3 {
    background: var(--devlab-light-gray) !important;
    border-bottom: 2px solid var(--devlab-blue) !important;
}

.tablist {
    margin: 0 !important;
    padding: 0 !important;
}

.tablist li {
    background: var(--devlab-medium-gray) !important;
    display: inline-block !important;
}

.tablist a {
    color: var(--devlab-text-dark) !important;
    padding: 8px 16px !important;
    display: inline-block !important;
}

.tablist a:hover,
.tablist li:hover {
    background: var(--devlab-blue) !important;
}

.tablist li:hover a {
    color: #FFFFFF !important;
}

.tablist li.current {
    background: var(--devlab-blue) !important;
}

.tablist li.current a {
    color: #FFFFFF !important;
}

/* Tree navigation */
#nav-tree {
    background-color: var(--devlab-light-gray) !important;
}

#nav-tree a {
    color: var(--devlab-text-dark) !important;
}

.tablist li.current a {
    background: var(--devlab-blue);
    color: var(--devlab-white);
}

/* ============================================
   Sidebar / Tree View
   ============================================ */

#side-nav {
    background-color: var(--devlab-light-gray);
    border-right: 1px solid var(--devlab-border-gray);
    padding: 10px;
}

#nav-tree {
    background-color: var(--devlab-light-gray);
}

#nav-tree .item {
    color: var(--devlab-dark-gray);
}

#nav-tree .selected {
    background-color: var(--devlab-blue);
    color: var(--devlab-white);
    border-radius: 3px;
}

#nav-tree a:hover {
    background-color: var(--devlab-blue);
    color: var(--devlab-white);
    border-radius: 3px;
}

/* ============================================
   Content Area
   ============================================ */

#doc-content {
    background-color: var(--devlab-white) !important;
    padding: 20px;
}

.contents {
    padding: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

/* Page title and headers */
.PageDoc,
.title,
h1.title,
.PageDocTitle {
    color: var(--devlab-text-dark) !important;
    background-color: transparent !important;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    color: var(--devlab-text-dark) !important;
    font-weight: 600;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    border-bottom: 2px solid var(--devlab-blue);
    padding-bottom: 5px;
    background-color: transparent !important;
}

h1 {
    font-size: 26px;
    color: var(--devlab-dark-blue) !important;
}

h2 {
    font-size: 22px;
    color: var(--devlab-text-dark) !important;
}

h3 {
    font-size: 18px;
    border-bottom: 1px solid var(--devlab-medium-gray);
}

h4, h5, h6 {
    border-bottom: none;
}

/* Links */
a {
    color: var(--devlab-blue) !important;
    text-decoration: none;
}

a:hover {
    color: var(--devlab-dark-blue) !important;
    text-decoration: underline;
}

a:visited {
    color: var(--devlab-dark-blue) !important;
}

/* Override specific link types */
a.el,
a.elRef,
.contents a:visited.el {
    color: var(--devlab-blue) !important;
}

/* Additional link overrides */
.fieldtable a,
.memberdecls a,
.memdoc a,
div.line a,
.arrow {
    color: var(--devlab-blue) !important;
}

/* Hover states for all links */
.fieldtable a:hover,
.memberdecls a:hover,
.memdoc a:hover,
div.line a:hover {
    color: var(--devlab-dark-blue) !important;
}

/* ============================================
   Code Blocks
   ============================================ */

.fragment, pre.fragment {
    background-color: var(--devlab-code-bg);
    border: 1px solid var(--devlab-border-gray);
    border-left: 4px solid var(--devlab-blue);
    padding: 15px;
    border-radius: 4px;
    overflow-x: auto;
    font-family: 'Courier New', Courier, monospace;
    font-size: 13px;
    line-height: 1.4;
}

code {
    background-color: var(--devlab-code-bg);
    padding: 2px 6px;
    border-radius: 3px;
    font-family: 'Courier New', Courier, monospace;
    font-size: 90%;
    color: var(--devlab-dark-blue);
}

/* ============================================
   Tables
   ============================================ */

table.memberdecls,
table.fieldtable,
table.params {
    border-collapse: collapse;
    width: 100%;
    margin: 15px 0;
    border: 1px solid var(--devlab-border-gray);
}

table.memberdecls th,
table.fieldtable th,
table.params th {
    background: linear-gradient(180deg, var(--devlab-blue) 0%, var(--devlab-dark-blue) 100%);
    color: var(--devlab-white);
    padding: 10px;
    text-align: left;
    font-weight: 600;
}

table.memberdecls td,
table.fieldtable td,
table.params td {
    padding: 8px 10px;
    border: 1px solid var(--devlab-border-gray);
}

table.memberdecls tr:nth-child(even),
table.fieldtable tr:nth-child(even),
table.params tr:nth-child(even) {
    background-color: var(--devlab-light-gray);
}

table.memberdecls tr:hover,
table.fieldtable tr:hover,
table.params tr:hover {
    background-color: #FFE6E6;
}

/* ============================================
   Function/Class Documentation
   ============================================ */

.memitem {
    background-color: var(--devlab-white);
    border: 1px solid var(--devlab-border-gray);
    border-radius: 5px;
    margin: 20px 0;
    padding: 0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.memproto {
    background: linear-gradient(180deg, var(--devlab-light-gray) 0%, var(--devlab-white) 100%);
    border-bottom: 2px solid var(--devlab-blue);
    padding: 15px;
    font-family: 'Courier New', Courier, monospace;
    border-radius: 5px 5px 0 0;
}

.memdoc {
    padding: 15px;
    background-color: var(--devlab-white);
}

.memname {
    color: var(--devlab-blue) !important;
    font-weight: bold;
}

.paramname {
    color: var(--devlab-dark-blue) !important;
    font-style: italic;
}

.paramtype {
    color: var(--devlab-gray) !important;
}

/* ============================================
   Buttons and UI Elements
   ============================================ */

.ui-button,
button,
input[type="button"],
input[type="submit"] {
    background: linear-gradient(180deg, var(--devlab-blue) 0%, var(--devlab-dark-blue) 100%);
    color: var(--devlab-white);
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 600;
    transition: all 0.3s ease;
}

.ui-button:hover,
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover {
    background: var(--devlab-accent-blue);
    box-shadow: 0 2px 8px rgba(74, 158, 255, 0.4);
}

/* ============================================
   Warning/Note Boxes
   ============================================ */

dl.warning,
dl.attention,
dl.note,
dl.todo,
dl.bug {
    border-left: 4px solid;
    padding: 10px 15px;
    margin: 15px 0;
    border-radius: 4px;
}

dl.warning {
    background-color: #FFF3CD;
    border-left-color: #FFC107;
}

dl.attention {
    background-color: #FFE6E6;
    border-left-color: var(--devlab-blue);
}

dl.note {
    background-color: #E7F3FF;
    border-left-color: var(--devlab-blue);
}

dl.todo {
    background-color: #F0F0F0;
    border-left-color: var(--devlab-gray);
}

dl.bug {
    background-color: #FFEBEE;
    border-left-color: #D32F2F;
}

/* ============================================
   Footer
   ============================================ */

#nav-path {
    background-color: var(--devlab-light-gray) !important;
    border-top: 2px solid var(--devlab-blue) !important;
    padding: 10px;
}

.navpath li,
.navpath li a {
    color: var(--devlab-dark-gray) !important;
}

.navpath li a:hover {
    color: var(--devlab-blue) !important;
}

hr.footer {
    border-top: 1px solid var(--devlab-border-gray);
    margin-top: 30px;
}

.footer {
    color: var(--devlab-gray) !important;
}

/* ============================================
   Search Box
   ============================================ */

#MSearchBox {
    background-color: var(--devlab-white);
    border: 1px solid var(--devlab-border-gray);
    border-radius: 4px;
}

#MSearchField {
    background-color: var(--devlab-white);
    color: var(--devlab-dark-gray);
    border: none;
    padding: 5px 10px;
}

/* ============================================
   Responsive Design
   ============================================ */

@media screen and (max-width: 768px) {
    #projectname {
        font-size: 22px;
    }
    
    .contents {
        padding: 10px;
    }
    
    .tablist a {
        padding: 6px 12px;
        font-size: 14px;
    }
}

/* ============================================
   Custom Additions
   ============================================ */

/* Logo area if you add one */
#projectlogo img {
    max-height: 60px;
    margin-right: 20px;
}

/* Improve readability */
p {
    margin: 1em 0;
}

/* Better list styling */
ul, ol {
    margin: 1em 0;
    padding-left: 2em;
}

li {
    margin: 0.5em 0;
}

/* Enhanced documentation sections */
.textblock {
    line-height: 1.7;
}

/* ============================================
   Additional Color Overrides (No Blue!)
   ============================================ */

/* Directory and file listings */
.directory .levels span,
.directory .arrow {
    color: var(--devlab-blue) !important;
}

.icona,
.icon {
    background-color: var(--devlab-light-gray) !important;
    color: var(--devlab-blue) !important;
}

/* Class and member items */
.mdescLeft,
.mdescRight,
.memItemLeft,
.memItemRight,
.memTemplItemLeft,
.memTemplItemRight,
.memTemplParams {
    background-color: var(--devlab-light-gray) !important;
    border-color: var(--devlab-border-gray) !important;
}

/* Index items */
.indexkey {
    background-color: var(--devlab-light-gray) !important;
    border-color: var(--devlab-border-gray) !important;
    color: var(--devlab-dark-gray) !important;
}

.indexvalue {
    background-color: var(--devlab-white) !important;
    border-color: var(--devlab-border-gray) !important;
}

/* Inheritance and collaboration graphs */
.inherit_header,
.groupheader {
    background-color: var(--devlab-light-gray) !important;
    border-bottom: 2px solid var(--devlab-blue) !important;
    color: var(--devlab-dark-gray) !important;
}

/* Code line numbers */
.lineno {
    color: var(--devlab-gray) !important;
    background-color: var(--devlab-light-gray) !important;
    border-right: 2px solid var(--devlab-blue) !important;
}

.lineno a {
    color: var(--devlab-gray) !important;
}

.lineno a:hover {
    color: var(--devlab-blue) !important;
    background-color: var(--devlab-white) !important;
}

/* Member item details */
.memitem .memproto {
    border-color: var(--devlab-blue) !important;
}

.memitem.glow {
    box-shadow: 0 0 15px var(--devlab-blue) !important;
}

/* Anchors and references */
.anchor {
    color: var(--devlab-blue) !important;
}

/* Definition lists */
dl.section {
    border-left: 4px solid var(--devlab-blue) !important;
}

/* Emphasized elements */
em,
.mlabels .mlabel {
    color: var(--devlab-dark-blue) !important;
}

/* Top menu bar */
#top {
    background-color: var(--devlab-dark-gray) !important;
    border-bottom: 2px solid var(--devlab-blue) !important;
}

/* Summary items */
.summary {
    background-color: var(--devlab-light-gray) !important;
}

.summary a {
    color: var(--devlab-blue) !important;
}

/* Tooltips and popups */
.ttc {
    border-color: var(--devlab-blue) !important;
}

/* Graph nodes */
.graph .node text {
    fill: var(--devlab-dark-gray) !important;
}

.graph .edge .label {
    fill: var(--devlab-gray) !important;
}

/* ============================================
   Additional Fixes for Text Visibility
   ============================================ */

/* Ensure all text in content area is visible */
.textblock,
.textblock p,
.contents p,
div.textblock {
    color: var(--devlab-text-dark) !important;
}

/* Directory listings */
.directory tr.even {
    background-color: var(--devlab-light-gray) !important;
}

.directory td,
.directory td.entry {
    color: var(--devlab-text-dark) !important;
}

/* Class list and member lists */
.memberdecls td,
.fieldtable td {
    color: var(--devlab-text-dark) !important;
}

/* Page navigation */
.pages a,
.navpath ul li a {
    color: var(--devlab-text-dark) !important;
}

.pages a:hover,
.navpath ul li a:hover {
    color: var(--devlab-blue) !important;
}

/* Ensure table headers are readable */
table thead th,
table.memberdecls th,
table.fieldtable th {
    color: var(--devlab-white) !important;
    background: linear-gradient(180deg, var(--devlab-blue) 0%, var(--devlab-dark-blue) 100%) !important;
}

/* Make sure all navigation text is visible */
#main-menu li,
#main-menu span,
.tablist li.current,
.sm-dox span.scroll-up,
.sm-dox span.scroll-down {
    color: #FFFFFF !important;
}

/* Breadcrumb trail */
div.header .title,
div.header .summary,
div.headertitle {
    color: var(--devlab-dark-gray) !important;
    background: transparent !important;
}

/* Ingroup text */
.ingroups,
.ingroups a {
    color: var(--devlab-gray) !important;
}

.ingroups a:hover {
    color: var(--devlab-blue) !important;
}

/* Documentation body text */
.memdoc,
.memdoc p,
.memdoc dl {
    color: var(--devlab-dark-gray) !important;
}

/* Function/method signatures */
.memname,
.memname td {
    color: var(--devlab-blue) !important;
}

/* Ensure dropdown menus are visible */
.sm-dox ul a,
.sm-dox ul a:hover,
.sm-dox ul a:focus {
    color: var(--devlab-white) !important;
    background-color: var(--devlab-gray) !important;
}

.sm-dox ul a:hover {
    background-color: var(--devlab-blue) !important;
}

/* File/directory icons */
.icondoc,
.iconfopen,
.iconfclosed {
    color: var(--devlab-blue) !important;
}


