* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    background: #0A0E17;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    color: #E8EDF5;
    padding: 15px;
}

.app { max-width: 100%; margin: 0; padding: 0; }

/* Top Bar */
.top-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #111827;
    border-bottom: 1px solid #1F2937;
    padding: 10px 20px;
    margin-bottom: 15px;
}

.logo h1 { font-size: 1.3rem; background: linear-gradient(135deg, #F5B041, #F39C12); -webkit-background-clip: text; background-clip: text; color: transparent; }
.logo span { font-size: 0.7rem; color: #6B7280; }

.backtest-controls { display: flex; gap: 8px; flex-wrap: wrap; }
.date-input, .backtest-controls select {
    background: #1F2937;
    border: 1px solid #374151;
    padding: 6px 10px;
    border-radius: 8px;
    color: #E8EDF5;
}
.btn-primary { background: #F39C12; border: none; padding: 6px 15px; border-radius: 8px; cursor: pointer; font-weight: bold; color: #0A0E17; }
.btn-danger { background: #EF4444; border: none; padding: 6px 15px; border-radius: 8px; cursor: pointer; font-weight: bold; color: white; }
.btn-danger-small { background: #EF4444; border: none; padding: 4px 10px; border-radius: 6px; cursor: pointer; font-weight: bold; color: white; font-size: 0.7rem; }

/* Main Content - Full Width */
.main-content {
    position: relative;
    width: 100%;
    padding: 0 20px;
}

/* Chart Area - Full Width */
.chart-area {
    background: #111827;
    border: 1px solid #1F2937;
    border-radius: 12px;
    padding: 12px;
    width: 100%;
}

.chart-controls-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 12px;
    flex-wrap: wrap;
    gap: 10px;
}

.timeframe-selector { display: flex; gap: 6px; flex-wrap: wrap; }
.tf-btn {
    background: #1F2937;
    border: 1px solid #374151;
    padding: 5px 12px;
    border-radius: 20px;
    cursor: pointer;
    font-size: 0.7rem;
    color: #9CA3AF;
}
.tf-btn.active { background: #F39C12; color: #0A0E17; border-color: #F39C12; }

.chart-zoom { display: flex; gap: 6px; }
.zoom-btn {
    background: #1F2937;
    border: 1px solid #374151;
    padding: 5px 12px;
    border-radius: 20px;
    cursor: pointer;
    color: #9CA3AF;
}
.zoom-btn:hover { background: #374151; color: #E8EDF5; }

/* Playback Bar */
.playback-bar {
    display: flex;
    gap: 8px;
    align-items: center;
    background: #1F2937;
    border-radius: 40px;
    padding: 6px 16px;
    margin-top: 12px;
    flex-wrap: wrap;
}
.playback-btn {
    background: #374151;
    border: none;
    padding: 5px 14px;
    border-radius: 30px;
    cursor: pointer;
    color: #E8EDF5;
    font-weight: 500;
}
.playback-btn.reset { background: #4B5563; }
.playback-btn.play { background: #10B981; color: #0A0E17; }
.playback-btn.pause { background: #F59E0B; color: #0A0E17; }
.speed-control { display: flex; gap: 5px; margin-left: auto; }
.speed-btn {
    background: #374151;
    border: none;
    padding: 3px 10px;
    border-radius: 20px;
    cursor: pointer;
    font-size: 0.7rem;
    color: #9CA3AF;
}
.speed-btn.active { background: #F39C12; color: #0A0E17; }
.candle-counter { font-family: monospace; color: #F5B041; font-size: 0.8rem; }

/* COLLAPSIBLE ORDER DRAWER */
.order-drawer {
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 100;
    transition: all 0.3s ease;
}

.drawer-handle {
    background: #1F2937;
    border: 1px solid #374151;
    border-radius: 12px 0 0 12px;
    padding: 15px 8px;
    cursor: pointer;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-size: 0.8rem;
    color: #9CA3AF;
}
.drawer-handle:hover { background: #2D3748; }

.drawer-content {
    position: fixed;
    right: -380px;
    top: 0;
    width: 360px;
    height: 100vh;
    background: #111827;
    border-left: 1px solid #1F2937;
    transition: right 0.3s ease;
    overflow-y: auto;
    z-index: 99;
    padding: 20px;
}

.order-drawer.open .drawer-content {
    right: 0;
}
.order-drawer.open .drawer-handle {
    right: 360px;
}

.mini-price-row {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
}
.mini-sell { color: #EF4444; font-size: 0.7rem; }
.mini-buy { color: #10B981; font-size: 0.7rem; }
.drawer-icon { font-size: 0.6rem; margin-top: 8px; }

.close-drawer {
    background: none;
    border: none;
    color: #9CA3AF;
    cursor: pointer;
    font-size: 1rem;
}

/* ORDER PANEL */
.order-panel {
    background: #111827;
    border-radius: 16px;
    padding: 16px;
}
.order-panel.buy-mode { border: 1px solid #10B981; }
.order-panel.sell-mode { border: 1px solid #EF4444; }

.order-header { display: flex; justify-content: space-between; margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid #1F2937; }
.pair { font-weight: bold; color: #F5B041; }

.price-row { display: flex; gap: 12px; margin-bottom: 12px; }
.sell-price-box, .buy-price-box {
    flex: 1;
    text-align: center;
    padding: 10px;
    border-radius: 12px;
    cursor: pointer;
}
.sell-price-box { background: rgba(239, 68, 68, 0.1); border: 1px solid #EF4444; }
.buy-price-box { background: rgba(16, 185, 129, 0.1); border: 1px solid #10B981; }
.sell-price-box .price { color: #EF4444; font-size: 1.1rem; font-weight: bold; }
.buy-price-box .price { color: #10B981; font-size: 1.1rem; font-weight: bold; }

.info-row { display: flex; justify-content: space-between; padding: 8px 0; border-top: 1px solid #1F2937; border-bottom: 1px solid #1F2937; margin-bottom: 12px; font-size: 0.7rem; }
.ratio { color: #F5B041; }

.order-tabs { display: flex; gap: 4px; margin-bottom: 12px; border-bottom: 1px solid #1F2937; }
.order-tab {
    background: none;
    border: none;
    padding: 6px 16px;
    color: #9CA3AF;
    cursor: pointer;
    font-size: 0.8rem;
}
.order-tab.active { color: #F5B041; border-bottom: 2px solid #F5B041; }

.order-form { display: none; }
.order-form.active { display: block; }

.form-row { margin-bottom: 12px; }
.form-row label { display: block; font-size: 0.65rem; color: #9CA3AF; margin-bottom: 4px; }

.number-input {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #1F2937;
    border: 1px solid #374151;
    border-radius: 10px;
    padding: 4px 10px;
}
.number-input button {
    background: #374151;
    border: none;
    width: 26px;
    height: 26px;
    border-radius: 6px;
    cursor: pointer;
    color: #E8EDF5;
}
.number-input input {
    flex: 1;
    background: transparent;
    border: none;
    color: #E8EDF5;
    text-align: center;
}

.tp-sl-input { display: flex; gap: 6px; }
.tp-sl-input input {
    flex: 1;
    background: #1F2937;
    border: 1px solid #374151;
    padding: 8px;
    border-radius: 8px;
    color: #E8EDF5;
}
.tp-sl-controls button {
    background: #374151;
    border: none;
    width: 32px;
    border-radius: 8px;
    cursor: pointer;
    color: #E8EDF5;
}

.tp-sl-info { display: flex; gap: 12px; margin-top: 5px; font-size: 0.65rem; }
.tp-sl-info span:first-child { color: #10B981; }
.tp-sl-info span:nth-child(2) { color: #F5B041; }

.confirm-btn {
    width: 100%;
    padding: 12px;
    border: none;
    border-radius: 40px;
    font-weight: bold;
    cursor: pointer;
    margin-top: 10px;
}
.confirm-btn.buy-mode { background: #10B981; color: #0A0E17; }
.confirm-btn.sell-mode { background: #EF4444; color: white; }

.cancel-btn {
    width: 100%;
    padding: 10px;
    background: transparent;
    border: 1px solid #374151;
    border-radius: 40px;
    color: #9CA3AF;
    cursor: pointer;
    margin-top: 8px;
}

.order-footer { margin-top: 12px; padding-top: 10px; border-top: 1px solid #1F2937; font-size: 0.65rem; }
.footer-row { display: flex; justify-content: space-between; margin-bottom: 4px; color: #9CA3AF; }

/* Tables */
.positions-panel, .journal-panel {
    background: #111827;
    border: 1px solid #1F2937;
    border-radius: 12px;
    padding: 12px;
    margin: 15px 20px;
}
.panel-header { display: flex; justify-content: space-between; margin-bottom: 10px; font-weight: bold; font-size: 0.85rem; align-items: center; }
.table-scroll { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 0.7rem; }
th { text-align: left; padding: 6px 5px; background: #0A0E17; color: #9CA3AF; border-bottom: 1px solid #1F2937; }
td { padding: 6px 5px; border-bottom: 1px solid #1F2937; }
.empty { text-align: center; color: #6B7280; padding: 15px; }
.pnl-positive { color: #10B981; }
.pnl-negative { color: #EF4444; }
.close-btn, .delete-trade-btn {
    background: #EF4444;
    border: none;
    padding: 2px 8px;
    border-radius: 12px;
    cursor: pointer;
    color: white;
    font-size: 0.65rem;
}
.btn-small { background: #374151; border: none; padding: 4px 12px; border-radius: 15px; cursor: pointer; color: #E8EDF5; font-size: 0.7rem; }