/* Crypto Bot v2 — papildu stili uz esošajiem tokeniem (variables.css). */
.v2-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--space-4); }
.v2-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); padding: var(--space-4); box-shadow: var(--shadow-card); }
.v2-card__title { font-size: var(--text-sm); color: var(--text-secondary); margin: 0 0 var(--space-1); }
.v2-card__value { font-size: var(--text-2xl); font-weight: 600; color: var(--text-primary); font-family: var(--font-mono); }
.v2-card__sub { font-size: var(--text-xs); color: var(--text-tertiary); margin-top: var(--space-1); }
.v2-section { margin-top: var(--space-8); }
.v2-section__head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); flex-wrap: wrap; margin-bottom: var(--space-4); }
.v2-section__head h2 { font-size: var(--text-lg); margin: 0; }
.v2-state { padding: var(--space-8) var(--space-4); text-align: center; color: var(--text-secondary); border: 1px dashed var(--border-subtle); border-radius: var(--radius-lg); }
.v2-state--error { color: var(--color-danger); border-color: var(--color-danger); }
.v2-state--offline { color: var(--color-warning); border-color: var(--color-warning); }
.v2-table-wrap { overflow-x: auto; border-radius: var(--radius-lg); border: 1px solid var(--border-subtle); }
.v2-table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
.v2-table th, .v2-table td { padding: var(--space-1) var(--space-4); text-align: left; white-space: nowrap; border-bottom: 1px solid var(--border-subtle); }
.v2-table th { color: var(--text-secondary); font-weight: 500; background: var(--bg-secondary); position: sticky; top: 0; }
.v2-table td.num { font-family: var(--font-mono); text-align: right; }
.v2-pos { color: var(--color-success); } .v2-neg { color: var(--color-danger); }
.v2-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--space-4); }
.v2-form label { display: flex; flex-direction: column; gap: 4px; font-size: var(--text-xs); color: var(--text-secondary); }
.v2-form input, .v2-form select { background: var(--bg-input); color: var(--text-primary); border: 1px solid var(--border-subtle); border-radius: var(--radius-sm); padding: 8px; font-size: var(--text-sm); }
.v2-actions { display: flex; gap: var(--space-1); flex-wrap: wrap; }
.v2-note { font-size: var(--text-xs); color: var(--text-tertiary); }
.v2-disabled { opacity: .55; }
#v2-toasts { position: fixed; right: 16px; bottom: 16px; display: flex; flex-direction: column; gap: 8px; z-index: 9999; }
.v2-toast { padding: 10px 14px; border-radius: var(--radius-sm); background: var(--bg-card); border-left: 4px solid var(--color-info); box-shadow: var(--shadow-elevated); font-size: var(--text-sm); max-width: 360px; }
.v2-toast--success { border-color: var(--color-success); } .v2-toast--error { border-color: var(--color-danger); } .v2-toast--warning { border-color: var(--color-warning); }
.v2-ws { font-size: var(--text-xs); color: var(--text-tertiary); }
.v2-ws--online::before { content: '● '; color: var(--color-success); } .v2-ws--offline::before { content: '● '; color: var(--color-danger); }
@media (max-width: 720px) { .v2-card__value { font-size: var(--text-xl); } .v2-section__head { flex-direction: column; align-items: stretch; } }
