*{box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;margin:0;padding:0;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh}.app-container{max-width:1600px;margin:0 auto;padding:20px}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px;border-radius:12px;margin-bottom:25px;box-shadow:0 4px 15px #667eea66}.app-header h1{margin:0 0 8px;font-size:32px;font-weight:700;letter-spacing:-.5px}.subtitle{margin:0;font-size:14px;opacity:.95;line-height:1.5}.controls{display:flex;justify-content:space-between;align-items:center;margin:20px 0;padding:12px 16px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d}.loading{color:#667eea;font-weight:600;font-size:14px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.row-count{color:#666;font-size:13px;font-weight:500}.table-wrapper{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;overflow-x:auto;overflow-y:visible}.data-table{width:100%;border-collapse:collapse;font-size:13px}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8f9fc;padding:14px 12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e8ebf0;transition:all .2s ease;white-space:nowrap}.sortable-header:hover{background:#eff2f7;color:#667eea}.header-content{display:flex;align-items:center;justify-content:space-between;gap:6px}.sort-icon{color:#667eea;margin-left:4px;font-size:12px}.data-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background-color .15s ease}.row-even{background:#fff}.row-odd{background:#f9fafb}.data-table tbody tr:hover{background:#f5f7fa;box-shadow:inset 0 0 8px #667eea0d}.data-table td{padding:12px;color:#555;border-bottom:1px solid #f0f0f0}.data-table td.empty{color:#bbb;font-style:italic}.data-table td[class*=price],.data-table td[class*=premium],.data-table td[class*=cap]{font-weight:500;color:#2d3748}.no-data{text-align:center;padding:60px 20px;color:#999;font-size:16px;background:#fafbfc;border-radius:8px;margin:20px}@media (max-width: 768px){.app-header{padding:20px}.app-header h1{font-size:24px}.subtitle,.data-table{font-size:12px}.sortable-header,.data-table td{padding:10px 8px}.controls{flex-direction:column;gap:10px;align-items:flex-start}}
