:root{--bg: #0f1115;--bg-elevated: #161a21;--bg-hover: #1e232c;--border: #262c36;--text: #e4e7eb;--text-muted: #8b93a1;--accent: #4f8cff;--error: #ef5a5a;--error-bg: rgba(239, 90, 90, .12);--success: #4fd18b;--warn: #e0a33e;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit;cursor:pointer}.app-header{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:1px solid var(--border);background:var(--bg-elevated)}.app-title{font-weight:600;letter-spacing:.02em}.app-main{min-height:calc(100vh - 49px)}.btn{background:var(--bg-hover);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:6px 14px;transition:border-color .15s}.btn:hover{border-color:var(--accent)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-link{background:none;border:none;color:var(--text-muted);padding:4px 8px}.btn-link:hover{color:var(--text)}.input{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:6px 10px}.input:focus{outline:none;border-color:var(--accent)}.badge{display:inline-block;padding:1px 7px;border-radius:10px;font-size:11px;font-weight:600;line-height:1.6}.badge-error{background:var(--error-bg);color:var(--error)}.badge-ok{background:#4fd18b1f;color:var(--success)}.mono{font-family:var(--font-mono)}.text-muted{color:var(--text-muted)}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px}.loading,.empty-state{padding:40px;text-align:center;color:var(--text-muted)}.error-banner{margin:16px 20px;padding:10px 14px;background:var(--error-bg);color:var(--error);border-radius:6px;border:1px solid rgba(239,90,90,.3)}
