.gf-log-timeline {
    position: relative;
    padding-left: 1.75rem;
    margin-left: 0.25rem;
}

.gf-submission-accordion .gf-log-timeline {
    max-height: 360px;
    overflow-y: auto;
    padding-right: 0.5rem;
}

.gf-submission-compliance-meta .gf-log-timeline {
    max-height: 260px;
    overflow-y: auto;
    padding-right: 0.5rem;
}

.gf-compliance-meta-title {
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--gf-color-text);
    margin-bottom: 0.35rem;
}

.gf-ua-icon {
    width: 14px;
    height: 14px;
    opacity: 0.7;
}

.gf-compliance-icon {
    width: 24px;
    height: 24px;
    opacity: 0.8;
    border-radius: 3px;
}

.gf-meta-event-title {
    font-weight: 600;
    color: var(--gf-color-text);
    font-size: 0.78rem;
}

.gf-meta-event-details {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-top: 0.25rem;
}

.gf-meta-chip {
    display: flex;
    align-items: baseline;
    gap: 0.35rem;
    font-size: 0.7rem;
    color: var(--gf-color-text-light);
}

.gf-meta-chip-label {
    font-weight: 600;
    letter-spacing: 0.01em;
    color: var(--gf-color-text);
}

.gf-meta-chip-value {
    color: var(--gf-color-text-light);
}

.gf-meta-chip-mono {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    letter-spacing: 0.02em;
}

.gf-compliance-meta-section {
    padding-bottom: 0.75rem;
    margin-bottom: 0.75rem;
    border-bottom: 1px solid var(--gf-color-border);
}

.gf-compliance-meta-section-last {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

.gf-integration-info-sidebar .gf-log-timeline {
    max-height: 320px;
    overflow-y: auto;
    padding-right: 0.5rem;
}

.gf-log-entry {
    position: relative;
    padding-bottom: 1rem;
}

.gf-log-entry::before {
    content: '';
    position: absolute;
    left: -19px;
    top: 0.2rem;
    bottom: -1rem;
    width: 1px;
    background-color: var(--gf-color-border);
}

.gf-log-entry:last-child::before {
    display: none;
}

.gf-log-entry:last-child {
    padding-bottom: 0;
}

.gf-log-node {
    position: absolute;
    left: -26px;
    top: -4px;
    border-radius: 50%;
    box-shadow: 0 0 0 2px #ffffff;
    background-color: #9ca3af;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 0;
}

.gf-log-node:has(img) {
    border: none;
    box-shadow: none;
    border-radius: 0;
    background-color: #fff !important;
}

.gf-log-node-error { background-color: var(--gf-color-danger); }
.gf-log-node-success { background-color: var(--gf-color-success); }
.gf-log-node-warning { background-color: var(--gf-color-warning); }
.gf-log-node-info { background-color: transparent; }
.gf-log-node-placeholder { background-color: #eef1f4; }
.gf-log-node-future { background-color: #cbd5e1; }

.gf-log-node img {
    width: 1rem;
    height: 1rem;
    object-fit: contain;
}

.gf-log-content {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.gf-log-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    font-size: 0.75rem;
    letter-spacing: 0.015em;
}

.gf-log-time-row {
    font-size: 0.68rem;
    letter-spacing: 0.02em;
}

.gf-log-type {
    font-size: 0.52rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 0.08rem 0.35rem;
    border-radius: 999px;
    background: transparent;
    border: 1px solid currentColor;
    opacity: 0.55;
}

.gf-log-type-error { color: var(--gf-color-danger); }
.gf-log-type-success { color: var(--gf-color-success); }
.gf-log-type-warning { color: var(--gf-color-warning); }
.gf-log-type-info { color: var(--gf-color-info); }

.gf-log-category {
    color: var(--gf-color-text);
    font-weight: 500;
    font-size: 0.72rem;
    letter-spacing: 0.01em;
}

.gf-log-time {
    color: var(--gf-color-text-light);
    font-weight: 500;
}

.gf-log-message {
    word-break: break-word;
    white-space: normal;
    line-height: 1.5;
    font-size: 0.74rem;
    color: var(--gf-color-text);
}

.gf-log-empty {
    padding: 0.5rem 0;
}

.gf-log-entry-placeholder .placeholder {
    border-radius: 4px;
    background-color: #eef1f4;
}

.gf-log-entry-placeholder .gf-log-node .placeholder {
    width: 14px;
    height: 14px;
    border-radius: 50%;
}

.gf-log-entry-future {
    opacity: 0.7;
}

@keyframes gf-hourglass-rotate {
    0% { transform: rotate(0deg); }
    50% { transform: rotate(180deg); }
    100% { transform: rotate(360deg); }
}

.gf-log-node-future img {
    animation: gf-hourglass-rotate 2.4s ease-in-out infinite;
    transform-origin: center;
}
