.mt-1{ margin-top:.25rem } .mt-2{ margin-top:.5rem } .mt-3{ margin-top:1rem }
.mb-1{ margin-bottom:.25rem } .mb-2{ margin-bottom:.5rem } .mb-3{ margin-bottom:1rem }
.p-1{ padding:.25rem } .p-2{ padding:.5rem } .p-3{ padding:1rem }
.w-100{ width:100% } .ta-center{ text-align:center } .jc-between{ justify-content:space-between }
.ai-center{ align-items:center } .gap-1{ gap:.25rem } .gap-2{ gap:.5rem } .gap-3{ gap:1rem }
.list-reset{ list-style:none; padding:0; margin:0 }
.input-row{ display:flex; gap:.5rem; align-items:center }
.label{ font-size:.9rem; color: var(--muted) }
.small{ font-size:.9rem; color: var(--muted) }
.linklike{ background:none; border:none; color: var(--accent); padding:0; cursor:pointer }
.input-inline{ display:flex; gap:.5rem; flex-wrap:wrap; }
.table{ width:100%; border-collapse: collapse; }
.table th, .table td { border-top:1px solid var(--border); padding:.5rem .25rem; text-align:left; }
.code{ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; font-size:.9rem; }

/* New helpers */
.shadow-sm{ box-shadow: 0 2px 8px rgba(0,0,0,.25); }
.shadow-lg{ box-shadow: 0 18px 40px rgba(0,0,0,.35); }
.round{ border-radius: var(--radius); }

.text-gradient{ background: linear-gradient(90deg, var(--accent), var(--accent-3), var(--accent-4)); -webkit-background-clip:text; background-clip:text; color: transparent; }
.btn {
  display:inline-flex; align-items:center; gap:.45rem; padding:.55rem .85rem; border-radius:12px;
  border:1px solid var(--border); background: linear-gradient(180deg, #1a2747, #0e1730); color: var(--text);
  transition: transform .05s ease, box-shadow .2s ease, border-color .2s ease;
}
.btn:hover{ border-color:#3a528a; box-shadow:0 8px 18px rgba(124,194,255,.12); }
.btn:active{ transform: translateY(1px); }
.btn.primary{ background: linear-gradient(135deg, #7cc2ff, #d07cff 85%); color:#0b1222; border-color:#7a6cff; }
.btn.warn{ background: linear-gradient(135deg, #ffd36e, #ff9a6e); color:#231a00; border-color:#e8a44a; }
.btn.ok{ background: linear-gradient(135deg, #7bffcf, #48e2a3); color:#042217; border-color:#2ebc8b; }