/* Log Viewer — styles for MwLogViewer component */

.mw-lv {
    display: flex;
    flex-direction: column;
    height: 100%;
    font-family: "JetBrains Mono", "Fira Code", ui-monospace, monospace;
    font-size: 11px;
    background: #1e1e1e;
    color: #d4d4d4;
    overflow: hidden;
}

.mw-lv-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 10px;
    background: #252526;
    border-bottom: 1px solid #3e3e42;
    flex-shrink: 0;
}

.mw-lv-title {
    font-weight: 600;
    color: #cccccc;
    font-size: 12px;
}

.mw-lv-controls {
    display: flex;
    align-items: center;
    gap: 8px;
}

.mw-lv-search {
    background: #3c3c3c;
    color: #d4d4d4;
    border: 1px solid #3e3e42;
    border-radius: 3px;
    padding: 3px 6px;
    font-family: inherit;
    font-size: 11px;
    width: 160px;
}

.mw-lv-search:focus {
    outline: 1px solid #007acc;
    border-color: #007acc;
}

.mw-lv-level-filter {
    background: #3c3c3c;
    color: #d4d4d4;
    border: 1px solid #3e3e42;
    border-radius: 3px;
    padding: 3px 6px;
    font-family: inherit;
    font-size: 11px;
}

.mw-lv-checkbox {
    display: flex;
    align-items: center;
    gap: 4px;
    color: #cccccc;
    cursor: pointer;
    user-select: none;
}

.mw-lv-btn {
    background: #0e639c;
    color: #ffffff;
    border: none;
    border-radius: 3px;
    padding: 3px 10px;
    font-size: 11px;
    cursor: pointer;
    display: flex;
    align-items: center;
}

.mw-lv-btn:hover {
    background: #1177bb;
}

.mw-lv-body {
    flex: 1;
    overflow-y: auto;
    padding: 4px 0;
}

.mw-lv-row {
    display: flex;
    gap: 8px;
    padding: 2px 10px;
    border-left: 3px solid transparent;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-word;
}

.mw-lv-row:hover {
    background: #2a2d2e;
}

.mw-lv-ts {
    color: #858585;
    flex-shrink: 0;
}

.mw-lv-level {
    font-weight: 600;
    flex-shrink: 0;
    width: 28px;
}

.mw-lv-src {
    color: #569cd6;
    flex-shrink: 0;
    max-width: 160px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.mw-lv-msg {
    flex: 1;
    color: #d4d4d4;
}

.mw-lv-ex {
    color: #f48771;
    background: #2d1f1f;
    padding: 6px 10px;
    margin: 4px 0 4px 44px;
    border-radius: 3px;
    font-size: 10px;
    white-space: pre-wrap;
    overflow-x: auto;
}

/* Level colors */
.mw-lv-row--verbose {
    border-left-color: #666666;
}
.mw-lv-row--verbose .mw-lv-level {
    color: #858585;
}

.mw-lv-row--debug {
    border-left-color: #808080;
}
.mw-lv-row--debug .mw-lv-level {
    color: #9cdcfe;
}

.mw-lv-row--info {
    border-left-color: #4ec9b0;
}
.mw-lv-row--info .mw-lv-level {
    color: #4ec9b0;
}

.mw-lv-row--warn {
    border-left-color: #dcdcaa;
    background: #2e2a1f;
}
.mw-lv-row--warn .mw-lv-level {
    color: #dcdcaa;
}

.mw-lv-row--error {
    border-left-color: #f48771;
    background: #2d1f1f;
}
.mw-lv-row--error .mw-lv-level {
    color: #f48771;
}

.mw-lv-row--fatal {
    border-left-color: #ff6b6b;
    background: #3d1f1f;
}
.mw-lv-row--fatal .mw-lv-level {
    color: #ff6b6b;
    font-weight: 700;
}
