:root{color-scheme:dark;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;line-height:1.5}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:#0a0e14;color:#c5cdd9}.app{display:grid;grid-template-rows:auto 1fr;min-height:100vh}.header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;background:#0d1117;border-bottom:1px solid #1b2230;gap:1rem;flex-wrap:wrap}.header-left{display:flex;align-items:center;gap:.75rem}.logo{font-size:1.1rem;font-weight:700;color:#58a6ff;letter-spacing:-.02em;white-space:nowrap}.logo-accent{color:#3fb950}.stats{display:flex;gap:1rem;font-size:.72rem;color:#c5cdd980}.stat-value{color:#c5cdd9;font-weight:600}.toolbar{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;background:#0d1117;border-bottom:1px solid #1b2230;flex-wrap:wrap}.search-box{flex:1;min-width:180px;position:relative}.search-box:before{content:"u2315";position:absolute;left:.5rem;top:50%;transform:translateY(-50%);color:#c5cdd959;font-size:.85rem;pointer-events:none}.search-input{width:100%;background:#161b22;border:1px solid #1b2230;border-radius:.375rem;color:#c5cdd9;font-family:inherit;font-size:.78rem;padding:.35rem .6rem .35rem 1.6rem;outline:none;transition:border-color .15s}.search-input:focus{border-color:#58a6ff}.search-input::placeholder{color:#c5cdd94d}.filter-group{display:flex;gap:.25rem}.filter-btn{background:#161b22;border:1px solid #1b2230;border-radius:.375rem;color:#c5cdd98c;font-family:inherit;font-size:.7rem;padding:.3rem .55rem;cursor:pointer;transition:all .15s;text-transform:uppercase;letter-spacing:.04em}.filter-btn:hover{color:#c5cdd9;border-color:#30363d}.filter-btn.active{background:#1b2230;color:#c5cdd9;border-color:#30363d}.filter-btn.active[data-level=error]{color:#f85149;border-color:#f851494d}.filter-btn.active[data-level=warn]{color:#d29922;border-color:#d299224d}.filter-btn.active[data-level=info]{color:#58a6ff;border-color:#58a6ff4d}.filter-btn.active[data-level=debug]{color:#8b949e;border-color:#8b949e4d}.filter-btn.active[data-level=audit]{color:#a371f7;border-color:#a371f74d}.toggle-btn{background:#161b22;border:1px solid #1b2230;border-radius:.375rem;color:#c5cdd98c;font-family:inherit;font-size:.7rem;padding:.3rem .6rem;cursor:pointer;transition:all .15s}.toggle-btn:hover{color:#c5cdd9}.toggle-btn.active{background:#1b2230;color:#58a6ff;border-color:#58a6ff4d}.clear-btn{background:transparent;border:1px solid #1b2230;border-radius:.375rem;color:#c5cdd966;font-family:inherit;font-size:.7rem;padding:.3rem .6rem;cursor:pointer;transition:all .15s}.clear-btn:hover{color:#f85149;border-color:#f851494d}.main-content{display:grid;grid-template-columns:1fr 280px;overflow:hidden}@media(max-width:860px){.main-content{grid-template-columns:1fr}.sidebar{display:none}}.log-list{overflow-y:auto;padding:0;margin:0;list-style:none}.log-entry{display:grid;grid-template-columns:8.5rem 3.5rem 10rem 1fr;gap:.5rem;padding:.3rem 1.25rem;border-bottom:1px solid rgba(27,34,48,.5);font-size:.76rem;line-height:1.45;transition:background .1s;align-items:start}.log-entry:hover{background:#58a6ff0a}.log-entry.level-error{border-left:2px solid #f85149}.log-entry.level-warn{border-left:2px solid #d29922}.log-entry.level-info{border-left:2px solid #58a6ff}.log-entry.level-debug{border-left:2px solid #484f58}.log-entry.level-audit{border-left:2px solid #a371f7}.log-ts{color:#c5cdd959;white-space:nowrap;-webkit-user-select:all;user-select:all}.log-level{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding-top:.1rem}.log-level.error{color:#f85149}.log-level.warn{color:#d29922}.log-level.info{color:#58a6ff}.log-level.debug{color:#8b949e}.log-level.audit{color:#a371f7}.log-source{color:#c5cdd980;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-message{color:#c5cdd9;word-break:break-word}.log-message .highlight{background:#d2992240;color:#e3b341;border-radius:2px;padding:0 2px}.log-detail-row{grid-column:1 / -1;background:#0d1117;margin:.25rem -1.25rem;padding:.6rem 1.25rem;border-bottom:1px solid rgba(27,34,48,.5);font-size:.73rem}.log-detail-row dl{display:grid;grid-template-columns:auto 1fr;gap:.2rem .75rem;margin:0}.log-detail-row dt{color:#c5cdd966}.log-detail-row dd{color:#c5cdd9;margin:0;word-break:break-all}.log-detail-meta{display:flex;gap:1rem;margin-top:.4rem;padding-top:.4rem;border-top:1px solid #1b2230}.log-detail-meta span{color:#c5cdd959;font-size:.68rem}.sidebar{background:#0d1117;border-left:1px solid #1b2230;overflow-y:auto;padding:1rem}.sidebar-section{margin-bottom:1.25rem}.sidebar-title{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#c5cdd966;margin:0 0 .6rem}.timeline-bar{display:flex;align-items:center;gap:.4rem;margin-bottom:.35rem;font-size:.72rem}.timeline-bar-label{width:2.5rem;text-align:right;color:#c5cdd973;font-size:.65rem}.timeline-bar-track{flex:1;height:6px;background:#161b22;border-radius:3px;overflow:hidden}.timeline-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.timeline-bar-fill.error{background:#f85149}.timeline-bar-fill.warn{background:#d29922}.timeline-bar-fill.info{background:#58a6ff}.timeline-bar-fill.debug{background:#484f58}.timeline-bar-fill.audit{background:#a371f7}.timeline-bar-count{width:2rem;text-align:right;color:#c5cdd980;font-size:.65rem}.source-item{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;font-size:.72rem;cursor:pointer;transition:color .15s}.source-item:hover,.source-item.active{color:#58a6ff}.source-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.source-count{color:#c5cdd959;font-size:.65rem;margin-left:.5rem}.sparkline-container{display:flex;align-items:flex-end;gap:1px;height:28px;padding:0}.sparkline-bar{flex:1;background:#58a6ff4d;border-radius:1px 1px 0 0;min-height:1px;transition:height .2s ease}.sparkline-labels{display:flex;justify-content:space-between;font-size:.6rem;color:#c5cdd940;margin-top:.25rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:#0d1117;border:1px solid #1b2230;border-radius:.5rem;padding:1.25rem;width:90%;max-width:480px}.modal h2{margin:0 0 1rem;font-size:.9rem;font-weight:600;color:#c5cdd9}.modal-field{margin-bottom:.75rem}.modal-field label{display:block;font-size:.7rem;color:#c5cdd980;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.04em}.modal-field input,.modal-field select,.modal-field textarea{width:100%;background:#161b22;border:1px solid #1b2230;border-radius:.375rem;color:#c5cdd9;font-family:inherit;font-size:.78rem;padding:.4rem .6rem;outline:none}.modal-field textarea{resize:vertical;min-height:3.5rem}.modal-field input:focus,.modal-field select:focus,.modal-field textarea:focus{border-color:#58a6ff}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.btn{font-family:inherit;font-size:.75rem;padding:.4rem .85rem;border-radius:.375rem;cursor:pointer;transition:all .15s}.btn-cancel{background:transparent;border:1px solid #1b2230;color:#c5cdd98c}.btn-cancel:hover{color:#c5cdd9}.btn-primary{background:#238636;border:1px solid #2ea043;color:#fff}.btn-primary:hover{background:#2ea043}.empty-state{display:grid;place-items:center;padding:3rem;color:#c5cdd94d;font-size:.8rem}.log-list::-webkit-scrollbar,.sidebar::-webkit-scrollbar{width:6px}.log-list::-webkit-scrollbar-track,.sidebar::-webkit-scrollbar-track{background:transparent}.log-list::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background:#1b2230;border-radius:3px}.log-list::-webkit-scrollbar-thumb:hover,.sidebar::-webkit-scrollbar-thumb:hover{background:#30363d}
