body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}#root,body,html{height:100%;overflow:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f1117;--bg-panel:#181c27;--bg-row:#1a1e2e;--bg-row-alt:#1e2233;--bg-hover:#252a3d;--border:#2e3450;--accent:#7c63f5;--accent-dim:#4a3fa0;--gold:#f0c060;--text:#d4daf0;--text-dim:#7a84a8;--text-header:#9ba8cc;--red:#e05c5c;--green:#4caf7d;--radius:6px;--shadow:0 4px 24px #0009}body{background:#0f1117;background:var(--bg);color:#d4daf0;color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:13px;line-height:1.4}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{background:#181c27;background:var(--bg-panel);border-bottom:1px solid #2e3450;border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:10px 18px}.app-header,.header-left{align-items:center;display:flex}.header-left{gap:14px}.header-right{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.app-title{color:#7c63f5;color:var(--accent);font-size:20px;font-weight:700;letter-spacing:.5px;white-space:nowrap}.title-icon{color:#f0c060;color:var(--gold)}.card-count{background:#0f1117;background:var(--bg);border:1px solid #2e3450;border:1px solid var(--border);border-radius:20px;color:#7a84a8;color:var(--text-dim);font-size:12px;padding:2px 8px}.total-value{align-items:flex-end;display:flex;flex-direction:column;line-height:1.2}.total-label{color:#7a84a8;color:var(--text-dim);font-size:10px;letter-spacing:.5px;text-transform:uppercase}.total-amount{color:#f0c060;color:var(--gold);font-size:18px;font-weight:700}.btn{align-items:center;border:none;border-radius:6px;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:6px 14px;transition:background .15s,opacity .15s;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.45}.btn-primary{background:#7c63f5;background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:#9278ff}.btn-secondary{background:#0f1117;background:var(--bg);border:1px solid #2e3450;border:1px solid var(--border);color:#d4daf0;color:var(--text)}.btn-secondary:hover:not(:disabled){background:#252a3d;background:var(--bg-hover)}.btn-danger{background:#e05c5c;background:var(--red);color:#fff}.btn-danger:hover:not(:disabled){background:#c94444}.btn-sm{font-size:11px;padding:4px 10px}.app-main{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.status-message{align-items:center;color:#7a84a8;color:var(--text-dim);display:flex;gap:10px;padding:20px 24px}.status-message.error{color:#e05c5c;color:var(--red)}.spinner{animation:spin .7s linear infinite;border:2px solid #2e3450;border-top-color:#7c63f5;border:2px solid var(--border);border-radius:50%;border-top-color:var(--accent);display:inline-block;flex-shrink:0;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.csv-upload{align-items:center;display:flex;gap:8px}.csv-upload input[type=file]{display:none}.refresh-overlay{align-items:center;background:#000000a6;display:flex;inset:0;justify-content:center;position:fixed;z-index:200}.refresh-box{background:#181c27;background:var(--bg-panel);border:1px solid #2e3450;border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 24px #0009;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;min-width:340px;padding:28px 36px}.refresh-box h3{color:#7c63f5;color:var(--accent);font-size:15px}.refresh-progress-bar{background:#2e3450;background:var(--border);border-radius:3px;height:6px;overflow:hidden}.refresh-progress-fill{background:#7c63f5;background:var(--accent);border-radius:3px;height:100%;transition:width .3s}.refresh-current{color:#7a84a8;color:var(--text-dim);font-size:12px;min-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.refresh-stats{color:#d4daf0;color:var(--text);font-size:13px}.refresh-done{color:#4caf7d;color:var(--green);font-weight:600}.refresh-error{color:#e05c5c;color:var(--red);font-size:12px}.filter-bar{align-items:center;background:#181c27;background:var(--bg-panel);border-bottom:1px solid #2e3450;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;flex-wrap:wrap;gap:6px;padding:8px 12px}.filter-bar label{color:#7a84a8;color:var(--text-dim);font-size:11px;white-space:nowrap}.filter-input{background:#0f1117;background:var(--bg);border:1px solid #2e3450;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);color:#d4daf0;color:var(--text);flex:1 1;font-size:12px;max-width:320px;min-width:160px;outline:none;padding:5px 10px;transition:border-color .15s}.filter-input:focus{border-color:#7c63f5;border-color:var(--accent)}.filter-input::placeholder{color:#7a84a8;color:var(--text-dim)}.filter-select{background:#0f1117;background:var(--bg);border:1px solid #2e3450;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);color:#d4daf0;color:var(--text);cursor:pointer;font-size:12px;outline:none;padding:5px 8px}.filter-select:focus{border-color:#7c63f5;border-color:var(--accent)}.filter-clear{background:none;border:none;color:#7a84a8;color:var(--text-dim);cursor:pointer;font-size:12px;text-decoration:underline}.filter-clear:hover{color:#d4daf0;color:var(--text)}.result-count{color:#7a84a8;color:var(--text-dim);font-size:11px;margin-left:auto;white-space:nowrap}.table-wrapper{flex:1 1;overflow:auto;position:relative}table{border-collapse:collapse;min-width:100%;width:max-content}thead{position:sticky;top:0;z-index:10}thead tr th{background:#181c27;background:var(--bg-panel);border-bottom:2px solid #2e3450;border-bottom:2px solid var(--border);border-right:1px solid #2e3450;border-right:1px solid var(--border);color:#9ba8cc;color:var(--text-header);font-size:11px;font-weight:600;letter-spacing:.4px;padding:0;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap}thead tr th:last-child{border-right:none}.th-inner{display:flex;flex-direction:column}.th-label{align-items:center;cursor:pointer;display:flex;gap:4px;padding:6px 10px 4px}.th-label:hover{color:#d4daf0;color:var(--text)}.sort-icon{font-size:9px;opacity:.5}.sort-icon.active{color:#7c63f5;color:var(--accent);opacity:1}.th-filter input{background:#0f1117;background:var(--bg);border:none;border-top:1px solid #2e3450;border-top:1px solid var(--border);color:#d4daf0;color:var(--text);font-size:11px;outline:none;padding:3px 8px 5px;width:100%}.th-filter input:focus{background:#252a3d;background:var(--bg-hover)}.th-filter input::placeholder{color:#7a84a8;color:var(--text-dim)}tbody tr{border-bottom:1px solid #2e3450;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}tbody tr:nth-child(2n){background:#1e2233;background:var(--bg-row-alt)}tbody tr:nth-child(odd){background:#1a1e2e;background:var(--bg-row)}tbody tr:hover{background:#252a3d;background:var(--bg-hover)}tbody td{border-right:1px solid #2e3450;border-right:1px solid var(--border);max-width:200px;overflow:hidden;padding:5px 10px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}tbody td:last-child{border-right:none}.col-name{color:#c8d4ff;font-weight:500;min-width:180px}.col-val{color:#f0c060;color:var(--gold);font-weight:600;min-width:70px;text-align:right}.col-qty{min-width:50px;text-align:center}.col-narrow{min-width:80px}.col-med{min-width:120px}.col-wide{min-width:160px}.col-select{max-width:36px;min-width:36px;text-align:center;width:36px}.col-select input[type=checkbox]{accent-color:#7c63f5;accent-color:var(--accent);cursor:pointer;height:15px;width:15px}.delete-bar{align-items:center;background:#2a1a1a;border-bottom:1px solid #e05c5c;border-bottom:1px solid var(--red);color:#d4daf0;color:var(--text);display:flex;flex-shrink:0;font-size:12px;gap:10px;padding:6px 12px}.editable-cell{position:relative}.editable-cell input{background:#252a3d;background:var(--bg-hover);border:1px solid #7c63f5;border:1px solid var(--accent);border-radius:3px;color:#d4daf0;color:var(--text);font-size:13px;outline:none;padding:2px 6px;width:100%}.rarity-common{color:#aaa}.rarity-uncommon{color:#afc4d0}.rarity-rare{color:#f0c060;color:var(--gold)}.rarity-mythic{color:#e07840}.foil-toggle{cursor:pointer}.foil-badge{background:linear-gradient(135deg,#9278ff44,#f0c06044);border:1px solid #9278ff66;border-radius:3px;color:#ccc;display:inline-block;font-size:10px;padding:1px 5px}.foil-off{opacity:.3}.modal-backdrop{align-items:center;background:#000000bf;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:100}.modal{background:#181c27;background:var(--bg-panel);border:1px solid #2e3450;border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 24px #0009;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:0;max-height:90vh;max-width:700px;overflow-y:auto;width:100%}.modal-header{align-items:flex-start;border-bottom:1px solid #2e3450;border-bottom:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;padding:18px 20px 12px}.modal-header h2{color:#c8d4ff;font-size:17px;line-height:1.3}.modal-close{background:none;border:none;color:#7a84a8;color:var(--text-dim);cursor:pointer;flex-shrink:0;font-size:22px;line-height:1;padding:0 2px}.modal-close:hover{color:#d4daf0;color:var(--text)}.modal-body{display:flex;flex-wrap:wrap;gap:20px;padding:20px}.modal-image-col{flex-shrink:0}.card-image{border-radius:10px;box-shadow:0 6px 24px #000000b3;display:block;width:220px}.card-image-placeholder{align-items:center;background:#0f1117;background:var(--bg);border:1px solid #2e3450;border:1px solid var(--border);border-radius:10px;color:#7a84a8;color:var(--text-dim);display:flex;font-size:12px;height:308px;justify-content:center;width:220px}.modal-details{flex:1 1;min-width:220px}.detail-grid{grid-gap:5px 14px;display:grid;font-size:12px;gap:5px 14px;grid-template-columns:auto 1fr}.detail-label{align-self:center;color:#7a84a8;color:var(--text-dim);white-space:nowrap}.detail-value{align-self:center;color:#d4daf0;color:var(--text);word-break:break-word}.detail-section{border-top:1px solid #2e3450;border-top:1px solid var(--border);font-size:11px;grid-column:1/-1;letter-spacing:.4px;margin-top:10px;padding-top:8px;text-transform:uppercase}.detail-section,.empty-state{color:#7a84a8;color:var(--text-dim)}.empty-state{align-items:center;display:flex;flex-direction:column;gap:10px;justify-content:center;padding:60px 20px;text-align:center}.empty-state-icon{font-size:48px;opacity:.3}.empty-state p{font-size:13px}.nav-links{display:flex;gap:8px}.nav-link{border-radius:6px;border-radius:var(--radius);color:#7a84a8;color:var(--text-dim);font-size:12px;padding:4px 10px;text-decoration:none;transition:background .15s,color .15s}.nav-link:hover{background:#252a3d;background:var(--bg-hover);color:#d4daf0;color:var(--text)}.login-page{align-items:center;display:flex;flex:1 1;justify-content:center;padding:40px 20px}.login-card{background:#181c27;background:var(--bg-panel);border:1px solid #2e3450;border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 24px #0009;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:16px;max-width:380px;padding:32px 36px;width:100%}.login-card h2{color:#7c63f5;color:var(--accent);font-size:18px;text-align:center}.login-card form{display:flex;flex-direction:column;gap:10px}.login-label{color:#7a84a8;color:var(--text-dim);font-size:11px;letter-spacing:.4px;text-transform:uppercase}.login-input{background:#0f1117;background:var(--bg);border:1px solid #2e3450;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);color:#d4daf0;color:var(--text);font-size:13px;outline:none;padding:8px 12px;transition:border-color .15s}.login-input:focus{border-color:#7c63f5;border-color:var(--accent)}.login-btn{justify-content:center;margin-top:6px;padding:8px 14px;width:100%}.login-error{color:#e05c5c;color:var(--red);font-size:12px;margin:0}.login-info{color:#d4daf0;color:var(--text);font-size:13px;text-align:center}.login-toggle{color:#7a84a8;color:var(--text-dim);font-size:12px;margin:0;text-align:center}.login-toggle-btn{background:none;border:none;color:#7c63f5;color:var(--accent);cursor:pointer;font-size:12px;text-decoration:underline}.login-toggle-btn:hover{color:#9278ff}.add-card-modal{background:#181c27;background:var(--bg-panel);border:1px solid #2e3450;border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 24px #0009;box-shadow:var(--shadow);display:flex;flex-direction:column;height:85vh;max-width:720px;overflow:hidden;width:100%}.add-card-search{align-items:center;border-bottom:1px solid #2e3450;border-bottom:1px solid var(--border);display:flex;gap:10px;padding:14px 20px}.add-card-input{background:#0f1117;background:var(--bg);border:1px solid #2e3450;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);color:#d4daf0;color:var(--text);flex:1 1;font-size:14px;outline:none;padding:8px 12px;transition:border-color .15s}.add-card-input:focus{border-color:#7c63f5;border-color:var(--accent)}.add-card-input::placeholder{color:#7a84a8;color:var(--text-dim)}.add-card-grid{align-content:start;display:flex;flex:1 1;flex-wrap:wrap;gap:12px;justify-content:center;min-height:0;overflow-y:auto;padding:16px}.add-card-item{background:#0f1117;background:var(--bg);border:1px solid #2e3450;border:1px solid var(--border);border-radius:10px;cursor:pointer;flex-shrink:0;overflow:hidden;transition:transform .15s,box-shadow .15s;width:160px}.add-card-item:hover{border-color:#7c63f5;border-color:var(--accent);box-shadow:0 6px 20px #00000080;transform:translateY(-3px)}.add-card-item.adding{opacity:.5;pointer-events:none}.add-card-item img{border-radius:10px 10px 0 0;display:block;width:100%}.add-card-label{color:#7a84a8;color:var(--text-dim);display:flex;font-size:11px;gap:4px;justify-content:space-between;overflow:hidden;padding:6px 8px}.add-card-label>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-card-price{color:#f0c060;color:var(--gold);flex-shrink:0;font-weight:600}.add-card-placeholder{align-items:center;aspect-ratio:488/680;background:#1a1e2e;background:var(--bg-row);display:flex;font-size:12px;justify-content:center;padding:10px;width:100%}.add-card-empty,.add-card-placeholder{color:#7a84a8;color:var(--text-dim);text-align:center}.add-card-empty{font-size:13px;grid-column:1/-1;padding:40px 20px}
/*# sourceMappingURL=main.803f744f.css.map*/