body{font-family:Arial,sans-serif;background-color:#f4f6f8}.stock-table-status{display:none;text-align:center;font-size:.78rem;padding:6px 0 8px;color:#64748b;letter-spacing:.01em}.stock-table-status:not(:empty){display:block}.stock-table-status--empty{color:#fff;padding:12px 0}.stock-load-more-indicator{display:none;align-items:center;justify-content:center;gap:10px;padding:14px 0 18px;color:#60a5fa;font-size:.82rem;letter-spacing:.02em}.stock-load-more-indicator[aria-hidden=false]{display:flex}.stock-load-more-indicator__spinner{width:18px;height:18px;border:2px solid rgba(96,165,250,.2);border-top-color:#60a5fa;border-radius:50%;animation:stock-spin .7s linear infinite;flex-shrink:0}@keyframes stock-spin{to{transform:rotate(360deg)}}.admin-stocks-main-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:4px 0 14px}.admin-stock-flash{margin:2px 0 12px;padding:10px 12px;border-radius:10px;border:1px solid transparent;font-size:13px;font-weight:600;line-height:1.45}.admin-stock-flash--success{background:rgba(34,197,94,.14);border-color:#22c55e59;color:#166534}.admin-stock-flash--error{background:rgba(239,68,68,.14);border-color:#ef444459;color:#991b1b}.admin-stocks-main-actions .btn-admin-main-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;border-radius:10px;font-weight:700;font-size:13px;border:1px solid transparent;text-decoration:none}.admin-stocks-main-actions .btn-admin-main-action--add{background:linear-gradient(135deg,#60a5fa 0%,#0ea5e9 100%);color:#0b1e3d;border-color:#60a5fabf}.admin-stocks-main-actions .btn-admin-main-action--add:hover{filter:brightness(1.05)}.admin-stocks-main-actions .btn-admin-main-action--export{background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);color:#ecfdf5;border-color:#22c55e99}.admin-stocks-main-actions .btn-admin-main-action--export:hover{filter:brightness(1.06)}.admin-stocks-main-actions .btn-admin-main-action--import{background:linear-gradient(135deg,#a78bfa 0%,#8b5cf6 100%);color:#f5f3ff;border-color:#a78bfaa6}.admin-stocks-main-actions .btn-admin-main-action--import:hover{filter:brightness(1.06)}h1{text-align:center;color:#2c3e50}table{min-width:900px;border-collapse:separate;border-spacing:0;background-color:var(--inv-surface);box-shadow:0 2px 8px #0000001a;border-radius:8px;overflow:visible}.table-container{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.filter-panel{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:15px;overflow:hidden}.filter-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#34495e;color:#fff;cursor:pointer;font-weight:700;font-size:14px;-webkit-user-select:none;user-select:none}.filter-header:hover{background:#2c3e50}.filter-body{padding:15px 20px;overflow:hidden}.filter-row{display:flex;flex-wrap:wrap;gap:15px;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:4px;flex:1 1 150px;min-width:0}.filter-group label{font-size:13px;font-weight:700;color:#2c3e50;white-space:nowrap}.filter-group select,.filter-group input{padding:7px 10px;border:1px solid #bdc3c7;border-radius:5px;font-size:13px;outline:none;width:100%;box-sizing:border-box}.filter-group select:focus,.filter-group input:focus{border-color:#3498db;box-shadow:0 0 3px #3498db4d}.filter-range{display:flex;align-items:center;gap:6px;min-width:0}.filter-range input{width:80px;min-width:0;flex:1}.filter-range span{color:#7f8c8d;font-size:13px;flex-shrink:0}.filter-actions{display:flex;gap:10px;margin-top:12px;justify-content:center;flex-wrap:wrap}.btn-filter{padding:8px 20px;background:#3498db;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:13px}.btn-filter:hover{background:#2980b9}.btn-filter-reset{padding:8px 20px;background:#ecf0f1;color:#2c3e50;border:1px solid #bdc3c7;border-radius:5px;cursor:pointer;font-size:13px}.btn-filter-reset:hover{background:#d5dbdb}th,td{padding:12px 16px;text-align:center;border-bottom:1px solid #0c1f3e;border-left:1px solid #0c1f3e;white-space:nowrap}th{background:linear-gradient(180deg,#0d2140 0%,#081629 100%);box-shadow:inset 0 2px #38bdf880,2px 0 8px #0006;color:#fff}#stock-table th,#stock-table td,#invest-table th,#invest-table td{border-right:1px solid #ddd}#stock-table th:last-child,#stock-table td:last-child,#invest-table th:last-child,#invest-table td:last-child{border-right:none;text-align:center}.sticky-header th{background-color:#162235!important;z-index:1001}.sticky-clone th,.sticky-clone-total td{border-right:1px solid #ddd}.sticky-clone th:last-child,.sticky-clone-total td:last-child{border-right:none;text-align:center}.sticky-clone{position:fixed;top:0;z-index:1002;overflow:hidden;box-shadow:0 2px 4px #00000026;background-color:#34495e}#stock-table th.col-code-sticky,#stock-table td.col-code-sticky{position:sticky;left:0;z-index:1002}#stock-table th.col-code-sticky{background-color:#162235!important;border-right:none;position:sticky;box-shadow:none;overflow:visible;background-image:none}#stock-table td.col-code-sticky{background-color:#fff;box-shadow:none;overflow:visible;border-right:none;background-image:none}#stock-table tr.yellow td.col-code-sticky{background-color:#fffae6}#stock-table tr.green td.col-code-sticky{background-color:#e6ffea}#stock-table tr.blue td.col-code-sticky{background-color:#e6f4ff}#stock-table tr.amber td.col-code-sticky{background-color:#fff3e0}.sticky-clone th.col-code-sticky{position:sticky;left:0;z-index:1004;border-right:none;box-shadow:none;overflow:visible;background-image:none}#stock-table th.col-code-sticky:after,#stock-table td.col-code-sticky:after,.sticky-clone th.col-code-sticky:after,.sticky-clone-total td.col-code-sticky:after{content:"";position:absolute;top:0;bottom:0;right:0;width:1px;background:#ddd;z-index:1006;pointer-events:none}@media (max-width: 768px){#stock-table td.col-code-sticky{border-right:none}}#invest-table th.col-code-sticky,#invest-table td.col-code-sticky{position:sticky;left:0;z-index:1002}#invest-table th.col-code-sticky{background-color:#162235!important}#invest-table td.col-code-sticky{background-color:#fff;box-shadow:2px 0 #e5e7eb,6px 0 10px -8px #00000038}#stock-table tr.total-row td.col-code-sticky,#invest-table tr.total-row td.col-code-sticky{background-color:#f8f9fa}.sticky-clone-total td.col-code-sticky{position:sticky;left:0;z-index:1004}tr.yellow{background-color:#fffae6;color:#fae103}tr.green{background-color:#e6ffea;color:#0a0}tr.blue{background-color:#e6f4ff;color:#0070c0}tr.amber{background-color:#fff3e0;color:#b35900}.risk-1{color:#2ecc71}.risk-2{color:#f1c40f}.risk-3{color:#e67e22}.risk-4{color:#e74c3c}.risk-5{color:#c0392b}.risk-6{color:#7f1d1d}.rating-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-weight:700;font-size:13px}.rating-high{background-color:#e6ffea;color:#2ecc71}.rating-medium{background-color:#fff8e1;color:#f1c40f}.rating-low{background-color:#fdecea;color:#e74c3c}.btn-row-update,.btn-delete{display:inline-flex;align-items:center;padding:5px 11px;border-radius:7px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;outline:none;width:auto}.btn-row-update{background:rgba(56,189,248,.1);border:1px solid rgba(56,189,248,.35);color:#7dd3fc}.btn-row-update:hover{background:rgba(56,189,248,.18);border-color:#38bdf88c;color:#bae6fd;box-shadow:0 0 0 2px #38bdf81f;outline:none}.btn-delete{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.35);color:#f87171}.btn-delete:hover{background:rgba(239,68,68,.18);border-color:#ef44448c;color:#fca5a5;box-shadow:0 0 0 2px #ef44441f;outline:none}.admin-stocks-page button:focus,.admin-stocks-page button:active,.admin-stocks-page a:focus,.admin-stocks-page a:active{outline:none;box-shadow:none}.table-container:active{cursor:grabbing}#stock-table{border-collapse:separate;border-spacing:0;overflow:visible}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:2000;display:flex;justify-content:center;align-items:center}.modal-content{background:var(--bg-darker, #1a2332);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px 22px 20px;width:500px;max-width:90%;box-shadow:0 8px 32px #00000080;position:relative;color:#fff}.modal-content h2{margin:0 28px 14px 0;font-size:1.2rem;font-weight:700;color:#a3c1e0;line-height:1.35}.modal-close{position:absolute;top:10px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;font-size:18px;color:#64748b;cursor:pointer;line-height:1;transition:background .15s,border-color .15s,color .15s;-webkit-user-select:none;user-select:none}.modal-close:hover{color:#e61515;border-color:#f8818199;background:rgba(248,129,129,.15)}.modal-contefff{text-align:center;color:#2c3e50;margin-top:0;margin-bottom:20px}.drop-zone{border:2px dashed #95a5a6;border-radius:10px;padding:40px 20px;text-align:center;cursor:pointer;transition:background .2s,color .2s,border-color .2s,opacity .2s,box-shadow .2s;background:#f9f9f9;margin-bottom:15px}.drop-zone:hover{border-color:#3498db;background:#eaf4fc}.drop-zone.drag-over{border-color:#2ecc71;background:#e6ffea}.drop-zone p{margin:8px 0 0;color:#7f8c8d;font-size:14px}.import-result{margin-bottom:15px;padding:12px;border-radius:8px;font-size:14px;max-height:150px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.import-result::-webkit-scrollbar{display:none}.import-result.result-success{background:#e6ffea;color:#27ae60;border:1px solid #27ae60}.import-result.result-error{background:#fdecea;color:#c0392b;border:1px solid #c0392b}.modal-actions{display:flex;justify-content:center;gap:10px;margin-top:10px}.btn-cancel{padding:10px 24px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#ddd;border-radius:6px;cursor:pointer;font-size:14px}.btn-cancel:hover{background:rgba(255,255,255,.15)}.btn-import{padding:10px 24px;border:none;background:#27ae60;color:#fff;border-radius:6px;cursor:pointer;font-size:14px}.btn-import:hover{background:#27ae60;border:solid 1px #27ae60;box-shadow:0 20px 56px #0000008c,inset 0 1px #ffffff0a}.btn-import:disabled{background:#95a5a6;cursor:not-allowed}#importCsvModal .modal-content{width:min(92vw,560px);padding:26px 22px 20px}#importCsvModal .modal-content h2{margin:0 24px 10px 0;text-align:left;line-height:1.4;color:#a3c1e0}#importCsvModal #dropZone{border-radius:12px;padding:34px 18px}#importCsvModal #dropZoneText p{margin-top:10px;line-height:1.45}#importCsvModal #fileInfo{padding:4px 6px}#importCsvModal #fileName{margin-top:8px;font-weight:700;word-break:break-word}#importCsvModal .import-result{margin-top:12px;margin-bottom:10px;line-height:1.45}#importCsvModal .modal-actions{justify-content:center;margin-top:14px}#importCsvModal .btn-cancel,#importCsvModal .btn-import{min-width:124px;border-radius:10px;font-weight:700}#exportCsvModal .modal-content{width:min(92vw,460px);padding:24px 20px 18px}#exportCsvModal .modal-content h2{margin:0 24px 12px 0;text-align:left;line-height:1.35;color:#a3c1e0}#exportCsvModal .export-csv-modal__message{margin-bottom:14px;line-height:1.5}#exportCsvModal .modal-actions{justify-content:center}#exportCsvModal .btn-cancel,#exportCsvModal .btn-import{min-width:112px;border-radius:10px;font-weight:700}#deleteStockModal .modal-content{width:min(92vw,460px);padding:24px 20px 18px}#deleteStockModal .modal-content h2{margin:0 24px 12px 0;text-align:left;line-height:1.35;color:#a3c1e0}#deleteStockModal .delete-stock-modal__message{margin-bottom:14px;line-height:1.5}#deleteStockModal .modal-actions{justify-content:center}#deleteStockModal .btn-cancel,#deleteStockModal .btn-delete-confirm{min-width:112px;border-radius:10px;font-weight:700}#deleteStockModal .btn-delete-confirm{padding:10px 24px;border:none;cursor:pointer}#deleteStockNoticeModal .modal-content{width:min(92vw,420px)}#deleteStockNoticeModal .delete-follow-notice-modal__message{margin-bottom:18px;line-height:1.5}#deleteStockNoticeModal.is-success .modal-content{border-color:#22c55e66}#deleteStockNoticeModal.is-error .modal-content{border-color:#ef444466}@media (max-width: 768px){#importCsvModal .modal-content{padding:22px 16px 16px}#importCsvModal .modal-actions{justify-content:center;flex-wrap:wrap}#importCsvModal .btn-cancel,#importCsvModal .btn-import{flex:0 0 auto;min-width:0}#exportCsvModal .modal-actions{justify-content:center;flex-wrap:wrap}#exportCsvModal .btn-cancel,#exportCsvModal .btn-import{flex:0 0 auto;min-width:0}#deleteStockModal .modal-actions{justify-content:center;flex-wrap:wrap}#deleteStockModal .btn-cancel,#deleteStockModal .btn-delete-confirm{flex:0 0 auto;min-width:0}#exportCoreCsvModal .modal-actions{justify-content:center;flex-wrap:wrap}#exportCoreCsvModal .btn-cancel,#exportCoreCsvModal .btn-import{flex:0 0 auto;min-width:0}#importCoreCsvModal .modal-actions{justify-content:center;flex-wrap:wrap}#importCoreCsvModal .btn-cancel,#importCoreCsvModal .btn-import{flex:0 0 auto;min-width:0}}#deleteFollowSingleModal .modal-content,#deleteFollowModal .modal-content,#deleteFollowBatchModal .modal-content{width:min(92vw,400px);padding:24px 22px 20px;background:linear-gradient(165deg,#101a2f 0%,#0a1224 100%);border:1px solid rgba(248,113,113,.2);box-shadow:0 20px 56px #0000008c,inset 0 1px #ffffff0a}#deleteFollowSingleModal .modal-content h2,#deleteFollowModal .modal-content h2,#deleteFollowBatchModal .modal-content h2{margin:0 36px 10px 0;font-size:1.05rem;color:#fff}#deleteFollowSingleModal .delete-follow-modal__message,#deleteFollowModal .delete-follow-modal__message,#deleteFollowBatchModal .delete-follow-modal__message{margin-bottom:18px;line-height:1.6;font-size:.9rem;color:#fff}#deleteFollowSingleModal .modal-actions,#deleteFollowModal .modal-actions,#deleteFollowBatchModal .modal-actions{justify-content:center;gap:10px}#deleteFollowSingleModal .btn-cancel,#deleteFollowSingleModal .btn-delete-confirm,#deleteFollowModal .btn-cancel,#deleteFollowModal .btn-delete-confirm,#deleteFollowBatchModal .btn-cancel,#deleteFollowBatchModal .btn-delete-confirm{min-width:112px;padding:9px 22px;border-radius:9px;font-size:.9rem;font-weight:700;font-family:inherit;cursor:pointer}#deleteFollowSingleModal .btn-cancel,#deleteFollowModal .btn-cancel,#deleteFollowBatchModal .btn-cancel{background:rgba(255,255,255,.04);border:1px solid rgba(99,179,237,.18);color:#94a3b8;transition:background .15s,border-color .15s,color .15s}#deleteFollowSingleModal .btn-cancel:hover,#deleteFollowModal .btn-cancel:hover,#deleteFollowBatchModal .btn-cancel:hover{color:#e61515;border-color:#f8818199;background:rgba(248,129,129,.15)}#deleteFollowSingleModal .btn-delete-confirm,#deleteFollowModal .btn-delete-confirm,#deleteFollowBatchModal .btn-delete-confirm{border:none;background:linear-gradient(135deg,#f87171 0%,#ef4444 55%,#dc2626 100%);color:#fff;box-shadow:0 1px 2px #ef44444d;transition:filter .15s,box-shadow .15s}#deleteFollowSingleModal .btn-delete-confirm:hover,#deleteFollowModal .btn-delete-confirm:hover,#deleteFollowBatchModal .btn-delete-confirm:hover{filter:brightness(1.08);box-shadow:0 1px 2px #ef444473}#deleteFollowNoticeModal .modal-content{width:min(92vw,420px)}#deleteFollowNoticeModal .modal-content h2{margin:0 28px 14px 0;color:#fff}#deleteFollowNoticeModal .delete-follow-notice-modal__message{margin-bottom:18px;line-height:1.5}#deleteFollowNoticeModal .modal-actions{justify-content:center}#deleteFollowNoticeModal.is-success .modal-content{border-color:#22c55e66;background:linear-gradient(165deg,#101a2f 0%,#0a1224 100%)}#deleteFollowNoticeModal.is-error .modal-content{border-color:#ef444466}#addFollowNoticeModal .modal-content{width:min(92vw,420px)}#addFollowNoticeModal .modal-content h2{margin:0 28px 14px 0;color:#a3c1e0}#addFollowNoticeModal .delete-stock-modal__message{margin-bottom:18px;line-height:1.5}#addFollowNoticeModal .modal-actions{justify-content:center}#addFollowNoticeModal.is-success .modal-content{border-color:#22c55e66}#addFollowNoticeModal.is-error .modal-content{border-color:#ef444466}@media (max-width: 768px){#deleteFollowModal .modal-actions,#deleteFollowBatchModal .modal-actions{justify-content:center;flex-wrap:wrap}#deleteFollowModal .btn-cancel,#deleteFollowModal .btn-delete-confirm,#deleteFollowBatchModal .btn-cancel,#deleteFollowBatchModal .btn-delete-confirm{flex:0 0 auto;min-width:0}}#deleteSuggestModal .modal-content,#deleteSuggestBatchModal .modal-content{width:min(92vw,420px)}#deleteSuggestModal .delete-follow-modal__message,#deleteSuggestBatchModal .delete-follow-modal__message{margin-bottom:14px;line-height:1.5}#deleteSuggestModal .btn-cancel,#deleteSuggestModal .btn-delete-confirm,#deleteSuggestBatchModal .btn-cancel,#deleteSuggestBatchModal .btn-delete-confirm{min-width:112px;border-radius:10px;font-weight:700}#deleteSuggestModal .btn-delete-confirm,#deleteSuggestBatchModal .btn-delete-confirm{padding:10px 24px;border:none;cursor:pointer;background:#dc2626;color:#fff}#deleteSuggestModal .btn-delete-confirm:hover,#deleteSuggestBatchModal .btn-delete-confirm:hover{background:#b91c1c}#deleteSuggestNoticeModal .modal-content{width:min(92vw,420px)}#deleteSuggestNoticeModal .delete-follow-notice-modal__message{margin-bottom:18px;line-height:1.5}#deleteSuggestNoticeModal.is-success .modal-content{border-color:#22c55e66}#deleteSuggestNoticeModal.is-error .modal-content{border-color:#ef444466}@media (max-width: 768px){#deleteSuggestModal .modal-actions,#deleteSuggestBatchModal .modal-actions{flex-wrap:wrap}#deleteSuggestModal .btn-cancel,#deleteSuggestModal .btn-delete-confirm,#deleteSuggestBatchModal .btn-cancel,#deleteSuggestBatchModal .btn-delete-confirm{flex:0 0 auto;min-width:0}}th[data-sort-key]{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;white-space:nowrap}th[data-sort-key]:hover{background-color:#3d566e}.sort-icon{display:inline-block;margin-left:4px;font-size:11px;opacity:.4;vertical-align:middle;transition:opacity .2s}th[data-sort-key].sort-asc .sort-icon,th[data-sort-key].sort-desc .sort-icon{opacity:1}@media (max-width: 768px){.admin-stocks-main-actions{gap:8px;margin:4px 0 12px}.admin-stocks-main-actions .btn-admin-main-action{flex:0 0 auto;min-width:0}}.admin-stocks-toolbar{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.5rem}.toolbar-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.toolbar-row__left{display:flex;gap:.5rem;align-items:center;justify-content:flex-start}.toolbar-row__right{display:flex;gap:.5rem;align-items:center;justify-content:flex-end}.admin-follow-toolbar{display:flex;justify-content:flex-start;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap;align-items:center}.admin-stocks-toolbar__left,.admin-stocks-toolbar__right{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.btn-toolbar{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border-radius:9px;text-decoration:none;font-weight:600;font-size:12.5px;line-height:1.3;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;border:1px solid transparent;white-space:nowrap;cursor:pointer;outline:none}.btn-toolbar:focus,.btn-toolbar:active{outline:none;box-shadow:none}.btn-toolbar--add{background:rgba(56,189,248,.1);border-color:#38bdf859;color:#7dd3fc}.btn-toolbar--add:hover,.btn-toolbar--add:focus,.btn-toolbar--add:active{background:rgba(56,189,248,.2);border-color:#38bdf899;color:#bae6fd}.btn-toolbar--follow{background:rgba(139,92,246,.1);border-color:#8b5cf659;color:#c4b5fd}.btn-toolbar--follow:hover,.btn-toolbar--follow:focus,.btn-toolbar--follow:active{background:rgba(139,92,246,.2);border-color:#a78bfa99;color:#ddd6fe}.btn-toolbar--suggest{background:rgba(245,158,11,.1);border-color:#f59e0b59;color:#fcd34d}.btn-toolbar--suggest:hover,.btn-toolbar--suggest:focus,.btn-toolbar--suggest:active{background:rgba(245,158,11,.2);border-color:#fbbf2499;color:#fde68a}.btn-toolbar--export{background:rgba(52,211,153,.08);border-color:#34d39952;color:#6ee7b7}.btn-toolbar--export:hover,.btn-toolbar--export:focus,.btn-toolbar--export:active{background:rgba(52,211,153,.16);border-color:#34d3998c;color:#a7f3d0}.btn-toolbar--import{background:rgba(129,140,248,.1);border-color:#818cf852;color:#a5b4fc}.btn-toolbar--import:hover,.btn-toolbar--import:focus,.btn-toolbar--import:active{background:rgba(129,140,248,.18);border-color:#a5b4fc8c;color:#c7d2fe}.btn-toolbar--export-core{background:rgba(251,146,60,.08);border-color:#fb923c52;color:#fdba74}.btn-toolbar--export-core:hover,.btn-toolbar--export-core:focus,.btn-toolbar--export-core:active{background:rgba(251,146,60,.18);border-color:#fb923c8c;color:#fed7aa}.btn-toolbar--import-core{background:rgba(251,113,133,.08);border-color:#fb718552;color:#fda4af}.btn-toolbar--import-core:hover,.btn-toolbar--import-core:focus,.btn-toolbar--import-core:active{background:rgba(251,113,133,.18);border-color:#fb71858c;color:#fecdd3}.btn-import--core{background:linear-gradient(135deg,#fb7185 0%,#f43f5e 100%);color:#fff;border:none;border-radius:8px;padding:8px 18px;font-size:14px;font-weight:600;cursor:pointer;transition:background .18s}.btn-import--core:hover,.btn-import--core:focus{background:linear-gradient(135deg,#fda4af 0%,#fb7185 100%)}.btn-back,.btn-nav{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.2rem;border-radius:6px;text-decoration:none;font-weight:500;transition:background .2s,color .2s,border-color .2s,opacity .2s,box-shadow .2s;border:1px solid #ddd;background:#fff;color:#333;font-size:13px}.btn-back:hover{background:#f5f5f5}.btn-nav{background:linear-gradient(135deg,#f59e0b 0%,#ea580c 100%);color:#fff;border-color:#ea580c}.btn-nav:hover{background:linear-gradient(135deg,#ea580c 0%,#dc2626 100%)}.buy-back-bar{display:flex;gap:10px;margin-bottom:20px}.buy-back-btn{display:inline-flex;align-items:center;gap:7px;padding:10px 20px;border-radius:10px;font-size:13px;font-weight:700;text-decoration:none;border:1px solid rgba(99,179,237,.2);background:var(--inv-surface2);color:var(--inv-text);transition:border-color .15s,background .15s,color .15s,transform .1s;white-space:nowrap;cursor:pointer}.buy-back-btn:hover{border-color:#60a5fa73;background:rgba(96,165,250,.08);color:var(--inv-accent);transform:translateY(-1px)}.admin-stocks-filter-wrapper{display:flex;flex-direction:column}.filter-panel{order:1}.admin-stocks-add-follow-bar,.admin-stocks-add-suggest-bar{margin:1rem 0 1.5rem;display:flex;gap:10px;justify-content:flex-start;order:2}.btn-add-follow-admin,.btn-add-suggest-admin{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border-radius:9px;border:1px solid rgba(56,189,248,.35);background:rgba(56,189,248,.1);color:#7dd3fc;font-weight:600;font-size:12.5px;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;outline:none;white-space:nowrap}.btn-add-follow-admin:disabled,.btn-add-suggest-admin:disabled{background:rgba(10,18,36,.4);border:1px dashed rgba(100,116,139,.3);color:#475569;cursor:not-allowed;box-shadow:none}.btn-add-follow-admin:not(:disabled):hover,.btn-add-suggest-admin:not(:disabled):hover{background:rgba(56,189,248,.18);border-color:#38bdf88c;color:#bae6fd;box-shadow:0 0 0 2px #38bdf81f;outline:none}.btn-delete-all-follow{background:rgba(239,68,68,.1);border-color:#ef444459;color:#f87171}.btn-delete-all-follow:not(:disabled):hover{background:rgba(239,68,68,.18);border-color:#ef44448c;color:#fca5a5;box-shadow:0 0 0 2px #ef44441f}.btn-delete-row{cursor:pointer;font-size:1.2rem;color:#f44336;padding:.25rem .5rem;transition:opacity .2s}.btn-delete-row:hover{opacity:.7}.status-icon{font-size:1.1rem;cursor:default}.status-icon--checked{color:#4caf50}.status-icon--add{color:#2196f3;cursor:pointer}.status-icon--add:hover{opacity:.7}.col-select{width:60px;text-align:center;cursor:pointer}.th-select-all-new{padding:8px;cursor:pointer;-webkit-user-select:none;user-select:none}#stock-table td.col-select{width:3.5em;min-width:3.5em;text-align:center;vertical-align:middle}#stock-table td.col-select .cell-label-select{display:flex;align-items:center;justify-content:center;cursor:pointer;padding:12px 16px;margin:-12px -16px;min-height:2.5em}.th-checkbox-wrapper{display:flex;flex-direction:column;align-items:center;gap:.3rem}.th-select-all-new .th-select-all__inner,.th-select-all .th-select-all__inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;line-height:1.15}.th-select-all-new .th-select-all__label,.th-select-all .th-select-all__label{font-size:11px;font-weight:700;letter-spacing:.02em;color:#e2e8f0}.th-select-all-new .th-select-all__state,.th-select-all .th-select-all__state{font-size:16px;line-height:1;display:inline-block;color:#b0bdce;min-height:1em;transition:color .15s}.th-select-all-new .th-select-all__state:empty,.th-select-all .th-select-all__state:empty{display:none}.th-select-all--partial .th-select-all__state{color:#fbbf24}.th-select-all--active .th-select-all__state{color:#60a5fa}#stock-table td.col-select .cell-label-select{position:relative}#stock-table td.col-select .cell-label-select:before{content:"";display:block;width:18px;height:18px;border:2px solid rgba(148,163,184,.4);border-radius:4px;background:rgba(10,18,36,.72);transition:background .15s,border-color .15s,box-shadow .15s;pointer-events:none;flex-shrink:0}#stock-table td.col-select .cell-label-select:has(.follow-checkbox:checked):before,#stock-table td.col-select .cell-label-select:has(.suggest-checkbox:checked):before,#stock-table td.col-select .cell-label-select:has(.select-checkbox:checked):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8l3.5 3.5 6.5-7' stroke='%23ffffff' stroke-width='2.2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),linear-gradient(135deg,#38bdf8 0%,#60a5fa 100%);background-size:12px 12px,100% 100%;background-position:center,0 0;background-repeat:no-repeat,no-repeat;border-color:#38bdf8;box-shadow:0 0 0 2.5px #60a5fa38}#stock-table td.col-select .cell-label-select:has(.follow-checkbox:disabled):before,#stock-table td.col-select .cell-label-select:has(.suggest-checkbox:disabled):before,#stock-table td.col-select .cell-label-select:has(.select-checkbox:disabled):before{background:rgba(10,18,36,.4);background-image:none;border-color:#94a3b82e;box-shadow:none;opacity:.55}#stock-table td.col-select .cell-label-select:has(.suggest-checkbox[data-in-suggest=true]:not(:checked)):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8l3.5 3.5 6.5-7' stroke='%23ffffff' stroke-width='2.2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),linear-gradient(135deg,#34d399 0%,#10b981 100%);background-size:12px 12px,100% 100%;background-position:center,0 0;background-repeat:no-repeat,no-repeat;border-color:#34d399;box-shadow:0 0 0 2.5px #34d3992e;opacity:1}#stock-table td.col-select .cell-label-select:has(.follow-checkbox:checked:disabled):before,#stock-table td.col-select .cell-label-select:has(.suggest-checkbox:checked:disabled):before,#stock-table td.col-select .cell-label-select:has(.select-checkbox:checked:disabled):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8l3.5 3.5 6.5-7' stroke='%23ffffff' stroke-width='2.2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),linear-gradient(135deg,#34d399 0%,#10b981 100%);background-size:12px 12px,100% 100%;background-position:center,0 0;background-repeat:no-repeat,no-repeat;border-color:#34d399;box-shadow:0 0 0 2.5px #34d3992e;opacity:1}#stock-table td.col-select .cell-label-select:has(.follow-checkbox:disabled),#stock-table td.col-select .cell-label-select:has(.suggest-checkbox:disabled),#stock-table td.col-select .cell-label-select:has(.select-checkbox:disabled){cursor:default}#stock-table td.col-select input.follow-checkbox,#stock-table td.col-select input.suggest-checkbox,#stock-table td.col-select input.select-checkbox{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer;z-index:1}#stock-table td.col-select input.follow-checkbox:disabled,#stock-table td.col-select input.suggest-checkbox:disabled,#stock-table td.col-select input.select-checkbox:disabled{cursor:not-allowed}#stock-table.is-bulk-selecting td.col-select .cell-label-select:before{transition:none}.status-icon--disabled{cursor:not-allowed;opacity:.7}.status-icon--disabled:hover{cursor:not-allowed}.th-checkbox-label{font-size:11px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}@media (max-width: 768px){.admin-stocks-toolbar{display:flex;flex-direction:row;flex-wrap:wrap;gap:.4rem}.admin-stocks-toolbar .toolbar-row{display:contents}.admin-stocks-toolbar .toolbar-row__left,.admin-stocks-toolbar .toolbar-row__right{display:flex;flex-wrap:nowrap;gap:.4rem;align-items:center;justify-content:flex-start;width:100%;flex:0 0 100%}.admin-stocks-toolbar .toolbar-row:nth-child(1) .toolbar-row__left{order:1}.admin-stocks-toolbar .toolbar-row:nth-child(2) .toolbar-row__left{order:2}.admin-stocks-toolbar .toolbar-row:nth-child(1) .toolbar-row__right{order:3}.admin-stocks-toolbar .toolbar-row:nth-child(2) .toolbar-row__right{order:4}.admin-stocks-toolbar .btn-toolbar{flex:0 0 auto;min-width:0;white-space:nowrap}.admin-stocks-toolbar__left,.admin-stocks-toolbar__right{width:100%}.btn-toolbar{flex:0 0 auto;min-width:0}.filter-panel{order:1}.actions-right{order:2!important;margin:1rem 0!important;width:100%!important}.admin-stocks-add-follow-bar,.admin-stocks-add-suggest-bar{display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap;gap:10px;margin:0 0 20px!important}.admin-follow-toolbar{flex-wrap:wrap;gap:.5rem}.btn-back,.btn-nav,.buy-back-btn{flex:0 0 auto;text-align:center;font-size:12px;padding:8px 12px}.buy-back-bar{flex-wrap:nowrap;gap:8px}.home-add-follow-bar{margin:0 0 1.5rem}}.code-chip-link{display:inline-flex;align-items:center;padding:3px 10px;border-radius:6px;font-size:13px;font-weight:700;letter-spacing:.05em;color:#7dd3fc;background:rgba(96,165,250,.08);border:1px solid rgba(96,165,250,.2);text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s,box-shadow .15s,color .15s}.code-chip-link:hover{color:#60a5fa;background:rgba(96,165,250,.22);border-color:#60a5fa8c;box-shadow:0 0 0 2px #60a5fa2e}
