@waiaas/daemon 2.11.0-rc.1 → 2.11.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"admin-wallets.d.ts","sourceRoot":"","sources":["../../../src/api/routes/admin-wallets.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAIxE,OAAO,KAAK,KAAK,MAAM,MAAM,yCAAyC,CAAC;AAMvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AASjD;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,EAAE,EAAE,qBAAqB,CAAC,OAAO,MAAM,CAAC,GACvC,MAAM,GAAG,IAAI,CA0Bf;AAgPD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI,CAqYzF"}
1
+ {"version":3,"file":"admin-wallets.d.ts","sourceRoot":"","sources":["../../../src/api/routes/admin-wallets.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAIxE,OAAO,KAAK,KAAK,MAAM,MAAM,yCAAyC,CAAC;AAMvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AASjD;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,EAAE,EAAE,qBAAqB,CAAC,OAAO,MAAM,CAAC,GACvC,MAAM,GAAG,IAAI,CA0Bf;AAkPD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI,CA8YzF"}
@@ -148,6 +148,7 @@ const adminDefiPositionsRoute = createRoute({
148
148
  request: {
149
149
  query: z.object({
150
150
  wallet_id: z.string().uuid().optional(),
151
+ category: z.enum(['STAKING', 'LENDING', 'YIELD', 'PERP']).optional(),
151
152
  }),
152
153
  },
153
154
  responses: {
@@ -166,6 +167,7 @@ const adminDefiPositionsRoute = createRoute({
166
167
  assetId: z.string().nullable(),
167
168
  amount: z.string(),
168
169
  amountUsd: z.number().nullable(),
170
+ metadata: z.unknown().nullable(),
169
171
  status: z.string(),
170
172
  openedAt: z.number(),
171
173
  lastSyncedAt: z.number(),
@@ -519,25 +521,35 @@ export function registerAdminWalletRoutes(router, deps) {
519
521
  });
520
522
  // GET /admin/defi/positions
521
523
  router.openapi(adminDefiPositionsRoute, async (c) => {
522
- const { wallet_id } = c.req.valid('query');
524
+ const { wallet_id, category } = c.req.valid('query');
523
525
  if (!deps.sqlite) {
524
526
  return c.json({ positions: [], totalValueUsd: null, worstHealthFactor: null, activeCount: 0 }, 200);
525
527
  }
526
- // Cross-wallet DeFi positions query
527
- let rows;
528
+ const conditions = ["status = 'ACTIVE'"];
529
+ const params = [];
528
530
  if (wallet_id) {
529
- rows = deps.sqlite.prepare(`SELECT id, wallet_id, category, provider, chain, network, asset_id,
530
- amount, amount_usd, metadata, status, opened_at, last_synced_at
531
- FROM defi_positions
532
- WHERE wallet_id = ? AND status = 'ACTIVE'
533
- ORDER BY category, provider`).all(wallet_id);
531
+ conditions.push('wallet_id = ?');
532
+ params.push(wallet_id);
534
533
  }
535
- else {
536
- rows = deps.sqlite.prepare(`SELECT id, wallet_id, category, provider, chain, network, asset_id,
537
- amount, amount_usd, metadata, status, opened_at, last_synced_at
538
- FROM defi_positions
539
- WHERE status = 'ACTIVE'
540
- ORDER BY category, provider`).all();
534
+ if (category) {
535
+ conditions.push('category = ?');
536
+ params.push(category);
537
+ }
538
+ const whereClause = conditions.join(' AND ');
539
+ const rows = deps.sqlite.prepare(`SELECT id, wallet_id, category, provider, chain, network, asset_id,
540
+ amount, amount_usd, metadata, status, opened_at, last_synced_at
541
+ FROM defi_positions
542
+ WHERE ${whereClause}
543
+ ORDER BY category, provider`).all(...params);
544
+ function parseMetadata(raw) {
545
+ if (!raw)
546
+ return null;
547
+ try {
548
+ return JSON.parse(raw);
549
+ }
550
+ catch {
551
+ return null;
552
+ }
541
553
  }
542
554
  const positions = rows.map((row) => ({
543
555
  id: row.id,
@@ -549,6 +561,7 @@ export function registerAdminWalletRoutes(router, deps) {
549
561
  assetId: row.asset_id,
550
562
  amount: row.amount,
551
563
  amountUsd: row.amount_usd,
564
+ metadata: parseMetadata(row.metadata),
552
565
  status: row.status,
553
566
  openedAt: row.opened_at,
554
567
  lastSyncedAt: row.last_synced_at,
@@ -1 +1 @@
1
- {"version":3,"file":"admin-wallets.js","sourceRoot":"","sources":["../../../src/api/routes/admin-wallets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-wallets.js","sourceRoot":"","sources":["../../../src/api/routes/admin-wallets.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@waiaas/daemon",
3
- "version": "2.11.0-rc.1",
3
+ "version": "2.11.0-rc.2",
4
4
  "description": "WAIaaS daemon - self-hosted wallet service for AI agents",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -48,10 +48,10 @@
48
48
  "uuidv7": "^1.0.2",
49
49
  "viem": "^2.21.0",
50
50
  "zod": "^3.24.0",
51
- "@waiaas/actions": "2.11.0-rc.1",
52
- "@waiaas/adapter-evm": "2.11.0-rc.1",
53
- "@waiaas/core": "2.11.0-rc.1",
54
- "@waiaas/adapter-solana": "2.11.0-rc.1"
51
+ "@waiaas/actions": "2.11.0-rc.2",
52
+ "@waiaas/adapter-evm": "2.11.0-rc.2",
53
+ "@waiaas/core": "2.11.0-rc.2",
54
+ "@waiaas/adapter-solana": "2.11.0-rc.2"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@types/better-sqlite3": "^7.6.0",
@@ -1 +1 @@
1
- *,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: #eff6ff;--color-bg: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f1f5f9;--color-border: #e2e8f0;--color-text: #0f172a;--color-text-secondary: #64748b;--color-text-muted: #94a3b8;--color-success: #16a34a;--color-success-bg: #f0fdf4;--color-warning: #d97706;--color-warning-bg: #fffbeb;--color-danger: #dc2626;--color-danger-bg: #fef2f2;--color-info: #2563eb;--color-info-bg: #eff6ff;--color-tier-instant: #16a34a;--color-tier-delay: #d97706;--color-tier-blocked: #dc2626;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height: 1.5;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--sidebar-width: 220px;--header-height: 56px;--content-max-width: 1200px}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-primary);text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}.layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--color-bg);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:10}.sidebar-brand{padding:var(--space-4) var(--space-4);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary);border-bottom:1px solid var(--color-border)}.sidebar-nav{display:flex;flex-direction:column;padding:var(--space-2);gap:var(--space-1)}.sidebar-link{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background .15s,color .15s;text-decoration:none}.sidebar-link:hover{background:var(--color-bg-tertiary);color:var(--color-text)}.sidebar-link.active{background:var(--color-primary-light);color:var(--color-primary)}.main{margin-left:var(--sidebar-width);flex:1;display:flex;flex-direction:column}.header{min-height:var(--header-height);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-6);background:var(--color-bg);position:sticky;top:0;z-index:5}.header-left{display:flex;flex-direction:column;justify-content:center;gap:0}.header-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.header-subtitle{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-normal);margin:0}.btn-logout{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary);background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background .15s,color .15s}.btn-logout:hover{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger)}.content{padding:var(--space-6);max-width:var(--content-max-width);width:100%}.page h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4)}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse}table th{text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--color-border);background:var(--color-bg-secondary)}table td{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);border-bottom:1px solid var(--color-border)}table tbody tr:hover{background:var(--color-bg-secondary)}table tbody tr.clickable{cursor:pointer}table .table-empty,table .table-loading{text-align:center;color:var(--color-text-muted);padding:var(--space-8) var(--space-4)}.form-field{margin-bottom:var(--space-4)}.form-field label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);margin-bottom:var(--space-1)}.form-field input,.form-field select,.form-field textarea{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg);color:var(--color-text);outline:none;transition:border-color .15s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.form-field textarea{min-height:80px;resize:vertical}.form-field .form-error{display:block;font-size:var(--font-size-xs);color:var(--color-danger);margin-top:var(--space-1)}.form-field input[type=checkbox]{width:auto;margin-right:var(--space-2)}.form-field .form-description{display:block;font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--space-1)}.field-group{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6);margin-bottom:var(--space-4)}.field-group-legend{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);padding:0 var(--space-2)}.field-group-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-3)}.field-group-body{display:flex;flex-direction:column;gap:var(--space-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-bg);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-secondary)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-bg-tertiary);color:var(--color-text)}.badge{display:inline-flex;align-items:center;padding:.125rem var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:9999px}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-info{background:var(--color-info-bg);color:var(--color-info)}.badge-neutral{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.modal-card{background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.modal-body{padding:var(--space-4) var(--space-6)}.modal-footer{padding:var(--space-3) var(--space-6);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--space-2)}.toast-container{position:fixed;top:var(--space-4);right:var(--space-4);z-index:200;display:flex;flex-direction:column;gap:var(--space-2);max-width:360px}.toast{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);box-shadow:var(--shadow-md);cursor:pointer;animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success)}.toast-error{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger)}.toast-info{background:var(--color-info-bg);color:var(--color-info);border:1px solid var(--color-info)}.toast-warning{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning)}.empty-state{text-align:center;padding:var(--space-8) var(--space-4);color:var(--color-text-muted)}.empty-state h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.empty-state p{font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.stat-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6);box-shadow:var(--shadow-sm)}.stat-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text)}.stat-skeleton{height:2rem;background:var(--color-bg-tertiary);border-radius:var(--radius-md);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.dashboard-error{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--font-size-sm)}.update-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--font-size-sm)}.update-banner-icon{font-size:1.1em}.update-banner code{background:#0000001a;padding:.1em .4em;border-radius:var(--radius-sm);font-size:.9em}.auto-provision-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--font-size-sm)}.auto-provision-banner-icon{font-size:1.1em}.auto-provision-link{color:var(--color-warning);text-decoration:underline;font-weight:600}.auto-provision-link:hover{opacity:.8}.prompt-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6)}.prompt-card-desc{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-3)}.prompt-preview{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--font-size-xs);line-height:1.6;white-space:pre-wrap;word-break:break-all;max-height:300px;overflow:auto}.page-actions{display:flex;justify-content:flex-end;margin-bottom:var(--space-4)}.inline-form{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6);margin-bottom:var(--space-4)}.inline-form-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.back-link{display:inline-block;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-4)}.back-link:hover{color:var(--color-primary)}.wallet-detail{margin-top:var(--space-4)}.detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.detail-name{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.detail-grid{display:grid;gap:0}.detail-row{display:flex;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.detail-row-label{width:160px;flex-shrink:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.detail-row-value{font-size:var(--font-size-sm);display:flex;align-items:center;gap:var(--space-2);word-break:break-all}.inline-edit{display:flex;align-items:center;gap:var(--space-2)}.inline-edit-input{padding:var(--space-1) var(--space-2);border:1px solid var(--color-primary);border-radius:var(--radius-md);font-size:var(--font-size-base);outline:none}.session-controls{display:flex;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-4)}.session-wallet-select{flex:1;max-width:400px}.session-wallet-select label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);margin-bottom:var(--space-1)}.session-wallet-select select{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg);color:var(--color-text);outline:none}.session-wallet-select select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.token-warning{color:var(--color-warning);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);margin-bottom:var(--space-3)}.token-display{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);display:flex;align-items:center;gap:var(--space-2)}.token-value{flex:1;font-size:var(--font-size-xs);word-break:break-all;font-family:SF Mono,Fira Code,monospace}.policy-controls{display:flex;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-4)}.policy-filter-select{flex:1;max-width:400px}.policy-filter-select label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);margin-bottom:var(--space-1)}.policy-filter-select select{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg);color:var(--color-text);outline:none}.policy-filter-select select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.tier-bars{display:flex;flex-direction:column;gap:3px;min-width:180px}.tier-bar{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs)}.tier-bar-label{width:52px;flex-shrink:0;font-weight:var(--font-weight-medium)}.tier-bar-track{flex:1;height:6px;background:var(--color-bg-tertiary);border-radius:3px;overflow:hidden}.tier-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.tier-bar-value{font-size:var(--font-size-xs);color:var(--color-text-secondary);min-width:60px;text-align:right}.tier-bar-fill--instant{background:var(--color-tier-instant)}.tier-bar-fill--notify{background:var(--color-info)}.tier-bar-fill--delay{background:var(--color-tier-delay)}.tier-bar-fill--approval{background:var(--color-tier-blocked)}.spending-limit-summary{display:flex;flex-direction:column;gap:.5rem}.cumulative-limits{display:flex;flex-direction:column;gap:.125rem;padding-top:.25rem;border-top:1px solid var(--color-border)}.cumulative-limits-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:500}.cumulative-limit-row{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-xs)}.cumulative-limit-type{color:var(--color-text-secondary);min-width:72px}.cumulative-limit-value{color:var(--color-warning);font-weight:600}.rules-vis-text{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.rules-vis-badges{display:flex;flex-wrap:wrap;gap:4px}.rules-summary{font-size:var(--font-size-xs);color:var(--color-text-secondary);max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:SF Mono,Fira Code,monospace}.edit-rules-textarea textarea{min-height:120px;font-family:SF Mono,Fira Code,monospace;font-size:var(--font-size-xs)}.policy-type-readonly{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);padding:var(--space-2) 0;margin-bottom:var(--space-2)}.settings-section{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-4)}.settings-section--danger{border-color:var(--color-danger)}.settings-section-header{margin-bottom:var(--space-4)}.settings-section-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1)}.settings-description{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.settings-section-body{display:flex;align-items:center;gap:var(--space-4)}.ks-state-card{display:flex;align-items:center;gap:var(--space-4);flex:1}.ks-state-info{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.shutdown-overlay{position:fixed;inset:0;background:#000c;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:300;color:#fff}.shutdown-overlay h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-4);color:#fff}.shutdown-overlay p{font-size:var(--font-size-base);color:var(--color-text-muted)}.shutdown-confirm-input{margin-top:var(--space-3)}.shutdown-confirm-input label{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.shutdown-confirm-input input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg);color:var(--color-text);outline:none}.shutdown-confirm-input input:focus{border-color:var(--color-danger);box-shadow:0 0 0 2px var(--color-danger-bg)}.channel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.channel-card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg)}.channel-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.channel-card-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);text-transform:capitalize}.test-results{margin-top:var(--space-4)}.test-result-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0}.test-result-success{color:var(--color-success)}.test-result-failure{color:var(--color-danger)}.config-guidance{margin-top:var(--space-6);padding:var(--space-4);background:var(--color-info-bg);border:1px solid var(--color-info);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.config-guidance pre{margin-top:var(--space-2);padding:var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);font-family:monospace;font-size:var(--font-size-xs);overflow-x:auto;white-space:pre}.config-guidance p{color:var(--color-text-secondary);margin-bottom:var(--space-2)}.breadcrumb{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.breadcrumb-page{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:inherit;padding:0;font-family:inherit}.breadcrumb-page:hover{text-decoration:underline}.breadcrumb-separator{color:var(--color-text-muted)}.breadcrumb-current{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.tab-nav{display:flex;gap:var(--space-1);border-bottom:1px solid var(--color-border)}.tab-btn{padding:var(--space-2) var(--space-4);background:none;border:none;border-bottom:2px solid transparent;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--color-text)}.tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-4)}.pagination-info{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pagination-buttons{display:flex;gap:var(--space-2)}.notif-disabled-banner{padding:var(--space-3) var(--space-4);background:var(--color-warning-bg);border:1px solid var(--color-warning);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text)}.settings-save-bar{position:sticky;top:var(--header-height);z-index:4;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-warning-bg);border:1px solid var(--color-warning);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text)}.settings-save-bar-actions{display:flex;gap:var(--space-2)}.settings-category{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-4);overflow:hidden}.settings-category-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border)}.settings-category-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1)}.settings-category-body{padding:var(--space-4) var(--space-6)}.settings-fields-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.settings-fields-grid .form-field{margin-bottom:0}.settings-field-full{grid-column:1 / -1}.settings-subgroup{margin-bottom:var(--space-4)}.settings-subgroup-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.rpc-field-row{display:flex;gap:var(--space-2);align-items:flex-end}.rpc-field-row .form-field{flex:1;margin-bottom:0}.rpc-test-result{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);margin-top:var(--space-1)}.rpc-test-result--success{color:var(--color-success)}.rpc-test-result--failure{color:var(--color-danger)}.rpc-pool-network{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-2);overflow:hidden}.rpc-pool-network-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);cursor:pointer;background:var(--color-bg-secondary);font-weight:500;font-size:var(--font-size-sm);user-select:none;list-style:none}.rpc-pool-network-header::-webkit-details-marker{display:none}.rpc-pool-network-header:before{content:"▶";margin-right:var(--space-2);font-size:.65em;transition:transform .15s}.rpc-pool-network[open]>.rpc-pool-network-header:before{transform:rotate(90deg)}.rpc-pool-url-count{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:400}.rpc-url-list{padding:var(--space-2) 0}.rpc-url-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);border-bottom:1px solid var(--color-border-light, rgba(0,0,0,.05))}.rpc-url-item:last-of-type{border-bottom:none}.rpc-url-item--builtin{color:var(--color-text-secondary)}.rpc-url-disabled{opacity:.5}.rpc-url-priority{font-size:var(--font-size-xs);color:var(--color-text-secondary);min-width:2em;text-align:right;font-weight:500}.rpc-url-item-url{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono, monospace);font-size:var(--font-size-xs)}.rpc-url-actions{display:flex;gap:2px;align-items:center;flex-shrink:0}.rpc-action-btn{padding:2px 6px!important;min-width:0!important;font-size:var(--font-size-xs)!important;line-height:1.2!important}.rpc-delete-btn{color:var(--color-danger)!important}.rpc-toggle-off{color:var(--color-text-secondary)!important;opacity:.6}.badge-builtin{font-size:.65rem;background:var(--color-info-bg, #e0f2fe);color:var(--color-info, #0369a1);padding:1px 6px;border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0}.rpc-add-url{display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-3);align-items:center}.rpc-add-url-input{flex:1;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-mono, monospace);background:var(--color-bg);color:var(--color-text)}.rpc-add-url-input::placeholder{color:var(--color-text-secondary);opacity:.6}.rpc-url-status{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);white-space:nowrap}.rpc-url-status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.rpc-url-status-dot--available{background-color:var(--color-success)}.rpc-url-status-dot--cooldown{background-color:var(--color-warning)}.rpc-url-status-dot--unknown{background-color:var(--color-text-muted)}.rpc-url-cooldown-info{color:var(--color-warning);font-size:var(--font-size-xs)}.rpc-url-test-inline{display:inline-flex;align-items:center;gap:var(--space-1)}.settings-info-box{padding:var(--space-3) var(--space-4);background:var(--color-info-bg);border:1px solid var(--color-info);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-3)}.settings-info-box a{color:var(--color-primary);text-decoration:underline}.notif-test-section{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.event-filter-groups{display:flex;flex-direction:column;gap:var(--space-2)}.event-filter-group{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.event-filter-group[open]>summary{border-bottom:1px solid var(--color-border)}.event-filter-group-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);cursor:pointer;background:var(--color-bg-secondary);font-weight:500;font-size:var(--font-size-sm);user-select:none;list-style:none}.event-filter-group-header::-webkit-details-marker{display:none}.event-filter-group-header:before{content:"▶";margin-right:var(--space-2);font-size:.65em;transition:transform .15s}.event-filter-group[open]>.event-filter-group-header:before{transform:rotate(90deg)}.event-filter-group-all{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);font-weight:400;cursor:pointer}.event-filter-events{display:flex;flex-direction:column}.event-filter-event{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-5);font-size:var(--font-size-sm);cursor:pointer;border-bottom:1px solid var(--color-border-light, rgba(0,0,0,.05))}.event-filter-event:last-child{border-bottom:none}.event-filter-event:hover{background:var(--color-bg-secondary)}.event-filter-event code{font-size:var(--font-size-xs);min-width:180px;color:var(--color-text)}.event-desc{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.event-broadcast{opacity:.7}.event-broadcast-badge{font-size:.65rem;background:var(--color-warning-bg, #fef3c7);color:var(--color-warning, #92400e);padding:1px 6px;border-radius:var(--radius-sm);margin-left:auto;white-space:nowrap}.settings-category-actions{display:flex;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.dynamic-row-list{display:flex;flex-direction:column;gap:var(--space-2)}.dynamic-row{display:flex;align-items:flex-start;gap:var(--space-2)}.dynamic-row-fields{flex:1;display:flex;gap:var(--space-2);align-items:flex-start}.dynamic-row-fields .form-field{flex:1;margin-bottom:0}.dynamic-row-remove{flex-shrink:0;margin-top:var(--space-6);color:var(--color-danger)}.policy-form-section{margin-bottom:var(--space-4)}.policy-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.policy-form-header label{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.json-toggle{font-size:var(--font-size-xs)}.policy-form-placeholder{color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md);text-align:center}.policy-form-fields{display:flex;flex-direction:column;gap:var(--space-3)}.policy-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.policy-form-grid .form-field{margin-bottom:0}.currency-select{position:relative}.currency-select-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);cursor:pointer;font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--color-text)}.currency-select-trigger:hover{border-color:var(--color-primary)}.currency-select-chevron{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.currency-rate-preview{margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.currency-select-dropdown{position:absolute;top:100%;left:0;right:0;z-index:50;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);box-shadow:0 4px 12px #0000001a;margin-top:var(--space-1)}.currency-select-search{width:100%;padding:var(--space-2) var(--space-3);border:none;border-bottom:1px solid var(--color-border);outline:none;font-size:var(--font-size-sm);font-family:var(--font-family)}.currency-select-list{max-height:300px;overflow-y:auto}.currency-select-option{width:100%;display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:none;background:none;cursor:pointer;text-align:left;font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--color-text)}.currency-select-option:hover{background:var(--color-bg-secondary)}.currency-select-option--active{background:var(--color-primary-light);font-weight:var(--font-weight-semibold)}.currency-option-code{font-weight:var(--font-weight-semibold);min-width:3rem}.currency-option-name{flex:1}.currency-option-symbol{color:var(--color-text-secondary)}.currency-select-empty{padding:var(--space-3);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.search-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;z-index:100}.search-popover{background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:560px;max-height:60vh;overflow:hidden;display:flex;flex-direction:column}.search-input-wrapper{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.search-input-wrapper input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);outline:none;background:var(--color-bg);color:var(--color-text)}.search-input-wrapper input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.search-results{overflow-y:auto;flex:1}.search-result-item{display:block;width:100%;padding:var(--space-3) var(--space-4);border:none;border-bottom:1px solid var(--color-border);background:none;text-align:left;cursor:pointer;font-family:inherit;color:var(--color-text)}.search-result-item:hover,.search-result-item.selected{background:var(--color-bg-secondary)}.search-result-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:2px}.search-result-desc{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-path{font-size:var(--font-size-xs);color:var(--color-text-muted)}.search-empty{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.search-hint{padding:var(--space-2) var(--space-4);font-size:var(--font-size-xs);color:var(--color-text-muted);border-top:1px solid var(--color-border);display:flex;gap:var(--space-4)}.search-hint kbd{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 var(--space-1);font-size:var(--font-size-xs);font-family:inherit}.header-actions{display:flex;align-items:center;gap:var(--space-2)}.btn-search{padding:var(--space-1) var(--space-2);font-size:var(--font-size-base);background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-secondary);transition:background .15s,color .15s;line-height:1}.btn-search:hover{background:var(--color-bg-tertiary);color:var(--color-text)}.form-field--highlight{animation:field-highlight 2s ease-out;border-radius:var(--radius-md)}@keyframes field-highlight{0%{background:var(--color-primary-light);box-shadow:0 0 0 2px var(--color-primary)}to{background:transparent;box-shadow:none}}.unsaved-dialog-footer{justify-content:flex-end;gap:var(--space-2)}.filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-4)}.filter-field{display:flex;flex-direction:column;gap:var(--space-1)}.filter-field label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em}.filter-field select,.filter-field input[type=date]{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg);color:var(--color-text);outline:none;transition:border-color .15s;min-width:140px}.filter-field select:focus,.filter-field input[type=date]:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.filter-clear{align-self:flex-end}.search-input{position:relative;display:inline-flex;align-items:center;max-width:400px;width:100%;margin-bottom:var(--space-4)}.search-input input[type=text]{width:100%;padding:var(--space-2) var(--space-3);padding-right:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg);color:var(--color-text);outline:none;transition:border-color .15s}.search-input input[type=text]:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.search-clear{position:absolute;right:var(--space-2);background:none;border:none;font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.search-clear:hover{color:var(--color-text);background:var(--color-bg-tertiary)}@media(max-width:768px){.channel-grid,.settings-fields-grid{grid-template-columns:1fr}.filter-bar{flex-direction:column;align-items:stretch}.filter-field select,.filter-field input[type=date]{min-width:0;width:100%}.search-input{max-width:100%}}
1
+ *,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: #eff6ff;--color-bg: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f1f5f9;--color-border: #e2e8f0;--color-text: #0f172a;--color-text-secondary: #64748b;--color-text-muted: #94a3b8;--color-success: #16a34a;--color-success-bg: #f0fdf4;--color-warning: #d97706;--color-warning-bg: #fffbeb;--color-danger: #dc2626;--color-danger-bg: #fef2f2;--color-info: #2563eb;--color-info-bg: #eff6ff;--color-tier-instant: #16a34a;--color-tier-delay: #d97706;--color-tier-blocked: #dc2626;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height: 1.5;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--sidebar-width: 220px;--header-height: 56px;--content-max-width: 1200px}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-primary);text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}.layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--color-bg);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:10}.sidebar-brand{padding:var(--space-4) var(--space-4);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary);border-bottom:1px solid var(--color-border)}.sidebar-nav{display:flex;flex-direction:column;padding:var(--space-2);gap:var(--space-1)}.sidebar-link{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background .15s,color .15s;text-decoration:none}.sidebar-link:hover{background:var(--color-bg-tertiary);color:var(--color-text)}.sidebar-link.active{background:var(--color-primary-light);color:var(--color-primary)}.main{margin-left:var(--sidebar-width);flex:1;display:flex;flex-direction:column}.header{min-height:var(--header-height);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-6);background:var(--color-bg);position:sticky;top:0;z-index:5}.header-left{display:flex;flex-direction:column;justify-content:center;gap:0}.header-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.header-subtitle{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-normal);margin:0}.btn-logout{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary);background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background .15s,color .15s}.btn-logout:hover{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger)}.content{padding:var(--space-6);max-width:var(--content-max-width);width:100%}.page h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4)}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse}table th{text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--color-border);background:var(--color-bg-secondary)}table td{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);border-bottom:1px solid var(--color-border)}table tbody tr:hover{background:var(--color-bg-secondary)}table tbody tr.clickable{cursor:pointer}table .table-empty,table .table-loading{text-align:center;color:var(--color-text-muted);padding:var(--space-8) var(--space-4)}.form-field{margin-bottom:var(--space-4)}.form-field label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);margin-bottom:var(--space-1)}.form-field input,.form-field select,.form-field textarea{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg);color:var(--color-text);outline:none;transition:border-color .15s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.form-field textarea{min-height:80px;resize:vertical}.form-field .form-error{display:block;font-size:var(--font-size-xs);color:var(--color-danger);margin-top:var(--space-1)}.form-field input[type=checkbox]{width:auto;margin-right:var(--space-2)}.form-field .form-description{display:block;font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--space-1)}.field-group{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6);margin-bottom:var(--space-4)}.field-group-legend{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);padding:0 var(--space-2)}.field-group-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-3)}.field-group-body{display:flex;flex-direction:column;gap:var(--space-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-bg);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-secondary)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-bg-tertiary);color:var(--color-text)}.badge{display:inline-flex;align-items:center;padding:.125rem var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:9999px}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-info{background:var(--color-info-bg);color:var(--color-info)}.badge-neutral{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.modal-card{background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.modal-body{padding:var(--space-4) var(--space-6)}.modal-footer{padding:var(--space-3) var(--space-6);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--space-2)}.toast-container{position:fixed;top:var(--space-4);right:var(--space-4);z-index:200;display:flex;flex-direction:column;gap:var(--space-2);max-width:360px}.toast{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);box-shadow:var(--shadow-md);cursor:pointer;animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success)}.toast-error{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger)}.toast-info{background:var(--color-info-bg);color:var(--color-info);border:1px solid var(--color-info)}.toast-warning{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning)}.empty-state{text-align:center;padding:var(--space-8) var(--space-4);color:var(--color-text-muted)}.empty-state h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.empty-state p{font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.stat-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6);box-shadow:var(--shadow-sm)}.stat-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text)}.stat-skeleton{height:2rem;background:var(--color-bg-tertiary);border-radius:var(--radius-md);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.dashboard-error{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--font-size-sm)}.update-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--font-size-sm)}.update-banner-icon{font-size:1.1em}.update-banner code{background:#0000001a;padding:.1em .4em;border-radius:var(--radius-sm);font-size:.9em}.auto-provision-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--font-size-sm)}.auto-provision-banner-icon{font-size:1.1em}.auto-provision-link{color:var(--color-warning);text-decoration:underline;font-weight:600}.auto-provision-link:hover{opacity:.8}.prompt-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6)}.prompt-card-desc{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-3)}.prompt-preview{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--font-size-xs);line-height:1.6;white-space:pre-wrap;word-break:break-all;max-height:300px;overflow:auto}.page-actions{display:flex;justify-content:flex-end;margin-bottom:var(--space-4)}.inline-form{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6);margin-bottom:var(--space-4)}.inline-form-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.back-link{display:inline-block;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-4)}.back-link:hover{color:var(--color-primary)}.wallet-detail{margin-top:var(--space-4)}.detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.detail-name{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.detail-grid{display:grid;gap:0}.detail-row{display:flex;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.detail-row-label{width:160px;flex-shrink:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.detail-row-value{font-size:var(--font-size-sm);display:flex;align-items:center;gap:var(--space-2);word-break:break-all}.inline-edit{display:flex;align-items:center;gap:var(--space-2)}.inline-edit-input{padding:var(--space-1) var(--space-2);border:1px solid var(--color-primary);border-radius:var(--radius-md);font-size:var(--font-size-base);outline:none}.session-controls{display:flex;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-4)}.session-wallet-select{flex:1;max-width:400px}.session-wallet-select label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);margin-bottom:var(--space-1)}.session-wallet-select select{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg);color:var(--color-text);outline:none}.session-wallet-select select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.token-warning{color:var(--color-warning);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);margin-bottom:var(--space-3)}.token-display{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);display:flex;align-items:center;gap:var(--space-2)}.token-value{flex:1;font-size:var(--font-size-xs);word-break:break-all;font-family:SF Mono,Fira Code,monospace}.policy-controls{display:flex;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-4)}.policy-filter-select{flex:1;max-width:400px}.policy-filter-select label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);margin-bottom:var(--space-1)}.policy-filter-select select{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg);color:var(--color-text);outline:none}.policy-filter-select select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.tier-bars{display:flex;flex-direction:column;gap:3px;min-width:180px}.tier-bar{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs)}.tier-bar-label{width:52px;flex-shrink:0;font-weight:var(--font-weight-medium)}.tier-bar-track{flex:1;height:6px;background:var(--color-bg-tertiary);border-radius:3px;overflow:hidden}.tier-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.tier-bar-value{font-size:var(--font-size-xs);color:var(--color-text-secondary);min-width:60px;text-align:right}.tier-bar-fill--instant{background:var(--color-tier-instant)}.tier-bar-fill--notify{background:var(--color-info)}.tier-bar-fill--delay{background:var(--color-tier-delay)}.tier-bar-fill--approval{background:var(--color-tier-blocked)}.spending-limit-summary{display:flex;flex-direction:column;gap:.5rem}.cumulative-limits{display:flex;flex-direction:column;gap:.125rem;padding-top:.25rem;border-top:1px solid var(--color-border)}.cumulative-limits-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:500}.cumulative-limit-row{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-xs)}.cumulative-limit-type{color:var(--color-text-secondary);min-width:72px}.cumulative-limit-value{color:var(--color-warning);font-weight:600}.rules-vis-text{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.rules-vis-badges{display:flex;flex-wrap:wrap;gap:4px}.rules-summary{font-size:var(--font-size-xs);color:var(--color-text-secondary);max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:SF Mono,Fira Code,monospace}.edit-rules-textarea textarea{min-height:120px;font-family:SF Mono,Fira Code,monospace;font-size:var(--font-size-xs)}.policy-type-readonly{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);padding:var(--space-2) 0;margin-bottom:var(--space-2)}.settings-section{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-4)}.settings-section--danger{border-color:var(--color-danger)}.settings-section-header{margin-bottom:var(--space-4)}.settings-section-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1)}.settings-description{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.settings-section-body{display:flex;align-items:center;gap:var(--space-4)}.ks-state-card{display:flex;align-items:center;gap:var(--space-4);flex:1}.ks-state-info{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.shutdown-overlay{position:fixed;inset:0;background:#000c;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:300;color:#fff}.shutdown-overlay h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-4);color:#fff}.shutdown-overlay p{font-size:var(--font-size-base);color:var(--color-text-muted)}.shutdown-confirm-input{margin-top:var(--space-3)}.shutdown-confirm-input label{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.shutdown-confirm-input input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg);color:var(--color-text);outline:none}.shutdown-confirm-input input:focus{border-color:var(--color-danger);box-shadow:0 0 0 2px var(--color-danger-bg)}.channel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.channel-card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg)}.channel-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.channel-card-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);text-transform:capitalize}.test-results{margin-top:var(--space-4)}.test-result-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0}.test-result-success{color:var(--color-success)}.test-result-failure{color:var(--color-danger)}.config-guidance{margin-top:var(--space-6);padding:var(--space-4);background:var(--color-info-bg);border:1px solid var(--color-info);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.config-guidance pre{margin-top:var(--space-2);padding:var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);font-family:monospace;font-size:var(--font-size-xs);overflow-x:auto;white-space:pre}.config-guidance p{color:var(--color-text-secondary);margin-bottom:var(--space-2)}.breadcrumb{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.breadcrumb-page{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:inherit;padding:0;font-family:inherit}.breadcrumb-page:hover{text-decoration:underline}.breadcrumb-separator{color:var(--color-text-muted)}.breadcrumb-current{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.tab-nav{display:flex;gap:var(--space-1);border-bottom:1px solid var(--color-border)}.tab-btn{padding:var(--space-2) var(--space-4);background:none;border:none;border-bottom:2px solid transparent;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--color-text)}.tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-4)}.pagination-info{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pagination-buttons{display:flex;gap:var(--space-2)}.notif-disabled-banner{padding:var(--space-3) var(--space-4);background:var(--color-warning-bg);border:1px solid var(--color-warning);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text)}.settings-save-bar{position:sticky;top:var(--header-height);z-index:4;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-warning-bg);border:1px solid var(--color-warning);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text)}.settings-save-bar-actions{display:flex;gap:var(--space-2)}.settings-category{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-4);overflow:hidden}.settings-category-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border)}.settings-category-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1)}.settings-category-body{padding:var(--space-4) var(--space-6)}.settings-fields-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.settings-fields-grid .form-field{margin-bottom:0}.settings-field-full{grid-column:1 / -1}.settings-subgroup{margin-bottom:var(--space-4)}.settings-subgroup-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.rpc-field-row{display:flex;gap:var(--space-2);align-items:flex-end}.rpc-field-row .form-field{flex:1;margin-bottom:0}.rpc-test-result{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);margin-top:var(--space-1)}.rpc-test-result--success{color:var(--color-success)}.rpc-test-result--failure{color:var(--color-danger)}.rpc-pool-network{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-2);overflow:hidden}.rpc-pool-network-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);cursor:pointer;background:var(--color-bg-secondary);font-weight:500;font-size:var(--font-size-sm);user-select:none;list-style:none}.rpc-pool-network-header::-webkit-details-marker{display:none}.rpc-pool-network-header:before{content:"▶";margin-right:var(--space-2);font-size:.65em;transition:transform .15s}.rpc-pool-network[open]>.rpc-pool-network-header:before{transform:rotate(90deg)}.rpc-pool-url-count{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:400}.rpc-url-list{padding:var(--space-2) 0}.rpc-url-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);border-bottom:1px solid var(--color-border-light, rgba(0,0,0,.05))}.rpc-url-item:last-of-type{border-bottom:none}.rpc-url-item--builtin{color:var(--color-text-secondary)}.rpc-url-disabled{opacity:.5}.rpc-url-priority{font-size:var(--font-size-xs);color:var(--color-text-secondary);min-width:2em;text-align:right;font-weight:500}.rpc-url-item-url{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono, monospace);font-size:var(--font-size-xs)}.rpc-url-actions{display:flex;gap:2px;align-items:center;flex-shrink:0}.rpc-action-btn{padding:2px 6px!important;min-width:0!important;font-size:var(--font-size-xs)!important;line-height:1.2!important}.rpc-delete-btn{color:var(--color-danger)!important}.rpc-toggle-off{color:var(--color-text-secondary)!important;opacity:.6}.badge-builtin{font-size:.65rem;background:var(--color-info-bg, #e0f2fe);color:var(--color-info, #0369a1);padding:1px 6px;border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0}.rpc-add-url{display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-3);align-items:center}.rpc-add-url-input{flex:1;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-mono, monospace);background:var(--color-bg);color:var(--color-text)}.rpc-add-url-input::placeholder{color:var(--color-text-secondary);opacity:.6}.rpc-url-status{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);white-space:nowrap}.rpc-url-status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.rpc-url-status-dot--available{background-color:var(--color-success)}.rpc-url-status-dot--cooldown{background-color:var(--color-warning)}.rpc-url-status-dot--unknown{background-color:var(--color-text-muted)}.rpc-url-cooldown-info{color:var(--color-warning);font-size:var(--font-size-xs)}.rpc-url-test-inline{display:inline-flex;align-items:center;gap:var(--space-1)}.settings-info-box{padding:var(--space-3) var(--space-4);background:var(--color-info-bg);border:1px solid var(--color-info);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-3)}.settings-info-box a{color:var(--color-primary);text-decoration:underline}.notif-test-section{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.event-filter-groups{display:flex;flex-direction:column;gap:var(--space-2)}.event-filter-group{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.event-filter-group[open]>summary{border-bottom:1px solid var(--color-border)}.event-filter-group-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);cursor:pointer;background:var(--color-bg-secondary);font-weight:500;font-size:var(--font-size-sm);user-select:none;list-style:none}.event-filter-group-header::-webkit-details-marker{display:none}.event-filter-group-header:before{content:"▶";margin-right:var(--space-2);font-size:.65em;transition:transform .15s}.event-filter-group[open]>.event-filter-group-header:before{transform:rotate(90deg)}.event-filter-group-all{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);font-weight:400;cursor:pointer}.event-filter-events{display:flex;flex-direction:column}.event-filter-event{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-5);font-size:var(--font-size-sm);cursor:pointer;border-bottom:1px solid var(--color-border-light, rgba(0,0,0,.05))}.event-filter-event:last-child{border-bottom:none}.event-filter-event:hover{background:var(--color-bg-secondary)}.event-filter-event code{font-size:var(--font-size-xs);min-width:180px;color:var(--color-text)}.event-desc{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.event-broadcast{opacity:.7}.event-broadcast-badge{font-size:.65rem;background:var(--color-warning-bg, #fef3c7);color:var(--color-warning, #92400e);padding:1px 6px;border-radius:var(--radius-sm);margin-left:auto;white-space:nowrap}.settings-category-actions{display:flex;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.dynamic-row-list{display:flex;flex-direction:column;gap:var(--space-2)}.dynamic-row{display:flex;align-items:flex-start;gap:var(--space-2)}.dynamic-row-fields{flex:1;display:flex;gap:var(--space-2);align-items:flex-start}.dynamic-row-fields .form-field{flex:1;margin-bottom:0}.dynamic-row-remove{flex-shrink:0;margin-top:var(--space-6);color:var(--color-danger)}.policy-form-section{margin-bottom:var(--space-4)}.policy-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.policy-form-header label{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.json-toggle{font-size:var(--font-size-xs)}.policy-form-placeholder{color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md);text-align:center}.policy-form-fields{display:flex;flex-direction:column;gap:var(--space-3)}.policy-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.policy-form-grid .form-field{margin-bottom:0}.currency-select{position:relative}.currency-select-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);cursor:pointer;font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--color-text)}.currency-select-trigger:hover{border-color:var(--color-primary)}.currency-select-chevron{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.currency-rate-preview{margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.currency-select-dropdown{position:absolute;top:100%;left:0;right:0;z-index:50;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);box-shadow:0 4px 12px #0000001a;margin-top:var(--space-1)}.currency-select-search{width:100%;padding:var(--space-2) var(--space-3);border:none;border-bottom:1px solid var(--color-border);outline:none;font-size:var(--font-size-sm);font-family:var(--font-family)}.currency-select-list{max-height:300px;overflow-y:auto}.currency-select-option{width:100%;display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:none;background:none;cursor:pointer;text-align:left;font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--color-text)}.currency-select-option:hover{background:var(--color-bg-secondary)}.currency-select-option--active{background:var(--color-primary-light);font-weight:var(--font-weight-semibold)}.currency-option-code{font-weight:var(--font-weight-semibold);min-width:3rem}.currency-option-name{flex:1}.currency-option-symbol{color:var(--color-text-secondary)}.currency-select-empty{padding:var(--space-3);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.search-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;z-index:100}.search-popover{background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:560px;max-height:60vh;overflow:hidden;display:flex;flex-direction:column}.search-input-wrapper{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.search-input-wrapper input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);outline:none;background:var(--color-bg);color:var(--color-text)}.search-input-wrapper input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.search-results{overflow-y:auto;flex:1}.search-result-item{display:block;width:100%;padding:var(--space-3) var(--space-4);border:none;border-bottom:1px solid var(--color-border);background:none;text-align:left;cursor:pointer;font-family:inherit;color:var(--color-text)}.search-result-item:hover,.search-result-item.selected{background:var(--color-bg-secondary)}.search-result-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:2px}.search-result-desc{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-path{font-size:var(--font-size-xs);color:var(--color-text-muted)}.search-empty{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.search-hint{padding:var(--space-2) var(--space-4);font-size:var(--font-size-xs);color:var(--color-text-muted);border-top:1px solid var(--color-border);display:flex;gap:var(--space-4)}.search-hint kbd{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 var(--space-1);font-size:var(--font-size-xs);font-family:inherit}.header-actions{display:flex;align-items:center;gap:var(--space-2)}.btn-search{padding:var(--space-1) var(--space-2);font-size:var(--font-size-base);background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-secondary);transition:background .15s,color .15s;line-height:1}.btn-search:hover{background:var(--color-bg-tertiary);color:var(--color-text)}.form-field--highlight{animation:field-highlight 2s ease-out;border-radius:var(--radius-md)}@keyframes field-highlight{0%{background:var(--color-primary-light);box-shadow:0 0 0 2px var(--color-primary)}to{background:transparent;box-shadow:none}}.unsaved-dialog-footer{justify-content:flex-end;gap:var(--space-2)}.filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-4)}.filter-field{display:flex;flex-direction:column;gap:var(--space-1)}.filter-field label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em}.filter-field select,.filter-field input[type=date]{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg);color:var(--color-text);outline:none;transition:border-color .15s;min-width:140px}.filter-field select:focus,.filter-field input[type=date]:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.filter-clear{align-self:flex-end}.search-input{position:relative;display:inline-flex;align-items:center;max-width:400px;width:100%;margin-bottom:var(--space-4)}.search-input input[type=text]{width:100%;padding:var(--space-2) var(--space-3);padding-right:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg);color:var(--color-text);outline:none;transition:border-color .15s}.search-input input[type=text]:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.search-clear{position:absolute;right:var(--space-2);background:none;border:none;font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.search-clear:hover{color:var(--color-text);background:var(--color-bg-tertiary)}.defi-filter-row{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap}.defi-category-tabs{display:flex;gap:var(--space-1)}.defi-category-tabs button{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm);transition:all .15s}.defi-category-tabs button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.defi-category-tabs button:hover:not(.active){background:var(--color-bg-secondary)}.defi-wallet-select{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);font-size:var(--font-size-sm);min-width:200px}.hf-warning-banner{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);background:#fef2f2;border:1px solid #fecaca;border-left:4px solid #dc2626;border-radius:6px;display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm)}.hf-warning-icon{font-size:var(--font-size-lg)}.defi-provider-group{margin-bottom:var(--space-4)}.defi-provider-header{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-2)}.pnl-positive{color:var(--color-success);font-weight:600}.pnl-negative{color:var(--color-danger);font-weight:600}@media(max-width:768px){.channel-grid,.settings-fields-grid{grid-template-columns:1fr}.filter-bar{flex-direction:column;align-items:stretch}.filter-field select,.filter-field input[type=date]{min-width:0;width:100%}.search-input{max-width:100%}.defi-filter-row{flex-direction:column;align-items:stretch}.defi-wallet-select{min-width:0;width:100%}}