.layout{min-height:100vh;display:flex;flex-direction:column}.nav{display:flex;align-items:center;gap:1.5rem;padding:.8rem 1.5rem;background:var(--bg-card);border-bottom:1px solid var(--border)}.nav-brand{font-weight:600;color:var(--accent)}.nav-links{display:flex;gap:1rem;flex:1}.nav-links a{color:var(--text-muted);padding:.4rem .8rem;border-radius:6px}.nav-links a:hover{color:var(--text)}.nav-links a.active{color:var(--accent);background:#00d4aa1a}.main{flex:1;padding:1.5rem;max-width:900px;margin:0 auto;width:100%}.btn-sm{padding:.4rem .8rem;font-size:.85rem}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.auth-card{width:100%;max-width:360px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:2rem}.auth-card h1{margin-bottom:1.5rem;font-size:1.5rem}.auth-card form{display:flex;flex-direction:column;gap:1rem}.auth-card label{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;color:var(--text-muted)}.auth-card input{width:100%}.auth-card button{margin-top:.5rem;width:100%;padding:.75rem}.auth-footer{margin-top:1.5rem;text-align:center;color:var(--text-muted);font-size:.9rem}.error{background:#ff6b6b26;color:var(--danger);padding:.6rem;border-radius:6px;font-size:.9rem}.dashboard h1{margin-bottom:1.5rem;font-size:1.5rem}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1.25rem;margin-bottom:1rem}.card h2{font-size:1rem;margin-bottom:.75rem;color:var(--text-muted)}.status-active{color:var(--success)}.status-inactive{color:var(--text-muted)}.text-muted{color:var(--text-muted);font-size:.9rem}.signal-form{display:flex;gap:.5rem;margin-bottom:.75rem}.signal-form input{flex:1;max-width:160px}.signal-result{padding-top:.5rem}.signal-value{font-size:1.25rem;font-weight:600}.signal-buy{color:var(--success)}.signal-sell{color:var(--danger)}.signal-hold{color:var(--text-muted)}.error-text{color:var(--danger)}.trades-list{list-style:none}.trade-item{display:flex;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.9rem}.trade-item:last-child{border-bottom:none}.trade-buy{color:var(--success)}.trade-sell{color:var(--danger)}.link-more{display:inline-block;margin-top:.75rem;font-size:.9rem}.loading{text-align:center;padding:2rem;color:var(--text-muted)}.btn-test-buy{background-color:var(--success, #22c55e)}.btn-test-buy:hover:not(:disabled){filter:brightness(1.1)}.btn-test-sell{background-color:var(--danger, #ef4444)}.btn-test-sell:hover:not(:disabled){filter:brightness(1.1)}.test-result{margin-top:.75rem;padding:.5rem 0}.test-result-success p{color:var(--success)}.test-result-error p{color:var(--danger)}.config-page h1{margin-bottom:1.5rem;font-size:1.5rem}.config-form .card{margin-bottom:1.5rem}.config-form label{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;color:var(--text-muted)}.form-row{margin-bottom:1rem}.form-row.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.config-form input,.config-form textarea{width:100%}.checkbox-label{flex-direction:row!important;align-items:center;gap:.5rem!important}.checkbox-label input{width:auto}.config-form .success{background:#00d4aa26;color:var(--success);padding:.75rem;border-radius:6px;margin-bottom:1rem}.config-form .error{background:#ff6b6b26;color:var(--danger);padding:.75rem;border-radius:6px;margin-bottom:1rem}.trades-page h1{margin-bottom:.5rem;font-size:1.5rem}.trades-page .text-muted{margin-bottom:1.5rem;color:var(--text-muted);font-size:.9rem}.empty{text-align:center;padding:2rem}.trades-table-wrap{overflow-x:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:10px}.trades-table{width:100%;border-collapse:collapse}.trades-table th,.trades-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border)}.trades-table th{color:var(--text-muted);font-weight:500;font-size:.85rem}.trades-table tr:last-child td{border-bottom:none}.trades-table .side{font-weight:600}.trade-buy .side{color:var(--success)}.trade-sell .side{color:var(--danger)}:root{--bg: #0f0f12;--bg-card: #1a1a1f;--bg-input: #25252d;--border: #2d2d36;--text: #e8e8ed;--text-muted: #8b8b95;--accent: #00d4aa;--accent-hover: #00b894;--danger: #ff6b6b;--success: #00d4aa;--font: "JetBrains Mono", "Fira Code", monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;border-radius:6px;padding:.6rem 1.2rem;font-size:.9rem;transition:background .2s}input,select,textarea{font-family:inherit;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;padding:.6rem .9rem;color:var(--text);font-size:.9rem}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}.btn-primary{background:var(--accent);color:var(--bg)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-input);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}
