/* =========================================
   CLEAN MINIMALIST UI CUSTOM STYLES
========================================= */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

html {
    scroll-behavior: smooth;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Modern Rounded Scrollbar */
.custom-scrollbar::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
.custom-scrollbar::-webkit-scrollbar-track {
    background: transparent;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 10px;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* Subtle Hover Lift */
.lift-hover {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.lift-hover:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.025);
}

/* =========================================
   CLEAN HIERARCHY TREE CHART STYLES
========================================= */
.org-tree {
    display: flex;
    justify-content: center;
    padding: 20px 0;
}

.org-tree ul {
    padding-top: 24px; 
    position: relative;
    display: flex;
    justify-content: center;
}

.org-tree li {
    float: left; text-align: center;
    list-style-type: none;
    position: relative;
    padding: 24px 8px 0 8px;
}

/* Connectors */
.org-tree li::before, .org-tree li::after{
    content: '';
    position: absolute; top: 0; right: 50%;
    border-top: 2px solid #94a3b8; /* slate-400 */
    width: 50%; height: 24px;
}
.org-tree li::after{
    right: auto; left: 50%;
    border-left: 2px solid #94a3b8;
}

/* Remove left-right connectors from elements without any siblings */
.org-tree li:only-child::after, .org-tree li:only-child::before {
    display: none;
}
.org-tree li:only-child{ padding-top: 0;}

/* Remove left connector from first child and right connector from last child */
.org-tree li:first-child::before, .org-tree li:last-child::after{
    border: 0 none;
}
/* Add back vertical connector */
.org-tree li:last-child::before{
    border-right: 2px solid #94a3b8;
    border-radius: 0 8px 0 0;
}
.org-tree li:first-child::after{
    border-radius: 8px 0 0 0;
}

/* Downward connectors from parents */
.org-tree ul ul::before{
    content: '';
    position: absolute; top: 0; left: 50%;
    border-left: 2px solid #94a3b8;
    width: 0; height: 24px;
}

.org-node {
    display: inline-block;
    position: relative;
    z-index: 10;
}
