/* Common application styles shared across multiple pages */

/* ==================== FILE CARD STYLES ==================== */
/* Used in Admin.html and Interns.html */
.file-card {
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.file-card:hover {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

/* ==================== INPUT GROUP FIX ==================== */
/* Fix custom-file width in input-group to keep buttons on same line */
.input-group > .custom-file {
    flex: 1 1 auto;
    width: 1%;
}

/* ==================== COLLAPSE ICON STYLES ==================== */
/* Used in Admin.html for collapsible sections */
.collapse-icon {
    transition: transform 0.3s ease;
}

.collapsed .collapse-icon {
    transform: rotate(-90deg);
}

/* ==================== DARK MODE OVERRIDES ==================== */
/* Theme toggle icons */
.theme-icon-light { display: none; }
[data-bs-theme="dark"] .theme-icon-dark { display: none !important; }
[data-bs-theme="dark"] .theme-icon-light { display: inline !important; }

/* Timeline/Editor specific (not Bootstrap components) */
[data-bs-theme="dark"] .word-timeline,
[data-bs-theme="dark"] #sliders {
    background-color: var(--bs-tertiary-bg) !important;
}

[data-bs-theme="dark"] .timeline-title {
    background-color: var(--bs-body-bg);
}

/* Brand logo text */
[data-bs-theme="dark"] .brand-logo-wrap a {
    color: var(--bs-body-color) !important;
}

/* File cards hover shadow adjustment */
[data-bs-theme="dark"] .file-card:hover {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.4);
}

/* ==================== TIMELINE FLEXBOX OVERRIDES ==================== */
/* Override core.css absolute-positioned timeline styles to work with
   the flex-based layout in timeline.html */

.timeline-container:before {
    display: none;
}

.timeline-container i.badge:after {
    display: none;
}

.timeline-container i.badge {
    position: relative;
    z-index: 1;
    width: 17px;
    height: 17px;
    min-width: 17px;
    padding: 0;
    border-width: 4px;
    border-style: solid;
    flex-shrink: 0;
    left: 0;
    top: 0;
}

.timeline-container .timeline-title {
    margin-left: 0;
    padding-left: 0;
    border-left: none;
}

/* Connecting line between dots */
.timeline-line {
    position: absolute;
    width: 4px;
    left: 6.5px;
    top: calc(0.5rem + 17px);
    bottom: calc(-1.5rem - 0.5rem - 8px);
    border-radius: 2px;
}

.timeline-line-success {
    background-color: var(--bs-success);
}

.timeline-line-active {
    background-color: var(--bs-warning);
}

.timeline-line-danger {
    background-color: #feeef0;
}

.timeline-line-default {
    background-color: #f1f4f8;
}

[data-bs-theme="dark"] .timeline-line-default {
    background-color: var(--bs-tertiary-bg);
}

