:root{--bg: #0f1115;--panel: #181b22;--border: #2a2f3a;--text: #e6e8ec;--muted: #9aa3b2;--accent: #4f8cff;--ok: #34c759;--err: #ff5a5f;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}.app-shell{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--panel);border-right:1px solid var(--border);padding:20px 16px;display:flex;flex-direction:column}.sidebar h1{font-size:16px;margin:0 0 20px}.sidebar nav a{display:block;padding:8px 10px;border-radius:6px;color:var(--muted);margin-bottom:4px}.sidebar nav a.active,.sidebar nav a:hover{background:#222633;color:var(--text)}.content{flex:1;padding:28px 32px}.badge{padding:2px 8px;border-radius:999px;font-size:12px}.badge.ok{background:#34c75926;color:var(--ok)}.badge.err{background:#ff5a5f26;color:var(--err)}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:18px 20px;margin-bottom:16px}.subcard{border:1px solid var(--border);border-radius:8px;padding:14px 16px;margin-bottom:12px;background:#14171d}.sidebar nav a.active{background:#222633;color:var(--text)}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.field{display:block;margin-bottom:12px}.field>span{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}.check{display:flex;align-items:center;gap:8px;margin-bottom:12px}input,select,textarea{width:100%;background:#0f1115;border:1px solid var(--border);color:var(--text);border-radius:6px;padding:8px 10px;font:inherit}.check input,td input[type=checkbox]{width:auto}textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.btn{background:#222633;color:var(--text);border:1px solid var(--border);border-radius:6px;padding:8px 14px;cursor:pointer;font:inherit}.btn:hover{border-color:#3a4150}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.danger{background:transparent;border-color:transparent;color:var(--err)}.btn:disabled{opacity:.6;cursor:default}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:12px;color:var(--muted);padding:6px 8px}.table td{padding:6px 8px;border-top:1px solid var(--border);vertical-align:middle}.table code{font-size:12px}.json{background:#0f1115;border:1px solid var(--border);border-radius:8px;padding:14px;overflow:auto;font-size:12px;line-height:1.5}code{background:#0f1115;padding:1px 5px;border-radius:4px}.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.filters select,.filters input{width:auto}.filters label{font-size:13px;color:var(--muted);display:flex;gap:6px;align-items:center}.pager{display:flex;gap:12px;align-items:center;margin-top:14px;color:var(--muted)}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:#1c2029}.seg{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.logline{padding:6px 0;border-top:1px solid var(--border);font-size:14px}.badge.status-unread{background:#4f8cff26;color:var(--accent)}.badge.status-read{background:#222633;color:var(--muted)}.badge.status-archived{background:#9aa3b226;color:var(--muted)}.badge.status-spam{background:#ff5a5f26;color:var(--err)}.badge.level-info{background:#222633;color:var(--muted)}.badge.level-warn{background:#ffb40026;color:#ffb400}.badge.level-error{background:#ff5a5f26;color:var(--err)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;justify-content:flex-end;z-index:50}.drawer{width:min(560px,92vw);height:100%;overflow-y:auto;background:var(--bg);border-left:1px solid var(--border);padding:24px 26px}.drawer h4{margin:18px 0 6px}
