/* ===== RESET & BASE ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#08090c;--bg2:#0d0f14;--bg3:#13161d;--bg4:#1a1d27;
  --purple:#7c6dfa;--purple-dim:#5a4ed4;--purple-glow:rgba(124,109,250,.25);
  --green:#06d6a0;--green-dim:#05b588;--green-glow:rgba(6,214,160,.2);
  --text:#e4e4e7;--text-dim:#9ca3af;--text-muted:#6b7280;
  --border:#1e2130;--border-light:#2a2d3e;
  --radius:12px;--radius-sm:8px;--radius-lg:16px;
  --mono:'Space Mono',monospace;--sans:'DM Sans',sans-serif;
}
html{scroll-behavior:smooth;font-size:16px}
body{
  font-family:var(--sans);color:var(--text);background:var(--bg);
  line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
a{color:var(--purple);text-decoration:none;transition:color .2s}
a:hover{color:var(--green)}
img{max-width:100%}

/* ===== LAYOUT ===== */
.container{max-width:1120px;margin:0 auto;padding:0 24px}
#demo .container{max-width:1480px}
section{padding:100px 0}
#demo{padding-top:80px}
@media(max-width:768px){section{padding:64px 0}}

/* ===== NAV ===== */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(8,9,12,.82);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
}
nav .inner{
  display:flex;align-items:center;justify-content:space-between;
  max-width:1120px;margin:0 auto;padding:10px 24px;
}
nav .logo{font-family:var(--mono);font-weight:700;font-size:1.05rem;color:var(--text);display:flex;align-items:center;gap:8px}
nav .logo span{color:var(--purple)}
nav .logo .logo-tagline{
  font-family:var(--sans);font-weight:500;font-size:.7rem;
  color:var(--text-muted);letter-spacing:.04em;
  padding-left:10px;border-left:1px solid var(--border);
  margin-left:4px;
}
@media(max-width:600px){nav .logo .logo-tagline{display:none}}
nav .links{display:flex;gap:28px;align-items:center}
nav .links a{font-size:.875rem;color:var(--text-dim);font-weight:500}
nav .links a:hover{color:var(--purple)}
nav .gh-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 16px;border-radius:var(--radius-sm);
  border:1px solid var(--border-light);font-size:.825rem;font-weight:600;color:var(--text);
  transition:all .25s;
}
nav .gh-btn:hover{border-color:var(--purple);color:var(--purple);background:var(--purple-glow)}
nav .gh-btn svg{width:16px;height:16px}
.nav-tour-btn{
  height:36px;padding:0 16px;border-radius:8px;border:1px solid rgba(0,230,118,.35);
  background:rgba(0,230,118,.06);color:#00e676;font-size:.8rem;font-weight:700;
  cursor:pointer;font-family:var(--mono);transition:all .25s;display:inline-flex;
  align-items:center;justify-content:center;gap:6px;margin-right:4px;
  animation:tour-nav-pulse 2.5s ease-in-out infinite;
}
.nav-tour-btn:hover{border-color:#00e676;color:#fff;background:rgba(0,230,118,.15)}
@keyframes tour-nav-pulse{0%,100%{box-shadow:0 0 0 0 rgba(0,230,118,0)}50%{box-shadow:0 0 12px 2px rgba(0,230,118,.2)}}
.nav-connect-btn{
  padding:7px 16px;border-radius:var(--radius-sm);border:1px solid #25d695;
  background:transparent;color:#25d695;font-size:.8rem;font-weight:600;
  cursor:pointer;font-family:var(--mono);transition:all .25s;
}
.nav-connect-btn:hover{background:rgba(37,214,149,.1);transform:translateY(-1px)}
.nav-connected-badge{
  display:inline-flex;align-items:center;gap:6px;padding:5px 12px;
  border-radius:var(--radius-sm);border:1px solid var(--border-light);
  font-family:var(--mono);font-size:.72rem;color:#25d695;
}
.nav-connected-dot{width:6px;height:6px;border-radius:50%;background:#25d695;animation:pulse-dot 2s infinite}
.nav-disconnect-x{
  background:none;border:none;color:var(--text-muted);font-size:1rem;
  cursor:pointer;padding:0 0 0 4px;line-height:1;transition:color .15s;
}
.nav-disconnect-x:hover{color:#ff7386}
@media(max-width:640px){nav .links a:not(.gh-btn){display:none}.nav-connect-btn,.nav-connected-badge{font-size:.65rem;padding:5px 10px}}

@keyframes pulse-dot{0%,100%{opacity:1}50%{opacity:.4}}

/* Wallet Connected Toast */
.wallet-toast{
  position:fixed;top:16px;right:16px;z-index:10000;
  padding:10px 18px;border-radius:8px;
  background:rgba(37,214,149,0.15);border:1px solid #25d695;
  color:#25d695;font-size:.82rem;font-weight:600;font-family:var(--mono);
  display:flex;align-items:center;gap:8px;
  opacity:0;transform:translateY(-10px);
  transition:opacity .3s,transform .3s;
  backdrop-filter:blur(10px);
}
.wallet-toast.show{opacity:1;transform:translateY(0)}
.wallet-toast-dot{width:8px;height:8px;border-radius:50%;background:#25d695;animation:pulse-dot 1.5s infinite}

/* ===== DEMO SECTION ===== */
#demo{position:relative;z-index:1;padding-top:80px}
.section-label{
  font-family:var(--mono);font-size:.8rem;color:var(--purple);
  text-transform:uppercase;letter-spacing:2px;margin-bottom:12px;
}
.section-title{font-family:var(--mono);font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700;margin-bottom:12px}
.section-sub{color:var(--text-dim);font-size:1.05rem;max-width:560px;margin-bottom:40px}

/* Input area */
.demo-input-wrap{
  background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:24px;margin-bottom:20px;transition:border-color .3s;
}
.demo-input-wrap:focus-within{border-color:var(--purple)}
.demo-input-row{display:flex;gap:12px}
.demo-input{
  flex:1;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:14px 18px;font-size:1rem;font-family:var(--sans);color:var(--text);
  outline:none;transition:border-color .3s;
}
.demo-input::placeholder{color:var(--text-muted)}
.demo-input:focus{border-color:var(--purple)}
.demo-create-btn{
  padding:14px 28px;border-radius:var(--radius-sm);border:none;
  background:var(--purple);color:#fff;font-weight:700;font-size:.95rem;
  cursor:pointer;font-family:var(--sans);transition:all .3s;white-space:nowrap;
}
.demo-create-btn:hover{background:var(--purple-dim);box-shadow:0 0 30px var(--purple-glow);transform:translateY(-1px)}
.demo-create-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}

/* Presets */
.presets{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.preset-btn{
  padding:8px 18px;border-radius:999px;border:1px solid var(--border-light);
  background:transparent;color:var(--text-dim);font-size:.82rem;font-weight:500;
  cursor:pointer;font-family:var(--sans);transition:all .25s;
}
.preset-btn:hover{border-color:var(--purple);color:var(--purple);background:rgba(124,109,250,.08)}

/* Split Layout: input left + progress sidebar right */
/* Inspiration Rail */
.create-clean-layout{
  display:flex;flex-direction:column;gap:20px;
}
.create-clean-layout .demo-processing{
  border-left:2px solid var(--purple);margin-bottom:0;
}
.create-clean-layout .demo-processing::-webkit-scrollbar{width:4px}
.create-clean-layout .demo-processing::-webkit-scrollbar-track{background:transparent}
.create-clean-layout .demo-processing::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px}

/* Processing */
.demo-processing{
  background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:28px;margin-bottom:20px;display:none;
}
.demo-processing.show{display:block;animation:fadeInUp .4s ease}
.processing-header{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.processing-spinner{
  width:20px;height:20px;border:2px solid var(--border-light);
  border-top-color:var(--purple);border-radius:50%;animation:spin .8s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
.processing-title{font-family:var(--mono);font-size:.9rem;color:var(--purple);font-weight:700}
.processing-stream{
  font-family:var(--mono);font-size:.78rem;color:var(--text-dim);
  line-height:1.9;white-space:pre-wrap;min-height:80px;
}

/* Token Card */
.token-card{
  background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);
  overflow:hidden;display:none;
}
.token-card.show{display:block;animation:slideUp .6s ease}
@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

.tc-header{
  padding:28px 28px 20px;
  background:linear-gradient(135deg,rgba(124,109,250,.1),rgba(6,214,160,.05));
  border-bottom:1px solid var(--border);position:relative;overflow:hidden;
}
.tc-header::before{
  content:'';position:absolute;top:-60px;right:-60px;width:200px;height:200px;
  border-radius:50%;background:radial-gradient(circle,var(--purple-glow),transparent 70%);
}
.tc-badge{
  display:inline-flex;align-items:center;gap:10px;padding:8px 18px;
  border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border-light);
  margin-bottom:14px;position:relative;
}
.tc-badge-icon{
  width:36px;height:36px;border-radius:50%;
  background:linear-gradient(135deg,var(--purple),var(--green));
  display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-weight:700;font-size:.85rem;color:#fff;
}
.tc-badge-name{font-family:var(--mono);font-weight:700;font-size:1.15rem}
.tc-badge-sym{font-family:var(--mono);font-size:.8rem;color:var(--text-muted);text-transform:uppercase}
.tc-deployed{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 14px;border-radius:999px;background:rgba(6,214,160,.12);
  color:var(--green);font-size:.78rem;font-weight:600;font-family:var(--mono);
  margin-left:16px;
}
.tc-deployed .dot-live{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse-dot 1.5s infinite}

.tc-body{padding:28px}

/* Stats grid */
.tc-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:28px}
.tc-stat{
  background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:16px;text-align:center;transition:border-color .3s;
}
.tc-stat:hover{border-color:var(--purple)}
.tc-stat-val{font-family:var(--mono);font-size:1.2rem;font-weight:700;color:var(--text);margin-bottom:4px}
.tc-stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}

/* Features pills */
.tc-features{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.tc-feat{
  padding:6px 14px;border-radius:999px;font-size:.78rem;font-weight:600;
  font-family:var(--mono);border:1px solid;
}
.tc-feat.on{color:var(--green);border-color:rgba(6,214,160,.3);background:rgba(6,214,160,.08)}
.tc-feat.off{color:var(--text-muted);border-color:var(--border);background:transparent;opacity:.5}

/* Allocation bar */

/* CLI command */
.tc-cli{
  background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:16px 20px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.tc-cli code{font-family:var(--mono);font-size:.8rem;color:var(--green);word-break:break-all}
.tc-copy{
  padding:6px 14px;border-radius:6px;border:1px solid var(--border-light);
  background:transparent;color:var(--text-dim);font-size:.75rem;font-family:var(--mono);
  cursor:pointer;transition:all .25s;white-space:nowrap;
}
.tc-copy:hover{border-color:var(--green);color:var(--green)}

/* JSON block */
.tc-json-wrap{
  background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);
  overflow:hidden;
}
.tc-json-bar{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 16px;background:var(--bg3);border-bottom:1px solid var(--border);
}
.tc-json-bar span{font-family:var(--mono);font-size:.75rem;color:var(--text-muted)}
.tc-json{padding:18px;font-family:var(--mono);font-size:.75rem;line-height:1.8;overflow-x:auto;white-space:pre}
.tc-json .jk{color:var(--purple)}.tc-json .js{color:var(--green)}.tc-json .jn{color:#f59e0b}.tc-json .jb{color:#3b82f6}

/* Explorer link */
.tc-explorer{
  margin-top:20px;padding:16px 20px;
  background:rgba(6,214,160,.06);border:1px solid rgba(6,214,160,.2);
  border-radius:var(--radius-sm);display:flex;align-items:center;gap:12px;
}
.tc-explorer-icon{font-size:1.2rem}
.tc-explorer-text{font-size:.85rem;color:var(--text-dim)}
.tc-explorer-text a{color:var(--green);font-family:var(--mono);font-size:.8rem}

/* ===== FOOTER ===== */
footer{
  border-top:1px solid var(--border);padding:48px 0 36px;position:relative;z-index:1;
}
.footer-inner{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;
}
.footer-left{font-size:.85rem;color:var(--text-muted)}
.footer-left span{color:var(--purple);font-weight:600}
.footer-links{display:flex;gap:24px;flex-wrap:wrap}
.footer-links a{font-size:.85rem;color:var(--text-dim);transition:color .2s}
.footer-links a:hover{color:var(--purple)}
.footer-badge{
  display:inline-flex;align-items:center;gap:8px;padding:6px 16px;
  border-radius:var(--radius-sm);border:1px solid var(--border);
  font-size:.78rem;color:var(--text-dim);margin-top:24px;
}

/* ===== ANIMATIONS ===== */
@keyframes fadeInUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--purple-dim)}

.demo-disclaimer{
  font-size:.72rem;color:var(--text-muted);font-style:italic;
  margin-top:6px;
}

/* Live badge on token card */
.tc-live-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 14px;border-radius:999px;background:rgba(6,214,160,.15);
  color:var(--green);font-size:.72rem;font-weight:700;font-family:var(--mono);
  border:1px solid rgba(6,214,160,.3);margin-left:12px;
}
.tc-live-badge .dot-g{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse-dot 1.5s infinite}

/* Live explorer link */
.tc-explorer-live a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.tc-explorer-actions{
  display:flex;gap:10px;margin-top:14px;justify-content:center;flex-wrap:wrap;
}
.tc-dex-btn{
  padding:10px 22px;border:none;border-radius:var(--radius-sm);
  background:linear-gradient(135deg,var(--purple),var(--purple-dim));
  color:#fff;font-weight:700;font-size:.88rem;cursor:pointer;
  font-family:var(--sans);transition:all .25s;
}
.tc-dex-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px var(--purple-glow)}
.tc-dex-btn-alt{
  background:var(--bg4);border:1px solid var(--border-light);color:var(--text-dim);
}
.tc-dex-btn-alt:hover{border-color:var(--purple);color:var(--text);box-shadow:none}

/* Post-create "What's Next?" modal buttons */
.tc-next-btn{
  display:flex;align-items:center;gap:14px;padding:14px 18px;
  background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);
  color:var(--text);cursor:pointer;text-align:left;transition:all .2s;
  font-family:var(--sans);width:100%;
}
.tc-next-btn:hover{border-color:var(--purple);background:var(--bg4)}
.tc-next-primary{
  background:linear-gradient(135deg,rgba(124,109,250,.12),rgba(124,109,250,.05));
  border-color:var(--purple-dim);
}
.tc-next-primary:hover{
  border-color:var(--purple);box-shadow:0 0 20px var(--purple-glow);
}
.tc-next-icon{font-size:1.6rem;min-width:36px;text-align:center}
.tc-next-info{display:flex;flex-direction:column;gap:2px}
.tc-next-title{font-weight:700;font-size:.92rem}
.tc-next-desc{font-size:.76rem;color:var(--text-muted);line-height:1.4}
.tc-next-dismiss{
  background:none;border:none;color:var(--text-muted);font-size:.82rem;
  cursor:pointer;padding:8px;font-family:var(--sans);margin-top:4px;
}
.tc-next-dismiss:hover{color:var(--text)}

/* Create mode toggle: Manual / AI Prompt */
.create-mode-toggle{
  display:flex;gap:0;margin-bottom:18px;
  border-bottom:1px solid var(--border);
  overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.create-mode-toggle::-webkit-scrollbar{display:none}
.create-mode-btn{
  padding:7px 16px;font-family:var(--mono);font-size:.7rem;font-weight:600;
  color:var(--text-muted);cursor:pointer;border:none;background:transparent;
  position:relative;text-transform:uppercase;letter-spacing:.03em;transition:all .18s;
}
.create-mode-btn:hover{color:var(--text)}
.create-mode-btn.active{color:var(--purple)}
.create-mode-btn.active::after{
  content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;
  background:var(--purple);border-radius:2px 2px 0 0;
}

/* Custom deploy button */
.custom-deploy-btn{
  width:100%;margin-top:20px;padding:14px;font-size:.95rem;
  background:linear-gradient(135deg,var(--purple),var(--purple-dim)) !important;
  border-radius:var(--radius) !important;
}

/* AI Advisor tab pane */
.ai-advisor-pane{
  background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:0;display:flex;flex-direction:column;max-width:700px;
  height:calc(100vh - 200px);min-height:400px;
}
.ai-advisor-header{
  font-family:var(--mono);font-size:.8rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);
  padding:16px 20px 0;
}
.ai-advisor-desc{
  font-size:.78rem;color:var(--text-muted);padding:4px 20px 14px;
  border-bottom:1px solid var(--border);
}
.ai-advisor-pane .chat-messages{
  flex:1;overflow-y:auto;padding:16px 20px;
}
.ai-advisor-pane .chat-input-row{
  padding:12px 16px;border-top:1px solid var(--border);
}

/* Suggestion hint */
.suggestion-hint{
  margin-top:10px;padding:14px 16px;
  background:linear-gradient(135deg,rgba(124,109,250,.06),rgba(6,214,160,.04));
  border:1px solid rgba(124,109,250,.15);border-radius:var(--radius-sm);
  font-size:.82rem;line-height:1.6;color:var(--text-dim);
  display:flex;flex-direction:column;gap:6px;
}
.suggestion-prompt{
  color:var(--text);font-weight:600;font-size:.88rem;
  padding:8px 12px;background:rgba(124,109,250,.08);
  border-radius:var(--radius-sm);border:1px dashed rgba(124,109,250,.25);
  cursor:pointer;transition:all .2s;
}
.suggestion-prompt:hover{background:rgba(124,109,250,.14);border-color:var(--purple)}
.suggestion-usecase{display:block;font-size:.8rem;line-height:1.5}
.suggestion-hint strong{color:var(--purple);font-weight:700}
.suggestion-shuffle{
  background:none;border:none;color:var(--green);cursor:pointer;
  font-size:1.1rem;vertical-align:middle;padding:0 4px;
  transition:transform .3s;display:inline-block;align-self:flex-end;
}
.suggestion-shuffle:hover{transform:rotate(180deg);color:var(--purple)}

/* Live error */
.demo-error{
  background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.25);
  border-radius:var(--radius-sm);padding:16px 20px;margin-bottom:20px;
  font-family:var(--mono);font-size:.82rem;color:#f87171;display:none;
}
.demo-error.show{display:block;animation:fadeInUp .3s ease}

/* Processing live status */
.processing-status{
  font-family:var(--mono);font-size:.78rem;color:var(--green);
  margin-bottom:8px;display:flex;align-items:center;gap:8px;
}
.processing-status .dot-g{width:5px;height:5px;border-radius:50%;background:var(--green);animation:pulse-dot 1s infinite}
.processing-thinking{
  font-family:var(--mono);font-size:.75rem;color:var(--text-muted);
  font-style:italic;margin-bottom:8px;padding-left:12px;
  border-left:2px solid var(--border);max-height:80px;overflow-y:auto;
}

/* ===== CHAT MODE ===== */
/* Tab bar — slim inline style */
.tab-bar-wrap{
  display:flex;align-items:center;margin-bottom:16px;
  border-bottom:1px solid var(--border);
}
.chat-tab-bar{
  display:flex;gap:0;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.chat-tab-bar::-webkit-scrollbar{display:none}
.chat-tab{
  padding:8px 14px;font-family:var(--mono);font-size:.7rem;font-weight:600;
  color:var(--text-muted);cursor:pointer;transition:all .18s;border:none;background:transparent;
  position:relative;white-space:nowrap;letter-spacing:.03em;text-transform:uppercase;
}
.chat-tab:hover{color:var(--text)}
.chat-tab.active{color:var(--green)}
.chat-tab.active::after{
  content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--green);border-radius:2px 2px 0 0;
}

/* ===== APP LAYOUT ===== */
.app-main{min-width:0}

.chat-messages{
  flex:1;padding:20px;overflow-y:auto;max-height:450px;min-height:300px;
  display:flex;flex-direction:column;gap:14px;
  scroll-behavior:smooth;
}
.chat-msg{
  display:flex;gap:10px;max-width:85%;animation:fadeUp .3s ease;
}
.chat-msg.user{align-self:flex-end;flex-direction:row-reverse}
.chat-msg.assistant{align-self:flex-start}
.chat-msg-avatar{
  width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:.75rem;font-weight:700;flex-shrink:0;
}
.chat-msg.user .chat-msg-avatar{background:var(--purple);color:white}
.chat-msg.assistant .chat-msg-avatar{background:var(--green);color:var(--bg)}
.chat-msg-bubble{
  padding:12px 16px;border-radius:var(--radius);font-size:.88rem;line-height:1.55;
}
.chat-msg.user .chat-msg-bubble{background:var(--purple-dim);color:white;border-bottom-right-radius:4px}
.chat-msg.assistant .chat-msg-bubble{background:var(--bg4);color:var(--text);border-bottom-left-radius:4px}
.chat-msg-bubble p{margin:6px 0}
.chat-msg-bubble p:first-child{margin-top:0}
.chat-msg-bubble p:last-child{margin-bottom:0}
.chat-msg-bubble strong{color:var(--green)}
.chat-msg-bubble ul,.chat-msg-bubble ol{margin:6px 0;padding-left:20px}
.chat-msg-bubble li{margin:3px 0}

.chat-typing{
  align-self:flex-start;display:flex;gap:10px;align-items:center;padding:0 20px 14px;
}
.chat-typing-dots{display:flex;gap:4px}
.chat-typing-dots span{
  width:7px;height:7px;border-radius:50%;background:var(--text-muted);
  animation:chatBounce .6s infinite alternate;
}
.chat-typing-dots span:nth-child(2){animation-delay:.15s}
.chat-typing-dots span:nth-child(3){animation-delay:.3s}
@keyframes chatBounce{from{opacity:.3;transform:translateY(0)}to{opacity:1;transform:translateY(-4px)}}

.chat-input-row{
  display:flex;gap:10px;padding:16px 20px;border-top:1px solid var(--border);
  background:var(--bg3);
}
.chat-input{
  flex:1;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:10px 14px;color:var(--text);font-family:var(--sans);font-size:.88rem;
  outline:none;transition:border-color .2s;
}
.chat-input:focus{border-color:var(--purple)}
.chat-input::placeholder{color:var(--text-muted)}
.chat-send-btn{
  background:var(--green);color:var(--bg);border:none;border-radius:var(--radius-sm);
  padding:10px 20px;font-family:var(--mono);font-weight:700;font-size:.82rem;
  cursor:pointer;transition:all .2s;white-space:nowrap;
}
.chat-send-btn:hover{background:var(--green-dim);transform:translateY(-1px)}
.chat-send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}

.chat-config-card{
  margin:10px 0;padding:14px 18px;background:var(--bg2);border:1px solid var(--green);
  border-radius:var(--radius);
}
.chat-config-title{
  font-family:var(--mono);font-size:.78rem;font-weight:700;color:var(--green);
  margin-bottom:10px;text-transform:uppercase;letter-spacing:1px;
}
.chat-config-grid{
  display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:.82rem;margin-bottom:12px;
}
.chat-config-label{color:var(--text-muted);font-family:var(--mono)}
.chat-config-value{color:var(--text)}
.chat-deploy-btn{
  background:var(--green);color:var(--bg);border:none;border-radius:var(--radius-sm);
  padding:10px 24px;font-family:var(--mono);font-weight:700;font-size:.85rem;
  cursor:pointer;transition:all .2s;width:100%;
}
.chat-deploy-btn:hover{background:var(--green-dim);transform:translateY(-1px)}

.chat-welcome{
  text-align:center;padding:40px 20px;color:var(--text-dim);
}
.chat-welcome-icon{font-size:2.5rem;margin-bottom:12px}
.chat-welcome-title{font-family:var(--mono);font-size:1rem;font-weight:700;color:var(--text);margin-bottom:8px}
.chat-welcome-sub{font-size:.85rem;max-width:400px;margin:0 auto;line-height:1.5}
.chat-starters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px}
.chat-starter{
  background:var(--bg4);border:1px solid var(--border);border-radius:20px;
  padding:6px 14px;font-size:.78rem;color:var(--text-dim);cursor:pointer;
  transition:all .2s;font-family:var(--sans);
}
.chat-starter:hover{border-color:var(--purple);color:var(--text)}

@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes obFlashGreen{0%{background:rgba(37,214,149,.15)}100%{background:transparent}}
@keyframes obFlashRed{0%{background:rgba(216,29,60,.15)}100%{background:transparent}}

/* ===== CUSTOMIZE PANEL ===== */
.customize-toggle{
  display:flex;align-items:center;gap:8px;margin:18px 0 0;cursor:pointer;
  font-family:var(--mono);font-size:.9rem;font-weight:600;color:var(--text-main);
  transition:color .2s;user-select:none;
  padding:10px 16px;background:var(--bg2);border:1px solid var(--border);
  border-radius:var(--radius);
}
.customize-toggle:hover{color:var(--purple);border-color:var(--purple)}
.customize-toggle .arrow{transition:transform .2s;display:inline-block}
.customize-toggle .arrow.open{transform:rotate(90deg)}

.customize-panel{
  display:none;margin-top:16px;background:var(--bg2);border:1px solid var(--border);
  border-radius:var(--radius-lg);overflow:hidden;animation:fadeUp .3s ease;
}
.customize-panel.show{display:block}

.cp-section{padding:20px 24px;border-bottom:1px solid var(--border)}
.cp-section:last-child{border-bottom:none}
.cp-section-title{
  font-family:var(--mono);font-size:.78rem;font-weight:700;color:var(--green);
  text-transform:uppercase;letter-spacing:1px;margin-bottom:14px;
  display:flex;align-items:center;gap:8px;
}
.cp-section-title .icon{font-style:normal;font-size:1rem}

.cp-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.cp-row.triple{grid-template-columns:1fr 1fr 1fr}
.cp-row:last-child{margin-bottom:0}

.cp-field{display:flex;flex-direction:column;gap:4px}
.cp-label{
  font-family:var(--mono);font-size:.72rem;font-weight:600;color:var(--text-muted);
  text-transform:uppercase;letter-spacing:.5px;
}
.cp-input{
  background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:9px 12px;color:var(--text);font-family:var(--sans);font-size:.85rem;
  outline:none;transition:border-color .2s;width:100%;box-sizing:border-box;
}
.cp-input:focus{border-color:var(--purple)}
.cp-input::placeholder{color:var(--text-muted)}
.cp-input.full{grid-column:1/-1}

.cp-features{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.cp-feature{
  display:flex;align-items:center;gap:8px;padding:10px 12px;
  background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);
  cursor:pointer;transition:all .2s;user-select:none;
}
.cp-feature:hover{border-color:var(--purple)}
.cp-feature.active{border-color:var(--green);background:rgba(0,255,136,.06)}
.cp-feature-check{
  width:18px;height:18px;border-radius:4px;border:2px solid var(--border);
  display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;
}
.cp-feature.active .cp-feature-check{border-color:var(--green);background:var(--green)}
.cp-feature-check svg{display:none;width:12px;height:12px}
.cp-feature.active .cp-feature-check svg{display:block}
.cp-feature-label{font-size:.78rem;font-family:var(--mono);color:var(--text-dim)}
.cp-feature.active .cp-feature-label{color:var(--text)}
.cp-feature-tip{
  font-size:.65rem;color:var(--text-muted);line-height:1.3;
}

.cp-slider-row{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.cp-slider-row:last-child{margin-bottom:0}
.cp-slider-label{
  font-family:var(--mono);font-size:.78rem;color:var(--text-dim);width:140px;flex-shrink:0;
}
.cp-slider-wrap{flex:1;display:flex;align-items:center;gap:12px}
.cp-slider{
  -webkit-appearance:none;appearance:none;flex:1;height:6px;border-radius:3px;
  background:var(--bg);outline:none;cursor:pointer;
}
.cp-slider::-webkit-slider-thumb{
  -webkit-appearance:none;width:18px;height:18px;border-radius:50%;
  background:var(--purple);cursor:pointer;border:2px solid var(--bg2);
}
.cp-slider::-moz-range-thumb{
  width:18px;height:18px;border-radius:50%;
  background:var(--purple);cursor:pointer;border:2px solid var(--bg2);
}
.cp-slider-value{
  font-family:var(--mono);font-size:.85rem;font-weight:700;color:var(--green);
  min-width:42px;text-align:right;
}

.cp-hint{font-size:.7rem;color:var(--text-muted);margin-top:4px;line-height:1.4;font-style:italic}

/* Logo Upload */
.logo-upload-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:8px 16px;border-radius:8px;cursor:pointer;
  background:var(--purple);color:#fff;font-size:.8rem;font-weight:600;
  transition:all .2s;white-space:nowrap;
}
.logo-upload-btn:hover{opacity:.85}
.logo-preview-wrap{
  margin-top:8px;position:relative;display:inline-block;
}
.logo-preview-img{
  width:64px;height:64px;border-radius:12px;object-fit:cover;
  border:2px solid var(--border);
}
.logo-remove-btn{
  position:absolute;top:-6px;right:-6px;width:20px;height:20px;
  border-radius:50%;background:#ef4444;color:#fff;border:none;
  font-size:14px;line-height:1;cursor:pointer;display:flex;
  align-items:center;justify-content:center;
}
.logo-uploading{opacity:.5;pointer-events:none}

