/* Logs page */
.page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.page-header h1{font-size:1.35rem;font-family:var(--display);font-weight:700;letter-spacing:-0.02em;display:flex;align-items:center;gap:10px}
.page-header-left{display:flex;align-items:center;gap:10px}
.page-header-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.action-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font-size:0.75rem;font-weight:500;cursor:pointer;transition:all 0.15s;font-family:var(--font);white-space:nowrap;box-shadow:var(--clay-shadow)}
.action-btn:hover{color:var(--text-primary);border-color:var(--accent);background:var(--bg-elevated)}
.action-btn.danger:hover{border-color:var(--danger);color:var(--danger)}
.action-btn:disabled{opacity:0.5;cursor:not-allowed;pointer-events:none}
#requestLogContainer{min-height:200px}
#requestLogEmpty{padding:60px 16px;text-align:center;color:var(--text-secondary);font-size:0.875rem;display:block}
#requestLogEmpty::before{content:'';display:block;width:40px;height:40px;margin:0 auto 16px;opacity:0.3;background:var(--border);border-radius:50%}
.req-entry{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin-bottom:8px;animation:fadeIn 0.3s ease;box-shadow:var(--clay-shadow),var(--clay-puff)}
@keyframes fadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.req-header{display:flex;align-items:center;gap:8px;padding:4px 0;flex-wrap:wrap}
.req-ts{font-family:var(--mono);font-size:0.7rem;color:var(--text-secondary);flex-shrink:0}
.req-detail{padding:4px 0 0 0}
.req-section-label{font-size:0.65rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-secondary);margin:8px 0 4px;font-weight:500}
.req-block{background:var(--bg-elevated);border-radius:var(--radius-sm);padding:10px 12px;font-family:var(--mono);font-size:0.7rem;line-height:1.6;white-space:pre-wrap;word-break:break-all;color:var(--text-primary);max-height:300px;overflow:auto}
.req-block pre{margin:0;white-space:pre-wrap;word-break:break-all;font-family:var(--mono);font-size:0.7rem;line-height:1.6;color:var(--text-primary)}
.foldable-section{border:1px solid var(--border);border-radius:var(--radius-sm);margin:6px 0;overflow:hidden;box-shadow:var(--clay-shadow)}
.foldable-header{cursor:pointer;user-select:none;display:flex;align-items:center;gap:6px;padding:6px 8px;font-size:0.65rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-secondary);font-weight:500;background:var(--bg-elevated)}
.foldable-header:hover{color:var(--text-primary)}
.fold-toggle{display:inline-block;transition:transform .2s;font-size:9px}
.foldable-header.collapsed .fold-toggle{transform:rotate(0deg)}
.foldable-header:not(.collapsed) .fold-toggle{transform:rotate(90deg)}
.foldable-body.collapsed{display:none}
.foldable-body:not(.collapsed){padding:4px 8px}
.req-error-top{margin-bottom:8px;padding:8px 12px;background:var(--danger-soft);border-radius:var(--radius-sm)}
.req-output-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(max-width:600px){.req-output-grid{grid-template-columns:1fr}}
.msg-header{cursor:pointer;user-select:none;display:inline-flex;align-items:center;gap:4px;padding:2px 0}
.msg-header .fold-toggle{display:inline-block;transition:transform .2s;font-size:7px;margin-right:2px}
.msg-header.collapsed .fold-toggle{transform:rotate(0deg)}
.msg-header:not(.collapsed) .fold-toggle{transform:rotate(90deg)}
.msg-body.collapsed{display:none}
.msg-body:not(.collapsed){max-height:250px;overflow-y:auto}
.load-more-btn{display:block;width:100%;padding:10px;margin:8px 0;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;font-size:0.8125rem;font-weight:500;text-align:center;transition:all 0.2s;font-family:var(--font)}
.load-more-btn:hover{background:var(--accent);color:var(--text-primary)}
.load-more-btn:disabled{opacity:0.5;cursor:not-allowed}
.conn-status{font-size:0.65rem;font-weight:500;display:flex;align-items:center;gap:4px;padding:2px 8px;border-radius:9999px;transition:all 0.3s}
.conn-status.connected{background:var(--success-soft);color:var(--success)}
.conn-status.disconnected{background:var(--danger-soft);color:var(--danger)}
.conn-status.connecting{background:var(--warning-soft);color:var(--warning)}
.count-badge{font-size:0.65rem;color:var(--text-secondary);background:var(--bg-elevated);padding:2px 8px;border-radius:9999px;font-family:var(--mono)}
#entryCount{font-size:0.75rem;color:var(--text-secondary);font-family:var(--mono)}
@media(max-width:600px){.page-header{flex-direction:column;align-items:flex-start}.page-header-right{width:100%;justify-content:flex-start}.req-header{gap:4px}.req-entry{padding:8px}.main-content{padding:12px}}