@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #3B82F6;--color-primary-hover: #2563EB;--color-primary-light: rgba(59, 130, 246, .1);--color-chart-primary: #BE8BFF;--color-chart-primary-hover: #C080FF;--color-secondary: #A0A0A0;--color-success: #10b981;--color-danger: #ef4444;--color-danger-hover: #dc2626;--color-warning: #FFC107;--color-bg-primary: #121212;--color-bg-secondary: #212121;--color-bg-tertiary: #282828;--color-text-primary: #FFFFFF;--color-text-secondary: #C0C0C0;--color-text-tertiary: #A0A0A0;--color-border: #444444;--color-border-light: #333333;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -2px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6), 0 10px 10px -5px rgba(0, 0, 0, .5);--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}body{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;font-size:var(--font-size-base)}#root{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:var(--spacing-xl) var(--spacing-md)}.app{width:100%;max-width:1600px;min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);margin:0 auto;border:1px solid var(--color-border-light)}.app-main{flex:1;padding:var(--spacing-xl) var(--spacing-2xl) var(--spacing-2xl)}.navbar{position:sticky;top:0;z-index:100;width:100%;padding:var(--spacing-md) var(--spacing-2xl);background:#121212bf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border-light);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.navbar-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-lg)}.navbar-links{display:flex;align-items:center;gap:var(--spacing-xs)}.navbar-right{display:flex;align-items:center;gap:var(--spacing-lg);flex-wrap:wrap}.navbar-amount-switch{display:inline-flex;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:2px;box-shadow:var(--shadow-sm)}.navbar-switch-option{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-family);color:var(--color-text-tertiary);background:transparent;border:none;border-radius:calc(var(--radius-md) - 2px);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast);min-width:2.5rem}.navbar-switch-option:hover{color:var(--color-text-secondary)}.navbar-switch-option--active{background:var(--color-primary);color:var(--color-bg-primary)}.navbar-switch-option--active:hover{background:var(--color-primary-hover);color:var(--color-bg-primary)}.navbar-external{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.navbar-link{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);color:var(--color-text-secondary);text-decoration:none;font-weight:500;font-size:var(--font-size-sm);transition:color var(--transition-fast),background var(--transition-fast)}.navbar-link:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.navbar-link--active{color:var(--color-primary);background:var(--color-primary-light)}.navbar-link--active:hover{color:var(--color-primary-hover);background:#3b82f62e}.navbar-link-icon{width:1.25rem;height:1.25rem;flex-shrink:0}.navbar-logo{width:1.25rem;height:1.25rem;flex-shrink:0;object-fit:contain}.navbar-link--external .navbar-logo{filter:brightness(0) invert(1);opacity:.9}.navbar-link--external .navbar-logo--invert{filter:invert(1)}.navbar-link--external:hover .navbar-logo{opacity:1}.app-footer{padding:var(--spacing-lg) var(--spacing-2xl);border-top:1px solid var(--color-border-light);background:var(--color-bg-secondary);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.app-footer-inner{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2xl);flex-wrap:wrap}.app-footer-link{font-size:var(--font-size-sm);color:var(--color-text-tertiary);text-decoration:none;transition:color var(--transition-fast)}.app-footer-link:hover{color:var(--color-primary)}.app-footer-stripe{display:flex;align-items:center;justify-content:center}.app-footer-stripe stripe-buy-button{display:inline-block}.card{background:var(--color-bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg);border:1px solid var(--color-border-light);transition:box-shadow var(--transition-base),transform var(--transition-base),background-color var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);background:var(--color-bg-tertiary)}.csv-uploader{margin-bottom:var(--spacing-2xl);text-align:center}.file-input-label{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);background:var(--color-bg-secondary);color:var(--color-text-primary);border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:var(--font-size-base);transition:all var(--transition-base);box-shadow:var(--shadow-md);border:1px solid var(--color-border);position:relative;overflow:hidden}.file-input-label:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.2),transparent);transition:left var(--transition-slow)}.file-input-label:hover{background:var(--color-bg-tertiary);border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary),var(--shadow-lg);transform:translateY(-2px)}.file-input-label:hover:before{left:100%}.file-input-label:active{transform:translateY(0)}.file-input{display:none}.clipboard-importer{text-align:left}.clipboard-importer-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-lg);margin-bottom:var(--spacing-md)}.clipboard-importer-title{display:inline-flex;align-items:center;gap:var(--spacing-sm);font-weight:700;color:var(--color-text-primary)}.clipboard-importer-title svg{color:var(--color-primary)}.clipboard-importer-meta{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500}.clipboard-importer-controls{display:flex;gap:var(--spacing-md);align-items:center;margin-bottom:var(--spacing-md);flex-wrap:wrap}.clipboard-importer-name{flex:1;min-width:240px;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-tertiary);color:var(--color-text-primary);outline:none;transition:box-shadow var(--transition-base),border-color var(--transition-base)}.clipboard-importer-name:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.clipboard-importer-button{padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);cursor:pointer;font-weight:700;display:inline-flex;align-items:center;transition:transform var(--transition-base),box-shadow var(--transition-base),background var(--transition-base);box-shadow:var(--shadow-md)}.clipboard-importer-button:hover:not(:disabled){background:#3b82f62e;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.clipboard-importer-button:disabled{opacity:.5;cursor:not-allowed}.clipboard-importer-textarea{width:100%;padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-tertiary);color:var(--color-text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:var(--font-size-sm);line-height:1.4;resize:vertical;outline:none;transition:box-shadow var(--transition-base),border-color var(--transition-base)}.clipboard-importer-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.error-message{margin-top:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:#ef44441a;color:var(--color-danger);border-radius:var(--radius-md);border:1px solid rgba(239,68,68,.3);font-size:var(--font-size-sm);font-weight:500;box-shadow:var(--shadow-sm);white-space:pre-line}.progress-container{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.progress-bar{width:100%;height:8px;background:var(--color-bg-secondary);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:var(--spacing-sm)}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-hover));border-radius:var(--radius-sm);transition:width .3s ease;box-shadow:0 0 10px #3b82f680}.progress-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center;font-weight:500}.import-progress-info{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-sm);font-size:var(--font-size-sm);text-align:center;font-weight:500}.loading-message{text-align:center;padding:var(--spacing-3xl);color:var(--color-text-secondary);font-size:var(--font-size-lg)}.empty-state{text-align:center;padding:var(--spacing-3xl) var(--spacing-2xl);color:var(--color-text-secondary)}.empty-state h2{margin-bottom:var(--spacing-md);color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:600}.empty-state p{font-size:var(--font-size-base);color:var(--color-text-secondary)}.clear-data-button,.export-data-button{margin-top:var(--spacing-xl);padding:var(--spacing-md) var(--spacing-xl);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-base);font-weight:600;transition:all var(--transition-base);box-shadow:var(--shadow-md);display:inline-flex;align-items:center;justify-content:center}.clear-data-button{color:var(--color-danger)}.clear-data-button:hover:not(:disabled){background:#ef44441a;border-color:var(--color-danger);color:var(--color-danger);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.export-data-button{color:var(--color-primary)}.export-data-button:hover:not(:disabled){background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.clear-data-button:active:not(:disabled),.export-data-button:active:not(:disabled){transform:translateY(0)}.clear-data-button:disabled,.export-data-button:disabled{opacity:.5;cursor:not-allowed}.data-table-container{margin-top:var(--spacing-2xl)}.dataset-info{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.dataset-info h3{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--spacing-md);letter-spacing:-.01em}.dataset-meta{display:flex;gap:var(--spacing-xl);flex-wrap:wrap;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500}.dataset-meta span{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--color-border-light)}.table-wrapper{overflow-x:auto;max-height:70vh;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:var(--color-bg-secondary)}.table-wrapper::-webkit-scrollbar{width:8px;height:8px}.table-wrapper::-webkit-scrollbar-track{background:var(--color-bg-primary);border-radius:var(--radius-sm)}.table-wrapper::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-sm)}.table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.data-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--color-bg-secondary)}.data-table thead{position:sticky;top:0;background:var(--color-bg-tertiary);color:var(--color-text-primary);z-index:10;box-shadow:0 2px 4px #0000004d}.data-table th{padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-weight:600;font-size:var(--font-size-sm);white-space:nowrap;text-transform:uppercase;letter-spacing:.05em;border-right:1px solid rgba(255,255,255,.1)}.data-table th:last-child{border-right:none}.data-table tbody tr{border-bottom:1px solid var(--color-border-light);transition:background-color var(--transition-fast)}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody tr:hover{background-color:var(--color-bg-tertiary)}.data-table td{padding:var(--spacing-md) var(--spacing-lg);white-space:nowrap;font-size:var(--font-size-sm);color:var(--color-text-primary);border-right:1px solid var(--color-border-light)}.data-table th{border-right:1px solid var(--color-border)}.data-table td:last-child{border-right:none}.data-table-empty{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-tertiary);font-size:var(--font-size-base)}@media (max-width: 1024px){.app-main{padding:var(--spacing-lg) var(--spacing-lg)}.navbar{padding:var(--spacing-md) var(--spacing-lg)}}@media (max-width: 768px){#root{padding:var(--spacing-md)}.app{border-radius:var(--radius-lg)}.app-main{padding:var(--spacing-lg) var(--spacing-md) var(--spacing-lg)}.navbar{padding:var(--spacing-md) var(--spacing-md)}.navbar-inner{flex-direction:column;align-items:stretch}.navbar-links{justify-content:flex-start}.navbar-right{flex-direction:column;align-items:stretch}.navbar-external{justify-content:flex-start}.dataset-meta{flex-direction:column;gap:var(--spacing-sm)}.dataset-meta span{width:100%}.table-wrapper{max-height:60vh}.data-table th,.data-table td{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs)}}@media (max-width: 480px){.file-input-label{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm)}}.import-open-btn{padding:var(--spacing-md) var(--spacing-2xl);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-lg);font-weight:700;display:inline-flex;align-items:center;justify-content:center;transition:background var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base);box-shadow:var(--shadow-md)}.import-open-btn:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.import-open-btn:active:not(:disabled){transform:translateY(0)}.import-open-btn:disabled{opacity:.5;cursor:not-allowed}.privacy-toggle-row{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;margin-bottom:var(--spacing-lg);padding:var(--spacing-sm) 0}.privacy-toggle-label{display:inline-flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500}.privacy-toggle-label input[type=checkbox]{width:1.125rem;height:1.125rem;accent-color:var(--color-primary);cursor:pointer}.privacy-toggle-desc{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg);animation:modalFadeIn .15s ease-out}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-container{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:640px;max-height:85vh;overflow-y:auto;animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-container::-webkit-scrollbar{width:6px}.modal-container::-webkit-scrollbar-track{background:transparent}.modal-container::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-sm)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border-light)}.modal-header-inner{flex:1;min-width:0}.modal-header h2{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text-primary)}.modal-header-note{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-xs);font-weight:400}.modal-close-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:1.25rem;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.modal-close-btn:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.modal-body{padding:var(--spacing-md) var(--spacing-xl) var(--spacing-xl)}.accordion-section{border:1px solid var(--color-border-light);border-radius:var(--radius-md);margin-top:var(--spacing-md);overflow:hidden;transition:border-color var(--transition-base)}.accordion-section--expanded{border-color:var(--color-primary)}.accordion-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-tertiary);border:none;cursor:pointer;text-align:left;color:var(--color-text-primary);transition:background var(--transition-fast)}.accordion-header:hover{background:var(--color-bg-secondary)}.accordion-header-text{display:flex;flex-direction:column;gap:2px}.accordion-title{font-size:var(--font-size-base);font-weight:600}.accordion-subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-weight:400}.accordion-chevron{font-size:1.25rem;color:var(--color-text-secondary);transition:transform var(--transition-base);flex-shrink:0}.accordion-chevron--open{transform:rotate(180deg)}.accordion-content{padding:var(--spacing-lg);border-top:1px solid var(--color-border-light);background:var(--color-bg-secondary)}.accordion-stats{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-light)}.accordion-stats-inner{display:flex;flex-direction:column;gap:var(--spacing-xs)}.accordion-stats-line{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.accordion-clear-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm);text-decoration:underline;padding:0;transition:color var(--transition-fast)}.accordion-clear-btn:hover{color:var(--color-primary)}.accordion-source-hint{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-light)}.accordion-source-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);line-height:1.45}.accordion-source-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}.accordion-source-link:hover{color:var(--color-primary-hover)}.accordion-source-link svg{flex-shrink:0;width:1rem;height:1rem}.import-notification{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.import-notification--success{background:var(--color-success-light, rgba(34, 197, 94, .15));color:var(--color-success, #16a34a)}.import-notification--error{background:var(--color-error-light, rgba(239, 68, 68, .15));color:var(--color-error, #dc2626)}.modal-footer-actions{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light);text-align:center}.raw-data-link-btn{background:var(--color-bg-tertiary);border:1px solid var(--color-border);color:var(--color-primary);cursor:pointer;font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);transition:background var(--transition-fast),border-color var(--transition-fast)}.raw-data-link-btn:hover:not(:disabled){background:var(--color-primary-light);border-color:var(--color-primary)}.raw-data-link-btn:disabled{opacity:.6;cursor:not-allowed}.data-import-settings-page{max-width:960px;margin:0 auto;padding-bottom:var(--spacing-2xl)}.data-import-tabs{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-border-light);padding-bottom:var(--spacing-sm)}.data-import-tab{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:500;font-family:var(--font-family);color:var(--color-text-secondary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.data-import-tab:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.data-import-tab--active{color:var(--color-bg-primary);background:var(--color-primary)}.data-import-tab--active:hover{background:var(--color-primary-hover)}.data-import-tab-panel{padding:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}.data-import-settings-header{margin-bottom:var(--spacing-xl)}.data-import-settings-title{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0}.data-import-settings-note{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;font-weight:400}.data-import-settings-section-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.data-import-settings-import{padding:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}.data-import-settings-accordions{margin-top:var(--spacing-md)}.data-import-settings-accordions .accordion-section:first-of-type{margin-top:0}.data-import-settings-raw .data-import-settings-section-title{margin-bottom:var(--spacing-lg)}.key-events-subtitle{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.key-events-create,.key-events-import,.key-events-list-wrap{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-light)}.key-events-section{padding:var(--spacing-xl) var(--spacing-2xl);margin-bottom:var(--spacing-2xl)}.key-events-cards-wrap{margin-top:var(--spacing-lg)}.key-events-by-year{display:flex;flex-direction:column;gap:var(--spacing-lg)}.key-events-year-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.key-events-year{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border-light)}.key-events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-md)}@media (max-width: 640px){.key-events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 400px){.key-events-grid{grid-template-columns:1fr}}.key-event-card{min-width:0;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-tertiary);transition:border-color var(--transition-fast),background var(--transition-fast)}.key-event-card--disabled{opacity:.7;border-style:dashed}.key-event-card-header{display:flex;align-items:flex-start;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.key-event-card-toggles{display:flex;align-items:center;gap:2px;flex-shrink:0}.key-events-icon-btn--toggle{padding:var(--spacing-xs);color:var(--color-text-tertiary)}.key-events-icon-btn--toggle.key-events-icon-btn--active,.key-events-icon-btn--toggle:hover{color:var(--color-primary)}.key-event-card-name{flex:1;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);min-width:0;word-break:break-word}.key-event-card-buttons{display:flex;align-items:center;gap:2px;flex-shrink:0}.key-event-card-dates{font-size:var(--font-size-sm);color:var(--color-text-secondary);padding-left:calc(1rem + var(--spacing-xs))}.key-event-card-edit{display:flex;flex-direction:column;gap:var(--spacing-sm)}.key-event-card-edit .key-events-input--sm{width:100%}.key-event-card-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.key-events-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.key-events-form-row{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.key-events-label{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.key-events-label--full{flex:1;min-width:200px}.key-events-optional{font-weight:400;color:var(--color-text-tertiary)}.key-events-input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-tertiary);color:var(--color-text-primary);font-size:var(--font-size-base);min-width:140px}.key-events-input--sm{min-width:0;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.key-events-btn{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-tertiary);color:var(--color-text-primary);cursor:pointer;font-size:var(--font-size-sm);transition:background var(--transition-fast),border-color var(--transition-fast);align-self:flex-start}.key-events-btn:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-primary);color:var(--color-primary)}.key-events-btn:disabled{opacity:.6;cursor:not-allowed}.key-events-btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-primary)}.key-events-btn--primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.key-events-btn--sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.key-events-btn--danger{border-color:var(--color-danger);color:var(--color-danger)}.key-events-btn--danger:hover:not(:disabled){background:#ef444426;border-color:var(--color-danger-hover);color:var(--color-danger-hover)}.archive-actions{display:flex;flex-direction:column;gap:var(--spacing-2xl)}.archive-action-block{padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-border-light)}.archive-action-block:last-of-type{border-bottom:none;padding-bottom:0}.archive-action-block--danger{padding-top:var(--spacing-md)}.archive-action-block .key-events-btn{margin-right:var(--spacing-sm)}.archive-delete-confirm{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-sm)}.archive-delete-warning{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.archive-delete-input{max-width:12rem;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);font-family:var(--font-family);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary)}.archive-delete-input:focus{outline:none;border-color:var(--color-primary)}.archive-delete-buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.key-events-list-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.key-events-empty{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.key-events-checkbox{display:inline-flex;align-items:center;cursor:pointer;flex-shrink:0}.key-events-checkbox input{width:1rem;height:1rem;cursor:pointer;accent-color:var(--color-primary)}.key-events-checkbox-label{display:none}.key-events-cell{color:var(--color-text-secondary);min-width:0}.key-events-cell--date{min-width:6rem;color:var(--color-text-primary)}.key-events-cell--name{flex:1;min-width:120px;color:var(--color-text-primary)}.key-events-edit-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm);width:100%}.key-events-edit-row .key-events-input--sm{flex:1;min-width:80px}.key-events-icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs);border:none;background:none;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.key-events-icon-btn:hover{color:var(--color-primary);background:var(--color-primary-light)}.key-events-icon-btn--danger:hover{color:var(--color-danger);background:#ef444426}.paste-importer{display:flex;flex-direction:column;gap:var(--spacing-md)}.paste-importer-actions{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.paste-importer-btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:var(--font-size-sm);transition:background var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base);box-shadow:var(--shadow-sm)}.paste-importer-btn:hover{background:#3b82f62e;transform:translateY(-1px);box-shadow:var(--shadow-md)}.paste-importer-count{font-size:var(--font-size-sm);color:var(--color-success);font-weight:500}.paste-importer-preview{width:100%;padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-tertiary);color:var(--color-text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:var(--font-size-xs);line-height:1.4;resize:vertical;outline:none;transition:box-shadow var(--transition-base),border-color var(--transition-base)}.paste-importer-preview:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.paste-importer-import-btn{align-self:flex-start;padding:var(--spacing-sm) var(--spacing-xl);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:700;font-size:var(--font-size-sm);transition:background var(--transition-base),transform var(--transition-base)}.paste-importer-import-btn:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.monthly-import-grid{display:flex;flex-direction:column;gap:var(--spacing-md)}.month-grid-year{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border-light);margin-top:var(--spacing-sm)}.month-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.month-card{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-tertiary);transition:border-color var(--transition-fast),background var(--transition-fast)}.month-card--imported{border-color:var(--color-success);background:#10b9810f}.month-card--just-imported{animation:monthFlash .6s ease-out}@keyframes monthFlash{0%{background:#10b98140}to{background:#10b9810f}}.month-card-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary);min-width:5ch}.month-card-paste{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-primary);cursor:pointer;padding:2px;border-radius:var(--radius-sm);font-size:1rem;transition:background var(--transition-fast),color var(--transition-fast)}.month-card-paste:hover{background:var(--color-primary-light)}.month-card-check{color:var(--color-success);font-size:1rem;flex-shrink:0}.monthly-sales-chart{width:100%;overflow-x:auto;overflow-y:visible}.monthly-sales-chart-header{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.monthly-sales-chart-header-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md)}.monthly-sales-chart-title{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);margin:0}.chart-view-toggle{display:inline-flex;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:2px}.chart-view-toggle-btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);font-weight:500;font-family:var(--font-family);color:var(--color-text-tertiary);background:transparent;border:none;border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.chart-view-toggle-btn:hover{color:var(--color-text-secondary)}.chart-view-toggle-btn.active{background:var(--color-primary);color:var(--color-bg-primary)}.monthly-sales-chart-source{font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-weight:400;display:block}.catalog-analysis-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);flex-wrap:wrap;gap:var(--spacing-md)}.catalog-analysis-header-left{display:flex;align-items:center;gap:var(--spacing-lg);flex-wrap:wrap}.catalog-analysis-title{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);margin:0}.catalog-weight-checkbox{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.catalog-weight-checkbox input{margin:0;accent-color:var(--color-primary)}.catalog-weight-tooltip{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-tertiary);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:50%;cursor:help}.catalog-weight-tooltip:hover{color:var(--color-primary);border-color:var(--color-primary)}.catalog-analysis-header+.table-wrapper .data-table td:nth-child(2){white-space:normal}.asset-analysis-select{font-family:var(--font-family);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);min-width:12rem;max-width:20rem}.asset-analysis-select:focus{outline:none;border-color:var(--color-primary)}.asset-analysis-chart-wrap{margin-top:var(--spacing-md)}.asset-analysis-price-toggle{margin-bottom:var(--spacing-md)}.asset-analysis-volume-kpis{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-top:var(--spacing-md)}.asset-analysis-histogram-wrap{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.asset-analysis-histogram-title{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.asset-analysis-key-events-legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.asset-analysis-key-events-legend-title{font-weight:500;color:var(--color-text-secondary)}.asset-analysis-key-event-badge{padding:2px 8px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.asset-analysis-kpis{margin-top:var(--spacing-md)}.asset-analysis-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.asset-analysis-kpi-card{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.asset-analysis-kpi-label{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.asset-analysis-kpi-value{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.asset-analysis-licence-table-wrap{overflow-x:auto}.asset-analysis-licence-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.asset-analysis-licence-table th,.asset-analysis-licence-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.asset-analysis-licence-table th{font-weight:600;color:var(--color-text-secondary)}.asset-analysis-kpi-th-num,.asset-analysis-kpi-td-num{text-align:right}.catalog-licence-view{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--spacing-xl);margin-top:var(--spacing-md)}.catalog-pie-chart{width:240px;height:240px;min-width:240px;min-height:240px;border-radius:50%;flex-shrink:0}.catalog-pie-legend-table{width:100%;max-width:360px;border-collapse:collapse;font-size:var(--font-size-sm)}.catalog-pie-legend-table thead th{padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-weight:600;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.catalog-pie-legend-th-swatch{width:24px;padding-right:0!important}.catalog-pie-legend-th-num{text-align:right}.catalog-pie-legend-table tbody td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border-light);color:var(--color-text-primary)}.catalog-pie-legend-table tbody tr:last-child td{border-bottom:none}.catalog-pie-legend-td-swatch{width:24px;padding-right:0!important;vertical-align:middle}.catalog-pie-legend-swatch{display:inline-block;width:12px;height:12px;border-radius:var(--radius-sm)}.catalog-pie-legend-td-num{text-align:right;font-variant-numeric:tabular-nums}.catalog-sales-view{margin-top:var(--spacing-md)}.catalog-sales-pies{display:flex;flex-wrap:nowrap;gap:var(--spacing-lg);align-items:stretch;overflow-x:auto}@media (max-width: 900px){.catalog-sales-pies{flex-wrap:wrap}}.catalog-sales-pie-block{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);flex:1 1 0;min-width:0}.catalog-sales-pie-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);margin:0;flex-shrink:0}.catalog-sales-pie-block .catalog-pie-chart.catalog-sales-pie{width:90px;height:90px;min-width:90px;min-height:90px;flex-shrink:0}.catalog-sales-pie-block .catalog-pie-legend-table{font-size:var(--font-size-xs);max-width:100%}.catalog-sales-pie-block .catalog-pie-legend-table tbody td,.catalog-sales-pie-block .catalog-pie-legend-table thead th{padding:var(--spacing-xs) var(--spacing-sm)}.kpi-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);width:100%;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.kpi-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-xs);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);position:relative}.kpi-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-sm)}.kpi-card-help{position:relative;flex-shrink:0}.kpi-card-help-btn{width:20px;height:20px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-bg-primary);color:var(--color-text-tertiary);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.kpi-card-help-btn:hover{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-bg-secondary)}.kpi-card-tooltip{position:absolute;top:calc(100% + var(--spacing-xs));right:0;min-width:200px;max-width:280px;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:400;color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:10;white-space:normal;line-height:1.4}.kpi-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.kpi-card-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.kpi-card-value{font-size:var(--font-size-base);font-weight:500;color:var(--color-text-primary);margin-top:var(--spacing-xs)}.kpi-card-amount{font-size:var(--font-size-2xl);font-weight:600;color:var(--color-primary);margin-top:var(--spacing-sm)}.kpi-card-date-inline{margin-left:var(--spacing-sm);font-size:var(--font-size-base);font-weight:500;color:var(--color-text-secondary)}.kpi-cards--compact{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-md);padding-top:0;border-top:none}.kpi-cards--compact .kpi-card{padding:var(--spacing-md) var(--spacing-lg);gap:var(--spacing-xs);border-radius:var(--radius-sm);min-width:0}.kpi-cards--compact .kpi-card-label{font-size:var(--font-size-sm)}.kpi-cards--compact .kpi-card-amount{font-size:var(--font-size-xl);margin-top:var(--spacing-sm)}.kpi-cards--compact .kpi-card-help-btn{width:20px;height:20px;font-size:var(--font-size-sm)}.sales-evolution-card{margin-top:var(--spacing-xl)}.sales-evolution-header{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.sales-evolution-header-row{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:var(--spacing-md)}.sales-evolution-source-tabs{display:inline-flex;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:2px}.sales-evolution-source-tab{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);font-weight:500;font-family:var(--font-family);color:var(--color-text-tertiary);background:transparent;border:none;border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.sales-evolution-source-tab:hover{color:var(--color-text-secondary)}.sales-evolution-source-tab--active{background:var(--color-primary);color:var(--color-bg-primary)}.sales-evolution-title{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary)}.sales-evolution-source{font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-weight:400;display:block}.sales-evolution-chart-wrap{width:100%;min-height:340px}.sales-evolution-range-selector{position:relative;width:100%;height:64px;margin-top:var(--spacing-sm)}.sales-evolution-range-bg,.sales-evolution-range-fg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.sales-evolution-range-bg{z-index:0;pointer-events:none}.sales-evolution-range-fg{z-index:1}.sales-evolution-range-fg .recharts-bar-rectangle,.sales-evolution-range-fg .recharts-rectangle{display:none}.sales-evolution-range-fg .recharts-brush-slide{fill:var(--color-chart-primary);fill-opacity:.08}.sales-evolution-range-fg .recharts-brush-traveller rect{fill:var(--color-text-tertiary);rx:3}.sales-evolution-range-fg .recharts-brush text{fill:var(--color-text-secondary);font-size:11px}.recharts-default-tooltip{z-index:9999!important;position:relative}.sales-evolution-chart-wrap .recharts-tooltip-wrapper{z-index:9999!important}.sales-evolution-range-months{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.sales-evolution-month-divider{position:absolute;top:0;bottom:0;width:0;border-left:1px solid var(--color-border);opacity:.5}.sales-evolution-month-divider span{position:absolute;top:2px;left:4px;font-size:10px;line-height:1;color:var(--color-text-tertiary);white-space:nowrap;-webkit-user-select:none;user-select:none}