/* ===== DEX TAB ===== */
.dex-wrap{display:none;animation:fadeUp .3s ease}
.dex-wrap.show{display:block}

/* Pair Bar */
.dex-pair-bar{
  background:#101216;border-bottom:1px solid var(--border);
  display:flex;flex-direction:column;gap:0;
}
.dex-pair-bar-top{
  display:flex;align-items:center;gap:10px;padding:8px 16px;flex-wrap:wrap;
}
.dex-pair-bar-bottom{
  display:flex;align-items:center;gap:20px;padding:6px 16px;
  border-top:1px solid var(--border);overflow-x:auto;
}
.dex-pair-bar-bottom::-webkit-scrollbar{height:0}
.dex-pair-name{
  font-family:var(--mono);font-size:1rem;font-weight:700;color:#eee;
  white-space:nowrap;letter-spacing:.3px;
}
.dex-stat-primary{flex-direction:row;gap:6px;align-items:baseline}
.dex-stat-divider{width:1px;height:24px;background:var(--border);flex-shrink:0}
.dex-pair-select-wrap{position:relative;min-width:200px}
.dex-pair-select{
  width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:6px;
  padding:8px 32px 8px 10px;font-size:.8rem;font-family:var(--mono);color:var(--text);
  outline:none;cursor:pointer;-webkit-appearance:none;appearance:none;transition:border-color .2s;
}
.dex-pair-select:focus{border-color:var(--purple)}
.dex-pair-select-wrap::after{
  content:'\25BC';position:absolute;right:10px;top:50%;transform:translateY(-50%);
  font-size:.6rem;color:var(--text-muted);pointer-events:none;
}

