*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0f0f1a;color:#e0e0e0}#root{min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#1a1a2e}::-webkit-scrollbar-thumb{background:#3a3a5e;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#4a4a6e}::selection{background:#00d4ff4d;color:#fff}.navbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:linear-gradient(135deg,#1a1a2e,#16213e);box-shadow:0 2px 10px #0000004d}.navbar-brand h1{color:#00d4ff;margin:0;font-size:1.5rem;font-weight:700}.navbar-menu{display:flex;list-style:none;margin:0;padding:0;gap:.5rem}.navbar-menu a{color:#e0e0e0;text-decoration:none;padding:.6rem 1.2rem;border-radius:8px;transition:all .3s ease;font-weight:500}.navbar-menu a:hover{background:#00d4ff1a;color:#00d4ff}.navbar-menu a.active{background:#00d4ff33;color:#00d4ff}.dashboard{padding:2rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.dashboard-header h2{color:#e0e0e0;margin:0}.update-status{display:flex;align-items:center;gap:1rem}.last-updated{color:#a0a0a0;font-size:.85rem}.update-error{color:#ff4d4d;font-size:.85rem}.refresh-btn{background:linear-gradient(145deg,#6c5ce7,#8b7cf7);color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s}.refresh-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6c5ce766}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:linear-gradient(145deg,#1e1e2e,#252538);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:0 4px 15px #0003}.card-label{color:#a0a0a0;font-size:.9rem}.card-value{color:#e0e0e0;font-size:1.5rem;font-weight:700}.card-value.profit{color:#00e676}.card-value.loss{color:#ff4d4d}.performance-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.performance-box{background:linear-gradient(145deg,#1e1e2e,#252538);border-radius:12px;padding:1.5rem;box-shadow:0 4px 15px #0003}.performance-box h3{color:#e0e0e0;margin:0 0 1rem;font-size:1.1rem}.performance-box ul{list-style:none;padding:0;margin:0}.performance-box li{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.performance-box li:last-child{border-bottom:none}.performance-box .stock-name{color:#e0e0e0;font-weight:500}.performance-box .profit{color:#00e676;font-weight:600}.performance-box .loss{color:#ff4d4d;font-weight:600}.performance-box .empty{color:#a0a0a0;text-align:center;padding:1rem}.stock-card{background:linear-gradient(145deg,#1e1e2e,#252538);border-radius:12px;padding:1.5rem;box-shadow:0 4px 15px #0003;transition:transform .3s ease,box-shadow .3s ease}.stock-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000004d}.stock-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.stock-info{display:flex;flex-direction:column;gap:.25rem}.stock-symbol{font-size:1.25rem;font-weight:700;color:#00d4ff}.stock-name{font-size:.9rem;color:#a0a0a0}.stock-actions{display:flex;gap:.5rem}.btn-edit,.btn-delete{padding:.4rem .8rem;border:none;border-radius:6px;cursor:pointer;font-size:.8rem;transition:all .2s ease}.btn-edit{background:#00d4ff33;color:#00d4ff}.btn-edit:hover{background:#00d4ff4d}.stock-details{display:flex;flex-direction:column;gap:.75rem}.detail-row{display:flex;justify-content:space-between;align-items:center}.label{color:#a0a0a0;font-size:.9rem}.value{color:#e0e0e0;font-weight:600}.value.profit{color:#00e676}.value.loss{color:#ff4d4d}.portfolio{padding:2rem}.portfolio-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.portfolio-header h2{color:#e0e0e0;margin:0}.stocks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.empty-state{grid-column:1 / -1;text-align:center;padding:4rem 2rem;background:linear-gradient(145deg,#1e1e2e,#252538);border-radius:12px;color:#a0a0a0}.empty-state p{margin:.5rem 0}.modal{background:linear-gradient(145deg,#1e1e2e,#252538);border-radius:16px;padding:2rem;width:100%;max-width:450px;box-shadow:0 20px 60px #00000080}.form-group input{width:100%;padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e0e0e0;font-size:1rem;transition:all .2s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#00d4ff;box-shadow:0 0 0 3px #00d4ff1a}.search-feedback{margin-top:.5rem;min-height:1.25rem}.search-state{margin:0;font-size:.85rem;color:#a0a0a0}.search-state.error{color:#ff8f8f}.search-results{list-style:none;margin:.5rem 0 0;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:10px;overflow:hidden;max-height:220px;overflow-y:auto;background:#ffffff08}.search-result-item{width:100%;border:none;background:transparent;text-align:left;padding:.65rem .8rem;cursor:pointer;display:grid;grid-template-columns:1fr 2fr auto;gap:.5rem;color:#e0e0e0;align-items:center}.search-result-item:hover{background:#00d4ff1a}.search-result-item .symbol{font-weight:700}.search-result-item .name{color:#d0d0d0;font-size:.9rem}.search-result-item .meta{color:#9a9a9a;font-size:.75rem}.activity{padding:2rem}.activity-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.activity-header h2{color:#e0e0e0;margin:0}.activity-table{background:linear-gradient(145deg,#1e1e2e,#252538);border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #0003}.activity-table table{width:100%;border-collapse:collapse}.activity-table th,.activity-table td{padding:1rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.08);color:#e0e0e0;vertical-align:top}.activity-table th{background:#ffffff0a;font-size:.85rem;letter-spacing:.02em;text-transform:uppercase;color:#a0a0a0}.activity-table tr:last-child td{border-bottom:none}.activity-type{display:inline-flex;align-items:center;gap:4px;padding:.25rem .6rem;border-radius:999px;font-size:.8rem;font-weight:600}.activity-type.buy{background:#00e67633;color:#00e676}.activity-type.sell{background:#ff4d4d33;color:#ff4d4d}.activity-type.paidIn{background:#00d4ff33;color:#00d4ff}.activity-symbol{font-weight:700;color:#00d4ff}.activity-name{font-size:.85rem;color:#a0a0a0}.activity-qty,.activity-price{text-align:right;font-variant-numeric:tabular-nums}.activity-note{color:#b0b0b0}.btn-edit{padding:.4rem .8rem;border:none;border-radius:6px;cursor:pointer;font-size:.8rem;background:#ffffff1a;color:#a0a0a0;transition:all .2s ease}.btn-edit:hover{background:#ffffff26}.empty-row{text-align:center;padding:2rem;color:#a0a0a0}.holding-hint{margin-top:.5rem;font-size:.85rem;color:#a0a0a0}.modal{background:linear-gradient(145deg,#1e1e2e,#252538);border-radius:16px;padding:2rem;width:100%;max-width:520px;box-shadow:0 20px 60px #00000080;max-height:90vh;overflow-y:auto}@media(max-width:900px){.activity-table{overflow-x:auto}.activity-table table{min-width:720px}}@media(max-width:600px){.form-row{grid-template-columns:1fr}}.compare{padding:2rem}.compare h2{color:#e0e0e0;margin-bottom:2rem}.stock-selector{background:linear-gradient(145deg,#1e1e2e,#252538);border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 15px #0003}.stock-selector h3{color:#e0e0e0;margin:0 0 1rem;font-size:1rem}.stock-chips{display:flex;flex-wrap:wrap;gap:.75rem}.stock-chip{padding:.5rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;color:#e0e0e0;cursor:pointer;transition:all .2s ease;font-size:.9rem}.stock-chip:hover{background:#00d4ff1a;border-color:#00d4ff4d}.stock-chip.selected{background:#00d4ff33;border-color:#00d4ff;color:#00d4ff}.no-stocks{color:#a0a0a0;margin:0}.comparison-table-wrapper{overflow-x:auto}.comparison-table{width:100%;border-collapse:collapse;background:linear-gradient(145deg,#1e1e2e,#252538);border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #0003}.comparison-table th,.comparison-table td{padding:1rem 1.5rem;text-align:right}.comparison-table th{background:#00d4ff1a;color:#00d4ff;font-weight:600;font-size:.95rem}.comparison-table th:first-child,.comparison-table td.label{text-align:left}.comparison-table td{color:#e0e0e0;border-bottom:1px solid rgba(255,255,255,.05)}.comparison-table td.label{color:#a0a0a0;font-weight:500}.comparison-table tr:last-child td{border-bottom:none}.comparison-table td.profit{color:#00e676;font-weight:600}.comparison-table td.loss{color:#ff4d4d;font-weight:600}.empty-comparison{text-align:center;padding:4rem 2rem;background:linear-gradient(145deg,#1e1e2e,#252538);border-radius:12px;color:#a0a0a0}.markets{padding:2rem}.markets h2{color:#e0e0e0;margin-bottom:2rem}.market-tabs{display:flex;gap:1rem;margin-bottom:2rem}.tab-btn{padding:.75rem 1.5rem;background:linear-gradient(145deg,#1e1e2e,#252538);border:2px solid transparent;border-radius:8px;color:#a0a0a0;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.tab-btn:hover{color:#e0e0e0;border-color:#6c5ce74d}.tab-btn.active{color:#e0e0e0;border-color:#6c5ce7;background:linear-gradient(145deg,#252538,#2d2d44)}.market-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem;padding:1.5rem;background:linear-gradient(145deg,#1e1e2e,#252538);border-radius:12px;box-shadow:0 4px 15px #0003}.summary-item{display:flex;flex-direction:column;gap:.5rem}.summary-item .label{color:#a0a0a0;font-size:.85rem}.summary-item .value{color:#e0e0e0;font-size:1.25rem;font-weight:600}.summary-item .value.profit{color:#00e676}.summary-item .value.loss{color:#ff4d4d}.stock-list{display:flex;flex-direction:column;gap:1rem}.stock-item{background:linear-gradient(145deg,#1e1e2e,#252538);border-radius:12px;padding:1.5rem;box-shadow:0 4px 15px #0003}.stock-info{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.stock-symbol{color:#6c5ce7;font-size:1.1rem;font-weight:700}.stock-name{color:#e0e0e0;font-size:1rem}.stock-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.detail-row{display:flex;flex-direction:column;gap:.25rem}.detail-row .label{color:#a0a0a0;font-size:.8rem}.detail-row .value{color:#e0e0e0;font-size:1rem;font-weight:500}.detail-row .value.profit{color:#00e676}.detail-row .value.loss{color:#ff4d4d}.empty-state{text-align:center;padding:3rem;color:#a0a0a0;background:linear-gradient(145deg,#1e1e2e,#252538);border-radius:12px}.auto-order{padding:2rem}.auto-order-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.auto-order-header h2{color:#e0e0e0;margin:0}.btn-add{background:linear-gradient(135deg,#00d4ff,#09c);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-add:hover{transform:translateY(-2px);box-shadow:0 4px 15px #00d4ff66}.orders-section{margin-bottom:2rem}.orders-section h3{color:#e0e0e0;margin:0 0 1rem;font-size:1.1rem}.orders-list{display:flex;flex-direction:column;gap:1rem}.order-card{background:linear-gradient(145deg,#1e1e2e,#252538);border-radius:12px;padding:1.5rem;box-shadow:0 4px 15px #0003}.order-card.history{opacity:.7}.order-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.order-info{display:flex;align-items:center;gap:.75rem}.order-type{padding:.25rem .75rem;border-radius:4px;font-size:.8rem;font-weight:600}.order-type.buy{background:#00e67633;color:#00e676}.order-type.sell{background:#ff4d4d33;color:#ff4d4d}.order-symbol{font-size:1.1rem;font-weight:700;color:#00d4ff}.order-name{color:#a0a0a0;font-size:.9rem}.order-status{padding:.25rem .75rem;border-radius:4px;font-size:.8rem;font-weight:600}.status-active{background:#00e67633;color:#00e676}.status-paused{background:#ffc10733;color:#ffc107}.status-executed{background:#00d4ff33;color:#00d4ff}.status-cancelled{background:#ffffff1a;color:#a0a0a0}.order-details{display:flex;gap:2rem;margin-bottom:1rem}.order-details .detail{display:flex;flex-direction:column;gap:.25rem}.order-details .label{color:#a0a0a0;font-size:.8rem}.order-details .value{color:#e0e0e0;font-weight:500}.order-actions{display:flex;gap:.5rem}.btn-pause,.btn-resume,.btn-cancel,.btn-delete{padding:.4rem .8rem;border:none;border-radius:6px;cursor:pointer;font-size:.8rem;transition:all .2s ease}.btn-pause{background:#ffc10733;color:#ffc107}.btn-pause:hover{background:#ffc1074d}.btn-resume{background:#00e67633;color:#00e676}.btn-resume:hover{background:#00e6764d}.btn-cancel{background:#ffffff1a;color:#a0a0a0}.btn-cancel:hover{background:#ffffff26}.btn-delete{background:#ff4d4d33;color:#ff4d4d}.btn-delete:hover{background:#ff4d4d4d}.empty-orders{background:linear-gradient(145deg,#1e1e2e,#252538);border-radius:12px;padding:2rem;text-align:center;color:#a0a0a0}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background:linear-gradient(145deg,#1e1e2e,#252538);border-radius:16px;padding:2rem;width:100%;max-width:500px;box-shadow:0 20px 60px #00000080;max-height:90vh;overflow-y:auto}.modal h3{color:#e0e0e0;margin:0 0 1.5rem;font-size:1.25rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;color:#a0a0a0;margin-bottom:.5rem;font-size:.9rem}.form-group input,.form-group select{width:100%;padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e0e0e0;font-size:1rem;transition:all .2s ease;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:#00d4ff;box-shadow:0 0 0 3px #00d4ff1a}.form-group input::placeholder{color:#606060}.form-error{margin:0 0 1rem;padding:.7rem .9rem;border:1px solid rgba(255,92,92,.45);border-radius:8px;background:#ff5c5c24;color:#ffd6d6;font-size:.9rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.btn-cancel,.btn-submit{flex:1;padding:.75rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.form-actions .btn-cancel{background:#ffffff1a;color:#a0a0a0}.form-actions .btn-cancel:hover{background:#ffffff26}.btn-submit{background:linear-gradient(135deg,#00d4ff,#09c);color:#fff}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 4px 15px #00d4ff66}.stock-chart{display:flex;flex-direction:column;gap:12px}.chart-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.chart-title{display:flex;align-items:baseline;gap:8px}.chart-symbol{font-size:20px;font-weight:700;color:#1a1a2e}.chart-name{font-size:14px;color:#666}.chart-price-info{display:flex;align-items:baseline;gap:12px}.current-price{font-size:24px;font-weight:700;color:#1a1a2e}.price-change{font-size:14px;font-weight:500}.price-change.up{color:#d32f2f}.price-change.down{color:#1976d2}.period-selector{display:flex;gap:4px;flex-wrap:wrap}.period-btn{padding:6px 12px;border:1px solid #e0e0e0;background:#fff;border-radius:4px;cursor:pointer;font-size:13px;color:#666;transition:all .2s}.period-btn:hover{border-color:#4a90d9;color:#4a90d9}.period-btn.active{background:#4a90d9;color:#fff;border-color:#4a90d9}.chart-container{position:relative;width:100%;min-height:300px}.chart-loading,.chart-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#ffffffe6;z-index:10}.chart-loading span{color:#666;font-size:14px}.chart-error span{color:#d32f2f;font-size:14px}.chart-dialog-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.chart-dialog{background:#fff;border-radius:12px;width:100%;max-width:800px;max-height:90vh;overflow:auto;box-shadow:0 20px 60px #0000004d;animation:dialogSlideIn .2s ease-out}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.dialog-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dialog-symbol{font-size:20px;font-weight:700;color:#1a1a2e}.dialog-name{font-size:16px;color:#666}.dialog-market{font-size:12px;padding:4px 8px;border-radius:4px;background:#f5f5f5}.dialog-market.kr{background:#e3f2fd;color:#1565c0}.dialog-market.us{background:#fce4ec;color:#c62828}.dialog-close-btn{width:36px;height:36px;border:none;background:#f5f5f5;border-radius:50%;cursor:pointer;font-size:18px;color:#666;display:flex;align-items:center;justify-content:center;transition:all .2s}.dialog-close-btn:hover{background:#e0e0e0;color:#333}.dialog-price-summary{display:flex;align-items:baseline;gap:16px;padding:16px 24px;background:#f8f9fa}.summary-price{font-size:28px;font-weight:700;color:#1a1a2e}.summary-change{font-size:16px;font-weight:500}.summary-change.up{color:#d32f2f}.summary-change.down{color:#1976d2}.dialog-chart-wrapper{padding:20px 24px 24px}@media(max-width:600px){.chart-dialog-backdrop{padding:10px}.chart-dialog{max-height:95vh}.dialog-header{padding:16px}.dialog-title{gap:8px}.dialog-symbol{font-size:18px}.dialog-name{font-size:14px}.dialog-price-summary{padding:12px 16px;flex-direction:column;gap:4px}.summary-price{font-size:24px}.dialog-chart-wrapper{padding:16px}}.stock-explorer{padding:20px;max-width:1400px;margin:0 auto}.stock-explorer h2{margin-bottom:24px;color:#1a1a2e}.exchange-tabs{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.tab-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tab-group-label{font-size:14px;font-weight:600;color:#666;min-width:40px}.exchange-tab{padding:8px 16px;border:1px solid #ddd;background:#fff;border-radius:20px;cursor:pointer;font-size:14px;transition:all .2s}.exchange-tab:hover{border-color:#4a90d9;color:#4a90d9}.exchange-tab.active{background:#4a90d9;color:#fff;border-color:#4a90d9}.explorer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:16px;background:#f8f9fa;border-radius:8px}.exchange-info{display:flex;align-items:center;gap:16px}.exchange-name{font-size:18px;font-weight:600;color:#1a1a2e}.stock-count{font-size:14px;color:#666}.refresh-btn{padding:8px 16px;background:#4a90d9;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.refresh-btn:hover:not(:disabled){background:#3a7bc8}.refresh-btn:disabled{background:#ccc;cursor:not-allowed}.error-message{padding:16px;background:#ffe6e6;color:#d32f2f;border-radius:8px;margin-bottom:16px}.loading{text-align:center;padding:60px 20px;color:#666;font-size:16px}.stock-table-container{overflow-x:auto;border:1px solid #e0e0e0;border-radius:8px}.stock-table{width:100%;border-collapse:collapse;font-size:14px}.stock-table th,.stock-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e0e0e0}.stock-table th{background:#f5f5f5;font-weight:600;color:#333;position:sticky;top:0;vertical-align:bottom}.stock-table tbody tr:hover{background:#f8f9fa}.stock-table tbody tr:last-child td{border-bottom:none}.col-symbol{width:100px;font-family:monospace;color:#4a90d9;font-weight:500}.col-name{min-width:200px}.col-price{width:120px;text-align:right;font-weight:500}.col-change{width:150px;text-align:right}.col-change.profit{color:#d32f2f}.col-change.loss{color:#1976d2}.change-value{display:block;font-weight:500}.change-percent{display:block;font-size:12px;opacity:.8}.col-volume{width:100px;text-align:right;color:#666}.col-marketcap{width:120px;text-align:right;color:#666}.sort-button{display:flex;align-items:center;gap:6px;width:100%;padding:0;background:transparent;border:none;font:inherit;color:inherit;text-align:inherit}.sort-button.sortable{cursor:pointer}.sort-button:focus-visible{outline:2px solid #4a90d9;outline-offset:2px;border-radius:4px}.sort-indicator{display:inline-block;min-width:12px;text-align:center;color:#999;font-size:12px}.sort-indicator.sorted{color:#4a90d9}.column-filter{width:100%;margin-top:6px;padding:6px 8px;border:1px solid #ddd;border-radius:6px;font-size:12px;background:#fff}.column-filter:focus{outline:none;border-color:#4a90d9}.col-price .sort-button,.col-change .sort-button,.col-volume .sort-button,.col-marketcap .sort-button{justify-content:flex-end}.col-price .column-filter,.col-change .column-filter,.col-volume .column-filter,.col-marketcap .column-filter{text-align:right}.empty-row{text-align:center;padding:40px 20px;color:#999}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px;padding:16px}.page-btn{padding:8px 20px;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.page-btn:hover:not(:disabled){border-color:#4a90d9;color:#4a90d9}.page-btn:disabled{background:#f5f5f5;color:#ccc;cursor:not-allowed}.page-info{font-size:14px;color:#666}@media(max-width:768px){.stock-explorer{padding:16px}.exchange-tabs{gap:8px}.exchange-tab{padding:6px 12px;font-size:13px}.explorer-header{flex-direction:column;gap:12px;align-items:flex-start}.stock-table{font-size:13px}.stock-table th,.stock-table td{padding:10px 12px}.col-volume,.col-marketcap{display:none}}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;background:linear-gradient(180deg,#0f0f1a,#1a1a2e);min-height:calc(100vh - 70px)}.persistence-error-banner{margin:16px;padding:10px 12px;border:1px solid rgba(255,92,92,.45);border-radius:8px;background:#ff5c5c24;color:#ffd6d6;font-size:14px;line-height:1.4}
