:root{color-scheme:dark;--bg: #0b0f14;--bg-elevated: #111820;--surface: #151d28;--surface-hover: #1b2533;--border: #2a3648;--border-subtle: #1f2937;--text: #f1f5f9;--muted: #94a3b8;--accent: #3b82f6;--accent-hover: #2563eb;--danger: #ef4444;--danger-hover: #dc2626;--success: #22c55e;--warning: #f59e0b;--radius: 10px;--radius-lg: 14px;--shadow: 0 8px 24px rgba(0, 0, 0, .35);--sidebar-w: 240px;font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--bg-elevated);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;padding:1.25rem 1rem;position:sticky;top:0;height:100vh}.sidebar-brand{display:flex;align-items:center;gap:.65rem;padding:.25rem .5rem 1.25rem;border-bottom:1px solid var(--border-subtle);margin-bottom:1rem}.sidebar-brand h1{font-size:1.05rem;font-weight:700;margin:0;letter-spacing:-.02em}.sidebar-brand .logo-dot{width:10px;height:10px;border-radius:50%;background:var(--success);box-shadow:0 0 10px #22c55e99}.sidebar nav{display:flex;flex-direction:column;gap:.2rem;flex:1}.sidebar a{color:var(--muted);padding:.55rem .75rem;border-radius:var(--radius);font-size:.92rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.sidebar a:hover{background:var(--surface);color:var(--text);text-decoration:none}.sidebar a.active{background:var(--surface);color:var(--text);box-shadow:inset 3px 0 0 var(--accent)}.sidebar-footer{display:flex;flex-direction:column;gap:.5rem;padding-top:1rem;border-top:1px solid var(--border-subtle)}.sidebar-footer .btn-row{display:flex;gap:.5rem}.main{flex:1;min-width:0;padding:1.75rem 2rem 2.5rem;max-width:1200px}.page-header{margin-bottom:1.5rem}.page-header h2{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.page-header .subtitle{margin:.35rem 0 0;color:var(--muted);font-size:.9rem}.page-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-bottom:1.25rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1.25rem}.card+.card{margin-top:1rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.25rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.15rem}.stat-label{color:var(--muted);font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem}.stat-value{font-size:1.45rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}.stat-value.sm{font-size:1.1rem}.badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge.running{background:#22c55e26;color:var(--success)}.badge.paused{background:#f59e0b26;color:var(--warning)}.badge.kill{background:#ef444426;color:var(--danger)}.badge.long{background:#3b82f626;color:#60a5fa}.badge.short{background:#ef44441f;color:#f87171}.badge.market{background:#94a3b81f;color:var(--muted)}button,.btn{background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:.55rem 1rem;cursor:pointer;font-size:.875rem;font-weight:600;font-family:inherit;transition:background .15s,transform .1s}button:hover:not(:disabled),.btn:hover{background:var(--accent-hover)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{background:var(--surface-hover);color:var(--text);border:1px solid var(--border)}button.secondary:hover:not(:disabled){background:#243044}button.danger{background:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger-hover)}button.ghost{background:transparent;color:var(--muted);border:1px solid var(--border);padding:.45rem .75rem}button.sm{padding:.35rem .7rem;font-size:.8rem}input,select,textarea{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:.6rem .8rem;width:100%;font-family:inherit;font-size:.9rem}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f633}label{display:block;font-size:.85rem;font-weight:500;color:var(--muted);margin-bottom:.35rem}.form-field{margin-bottom:1rem}.form-field.checkbox{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem}.form-field.checkbox label{margin:0;color:var(--text);cursor:pointer}.form-field.checkbox input{width:auto}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th{text-align:left;padding:.75rem 1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--bg-elevated);border-bottom:1px solid var(--border)}.table-wrap td{padding:.85rem 1rem;border-bottom:1px solid var(--border-subtle);font-size:.9rem;vertical-align:middle}.table-wrap tr:last-child td{border-bottom:none}.table-wrap tr:hover td{background:#ffffff05}.table-wrap .mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.82rem;color:var(--muted)}.table-wrap .actions{text-align:right;white-space:nowrap}.pnl-pos{color:var(--success)}.pnl-neg{color:var(--danger)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.panel-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 .75rem}.panel-row{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;font-size:.9rem}.panel-row span:last-child{font-weight:600;text-align:right}.meta-line{color:var(--muted);font-size:.9rem;margin:0 0 1rem}.empty-state{text-align:center;padding:2.5rem 1.5rem;color:var(--muted)}.empty-state p{margin:.35rem 0 0}.loading-block{display:flex;align-items:center;gap:.75rem;color:var(--muted);padding:2rem 0}.spinner{width:22px;height:22px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.diary-entry{display:grid;gap:.35rem}.diary-entry .date{font-weight:700;font-size:1rem}.diary-entry .metrics{color:var(--muted);font-size:.9rem}.chart-card{height:340px;margin-top:1.25rem}.chart-card h3{margin:0 0 .75rem;font-size:.95rem;font-weight:600}.toast-stack{position:fixed;right:1.25rem;bottom:1.25rem;display:flex;flex-direction:column;gap:.5rem;z-index:100}.toast{background:var(--surface);border:1px solid var(--border);padding:.75rem 1rem;border-radius:var(--radius);max-width:360px;box-shadow:var(--shadow);font-size:.875rem}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(59,130,246,.15),transparent),var(--bg)}.login-box{width:min(400px,100%);box-shadow:var(--shadow)}.login-box h2{margin:0 0 1.25rem;font-size:1.35rem}.login-brand{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;color:var(--muted);font-size:.85rem}@media(max-width:900px){.layout{flex-direction:column}.sidebar{width:100%;height:auto;position:static;padding:1rem}.sidebar-brand{padding-bottom:.75rem;margin-bottom:.75rem}.sidebar nav{flex-direction:row;flex-wrap:wrap;flex:none}.sidebar-footer{flex-direction:row;flex-wrap:wrap;align-items:center}.main{padding:1.25rem 1rem 2rem}}
