.upload-zone-card{grid-column:1 / -1}.brokerage-select{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);font-size:.82rem;padding:6px 12px;cursor:pointer;transition:border-color .2s}.brokerage-select:hover,.brokerage-select:focus{border-color:var(--accent-cyan);outline:none}.brokerage-select option{background:var(--bg-secondary);color:var(--text-primary)}.upload-dropzone{border:2px dashed var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2xl) var(--space-xl);text-align:center;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;min-height:180px;display:flex;align-items:center;justify-content:center}.upload-dropzone:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#06d6a005,#4361ee05);transition:opacity .3s;opacity:0}.upload-dropzone:hover:before,.upload-dropzone.dragging:before{opacity:1}.upload-dropzone:hover{border-color:var(--accent-cyan);background:#06d6a008}.upload-dropzone.dragging{border-color:var(--accent-blue);background:#4361ee0d;transform:scale(1.01)}.upload-dropzone.uploading{pointer-events:none;border-color:var(--accent-purple)}.upload-content,.upload-progress,.upload-preview{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);z-index:1}.upload-icon{color:var(--text-muted);margin-bottom:var(--space-sm);transition:color .3s,transform .3s}.upload-dropzone:hover .upload-icon{color:var(--accent-cyan);transform:translateY(-4px)}.upload-text{font-size:1rem;font-weight:500;color:var(--text-primary)}.upload-hint{font-size:.8rem;color:var(--text-muted)}.upload-status{font-weight:600;color:var(--accent-purple);font-size:.95rem}.spinner{width:36px;height:36px;border:3px solid var(--border-subtle);border-top-color:var(--accent-purple);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.upload-preview img{max-height:120px;border-radius:var(--radius-sm);opacity:.6}.upload-result{display:flex;flex-direction:column;gap:var(--space-md)}.result-badge{padding:10px 16px;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;text-align:center}.badge-success{background:#06d6a01a;color:var(--accent-green);border:1px solid rgba(6,214,160,.2)}.badge-danger{background:#ef476f1a;color:var(--accent-red);border:1px solid rgba(239,71,111,.2);animation:pulse-red 2s infinite}.result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md)}.result-item{display:flex;flex-direction:column;gap:4px}.result-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px}.result-value{font-size:1.15rem;font-weight:600}.violations-list{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.violation-tag{background:#ef476f1a;color:var(--accent-red);padding:6px 14px;border-radius:var(--radius-sm);font-size:.82rem;font-weight:500;border:1px solid rgba(239,71,111,.15)}.extracted-trades{background:var(--bg-glass);border-radius:var(--radius-sm);padding:var(--space-md)}.trade-row{display:flex;align-items:center;gap:var(--space-md);padding:6px 0;border-bottom:1px solid var(--border-subtle)}.trade-row:last-child{border-bottom:none}.trade-ticker{font-weight:600;font-family:var(--font-mono);color:var(--accent-cyan);min-width:60px}.trade-type{font-size:.8rem;color:var(--text-muted);flex:1}.trade-pnl{font-weight:600}.btn-reset{background:var(--bg-input);border:1px solid var(--border-subtle);color:var(--text-secondary);padding:10px 20px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.85rem;cursor:pointer;transition:all .2s;align-self:center}.btn-reset:hover{background:#06d6a01a;color:var(--accent-cyan);border-color:var(--accent-cyan)}.upload-error{background:#ef476f14;border:1px solid rgba(239,71,111,.2);border-radius:var(--radius-sm);color:var(--accent-red);padding:12px 16px;font-size:.85rem;margin-top:var(--space-sm)}@media(max-width:768px){.result-grid{grid-template-columns:repeat(2,1fr)}}.status-widget{position:relative;overflow:hidden}.status-disciplined{border-color:#06d6a026;box-shadow:var(--shadow-glow-cyan)}.status-gambling{border-color:#ef476f33;box-shadow:var(--shadow-glow-red);animation:pulse-red 3s infinite}.status-indicator{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.status-orb{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative}.orb-green{background:radial-gradient(circle,#06d6a033,#06d6a00d);border:2px solid rgba(6,214,160,.3);animation:pulse-green 3s infinite}.orb-red{background:radial-gradient(circle,#ef476f33,#ef476f0d);border:2px solid rgba(239,71,111,.3);animation:pulse-red 2s infinite}.status-emoji{font-size:1.8rem}.status-label{font-size:1.1rem;font-weight:800;letter-spacing:3px;text-transform:uppercase}.status-details{display:flex;flex-direction:column;gap:var(--space-md)}.status-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-subtle)}.status-row:last-child{border-bottom:none}.status-key{font-size:.82rem;color:var(--text-muted)}.status-val{font-size:.9rem;font-weight:600}.skill-bar-container{width:140px;height:22px;background:var(--bg-input);border-radius:11px;position:relative;overflow:hidden}.skill-bar-fill{height:100%;border-radius:11px;transition:width 1s cubic-bezier(.4,0,.2,1);position:relative}.skill-bar-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);background-size:200% 100%;animation:shimmer 2s infinite}.skill-bar-label{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:.7rem;font-weight:700;color:var(--text-primary);text-shadow:0 1px 2px rgba(0,0,0,.5)}.metrics-bar{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-md)}.metric-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--space-md) var(--space-sm);text-align:center}.metric-icon{font-size:1.4rem;margin-bottom:2px}.metric-value{font-size:1.4rem;font-weight:800;animation:countUp .6s ease-out}.metric-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;font-weight:500}@media(max-width:1024px){.metrics-bar{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.metrics-bar{grid-template-columns:repeat(2,1fr)}}.skill-chart-card{grid-column:1 / -1}.chart-container{height:350px;position:relative}.chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-sm);color:var(--text-secondary)}.chart-empty-icon{font-size:2.5rem;margin-bottom:var(--space-sm);opacity:.5}.chart-empty p{font-size:.9rem}.daily-log-card{grid-column:1 / -1}.log-count{font-size:.78rem;color:var(--text-muted);font-family:var(--font-mono)}.log-empty{text-align:center;padding:var(--space-2xl);color:var(--text-muted)}.log-empty span{font-size:2rem;display:block;margin-bottom:var(--space-md)}.log-table-wrapper{overflow-x:auto}.log-table{width:100%;border-collapse:collapse;font-size:.85rem}.log-table th{text-align:left;padding:10px 14px;font-size:.72rem;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);font-weight:600}.log-table td{padding:12px 14px;border-bottom:1px solid var(--border-subtle)}.log-row{cursor:pointer;transition:background .2s}.log-row:hover{background:#ffffff05}.row-violation{background:#ef476f08}.row-violation:hover{background:#ef476f0f}.status-badge{font-size:.75rem;padding:4px 10px;border-radius:20px;font-weight:500;white-space:nowrap}.badge-disciplined{background:#06d6a01a;color:var(--accent-green)}.badge-gambling{background:#ef476f1a;color:var(--accent-red)}.btn-delete{background:none;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;padding:2px 8px;border-radius:4px;transition:all .2s;line-height:1}.btn-delete:hover{color:var(--accent-red);background:#ef476f1a}.detail-row td{padding:0;border-bottom:2px solid var(--border-subtle)}.detail-content{padding:var(--space-lg);background:#00000026;display:flex;flex-direction:column;gap:var(--space-md);animation:slideIn .2s ease-out}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md)}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);font-weight:600;margin-bottom:4px}.detail-value{font-size:.9rem;font-weight:500}.violation-tags{display:flex;flex-wrap:wrap;gap:6px}.violation-tag-small{background:#ef476f1a;color:var(--accent-red);padding:3px 10px;border-radius:var(--radius-sm);font-size:.78rem}.trades-mini-table{width:100%;border-collapse:collapse;font-size:.8rem;margin-top:6px}.trades-mini-table th{text-align:left;padding:6px 10px;font-size:.68rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border-subtle)}.trades-mini-table td{padding:6px 10px;border-bottom:1px solid rgba(255,255,255,.02)}@media(max-width:768px){.detail-grid{grid-template-columns:repeat(2,1fr)}}.rr-card{grid-column:1 / -1}.rr-stats{display:flex;gap:var(--space-xl);margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-subtle)}.rr-stat{display:flex;flex-direction:column;gap:4px}.rr-stat-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.7px;color:var(--text-muted)}.rr-stat-value{font-size:1.2rem;font-weight:700}.rr-chart-container{height:280px}@media(max-width:600px){.rr-stats{flex-direction:column;gap:var(--space-md)}}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-xl);background:#11182799;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:50}.header-left{display:flex;align-items:center;gap:var(--space-lg)}.logo{display:flex;align-items:center;gap:var(--space-sm)}.logo-icon{font-size:1.5rem}.logo-text{font-size:1.15rem;font-weight:800;background:linear-gradient(135deg,#06d6a0,#4361ee,#7b2ff7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.header-subtitle{font-size:.78rem;color:var(--text-muted);display:none}@media(min-width:768px){.header-subtitle{display:inline}}.header-right{display:flex;align-items:center;gap:var(--space-md)}.header-status{display:flex;align-items:center;gap:var(--space-sm);background:var(--bg-glass);padding:6px 14px;border-radius:20px;border:1px solid var(--border-subtle)}.header-dot{width:8px;height:8px;border-radius:50%}.dot-green{background:var(--accent-green);box-shadow:0 0 8px var(--accent-green-glow)}.dot-red{background:var(--accent-red);box-shadow:0 0 8px var(--accent-red-glow);animation:pulse-red 2s infinite}.header-status-text{font-size:.78rem;color:var(--text-secondary);font-weight:500}.app-main{flex:1;padding:var(--space-xl);max-width:1400px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-lg)}.grid-row-2{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--space-lg)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-2xl);color:var(--text-muted);min-height:400px}.app-footer{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md);font-size:.75rem;color:var(--text-muted);border-top:1px solid var(--border-subtle)}@media(max-width:900px){.grid-row-2{grid-template-columns:1fr}.app-main{padding:var(--space-md)}}@media(max-width:600px){.app-header{padding:var(--space-sm) var(--space-md)}.logo-text{font-size:1rem}}:root{--bg-primary: #0a0e17;--bg-secondary: #111827;--bg-card: rgba(17, 24, 39, .7);--bg-card-hover: rgba(22, 31, 48, .85);--bg-glass: rgba(255, 255, 255, .03);--bg-input: rgba(255, 255, 255, .05);--accent-cyan: #06d6a0;--accent-cyan-glow: rgba(6, 214, 160, .3);--accent-blue: #4361ee;--accent-blue-glow: rgba(67, 97, 238, .3);--accent-purple: #7b2ff7;--accent-purple-glow: rgba(123, 47, 247, .3);--accent-red: #ef476f;--accent-red-glow: rgba(239, 71, 111, .35);--accent-amber: #ffd166;--accent-amber-glow: rgba(255, 209, 102, .3);--accent-green: #06d6a0;--accent-green-glow: rgba(6, 214, 160, .25);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--text-accent: #06d6a0;--border-subtle: rgba(255, 255, 255, .06);--border-glow: rgba(6, 214, 160, .15);--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--shadow-card: 0 4px 24px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-glow-cyan: 0 0 30px rgba(6, 214, 160, .15), 0 0 60px rgba(6, 214, 160, .05);--shadow-glow-red: 0 0 30px rgba(239, 71, 111, .2), 0 0 60px rgba(239, 71, 111, .08)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 20% 0%,rgba(67,97,238,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(123,47,247,.06) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(6,214,160,.03) 0%,transparent 70%);z-index:-1;pointer-events:none}#root{min-height:100vh}.card{background:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-card);transition:all .3s cubic-bezier(.4,0,.2,1)}.card:hover{background:var(--bg-card-hover);border-color:var(--border-glow)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.card-title{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-secondary)}.card-title .icon{margin-right:var(--space-sm);font-size:1rem}.mono{font-family:var(--font-mono)}.text-green{color:var(--accent-green)}.text-red{color:var(--accent-red)}.text-amber{color:var(--accent-amber)}.text-cyan{color:var(--accent-cyan)}.text-blue{color:var(--accent-blue)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-green{0%,to{box-shadow:0 0 8px #06d6a04d}50%{box-shadow:0 0 24px #06d6a080}}@keyframes pulse-red{0%,to{box-shadow:0 0 8px #ef476f4d}50%{box-shadow:0 0 24px #ef476f80}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes countUp{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.animate-in{animation:fadeInUp .5s ease-out forwards}.animate-in:nth-child(1){animation-delay:0s}.animate-in:nth-child(2){animation-delay:.05s}.animate-in:nth-child(3){animation-delay:.1s}.animate-in:nth-child(4){animation-delay:.15s}.animate-in:nth-child(5){animation-delay:.2s}.animate-in:nth-child(6){animation-delay:.25s}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}