.dex-stats-strip{
  display:flex;align-items:center;gap:20px;margin-left:auto;flex-wrap:wrap;
  padding:4px 0;
}
/* Override: stats now live in pair-bar-bottom directly */
.dex-stat{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.dex-stat-label{font-family:var(--mono);font-size:.55rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px}
.dex-stat-value{font-family:var(--mono);font-size:.76rem;color:#eee;font-weight:600}
.dex-stat-value.green{color:#25d695}
.dex-stat-value.red{color:#ff7386}
.dex-stat-value.purple{color:#a78bfa}

.dex-live-badge{
  display:inline-flex;align-items:center;gap:5px;
  font-family:var(--mono);font-size:.68rem;color:var(--text-muted);
}
.dex-live-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted)}
.dex-live-dot.on{background:var(--green);animation:pulse-dot 2s infinite}

.dex-wallet-area{position:relative;display:flex;align-items:center;gap:8px;margin-left:auto}
.dex-connect-btn{
  padding:7px 14px;border-radius:6px;border:1px solid var(--purple);
  background:transparent;color:var(--purple);font-family:var(--mono);font-size:.7rem;
  cursor:pointer;transition:all .2s;
}
.dex-connect-btn:hover{background:var(--purple);color:#fff}
.dex-wallet-dropdown{
  position:absolute;top:calc(100% + 6px);right:0;background:var(--bg4);
  border:1px solid var(--border);border-radius:8px;padding:6px;
  display:none;flex-direction:column;gap:4px;z-index:100;min-width:180px;
  box-shadow:0 8px 24px rgba(0,0,0,.4);
}
.dex-wallet-dropdown.show{display:flex}
.dex-wallet-opt{
  display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:6px;
  border:none;background:transparent;color:var(--text);font-family:var(--mono);
  font-size:.75rem;cursor:pointer;transition:background .15s;text-align:left;
}
.dex-wallet-opt:hover{background:rgba(255,255,255,.06)}
.dex-wallet-opt img{width:22px;height:22px;border-radius:4px}
.dex-connected-badge{
  display:flex;align-items:center;gap:8px;padding:5px 10px;
  border-radius:6px;border:1px solid var(--border);background:var(--bg3);
  font-family:var(--mono);font-size:.68rem;
}
.dex-connected-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--green)}
.dex-connected-badge .addr{color:var(--green);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dex-connected-badge .provider{color:var(--text-muted);text-transform:capitalize}
.dex-disconnect-btn{
  padding:5px 10px;border-radius:4px;border:1px solid rgba(239,68,68,.3);
  background:transparent;color:#ef4444;font-family:var(--mono);font-size:.62rem;
  cursor:pointer;transition:all .15s;
}
.dex-disconnect-btn:hover{background:rgba(239,68,68,.15)}
.dex-wallet-mode-badge{
  display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;
  font-family:var(--mono);font-size:.6rem;font-weight:600;letter-spacing:.3px;
}
.dex-wallet-mode-badge.agent{background:rgba(139,92,246,.15);color:var(--purple)}
.dex-wallet-mode-badge.connected{background:rgba(34,197,94,.15);color:var(--green)}

/* Terminal Grid */
.dex-terminal{
  display:grid;
  grid-template-columns:280px 1fr 300px;
  grid-template-rows:1fr auto;
  grid-template-areas:
    "left-stack center order-form"
    "orders orders orders";
  gap:1px;
  background:var(--border);
  border:1px solid var(--border);
  min-height:680px;
}
.dex-terminal-panel{
  background:var(--bg2);overflow:hidden;display:flex;flex-direction:column;
}
.dex-terminal-panel *::-webkit-scrollbar{width:3px;height:3px}
.dex-terminal-panel *::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:2px}
.dex-terminal-panel *::-webkit-scrollbar-track{background:transparent}
.dex-left-stack{grid-area:left-stack;display:flex;flex-direction:column;gap:1px;min-height:0}
.dex-left-stack .p-orderbook{flex:1 1 60%;min-height:0}
.dex-left-stack .p-history{flex:0 0 auto;max-height:240px}
.dex-terminal-panel.p-center{grid-area:center}
.dex-terminal-panel.p-order-form{grid-area:order-form}
.dex-terminal-panel.p-orders{grid-area:orders}

.dex-panel-hdr{
  padding:8px 12px;border-bottom:1px solid var(--border);
  font-family:var(--mono);font-size:.7rem;font-weight:700;color:var(--text-muted);
  text-transform:uppercase;letter-spacing:.8px;display:flex;align-items:center;justify-content:space-between;
  background:var(--bg3);flex-shrink:0;
}
.dex-panel-body{padding:10px;flex:1;overflow-y:auto}
.dex-panel-body::-webkit-scrollbar{width:4px}
.dex-panel-body::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:2px}

/* Orderbook */
.dex-ob-hdr{
  display:grid;grid-template-columns:1fr 1fr 1fr;padding:6px 10px;
  font-family:var(--mono);font-size:.62rem;font-weight:600;color:var(--text-muted);
  text-transform:uppercase;border-bottom:1px solid var(--border);background:var(--bg3);
  letter-spacing:.3px;
}
.dex-ob-hdr span:last-child{text-align:right}
.dex-ob-hdr span:nth-child(2){text-align:right}

/* Orderbook view mode controls */
.dex-ob-controls{display:flex;align-items:center;gap:8px}
.dex-ob-view-modes{display:flex;gap:2px}
.dex-ob-mode{
  padding:3px 4px;background:transparent;border:1px solid var(--border);border-radius:3px;
  cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;
  line-height:0;
}
.dex-ob-mode:hover{border-color:rgba(255,255,255,.2)}
.dex-ob-mode.active{border-color:rgba(139,92,246,.5);background:rgba(139,92,246,.1)}
.dex-ob-asks,.dex-ob-bids{overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.08) transparent}
.dex-ob-asks::-webkit-scrollbar,.dex-ob-bids::-webkit-scrollbar{width:3px}
.dex-ob-asks::-webkit-scrollbar-thumb,.dex-ob-bids::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:2px}
.dex-ob-asks{display:flex;flex-direction:column;justify-content:flex-end;flex:1;min-height:80px}
.dex-ob-bids{flex:1;min-height:80px}
.dex-ob-row{
  display:grid;grid-template-columns:1fr 1fr 1fr;padding:2px 10px;
  font-family:var(--mono);font-size:.72rem;position:relative;cursor:pointer;
  transition:background .1s;line-height:1.6;
}
.dex-ob-row:hover{background:rgba(255,255,255,.06);cursor:pointer}
.dex-ob-row span{position:relative;z-index:1}
.dex-ob-row span:last-child{text-align:right}
.dex-ob-row span:nth-child(2){text-align:right;color:var(--text-dim)}
.dex-ob-row .dbar{position:absolute;top:0;right:0;bottom:0;opacity:.15;pointer-events:none;transition:width .3s}
.dex-ob-row.ask .price{color:#ef4444}
.dex-ob-row.ask .dbar{background:#ef4444}
.dex-ob-row.bid .price{color:#25d695}
.dex-ob-row.bid .dbar{background:#25d695}

/* Orderbook Hover Tooltip (CoreDEX-style) */
.dex-ob-row{position:relative}
.dex-ob-tip{
  display:none;position:absolute;right:0;top:-48px;
  z-index:50;background:#1a1d27;border:1px solid var(--border-light);
  border-radius:6px;padding:8px 12px;min-width:160px;
  box-shadow:0 8px 24px rgba(0,0,0,.5);pointer-events:none;
  font-family:var(--mono);font-size:.62rem;line-height:1.7;color:var(--text-dim);
  white-space:nowrap;
}
.dex-ob-row:hover .dex-ob-tip{display:block}
.dex-ob-tip .tip-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.55rem}
.dex-ob-tip .tip-val{color:#eee;font-weight:600}
.dex-ob-tip .tip-val.green{color:#25d695}
.dex-ob-tip .tip-val.red{color:#ff7386}
.dex-ob-tip .tip-val.purple{color:#a78bfa}

/* Multi-pair Market Tabs */
.dex-market-tabs{
  display:flex;align-items:center;gap:0;padding:0 16px;
  background:#101216;border-bottom:1px solid var(--border);overflow-x:auto;
}
.dex-market-tabs::-webkit-scrollbar{height:0}
.dex-market-tab{
  display:flex;align-items:center;gap:6px;padding:7px 14px;
  font-family:var(--mono);font-size:.7rem;font-weight:600;
  color:var(--text-muted);cursor:pointer;border:none;background:transparent;
  border-bottom:2px solid transparent;transition:all .2s;white-space:nowrap;
  flex-shrink:0;
}
.dex-market-tab:hover{color:var(--text-dim)}
.dex-market-tab.active{color:#eee;border-bottom-color:#a78bfa}
.dex-market-tab .mt-price{font-size:.6rem;color:var(--text-muted)}
.dex-market-tab.active .mt-price{color:#a78bfa}
.dex-market-tab .mt-close{
  display:none;margin-left:4px;font-size:.7rem;color:var(--text-muted);
  cursor:pointer;line-height:1;padding:0 2px;
}
.dex-market-tab:hover .mt-close{display:inline}
.dex-market-tab .mt-close:hover{color:#ff7386}

/* Network Selector */
.nav-network-select{
  padding:5px 10px;border-radius:var(--radius-sm);
  border:1px solid var(--border-light);background:transparent;
  color:var(--text-dim);font-family:var(--mono);font-size:.7rem;font-weight:600;
  cursor:pointer;transition:all .2s;-webkit-appearance:none;appearance:none;
  padding-right:22px;position:relative;
}
.nav-network-wrap{position:relative;display:inline-flex;align-items:center}
.nav-network-wrap::after{
  content:'\25BC';position:absolute;right:8px;font-size:.5rem;color:var(--text-muted);pointer-events:none;
}
.nav-network-select:hover{border-color:var(--purple);color:var(--text)}
.nav-network-select option{background:var(--bg2);color:var(--text)}
.nav-network-dot{
  display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px;
}
.nav-network-dot.testnet{background:#f59e0b}
.nav-network-dot.mainnet{background:#ef4444;box-shadow:0 0 6px rgba(239,68,68,.6);animation:mainnet-pulse 2s ease-in-out infinite}
@keyframes mainnet-pulse{0%,100%{box-shadow:0 0 4px rgba(239,68,68,.4)}50%{box-shadow:0 0 10px rgba(239,68,68,.8)}}

/* Mainnet badge in nav */
.nav-mainnet-badge{
  display:inline-block;margin-left:6px;padding:1px 6px;border-radius:3px;
  font-family:var(--mono);font-size:.55rem;font-weight:700;letter-spacing:.05em;
  background:rgba(239,68,68,.15);color:#ef4444;border:1px solid rgba(239,68,68,.3);
  text-transform:uppercase;line-height:1.6;vertical-align:middle;
}

/* Mainnet-active body: subtle top-border warning */
body.mainnet-active nav{border-top:2px solid #ef4444}

/* ─── Mainnet Confirmation Modal ──────────────────────────────────────────── */
.mainnet-confirm-overlay{
  position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;
  background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(4px);
}
.mainnet-confirm-modal{
  background:var(--bg2);border:1px solid var(--border-light);border-radius:var(--radius);
  padding:32px;max-width:420px;width:90%;text-align:center;
  box-shadow:0 20px 60px rgba(0,0,0,.4);
}
.mainnet-confirm-icon{font-size:2.5rem;margin-bottom:8px;color:#ef4444}
.mainnet-confirm-title{font-family:var(--font);font-size:1.1rem;font-weight:600;color:var(--text);margin:0 0 12px}
.mainnet-confirm-text{font-size:.85rem;color:var(--text-dim);line-height:1.5;margin:0 0 24px}
.mainnet-confirm-text strong{color:#ef4444}
.mainnet-confirm-actions{display:flex;gap:12px;justify-content:center}
.mainnet-confirm-cancel{
  padding:8px 20px;border-radius:var(--radius-sm);border:1px solid var(--border-light);
  background:transparent;color:var(--text-dim);font-family:var(--mono);font-size:.8rem;
  cursor:pointer;transition:all .2s;
}
.mainnet-confirm-cancel:hover{border-color:var(--text-muted);color:var(--text)}
.mainnet-confirm-proceed{
  padding:8px 20px;border-radius:var(--radius-sm);border:1px solid #ef4444;
  background:rgba(239,68,68,.15);color:#ef4444;font-family:var(--mono);font-size:.8rem;
  font-weight:600;cursor:pointer;transition:all .2s;
}
.mainnet-confirm-proceed:hover{background:rgba(239,68,68,.25)}

/* Explorer link in Order History */
.dex-explorer-link{
  color:var(--text-muted);text-decoration:none;font-size:.6rem;transition:color .15s;
}
.dex-explorer-link:hover{color:var(--purple)}

.dex-ob-spread{
  padding:8px 10px;display:flex;align-items:center;justify-content:center;gap:12px;
  font-family:var(--mono);font-size:.72rem;color:var(--text-muted);
  border-top:1px solid rgba(139,92,246,.2);border-bottom:1px solid rgba(139,92,246,.2);
  background:rgba(139,92,246,.05);flex-shrink:0;
}
.dex-ob-spread .sv{color:#a78bfa;font-weight:700;font-size:.76rem}
.dex-ob-spread .sp{color:var(--text-muted);font-size:.62rem}
.dex-ob-empty{padding:40px 14px;text-align:center;font-family:var(--mono);font-size:.76rem;color:var(--text-muted)}

/* Center Panel */
.dex-center-content{flex:1;position:relative;overflow:hidden}
.dex-center-pane{display:none;height:100%;flex-direction:column}
.dex-center-pane.active{display:flex}

/* Order Form */
.dex-side-tabs{display:flex;gap:2px;border-radius:6px;overflow:hidden;border:1px solid var(--border);margin-bottom:10px;padding:2px;background:var(--bg)}
.dex-side-tab{
  flex:1;padding:9px;text-align:center;font-family:var(--mono);font-size:.78rem;font-weight:700;
  cursor:pointer;transition:all .2s;border:none;background:transparent;color:var(--text-muted);border-radius:4px;
}
.dex-side-tab:hover{color:var(--text)}
.dex-side-tab.buy.active{background:rgba(37,214,149,.18);color:#25d695;border:1px solid rgba(37,214,149,.3)}
.dex-side-tab.sell.active{background:rgba(216,29,60,.18);color:#ff7386;border:1px solid rgba(216,29,60,.3)}

.dex-type-tabs{display:flex;gap:0;border-radius:4px;overflow:hidden;border:1px solid var(--border);margin-bottom:10px}
.dex-type-tab{
  flex:1;padding:5px;text-align:center;font-family:var(--mono);font-size:.65rem;font-weight:600;
  cursor:pointer;border:none;background:var(--bg3);color:var(--text-muted);transition:all .2s;
}
.dex-type-tab.active{background:var(--bg4);color:var(--text)}

.dex-form-group{margin-bottom:8px}
.dex-form-label{display:block;font-family:var(--mono);font-size:.62rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}
.dex-form-input{
  width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:6px;
  padding:8px 10px;font-size:.8rem;font-family:var(--mono);color:var(--text);outline:none;transition:border-color .2s;box-sizing:border-box;
}
.dex-form-input::placeholder{color:var(--text-muted)}
.dex-form-input:focus{border-color:var(--purple)}

.dex-total{
  padding:6px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;
  font-family:var(--mono);font-size:.78rem;color:var(--text);margin-bottom:10px;
  display:flex;justify-content:space-between;
}
.dex-total .lbl{color:var(--text-muted);font-size:.62rem;text-transform:uppercase}

.dex-place-btn{
  width:100%;padding:10px;border:none;border-radius:6px;
  font-family:var(--mono);font-weight:700;font-size:.82rem;cursor:pointer;transition:all .25s;
}
.dex-place-btn.buy{background:#25d695;color:#000;font-weight:700}
.dex-place-btn.buy:hover{background:#1fc085}
.dex-place-btn.sell{background:#d81d3c;color:#fff;font-weight:700}
.dex-place-btn.sell:hover{background:#c01835}
.dex-place-btn:disabled{opacity:.5;cursor:not-allowed}

.dex-balance-info{
  margin-top:8px;padding:6px 8px;background:var(--bg);border:1px solid var(--border);border-radius:4px;
  font-family:var(--mono);font-size:.62rem;color:var(--text-muted);
}
.dex-balance-info .val{color:var(--green);font-weight:600}

/* Assets section (CoreDEX-style) */
.dex-assets-section{
  margin-top:12px;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;
}
.dex-assets-title{
  font-family:var(--mono);font-size:.6rem;font-weight:700;color:var(--text-muted);
  text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px;
}
.dex-asset-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:4px 0;font-family:var(--mono);font-size:.68rem;
}
.dex-asset-row+.dex-asset-row{border-top:1px solid var(--border)}
.dex-asset-label{color:var(--text-muted);font-weight:600;text-transform:uppercase;font-size:.6rem;letter-spacing:.3px}
.dex-asset-val{color:#25d695;font-weight:600}

.dex-wallet-info{
  margin-top:6px;padding:5px 8px;background:var(--bg);border:1px solid var(--border);border-radius:4px;
  font-family:var(--mono);font-size:.58rem;color:var(--text-muted);word-break:break-all;
}
.dex-wallet-info span{color:var(--purple)}

/* Advanced Order Settings */
.dex-advanced-section{margin:8px 0}
.dex-advanced-toggle{
  display:flex;align-items:center;justify-content:space-between;
  padding:6px 0;cursor:pointer;color:var(--text-muted);
  font-size:.72rem;font-family:var(--mono);letter-spacing:.3px;
  border-top:1px solid var(--border);
  user-select:none;
}
.dex-advanced-toggle:hover{color:var(--text)}
.dex-advanced-arrow{transition:transform .2s ease;font-size:.65rem}
.dex-advanced-arrow.open{transform:rotate(90deg)}
.dex-advanced-body{
  max-height:0;overflow:hidden;transition:max-height .25s ease;
}
.dex-advanced-body.open{max-height:300px}
.dex-tif-select{
  padding:6px 8px;font-size:.75rem;background:var(--bg);color:var(--text);
  border:1px solid var(--border);border-radius:4px;width:100%;
  font-family:var(--mono);cursor:pointer;
}
.dex-tif-select option{background:var(--bg2);color:var(--text)}
.dex-goodtil-row{display:flex;gap:6px;align-items:center}
.dex-goodtil-value{width:70px;flex-shrink:0}
.dex-goodtil-units{display:flex;gap:2px}
.dex-goodtil-unit{
  padding:4px 10px;font-size:.68rem;font-family:var(--mono);
  background:var(--bg);color:var(--text-muted);border:1px solid var(--border);
  border-radius:3px;cursor:pointer;transition:all .15s;
}
.dex-goodtil-unit:hover{border-color:var(--purple)}
.dex-goodtil-unit.active{background:var(--purple);color:#fff;border-color:var(--purple)}

/* 24h Change colors */
.dex-stat-value.positive{color:#25d695 !important}
.dex-stat-value.negative{color:#ef4444 !important}

/* Trade History */
.dex-trade-row{
  display:grid;grid-template-columns:1fr 1fr 1fr;padding:3px 10px;
  font-family:var(--mono);font-size:.68rem;line-height:1.5;
  border-left:2px solid transparent;transition:background .15s;
}
.dex-trade-row:not(.header):hover{background:rgba(255,255,255,.03)}
.dex-trade-row.buy{border-left-color:rgba(37,214,149,.4);background:rgba(37,214,149,.03)}
.dex-trade-row.sell{border-left-color:rgba(239,68,68,.4);background:rgba(239,68,68,.03)}
.dex-trade-row.header{
  font-size:.6rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;
  border-bottom:1px solid var(--border);padding:5px 10px;letter-spacing:.3px;border-left:none;
}
.dex-trade-row .t-time{text-align:right;color:var(--text-muted)}
.dex-trade-row .t-amt{text-align:right;color:var(--text-dim)}
.dex-trade-empty{
  padding:30px 14px;text-align:center;font-family:var(--mono);font-size:.72rem;color:var(--text-muted);
}

/* Bottom Orders Panel Tabs */
.dex-orders-tabs{
  display:flex;border-bottom:1px solid var(--border);background:var(--bg3);flex-shrink:0;
}
.dex-orders-tab{
  padding:7px 16px;font-family:var(--mono);font-size:.68rem;font-weight:600;
  color:var(--text-muted);cursor:pointer;border:none;background:transparent;
  border-bottom:2px solid transparent;transition:all .2s;
}
.dex-orders-tab.active{color:var(--text);border-bottom-color:var(--purple)}
.dex-orders-tab:hover{color:var(--text-dim)}
.dex-orders-pane{display:none}
.dex-orders-pane.active{display:block}

/* Open Orders Grid */
.dex-open-orders-hdr{
  display:grid;grid-template-columns:60px 1fr 1fr 1fr 60px;padding:6px 10px;
  font-family:var(--mono);font-size:.6rem;font-weight:600;color:var(--text-muted);
  text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border);background:var(--bg3);
}
.dex-order-row{
  display:grid;grid-template-columns:60px 1fr 1fr 1fr 60px;align-items:center;
  padding:6px 10px;border-bottom:1px solid var(--border);
  font-family:var(--mono);font-size:.68rem;transition:background .15s;
}
.dex-order-row:hover{background:rgba(255,255,255,.02)}
.dex-order-row:last-child{border-bottom:none}
.dex-order-side{padding:2px 6px;border-radius:3px;font-weight:700;font-size:.6rem;text-transform:uppercase;text-align:center;width:fit-content}
.dex-order-side.buy{color:#25d695;background:rgba(37,214,149,.1)}
.dex-order-side.sell{color:#ff7386;background:rgba(239,68,68,.1)}
.dex-order-price{color:var(--text)}
.dex-order-qty{color:var(--text-dim)}
.dex-order-total{color:var(--text-muted)}
.dex-cancel-btn{
  padding:3px 8px;border-radius:3px;border:1px solid var(--border);background:transparent;
  color:var(--text-muted);font-family:var(--mono);font-size:.6rem;cursor:pointer;transition:all .2s;
}
.dex-cancel-btn:hover{border-color:#ff7386;color:#ff7386}
.dex-no-orders{padding:24px 12px;text-align:center;font-family:var(--mono);font-size:.72rem;color:var(--text-muted)}

/* All Orders Table */
.dex-all-orders-hdr{
  display:grid;grid-template-columns:60px 60px 1fr 1fr 80px 100px;padding:6px 10px;
  font-family:var(--mono);font-size:.6rem;font-weight:600;color:var(--text-muted);
  text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border);background:var(--bg3);
}
.dex-all-order-row{
  display:grid;grid-template-columns:60px 60px 1fr 1fr 80px 100px;padding:5px 10px;
  font-family:var(--mono);font-size:.68rem;border-bottom:1px solid var(--border);align-items:center;
}
.dex-all-order-row:hover{background:rgba(255,255,255,.02)}
.dex-all-order-status{font-size:.6rem;padding:1px 5px;border-radius:3px;font-weight:600}
.dex-all-order-status.filled{color:#25d695;background:rgba(37,214,149,.1)}
.dex-all-order-status.partial{color:#eab308;background:rgba(234,179,8,.12)}
.dex-all-order-status.open{color:#a78bfa;background:rgba(139,92,246,.1)}
.dex-all-order-status.cancelled{color:var(--text-muted);background:rgba(255,255,255,.05)}
.dex-all-order-status.failed{color:#ff7386;background:rgba(239,68,68,.1)}

.dex-session-row{
  display:grid;grid-template-columns:auto 1fr 1fr 1fr auto;gap:8px;align-items:center;
  padding:6px 10px;border-bottom:1px solid var(--border);font-family:var(--mono);font-size:.66rem;
}
.dex-session-status{font-size:.6rem;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:3px}
.dex-session-status.placed{color:var(--green);background:rgba(37,214,149,.1)}
.dex-session-status.filled{color:#25d695;background:rgba(37,214,149,.15)}
.dex-session-status.partial{color:#eab308;background:rgba(234,179,8,.12)}
.dex-session-status.cancelled{color:#ef4444;background:rgba(239,68,68,.1)}
.dex-session-status.pending{color:var(--text-muted);background:rgba(255,255,255,.05)}
.dex-session-status.failed{color:#ef4444;background:rgba(239,68,68,.1)}

/* DEX Processing Overlay */
.dex-proc{
  background:var(--bg2);border:1px solid var(--border);border-radius:8px;
  padding:12px 16px;margin-bottom:1px;display:none;
}
.dex-proc.show{display:block;animation:fadeUp .3s ease}
.dex-proc-hdr{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.dex-proc-spinner{width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--purple);border-radius:50%;animation:spin .8s linear infinite}
.dex-proc-title{font-family:var(--mono);font-size:.76rem;color:var(--purple);font-weight:700}
.dex-proc-stream{font-family:var(--mono);font-size:.68rem;color:var(--text-dim);line-height:1.7;white-space:pre-wrap;max-height:140px;overflow-y:auto}

/* DEX Status */
.dex-status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px}
.dex-status-dot.live{background:var(--green);animation:pulse-dot 2s infinite}
.dex-status-dot.idle{background:var(--text-muted)}

/* ===== RESPONSIVE ===== */
@media(max-width:1200px){
  .dex-terminal{
    grid-template-columns:240px 1fr 260px;
    min-height:560px;
  }
}
@media(max-width:1024px){
  .dex-terminal{
    grid-template-columns:1fr 1fr;
    grid-template-areas:
      "left-stack order-form"
      "center center"
      "orders orders";
    min-height:auto;
  }
  .dex-stats-strip{display:none}
  .dex-pair-bar-bottom{display:none}
}
@media(max-width:640px){
  .demo-input-row{flex-direction:column}
  .tc-stats{grid-template-columns:repeat(2,1fr)}
  .tc-cli{flex-direction:column;align-items:flex-start}
  .footer-inner{flex-direction:column;text-align:center}
  .mode-toggle-option{padding:7px 14px;font-size:.75rem}
  .chat-msg{max-width:95%}
  .chat-tab{padding:8px 14px;font-size:.75rem}
  .cp-features{grid-template-columns:repeat(2,1fr)}
  .cp-row{grid-template-columns:1fr}
  .cp-row.triple{grid-template-columns:1fr}
  .cp-slider-row{flex-direction:column;align-items:flex-start;gap:8px}
  .cp-slider-label{width:auto}
  .dex-terminal{
    grid-template-columns:1fr;
    grid-template-areas:
      "left-stack"
      "order-form"
      "center"
      "orders";
  }
  .dex-left-stack{flex-direction:column}
  .dex-left-stack .p-history{max-height:200px}
  .dex-pair-bar-top{flex-wrap:wrap}
  .dex-pair-bar-bottom{flex-wrap:wrap;gap:12px}
  .dex-pair-manual{width:100%}
  .dex-pair-select-wrap{min-width:auto}
}

/* ===== WALLET CHOICE MODAL ===== */
.wallet-choice-overlay{
  position:fixed;inset:0;z-index:9999;
  background:rgba(0,0,0,.7);backdrop-filter:blur(8px);
  display:none;align-items:center;justify-content:center;
  opacity:0;transition:opacity .2s ease;
}
.wallet-choice-overlay.show{display:flex;opacity:1}
.wallet-choice-modal{
  background:var(--bg2);border:1px solid var(--border-light);border-radius:var(--radius-lg);
  padding:36px 32px 28px;max-width:560px;width:90%;
  animation:fadeInUp .3s ease;
}
.wallet-choice-title{
  font-family:var(--mono);font-size:1.15rem;font-weight:700;color:var(--text);
  text-align:center;margin-bottom:6px;
}
.wallet-choice-subtitle{
  font-size:.85rem;color:var(--text-muted);text-align:center;margin-bottom:24px;
}
.wallet-choice-cards{display:flex;gap:16px;margin-bottom:20px}
@media(max-width:560px){.wallet-choice-cards{flex-direction:column}}
.wallet-choice-card{
  flex:1;padding:22px 18px;border-radius:var(--radius);
  border:2px solid var(--border);background:var(--bg3);
  cursor:pointer;transition:all .25s;text-align:center;
}
.wallet-choice-card:hover{border-color:var(--purple);background:rgba(124,109,250,.06)}
.wallet-choice-card.recommended{border-color:var(--green-dim);position:relative}
.wallet-choice-card.recommended::after{
  content:'Recommended';position:absolute;top:-10px;right:12px;
  font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  background:var(--green);color:#000;padding:2px 8px;border-radius:4px;
}
.wc-icon{font-size:2rem;margin-bottom:10px}
.wc-label{font-family:var(--mono);font-size:.95rem;font-weight:700;color:var(--text);margin-bottom:6px}
.wc-desc{font-size:.75rem;color:var(--text-dim);line-height:1.5}
.wc-badge{
  display:inline-block;margin-top:10px;padding:3px 10px;border-radius:6px;
  font-size:.65rem;font-weight:600;letter-spacing:.03em;
}
.wc-badge.free{background:rgba(6,214,160,.15);color:var(--green)}
.wc-badge.own{background:rgba(124,109,250,.15);color:var(--purple)}
.wallet-choice-dismiss{
  display:block;margin:0 auto;background:none;border:none;
  color:var(--text-muted);font-size:.78rem;cursor:pointer;
  font-family:var(--sans);padding:6px 12px;
}
.wallet-choice-dismiss:hover{color:var(--text)}

/* Wallet choice card variants for nav connect modal */
.wallet-choice-cards--nav{gap:16px}
.wallet-choice-card--primary{
  flex:1.4;padding:28px 22px;
}
.wallet-choice-card--secondary{
  flex:0.8;padding:18px 14px;opacity:.85;
}
.wallet-choice-card--secondary .wc-label{font-size:.85rem}
.wallet-choice-card--secondary .wc-desc{font-size:.7rem}
.wallet-choice-card--secondary .wc-icon{margin-bottom:6px}

/* Keplr install hint inside wallet modal */
.wallet-choice-install-hint{
  text-align:center;margin-bottom:14px;padding:10px 16px;
  border-radius:var(--radius-sm);
  background:rgba(255,115,134,.08);border:1px solid rgba(255,115,134,.2);
  font-size:.78rem;color:#ff7386;
}
.wallet-choice-install-hint a{
  color:var(--purple);font-weight:600;margin-left:6px;text-decoration:underline;
}
.wallet-choice-install-hint a:hover{color:var(--text)}

/* Nav wallet provider tag (shown in connected badge) */
.nav-wallet-provider-tag{
  display:inline-block;padding:1px 6px;border-radius:4px;
  font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  background:rgba(124,109,250,.18);color:var(--purple);margin-right:4px;
  vertical-align:middle;
}
.nav-wallet-provider-tag.demo{
  background:rgba(6,214,160,.15);color:var(--green);
}

.gw-fund-btn{
  padding:6px 14px;border-radius:var(--radius-sm);border:1px solid rgba(6,214,160,.3);
  background:rgba(6,214,160,.1);color:var(--green);font-size:.78rem;font-weight:600;
  cursor:pointer;font-family:var(--mono);transition:all .25s;
}
.gw-fund-btn:hover{background:rgba(6,214,160,.2);border-color:var(--green)}

/* ===== CREATE TAB WALLET BAR ===== */
/* Global Wallet Bar */
.global-wallet-bar{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 20px;margin-bottom:16px;
  background:var(--bg2);border:1px solid var(--border);border-radius:10px;
  position:relative;z-index:50;gap:12px;
}
.global-wallet-left{display:flex;align-items:center;gap:10px}
.global-wallet-hint{
  font-family:var(--mono);font-size:.68rem;color:var(--text-muted);
}
.global-wallet-addr{
  font-family:var(--mono);font-size:.72rem;color:var(--text-dim);
  max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.global-wallet-right{display:flex;align-items:center;gap:8px}
@media(max-width:700px){
  .global-wallet-bar{flex-wrap:wrap;justify-content:center;gap:8px;padding:8px 14px}
}

/* Agent Wallet Status Bar */
.agent-wallet-bar{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 20px;margin-bottom:12px;
  background:linear-gradient(135deg,rgba(124,58,237,.06),rgba(37,99,235,.04));
  border:1px solid rgba(124,58,237,.15);border-radius:10px;
  gap:12px;
}
.agent-wallet-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.agent-wallet-label{
  font-family:var(--mono);font-size:.7rem;font-weight:700;
  color:var(--purple);text-transform:uppercase;letter-spacing:.06em;
}
.agent-wallet-balance{
  font-family:var(--mono);font-size:.82rem;font-weight:600;color:var(--text);
}
.agent-wallet-status{
  font-size:.72rem;padding:2px 8px;border-radius:6px;font-weight:600;
}
.agent-wallet-status.ok{background:rgba(37,214,149,.12);color:#25d695}
.agent-wallet-status.low{background:rgba(239,68,68,.12);color:#ff7386}
.agent-wallet-status.loading{background:rgba(139,92,246,.1);color:#a78bfa}
.agent-wallet-status.error{background:rgba(239,68,68,.08);color:#ff7386;font-size:.65rem}
.agent-wallet-right{display:flex;align-items:center;gap:8px}
.agent-topup-btn{
  padding:6px 14px;border-radius:8px;font-size:.75rem;font-weight:600;
  background:var(--purple);color:#fff;border:none;cursor:pointer;
  transition:all .2s;
}
.agent-topup-btn:hover{opacity:.85;transform:translateY(-1px)}
.agent-topup-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}

/* ===== TOKEN MANAGER TAB ===== */
.manage-wrap{display:none;padding:20px 0;max-width:900px;margin:0 auto}
.manage-wrap.show{display:block}

.manage-select-bar{
  display:flex;align-items:flex-end;gap:12px;margin-bottom:20px;
}
.manage-select-group{flex:1}
.manage-label{
  display:block;font-family:var(--mono);font-size:.7rem;color:var(--text-muted);
  text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;
}
.manage-input{
  width:100%;padding:10px 14px;background:var(--bg3);border:1px solid var(--border);
  border-radius:8px;color:var(--text);font-family:var(--mono);font-size:.8rem;
  outline:none;transition:border-color .2s;box-sizing:border-box;
}
.manage-input:focus{border-color:var(--purple)}
.manage-load-btn{
  padding:10px 24px;background:var(--purple);color:#fff;border:none;border-radius:8px;
  font-family:var(--mono);font-size:.8rem;font-weight:600;cursor:pointer;
  transition:opacity .2s;white-space:nowrap;
}
.manage-load-btn:hover{opacity:.85}
.manage-load-btn:disabled{opacity:.5;cursor:not-allowed}

.manage-info-card{
  background:var(--bg2);border:1px solid var(--border);border-radius:12px;
  overflow:hidden;
}
.manage-info-header{
  padding:20px 24px;border-bottom:1px solid var(--border);background:var(--bg3);
}
.manage-token-name{
  font-family:var(--mono);font-size:1.4rem;font-weight:700;color:var(--text);
  margin-bottom:4px;
}
.manage-token-denom{
  font-family:var(--mono);font-size:.68rem;color:var(--purple);
  word-break:break-all;margin-bottom:6px;
}
.manage-issuer{font-family:var(--mono);font-size:.65rem;color:var(--text-muted)}

.manage-stats{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:1px;background:var(--border);border-bottom:1px solid var(--border);
}
.manage-stat{
  background:var(--bg2);padding:14px 18px;display:flex;flex-direction:column;gap:4px;
}
.manage-stat-label{
  font-family:var(--mono);font-size:.6rem;color:var(--text-muted);
  text-transform:uppercase;letter-spacing:.5px;
}
.manage-stat-value{
  font-family:var(--mono);font-size:.9rem;font-weight:600;color:var(--text);
}

.manage-features{
  display:flex;flex-wrap:wrap;gap:8px;padding:16px 24px;
  border-bottom:1px solid var(--border);
}
.manage-feature-badge{
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 12px;border-radius:20px;
  font-family:var(--mono);font-size:.68rem;font-weight:600;
  border:1px solid;
}
.manage-feature-badge.on{
  background:rgba(34,197,94,.1);color:var(--green);border-color:rgba(34,197,94,.3);
}
.manage-feature-badge.off{
  background:rgba(255,255,255,.03);color:var(--text-muted);border-color:var(--border);
  opacity:.5;
}

.manage-issuer-notice{
  display:flex;align-items:center;gap:10px;
  padding:14px 24px;background:rgba(239,68,68,.08);
  border-bottom:1px solid rgba(239,68,68,.2);
  font-family:var(--mono);font-size:.75rem;color:#fca5a5;
}
.manage-notice-icon{font-size:1rem}

.manage-actions{padding:16px 24px;display:flex;flex-direction:column;gap:16px}

.manage-action-card{
  background:var(--bg3);border:1px solid var(--border);border-radius:10px;
  overflow:hidden;
}
.manage-action-hdr{
  padding:12px 16px;border-bottom:1px solid var(--border);
  font-family:var(--mono);font-size:.8rem;font-weight:700;color:var(--text);
  display:flex;align-items:center;gap:8px;
}
.manage-action-icon{font-size:1.1rem}
.manage-action-body{padding:16px}
.manage-action-desc{
  font-family:var(--mono);font-size:.72rem;color:var(--text-muted);margin:0 0 12px;
}

.manage-field-row{display:flex;gap:12px;margin-bottom:12px}
.manage-field{flex:1;display:flex;flex-direction:column;gap:4px}
.manage-field label{
  font-family:var(--mono);font-size:.62rem;color:var(--text-muted);
  text-transform:uppercase;letter-spacing:.4px;
}

.manage-btn-row{display:flex;gap:10px}
.manage-exec-btn{
  flex:1;padding:10px 20px;border:none;border-radius:8px;
  font-family:var(--mono);font-size:.78rem;font-weight:600;
  cursor:pointer;transition:all .2s;
}
.manage-exec-btn:disabled{opacity:.5;cursor:not-allowed}
.manage-exec-btn.mint{background:var(--green);color:#000}
.manage-exec-btn.mint:hover{opacity:.85}
.manage-exec-btn.burn{background:#ef4444;color:#fff}
.manage-exec-btn.burn:hover{opacity:.85}
.manage-exec-btn.freeze{background:#3b82f6;color:#fff}
.manage-exec-btn.freeze:hover{opacity:.85}
.manage-exec-btn.unfreeze{background:#22d3ee;color:#000}
.manage-exec-btn.unfreeze:hover{opacity:.85}
.manage-exec-btn.clawback{background:#f59e0b;color:#000}
.manage-exec-btn.clawback:hover{opacity:.85}
.manage-exec-btn.whitelist{background:var(--purple);color:#fff}
.manage-exec-btn.whitelist:hover{opacity:.85}

.manage-result{
  margin:16px 24px;padding:16px;border-radius:10px;
  display:flex;align-items:center;gap:12px;
  font-family:var(--mono);font-size:.78rem;
}
.manage-result.success{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3)}
.manage-result.error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3)}
.manage-result-icon{font-size:1.4rem}
.manage-result-msg{flex:1;color:var(--text)}
.manage-result-link{
  color:var(--purple);font-size:.7rem;text-decoration:none;
  white-space:nowrap;
}
.manage-result-link:hover{text-decoration:underline}

@media(max-width:640px){
  .manage-field-row{flex-direction:column}
  .manage-select-bar{flex-direction:column}
  .manage-stats{grid-template-columns:1fr 1fr}
}

/* ===== NFT TAB ===== */
.nft-wrap{display:none;padding:20px 0}
.nft-wrap.show{display:block}

.nft-section{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:28px;margin-bottom:0}
.nft-section-title{font-size:1.3rem;font-weight:700;color:#fff;margin:0 0 6px 0}
.nft-section-desc{color:rgba(255,255,255,.5);font-size:.85rem;margin:0 0 20px 0}

.nft-divider{height:1px;background:rgba(255,255,255,.06);margin:24px 0}

.nft-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.nft-field{display:flex;flex-direction:column;gap:5px}
.nft-field label{font-size:.78rem;color:rgba(255,255,255,.6);font-weight:500}
.nft-field-full{grid-column:1/-1}
.nft-required{color:#f87171}

.nft-input{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  border-radius:8px;padding:10px 12px;color:#fff;font-size:.88rem;
  font-family:'DM Sans',sans-serif;transition:border-color .2s;
}
.nft-input:focus{outline:none;border-color:rgba(99,102,241,.6)}
.nft-input::placeholder{color:rgba(255,255,255,.25)}
.nft-textarea{resize:vertical;min-height:48px}
.nft-input-sm{width:80px;padding:6px 8px;font-size:.82rem}

.nft-features-bar{
  display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;
  padding:14px;background:rgba(255,255,255,.02);border-radius:10px;
  border:1px solid rgba(255,255,255,.06);
}
.nft-feature-toggle{
  display:flex;align-items:center;gap:6px;cursor:pointer;
  font-size:.82rem;color:rgba(255,255,255,.7);
  padding:4px 10px;border-radius:6px;transition:background .2s;
}
.nft-feature-toggle:hover{background:rgba(255,255,255,.05)}
.nft-feature-toggle input[type="checkbox"]{accent-color:#6366f1;width:15px;height:15px}

.nft-create-btn{
  width:100%;padding:13px;border:none;border-radius:10px;
  font-size:.95rem;font-weight:600;cursor:pointer;
  background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;
  transition:opacity .2s,transform .1s;display:flex;align-items:center;justify-content:center;gap:8px;
}
.nft-create-btn:hover{opacity:.9}
.nft-create-btn:active{transform:scale(.99)}
.nft-create-btn:disabled{cursor:not-allowed}
.nft-mint-btn{background:linear-gradient(135deg,#f59e0b,#ef4444)}

.nft-spinner{
  width:18px;height:18px;border:2px solid rgba(255,255,255,.3);
  border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}

.nft-result{
  margin-top:16px;padding:16px;border-radius:10px;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);
  text-align:center;
}
.nft-result-icon{font-size:1.6rem;margin-bottom:6px}
.nft-result-icon.success{color:#34d399}
.nft-result-icon.error{color:#f87171}
.nft-result-msg{color:rgba(255,255,255,.8);font-size:.88rem;margin-bottom:6px}
.nft-result-classid{color:rgba(255,255,255,.5);font-size:.78rem;word-break:break-all;margin-bottom:8px}
.nft-result-link{color:#818cf8;font-size:.82rem;text-decoration:none}
.nft-result-link:hover{text-decoration:underline}

.nft-batch-bar{
  display:flex;align-items:center;gap:14px;margin-bottom:16px;
  padding:10px 14px;background:rgba(255,255,255,.02);border-radius:8px;
  border:1px solid rgba(255,255,255,.06);
}
.nft-batch-label{
  display:flex;align-items:center;gap:6px;cursor:pointer;
  font-size:.82rem;color:rgba(255,255,255,.7);white-space:nowrap;
}
.nft-batch-label input{accent-color:#6366f1}
.nft-batch-fields{display:flex;align-items:center;gap:8px;font-size:.82rem;color:rgba(255,255,255,.6)}

/* Browse */
.nft-browse-bar{display:flex;gap:10px;margin-bottom:18px}
.nft-browse-btn{
  padding:10px 20px;border:none;border-radius:8px;
  background:rgba(99,102,241,.3);color:#fff;font-size:.88rem;
  font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s;
}
.nft-browse-btn:hover{background:rgba(99,102,241,.5)}

.nft-class-card{
  padding:18px;border-radius:12px;margin-bottom:18px;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);
}
.nft-class-header{margin-bottom:8px}
.nft-class-name{font-size:1.1rem;font-weight:700;color:#fff}
.nft-class-id{font-size:.75rem;color:rgba(255,255,255,.4);word-break:break-all}
.nft-class-meta{display:flex;gap:18px;font-size:.78rem;color:rgba(255,255,255,.5);margin-bottom:10px}
.nft-class-features{display:flex;flex-wrap:wrap;gap:6px}
.nft-feature-badge{
  padding:3px 10px;border-radius:20px;font-size:.72rem;font-weight:600;
  background:rgba(99,102,241,.15);color:#a5b4fc;
}

.nft-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
.nft-card{
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);
  border-radius:12px;overflow:hidden;transition:border-color .2s,transform .2s;
}
.nft-card:hover{border-color:rgba(99,102,241,.4);transform:translateY(-2px)}
.nft-card-preview{
  aspect-ratio:1;background:rgba(255,255,255,.02);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.nft-card-preview img{width:100%;height:100%;object-fit:cover}
.nft-card-placeholder{font-size:2.5rem;opacity:.3;display:flex;align-items:center;justify-content:center}
.nft-card-info{padding:10px 12px}
.nft-card-id{font-size:.82rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nft-card-class{font-size:.72rem;color:rgba(255,255,255,.4)}

.nft-loading{text-align:center;color:rgba(255,255,255,.4);padding:30px;font-size:.88rem}
.nft-error{text-align:center;color:#f87171;padding:20px;font-size:.85rem}
.nft-empty{text-align:center;color:rgba(255,255,255,.4);padding:30px;font-size:.88rem}

@media(max-width:640px){
  .nft-form-grid{grid-template-columns:1fr}
  .nft-features-bar{gap:6px}
  .nft-batch-bar{flex-direction:column;align-items:flex-start}
  .nft-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
}

/* ===== DEX LIVE DEMO ===== */

.dex-demo-btn{
  background:linear-gradient(135deg,#25d695,#0ea5e9);
  color:#000;border:none;border-radius:6px;padding:7px 16px;
  font-size:0.8rem;font-weight:700;cursor:pointer;
  white-space:nowrap;transition:all .2s;
  font-family:var(--mono);letter-spacing:.3px;
  animation:demoPulse 3s ease-in-out infinite;
}
.dex-demo-btn:hover{transform:scale(1.03);box-shadow:0 0 20px rgba(37,214,149,.4)}
@keyframes demoPulse{0%,100%{box-shadow:0 0 5px rgba(37,214,149,.2)}50%{box-shadow:0 0 15px rgba(37,214,149,.4)}}

.dex-add-wallet-btn{
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff;border:none;border-radius:6px;padding:6px 12px;
  font-size:0.78rem;font-weight:600;cursor:pointer;
  white-space:nowrap;transition:all .2s;
}
.dex-add-wallet-btn:hover{transform:scale(1.05);box-shadow:0 0 15px rgba(34,197,94,.4)}
.dex-add-wallet-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}

.dex-demo-overlay{
  position:fixed;top:64px;right:0;bottom:0;
  width:420px;z-index:90;
  background:#0d1117;
  display:flex;flex-direction:column;
  box-shadow:-4px 0 24px rgba(0,0,0,.5);
  border-left:1px solid #30363d;
  animation:slideInRight .3s ease;
  overflow-y:auto;
}
/* When demo is active, shrink the entire dex-wrap so nothing is hidden behind the overlay */
.dex-wrap.demo-active{
  width:calc(100% - 424px);
  transition:width .3s ease;
}
@keyframes slideInRight{from{transform:translateX(100%)}to{transform:translateX(0)}}
.dex-demo-panel{
  background:#0d1117;border-left:1px solid #30363d;
  width:100%;height:100%;
  display:flex;flex-direction:column;overflow:hidden;
}
.dex-demo-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 16px;border-bottom:1px solid #30363d;
  background:linear-gradient(135deg,rgba(124,58,237,.15),rgba(37,99,235,.15));
}
.dex-demo-header h3{margin:0;font-size:.92rem;color:#e6edf3}
.dex-demo-header-right{display:flex;align-items:center;gap:12px}
.dex-demo-timer{
  font-family:'JetBrains Mono',monospace;font-size:1rem;
  color:#7c3aed;font-weight:600;
}
.dex-demo-close{
  background:none;border:1px solid #30363d;color:#8b949e;
  width:30px;height:30px;border-radius:6px;cursor:pointer;
  font-size:1.1rem;display:flex;align-items:center;justify-content:center;
}
.dex-demo-close:hover{background:#21262d;color:#e6edf3}

/* Agent Cards */
.dex-demo-agents{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
  padding:10px 16px;
}
.dex-demo-agent-card{
  background:#161b22;border:1px solid #30363d;border-radius:8px;
  padding:8px 10px;position:relative;overflow:hidden;
}
.dex-demo-agent-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
}
.agent-buyer::before{background:linear-gradient(90deg,#22c55e,#16a34a)}
.agent-seller::before{background:linear-gradient(90deg,#ef4444,#dc2626)}
.agent-taker::before{background:linear-gradient(90deg,#a855f7,#7c3aed)}
.agent-role{font-size:0.85rem;font-weight:600;color:#e6edf3;margin-bottom:2px}
.agent-label{font-size:0.7rem;color:#8b949e;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}
.agent-addr{font-family:'JetBrains Mono',monospace;font-size:0.72rem;color:#7d8590;margin-bottom:8px}
.agent-stats{display:flex;gap:12px;font-size:0.78rem;color:#8b949e}
.agent-stats b{color:#e6edf3}

/* Progress */
.dex-demo-progress{padding:12px 20px}
.dex-demo-phase{font-size:0.85rem;color:#8b949e;margin-bottom:8px}
.dex-demo-bar-wrap{
  height:6px;background:#21262d;border-radius:3px;overflow:hidden;
}
.dex-demo-bar{
  height:100%;background:linear-gradient(90deg,#7c3aed,#2563eb);
  border-radius:3px;transition:width .5s ease;
}

/* Timeline */
.dex-demo-timeline{
  flex:1;overflow-y:auto;padding:12px 20px;
  max-height:300px;min-height:150px;
  font-family:'JetBrains Mono',monospace;font-size:0.75rem;
  border-top:1px solid #21262d;
}
.demo-log-entry{padding:3px 0;color:#8b949e;border-bottom:1px solid #161b22}
.demo-log-entry.info{color:#8b949e}
.demo-log-entry.success{color:#22c55e}
.demo-log-entry.error{color:#ef4444}
.demo-log-entry.warn{color:#f59e0b}
.demo-log-entry.order{color:#e6edf3}
.demo-log-entry.fill{color:#a855f7;font-weight:600;background:rgba(168,85,247,.08);padding:4px 6px;border-radius:4px}
.demo-log-entry.transfer{color:#f59e0b;background:rgba(245,158,11,.06);padding:4px 6px;border-radius:4px}
.demo-log-entry.taker{color:#2563eb}
.demo-log-time{color:#484f58;margin-right:8px}
.demo-tx-link{color:#58a6ff;text-decoration:none;font-family:'JetBrains Mono',monospace;font-size:0.72rem;opacity:.8}
.demo-tx-link:hover{opacity:1;text-decoration:underline}
.demo-addr-link{color:#58a6ff;text-decoration:none;font-family:'JetBrains Mono',monospace;font-size:0.72rem}
.demo-addr-link:hover{text-decoration:underline}
.demo-overlap-badge{
  display:inline-block;background:#7c3aed;color:#fff;font-size:0.6rem;
  padding:1px 5px;border-radius:3px;margin-left:4px;vertical-align:middle;
  font-weight:700;letter-spacing:.5px;
}
.demo-tif-badge{
  display:inline-block;background:#0ea5e9;color:#fff;font-size:0.55rem;
  padding:1px 4px;border-radius:3px;margin-left:3px;vertical-align:middle;
  font-weight:700;letter-spacing:.5px;
}
.demo-side-buy{color:#22c55e;font-weight:700;font-size:.78rem}
.demo-side-sell{color:#ef4444;font-weight:700;font-size:.78rem}
.demo-price{color:#a78bfa;font-family:'Space Mono',monospace;font-weight:600}
.demo-fill-tag{
  display:inline-block;background:#22c55e;color:#000;font-size:.58rem;
  padding:1px 5px;border-radius:3px;font-weight:800;letter-spacing:.5px;
  vertical-align:middle;margin-right:2px;
}
.demo-taker-tag{
  display:inline-block;background:#a855f7;color:#fff;font-size:.58rem;
  padding:1px 5px;border-radius:3px;font-weight:800;letter-spacing:.5px;
  vertical-align:middle;margin-right:2px;
}

/* Summary */
.dex-demo-summary{
  padding:16px 20px;border-top:1px solid #30363d;
  background:rgba(34,197,94,.05);
}
.demo-summary-title{font-size:1rem;font-weight:600;color:#22c55e;margin-bottom:12px}
.demo-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.demo-stat{
  background:#161b22;border:1px solid #21262d;border-radius:6px;
  padding:10px;text-align:center;
}
.demo-stat-label{display:block;font-size:0.72rem;color:#8b949e;margin-bottom:4px}
.demo-stat-value{font-size:1.1rem;font-weight:700;color:#e6edf3}
.demo-stat-value.green{color:#22c55e}
.demo-stat-value.red{color:#ef4444}

/* Price Chart Pane */
.dex-center-pane#dexPricePane{min-height:320px}
.dex-price-chart-wrap{width:100%;height:100%;min-height:320px;position:relative;background:#101216;overflow:hidden}
.dex-price-chart-wrap iframe{border:none !important}
.dex-price-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:.85rem;text-align:center;padding:20px}

/* Post-demo Reclaim Card */
.dex-demo-reclaim{padding:16px 20px;border-top:1px solid #30363d;background:rgba(124,109,250,.05)}
.reclaim-title{font-size:.9rem;font-weight:600;color:#c9d1d9;margin-bottom:12px;text-align:center}
.reclaim-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.reclaim-btn{background:#161b22;border:1px solid #30363d;border-radius:8px;padding:14px 12px;cursor:pointer;text-align:center;transition:all .2s}
.reclaim-btn:hover{border-color:var(--purple);background:#1a1d27}
.reclaim-btn.keep:hover{border-color:#22c55e}
.reclaim-btn.reclaim:hover{border-color:#f59e0b}
.reclaim-icon{display:block;font-size:1.5rem;margin-bottom:6px}
.reclaim-label{display:block;font-size:.85rem;font-weight:600;color:#e6edf3;margin-bottom:4px}
.reclaim-desc{display:block;font-size:.7rem;color:#8b949e;line-height:1.3}
.reclaim-checkbox{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:.78rem;color:#8b949e;cursor:pointer}
.reclaim-checkbox input{accent-color:var(--purple)}
.reclaim-status{margin-top:10px;padding:10px;background:#161b22;border-radius:6px;font-size:.8rem;color:#8b949e;text-align:center}

@media(max-width:768px){
  .dex-demo-overlay{width:100%}
  .dex-wrap.demo-active{width:100%}
  .dex-demo-agents{grid-template-columns:1fr}
  .demo-summary-grid{grid-template-columns:repeat(2,1fr)}
  .reclaim-options{grid-template-columns:1fr}
}

/* ─── Deposit Modal ─────────────────────────────────────────────────────── */
.dex-deposit-overlay{
  position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;
  background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(4px);
}
.dex-deposit-panel{
  background:#0d1117;border:1px solid #30363d;border-radius:12px;
  max-width:480px;width:90%;box-shadow:0 8px 32px rgba(0,0,0,.5);
}
.dex-deposit-header{
  display:flex;justify-content:space-between;align-items:center;
  padding:16px 20px;border-bottom:1px solid #30363d;
}
.dex-deposit-header h3{margin:0;font-size:1rem;color:#e6edf3}
.dex-deposit-body{padding:20px}
.dex-deposit-desc{color:#c9d1d9;font-size:.9rem;margin:0 0 12px;line-height:1.5}
.dex-deposit-instruction{color:#8b949e;font-size:.82rem;margin:0 0 8px}

/* Deposit steps */
.dex-deposit-steps{
  display:flex;flex-direction:column;gap:14px;margin:16px 0 18px;
}
.dex-deposit-step{
  display:flex;gap:12px;align-items:flex-start;
}
.dex-deposit-step-num{
  flex-shrink:0;width:28px;height:28px;border-radius:50%;
  background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;
  font-size:.82rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;margin-top:2px;
}
.dex-deposit-step-text{
  flex:1;font-size:.85rem;color:#c9d1d9;line-height:1.5;
}
.dex-deposit-step-text strong{color:#e6edf3}
.dex-deposit-add-btn{
  display:inline-block;margin-top:8px;padding:7px 16px;
  background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;
  border:none;border-radius:6px;font-size:.8rem;font-weight:600;
  cursor:pointer;transition:all .2s;
}
.dex-deposit-add-btn:hover{transform:scale(1.05);box-shadow:0 0 12px rgba(34,197,94,.4)}

/* Swarm config panel */
.swarm-config-field{margin-bottom:20px}
.swarm-strategy-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.swarm-strat-card{
  display:flex;flex-direction:column;align-items:center;gap:4px;
  padding:14px 10px;background:#161b22;border:2px solid #30363d;border-radius:10px;
  cursor:pointer;transition:all .25s;font-family:var(--sans);color:#c9d1d9;text-align:center;
}
.swarm-strat-card:hover{border-color:#484f58;background:#1c2128}
.swarm-strat-card.active{
  border-color:#7c3aed;background:rgba(124,58,237,.1);
  box-shadow:0 0 16px rgba(124,58,237,.2);
}
.swarm-strat-icon{font-size:1.4rem}
.swarm-strat-name{font-weight:700;font-size:.88rem}
.swarm-strat-tip{font-size:.7rem;color:#8b949e;line-height:1.3}
.swarm-intensity-label{
  font-weight:700;font-size:.9rem;color:#a855f7;min-width:70px;
}
.swarm-intensity-info{
  margin-top:6px;font-size:.76rem;color:#8b949e;
}

.dex-deposit-address-row{
  display:flex;gap:8px;align-items:center;
  background:#161b22;border:1px solid #30363d;border-radius:8px;
  padding:10px 14px;margin-top:8px;
}
.dex-deposit-address-row code{
  flex:1;font-size:.78rem;color:#7c3aed;word-break:break-all;
  font-family:'Fira Code','SF Mono',monospace;
}
.dex-deposit-copy{
  background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;
  border:none;border-radius:6px;padding:6px 12px;cursor:pointer;
  font-size:.75rem;font-weight:600;white-space:nowrap;
  transition:transform .15s,box-shadow .15s;
}
.dex-deposit-copy:hover{transform:scale(1.05);box-shadow:0 0 12px rgba(124,58,237,.4)}
.dex-deposit-note{
  color:#8b949e;font-size:.78rem;margin:0 0 16px;
  padding:8px 12px;background:rgba(34,197,94,.06);border-radius:6px;
  border-left:3px solid #22c55e;
}
.dex-deposit-actions{text-align:center}
.dex-deposit-check-btn{
  background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;
  border:none;border-radius:8px;padding:12px 28px;cursor:pointer;
  font-size:.9rem;font-weight:600;
  transition:transform .15s,box-shadow .15s;
}
.dex-deposit-check-btn:hover{transform:scale(1.03);box-shadow:0 0 20px rgba(124,58,237,.4)}
.dex-deposit-check-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.dex-deposit-status{
  margin-top:10px;font-size:.8rem;min-height:20px;
  color:#8b949e;
}
.dex-deposit-status.error{color:#ef4444}
.dex-deposit-status.success{color:#22c55e}

/* Add Token Fields */
.add-token-fields{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.add-token-field label{
  display:block;font-size:.72rem;color:#8b949e;margin-bottom:4px;
  font-weight:600;text-transform:uppercase;letter-spacing:.5px;
}
.add-token-field .dex-deposit-address-row{margin-bottom:0}
.add-token-field .dex-deposit-address-row code{font-size:.74rem}

/* ===== AI AGENT SWARM TAB ===== */
.swarm-wrap{display:none;flex-direction:column;gap:28px;padding:20px 0}
.swarm-wrap.show{display:flex}

/* Hero */
.swarm-hero{
  background:linear-gradient(135deg,rgba(124,58,237,.1),rgba(37,99,235,.08));
  border:1px solid rgba(124,58,237,.25);border-radius:16px;
  padding:48px 40px;text-align:center;position:relative;overflow:hidden;
}
.swarm-hero::before{
  content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;
  background:radial-gradient(circle at 30% 50%,rgba(124,58,237,.06) 0%,transparent 50%),
             radial-gradient(circle at 70% 50%,rgba(37,99,235,.06) 0%,transparent 50%);
  animation:swarmPulse 8s ease-in-out infinite;
}
@keyframes swarmPulse{
  0%,100%{transform:scale(1);opacity:.5}
  50%{transform:scale(1.1);opacity:1}
}
.swarm-hero-icon{font-size:3rem;margin-bottom:12px;position:relative}
.swarm-hero-title{
  font-size:1.8rem;font-weight:800;margin:0 0 12px;position:relative;
  background:linear-gradient(135deg,#7c3aed,#3b82f6);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.swarm-hero-subtitle{
  color:#8b949e;font-size:.92rem;max-width:600px;margin:0 auto 28px;
  line-height:1.6;position:relative;
}
.swarm-hero-stats{
  display:flex;justify-content:center;gap:32px;position:relative;
}
.swarm-hero-stat{
  background:rgba(13,17,23,.6);border:1px solid #30363d;border-radius:10px;
  padding:16px 28px;text-align:center;
}
.swarm-hero-stat-value{
  display:block;font-size:1.5rem;font-weight:800;color:#e6edf3;
}
.swarm-hero-stat-label{
  display:block;font-size:.72rem;color:#8b949e;margin-top:4px;
  text-transform:uppercase;letter-spacing:.5px;
}

/* Section Titles */
.swarm-section-title{
  font-size:1.1rem;font-weight:700;color:#e6edf3;margin:0 0 16px;
}

/* Template Grid */
.swarm-template-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;
}
.swarm-template-card{
  background:#0d1117;border:1px solid #30363d;border-radius:12px;
  padding:24px;cursor:pointer;transition:all .3s;position:relative;overflow:hidden;
}
.swarm-template-card:hover{
  border-color:#7c3aed;transform:translateY(-3px);
  box-shadow:0 8px 32px rgba(124,58,237,.15);
}
.swarm-template-card.selected{
  border-color:#7c3aed;box-shadow:0 0 20px rgba(124,58,237,.2);
}
.swarm-template-card.soon{opacity:.55;cursor:default}
.swarm-template-card.soon:hover{transform:none;box-shadow:none;border-color:#30363d}
.swarm-card-accent{height:3px;border-radius:3px;margin-bottom:16px}
.swarm-card-accent.green{background:linear-gradient(90deg,#22c55e,#16a34a)}
.swarm-card-accent.purple{background:linear-gradient(90deg,#7c3aed,#a855f7)}
.swarm-card-accent.amber{background:linear-gradient(90deg,#f59e0b,#d97706)}
.swarm-card-accent.blue{background:linear-gradient(90deg,#3b82f6,#2563eb)}
.swarm-card-icon{font-size:2rem;margin-bottom:8px}
.swarm-template-card h4{margin:0 0 8px;font-size:1rem;color:#e6edf3}
.swarm-card-desc{color:#8b949e;font-size:.82rem;line-height:1.5;margin:0 0 14px}
.swarm-card-meta{
  display:flex;gap:12px;font-size:.72rem;color:#58a6ff;margin-bottom:16px;flex-wrap:wrap;
}
.swarm-soon-badge{
  position:absolute;top:12px;right:12px;
  background:rgba(124,58,237,.2);color:#a855f7;
  font-size:.65rem;font-weight:700;padding:3px 8px;border-radius:4px;
  letter-spacing:.5px;transition:all .3s;
}
.swarm-launch-btn{
  background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;
  border:none;border-radius:8px;padding:10px 20px;cursor:pointer;
  font-size:.82rem;font-weight:600;width:100%;
  transition:transform .15s,box-shadow .15s;
}
.swarm-launch-btn:hover{transform:scale(1.02);box-shadow:0 4px 16px rgba(34,197,94,.3)}

/* Launch Config Panel */
.swarm-launch-panel{
  background:#0d1117;border:1px solid #30363d;border-radius:12px;padding:24px;
}
.swarm-launch-config{display:flex;flex-direction:column;gap:16px}
.swarm-config-row label{
  display:block;font-size:.78rem;color:#8b949e;margin-bottom:6px;
  font-weight:600;text-transform:uppercase;letter-spacing:.5px;
}
.swarm-config-input-row{display:flex;gap:8px}
.swarm-input{
  flex:1;background:#161b22;border:1px solid #30363d;border-radius:8px;
  padding:10px 14px;color:#e6edf3;font-size:.85rem;
  font-family:'Fira Code','SF Mono',monospace;
}
.swarm-input:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 2px rgba(124,58,237,.2)}
.swarm-load-btn{
  background:#21262d;color:#e6edf3;border:1px solid #30363d;border-radius:8px;
  padding:10px 18px;cursor:pointer;font-weight:600;font-size:.82rem;
  transition:all .15s;
}
.swarm-load-btn:hover{background:#30363d;border-color:#7c3aed}
.swarm-config-summary{
  background:#161b22;border:1px solid #21262d;border-radius:8px;padding:16px;
}
.swarm-config-item{
  display:flex;justify-content:space-between;padding:6px 0;
  border-bottom:1px solid #21262d;font-size:.82rem;
}
.swarm-config-item:last-child{border-bottom:none}
.swarm-config-label{color:#8b949e;font-weight:600}
.swarm-config-value{color:#c9d1d9;text-align:right;max-width:60%}
.swarm-deploy-btn{
  background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;
  border:none;border-radius:10px;padding:14px 32px;cursor:pointer;
  font-size:1rem;font-weight:700;align-self:center;
  transition:transform .15s,box-shadow .15s;
}
.swarm-deploy-btn:hover{transform:scale(1.03);box-shadow:0 0 24px rgba(124,58,237,.4)}
.swarm-deploy-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}

/* Token Info (inside launch panel) */
.swarm-token-ready{
  background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.3);
  border-radius:8px;padding:14px;color:#c9d1d9;font-size:.85rem;line-height:1.6;
}
.swarm-ready-badge{
  display:inline-block;background:#22c55e;color:#000;font-size:.65rem;
  font-weight:800;padding:2px 8px;border-radius:4px;margin-right:8px;
  letter-spacing:.5px;
}
.swarm-token-deposit{
  background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.3);
  border-radius:8px;padding:14px;color:#c9d1d9;font-size:.85rem;line-height:1.8;
}
.swarm-deposit-badge{
  display:inline-block;background:#f59e0b;color:#000;font-size:.65rem;
  font-weight:800;padding:2px 8px;border-radius:4px;margin-right:8px;
  letter-spacing:.5px;
}
.swarm-deposit-addr{
  display:flex;gap:8px;align-items:center;margin:8px 0;
  background:#161b22;border:1px solid #30363d;border-radius:6px;padding:8px 12px;
}
.swarm-deposit-addr code{
  flex:1;font-size:.75rem;color:#7c3aed;word-break:break-all;
  font-family:'Fira Code','SF Mono',monospace;
}
.swarm-copy-btn{
  background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;
  border:none;border-radius:5px;padding:4px 10px;cursor:pointer;
  font-size:.72rem;font-weight:600;
}
.swarm-check-again-btn{
  display:inline-block;margin-top:8px;background:#21262d;color:#e6edf3;
  border:1px solid #30363d;border-radius:6px;padding:6px 14px;
  cursor:pointer;font-size:.78rem;font-weight:600;
}
.swarm-check-again-btn:hover{border-color:#7c3aed}
.swarm-loading{color:#58a6ff}
.swarm-error{color:#ef4444}

/* Live Monitor */
.swarm-monitor{
  background:#0d1117;border:1px solid #30363d;border-radius:12px;overflow:hidden;
}
.swarm-monitor-header{
  display:flex;justify-content:space-between;align-items:center;
  padding:16px 20px;border-bottom:1px solid #30363d;
  background:linear-gradient(135deg,rgba(124,58,237,.08),rgba(37,99,235,.05));
}
.swarm-monitor-header h3{margin:0;font-size:1rem;color:#e6edf3}
.swarm-monitor-header-right{display:flex;align-items:center;gap:12px}
.swarm-timer{
  font-family:'Fira Code','SF Mono',monospace;font-size:.9rem;
  color:#7c3aed;font-weight:600;
}
.swarm-stop-btn{
  background:#21262d;color:#8b949e;border:1px solid #30363d;
  border-radius:6px;width:28px;height:28px;cursor:pointer;
  font-size:.9rem;display:flex;align-items:center;justify-content:center;
}
.swarm-stop-btn:hover{color:#ef4444;border-color:#ef4444}

/* Reuse DEX demo agent card / progress / timeline / summary styles */
.swarm-agents{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px 20px;
}
.swarm-agent-card{
  background:#161b22;border:1px solid #21262d;border-radius:8px;padding:12px;
}
.swarm-agent-card.agent-buyer{border-top:3px solid #22c55e}
.swarm-agent-card.agent-seller{border-top:3px solid #ef4444}
.swarm-agent-card.agent-taker{border-top:3px solid #7c3aed}
/* Orderbook + Timeline row */
.swarm-book-row{
  display:grid;grid-template-columns:280px 1fr;gap:0;
  border-top:1px solid #21262d;
}
.swarm-orderbook{
  background:#0a0e14;border-right:1px solid #21262d;
  display:flex;flex-direction:column;min-height:300px;
}
.swarm-ob-title{
  padding:10px 14px;font-size:.75rem;font-weight:700;color:#8b949e;
  text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #161b22;
}
.swarm-ob-header{
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;
  padding:6px 14px;font-size:.65rem;color:#484f58;font-weight:600;
  text-transform:uppercase;letter-spacing:.06em;
}
.swarm-ob-asks,.swarm-ob-bids{
  flex:1;overflow-y:auto;max-height:140px;
  font-family:'Fira Code','SF Mono',monospace;font-size:.72rem;
}
.swarm-ob-asks{display:flex;flex-direction:column-reverse;justify-content:flex-start}
.swarm-ob-row{
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;
  padding:2px 14px;position:relative;
  animation:obFlash .4s ease-out;
}
@keyframes obFlash{0%{background:rgba(255,255,255,.06)}100%{background:transparent}}
.swarm-ob-row.ask{color:#ef4444}
.swarm-ob-row.bid{color:#22c55e}
.swarm-ob-row .ob-depth{
  position:absolute;top:0;bottom:0;right:0;opacity:.08;
}
.swarm-ob-row.ask .ob-depth{background:#ef4444}
.swarm-ob-row.bid .ob-depth{background:#22c55e}
.swarm-ob-spread{
  display:flex;justify-content:space-between;align-items:center;
  padding:6px 14px;border-top:1px solid #161b22;border-bottom:1px solid #161b22;
  background:#0d1117;
}
.spread-label{font-size:.65rem;color:#484f58;font-weight:600;text-transform:uppercase}
.spread-value{font-family:'Fira Code','SF Mono',monospace;font-size:.75rem;color:#f59e0b;font-weight:600}
.swarm-ob-stats{
  display:flex;gap:16px;padding:8px 14px;font-size:.7rem;color:#484f58;
  border-top:1px solid #161b22;
}
.swarm-ob-stats b{color:#8b949e}
.swarm-ob-empty{
  padding:20px 14px;text-align:center;font-size:.75rem;color:#30363d;
}

.swarm-timeline-col{display:flex;flex-direction:column;min-height:0}
.swarm-progress{padding:12px 20px}
.swarm-phase{font-size:.82rem;color:#8b949e;margin-bottom:6px}
.swarm-timeline{
  flex:1;max-height:350px;overflow-y:auto;padding:12px 20px;
  font-family:'Fira Code','SF Mono',monospace;font-size:.75rem;
  background:#0a0e14;
}
@media(max-width:768px){
  .swarm-book-row{grid-template-columns:1fr}
  .swarm-orderbook{border-right:none;border-bottom:1px solid #21262d;min-height:200px}
}
.swarm-summary{
  padding:16px 20px;border-top:1px solid #30363d;
  background:rgba(34,197,94,.05);
}

/* History */
.swarm-history{
  background:#0d1117;border:1px solid #30363d;border-radius:12px;padding:20px;
}
.swarm-history-empty{
  color:#8b949e;font-size:.85rem;text-align:center;padding:20px;
}
.swarm-history-row{
  display:flex;align-items:center;gap:16px;padding:10px 12px;
  border-bottom:1px solid #21262d;font-size:.82rem;
}
.swarm-history-row:last-child{border-bottom:none}
.swarm-history-token{font-weight:700;color:#e6edf3;min-width:80px}
.swarm-history-status{font-size:.75rem;min-width:90px}
.swarm-history-status.success{color:#22c55e}
.swarm-history-status.running{color:#f59e0b}
.swarm-history-status.failed{color:#ef4444}
.swarm-history-duration{color:#8b949e;min-width:60px}
.swarm-history-orders{color:#58a6ff;min-width:70px}
.swarm-history-fills{color:#a855f7;min-width:50px}
.swarm-history-time{color:#8b949e;margin-left:auto;font-size:.72rem}

@media(max-width:768px){
  .swarm-hero{padding:28px 20px}
  .swarm-hero-title{font-size:1.3rem}
  .swarm-hero-stats{flex-direction:column;gap:12px;align-items:center}
  .swarm-template-grid{grid-template-columns:1fr}
  .swarm-agents{grid-template-columns:1fr}
  .swarm-config-item{flex-direction:column;gap:4px}
  .swarm-config-value{text-align:left;max-width:100%}
  .swarm-history-row{flex-wrap:wrap;gap:8px}
}

/* ===== AUTH & PERMISSIONS TAB ===== */
.auth-wrap{
  display:none;padding:24px 0;
}
.auth-wrap.show{display:block}

.auth-toggle-bar{
  display:flex;gap:4px;margin-bottom:16px;
  background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);
  padding:4px;width:fit-content;
}
.auth-toggle-btn{
  padding:8px 20px;border:none;border-radius:var(--radius-sm);
  background:transparent;color:var(--text-dim);font-size:.85rem;font-weight:600;
  cursor:pointer;transition:all .2s;font-family:var(--sans);
}
.auth-toggle-btn.active{
  background:var(--purple);color:#fff;
}
.auth-toggle-btn:hover:not(.active){
  color:var(--text);background:var(--bg3);
}

.auth-revoke-hint{
  color:var(--text-muted);font-size:.8rem;margin-bottom:20px;
}

/* Grants list */
.auth-grants-list{
  display:flex;flex-direction:column;gap:12px;margin-bottom:32px;min-height:60px;
}
.auth-empty,.auth-loading,.auth-error{
  text-align:center;padding:32px 16px;color:var(--text-muted);font-size:.9rem;
  background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);
}
.auth-error{color:#ef4444}

/* Grant card */
.auth-grant-card{
  background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);
  padding:16px 20px;transition:border-color .2s;
}
.auth-grant-card:hover{border-color:var(--border-light)}
.auth-grant-card.expired{opacity:.6}

.auth-grant-top{
  display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;
}
.auth-grant-perm{
  font-weight:700;font-size:1rem;color:var(--text);
}
.auth-revoke-btn{
  padding:5px 14px;border:1px solid #ef4444;border-radius:var(--radius-sm);
  background:transparent;color:#ef4444;font-size:.78rem;font-weight:600;
  cursor:pointer;transition:all .2s;font-family:var(--sans);
}
.auth-revoke-btn:hover{
  background:rgba(239,68,68,.15);
}

.auth-grant-details{display:flex;flex-direction:column;gap:6px}
.auth-grant-row{
  display:flex;justify-content:space-between;align-items:center;
  font-size:.84rem;
}
.auth-grant-label{color:var(--text-muted);min-width:90px}
.auth-grant-value{color:var(--text-dim);font-family:var(--mono);font-size:.78rem}
.auth-grant-value.expired{color:#ef4444}
.auth-detail-mono{font-family:var(--mono);font-size:.72rem;color:var(--text-muted)}

/* Create grant section */
.auth-create-section{
  background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:24px;
}
.auth-create-title{
  font-size:1.05rem;font-weight:700;color:var(--text);margin-bottom:20px;
}
.auth-form-row{
  margin-bottom:16px;display:flex;flex-direction:column;gap:6px;
}
.auth-label{
  font-size:.8rem;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;
}
.auth-input{
  padding:10px 14px;background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--radius-sm);color:var(--text);font-size:.9rem;
  font-family:var(--mono);outline:none;transition:border-color .2s;
}
.auth-input:focus{border-color:var(--purple)}
.auth-input.auth-short{max-width:140px}
.auth-select{
  padding:10px 14px;background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--radius-sm);color:var(--text);font-size:.9rem;
  font-family:var(--sans);outline:none;cursor:pointer;
}
.auth-select option{background:var(--bg2);color:var(--text)}

.auth-send-limit-fields{
  display:flex;gap:12px;
}
.auth-half{flex:1}

.auth-grant-btn{
  margin-top:8px;padding:12px 28px;
  background:linear-gradient(135deg,var(--purple),var(--purple-dim));
  border:none;border-radius:var(--radius-sm);color:#fff;font-size:.95rem;
  font-weight:700;cursor:pointer;transition:all .25s;font-family:var(--sans);
}
.auth-grant-btn:hover{
  transform:translateY(-1px);box-shadow:0 4px 20px var(--purple-glow);
}
.auth-grant-btn:disabled{
  opacity:.5;cursor:not-allowed;transform:none;box-shadow:none;
}

.auth-result{
  margin-top:16px;padding:10px 16px;border-radius:var(--radius-sm);
  font-size:.85rem;
}
.auth-result-success{color:var(--green)}
.auth-result-error{color:#ef4444}
.auth-tx-link{
  color:var(--purple);font-family:var(--mono);font-size:.78rem;margin-left:8px;
}

@media(max-width:768px){
  .auth-send-limit-fields{flex-direction:column;gap:0}
  .auth-grant-row{flex-direction:column;align-items:flex-start;gap:2px}
}

/* ===== SUBSCRIPTIONS TAB ===== */
.subs-wrap{display:none;padding:20px 0}
.subs-wrap.show{display:block}

.subs-layout{
  display:grid;grid-template-columns:1fr 1fr;gap:24px;
}
@media(max-width:900px){.subs-layout{grid-template-columns:1fr}}

.subs-section-title{
  font-family:var(--mono);font-size:.75rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);
  margin-bottom:8px;
}
.subs-section-desc{
  font-size:.78rem;color:var(--text-muted);margin-bottom:16px;line-height:1.5;
}

/* Create panel */
.subs-create-panel{
  background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:20px;
}
.subs-form{display:flex;flex-direction:column;gap:14px}
.subs-field{display:flex;flex-direction:column;gap:4px}
.subs-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.subs-label{
  font-family:var(--mono);font-size:.68rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);
}
.subs-input{
  background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:10px 12px;font-size:.85rem;color:var(--text);font-family:var(--sans);
  outline:none;transition:border-color .2s;
}
.subs-input:focus{border-color:var(--purple)}
.subs-select{cursor:pointer}
.subs-hint{font-size:.7rem;color:var(--text-muted);margin-top:2px}

/* Fee breakdown */
.subs-fee-breakdown{
  background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:12px 14px;
}
.subs-fee-row{
  display:flex;justify-content:space-between;align-items:center;
  font-size:.78rem;color:var(--text-muted);padding:3px 0;
}
.subs-fee-total{
  border-top:1px solid var(--border);padding-top:8px;margin-top:4px;
  font-weight:700;color:var(--green);
}

.subs-create-btn{
  padding:12px;border:none;border-radius:var(--radius-sm);
  background:linear-gradient(135deg,var(--purple),var(--purple-dim));
  color:#fff;font-weight:700;font-size:.9rem;cursor:pointer;
  font-family:var(--sans);transition:all .25s;
}
.subs-create-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px var(--purple-glow)}
.subs-create-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}

/* Right panel */
.subs-right-panel{display:flex;flex-direction:column;gap:20px}

/* Passes list */
.subs-passes-list{
  background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:16px;min-height:100px;
}
.subs-empty{
  font-size:.8rem;color:var(--text-muted);text-align:center;padding:24px 0;
}
.subs-pass-card{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 14px;background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--radius-sm);margin-bottom:8px;transition:border-color .2s;
}
.subs-pass-card:hover{border-color:var(--border-light)}
.subs-pass-card:last-child{margin-bottom:0}
.subs-pass-name{font-weight:700;font-size:.88rem;color:var(--text)}
.subs-pass-meta{font-size:.72rem;color:var(--text-muted);margin-top:2px}
.subs-pass-price{
  font-family:var(--mono);font-weight:700;font-size:.85rem;color:var(--green);
}
.subs-pass-actions{display:flex;gap:6px;align-items:center}
.subs-pass-embed-btn{
  padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);
  background:transparent;color:var(--text-dim);font-size:.7rem;cursor:pointer;
  font-family:var(--mono);transition:all .2s;
}
.subs-pass-embed-btn:hover{border-color:var(--purple);color:var(--purple)}

/* Embed code */
.subs-embed-section{
  background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:16px;
}
.subs-code-block{
  position:relative;background:var(--bg);border:1px solid var(--border);
  border-radius:var(--radius-sm);padding:14px;margin-top:8px;
}
.subs-code-block pre{
  font-family:var(--mono);font-size:.72rem;color:var(--text-dim);
  white-space:pre-wrap;word-break:break-all;margin:0;line-height:1.6;
}
.subs-copy-btn{
  position:absolute;top:8px;right:8px;padding:4px 10px;
  border:1px solid var(--border);border-radius:var(--radius-sm);
  background:var(--bg3);color:var(--text-muted);font-size:.68rem;
  cursor:pointer;font-family:var(--mono);transition:all .2s;
}
.subs-copy-btn:hover{border-color:var(--green);color:var(--green)}

/* Verify */
.subs-verify-section{
  background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:16px;
}
.subs-verify-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.subs-verify-row .subs-input{flex:1;min-width:150px}
.subs-verify-select{flex:0 0 180px}
.subs-verify-btn{
  padding:10px 18px;border:none;border-radius:var(--radius-sm);
  background:var(--bg4);color:var(--text);font-weight:600;font-size:.82rem;
  cursor:pointer;font-family:var(--mono);border:1px solid var(--border);
  transition:all .2s;
}
.subs-verify-btn:hover{border-color:var(--purple);color:var(--purple)}
.subs-verify-result{
  margin-top:10px;font-size:.82rem;padding:10px 14px;
  border-radius:var(--radius-sm);display:none;
}
.subs-verify-result.valid{
  display:block;background:rgba(37,214,149,.1);border:1px solid rgba(37,214,149,.3);color:#25d695;
}
.subs-verify-result.invalid{
  display:block;background:rgba(216,29,60,.1);border:1px solid rgba(216,29,60,.3);color:#ff7386;
}
.subs-verify-result.checking{
  display:block;background:var(--bg3);border:1px solid var(--border);color:var(--text-muted);
}

/* Status log */
.subs-log{
  margin-top:16px;font-family:var(--mono);font-size:.72rem;
  color:var(--text-muted);max-height:200px;overflow-y:auto;
}
.subs-log-entry{padding:4px 0;border-bottom:1px solid var(--border)}
.subs-log-entry.success{color:var(--green)}
.subs-log-entry.error{color:#ff7386}

/* ───── Landing Hero ───── */
.landing-hero{
  padding:60px 0 40px;
  text-align:center;
  background:linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%);
  border-bottom:1px solid var(--border);
}
.hero-content{max-width:680px;margin:0 auto}
.hero-title{
  font-size:2.2rem;font-weight:700;line-height:1.2;
  color:var(--text);margin:0 0 16px;letter-spacing:-.02em;
}
.hero-accent{
  background:linear-gradient(135deg,var(--purple),var(--green));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.hero-sub{
  font-size:.95rem;color:var(--text-muted);line-height:1.6;
  margin:0 0 28px;max-width:540px;margin-left:auto;margin-right:auto;
}
.hero-stats{
  display:flex;justify-content:center;gap:40px;margin-bottom:28px;
}
.hero-stat{display:flex;flex-direction:column;align-items:center;gap:2px}
.hero-stat-val{font-family:var(--mono);font-size:1rem;font-weight:700;color:var(--text)}
.hero-stat-lbl{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}
.hero-actions{display:flex;gap:12px;justify-content:center}
.hero-cta{
  padding:10px 28px;border-radius:8px;border:none;cursor:pointer;
  font-size:.85rem;font-weight:600;font-family:var(--font);
  background:var(--purple);color:#fff;transition:opacity .15s;
}
.hero-cta:hover{opacity:.85}
.hero-cta-secondary{
  padding:10px 28px;border-radius:8px;border:1px solid var(--border);cursor:pointer;
  font-size:.85rem;font-weight:500;font-family:var(--font);
  background:transparent;color:var(--text);transition:border-color .15s;
}
.hero-cta-secondary:hover{border-color:var(--purple)}
.hero-link{
  padding:10px 28px;border-radius:8px;font-size:.85rem;font-weight:500;
  font-family:var(--font);color:var(--text-muted);text-decoration:none;
  border:1px solid var(--border);transition:border-color .15s;
}
.hero-link:hover{border-color:var(--text-muted)}

/* ───── Token Gate Prompt ───── */
.token-gate-prompt{display:flex;align-items:center;gap:12px;padding:14px 16px;margin-bottom:12px;background:linear-gradient(135deg,rgba(124,109,250,.08),rgba(155,89,182,.08));border:1px solid var(--accent);border-radius:10px;position:relative;animation:wizFade .25s ease}
.token-gate-icon{font-size:1.4rem;flex-shrink:0}
.token-gate-text{flex:1;font-size:.75rem;line-height:1.4}
.token-gate-text strong{display:block;color:var(--text);font-size:.82rem;margin-bottom:2px}
.token-gate-text span{color:var(--muted)}
.token-gate-btn{padding:8px 18px;border:none;border-radius:8px;font-family:var(--font);font-size:.72rem;font-weight:600;cursor:pointer;background:var(--accent);color:#fff;transition:opacity .15s;white-space:nowrap;flex-shrink:0}
.token-gate-btn:hover{opacity:.85}
.token-gate-dismiss{position:absolute;top:6px;right:8px;background:none;border:none;color:var(--muted);cursor:pointer;font-size:.8rem;padding:2px;opacity:.5}
.token-gate-dismiss:hover{opacity:1}
.token-gate-current{display:block;margin-top:4px;font-size:.65rem;color:var(--text-dim)}

/* ───── Gate Upgrade Modal ───── */
.gate-modal-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.7);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;animation:wizFade .2s ease}
.gate-modal{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:720px;width:100%;max-height:90vh;overflow-y:auto;padding:28px}
.gate-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.gate-modal-title{font-size:1.1rem;font-weight:700;color:var(--text)}
.gate-modal-close{background:none;border:none;color:var(--muted);font-size:1.2rem;cursor:pointer;padding:4px 8px}
.gate-modal-close:hover{color:var(--text)}
.gate-modal-subtitle{font-size:.75rem;color:var(--muted);margin-bottom:22px}
.gate-tiers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:640px){.gate-tiers-grid{grid-template-columns:1fr}}
.gate-tier-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:18px 14px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;transition:all .2s;position:relative}
.gate-tier-card.target{border-color:var(--purple);box-shadow:0 0 20px rgba(124,109,250,.15)}
.gate-tier-card.owned{border-color:var(--green);opacity:.85}
.gate-tier-card.current::after{content:'CURRENT';position:absolute;top:-8px;right:10px;font-size:.5rem;font-weight:700;color:var(--green);background:var(--bg2);padding:2px 8px;border-radius:4px;border:1px solid var(--green);letter-spacing:.5px}
.gate-tier-icon{font-size:2rem;line-height:1}
.gate-tier-name{font-size:.9rem;font-weight:700;color:var(--text)}
.gate-soul-badge{display:inline-block;font-size:.52rem;font-weight:600;padding:2px 8px;border-radius:10px;letter-spacing:.3px;text-transform:uppercase;margin-bottom:2px}
.gate-soul-badge.soulbound{color:#f59e0b;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.2)}
.gate-soul-badge.whitelisted{color:var(--purple);background:rgba(124,109,250,.1);border:1px solid rgba(124,109,250,.2)}
.gate-soul-badge.tradeable{color:var(--green);background:rgba(6,214,160,.1);border:1px solid rgba(6,214,160,.2)}
.gate-tier-price{font-size:.82rem;font-weight:600;color:var(--green);margin-bottom:4px}
.gate-tier-desc{font-size:.62rem;color:var(--muted);line-height:1.3;margin-bottom:8px}
.gate-tier-features{width:100%;text-align:left;margin-bottom:12px}
.gate-feature-item{font-size:.62rem;color:var(--text-dim);padding:3px 0;border-bottom:1px solid rgba(255,255,255,.03)}
.gate-feature-item:last-child{border-bottom:none}
.gate-tier-buy-btn{width:100%;padding:10px 0;border:none;border-radius:8px;font-family:var(--sans);font-size:.72rem;font-weight:600;cursor:pointer;background:linear-gradient(135deg,var(--purple),#9b59b6);color:#fff;transition:all .2s}
.gate-tier-buy-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(124,109,250,.3)}
.gate-tier-buy-btn:disabled{opacity:.5;cursor:wait;transform:none}
.gate-tier-owned{font-size:.72rem;font-weight:600;color:var(--green);padding:10px 0}
.gate-tier-locked{font-size:.62rem;color:var(--muted);padding:8px 0}
.gate-modal-footer{text-align:center;margin-top:18px;font-size:.6rem;color:var(--text-muted);font-style:italic}
.gate-tier-expiry{font-size:.58rem;color:var(--muted);margin-top:2px;font-style:italic}

/* Duration Picker */
.gate-duration-picker{width:100%;margin-top:6px}
.gate-duration-label{font-size:.6rem;font-weight:600;color:var(--text-dim);margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}
.gate-duration-options{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
@media(max-width:480px){.gate-duration-options{grid-template-columns:repeat(2,1fr)}}
.gate-dur-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-dim);cursor:pointer;transition:all .15s;position:relative}
.gate-dur-btn:hover{border-color:var(--purple);background:rgba(124,109,250,.05)}
.gate-dur-btn.default{border-color:var(--purple-dim)}
.gate-dur-btn:disabled{opacity:.5;cursor:wait}
.gate-dur-period{font-size:.62rem;font-weight:600;color:var(--text)}
.gate-dur-price{font-size:.7rem;font-weight:700;color:var(--green);font-family:var(--mono)}
.gate-dur-save{font-size:.48rem;font-weight:600;color:#f59e0b;background:rgba(245,158,11,.1);padding:1px 4px;border-radius:3px}

/* Expiry success */
.gate-success-expiry{font-size:.7rem;color:var(--muted);font-family:var(--mono);margin-top:4px}

/* Nav badge states */
.gate-badge.expired{color:#ef4444;border-color:rgba(239,68,68,.3);animation:pulse-dot 1.5s infinite}
.gate-badge.expiring-soon{animation:pulse-dot 2s infinite}

/* Upgrade Success */
.gate-upgrade-success{display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 20px;gap:12px}
.gate-success-icon{font-size:3rem}
.gate-success-title{font-size:1.2rem;font-weight:700;color:var(--green)}
.gate-success-desc{font-size:.8rem;color:var(--text-dim);max-width:400px}
.gate-success-class{font-size:.65rem;font-family:var(--mono);color:var(--muted);background:rgba(0,0,0,.2);padding:6px 12px;border-radius:6px}

/* Pass Badge (nav) */
.gate-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:.6rem;font-weight:600;cursor:pointer;border:1px solid var(--border);transition:all .15s;font-family:var(--mono)}
.gate-badge:hover{opacity:.8}
.gate-badge.none{color:var(--muted);border-style:dashed}
.gate-badge.scout{color:#6b7280;background:rgba(107,114,128,.08)}
.gate-badge.creator{color:var(--purple);background:rgba(124,109,250,.08)}
.gate-badge.pro{color:var(--green);background:rgba(6,214,160,.08)}

/* ───── Analytics Dashboard ───── */
.analytics-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
@media(max-width:480px){.analytics-summary{grid-template-columns:repeat(2,1fr)}}
.analytics-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 10px;text-align:center}
.analytics-card-value{font-size:1.3rem;font-weight:700;color:var(--text);font-family:var(--mono)}
.analytics-card-label{font-size:.58rem;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}
.analytics-section-title{font-size:.7rem;font-weight:600;color:var(--text-dim);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}
.analytics-tier-row{display:flex;align-items:center;gap:8px;padding:4px 0}
.analytics-tier-name{font-size:.65rem;width:80px;flex-shrink:0;color:var(--text-dim)}
.analytics-tier-bar-wrap{flex:1;height:14px;background:rgba(255,255,255,.04);border-radius:4px;overflow:hidden}
.analytics-tier-bar{height:100%;border-radius:4px;transition:width .4s ease;min-width:2px}
.analytics-tier-bar.scout{background:#6b7280}
.analytics-tier-bar.creator{background:var(--purple)}
.analytics-tier-bar.pro{background:var(--green)}
.analytics-tier-bar.none{background:rgba(255,255,255,.08)}
.analytics-tier-count{font-size:.65rem;font-family:var(--mono);color:var(--text-dim);width:30px;text-align:right}

/* ───── Agent NFT Grid ───── */
.agent-nft-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.agent-nft-card{background:var(--bg3);border:1px solid var(--border);border-radius:10px;padding:14px;cursor:pointer;transition:all .18s;display:flex;flex-direction:column;gap:6px}
.agent-nft-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.agent-nft-card-icon{font-size:1.6rem;line-height:1}
.agent-nft-card-name{font-size:.78rem;font-weight:700;color:var(--text)}
.agent-nft-card-desc{font-size:.65rem;color:var(--muted);line-height:1.35}
.agent-nft-card-btn{margin-top:auto;padding:6px 0;border:1px solid var(--border);border-radius:6px;font-family:var(--font);font-size:.65rem;font-weight:600;cursor:pointer;background:transparent;color:var(--accent);transition:all .15s;text-align:center}
.agent-nft-card:hover .agent-nft-card-btn{border-color:var(--accent);background:rgba(124,109,250,.08)}
.agent-nft-card-dev{border-color:rgba(239,68,68,.3) !important;background:rgba(239,68,68,.03) !important}
.agent-nft-card-dev:hover{border-color:rgba(239,68,68,.6) !important}
.agent-nft-dev-badge{display:inline-block;font-size:.5rem;font-weight:700;color:#ef4444;background:rgba(239,68,68,.12);padding:1px 5px;border-radius:3px;vertical-align:middle;margin-left:4px;letter-spacing:.5px}

/* ───── Agent Script Editor ───── */
.agent-script-section{margin-top:14px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}
.agent-script-section[open]{border-color:var(--purple-dim)}
.agent-script-toggle{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:.78rem;font-weight:600;color:var(--text);cursor:pointer;background:var(--bg3);list-style:none}
.agent-script-toggle::-webkit-details-marker{display:none}
.agent-script-toggle::before{content:'▸';font-size:.7rem;color:var(--muted);transition:transform .2s}
.agent-script-section[open] .agent-script-toggle::before{transform:rotate(90deg)}
.agent-script-toggle-icon{font-size:1rem}
.agent-script-badge{margin-left:auto;font-size:.58rem;font-weight:500;color:var(--muted);background:rgba(255,255,255,.06);padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.5px}
.agent-script-editor-wrap{padding:0}
.agent-script-toolbar{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:rgba(0,0,0,.2);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px}
.agent-script-templates-bar{display:flex;gap:4px;flex-wrap:wrap}
.agent-script-tpl-btn{padding:4px 10px;font-size:.62rem;font-family:var(--mono);border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--muted);cursor:pointer;transition:all .15s}
.agent-script-tpl-btn:hover{border-color:var(--purple-dim);color:var(--text)}
.agent-script-tpl-btn.active{border-color:var(--purple);color:var(--purple);background:rgba(124,109,250,.08)}
.agent-script-actions{display:flex;gap:4px}
.agent-script-action-btn{padding:4px 10px;font-size:.62rem;font-family:var(--mono);border:1px solid var(--green-dim);border-radius:4px;background:transparent;color:var(--green);cursor:pointer;transition:all .15s}
.agent-script-action-btn:hover{background:rgba(6,214,160,.1)}
.agent-script-info{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:.6rem;color:var(--muted);background:rgba(124,109,250,.04);border-bottom:1px solid var(--border)}
.agent-script-info-icon{font-size:.75rem}
.agent-script-editor{width:100%;min-height:280px;max-height:500px;resize:vertical;background:var(--bg);color:var(--green);font-family:var(--mono);font-size:.72rem;line-height:1.6;padding:14px;border:none;outline:none;tab-size:2;-moz-tab-size:2}
.agent-script-editor::placeholder{color:var(--text-muted);opacity:.5}
.agent-script-footer{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;background:rgba(0,0,0,.2);border-top:1px solid var(--border);font-size:.58rem;font-family:var(--mono);color:var(--muted)}
.agent-script-status{display:flex;align-items:center;gap:6px}
.agent-script-dot{width:6px;height:6px;border-radius:50%;display:inline-block}
.agent-script-dot.idle{background:#6b7280}
.agent-script-dot.running{background:#f59e0b;animation:pulse-dot .8s infinite}
.agent-script-dot.success{background:var(--green)}
.agent-script-dot.error{background:#ef4444}
@keyframes pulse-dot{0%,100%{opacity:1}50%{opacity:.3}}
.agent-script-meta{display:flex;gap:8px;align-items:center}
.agent-script-sep{color:var(--border)}

/* Dry Run Output */
.agent-script-dry-run-output{margin:0;padding:10px 12px;background:rgba(0,0,0,.3);border-top:1px solid var(--border);max-height:200px;overflow-y:auto;font-size:.62rem;font-family:var(--mono)}
.dry-run-header{font-weight:700;color:var(--green);margin-bottom:6px;font-size:.68rem}
.dry-run-header.error{color:#ef4444}
.dry-run-alerts{margin-bottom:8px}
.dry-run-alert-item{color:#f59e0b;padding:2px 0}
.dry-run-log{color:var(--muted)}
.dry-run-log-line{padding:1px 0;border-bottom:1px solid rgba(255,255,255,.03)}
.dry-run-log-line.dim{opacity:.4}
.dry-run-error{color:#ef4444;font-weight:600}
.dry-run-info{color:var(--purple);font-style:italic}

/* Agent Permissions */
.agent-permissions{margin-top:12px;padding:12px 14px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm)}
.agent-permissions-title{font-size:.75rem;font-weight:700;color:var(--text);margin-bottom:10px}
.agent-perm-toggle{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:.7rem;color:var(--text-dim);cursor:pointer;border-bottom:1px solid rgba(255,255,255,.03)}
.agent-perm-toggle:last-child{border-bottom:none}
.agent-perm-toggle input[type="checkbox"]{accent-color:var(--purple);width:14px;height:14px}
.agent-perm-tag{margin-left:auto;font-size:.55rem;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}
.agent-perm-tag.safe{color:var(--green);background:rgba(6,214,160,.1)}
.agent-perm-tag.warn{color:#f59e0b;background:rgba(245,158,11,.1)}
.agent-perm-tag.danger{color:#ef4444;background:rgba(239,68,68,.1)}

/* ───── NFT Airdrop Wizard ───── */
.wiz-steps{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:22px}
.wiz-step{display:flex;align-items:center;gap:6px;font-size:.72rem;font-family:var(--mono);color:var(--muted);font-weight:500;padding:0 8px}
.wiz-step.active{color:var(--accent)}
.wiz-step.done{color:var(--green)}
.wiz-step-num{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;border:1.5px solid var(--border);color:var(--muted);transition:all .2s}
.wiz-step.active .wiz-step-num{border-color:var(--accent);color:var(--accent);background:rgba(124,109,250,.1)}
.wiz-step.done .wiz-step-num{border-color:var(--green);color:#000;background:var(--green)}
.wiz-step-line{flex:1;max-width:40px;height:1px;background:var(--border)}
.wiz-panel{animation:wizFade .25s ease}
@keyframes wizFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.wiz-next-btn{width:100%;padding:12px 0;border:none;border-radius:10px;font-family:var(--font);font-size:.82rem;font-weight:600;cursor:pointer;background:var(--accent);color:#fff;transition:opacity .15s;margin-top:8px}
.wiz-next-btn:hover{opacity:.85}
.wiz-back-btn{padding:12px 20px;border:1px solid var(--border);border-radius:10px;font-family:var(--font);font-size:.78rem;font-weight:500;cursor:pointer;background:transparent;color:var(--muted);transition:border-color .15s}
.wiz-back-btn:hover{border-color:var(--text-muted)}

.nft-ad-upload{border:2px dashed var(--border);border-radius:12px;padding:28px 16px;text-align:center;cursor:pointer;transition:border-color .2s;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:140px;position:relative;overflow:hidden}
.nft-ad-upload:hover{border-color:var(--accent)}
.nft-ad-upload.has-image{border-style:solid;border-color:var(--accent);padding:0}
.nft-ad-upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:2px}
.nft-ad-upload-preview{width:100%;height:180px;object-fit:cover;border-radius:10px}
.nft-ad-upload-preview img{width:100%;height:100%;object-fit:cover;border-radius:10px}

.nft-ad-royalty-presets{display:flex;gap:8px}
.nft-ad-royalty-btn{flex:1;padding:8px 0;border:1px solid var(--border);border-radius:8px;font-family:var(--mono);font-size:.72rem;font-weight:600;cursor:pointer;background:transparent;color:var(--muted);transition:all .15s}
.nft-ad-royalty-btn.active{border-color:var(--accent);color:var(--accent);background:rgba(124,109,250,.08)}
.nft-ad-royalty-btn:hover{border-color:var(--text-muted)}

/* Smart Token Features */
.nft-ad-features{display:flex;flex-direction:column;gap:8px}
.nft-ad-feature-toggle{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--bg3);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s}
.nft-ad-feature-toggle:hover{border-color:var(--accent)}
.nft-ad-feature-toggle input[type="checkbox"]{margin-top:2px;accent-color:var(--accent);width:16px;height:16px;flex-shrink:0}
.nft-ad-feature-toggle input:checked ~ .nft-ad-feature-label{color:var(--accent)}
.nft-ad-feature-label{font-size:.78rem;font-weight:600;white-space:nowrap}
.nft-ad-feature-hint{font-size:.68rem;color:var(--muted);line-height:1.4}
.nft-ad-feature-note{margin-top:8px;padding:8px 12px;border-radius:6px;font-size:.7rem;background:rgba(124,109,250,.08);border:1px solid rgba(124,109,250,.2);color:var(--accent)}

.nft-ad-preview-card{display:flex;gap:14px;align-items:center;background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:14px;transition:all .2s}
.nft-ad-preview-img{width:64px;height:64px;border-radius:8px;background:var(--bg2);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}
.nft-ad-preview-img img{width:100%;height:100%;object-fit:cover}
.nft-ad-preview-info{flex:1}
.nft-ad-preview-name{font-size:.82rem;font-weight:600;color:var(--text)}
.nft-ad-preview-id{font-size:.68rem;color:var(--muted);font-family:var(--mono);margin-top:2px}
.nft-ad-preview-royalty{font-size:.65rem;color:var(--accent);margin-top:4px}

.nft-ad-source-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:14px}
.nft-ad-source-tab{padding:7px 14px;font-family:var(--mono);font-size:.68rem;font-weight:600;color:var(--muted);cursor:pointer;border:none;background:transparent;position:relative;transition:color .15s;white-space:nowrap}
.nft-ad-source-tab.active{color:var(--accent)}
.nft-ad-source-tab.active::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent);border-radius:1px}
.nft-ad-small-btn{padding:7px 14px;border:1px solid var(--border);border-radius:6px;font-family:var(--font);font-size:.7rem;font-weight:500;cursor:pointer;background:transparent;color:var(--text-muted);transition:border-color .15s}
.nft-ad-small-btn:hover{border-color:var(--accent);color:var(--accent)}

.nft-ad-review{background:var(--bg3);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:14px}
.nft-ad-review-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:.75rem;border-bottom:1px solid rgba(255,255,255,.04)}
.nft-ad-review-row:last-child{border-bottom:none}
.nft-ad-review-label{color:var(--muted);font-weight:500}

/* ───── Logo Upload ───── */
.logo-input-row{display:flex;gap:8px;align-items:center}
.logo-url-input{flex:1}
.logo-browse-btn{
  padding:8px 16px;border-radius:8px;cursor:pointer;white-space:nowrap;
  font-size:.78rem;font-weight:600;font-family:var(--font);
  background:var(--bg3);color:var(--text);border:1px solid var(--border);
  transition:border-color .15s,background .15s;
}
.logo-browse-btn:hover{background:var(--bg2);border-color:var(--text-muted)}
.logo-upload-status{
  font-size:.7rem;margin-top:6px;font-family:var(--mono);
}

/* ───── Token Economics Compact ───── */
.cp-econ-row{
  display:grid;grid-template-columns:1fr 1fr;gap:20px;
}
.cp-econ-item{display:flex;flex-direction:column;gap:6px}
.cp-econ-slider{display:flex;align-items:center;gap:10px}
.cp-econ-hint{font-size:.65rem;color:var(--text-muted);font-style:italic}

/* ───── Airdrop Tool ───── */
.airdrop-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.airdrop-textarea{
  min-height:120px;resize:vertical;font-family:var(--mono);font-size:.75rem;
  line-height:1.5;
}
.airdrop-count{
  font-family:var(--mono);font-size:.7rem;color:var(--green);margin-left:6px;
}
.airdrop-preview{
  background:var(--bg2);border:1px solid var(--border);border-radius:10px;
  padding:16px;margin-bottom:12px;
}
.airdrop-preview-title{
  font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;
  color:var(--text-muted);margin-bottom:10px;
}
.airdrop-preview-row{
  display:flex;justify-content:space-between;padding:4px 0;
  font-size:.8rem;color:var(--text-muted);
}
.airdrop-preview-row b{color:var(--text);font-family:var(--mono)}
.airdrop-preview-row.total{
  border-top:1px solid var(--border);margin-top:6px;padding-top:8px;
  font-weight:600;color:var(--text);
}
.manage-exec-btn.airdrop{
  background:linear-gradient(135deg,var(--purple),#6c5ce7);width:100%;
}
.airdrop-progress{
  margin-top:10px;display:flex;align-items:center;gap:10px;
}
.airdrop-progress-text{
  font-family:var(--mono);font-size:.75rem;color:var(--text-muted);white-space:nowrap;
}
.airdrop-log{
  margin-top:12px;font-family:var(--mono);font-size:.7rem;
  color:var(--text-muted);max-height:140px;overflow-y:auto;
}
.airdrop-log .log-entry{padding:3px 0;border-bottom:1px solid var(--border)}
.airdrop-log .log-entry.success{color:var(--green)}
.airdrop-log .log-entry.error{color:#ff7386}
.airdrop-result{
  margin-top:12px;padding:10px 14px;border-radius:8px;font-size:.8rem;
}
.airdrop-standalone{margin-top:20px;display:block !important}
.airdrop-result.success{background:rgba(0,208,132,.1);border:1px solid rgba(0,208,132,.3);color:var(--green)}
.airdrop-result.error{background:rgba(216,29,60,.1);border:1px solid rgba(216,29,60,.3);color:#ff7386}

/* ───── Use Cases ───── */
.uc-header{text-align:center;margin-bottom:28px}
.uc-title{font-size:1.3rem;font-weight:700;color:var(--text);margin-bottom:6px}
.uc-sub{font-size:.82rem;color:var(--text-muted);max-width:480px;margin:0 auto}
.uc-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
}
.uc-card{
  background:var(--bg2);border:1px solid var(--border);border-radius:12px;
  padding:20px;cursor:pointer;position:relative;overflow:hidden;
  transition:border-color .2s,transform .15s;
}
.uc-card:hover{border-color:var(--purple);transform:translateY(-2px)}
.uc-card-accent{position:absolute;top:0;left:0;right:0;height:3px}
.uc-card-accent.purple{background:var(--purple)}
.uc-card-accent.green{background:var(--green)}
.uc-card-accent.blue{background:#5b9cf6}
.uc-card-accent.amber{background:#f5a623}
.uc-card-accent.red{background:#e74c3c}
.uc-card-accent.teal{background:#00b894}
.uc-card-accent.pink{background:#e84393}
.uc-card-accent.orange{background:#f39c12}
.uc-card-accent.cyan{background:#00cec9}
.uc-card-icon{font-size:1.6rem;margin-bottom:8px}
.uc-card h4{font-size:.9rem;font-weight:600;color:var(--text);margin:0 0 6px}
.uc-card p{font-size:.75rem;color:var(--text-muted);line-height:1.5;margin:0 0 12px}
.uc-card-stack{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px}
.uc-card-stack span{
  font-size:.6rem;text-transform:uppercase;letter-spacing:.04em;
  padding:3px 8px;border-radius:4px;
  background:var(--bg3);color:var(--text-muted);border:1px solid var(--border);
  font-family:var(--mono);
}
.uc-card-btns{display:flex;gap:6px}
.uc-deploy-btn{
  flex:1;padding:8px;border-radius:8px;border:none;cursor:pointer;
  font-size:.75rem;font-weight:600;font-family:var(--font);
  transition:opacity .15s;
}
.uc-deploy-btn:hover{opacity:1}
.uc-deploy-btn.agent{
  background:var(--purple);color:#fff;opacity:.9;
}
.uc-deploy-btn.manual{
  background:var(--bg3);color:var(--text-muted);border:1px solid var(--border);opacity:.8;
}

/* ───── Agent Workflow Modal ───── */
.awf-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:10000;
  display:flex;align-items:center;justify-content:center;
  animation:awfFadeIn .2s ease;
}
@keyframes awfFadeIn{from{opacity:0}to{opacity:1}}
.awf-modal{
  background:var(--bg);border:1px solid var(--border);border-radius:14px;
  width:520px;max-width:92vw;max-height:80vh;overflow:hidden;
  display:flex;flex-direction:column;box-shadow:0 16px 64px rgba(0,0,0,.5);
}
.awf-header{
  padding:18px 22px;border-bottom:1px solid var(--border);
  display:flex;justify-content:space-between;align-items:center;
}
.awf-title{font-size:1rem;font-weight:700;color:var(--text)}
.awf-close{
  background:none;border:none;color:var(--text-muted);font-size:1.2rem;
  cursor:pointer;padding:4px 8px;border-radius:6px;
}
.awf-close:hover{background:var(--bg3)}
.awf-steps{padding:18px 22px;flex:1;overflow-y:auto}
.awf-step{
  display:flex;align-items:flex-start;gap:12px;padding:10px 0;
  border-bottom:1px solid var(--border);
}
.awf-step:last-child{border-bottom:none}
.awf-step-icon{
  width:28px;height:28px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-size:.8rem;flex-shrink:0;
  background:var(--bg3);color:var(--text-muted);
}
.awf-step.running .awf-step-icon{background:var(--purple);color:#fff;animation:awfPulse 1s infinite}
.awf-step.done .awf-step-icon{background:var(--green);color:#fff}
.awf-step.error .awf-step-icon{background:#e74c3c;color:#fff}
.awf-step.skipped .awf-step-icon{background:var(--bg3);color:var(--text-muted);opacity:.5}
@keyframes awfPulse{0%,100%{opacity:1}50%{opacity:.6}}
.awf-step-body{flex:1;min-width:0}
.awf-step-name{font-size:.85rem;font-weight:600;color:var(--text)}
.awf-step-detail{font-size:.72rem;color:var(--text-muted);margin-top:2px;font-family:var(--mono);word-break:break-all}
.awf-step.done .awf-step-name{color:var(--green)}
.awf-step.error .awf-step-name{color:#ff7386}
.awf-step.skipped .awf-step-name{color:var(--text-muted);opacity:.5}
.awf-log{
  padding:12px 22px;border-top:1px solid var(--border);
  max-height:120px;overflow-y:auto;font-family:var(--mono);font-size:.68rem;
  color:var(--text-muted);background:var(--bg2);
}
.awf-log-entry{padding:2px 0}
.awf-log-entry.success{color:var(--green)}
.awf-log-entry.error{color:#ff7386}
.awf-footer{
  padding:14px 22px;border-top:1px solid var(--border);
  display:flex;justify-content:flex-end;gap:8px;
}
.awf-footer-btn{
  padding:8px 20px;border-radius:8px;border:none;cursor:pointer;
  font-size:.8rem;font-weight:600;font-family:var(--font);
}
.awf-footer-btn.primary{background:var(--purple);color:#fff}
.awf-footer-btn.secondary{background:var(--bg3);color:var(--text-muted);border:1px solid var(--border)}

/* Toast notification */
.uc-toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(80px);
  background:var(--bg2);border:1px solid var(--green);color:var(--green);
  padding:12px 24px;border-radius:10px;font-size:.82rem;font-family:var(--font);
  z-index:9999;opacity:0;transition:transform .3s,opacity .3s;
  box-shadow:0 8px 32px rgba(0,0,0,.4);white-space:nowrap;
}
.uc-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

@media(max-width:900px){
  .uc-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .hero-title{font-size:1.5rem}
  .hero-stats{gap:20px}
  .cp-econ-row{grid-template-columns:1fr}
  .airdrop-layout{grid-template-columns:1fr}
  .uc-grid{grid-template-columns:1fr}
}

/* ===== AGENT JOB BOARD ===== */

.jobs-wrap{padding:0 0 40px}

/* Hero */
.jobs-hero{text-align:center;padding:24px 0 16px}
.jobs-hero-icon{font-size:2.5rem;margin-bottom:8px}
.jobs-hero-title{font-size:1.3rem;font-weight:700;color:var(--text);font-family:var(--font)}
.jobs-hero-sub{color:var(--muted);font-size:.78rem;max-width:460px;margin:6px auto 0;line-height:1.5}

/* Action buttons */
.jobs-actions{display:flex;gap:10px;justify-content:center;margin:16px 0 20px}
.jobs-action-btn{padding:10px 20px;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--bg3);color:var(--text);transition:all .2s}
.jobs-action-btn:hover{border-color:var(--purple);background:var(--bg4)}
.jobs-action-btn.primary{background:linear-gradient(135deg,var(--purple),#9b59b6);border:none;color:#fff}
.jobs-action-btn.primary:hover{opacity:.9}

/* Form cards */
.jobs-form-card{background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:20px}
.jobs-form-title{font-size:.95rem;font-weight:700;color:var(--text);margin-bottom:4px}
.jobs-form-hint{color:var(--muted);font-size:.72rem;margin-bottom:14px}
.jobs-field{margin-bottom:12px}
.jobs-field label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px;font-family:var(--mono);font-weight:600}
.jobs-input{width:100%;padding:8px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg2);color:var(--text);font-size:.78rem;font-family:var(--font)}
.jobs-input:focus{border-color:var(--purple);outline:none}
textarea.jobs-input{resize:vertical;font-family:var(--font)}
select.jobs-input{cursor:pointer}
.jobs-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.jobs-submit-btn{width:100%;padding:11px 0;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;border:none;background:linear-gradient(135deg,var(--green),#06b6d4);color:#fff;margin-top:8px}
.jobs-submit-btn:hover{opacity:.9}

/* Skill picker / tags */
.jobs-skill-picker,.agent-resume-skills{display:flex;flex-wrap:wrap;gap:6px}
.agent-skill-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:.68rem;cursor:pointer;border:1px solid var(--border);background:var(--bg2);color:var(--muted);transition:all .15s;user-select:none}
.agent-skill-tag input[type="checkbox"]{display:none}
.agent-skill-tag.active{border-color:var(--purple);background:rgba(124,109,250,.12);color:var(--text)}
.agent-skill-tag:hover{border-color:var(--purple-dim)}

/* Board sections */
.agent-board-section{margin-bottom:24px}
.agent-board-title{font-size:.82rem;font-weight:700;color:var(--text);margin-bottom:12px;font-family:var(--font);display:flex;align-items:center;gap:8px}
.agent-board-title::before{content:'';width:3px;height:16px;background:var(--purple);border-radius:2px}
.agent-board-empty{color:var(--muted);font-size:.75rem;padding:16px;text-align:center;background:var(--bg2);border-radius:8px;border:1px dashed var(--border)}
.agent-jobs-subtitle{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:14px 0 8px;font-family:var(--mono);font-weight:600}

/* Agent cards (resume grid) */
.agent-board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.agent-card{background:var(--bg3);border:1px solid var(--border);border-radius:10px;padding:14px;transition:all .2s}
.agent-card:hover{border-color:var(--purple);transform:translateY(-1px)}
.agent-card.busy{border-left:3px solid #f59e0b}
.agent-card.available{border-left:3px solid #22c55e}
.agent-card.offline{border-left:3px solid #6b7280;opacity:.6}
.agent-card-top{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.agent-card-icon{font-size:1.5rem}
.agent-card-info{flex:1}
.agent-card-name{font-size:.82rem;font-weight:700;color:var(--text)}
.agent-card-type{font-size:.62rem;color:var(--muted)}
.agent-card-status{font-size:.58rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600;display:flex;align-items:center;gap:4px}
.agent-card-status.available{color:#22c55e}
.agent-card-status.busy{color:#f59e0b}
.agent-card-status.offline{color:#6b7280}
.agent-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.agent-card-bio{font-size:.7rem;color:var(--muted);line-height:1.45;margin-bottom:8px}
.agent-card-skills{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}
.agent-skill-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:12px;font-size:.58rem;background:color-mix(in srgb,var(--skill-color,#6366f1) 15%,transparent);color:var(--skill-color,#6366f1);font-weight:600}
.agent-skill-badge.small{font-size:.55rem;padding:1px 6px}
.agent-skill-more{font-size:.55rem;color:var(--muted)}
.agent-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid rgba(255,255,255,.04)}
.agent-card-rate{font-size:.72rem;color:var(--text)}
.agent-card-rate .rate-val{font-weight:700;color:var(--green)}
.agent-card-stats{display:flex;gap:10px;font-size:.6rem;color:var(--muted)}
.agent-card-socials{display:flex;gap:10px;margin-top:8px;padding-top:6px;border-top:1px solid rgba(255,255,255,.03)}
.agent-social-link{font-size:.62rem;color:var(--purple);text-decoration:none}
.agent-social-link:hover{text-decoration:underline}
.agent-social-link.telegram{color:#0088cc}

/* Job cards */
.agent-job-card{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:8px}
.agent-job-card.hired{border-left:3px solid #f59e0b}
.agent-job-card.completed{border-left:3px solid #22c55e;opacity:.7}
.agent-job-card.cancelled{opacity:.4}
.agent-job-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.agent-job-title{font-size:.78rem;font-weight:600;color:var(--text)}
.agent-job-status{font-size:.6rem;font-weight:600}
.agent-job-desc{font-size:.68rem;color:var(--muted);line-height:1.4;margin-bottom:6px}
.agent-job-skills{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}
.agent-job-footer{display:flex;gap:14px;font-size:.62rem;color:var(--muted)}
.agent-job-budget{color:var(--green);font-weight:600}
.agent-job-hired{font-size:.68rem;margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.04);color:var(--text)}
.agent-job-complete-btn{margin-top:8px;padding:6px 14px;border-radius:6px;font-size:.68rem;font-weight:600;cursor:pointer;border:none;background:var(--green);color:#fff}

/* Resume builder */
.agent-resume-builder{padding:16px 0}
.agent-resume-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.agent-resume-icon{font-size:2rem}
.agent-resume-name{font-size:.9rem;font-weight:700;color:var(--text)}
.agent-resume-type{font-size:.62rem;color:var(--muted)}
.agent-resume-field{margin-bottom:14px}
.agent-resume-field label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px;font-family:var(--mono);font-weight:600}
.agent-resume-hint{font-weight:400;text-transform:none;letter-spacing:0;opacity:.7}
.agent-resume-input{width:100%;padding:8px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg2);color:var(--text);font-size:.78rem;font-family:var(--font)}
.agent-resume-input:focus{border-color:var(--purple);outline:none}
textarea.agent-resume-input{resize:vertical}
.agent-resume-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.agent-resume-toggles{display:flex;flex-direction:column;gap:6px}
.agent-resume-toggle{font-size:.72rem;color:var(--text);display:flex;align-items:center;gap:6px;cursor:pointer}
.agent-resume-toggle input{accent-color:var(--purple)}
.agent-resume-submit{width:100%;padding:12px 0;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;border:none;background:linear-gradient(135deg,var(--purple),#9b59b6);color:#fff;margin-top:12px}
.agent-resume-submit:hover{opacity:.9}
.agent-social-inputs{display:flex;flex-direction:column;gap:4px}

/* Agent list picker */
.agent-list-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-bottom:16px}
.agent-list-pick{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg2);cursor:pointer;transition:all .15s}
.agent-list-pick:hover:not(.listed){border-color:var(--purple);background:var(--bg3)}
.agent-list-pick.listed{opacity:.5;cursor:default}
.agent-list-pick-icon{font-size:1.3rem}
.agent-list-pick-info{flex:1}
.agent-list-pick-name{font-size:.78rem;font-weight:600;color:var(--text)}
.agent-list-pick-type{font-size:.58rem;color:var(--muted)}
.agent-list-pick-badge{font-size:.55rem;padding:2px 8px;border-radius:10px;background:rgba(34,197,94,.12);color:#22c55e;font-weight:600}
.agent-list-pick-action{font-size:.58rem;color:var(--purple);font-weight:600}

/* Tweet queue */
.agent-tweets-queue{display:flex;flex-direction:column;gap:8px}
.agent-tweet-card{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:12px}
.agent-tweet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.agent-tweet-handle{font-size:.72rem;font-weight:600;color:#1d9bf0}
.agent-tweet-event{font-size:.55rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--bg3);padding:2px 8px;border-radius:10px}
.agent-tweet-text{font-size:.72rem;color:var(--text);line-height:1.45;white-space:pre-wrap;margin-bottom:8px}
.agent-tweet-actions{display:flex;gap:6px}
.agent-tweet-btn{padding:4px 12px;border-radius:6px;font-size:.62rem;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--bg3);color:var(--muted);transition:all .15s}
.agent-tweet-btn:hover{border-color:var(--purple);color:var(--text)}
.agent-tweet-btn.post{background:#1d9bf0;border-color:#1d9bf0;color:#fff}
.agent-tweet-btn.post:hover{opacity:.9}

/* Toast */
.agent-jobs-toast{padding:10px 14px;border-radius:8px;font-size:.75rem;font-weight:500}
.agent-jobs-toast.success{background:rgba(34,197,94,.1);color:#22c55e;border:1px solid rgba(34,197,94,.2)}
.agent-jobs-toast.error{background:rgba(239,68,68,.1);color:#ef4444;border:1px solid rgba(239,68,68,.2)}

/* Leaderboard */
.agent-leaderboard{display:flex;flex-direction:column;gap:4px}
.agent-lb-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:var(--bg2);border:1px solid var(--border);border-left:3px solid var(--tier-color,var(--border));transition:all .15s}
.agent-lb-row:hover{background:var(--bg3)}
.agent-lb-rank{font-size:.85rem;font-weight:800;color:var(--tier-color);min-width:28px;text-align:center;font-family:var(--mono)}
.agent-lb-icon{font-size:1.3rem}
.agent-lb-info{flex:1}
.agent-lb-name{font-size:.75rem;font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px}
.agent-lb-lead-badge{font-size:.5rem;padding:1px 6px;border-radius:10px;background:rgba(234,179,8,.12);color:#eab308;font-weight:600}
.agent-lb-meta{font-size:.6rem;color:var(--muted)}
.agent-lb-tier{font-size:.58rem;text-transform:capitalize;font-weight:700;min-width:70px;text-align:right}
.agent-lb-score{font-size:.7rem;font-weight:700;color:var(--tier-color);min-width:36px;text-align:right;font-family:var(--mono)}

/* Subcontract cards */
.agent-sub-card{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:6px;border-left:3px solid #f59e0b}
.agent-sub-card.open{border-left-color:#22c55e}
.agent-sub-card.completed{border-left-color:#3b82f6;opacity:.6}
.agent-sub-chain{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-size:.72rem}
.agent-sub-lead{color:var(--text);font-weight:600}
.agent-sub-arrow{color:var(--muted);font-size:.65rem}
.agent-sub-worker{color:var(--green);font-weight:600}
.agent-sub-open{color:#f59e0b;font-weight:600;font-style:italic}
.agent-sub-title{font-size:.75rem;font-weight:600;color:var(--text);margin-bottom:2px}
.agent-sub-parent{font-size:.6rem;color:var(--muted);margin-bottom:6px}
.agent-sub-footer{display:flex;gap:12px;font-size:.6rem;color:var(--muted)}

/* Job card actions */
.agent-job-actions{display:flex;gap:6px;margin-top:8px}
.agent-job-sub-btn{padding:6px 14px;border-radius:6px;font-size:.68rem;font-weight:600;cursor:pointer;border:1px solid #f59e0b;background:rgba(245,158,11,.08);color:#f59e0b}
.agent-job-sub-btn:hover{background:rgba(245,158,11,.15)}
.agent-job-subs{font-size:.62rem;color:#f59e0b;margin-top:4px}
.agent-job-sub-badge{display:inline-block;font-size:.55rem;padding:2px 8px;border-radius:10px;background:rgba(245,158,11,.1);color:#f59e0b;font-weight:600;margin-top:4px}

/* ===== AGENT RUNTIME ===== */
.runtime-wrap{padding:0 0 40px}
.runtime-hero{text-align:center;padding:24px 0 16px}
.runtime-hero-icon{font-size:2.5rem;margin-bottom:8px}
.runtime-hero-title{font-size:1.3rem;font-weight:700;color:var(--text);font-family:var(--font)}
.runtime-hero-sub{color:var(--muted);font-size:.78rem;max-width:500px;margin:6px auto 0;line-height:1.5}

.runtime-actions{display:flex;gap:10px;justify-content:center;margin:16px 0 20px}
.runtime-action-btn{padding:10px 20px;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--bg3);color:var(--text);transition:all .2s}
.runtime-action-btn:hover{border-color:var(--purple);background:var(--bg4)}
.runtime-action-btn.primary{background:linear-gradient(135deg,var(--purple),#9b59b6);border:none;color:#fff}

/* Start form */
.runtime-form-card{background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:20px;max-width:480px;margin-left:auto;margin-right:auto}
.runtime-form-title{font-size:.95rem;font-weight:700;color:var(--text);margin-bottom:4px}
.runtime-form-hint{color:var(--muted);font-size:.72rem;margin-bottom:14px}
.runtime-label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:10px 0 4px;font-family:var(--mono);font-weight:600}
.runtime-input{width:100%;padding:8px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg2);color:var(--text);font-size:.78rem;font-family:var(--font)}
.runtime-input:focus{border-color:var(--purple);outline:none}

/* Stats cards */
.runtime-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.runtime-stat-card{background:var(--bg3);border:1px solid var(--border);border-radius:10px;padding:16px;text-align:center}
.runtime-stat-value{font-size:1.4rem;font-weight:800;color:var(--text);font-family:var(--mono)}
.runtime-stat-card:nth-child(1) .runtime-stat-value{color:var(--purple)}
.runtime-stat-card:nth-child(2) .runtime-stat-value{color:#3b82f6}
.runtime-stat-card:nth-child(3) .runtime-stat-value{color:#f59e0b}
.runtime-stat-card:nth-child(4) .runtime-stat-value{color:#22c55e}
.runtime-stat-label{font-size:.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:4px;font-family:var(--mono)}

/* Empty state */
.runtime-empty{text-align:center;padding:40px 20px;color:var(--muted)}
.runtime-empty-icon{font-size:2.5rem;margin-bottom:10px}
.runtime-empty-text{font-size:.9rem;font-weight:600;color:var(--text);margin-bottom:6px}
.runtime-empty-hint{font-size:.72rem}

/* Agent cards */
.runtime-agent-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;margin-bottom:24px}
.runtime-agent-card{background:var(--bg3);border:1px solid var(--border);border-radius:10px;padding:16px;transition:all .2s}
.runtime-agent-card:hover{border-color:var(--purple)}
.runtime-agent-card.running{border-left:3px solid #22c55e}
.runtime-agent-card.paused{border-left:3px solid #f59e0b}
.runtime-agent-card.error{border-left:3px solid #ef4444}

.runtime-agent-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.runtime-agent-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.runtime-agent-status-dot.running{background:#22c55e;box-shadow:0 0 6px rgba(34,197,94,.5);animation:runtime-pulse 2s infinite}
.runtime-agent-status-dot.paused{background:#f59e0b}
.runtime-agent-status-dot.error{background:#ef4444}
@keyframes runtime-pulse{0%,100%{opacity:1}50%{opacity:.4}}
.runtime-agent-name{font-size:.82rem;font-weight:700;color:var(--text);flex:1}
.runtime-agent-type{font-size:.58rem;padding:2px 8px;border-radius:10px;background:rgba(124,109,250,.1);color:var(--purple);font-weight:600;text-transform:uppercase;letter-spacing:.03em}

.runtime-agent-meta{display:flex;gap:12px;font-size:.65rem;color:var(--muted);margin-bottom:6px;flex-wrap:wrap}
.runtime-agent-timing{display:flex;gap:12px;font-size:.6rem;color:var(--muted);margin-bottom:8px;font-family:var(--mono)}
.runtime-agent-error{font-size:.65rem;color:#ef4444;padding:6px 10px;background:rgba(239,68,68,.08);border-radius:6px;margin-bottom:8px}

/* Subcontractors */
.runtime-agent-subs{margin-bottom:8px}
.runtime-sub-label{font-size:.6rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-family:var(--mono)}
.runtime-sub-badge{display:inline-block;font-size:.62rem;padding:3px 8px;border-radius:6px;background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.2);color:#f59e0b;margin:2px 4px 2px 0}

/* Agent actions */
.runtime-agent-actions{display:flex;gap:6px;flex-wrap:wrap}
.runtime-btn{padding:5px 12px;border-radius:6px;font-size:.68rem;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--bg2);color:var(--text);transition:all .15s}
.runtime-btn:hover{border-color:var(--purple);background:var(--bg4)}
.runtime-btn.primary{background:linear-gradient(135deg,var(--purple),#9b59b6);border:none;color:#fff}
.runtime-btn.primary:hover{opacity:.9}
.runtime-btn.stop{border-color:rgba(239,68,68,.3);color:#ef4444}
.runtime-btn.stop:hover{background:rgba(239,68,68,.1)}
.runtime-btn.tw{border-color:rgba(29,161,242,.3);color:#1da1f2}
.runtime-btn.tw:hover{background:rgba(29,161,242,.1)}
.runtime-btn.sub{border-color:rgba(245,158,11,.3);color:#f59e0b}

/* Leaderboard */
.runtime-leaderboard{margin-top:24px}
.runtime-section-title{font-size:.85rem;font-weight:700;color:var(--text);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.runtime-section-title::before{content:'';width:3px;height:16px;background:var(--purple);border-radius:2px}
.runtime-lb-list{display:flex;flex-direction:column;gap:4px}
.runtime-lb-row{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:8px;background:var(--bg2);border:1px solid var(--border);transition:all .15s}
.runtime-lb-row:hover{background:var(--bg3)}
.runtime-lb-row:first-child{border-left:3px solid #fbbf24}
.runtime-lb-row:nth-child(2){border-left:3px solid #94a3b8}
.runtime-lb-row:nth-child(3){border-left:3px solid #cd7f32}
.runtime-lb-rank{font-size:.85rem;font-weight:800;min-width:30px;text-align:center;font-family:var(--mono);color:var(--muted)}
.runtime-lb-name{flex:1;font-size:.75rem;font-weight:600;color:var(--text)}
.runtime-lb-rep{font-size:.68rem;color:#fbbf24;font-weight:600}
.runtime-lb-jobs{font-size:.62rem;color:var(--muted)}
.runtime-lb-earn{font-size:.68rem;font-weight:700;color:#22c55e;font-family:var(--mono);min-width:60px;text-align:right}

/* Modal overlay */
.runtime-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:9999;backdrop-filter:blur(4px)}
.runtime-modal{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:24px;width:90%;max-width:560px;max-height:80vh;overflow-y:auto}
.runtime-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.runtime-modal-header h3{font-size:.95rem;font-weight:700;color:var(--text)}
.runtime-modal-close{background:none;border:none;color:var(--muted);font-size:1.4rem;cursor:pointer;padding:0 4px}
.runtime-modal-close:hover{color:var(--text)}

/* Log entries */
.runtime-log-list{max-height:50vh;overflow-y:auto}
.runtime-log-empty{text-align:center;color:var(--muted);font-size:.78rem;padding:24px}
.runtime-log-entry{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:6px;font-size:.7rem;border-bottom:1px solid var(--border)}
.runtime-log-entry:hover{background:var(--bg3)}
.runtime-log-time{color:var(--muted);font-family:var(--mono);font-size:.6rem;min-width:120px;flex-shrink:0}
.runtime-log-status{flex-shrink:0}
.runtime-log-msg{flex:1;color:var(--text);word-break:break-word}
.runtime-log-dur{color:var(--muted);font-family:var(--mono);font-size:.58rem;flex-shrink:0}

/* Tweet preview on agent card */
.runtime-tweet-preview{margin-bottom:8px;padding:8px 10px;background:var(--bg2);border-radius:6px;border-left:2px solid #1da1f2}
.runtime-tweet-text{font-size:.68rem;color:var(--text);line-height:1.5;word-break:break-word}

/* Agent feed */
.runtime-feed{margin-top:24px}
.runtime-feed-list{display:flex;flex-direction:column;gap:8px}
.runtime-feed-empty{text-align:center;color:var(--muted);font-size:.78rem;padding:24px;background:var(--bg2);border-radius:8px}
.runtime-feed-item{background:var(--bg3);border:1px solid var(--border);border-radius:10px;padding:14px;border-left:3px solid #1da1f2;transition:all .15s}
.runtime-feed-item:hover{border-color:#1da1f2}
.runtime-feed-item.posted{opacity:.6;border-left-color:#22c55e}
.runtime-feed-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.runtime-feed-agent{font-size:.75rem;font-weight:700;color:var(--text)}
.runtime-feed-handle{font-size:.65rem;color:#1da1f2}
.runtime-feed-trigger{font-size:.55rem;padding:2px 6px;border-radius:8px;background:rgba(29,161,242,.1);color:#1da1f2;text-transform:uppercase;font-weight:600;letter-spacing:.03em}
.runtime-feed-time{font-size:.58rem;color:var(--muted);margin-left:auto;font-family:var(--mono)}
.runtime-feed-text{font-size:.78rem;color:var(--text);line-height:1.6;margin-bottom:8px;word-break:break-word}
.runtime-feed-actions{display:flex;gap:6px;align-items:center}
.runtime-feed-posted-badge{font-size:.62rem;color:#22c55e;font-weight:600}

/* Compose tweet area */
.runtime-compose{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.runtime-compose textarea{resize:vertical;min-height:60px;font-family:var(--font)}
.runtime-compose-footer{display:flex;justify-content:space-between;align-items:center;margin-top:6px}
.runtime-compose-count{font-size:.62rem;color:var(--muted);font-family:var(--mono)}

/* Tweet list in modal */
.runtime-tweet-list{display:flex;flex-direction:column;gap:8px;max-height:50vh;overflow-y:auto}

/* Form divider */
.runtime-form-divider{height:1px;background:var(--border);margin:12px 0}

/* Subcontract form */
.runtime-sub-form{display:flex;flex-direction:column;gap:8px}
.runtime-sub-form label{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-family:var(--mono);font-weight:600}

@media(max-width:600px){
  .agent-board-grid{grid-template-columns:1fr}
  .agent-list-picker-grid{grid-template-columns:1fr}
  .agent-resume-row{grid-template-columns:1fr}
  .jobs-field-row{grid-template-columns:1fr}
  .runtime-stats{grid-template-columns:repeat(2,1fr)}
  .runtime-agent-list{grid-template-columns:1fr}
}

/* ===== PREFLIGHT COMPLIANCE ENGINE ===== */

/* Overlay */
.preflight-overlay{
  position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;
  background:rgba(0,0,0,.65);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .2s ease;pointer-events:none;
}
.preflight-overlay.visible{opacity:1;pointer-events:all}

/* Modal */
.preflight-modal{
  background:var(--bg2,#0d0f14);border:1px solid var(--border,#1e2130);
  border-radius:var(--radius-lg,16px);width:560px;max-width:94vw;
  max-height:85vh;overflow-y:auto;padding:0;
  box-shadow:0 24px 80px rgba(0,0,0,.6),0 0 0 1px rgba(124,109,250,.08);
  transform:translateY(16px) scale(.97);transition:transform .25s ease;
}
.preflight-overlay.visible .preflight-modal{transform:translateY(0) scale(1)}

/* Header */
.preflight-header{padding:20px 24px 16px;border-bottom:1px solid var(--border,#1e2130)}
.preflight-header-top{display:flex;align-items:center;justify-content:space-between}
.preflight-title{
  font-family:var(--mono,'Space Mono',monospace);font-size:.85rem;
  font-weight:700;color:var(--text,#e4e4e7);letter-spacing:.03em;
  text-transform:uppercase;
}
.preflight-close{
  background:none;border:none;color:var(--text-muted,#6b7280);
  font-size:1.4rem;cursor:pointer;padding:0 4px;line-height:1;
  transition:color .15s;
}
.preflight-close:hover{color:#ff7386}

/* Status */
.preflight-status{
  display:flex;align-items:center;gap:10px;margin-top:12px;
  padding:10px 14px;border-radius:var(--radius-sm,8px);
}
.preflight-status.passed{background:rgba(6,214,160,.1);border:1px solid rgba(6,214,160,.25)}
.preflight-status.failed{background:rgba(255,115,134,.1);border:1px solid rgba(255,115,134,.25)}
.preflight-status-icon{font-size:1.2rem}
.preflight-status-text{
  font-family:var(--mono,'Space Mono',monospace);font-size:.8rem;
  font-weight:600;color:var(--text,#e4e4e7);
}
.preflight-status.passed .preflight-status-text{color:#06d6a0}
.preflight-status.failed .preflight-status-text{color:#ff7386}

/* Meta row */
.preflight-meta{display:flex;gap:16px;margin-top:12px;flex-wrap:wrap}
.preflight-meta-item{display:flex;flex-direction:column;gap:2px}
.preflight-meta-label{
  font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;
  color:var(--text-muted,#6b7280);font-family:var(--mono,'Space Mono',monospace);font-weight:600;
}
.preflight-meta-value{font-size:.78rem;color:var(--text-dim,#9ca3af);font-weight:500}

/* Summary bar */
.preflight-summary{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--border,#1e2130);border-bottom:1px solid var(--border,#1e2130);
}
.preflight-summary-item{
  display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:12px 8px;background:var(--bg2,#0d0f14);
}
.preflight-summary-count{
  font-family:var(--mono,'Space Mono',monospace);font-size:1.1rem;font-weight:700;
}
.preflight-summary-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#6b7280)}
.preflight-summary-item.error .preflight-summary-count{color:#ff7386}
.preflight-summary-item.warning .preflight-summary-count{color:#f59e0b}
.preflight-summary-item.info .preflight-summary-count{color:#60a5fa}
.preflight-summary-item.total .preflight-summary-count{color:var(--text-dim,#9ca3af)}

/* Check list */
.preflight-checks{padding:16px 20px;display:flex;flex-direction:column;gap:8px}

.preflight-check{
  padding:10px 14px;border-radius:var(--radius-sm,8px);
  border:1px solid var(--border,#1e2130);background:var(--bg3,#13161d);
  transition:border-color .15s;
}
.preflight-check:hover{border-color:var(--border-light,#2a2d3e)}

.preflight-check.passed{border-left:3px solid #06d6a0}
.preflight-check.error{border-left:3px solid #ff7386;background:rgba(255,115,134,.04)}
.preflight-check.warning{border-left:3px solid #f59e0b;background:rgba(245,158,11,.04)}
.preflight-check.info{border-left:3px solid #60a5fa}

.preflight-check-header{display:flex;align-items:flex-start;gap:8px}

.preflight-check-icon{
  flex-shrink:0;width:18px;height:18px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:.7rem;font-weight:700;margin-top:1px;
}
.preflight-check-icon.passed{color:#06d6a0}
.preflight-check-icon.error{color:#ff7386}
.preflight-check-icon.warning{color:#f59e0b}

.preflight-check-message{
  flex:1;font-size:.76rem;line-height:1.5;color:var(--text,#e4e4e7);
  word-break:break-word;
}

.preflight-check-category{
  flex-shrink:0;font-size:.58rem;text-transform:uppercase;
  letter-spacing:.05em;padding:2px 8px;border-radius:4px;
  background:var(--bg4,#1a1d27);color:var(--text-muted,#6b7280);
  font-family:var(--mono,'Space Mono',monospace);font-weight:600;
}

/* Suggestion */
.preflight-suggestion{
  margin-top:8px;margin-left:26px;padding:8px 12px;
  border-radius:6px;background:rgba(124,109,250,.06);
  border:1px solid rgba(124,109,250,.15);
  font-size:.72rem;color:var(--purple,#7c6dfa);line-height:1.5;
}

/* Effective amount breakdown */
.preflight-effective{
  margin:0 20px 4px;padding:14px;border-radius:var(--radius-sm,8px);
  background:var(--bg3,#13161d);border:1px solid var(--border,#1e2130);
}
.preflight-effective-title{
  font-family:var(--mono,'Space Mono',monospace);font-size:.68rem;
  text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#6b7280);
  margin-bottom:8px;font-weight:600;
}
.preflight-effective-row{
  display:flex;justify-content:space-between;padding:4px 0;
  font-size:.76rem;color:var(--text-dim,#9ca3af);
}
.preflight-effective-row.burn span:last-child{color:#ff7386}
.preflight-effective-row.commission span:last-child{color:#f59e0b}
.preflight-effective-row.received{
  border-top:1px solid var(--border,#1e2130);padding-top:8px;margin-top:4px;
  font-weight:600;color:var(--green,#06d6a0);
}
.preflight-effective-row.received span:last-child{color:#06d6a0}

/* Action buttons */
.preflight-actions{
  padding:16px 20px 20px;display:flex;gap:10px;justify-content:flex-end;
  border-top:1px solid var(--border,#1e2130);
}
.preflight-btn{
  padding:9px 20px;border-radius:var(--radius-sm,8px);font-size:.78rem;
  font-weight:600;cursor:pointer;transition:all .2s;border:none;
  font-family:var(--sans,'DM Sans',sans-serif);
}
.preflight-btn.proceed{
  background:linear-gradient(135deg,#06d6a0,#05b588);color:#000;
}
.preflight-btn.proceed:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(6,214,160,.3)}
.preflight-btn.cancel{
  background:transparent;border:1px solid var(--border-light,#2a2d3e);
  color:var(--text-dim,#9ca3af);
}
.preflight-btn.cancel:hover{border-color:var(--text-muted,#6b7280);color:var(--text,#e4e4e7)}

/* Responsive */
@media(max-width:600px){
  .preflight-modal{max-width:100vw;border-radius:12px 12px 0 0;max-height:90vh}
  .preflight-summary{grid-template-columns:repeat(2,1fr)}
  .preflight-meta{gap:10px}
  .preflight-actions{flex-direction:column}
  .preflight-btn{width:100%;text-align:center}
}

/* ===== SMART AIRDROP AGENT ===== */

.smart-airdrop-overlay{
  position:fixed;inset:0;z-index:10000;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.85);
  opacity:0;transition:opacity .25s ease;
}
.smart-airdrop-overlay.sa-visible{opacity:1}

.smart-airdrop-modal{
  background:var(--bg2,#0d0f14);
  border-radius:var(--radius-lg,16px);
  border:1px solid var(--border-light,#2a2d3e);
  width:94vw;max-width:720px;max-height:90vh;
  display:flex;flex-direction:column;
  box-shadow:0 24px 80px rgba(0,0,0,.6);
  transform:translateY(24px);
  transition:transform .3s cubic-bezier(.22,1,.36,1);
  font-family:var(--sans,'DM Sans',sans-serif);
  color:var(--text,#e4e4e7);
  overflow:hidden;
}
.smart-airdrop-overlay.sa-visible .smart-airdrop-modal{transform:translateY(0)}

/* Header */
.sa-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 22px;
  border-bottom:1px solid var(--border-light,#2a2d3e);
}
.sa-header-title{
  font-family:var(--mono,'Space Mono',monospace);
  font-weight:700;font-size:1rem;letter-spacing:.03em;
}
.sa-close-btn{
  background:none;border:none;color:var(--text-muted,#6b7280);
  font-size:1.5rem;cursor:pointer;line-height:1;padding:0;
  transition:color .15s;
}
.sa-close-btn:hover{color:var(--text,#e4e4e7)}

/* Steps indicator */
.sa-steps-indicator{
  display:flex;align-items:center;justify-content:center;
  gap:0;padding:14px 22px;
  border-bottom:1px solid var(--border-light,#2a2d3e);
}
.sa-step-dot{
  width:28px;height:28px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:.75rem;font-weight:700;
  font-family:var(--mono,'Space Mono',monospace);
  background:var(--bg3,#13161d);color:var(--text-muted,#6b7280);
  border:2px solid var(--border-light,#2a2d3e);
  transition:all .2s;
}
.sa-step-dot.active{
  background:var(--purple,#7c6dfa);color:#fff;
  border-color:var(--purple,#7c6dfa);
}
.sa-step-dot.completed{
  background:var(--green,#06d6a0);color:#fff;
  border-color:var(--green,#06d6a0);
}
.sa-step-line{
  width:40px;height:2px;
  background:var(--border-light,#2a2d3e);
  margin:0 6px;
}

/* Step containers */
.smart-airdrop-step{
  padding:20px 22px;
  overflow-y:auto;
  max-height:calc(90vh - 160px);
}

.sa-section-label{
  font-family:var(--mono,'Space Mono',monospace);
  font-size:.72rem;text-transform:uppercase;
  letter-spacing:.08em;color:var(--text-muted,#6b7280);
  font-weight:700;margin-bottom:8px;
}

/* Prompt input */
.sa-prompt-input{
  width:100%;padding:12px 14px;
  background:var(--bg3,#13161d);color:var(--text,#e4e4e7);
  border:1px solid var(--border-light,#2a2d3e);
  border-radius:var(--radius-sm,8px);
  font-family:var(--sans,'DM Sans',sans-serif);
  font-size:.88rem;line-height:1.5;resize:vertical;
  transition:border-color .2s;
}
.sa-prompt-input:focus{
  outline:none;border-color:var(--purple,#7c6dfa);
}

/* Quick action buttons */
.sa-quick-actions{
  display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;
}
.sa-quick-btn{
  padding:6px 14px;
  background:var(--bg3,#13161d);color:var(--purple,#7c6dfa);
  border:1px solid rgba(124,109,250,.25);
  border-radius:var(--radius-sm,8px);
  font-size:.78rem;font-weight:600;cursor:pointer;
  font-family:var(--sans,'DM Sans',sans-serif);
  transition:all .2s;
}
.sa-quick-btn:hover{
  background:rgba(124,109,250,.12);
  border-color:var(--purple,#7c6dfa);
}

/* CSV zone */
.sa-csv-zone{
  border:2px dashed var(--border-light,#2a2d3e);
  border-radius:var(--radius-sm,8px);
  padding:20px;text-align:center;
  cursor:pointer;transition:all .2s;
  margin:12px 0;
}
.sa-csv-zone:hover,.sa-csv-zone.sa-drag-over{
  border-color:var(--purple,#7c6dfa);
  background:rgba(124,109,250,.05);
}
.sa-csv-zone-inner{display:flex;flex-direction:column;align-items:center;gap:6px}
.sa-csv-icon{
  font-size:.8rem;font-weight:700;
  font-family:var(--mono,'Space Mono',monospace);
  color:var(--purple,#7c6dfa);
  background:rgba(124,109,250,.12);
  padding:6px 12px;border-radius:6px;
}
.sa-csv-text{font-size:.82rem;color:var(--text-dim,#9ca3af)}
.sa-csv-hint{font-size:.7rem;color:var(--text-muted,#6b7280)}
.sa-csv-file-name{
  font-family:var(--mono,'Space Mono',monospace);
  font-size:.82rem;color:var(--green,#06d6a0);
  padding:6px 0;
}

/* Paste area */
.sa-paste-input{
  width:100%;padding:10px 12px;
  background:var(--bg3,#13161d);color:var(--text,#e4e4e7);
  border:1px solid var(--border-light,#2a2d3e);
  border-radius:var(--radius-sm,8px);
  font-family:var(--mono,'Space Mono',monospace);
  font-size:.78rem;line-height:1.5;resize:vertical;
  transition:border-color .2s;
}
.sa-paste-input:focus{outline:none;border-color:var(--purple,#7c6dfa)}

/* Actions bar */
.smart-airdrop-actions{
  display:flex;gap:10px;justify-content:flex-end;
  padding-top:12px;
}

/* Buttons */
.sa-btn{
  padding:10px 20px;border:none;
  border-radius:var(--radius-sm,8px);
  font-family:var(--sans,'DM Sans',sans-serif);
  font-size:.84rem;font-weight:600;cursor:pointer;
  transition:all .2s;letter-spacing:.01em;
}
.sa-btn:disabled{opacity:.4;cursor:not-allowed}
.sa-btn-primary{
  background:linear-gradient(135deg,var(--purple,#7c6dfa),#a855f7);
  color:#fff;
}
.sa-btn-primary:hover:not(:disabled){
  box-shadow:0 4px 20px rgba(124,109,250,.35);
  transform:translateY(-1px);
}
.sa-btn-secondary{
  background:var(--bg3,#13161d);
  color:var(--text-dim,#9ca3af);
  border:1px solid var(--border-light,#2a2d3e);
}
.sa-btn-secondary:hover:not(:disabled){
  border-color:var(--text-muted,#6b7280);color:var(--text,#e4e4e7);
}
.sa-btn-sm{padding:7px 14px;font-size:.78rem}
.sa-btn-execute{
  background:linear-gradient(135deg,var(--green,#06d6a0),#25d695);
  color:#fff;font-weight:700;
}
.sa-btn-execute:hover:not(:disabled){
  box-shadow:0 4px 20px rgba(6,214,160,.35);
  transform:translateY(-1px);
}

/* Loading */
.sa-loading{
  display:flex;align-items:center;gap:10px;
  padding:12px 0;color:var(--text-dim,#9ca3af);
  font-size:.82rem;
}
.sa-spinner{
  width:18px;height:18px;
  border:2px solid var(--border-light,#2a2d3e);
  border-top-color:var(--purple,#7c6dfa);
  border-radius:50%;
  animation:sa-spin .7s linear infinite;
}
@keyframes sa-spin{to{transform:rotate(360deg)}}

/* Intent summary */
.sa-intent-summary{
  background:var(--bg3,#13161d);
  border:1px solid var(--border-light,#2a2d3e);
  border-radius:var(--radius-sm,8px);
  padding:14px 16px;margin-bottom:12px;
}
.sa-intent-detail{
  font-size:.82rem;padding:3px 0;
  color:var(--text-dim,#9ca3af);
}
.sa-intent-detail b{color:var(--text,#e4e4e7);margin-left:4px}

/* Summary card */
.smart-airdrop-summary{
  background:var(--bg3,#13161d);
  border:1px solid var(--border-light,#2a2d3e);
  border-radius:var(--radius-sm,8px);
  padding:16px;margin:12px 0;
}
.sa-summary-title{
  font-family:var(--mono,'Space Mono',monospace);
  font-size:.72rem;text-transform:uppercase;
  letter-spacing:.08em;color:var(--text-muted,#6b7280);
  font-weight:700;margin-bottom:12px;
}
.sa-summary-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
}
.sa-summary-item{text-align:center}
.sa-summary-value{
  font-family:var(--mono,'Space Mono',monospace);
  font-size:1rem;font-weight:700;color:var(--text,#e4e4e7);
}
.sa-summary-label{
  font-size:.68rem;color:var(--text-muted,#6b7280);margin-top:2px;
}

/* Source breakdown */
.sa-source-breakdown{
  margin:12px 0;padding:12px 16px;
  background:rgba(124,109,250,.05);
  border:1px solid rgba(124,109,250,.15);
  border-radius:var(--radius-sm,8px);
}
.sa-source-row{
  display:flex;justify-content:space-between;
  font-size:.8rem;padding:4px 0;
}
.sa-source-type{color:var(--text-dim,#9ca3af)}
.sa-source-count{
  font-family:var(--mono,'Space Mono',monospace);
  color:var(--text,#e4e4e7);font-weight:600;
}

/* Preflight results */
.sa-preflight-results{
  margin:12px 0;padding:12px 16px;
  background:var(--bg3,#13161d);
  border:1px solid var(--border-light,#2a2d3e);
  border-radius:var(--radius-sm,8px);
}
.sa-preflight-item{
  display:flex;align-items:center;gap:8px;
  font-size:.8rem;padding:4px 0;
}
.sa-preflight-icon{
  width:20px;height:20px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:.65rem;font-weight:700;flex-shrink:0;
}
.sa-preflight-error .sa-preflight-icon{background:rgba(239,68,68,.18);color:#ef4444}
.sa-preflight-error span:last-child{color:#ef4444}
.sa-preflight-warning .sa-preflight-icon{background:rgba(245,158,11,.18);color:#f59e0b}
.sa-preflight-warning span:last-child{color:#f59e0b}
.sa-preflight-info .sa-preflight-icon{background:rgba(59,130,246,.18);color:#3b82f6}
.sa-preflight-pass .sa-preflight-icon{background:rgba(6,214,160,.18);color:#06d6a0}
.sa-preflight-pass span:last-child{color:#06d6a0}

/* Recipients list */
.smart-airdrop-recipients{
  max-height:400px;overflow-y:auto;
  border:1px solid var(--border-light,#2a2d3e);
  border-radius:var(--radius-sm,8px);
  background:var(--bg3,#13161d);
}
.smart-airdrop-recipients::-webkit-scrollbar{width:5px}
.smart-airdrop-recipients::-webkit-scrollbar-track{background:transparent}
.smart-airdrop-recipients::-webkit-scrollbar-thumb{background:var(--border-light,#2a2d3e);border-radius:4px}

.smart-airdrop-row{
  display:flex;align-items:center;gap:10px;
  padding:8px 14px;
  border-bottom:1px solid rgba(42,45,62,.5);
  font-size:.8rem;
  transition:background .15s;
}
.smart-airdrop-row:last-child{border-bottom:none}
.smart-airdrop-row:hover{background:rgba(124,109,250,.04)}

.sa-row-addr{
  flex:1;
  font-family:var(--mono,'Space Mono',monospace);
  font-size:.75rem;color:var(--text-dim,#9ca3af);
  cursor:default;
}
.sa-row-amount{
  font-family:var(--mono,'Space Mono',monospace);
  font-size:.78rem;font-weight:600;color:var(--text,#e4e4e7);
  cursor:pointer;padding:2px 8px;
  border-radius:4px;transition:background .15s;
  min-width:60px;text-align:right;
}
.sa-row-amount:hover{background:rgba(124,109,250,.1)}
.sa-edit-amount-input{
  width:70px;padding:2px 6px;
  background:var(--bg2,#0d0f14);color:var(--text,#e4e4e7);
  border:1px solid var(--purple,#7c6dfa);
  border-radius:4px;
  font-family:var(--mono,'Space Mono',monospace);
  font-size:.78rem;text-align:right;
}
.sa-edit-amount-input:focus{outline:none}

.sa-row-remove{
  background:none;border:none;color:var(--text-muted,#6b7280);
  font-size:1rem;cursor:pointer;padding:0 4px;line-height:1;
  transition:color .15s;
}
.sa-row-remove:hover{color:#ef4444}

/* Delivery options */
.sa-delivery-options{
  margin:16px 0 0;padding:14px 16px;
  background:var(--bg3,#13161d);
  border:1px solid var(--border-light,#2a2d3e);
  border-radius:var(--radius-sm,8px);
}
.sa-delivery-row{
  display:flex;gap:8px;margin-top:8px;
}
.sa-delivery-row:first-of-type{margin-top:10px}
.sa-delivery-input{
  flex:1;padding:8px 12px;
  background:var(--bg2,#0d0f14);color:var(--text,#e4e4e7);
  border:1px solid var(--border-light,#2a2d3e);
  border-radius:var(--radius-sm,8px);
  font-size:.8rem;
  font-family:var(--sans,'DM Sans',sans-serif);
}
.sa-delivery-input:focus{outline:none;border-color:var(--purple,#7c6dfa)}

/* Confirm card */
.sa-confirm-card{
  background:var(--bg3,#13161d);
  border:1px solid var(--border-light,#2a2d3e);
  border-radius:var(--radius-sm,8px);
  padding:16px;margin:12px 0;
}
.sa-confirm-row{
  display:flex;justify-content:space-between;
  font-size:.84rem;padding:6px 0;
  color:var(--text-dim,#9ca3af);
}
.sa-confirm-row b{color:var(--text,#e4e4e7)}
.sa-confirm-total{
  border-top:1px solid var(--border-light,#2a2d3e);
  margin-top:4px;padding-top:10px;
  font-weight:600;
}
.sa-confirm-total b{color:var(--green,#06d6a0);font-size:1rem}

/* Progress bar */
.smart-airdrop-progress{
  margin:16px 0;padding:14px 16px;
  background:var(--bg3,#13161d);
  border:1px solid var(--border-light,#2a2d3e);
  border-radius:var(--radius-sm,8px);
}
.smart-airdrop-progress{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  border-radius:10px;
  padding:16px;
  margin:12px 0;
}
.sa-progress-bar-wrap{
  width:100%;height:14px;
  background:rgba(255,255,255,.06);
  border-radius:7px;overflow:hidden;
  position:relative;
}
.sa-progress-bar{
  height:100%;
  background:linear-gradient(90deg,var(--purple,#7c6dfa),var(--green,#06d6a0));
  border-radius:7px;
  transition:width .4s ease;
  position:relative;
}
.sa-progress-bar::after{
  content:'';
  position:absolute;
  top:0;left:0;right:0;bottom:0;
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.15) 50%,transparent 100%);
  animation:sa-shimmer 1.5s infinite;
}
@keyframes sa-shimmer{
  0%{transform:translateX(-100%)}
  100%{transform:translateX(100%)}
}
.sa-progress-pct{
  font-family:var(--mono,'Space Mono',monospace);
  font-size:1.1rem;font-weight:700;
  color:#fff;text-align:center;
  margin-top:10px;
}
.sa-progress-text{
  font-family:var(--mono,'Space Mono',monospace);
  font-size:.82rem;color:var(--text-dim,#9ca3af);
  margin-top:6px;text-align:center;
}
.sa-progress-counts{
  display:flex;justify-content:center;gap:20px;
  margin-top:8px;font-size:.85rem;
}
.sa-count-ok{color:var(--green,#06d6a0);font-weight:600}
.sa-count-fail{color:#ef4444;font-weight:600}

/* Final summary */
.sa-final-summary{
  text-align:center;padding:20px;
  background:var(--bg3,#13161d);
  border:1px solid var(--border-light,#2a2d3e);
  border-radius:var(--radius-sm,8px);
  margin:12px 0;
}
.sa-final-icon{
  font-size:1rem;font-weight:700;
  font-family:var(--mono,'Space Mono',monospace);
  width:48px;height:48px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  margin-bottom:12px;
  background:rgba(6,214,160,.15);color:var(--green,#06d6a0);
}
.sa-final-stats{
  display:flex;justify-content:center;gap:24px;
  margin:8px 0;
}
.sa-final-stat{font-size:.9rem}
.sa-final-ok b{color:var(--green,#06d6a0)}
.sa-final-fail b{color:#ef4444}
.sa-final-error{
  color:#ef4444;font-size:.8rem;
  margin-top:8px;padding:8px;
  background:rgba(239,68,68,.08);
  border-radius:6px;
}

/* Smart Airdrop trigger button in Manage tab */
.sa-trigger-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 16px;margin-bottom:12px;
  background:linear-gradient(135deg,var(--purple,#7c6dfa),#a855f7);
  color:#fff;border:none;border-radius:var(--radius-sm,8px);
  font-family:var(--sans,'DM Sans',sans-serif);
  font-size:.82rem;font-weight:600;cursor:pointer;
  transition:all .25s;
}
.sa-trigger-btn:hover{
  box-shadow:0 4px 20px rgba(124,109,250,.35);
  transform:translateY(-1px);
}

/* ── Airdrop Tab: Template Buttons ── */
.sa-template-btn{
  display:inline-flex;align-items:center;gap:5px;
  padding:8px 16px;
  background:rgba(124,109,250,.1);
  color:var(--purple,#7c6dfa);
  border:1px solid rgba(124,109,250,.25);
  border-radius:var(--radius-sm,8px);
  font-family:var(--sans,'DM Sans',sans-serif);
  font-size:.75rem;font-weight:600;cursor:pointer;
  transition:all .2s;
}
.sa-template-btn:hover{
  background:rgba(124,109,250,.2);
  border-color:rgba(124,109,250,.45);
  transform:translateY(-1px);
}

/* ── Airdrop Tab: Launch Button ── */
.sa-launch-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 32px;
  background:linear-gradient(135deg,var(--purple,#7c6dfa),#a855f7);
  color:#fff;border:none;border-radius:var(--radius-sm,8px);
  font-family:var(--sans,'DM Sans',sans-serif);
  font-size:.95rem;font-weight:700;cursor:pointer;
  transition:all .25s;
  box-shadow:0 4px 16px rgba(124,109,250,.3);
}
.sa-launch-btn:hover{
  box-shadow:0 6px 28px rgba(124,109,250,.5);
  transform:translateY(-2px);
}

/* ── Airdrop/DAO Tab: Feature Grid ── */
.sa-feature-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));
  gap:12px;
  padding:0 16px;
}
.sa-feature-card{
  background:rgba(255,255,255,.03);
  border:1px solid var(--border,rgba(255,255,255,.08));
  border-radius:var(--radius-sm,8px);
  padding:16px;
  transition:border-color .2s;
}
.sa-feature-card:hover{
  border-color:rgba(124,109,250,.3);
}
.sa-feature-icon{
  font-size:1.3rem;margin-bottom:8px;
}
.sa-feature-title{
  font-size:.82rem;font-weight:700;color:var(--text,#e4e4e7);margin-bottom:4px;
}
.sa-feature-desc{
  font-size:.7rem;color:var(--muted,#71717a);line-height:1.45;
}
@media(max-width:600px){
  .sa-feature-grid{grid-template-columns:1fr 1fr;}
}

/* ── Smart Airdrop: Header Actions ── */
.sa-header-actions{display:flex;align-items:center;gap:6px}
.sa-header-actions .sa-close-btn{margin-left:4px}

/* ── Smart Airdrop: Dry Run ── */
.sa-dryrun-card{
  background:var(--bg-2,#1a1a2e);border:1px solid var(--border,#2a2a4a);
  border-radius:var(--radius-sm,8px);padding:16px;margin-top:16px;
}
.sa-dryrun-batch-table{
  width:100%;border-collapse:collapse;margin:10px 0;font-size:.85rem;
}
.sa-dryrun-batch-table th{
  text-align:left;padding:6px 10px;border-bottom:1px solid var(--border,#2a2a4a);
  color:var(--text-2,#aaa);font-weight:500;font-size:.78rem;text-transform:uppercase;
}
.sa-dryrun-batch-table td{
  padding:6px 10px;border-bottom:1px solid rgba(255,255,255,0.05);
}
.sa-dryrun-summary{margin-top:12px}
.sa-dryrun-row{
  display:flex;justify-content:space-between;padding:4px 0;
  font-size:.88rem;color:var(--text-2,#ccc);
}
.sa-dryrun-row b{color:var(--text-1,#fff)}
.sa-pass{color:#22c55e}
.sa-fail{color:#ef4444}
.sa-dryrun-issues{margin-top:10px}
.sa-dryrun-issue{
  padding:6px 10px;margin:4px 0;border-radius:6px;
  background:rgba(239,68,68,0.1);border-left:3px solid #ef4444;
  font-size:.84rem;color:#fca5a5;
}

/* ── Smart Airdrop: Schedule Form ── */
.sa-schedule-form{
  background:var(--bg-2,#1a1a2e);border:1px solid var(--border,#2a2a4a);
  border-radius:var(--radius-sm,8px);padding:16px;margin-top:12px;
}
.sa-schedule-options{display:flex;gap:16px;margin:10px 0}
.sa-schedule-option{
  display:flex;align-items:center;gap:6px;font-size:.88rem;
  color:var(--text-2,#ccc);cursor:pointer;
}
.sa-schedule-option input[type="radio"]{accent-color:var(--purple,#7c6dfa)}
.sa-form-label{
  display:block;margin:8px 0 4px;font-size:.82rem;
  color:var(--text-2,#aaa);font-weight:500;
}

/* ── Smart Airdrop: Schedules List ── */
.sa-schedules-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.sa-schedule-item{
  background:var(--bg-2,#1a1a2e);border:1px solid var(--border,#2a2a4a);
  border-radius:var(--radius-sm,8px);padding:12px;
}
.sa-schedule-item-header{
  display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;
}
.sa-schedule-denom{font-weight:600;color:var(--text-1,#fff);font-size:.92rem}
.sa-schedule-status{
  font-size:.75rem;padding:2px 8px;border-radius:10px;font-weight:600;text-transform:uppercase;
}
.sa-status-pending .sa-schedule-status{background:rgba(250,204,21,0.15);color:#facc15}
.sa-status-executing .sa-schedule-status{background:rgba(59,130,246,0.15);color:#3b82f6}
.sa-status-completed .sa-schedule-status{background:rgba(34,197,94,0.15);color:#22c55e}
.sa-status-failed .sa-schedule-status{background:rgba(239,68,68,0.15);color:#ef4444}
.sa-status-cancelled .sa-schedule-status{background:rgba(150,150,150,0.15);color:#999}
.sa-schedule-item-detail{font-size:.82rem;color:var(--text-2,#aaa);margin-top:3px}
.sa-btn-danger{
  background:rgba(239,68,68,0.15);color:#ef4444;border:1px solid rgba(239,68,68,0.3);
}
.sa-btn-danger:hover{background:rgba(239,68,68,0.25)}

/* ── Smart Airdrop: History ── */
.sa-history-table{
  width:100%;border-collapse:collapse;margin-top:12px;font-size:.85rem;
}
.sa-history-table th{
  text-align:left;padding:8px 10px;border-bottom:1px solid var(--border,#2a2a4a);
  color:var(--text-2,#aaa);font-weight:500;font-size:.78rem;text-transform:uppercase;
}
.sa-history-table td{
  padding:8px 10px;border-bottom:1px solid rgba(255,255,255,0.05);
}
.sa-history-row{cursor:pointer;transition:background .15s}
.sa-history-row:hover{background:rgba(124,109,250,0.08)}
.sa-history-row-ok{}
.sa-history-row-warn td:nth-child(4){color:#ef4444}
.sa-history-detail{
  background:var(--bg-2,#1a1a2e);border:1px solid var(--border,#2a2a4a);
  border-radius:var(--radius-sm,8px);padding:14px;
}
.sa-history-txlist{margin-top:6px}
.sa-history-tx{font-size:.82rem;margin:3px 0}
.sa-history-tx a{color:var(--purple,#7c6dfa);text-decoration:none}
.sa-history-tx a:hover{text-decoration:underline}
.sa-history-failed{margin-top:6px}
.sa-history-failed-row{
  display:flex;justify-content:space-between;gap:8px;
  padding:4px 0;font-size:.82rem;border-bottom:1px solid rgba(255,255,255,0.04);
}
.sa-empty-msg{
  text-align:center;padding:32px 16px;color:var(--text-2,#888);font-size:.9rem;
}

/* Exclusion List */
.sa-exclusion-section{
  margin-top:16px;padding:14px;background:rgba(239,68,68,.04);border:1px solid rgba(239,68,68,.15);border-radius:8px;
}
.sa-exclusion-textarea{
  width:100%;padding:10px 12px;background:var(--bg-2,#12141f);border:1px solid var(--border-light,#2a2d3e);border-radius:6px;color:var(--text,#e4e4e7);font-family:'SF Mono',Monaco,'Cascadia Code',monospace;font-size:.82rem;resize:vertical;
}
.sa-exclusion-textarea:focus{outline:none;border-color:var(--purple,#7c6dfa)}
.sa-exclusion-tags{
  display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;
}
.sa-exclusion-tags .sa-exclusion-tag{
  display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);border-radius:14px;font-size:.75rem;color:#ef4444;font-family:'SF Mono',Monaco,monospace;
}
.sa-exclusion-tags .sa-exclusion-tag button{
  background:none;border:none;color:#ef4444;cursor:pointer;font-size:.9rem;padding:0;margin-left:2px;line-height:1;
}
.sa-exclusion-tags .sa-exclusion-tag button:hover{color:#fff}

/* Receipt Link */
.sa-receipt-link{
  display:inline-flex;align-items:center;text-decoration:none;
}

/* Vesting Section */
.sa-vesting-section{
  margin-top:16px;padding:14px;background:rgba(124,109,250,.04);border:1px solid rgba(124,109,250,.15);border-radius:8px;
}
.sa-vesting-option{
  display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-2,#12141f);border:1px solid var(--border-light,#2a2d3e);border-radius:6px;font-size:.82rem;color:var(--text-dim,#9ca3af);cursor:pointer;
}
.sa-vesting-option:has(input:checked){
  border-color:var(--purple,#7c6dfa);color:var(--text,#e4e4e7);background:rgba(124,109,250,.08);
}
.sa-vesting-option input[type="radio"]{accent-color:var(--purple,#7c6dfa)}

/* Vesting Timeline */
.sa-vesting-timeline{
  position:relative;padding-left:24px;
}
.sa-vesting-timeline-item{
  position:relative;padding-bottom:16px;display:flex;gap:12px;
}
.sa-vesting-timeline-item:last-child{padding-bottom:0}
.sa-vesting-timeline-dot{
  position:absolute;left:-24px;top:2px;width:12px;height:12px;border-radius:50%;background:var(--purple,#7c6dfa);border:2px solid var(--bg-1,#1a1d2e);z-index:1;
}
.sa-vesting-timeline-dot-last{background:var(--green,#06d6a0)}
.sa-vesting-timeline-item::before{
  content:'';position:absolute;left:-19px;top:14px;bottom:0;width:2px;background:var(--border-light,#2a2d3e);
}
.sa-vesting-timeline-item:last-child::before{display:none}
.sa-vesting-timeline-content{flex:1}
.sa-vesting-timeline-date{font-size:.85rem;font-weight:600;color:var(--text,#e4e4e7)}
.sa-vesting-timeline-detail{font-size:.78rem;color:var(--text-dim,#9ca3af);margin-top:2px}

/* Vesting Milestone Row */
.sa-vesting-milestone{
  display:flex;align-items:center;gap:8px;margin-bottom:6px;
}
.sa-vesting-milestone input{flex:1}

/* Vesting Plans List */
.sa-vesting-plans{display:flex;flex-direction:column;gap:10px;margin-top:12px}

/* Responsive */
@media(max-width:600px){
  .smart-airdrop-modal{max-width:100vw;border-radius:12px 12px 0 0;max-height:95vh}
  .sa-summary-grid{grid-template-columns:repeat(2,1fr)}
  .sa-quick-actions{flex-direction:column}
  .sa-delivery-row{flex-direction:column}
  .smart-airdrop-actions{flex-direction:column}
  .sa-btn{width:100%;text-align:center}
  .sa-schedule-options{flex-direction:column}
  .sa-dryrun-batch-table{font-size:.78rem}
  .sa-history-table{font-size:.78rem}
  .sa-vesting-option{padding:4px 8px;font-size:.78rem}
  .sa-vesting-milestone{flex-wrap:wrap}
}

/* ===== DAO VOTING TOOL ===== */

/* DAO Trigger Button */
.dao-trigger-btn{
  background:linear-gradient(135deg,#f59e0b,#d97706) !important;
}
.dao-trigger-btn:hover{
  box-shadow:0 4px 20px rgba(245,158,11,.35) !important;
}

/* Overlay */
.dao-overlay{
  position:fixed;inset:0;z-index:10000;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.85);
  opacity:0;transition:opacity .25s ease;
}
.dao-overlay.dao-visible{opacity:1}

/* Modal */
.dao-modal{
  background:var(--bg2,#0d0f14);
  border-radius:var(--radius-lg,16px);
  border:1px solid var(--border-light,#2a2d3e);
  width:94vw;max-width:720px;max-height:90vh;
  display:flex;flex-direction:column;
  box-shadow:0 24px 80px rgba(0,0,0,.6);
  transform:translateY(24px);
  transition:transform .3s cubic-bezier(.22,1,.36,1);
  font-family:var(--sans,'DM Sans',sans-serif);
  color:var(--text,#e4e4e7);
  overflow:hidden;
}
.dao-overlay.dao-visible .dao-modal{transform:translateY(0)}

/* Header */
.dao-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 22px;
  border-bottom:1px solid var(--border-light,#2a2d3e);
}
.dao-header-title{
  font-family:var(--mono,'Space Mono',monospace);
  font-weight:700;font-size:1rem;letter-spacing:.03em;
}
.dao-close-btn{
  background:none;border:none;color:var(--text-dim,#9ca3af);
  font-size:1.4rem;cursor:pointer;padding:4px 8px;
  border-radius:6px;transition:all .15s;line-height:1;
}
.dao-close-btn:hover{background:rgba(255,255,255,.08);color:var(--text,#e4e4e7)}

/* Tabs */
.dao-tabs{
  display:flex;gap:0;
  border-bottom:1px solid var(--border-light,#2a2d3e);
  padding:0 22px;
}
.dao-tab{
  background:none;border:none;
  padding:10px 16px;
  font-family:var(--sans,'DM Sans',sans-serif);
  font-size:.82rem;font-weight:600;
  color:var(--text-dim,#9ca3af);
  cursor:pointer;transition:all .15s;
  border-bottom:2px solid transparent;
  margin-bottom:-1px;
}
.dao-tab:hover{color:var(--text,#e4e4e7)}
.dao-tab.active{
  color:var(--purple,#7c6dfa);
  border-bottom-color:var(--purple,#7c6dfa);
}

/* Content area */
.dao-content{
  flex:1;overflow-y:auto;padding:20px 22px;
  min-height:300px;
}
.dao-content::-webkit-scrollbar{width:5px}
.dao-content::-webkit-scrollbar-track{background:transparent}
.dao-content::-webkit-scrollbar-thumb{background:var(--border-light,#2a2d3e);border-radius:4px}

/* Loading / Empty / Error */
.dao-loading,.dao-empty,.dao-error{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:200px;text-align:center;
}
.dao-empty-icon{font-size:2.5rem;margin-bottom:12px;opacity:.5}
.dao-empty-text{font-size:1rem;font-weight:600;color:var(--text,#e4e4e7);margin-bottom:4px}
.dao-empty-sub{font-size:.8rem;color:var(--text-dim,#9ca3af)}
.dao-error{color:#ef4444;font-size:.85rem}

/* Proposal Cards */
.dao-proposals-list{display:flex;flex-direction:column;gap:12px}

.dao-proposal-card{
  background:var(--bg3,#13161d);
  border:1px solid var(--border-light,#2a2d3e);
  border-radius:var(--radius-sm,8px);
  padding:16px;cursor:pointer;
  transition:all .2s;
}
.dao-proposal-card:hover{
  border-color:rgba(124,109,250,.3);
  background:rgba(124,109,250,.04);
  transform:translateY(-1px);
  box-shadow:0 4px 16px rgba(0,0,0,.3);
}

.dao-card-top{
  display:flex;align-items:center;gap:8px;margin-bottom:8px;
}
.dao-card-title{
  font-size:.92rem;font-weight:700;
  color:var(--text,#e4e4e7);margin-bottom:4px;
}
.dao-card-desc{
  font-size:.78rem;color:var(--text-dim,#9ca3af);
  line-height:1.4;margin-bottom:10px;
}
.dao-card-meta{
  display:flex;align-items:center;gap:12px;
  font-size:.72rem;color:var(--text-muted,#6b7280);
  margin-bottom:10px;
}
.dao-card-btn{
  background:linear-gradient(135deg,var(--purple,#7c6dfa),#a855f7);
  color:#fff;border:none;border-radius:6px;
  padding:6px 16px;font-size:.78rem;font-weight:600;
  cursor:pointer;transition:all .2s;
}
.dao-card-btn:hover{box-shadow:0 2px 12px rgba(124,109,250,.35)}

/* Gate Badges */
.dao-badge{
  display:inline-flex;align-items:center;
  padding:2px 8px;border-radius:10px;
  font-size:.65rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.04em;
}
.dao-badge-nft{
  background:rgba(139,92,246,.18);color:#a78bfa;
}
.dao-badge-token{
  background:rgba(6,214,160,.15);color:#06d6a0;
}
.dao-badge-open{
  background:rgba(156,163,175,.15);color:#9ca3af;
}

/* Status badges */
.dao-status{
  font-size:.65rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.04em;
  padding:2px 8px;border-radius:10px;
}
.dao-status-active{background:rgba(6,214,160,.15);color:#06d6a0}
.dao-status-closed{background:rgba(239,68,68,.15);color:#ef4444}
.dao-status-draft{background:rgba(245,158,11,.15);color:#f59e0b}

/* Countdown */
.dao-countdown{
  font-family:var(--mono,'Space Mono',monospace);
  font-size:.72rem;color:var(--text-dim,#9ca3af);
}

/* Vote View */
.dao-vote-view{display:flex;flex-direction:column;gap:16px}

.dao-back-btn{
  background:none;border:none;
  color:var(--purple,#7c6dfa);font-size:.8rem;
  cursor:pointer;padding:0;font-weight:600;
  align-self:flex-start;
}
.dao-back-btn:hover{text-decoration:underline}

.dao-proposal-header{
  background:var(--bg3,#13161d);
  border:1px solid var(--border-light,#2a2d3e);
  border-radius:var(--radius-sm,8px);
  padding:16px;
}
.dao-proposal-title{
  font-size:1.1rem;font-weight:700;
  color:var(--text,#e4e4e7);margin:8px 0 6px;
}
.dao-proposal-desc{
  font-size:.82rem;color:var(--text-dim,#9ca3af);
  line-height:1.5;margin-bottom:10px;
}
.dao-proposal-info{
  display:flex;flex-wrap:wrap;gap:12px;
  font-size:.72rem;color:var(--text-muted,#6b7280);
}

/* Eligibility */
.dao-eligibility{margin:4px 0}
.dao-eligibility-loading{
  font-size:.8rem;color:var(--text-dim,#9ca3af);
  padding:8px 12px;background:var(--bg3,#13161d);
  border-radius:6px;
}
.dao-eligibility-pass{
  font-size:.82rem;color:#06d6a0;font-weight:600;
  padding:10px 14px;
  background:rgba(6,214,160,.08);
  border:1px solid rgba(6,214,160,.2);
  border-radius:6px;
}
.dao-eligibility-fail{
  font-size:.82rem;color:#ef4444;font-weight:600;
  padding:10px 14px;
  background:rgba(239,68,68,.08);
  border:1px solid rgba(239,68,68,.2);
  border-radius:6px;
}
.dao-eligibility-warn{
  font-size:.82rem;color:#f59e0b;
  padding:10px 14px;
  background:rgba(245,158,11,.08);
  border:1px solid rgba(245,158,11,.2);
  border-radius:6px;
}
.dao-eligibility-info{
  font-size:.82rem;color:#3b82f6;
  padding:10px 14px;
  background:rgba(59,130,246,.08);
  border:1px solid rgba(59,130,246,.2);
  border-radius:6px;
}

/* Vote Options */
.dao-vote-options{display:flex;flex-direction:column;gap:6px}

.dao-vote-option{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;
  background:var(--bg3,#13161d);
  border:1px solid var(--border-light,#2a2d3e);
  border-radius:6px;cursor:pointer;
  transition:all .15s;
}
.dao-vote-option:hover{
  border-color:rgba(124,109,250,.3);
  background:rgba(124,109,250,.04);
}
.dao-vote-option input[type="radio"]{
  accent-color:var(--purple,#7c6dfa);
  width:16px;height:16px;
}
.dao-vote-option-label{
  font-size:.85rem;font-weight:500;
  color:var(--text,#e4e4e7);
}

.dao-submit-vote-btn{
  background:linear-gradient(135deg,var(--purple,#7c6dfa),#a855f7);
  color:#fff;border:none;border-radius:var(--radius-sm,8px);
  padding:10px 20px;font-size:.85rem;font-weight:600;
  cursor:pointer;transition:all .2s;
  align-self:flex-start;
}
.dao-submit-vote-btn:hover:not(:disabled){
  box-shadow:0 4px 20px rgba(124,109,250,.35);
  transform:translateY(-1px);
}
.dao-submit-vote-btn:disabled{
  opacity:.5;cursor:not-allowed;
}

/* Results */
.dao-results-section,.dao-voter-section{margin-top:4px}
.dao-results-heading{
  font-family:var(--mono,'Space Mono',monospace);
  font-size:.72rem;text-transform:uppercase;
  letter-spacing:.08em;color:var(--text-muted,#6b7280);
  font-weight:700;margin-bottom:10px;
}

.dao-results-bar{margin-bottom:10px}
.dao-results-bar-header{
  display:flex;justify-content:space-between;
  font-size:.78rem;margin-bottom:4px;
}
.dao-results-bar-label{font-weight:600;color:var(--text,#e4e4e7)}
.dao-results-bar-pct{color:var(--text-dim,#9ca3af)}

.dao-results-bar-track{
  height:8px;border-radius:4px;
  background:var(--bg4,#1a1d2e);
  overflow:hidden;
}
.dao-results-bar-fill{
  height:100%;border-radius:4px;
  transition:width .6s cubic-bezier(.22,1,.36,1);
  min-width:0;
}

.dao-results-total{
  font-size:.72rem;color:var(--text-muted,#6b7280);
  margin-top:8px;
}
.dao-results-winner{
  font-size:.82rem;font-weight:700;
  color:var(--green,#06d6a0);margin-top:6px;
}
.dao-no-results{
  font-size:.8rem;color:var(--text-dim,#9ca3af);
  padding:12px;text-align:center;
}

/* Voter List */
.dao-voter-list{
  max-height:200px;overflow-y:auto;
  background:var(--bg3,#13161d);
  border:1px solid var(--border-light,#2a2d3e);
  border-radius:var(--radius-sm,8px);
}
.dao-voter-list::-webkit-scrollbar{width:5px}
.dao-voter-list::-webkit-scrollbar-track{background:transparent}
.dao-voter-list::-webkit-scrollbar-thumb{background:var(--border-light,#2a2d3e);border-radius:4px}

.dao-voter-row{
  display:flex;align-items:center;gap:10px;
  padding:8px 14px;
  border-bottom:1px solid rgba(42,45,62,.5);
  font-size:.78rem;
}
.dao-voter-row:last-child{border-bottom:none}
.dao-voter-addr{
  flex:1;
  font-family:var(--mono,'Space Mono',monospace);
  font-size:.72rem;color:var(--text-dim,#9ca3af);
}
.dao-voter-choice{
  font-weight:600;color:var(--text,#e4e4e7);
}
.dao-voter-power{
  font-family:var(--mono,'Space Mono',monospace);
  font-size:.68rem;color:var(--text-muted,#6b7280);
}
.dao-voter-empty{
  padding:12px;text-align:center;
  font-size:.78rem;color:var(--text-dim,#9ca3af);
}

/* Creator actions / Share */
.dao-creator-actions,.dao-share-section{margin-top:8px}
.dao-close-proposal-btn{
  background:rgba(239,68,68,.12);color:#ef4444;
  border:1px solid rgba(239,68,68,.25);
  border-radius:6px;padding:8px 16px;
  font-size:.8rem;font-weight:600;cursor:pointer;
  transition:all .15s;
}
.dao-close-proposal-btn:hover{background:rgba(239,68,68,.2)}
.dao-share-btn{
  background:var(--bg4,#1a1d2e);color:var(--text,#e4e4e7);
  border:1px solid var(--border-light,#2a2d3e);
  border-radius:6px;padding:8px 16px;
  font-size:.8rem;font-weight:600;cursor:pointer;
  transition:all .15s;
}
.dao-share-btn:hover{background:rgba(124,109,250,.1);border-color:rgba(124,109,250,.3)}

/* Create Proposal Form */
.dao-create-form{display:flex;flex-direction:column;gap:14px}

.dao-form-group{display:flex;flex-direction:column;gap:4px}
.dao-form-label{
  font-size:.72rem;font-weight:600;
  color:var(--text-dim,#9ca3af);
  text-transform:uppercase;letter-spacing:.04em;
}
.dao-form-input{
  background:var(--bg3,#13161d);
  border:1px solid var(--border-light,#2a2d3e);
  border-radius:6px;padding:8px 12px;
  font-size:.85rem;color:var(--text,#e4e4e7);
  font-family:var(--sans,'DM Sans',sans-serif);
  outline:none;transition:border-color .15s;
}
.dao-form-input:focus{border-color:var(--purple,#7c6dfa)}
.dao-form-textarea{
  background:var(--bg3,#13161d);
  border:1px solid var(--border-light,#2a2d3e);
  border-radius:6px;padding:8px 12px;
  font-size:.85rem;color:var(--text,#e4e4e7);
  font-family:var(--sans,'DM Sans',sans-serif);
  outline:none;resize:vertical;transition:border-color .15s;
}
.dao-form-textarea:focus{border-color:var(--purple,#7c6dfa)}

/* Dynamic options */
.dao-option-row{
  display:flex;align-items:center;gap:6px;margin-bottom:4px;
}
.dao-option-row .dao-form-input{flex:1}
.dao-metadata-section{margin-top:8px;padding:10px;border:1px dashed rgba(168,85,247,0.3);border-radius:8px;background:rgba(168,85,247,0.03)}
.dao-metadata-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.dao-metadata-row .dao-meta-field{flex:2;min-width:0}
.dao-metadata-row .dao-meta-op{flex:1.5;min-width:0;font-size:.78rem}
.dao-metadata-row .dao-meta-value{flex:2;min-width:0}
.dao-meta-remove{background:none;border:none;color:var(--text-muted,#6b7280);font-size:1.1rem;cursor:pointer;padding:4px 6px;border-radius:4px;transition:all .15s;line-height:1}
.dao-meta-remove:hover{color:#ef4444;background:rgba(239,68,68,0.1)}
.dao-add-metadata-btn{background:none;border:1px dashed rgba(168,85,247,0.4);color:var(--purple,#a855f7);padding:6px 12px;border-radius:6px;font-size:.78rem;cursor:pointer;width:100%;margin-top:4px;transition:all .15s}
.dao-add-metadata-btn:hover{background:rgba(168,85,247,0.1);border-color:var(--purple,#a855f7)}
.dao-option-remove{
  background:none;border:none;
  color:var(--text-muted,#6b7280);
  font-size:1.1rem;cursor:pointer;
  padding:4px 6px;border-radius:4px;
  transition:all .15s;line-height:1;
}
.dao-option-remove:hover{color:#ef4444;background:rgba(239,68,68,.1)}
.dao-add-option-btn{
  background:none;border:1px dashed var(--border-light,#2a2d3e);
  color:var(--text-dim,#9ca3af);
  border-radius:6px;padding:6px 12px;
  font-size:.78rem;cursor:pointer;
  transition:all .15s;align-self:flex-start;
}
.dao-add-option-btn:hover{
  border-color:var(--purple,#7c6dfa);
  color:var(--purple,#7c6dfa);
}

/* Radio groups */
.dao-radio-group{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.dao-radio{
  display:flex;align-items:center;gap:5px;
  font-size:.82rem;color:var(--text,#e4e4e7);
  cursor:pointer;
}
.dao-radio input[type="radio"]{
  accent-color:var(--purple,#7c6dfa);
}

/* Time pickers */
.dao-time-row{
  display:flex;gap:12px;flex-direction:row;
}
.dao-time-field{flex:1;display:flex;flex-direction:column;gap:4px}

/* Create button */
.dao-create-btn{
  background:linear-gradient(135deg,var(--purple,#7c6dfa),#a855f7);
  color:#fff;border:none;border-radius:var(--radius-sm,8px);
  padding:12px 20px;font-size:.88rem;font-weight:600;
  cursor:pointer;transition:all .2s;
  margin-top:6px;
}
.dao-create-btn:hover:not(:disabled){
  box-shadow:0 4px 20px rgba(124,109,250,.35);
  transform:translateY(-1px);
}
.dao-create-btn:disabled{opacity:.5;cursor:not-allowed}

/* DAO Responsive */
@media(max-width:600px){
  .dao-modal{max-width:100vw;border-radius:12px 12px 0 0;max-height:95vh}
  .dao-tabs{padding:0 14px}
  .dao-content{padding:14px}
  .dao-proposal-info{flex-direction:column;gap:4px}
  .dao-time-row{flex-direction:column;gap:8px}
  .dao-radio-group{flex-direction:column;gap:6px}
  .dao-card-meta{flex-direction:column;gap:4px}
}

/* ===== DEX MODE TOGGLE ===== */
.dex-mode-toggle{display:flex;gap:0;margin-bottom:12px;background:var(--bg2);border-radius:10px;padding:3px;border:1px solid var(--border)}
.dex-mode-tab{flex:1;padding:8px 16px;font-size:.72rem;font-family:var(--mono);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:none;border:none;border-radius:8px;cursor:pointer;transition:all .2s}
.dex-mode-tab:hover{color:var(--text)}
.dex-mode-tab.active{background:var(--bg4);color:var(--accent);box-shadow:0 1px 4px rgba(0,0,0,.3)}

/* ===== AGENT MARKETPLACE ===== */

/* Stats Bar */
.mkt-stats-bar{display:flex;gap:16px;padding:12px 16px;background:var(--bg2);border:1px solid var(--border);border-radius:10px;margin-bottom:12px}
.mkt-stat{display:flex;flex-direction:column;align-items:center;flex:1}
.mkt-stat-val{font-size:.85rem;font-weight:700;color:var(--text);font-family:var(--mono)}
.mkt-stat-label{font-size:.55rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}

/* Toolbar */
.mkt-toolbar{display:flex;gap:8px;margin-bottom:12px;align-items:center}
.mkt-search-wrap{flex:1}
.mkt-input{width:100%;padding:8px 12px;background:var(--bg2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.72rem;font-family:var(--mono);outline:none;transition:border-color .2s}
.mkt-input:focus{border-color:var(--accent)}
.mkt-textarea{min-height:60px;resize:vertical}
.mkt-sort-select{width:160px;flex-shrink:0}

/* Buttons */
.mkt-btn{padding:8px 16px;border-radius:8px;font-size:.7rem;font-weight:600;font-family:var(--mono);cursor:pointer;border:none;transition:all .2s}
.mkt-btn-accent{background:var(--accent);color:#000}
.mkt-btn-accent:hover{opacity:.85}
.mkt-btn-outline{background:none;border:1px solid var(--border);color:var(--text)}
.mkt-btn-outline:hover{border-color:var(--accent);color:var(--accent)}
.mkt-btn-sm{padding:4px 10px;font-size:.6rem;border-radius:6px;font-weight:600;cursor:pointer;border:none}

/* Listing Grid */
.mkt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.mkt-card{background:var(--bg2);border:1px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .2s}
.mkt-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 16px rgba(124,109,250,.15)}
.mkt-card-img{position:relative;width:100%;aspect-ratio:16/10;background:var(--bg3);display:flex;align-items:center;justify-content:center;overflow:hidden}
.mkt-card-img img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0;z-index:1}
.mkt-card-img-fallback{font-size:2.5rem;opacity:.3}
.mkt-card-body{padding:12px}
.mkt-card-title{font-size:.78rem;font-weight:700;color:var(--text);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mkt-card-desc{font-size:.6rem;color:var(--muted);line-height:1.3;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mkt-card-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}
.mkt-tag{font-size:.55rem;padding:2px 8px;border-radius:20px;background:rgba(124,109,250,.12);color:var(--accent);font-family:var(--mono)}
.mkt-card-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding-top:8px}
.mkt-card-price{font-size:.8rem;font-weight:700;color:var(--green);font-family:var(--mono)}
.mkt-card-action{font-size:.6rem;color:var(--accent);font-weight:600}

/* Empty State */
.mkt-empty{text-align:center;padding:48px 24px;color:var(--muted);grid-column:1/-1}

/* List Form */
.mkt-list-form{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:14px}
.mkt-form-title{font-size:.78rem;font-weight:700;color:var(--text);margin-bottom:12px}
.mkt-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mkt-form-field{display:flex;flex-direction:column;gap:4px}
.mkt-form-label{font-size:.6rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.mkt-form-actions{display:flex;gap:8px;margin-top:12px}

/* Detail View */
.mkt-detail-back{font-size:.7rem;color:var(--accent);cursor:pointer;margin-bottom:12px;font-weight:600}
.mkt-detail-back:hover{text-decoration:underline}
.mkt-detail-main{display:flex;gap:20px;background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:20px}
.mkt-detail-img{width:280px;flex-shrink:0;aspect-ratio:1;background:var(--bg3);border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.mkt-detail-img img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0}
.mkt-detail-img-fallback{font-size:4rem;opacity:.3}
.mkt-detail-info{flex:1;min-width:0}
.mkt-detail-title{font-size:1.1rem;font-weight:700;color:var(--text);margin-bottom:6px}
.mkt-detail-meta{font-size:.6rem;color:var(--muted);margin-bottom:10px;display:flex;gap:16px}
.mkt-detail-meta code{font-size:.55rem;background:var(--bg4);padding:1px 6px;border-radius:4px}
.mkt-detail-desc{font-size:.7rem;color:var(--text);line-height:1.5;margin-bottom:10px}
.mkt-detail-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:12px}
.mkt-detail-price-row{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}
.mkt-detail-price{font-size:1.2rem;font-weight:700;color:var(--green);font-family:var(--mono)}
.mkt-detail-seller{font-size:.6rem;color:var(--muted)}
.mkt-detail-actions{display:flex;gap:8px;margin-bottom:12px}

/* Offer Form */
.mkt-offer-form{background:var(--bg3);border:1px solid var(--border);border-radius:10px;padding:12px;margin-top:10px}

/* Offers Section */
.mkt-offers-section{margin-top:16px;background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:16px}
.mkt-offers-section h3{font-size:.75rem;color:var(--text);margin-bottom:10px}
.mkt-offers-list{display:flex;flex-direction:column;gap:8px}
.mkt-offer-row{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg3);border-radius:8px;font-size:.68rem}
.mkt-offer-amount{font-weight:700;color:var(--green);font-family:var(--mono)}
.mkt-offer-buyer{color:var(--muted);font-family:var(--mono);font-size:.6rem}
.mkt-offer-status{font-size:.55rem;padding:2px 8px;border-radius:12px;font-weight:600;text-transform:uppercase}
.mkt-offer-pending{background:rgba(255,193,7,.15);color:#ffc107}
.mkt-offer-accepted{background:rgba(37,214,149,.15);color:var(--green)}
.mkt-offer-rejected{background:rgba(255,115,134,.15);color:#ff7386}
.mkt-offer-msg{font-size:.6rem;color:var(--muted);font-style:italic;margin-left:auto}

/* Sub-tabs (Browse / My Listings / My Offers) */
.mkt-sub-tabs{display:flex;gap:4px;margin-bottom:12px}
.mkt-sub-tab{padding:6px 14px;border-radius:8px;font-size:.65rem;font-weight:600;font-family:var(--mono);cursor:pointer;border:1px solid var(--border);background:none;color:var(--muted);transition:all .2s}
.mkt-sub-tab:hover{border-color:var(--accent);color:var(--text)}
.mkt-sub-tab.active{background:var(--accent);color:#000;border-color:var(--accent)}

/* Tag filter bar */
.mkt-tag-bar{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:10px}
.mkt-tag-btn{padding:3px 10px;border-radius:20px;font-size:.55rem;font-weight:600;font-family:var(--mono);cursor:pointer;border:1px solid var(--border);background:none;color:var(--muted);transition:all .2s}
.mkt-tag-btn:hover{border-color:var(--accent);color:var(--accent)}
.mkt-tag-btn.active{background:rgba(124,109,250,.18);color:var(--accent);border-color:var(--accent)}

/* Card seller row */
.mkt-card-seller-row{font-size:.55rem;color:var(--muted);font-family:var(--mono);margin-bottom:4px}

/* Seller link in detail */
.mkt-seller-link{color:var(--accent);cursor:pointer;text-decoration:none;font-family:var(--mono)}
.mkt-seller-link:hover{text-decoration:underline}

/* Metadata table */
.mkt-metadata-table{margin-bottom:12px}
.mkt-metadata-table table{width:100%;border-collapse:collapse;font-size:.62rem}
.mkt-metadata-table tr{border-bottom:1px solid var(--border)}
.mkt-meta-key{padding:4px 8px 4px 0;color:var(--muted);font-family:var(--mono);white-space:nowrap;width:1%;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.mkt-meta-val{padding:4px 0;color:var(--text);font-family:var(--mono);word-break:break-all}

/* Preview card in list form */
.mkt-preview-section{margin-top:14px;border-top:1px solid var(--border);padding-top:14px}
.mkt-preview-section .mkt-card{max-width:260px;pointer-events:none}

/* My Listings / My Offers rows */
.mkt-my-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.mkt-my-list-rows{display:flex;flex-direction:column;gap:6px}
.mkt-my-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg2);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s;font-size:.68rem}
.mkt-my-row:hover{border-color:var(--accent);background:var(--bg3)}
.mkt-my-row-img{width:36px;height:36px;border-radius:6px;overflow:hidden;flex-shrink:0;background:var(--bg3);display:flex;align-items:center;justify-content:center;position:relative}
.mkt-my-row-img img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0}
.mkt-my-row-fallback{font-size:1rem;opacity:.3}
.mkt-my-row-info{flex:1;min-width:0}
.mkt-my-row-title{font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mkt-my-row-sub{font-size:.55rem;color:var(--muted);font-family:var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.mkt-my-row-price{font-weight:700;color:var(--green);font-family:var(--mono);white-space:nowrap}
.mkt-my-row-status{font-size:.55rem;padding:2px 8px;border-radius:12px;font-weight:600;text-transform:uppercase;white-space:nowrap}

/* Responsive */
@media(max-width:768px){
  .mkt-grid{grid-template-columns:1fr}
  .mkt-toolbar{flex-direction:column}
  .mkt-sort-select{width:100%}
  .mkt-detail-main{flex-direction:column}
  .mkt-detail-img{width:100%;aspect-ratio:16/10}
  .mkt-form-grid{grid-template-columns:1fr}
  .mkt-stats-bar{flex-wrap:wrap;gap:8px}
  .mkt-stat{min-width:calc(50% - 4px)}
  .mkt-sub-tabs{flex-wrap:wrap}
  .mkt-my-row{flex-wrap:wrap;gap:8px}
}
