:root{--bg:#0f1115;--bg-panel:#171a21;--bg-hover:#1f242e;--border:#2a2f3a;--text:#e6e8ec;--text-muted:#9aa3b2;--accent:#4f8cff;--info:#4f8cff;--warn:#f5a623;--error:#ff5c5c;--success:#2ecc71}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font-family:inherit}input,select{font-size:14px}.container{max-width:1200px;margin:0 auto;padding:24px}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:16px}.muted{color:var(--text-muted)}.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge-info{background:rgba(79,140,255,.15);color:var(--info)}.badge-warn{background:rgba(245,166,35,.15);color:var(--warn)}.badge-error{background:rgba(255,92,92,.15);color:var(--error)}.log-table{width:100%;border-collapse:collapse}.log-table td,.log-table th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}.log-table th{color:var(--text-muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em;position:-webkit-sticky;position:sticky;top:0;background:var(--bg-panel)}.log-table tr:hover td{background:var(--bg-hover)}.log-message{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;word-break:break-word}.log-time{white-space:nowrap}.log-additionals,.log-time{color:var(--text-muted);font-size:12px}.log-additionals{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;word-break:break-word}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field label,.field-label{color:var(--text-muted);font-size:13px}.input,.select{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:8px 10px;outline:none}.input:focus,.select:focus{border-color:var(--accent)}.btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer}.btn:hover{opacity:.9}.btn-secondary{background:var(--bg-hover);color:var(--text);border:1px solid var(--border)}.btn-danger{background:var(--error)}.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:16px}.filters .field{margin-bottom:0}.filters .field-wide{flex-basis:100%}.attr-filters{display:flex;flex-direction:column;gap:8px}.attr-row{display:flex;align-items:center;gap:8px}.attr-row .input{flex:1 1}.time-row{flex-wrap:wrap}.time-range,.time-row{display:flex;align-items:center;gap:8px}.pagination{display:flex;align-items:center;gap:12px;margin-top:16px}.pagination .muted{margin-right:auto}.details{margin-top:4px}.details summary{cursor:pointer;color:var(--accent);font-size:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.error-text{color:var(--error);font-size:13px;margin-top:8px}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-card{width:100%;max-width:360px}.login-card h1{margin-top:0;font-size:20px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page-header h1{margin:0;font-size:22px}.loading{color:var(--text-muted);padding:24px;text-align:center}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border)}.tab{background:transparent;color:var(--text-muted);border:none;border-bottom:2px solid transparent;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer}.tab:hover{color:var(--text)}.tab-active{color:var(--accent);border-bottom-color:var(--accent)}.waterfall-track{position:relative;height:20px;background:var(--bg);border-radius:4px;overflow:hidden}.waterfall-bar{position:absolute;top:3px;bottom:3px;background:var(--accent);border-radius:3px;min-width:2px}.waterfall-bar-error{background:var(--error)}