@font-face{font-family:'Inter';font-weight:400;font-display:swap;src:url('../fonts/inter-400.woff2') format('woff2')}
@font-face{font-family:'Inter';font-weight:500;font-display:swap;src:url('../fonts/inter-500.woff2') format('woff2')}
@font-face{font-family:'Inter';font-weight:600;font-display:swap;src:url('../fonts/inter-600.woff2') format('woff2')}
@font-face{font-family:'Inter';font-weight:700;font-display:swap;src:url('../fonts/inter-700.woff2') format('woff2')}
:root{--bg:#0D1117;--bg-card:#161B22;--bg-hover:#1C2333;--border:#30363D;--accent:#F59E0B;--accent-dim:rgba(245,158,11,.15);--green:#22C55E;--green-dim:rgba(34,197,94,.15);--red:#EF4444;--red-dim:rgba(239,68,68,.15);--text:#F0F6FC;--text-muted:#8B949E;--text-dim:#4D5562;--radius:8px;--radius-lg:12px;--shadow:0 4px 24px rgba(0,0,0,.4);--transition:200ms ease}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
img,svg{display:block;max-width:100%}
input,select,textarea,button{font-family:inherit;font-size:inherit}
.app-layout{display:flex;flex-direction:column;min-height:100vh}
.main-content{flex:1;padding:1.5rem 1rem;max-width:1400px;width:100%;margin:0 auto}
.header{position:sticky;top:0;z-index:100;background:rgba(13,17,23,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:.75rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.header-logo{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.1rem;letter-spacing:-.02em;color:var(--text)}
.header-logo span{color:var(--accent)}
.header-nav{display:flex;align-items:center;gap:.25rem}
.header-nav a{padding:.4rem .8rem;border-radius:var(--radius);color:var(--text-muted);font-size:.875rem;font-weight:500;transition:background var(--transition),color var(--transition)}
.header-nav a:hover,.header-nav a.active{background:var(--bg-hover);color:var(--text);text-decoration:none}
.header-right{display:flex;align-items:center;gap:.75rem}
.header-username{font-size:.875rem;color:var(--text-muted)}
.btn-logout{font-size:.8rem;padding:.35rem .75rem}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:.4rem;border:none;background:none;color:var(--text)}
.hamburger span{display:block;width:22px;height:2px;background:currentColor;border-radius:2px;transition:transform var(--transition),opacity var(--transition)}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{display:none;position:fixed;inset:0;z-index:200}
.mobile-nav.open{display:block}
.mobile-nav-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6)}
.mobile-nav-panel{position:absolute;top:0;right:0;bottom:0;width:260px;background:var(--bg-card);border-left:1px solid var(--border);padding:1.5rem 1rem;display:flex;flex-direction:column;gap:.25rem;overflow-y:auto}
.mobile-nav-panel a{display:block;padding:.75rem 1rem;border-radius:var(--radius);color:var(--text-muted);font-weight:500;transition:background var(--transition),color var(--transition)}
.mobile-nav-panel a:hover,.mobile-nav-panel a.active{background:var(--bg-hover);color:var(--text);text-decoration:none}
.mobile-nav-panel .nav-divider{height:1px;background:var(--border);margin:.5rem 0}
.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--bg-card);border-top:1px solid var(--border);padding:.5rem 0 calc(.5rem + env(safe-area-inset-bottom))}
.bottom-nav-items{display:flex;justify-content:space-around}
.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.4rem .75rem;border-radius:var(--radius);color:var(--text-muted);font-size:.7rem;font-weight:500;border:none;background:none;cursor:pointer;transition:color var(--transition);text-decoration:none}
.bottom-nav-item svg{width:20px;height:20px}
.bottom-nav-item.active,.bottom-nav-item:hover{color:var(--accent)}
.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}
.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.card-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}
.card-value{font-size:1.75rem;font-weight:700;letter-spacing:-.03em}
.card-sub{font-size:.8rem;color:var(--text-muted);margin-top:.25rem}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem 1.25rem;border-radius:var(--radius);font-weight:600;font-size:.875rem;border:none;cursor:pointer;transition:opacity var(--transition),transform var(--transition);min-height:44px}
.btn:hover{opacity:.88;transform:translateY(-1px)}
.btn:active{transform:none;opacity:1}
.btn-primary{background:var(--accent);color:#000}
.btn-secondary{background:var(--bg-hover);color:var(--text);border:1px solid var(--border)}
.btn-danger{background:var(--red);color:#fff}
.btn-success{background:var(--green);color:#000}
.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}
.btn-sm{padding:.4rem .85rem;font-size:.8rem;min-height:36px}
.btn-block{width:100%}
.form-group{display:flex;flex-direction:column;gap:.4rem}
.form-label{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}
.form-input,.form-select{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.65rem .9rem;color:var(--text);font-size:.9rem;width:100%;transition:border-color var(--transition);min-height:44px}
.form-input:focus,.form-select:focus{outline:none;border-color:var(--accent)}
.form-input::placeholder{color:var(--text-dim)}
.form-hint{font-size:.78rem;color:var(--text-muted)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:20px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.badge::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}
.badge-active{background:var(--green-dim);color:var(--green)}
.badge-paused{background:rgba(139,148,158,.15);color:var(--text-muted)}
.badge-sim{background:var(--accent-dim);color:var(--accent)}
.badge-live{background:var(--green-dim);color:var(--green)}
.badge-pending{background:rgba(245,158,11,.15);color:var(--accent)}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;font-size:.875rem}
th{text-align:left;padding:.6rem .75rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);border-bottom:1px solid var(--border)}
td{padding:.7rem .75rem;border-bottom:1px solid rgba(48,54,61,.5);color:var(--text)}
tr:last-child td{border-bottom:none}
tr:hover td{background:var(--bg-hover)}
.num{font-variant-numeric:tabular-nums}
.pos{color:var(--green)}
.neg{color:var(--red)}
.alert{padding:.85rem 1rem;border-radius:var(--radius);font-size:.875rem;margin-bottom:1rem}
.alert-success{background:var(--green-dim);color:var(--green);border:1px solid rgba(34,197,94,.3)}
.alert-error{background:var(--red-dim);color:var(--red);border:1px solid rgba(239,68,68,.3)}
.alert-info{background:var(--accent-dim);color:var(--accent);border:1px solid rgba(245,158,11,.3)}
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}
.auth-card{width:100%;max-width:420px}
.auth-logo{text-align:center;margin-bottom:2rem}
.auth-logo h1{font-size:2rem;font-weight:800;letter-spacing:-.04em}
.auth-logo h1 span{color:var(--accent)}
.auth-logo p{color:var(--text-muted);font-size:.9rem;margin-top:.4rem}
.auth-card form{display:flex;flex-direction:column;gap:1rem}
.auth-footer{text-align:center;margin-top:1.5rem;font-size:.85rem;color:var(--text-muted)}
.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}
.bot-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1.5rem}
.section-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}
.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-dim);font-size:.9rem}
.toggle-wrap{display:flex;align-items:center;gap:.75rem}
.toggle{position:relative;display:inline-block;width:44px;height:24px}
.toggle input{opacity:0;width:0;height:0}
.toggle-slider{position:absolute;inset:0;cursor:pointer;background:var(--border);border-radius:24px;transition:background var(--transition)}
.toggle-slider::before{content:'';position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform var(--transition)}
.toggle input:checked+.toggle-slider{background:var(--accent)}
.toggle input:checked+.toggle-slider::before{transform:translateX(20px)}
.toggle-label{font-size:.875rem;font-weight:500}
.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem;overflow-x:auto}
.tab-btn{padding:.6rem 1.1rem;border:none;background:none;color:var(--text-muted);font-weight:500;font-size:.875rem;cursor:pointer;border-bottom:2px solid transparent;transition:color var(--transition),border-color var(--transition);white-space:nowrap;min-height:44px}
.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}
.tab-panel{display:none}
.tab-panel.active{display:block}
.chart-wrap{overflow:hidden;border-radius:var(--radius)}
.chart-wrap svg{width:100%;height:auto;display:block}
.sim-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:300;align-items:center;justify-content:center}
.sim-modal-overlay:not(.hidden){display:flex}
.sim-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;max-width:360px;width:100%;margin:1rem}
/* Pair Autocomplete */
.pair-search-wrap{position:relative}
.pair-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);z-index:200;max-height:220px;overflow-y:auto;box-shadow:var(--shadow)}
.pair-dropdown.hidden{display:none}
.pair-dropdown-item{padding:.6rem .9rem;cursor:pointer;font-size:.875rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;transition:background var(--transition)}
.pair-dropdown-item:hover,.pair-dropdown-item.highlighted{background:var(--bg-hover)}
.pair-dropdown-item .pd-name{font-weight:500}
.pair-dropdown-item .pd-pair{font-size:.78rem;color:var(--text-muted)}
/* Favorites */
.fav-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;margin-top:.75rem}
.fav-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem .85rem;position:relative;transition:border-color var(--transition)}
.fav-card:hover{border-color:var(--text-dim)}
.fav-card.fav-active{border-color:rgba(34,197,94,.4)}
.fav-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.25rem;margin-bottom:.5rem}
.fav-name{font-size:.82rem;font-weight:600;line-height:1.3}
.fav-pair{font-size:.7rem;color:var(--text-muted)}
.fav-chg{font-size:.75rem;font-weight:700;white-space:nowrap}
.fav-price{font-size:1rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.2rem}
.fav-vol{font-size:.72rem;color:var(--text-muted)}
.fav-remove{position:absolute;top:.5rem;right:.5rem;background:none;border:none;cursor:pointer;color:var(--text-dim);padding:.2rem;line-height:1;font-size:.95rem;transition:color var(--transition)}
.fav-remove:hover{color:var(--red)}
/* Signal bars */
.signal-bar-wrap{display:flex;align-items:flex-end;gap:2px;height:14px}
.signal-bar{width:4px;background:var(--border);border-radius:1px}
.signal-bar:nth-child(1){height:4px}.signal-bar:nth-child(2){height:7px}.signal-bar:nth-child(3){height:10px}.signal-bar:nth-child(4){height:13px}
.signal-bar.on{background:var(--green)}
@media(max-width:768px){
  .header-nav{display:none}
  .header-right .header-username{display:none}
  .header-right .btn-logout{display:none}
  .hamburger{display:flex}
  .bottom-nav{display:block}
  .main-content{padding:1rem .75rem 5rem}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .card{padding:1rem}
  .card-value{font-size:1.4rem}
  .stats-row{grid-template-columns:repeat(2,1fr)}
  .bot-controls{gap:.5rem}
}
@media(max-width:420px){.stats-row{grid-template-columns:1fr}}
