:root{--primary-color: #646cff;--secondary-color: #535bf2;--background: #242424;--surface: #2d2d2d;--text-primary: rgba(255, 255, 255, .87);--text-secondary: rgba(255, 255, 255, .6);--success: #4ade80;--error: #f87171;--border-radius: 8px}.App{min-height:100vh;display:flex;flex-direction:column}.App-header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);padding:2rem;box-shadow:0 4px 6px #0000001a}.App-header .header-content{max-width:1800px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:2rem}.App-header h1{margin:0;font-size:2rem;font-weight:700;color:#fff}.subtitle{margin:.5rem 0 0;font-size:1rem;color:#ffffffe6}.App-main-explorer{flex:1;display:grid;grid-template-columns:320px 1fr;gap:1.5rem;padding:1.5rem;max-width:1800px;width:100%;margin:0 auto}.sidebar{min-width:280px}.content{min-width:0;display:flex;flex-direction:column;gap:1rem}.results-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.results-info h2{margin:0;color:var(--text-primary);font-size:1.5rem}.results-info p{margin:.25rem 0 0;color:var(--text-secondary);font-size:.9rem}.pagination{display:flex;align-items:center;gap:1rem}.pagination.bottom{justify-content:center;margin-top:1rem;padding:1rem;background:var(--surface);border-radius:var(--border-radius)}.page-btn{padding:.5rem 1rem;background:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;transition:background .2s ease,opacity .2s ease}.page-btn:hover:not(:disabled){background:var(--secondary-color)}.page-btn:disabled{opacity:.5;cursor:not-allowed}.page-info{color:var(--text-secondary);font-size:.9rem;white-space:nowrap}.connection-error{grid-column:1 / -1;text-align:center;padding:4rem 2rem;background:var(--surface);border-radius:var(--border-radius);box-shadow:0 2px 8px #0003}.connection-error h2{color:var(--error);margin-top:0}.connection-error p{color:var(--text-secondary);margin:.5rem 0}.retry-btn{margin-top:1.5rem;padding:.75rem 1.5rem;background:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;transition:background .2s ease}.retry-btn:hover{background:var(--secondary-color)}.error-message{padding:1rem;background:#f8717133;border-left:3px solid var(--error);border-radius:4px;color:var(--error);margin-bottom:1rem}.success-message{padding:1rem;background:#4ade8033;border-left:3px solid var(--success);border-radius:4px;color:var(--success);margin-bottom:1rem}.App-footer{background:var(--surface);padding:1rem;text-align:center;color:var(--text-secondary);border-top:1px solid rgba(255,255,255,.1);font-size:.85rem}.status-indicator{color:var(--success)}@media(max-width:1024px){.App-main-explorer{grid-template-columns:1fr}.sidebar{min-width:100%}}@media(max-width:768px){.App-header h1{font-size:1.5rem}.App-main-explorer{padding:1rem}.results-header{flex-direction:column;align-items:flex-start}.pagination{width:100%;justify-content:space-between}}.filter-panel{background:var(--surface);border-radius:var(--border-radius);padding:1.5rem;box-shadow:0 2px 8px #0003;height:fit-content;position:sticky;top:1rem}.filter-panel h2{margin-top:0;color:var(--primary-color);font-size:1.5rem;margin-bottom:1.5rem}.filter-section{margin-bottom:1.5rem}.filter-section label,.filter-section-label{display:block;font-weight:600;margin-bottom:.5rem;color:var(--text-primary);font-size:.9rem}.filter-section input,.filter-section select{width:100%;padding:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--text-primary);font-size:.9rem;transition:border-color .2s ease,background .2s ease}.filter-section input:focus,.filter-section select:focus{outline:none;border-color:var(--primary-color);background:#ffffff14}.text-filter-input{width:100%;padding:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--text-primary);font-size:.9rem;transition:border-color .2s ease,background .2s ease;box-sizing:border-box}.text-filter-input::placeholder{color:#ffffff80}.text-filter-input:focus{outline:none;border-color:var(--primary-color);background:#ffffff14}.react-select-container{width:100%}.react-select__control{background:#ffffff0d!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:4px!important;min-height:42px!important;transition:border-color .2s ease,background .2s ease!important}.react-select__control:hover{border-color:#fff3!important}.react-select__control--is-focused{border-color:var(--primary-color)!important;background:#ffffff14!important;box-shadow:0 0 0 1px var(--primary-color)!important}.react-select__value-container{padding:.5rem .75rem!important}.react-select__input-container{color:var(--text-primary)!important;margin:0!important;padding:0!important}.react-select__single-value{color:var(--text-primary)!important;font-size:.9rem!important}.react-select__placeholder{color:#ffffff80!important;font-size:.9rem!important}.react-select__indicator-separator{background-color:#ffffff1a!important}.react-select__dropdown-indicator,.react-select__clear-indicator{color:#ffffff80!important;padding:.5rem!important}.react-select__dropdown-indicator:hover,.react-select__clear-indicator:hover{color:var(--text-primary)!important}.react-select__menu{background:var(--surface)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:4px!important;box-shadow:0 4px 12px #0000004d!important;margin-top:4px!important;z-index:1000!important}.react-select__menu-list{padding:.25rem 0!important}.react-select__option{background:transparent!important;color:var(--text-primary)!important;font-size:.9rem!important;padding:.5rem .75rem!important;cursor:pointer!important;transition:background .2s ease!important}.react-select__option:hover,.react-select__option--is-focused{background:#ffffff1a!important}.react-select__option--is-selected{background:#646cff4d!important;color:var(--text-primary)!important}.react-select__option--is-selected:hover{background:#646cff66!important}.react-select__multi-value{background:#646cff4d!important;border-radius:4px!important;border:1px solid rgba(100,108,255,.5)!important;margin:2px!important;max-width:100%!important}.react-select__multi-value__label{color:var(--text-primary)!important;font-size:.85rem!important;padding:3px 6px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;word-break:break-word!important;line-height:1.3!important}.react-select__multi-value__remove{background:transparent!important;color:#ffffffb3!important;cursor:pointer!important;padding:0 4px!important;border-radius:0 3px 3px 0!important;transition:all .2s ease!important}.react-select__multi-value__remove:hover{background:#f871714d!important;color:var(--error)!important}.react-select__value-container--is-multi{padding:2px 8px!important;gap:2px!important}.date-range-picker{width:100%}.filter-hint{display:block;margin-top:.25rem;color:var(--text-secondary);font-size:.8rem;font-style:italic}.duration-range-inputs{display:flex;align-items:center;gap:.5rem}.duration-input{flex:1;min-width:0;padding:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--text-primary);font-size:.9rem;transition:border-color .2s ease,background .2s ease}.duration-input:focus{outline:none;border-color:var(--primary-color);background:#ffffff14}.duration-input::placeholder{color:#ffffff80}.duration-input::-webkit-outer-spin-button,.duration-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.duration-input[type=number]{-moz-appearance:textfield}.duration-separator{color:var(--text-secondary);font-size:.9rem;flex-shrink:0}.date-input{cursor:pointer}.date-input::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer}.filter-input{margin-bottom:.5rem}.add-filter-btn,.clear-btn{width:100%;padding:.75rem;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:background .2s ease,opacity .2s ease}.add-filter-btn{background:var(--primary-color);color:#fff}.add-filter-btn:hover:not(:disabled){background:var(--secondary-color)}.add-filter-btn:disabled{opacity:.5;cursor:not-allowed}.clear-btn{background:#f8717133;color:var(--error);border:1px solid var(--error)}.clear-btn:hover{background:#f871714d}.filter-info{margin-top:2rem;padding:1rem;background:#646cff1a;border-left:3px solid var(--primary-color);border-radius:4px;font-size:.85rem}.filter-info p{margin:0 0 .5rem;font-weight:600;color:var(--primary-color)}.filter-info ul{margin:0;padding-left:1.25rem;color:var(--text-secondary)}.filter-info li{margin:.25rem 0}.additional-filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.additional-filter-header label{margin-bottom:0}.remove-additional-filter-btn{background:transparent;border:none;color:var(--danger-color);font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.remove-additional-filter-btn:hover{transform:scale(1.2)}.add-additional-filter-btn{width:100%;padding:.75rem;background:#ffffff0d;color:var(--text-primary);border:1px solid rgba(255,255,255,.1);border-radius:4px;cursor:pointer;font-weight:600;transition:all .2s ease}.add-additional-filter-btn:hover{background:#ffffff14;border-color:var(--primary-color)}.cancel-btn{width:100%;padding:.5rem;background:#ffffff0d;color:var(--text-primary);border:1px solid rgba(255,255,255,.1);border-radius:4px;cursor:pointer;transition:all .2s ease}.cancel-btn:hover{background:#ffffff1a}@media(max-width:768px){.filter-panel{position:static;margin-bottom:1rem}}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}.ant-picker{background:#ffffff0d!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:4px!important;min-height:42px!important;transition:border-color .2s ease,background .2s ease!important}.ant-picker:hover{border-color:#fff3!important}.ant-picker-focused{border-color:#646cff!important;background:#ffffff14!important;box-shadow:0 0 0 1px #646cff!important}.ant-picker-input>input{color:#ffffffde!important;font-size:.9rem!important}.ant-picker-input>input::placeholder{color:#ffffff80!important}.ant-picker-suffix,.ant-picker-clear{color:#ffffff80!important}.ant-picker-suffix:hover,.ant-picker-clear:hover{color:#ffffffb3!important}.ant-picker-separator{color:#ffffff80!important}.ant-picker-dropdown{z-index:1050!important}.ant-picker-panel-container{background:#2d2d2d!important;border:1px solid rgba(255,255,255,.1)!important;box-shadow:0 4px 12px #0000004d!important}.ant-picker-panel{background:#2d2d2d!important;border:none!important}.ant-picker-header{color:#ffffffde!important;border-bottom:1px solid rgba(255,255,255,.1)!important}.ant-picker-header button{color:#ffffffde!important}.ant-picker-header button:hover{color:#646cff!important}.ant-picker-header-view button{color:#ffffffde!important}.ant-picker-header-view button:hover{color:#646cff!important}.ant-picker-content th{color:#fff9!important}.ant-picker-cell,.ant-picker-cell-inner{color:#ffffffde!important}.ant-picker-cell:hover:not(.ant-picker-cell-selected):not(.ant-picker-cell-disabled) .ant-picker-cell-inner{background:#ffffff1a!important}.ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner,.ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner,.ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner{background:#646cff!important;color:#fff!important}.ant-picker-cell-in-view.ant-picker-cell-in-range:before{background:#646cff33!important}.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):before{background:#646cff33!important}.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):before{background:#646cff33!important}.ant-picker-cell-disabled{color:#ffffff40!important}.ant-picker-cell-disabled .ant-picker-cell-inner{color:#ffffff40!important;background:transparent!important}.ant-picker-footer{border-top:1px solid rgba(255,255,255,.1)!important;background:#2d2d2d!important}.ant-picker-today-btn{color:#646cff!important}.ant-picker-today-btn:hover{color:#535bf2!important}.ant-picker-ranges{padding:8px 12px!important}.ant-picker-preset>.ant-tag{background:#646cff33!important;border-color:#646cff66!important;color:#ffffffde!important}.ant-picker-preset>.ant-tag:hover{background:#646cff4d!important}.ant-picker-year-panel,.ant-picker-month-panel,.ant-picker-decade-panel{background:#2d2d2d!important}.ant-picker-year-panel .ant-picker-cell-inner,.ant-picker-month-panel .ant-picker-cell-inner,.ant-picker-decade-panel .ant-picker-cell-inner{color:#ffffffde!important}.main-navigation{display:flex;gap:.5rem;align-items:center}.nav-item{padding:.75rem 1.5rem;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:4px;color:#fffc;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:1rem;white-space:nowrap}.nav-item:hover{background:#fff3;border-color:#fff6;color:#fff;transform:translateY(-1px)}.nav-item.active{background:#fff;color:var(--primary-color);border-color:#fff;box-shadow:0 4px 12px #0003}.nav-item.active:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0000004d}@media(max-width:768px){.main-navigation{gap:.25rem}.nav-item{padding:.5rem 1rem;font-size:.9rem}}.overview-content{display:flex;flex-direction:column;gap:1.5rem}.overview-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;padding:1.5rem;background:var(--surface);border-radius:var(--border-radius);box-shadow:0 2px 8px #0003}.overview-header h2{margin:0 0 1rem;color:var(--text-primary);font-size:1.75rem;font-weight:600}.summary-stats{display:flex;gap:2rem;flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.85rem;color:var(--text-secondary);font-weight:500}.stat-value{font-size:1.5rem;color:var(--primary-color);font-weight:700}.time-range-controls{display:flex;flex-direction:column;gap:1rem;align-items:flex-end}.duration-selector{display:flex;flex-direction:column;gap:.5rem;min-width:200px}.duration-selector label{font-size:.9rem;color:var(--text-primary);font-weight:500}.duration-select{min-width:200px}.date-range-item{display:flex;flex-direction:column;gap:.25rem}.date-range-with-nav{display:flex;align-items:center;gap:.5rem}.date-range-with-nav .stat-value{font-size:1.25rem;min-width:180px;text-align:center}.date-range-with-nav .nav-btn{padding:0rem .6rem .18rem;background:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:700;font-size:1.25rem;transition:background .2s ease,opacity .2s ease;min-width:32px;display:flex;align-items:center;justify-content:center}.date-range-with-nav .nav-btn:hover:not(:disabled){background:var(--secondary-color)}.date-range-with-nav .nav-btn:disabled{opacity:.5;cursor:not-allowed}.charts-container{display:flex;flex-direction:column;gap:1.5rem}.chart-card{background:var(--surface);border-radius:var(--border-radius);padding:1.5rem;box-shadow:0 2px 8px #0003}.chart-card h3{margin:0 0 1rem;color:var(--text-primary);font-size:1.25rem;font-weight:600}.chart-full{width:100%}.chart-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.chart-half{min-width:0}.no-data{display:flex;align-items:center;justify-content:center;height:300px;color:var(--text-secondary);font-size:1rem;font-style:italic}.loading-state{display:flex;align-items:center;justify-content:center;height:400px;color:var(--text-secondary);font-size:1.25rem}@media(max-width:1200px){.chart-row{grid-template-columns:1fr}.overview-toolbar{flex-direction:column;align-items:stretch}.time-range-controls{align-items:stretch}.duration-selector{min-width:100%}.date-range-with-nav{flex-wrap:wrap;justify-content:flex-start}.date-range-with-nav .stat-value{min-width:auto;text-align:left}}@media(max-width:768px){.overview-toolbar{padding:1rem}.summary-stats{flex-direction:column;gap:1rem}.chart-card{padding:1rem}.stat-value{font-size:1.25rem}.overview-header h2{font-size:1.5rem}}.table-container{width:100%;background:transparent}.grid-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--surface);border-radius:var(--border-radius);margin-bottom:1rem;box-shadow:0 2px 8px #0000001a}.header-left{display:flex;align-items:center;gap:.5rem}.header-right{display:flex;align-items:center;gap:1rem}.sort-controls{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary)}.sort-select{background:#0003;border:1px solid rgba(255,255,255,.1);color:var(--text-primary);padding:.25rem .5rem;border-radius:4px;cursor:pointer;outline:none}.sort-select:focus{border-color:var(--primary-color)}.sort-direction{background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:1.1rem;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:4px}.sort-direction:hover{background:#ffffff1a}.episode-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.episode-card{background:var(--surface);border-radius:var(--border-radius);box-shadow:0 2px 8px #0003;overflow:hidden;display:flex;flex-direction:column;cursor:pointer;transition:all .2s ease;position:relative;border:2px solid transparent;height:100%}.episode-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000004d;border-color:#646cff80}.episode-card.selected-card{border-color:var(--primary-color);background:#646cff0d;box-shadow:0 0 0 1px var(--primary-color)}.episode-card-header{padding:.75rem 1rem;background:#0003;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.05)}.episode-id{font-family:Courier New,monospace;font-size:.9rem;color:var(--primary-color);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color)}.episode-video-preview{width:100%;background:#000;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden}.episode-video-preview video{width:100%;height:100%;object-fit:cover}.no-preview{color:var(--text-secondary);font-size:.85rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;text-align:center}.no-preview-icon{font-size:2rem;opacity:.5}.episode-card-info{padding:1rem;display:grid;grid-template-columns:50% 50%;gap:1rem 0;font-size:.85rem;flex-grow:1}.info-item{display:flex;flex-direction:column;gap:.3rem;min-width:0;padding-right:.5rem}.info-label{color:var(--text-secondary);font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.info-value{color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.info-value.wrap{white-space:normal;word-wrap:break-word;overflow:visible;text-overflow:unset}.table-loading,.table-empty{padding:3rem;text-align:center;color:var(--text-secondary);font-style:italic;background:var(--surface);border-radius:var(--border-radius);box-shadow:0 2px 8px #0003}@media(max-width:768px){.episode-grid{grid-template-columns:1fr}.grid-header{flex-direction:column;gap:1rem;align-items:flex-start}.header-right{width:100%;justify-content:space-between}}.selection-toolbar{display:flex;justify-content:space-between;align-items:center;background:#646cff26;border:1px solid var(--primary-color);border-radius:var(--border-radius);padding:1rem 1.5rem;margin-bottom:1rem;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.selection-info{display:flex;align-items:center;gap:1rem;flex:1}.deselect-btn{background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:1.2rem;padding:.25rem .5rem;opacity:.7;transition:opacity .2s ease;line-height:1}.deselect-btn:hover{opacity:1}.selection-count{color:var(--text-primary);font-size:.95rem}.selection-count strong{color:var(--primary-color);font-weight:700}.select-all-link{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:.9rem;text-decoration:underline;padding:0;transition:opacity .2s ease}.select-all-link:hover{opacity:.8}.selection-actions{display:flex;gap:.75rem}.action-btn{padding:.75rem 1.5rem;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9rem}.action-btn.primary{background:var(--primary-color);color:#fff}.action-btn.primary:hover{background:var(--secondary-color);transform:translateY(-1px);box-shadow:0 4px 8px #646cff4d}.action-btn.secondary{background:#ffffff1a;color:var(--text-primary);border:1px solid rgba(255,255,255,.2)}.action-btn.secondary:hover{background:#ffffff26;transform:translateY(-1px)}@media(max-width:768px){.selection-toolbar{flex-direction:column;gap:1rem;align-items:stretch}.selection-info{flex-direction:column;align-items:flex-start;gap:.5rem}.selection-actions{width:100%}.action-btn{flex:1}}.dataset-list{display:flex;flex-direction:column;gap:.75rem}.no-datasets{text-align:center;color:var(--text-secondary);padding:2rem;font-style:italic}.dataset-item{padding:1rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:4px;cursor:pointer;transition:all .2s ease}.dataset-item:hover{background:#ffffff14;border-color:#646cff4d}.dataset-item.selected{background:#646cff33;border-color:var(--primary-color)}.dataset-info h3{margin:0 0 .25rem;color:var(--text-primary);font-size:1.1rem}.dataset-info p{margin:0;color:var(--text-secondary);font-size:.85rem}.dataset-meta{display:flex;gap:1rem;margin-top:.5rem;font-size:.8rem;color:var(--text-secondary)}.owner{font-style:italic}.episode-details{min-height:100vh;background:var(--background);color:var(--text-primary)}.details-header .header-content>div:first-child{flex:0 1 auto}.details-header .header-content>nav{flex:0 0 auto;margin-left:auto}.details-header h1{margin:.5rem 0;font-size:2rem;color:#fff}.episode-id{margin:.5rem 0 0;font-size:.9rem;color:#fffc;font-family:monospace}.back-btn{padding:.5rem 1rem;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:4px;color:#fff;cursor:pointer;font-weight:600;transition:background .2s ease}.back-btn:hover{background:#ffffff4d}.details-main{display:grid;grid-template-columns:1fr 400px;gap:2rem;padding:2rem;max-width:1800px;margin:0 auto}.video-section{background:var(--surface);border-radius:var(--border-radius);padding:2rem;box-shadow:0 2px 8px #0003}.video-section h2{margin-top:0;color:var(--primary-color);font-size:1.5rem}.video-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.video-tab{padding:.75rem 1.5rem;background:#646cff1a;border:1px solid rgba(100,108,255,.3);border-radius:4px;color:var(--text-primary);cursor:pointer;font-weight:500;transition:all .2s ease;text-transform:capitalize}.video-tab:hover{background:#646cff33}.video-tab.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.no-videos{padding:3rem;text-align:center;color:var(--text-secondary);background:#ffffff0d;border-radius:var(--border-radius)}.metadata-section{background:var(--surface);border-radius:var(--border-radius);padding:2rem;box-shadow:0 2px 8px #0003;height:fit-content;position:sticky;top:2rem}.metadata-section h2{margin-top:0;color:var(--primary-color);font-size:1.5rem}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;padding:2rem}.error-container h2{color:var(--error);margin-bottom:1rem}.error-container p{color:var(--text-secondary);margin-bottom:2rem}@media(max-width:1024px){.details-main{grid-template-columns:1fr}.metadata-section{position:static}}@media(max-width:768px){.details-header{padding:1.5rem}.details-header .header-content{flex-direction:column;align-items:flex-start;gap:1rem}.details-header h1{font-size:1.5rem}.details-main{padding:1rem;gap:1rem}.video-section,.metadata-section{padding:1.5rem}.video-tabs{flex-direction:column}.video-tab{width:100%}}.video-player{width:100%}.video-info{margin-bottom:1rem}.video-info-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.video-info h3{margin:0;color:var(--text-primary);font-size:1.2rem;text-transform:capitalize}.video-fps{font-size:.85rem;color:var(--text-secondary);background:#ffffff1a;padding:.25rem .5rem;border-radius:4px;font-family:monospace}.video-filename{margin:.25rem 0 0;color:var(--text-secondary);font-size:.85rem;font-family:monospace}.video-container{width:100%;background:#000;border-radius:var(--border-radius);overflow:hidden;box-shadow:0 4px 12px #0000004d}.video-element{width:100%;height:auto;display:block;max-height:70vh}.video-controls-info{margin-top:1rem;padding:1rem;background:#646cff1a;border-left:3px solid var(--primary-color);border-radius:4px}.video-note{margin:0;color:var(--text-secondary);font-size:.85rem}.video-player-empty{padding:3rem;text-align:center;color:var(--text-secondary);background:#ffffff0d;border-radius:var(--border-radius)}@media(max-width:768px){.video-element{max-height:50vh}}.metadata-table{width:100%}.metadata-table h3{color:var(--primary-color);margin:0 0 1rem;font-size:1.1rem;font-weight:600}.metadata-table .section-header{margin-top:1.5rem}.metadata-row{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.metadata-row:last-child{border-bottom:none}.metadata-label{font-weight:600;color:var(--text-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.metadata-value{color:var(--text-primary);font-size:.9rem;word-break:break-word;display:flex;align-items:center;gap:.5rem}.metadata-value span{flex:1}.description-section{padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.description-section .metadata-label{font-weight:600;color:var(--text-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.description-text{color:var(--text-primary);font-size:.9rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.copy-btn{background:none;border:none;cursor:pointer;font-size:1rem;padding:.25rem;opacity:.6;transition:opacity .2s ease,transform .1s ease}.copy-btn:hover{opacity:1;transform:scale(1.1)}.copy-btn:active{transform:scale(.95)}.files-section{display:flex;flex-direction:column;gap:.5rem}.files-loading,.files-error{color:var(--text-secondary);font-size:.85rem;padding:.5rem 0}.file-row{padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.file-row:last-child{border-bottom:none}.file-row .metadata-label{margin-bottom:.5rem}.file-path{display:flex;align-items:flex-start;gap:.5rem;background:#0003;padding:.5rem .75rem;border-radius:4px;font-family:monospace;font-size:.8rem;word-break:break-all}.file-path span{flex:1;color:var(--text-secondary)}.file-paths-list{display:flex;flex-direction:column;gap:.5rem}.file-path-item{display:flex;flex-direction:column;gap:.25rem}.file-path-label{font-size:.75rem;color:var(--text-secondary);text-transform:capitalize}@media(max-width:768px){.metadata-row{grid-template-columns:1fr;gap:.25rem}.metadata-label{font-size:.75rem}.metadata-value{font-size:.85rem}}.datasets-page{min-height:100vh;background:var(--background);color:var(--text-primary)}.datasets-header{position:sticky;top:0;z-index:100}.datasets-main{max-width:1800px;margin:0 auto;padding:2rem}.loading,.error-message{text-align:center;padding:3rem;font-size:1.1rem}.error-message{color:#ff6b6b}.empty-state h2{color:var(--primary-color);margin-bottom:1rem}.empty-state p{color:var(--text-secondary);margin-bottom:2rem;font-size:1.1rem}.datasets-container{display:grid;grid-template-columns:1fr 2fr;gap:2rem;align-items:start}.datasets-list h2{color:var(--primary-color);margin-bottom:1.5rem;font-size:1.5rem}.search-box{position:relative;margin-bottom:1.5rem}.search-input{width:100%;padding:.75rem 2.5rem .75rem .75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--text-primary);font-size:.9rem;transition:border-color .2s ease,background .2s ease}.search-input:focus{outline:none;border-color:var(--primary-color);background:#ffffff14}.search-input::placeholder{color:#ffffff80}.clear-search-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#ffffff80;font-size:1.5rem;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;padding:0;line-height:1}.clear-search-btn:hover{background:#ffffff1a;color:var(--text-primary)}.no-results{text-align:center;padding:2rem;color:var(--text-secondary);font-style:italic}.no-results p{margin:0}.dataset-cards{display:flex;flex-direction:column;gap:1rem;max-height:calc(100vh - 280px);overflow-y:auto;overflow-x:hidden;padding-right:.5rem}.dataset-cards::-webkit-scrollbar{width:8px}.dataset-cards::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.dataset-cards::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.dataset-cards::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.dataset-card{background:var(--surface);border:2px solid rgba(255,255,255,.1);border-radius:var(--border-radius);padding:1.5rem;cursor:pointer;transition:all .2s ease}.dataset-card:hover{border-color:#646cff4d;transform:translate(4px);box-shadow:0 4px 12px #0003}.dataset-card.active{border-color:var(--primary-color);background:#646cff1a}.dataset-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem}.dataset-card-header h3{margin:0;color:var(--text-primary);font-size:1.25rem;flex:1}.delete-button{background:#ff6b6b33;border:1px solid rgba(255,107,107,.3);color:#ff6b6b;width:32px;height:32px;border-radius:4px;cursor:pointer;font-size:1.5rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;line-height:1}.delete-button:hover{background:#ff6b6b4d;transform:scale(1.1)}.dataset-card-info{display:flex;flex-direction:column;gap:.5rem}.info-row{display:flex;justify-content:space-between;font-size:.9rem}.info-row .label{color:var(--text-secondary);font-weight:600}.info-row .value{color:var(--text-primary)}.expand-indicator{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);text-align:center;font-size:.85rem;color:var(--text-secondary)}.dataset-details{background:var(--surface);border-radius:var(--border-radius);padding:2rem;border:2px solid var(--primary-color);position:sticky;top:2rem;max-height:calc(100vh - 4rem);overflow-y:auto;overflow-x:hidden}.dataset-details::-webkit-scrollbar{width:8px}.dataset-details::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.dataset-details::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.dataset-details::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.dataset-placeholder{background:var(--surface);border-radius:var(--border-radius);padding:2rem;border:2px solid rgba(255,255,255,.1);position:sticky;top:2rem;max-height:calc(100vh - 4rem);display:flex;align-items:center;justify-content:center}.placeholder-content{text-align:center;max-width:400px}.placeholder-icon{width:80px;height:80px;color:var(--primary-color);opacity:.5;margin:0 auto 1.5rem;display:block}.placeholder-content h3{color:var(--primary-color);font-size:1.5rem;margin:0 0 1rem}.placeholder-content p{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin:0}.details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid rgba(255,255,255,.1)}.details-header h2{margin:0;color:var(--text-primary);font-size:1.75rem;font-weight:700}.close-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:var(--text-primary);width:36px;height:36px;border-radius:4px;cursor:pointer;font-size:1.75rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;line-height:1}.close-button:hover{background:#fff3;transform:rotate(90deg)}.details-metadata{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;padding:1rem;background:#ffffff0d;border-radius:4px}.metadata-item{display:flex;flex-direction:column;gap:.25rem}.metadata-item .label{font-size:.85rem;color:var(--text-secondary);font-weight:600}.metadata-item .value{font-size:1.1rem;color:var(--text-primary)}.visualizations-section{margin-top:2rem;padding-top:2rem;border-top:2px solid rgba(255,255,255,.1)}.visualizations-title{color:var(--primary-color);margin-bottom:1.5rem;font-size:1.5rem}.visualization-loading{text-align:center;padding:2rem;color:var(--text-secondary)}.visualizations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:2rem}.visualization-card{background:#ffffff0d;border-radius:8px;padding:1.5rem;border:1px solid rgba(255,255,255,.1)}.visualization-card h4{color:var(--text-primary);margin:0 0 1rem;font-size:1.1rem;font-weight:600}.no-data{text-align:center;padding:3rem 1rem;color:var(--text-secondary);font-style:italic}.visualization-card .recharts-wrapper{color:var(--text-primary);overflow:visible}.visualization-card .recharts-surface{overflow:visible}.visualization-card .recharts-cartesian-axis-tick-value{fill:var(--text-primary);color:var(--text-primary)}.visualization-card .recharts-bar-rectangle,.visualization-card .recharts-bar .recharts-bar-rectangle,.recharts-bar-rectangle{fill:#646cff!important;stroke:#646cff!important;stroke-width:1px!important}.visualization-card .recharts-bar,.recharts-bar{fill:#646cff!important}.visualization-card .recharts-legend-item-text{fill:var(--text-primary)!important;color:var(--text-primary)!important}.visualization-card .recharts-tooltip-wrapper,.visualization-card .recharts-tooltip-label{color:var(--text-primary)}.visualization-card .recharts-default-tooltip{background-color:var(--surface)!important;border:1px solid rgba(255,255,255,.2)!important;color:var(--text-primary)!important}.visualization-card .recharts-pie-label-text{fill:var(--text-primary);font-size:.75rem}.visualization-card .recharts-pie-label-line{stroke:var(--text-secondary);stroke-width:1}.visualization-card .recharts-pie{overflow:visible}.visualization-card .recharts-legend-wrapper{margin-top:1rem;padding:0 1rem}.visualization-card .recharts-legend-item{margin-bottom:.5rem}.episodes-section{margin-top:2rem;padding-top:2rem;border-top:2px solid rgba(255,255,255,.1)}.episodes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:2rem}.episodes-info h3{color:var(--primary-color);margin:0 0 .25rem;font-size:1.25rem}.episodes-info p{margin:0;color:var(--text-secondary);font-size:.9rem}.view-episodes-button{padding:.75rem 2rem;background:var(--primary-color);border:none;border-radius:4px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:1rem;width:100%;margin-top:1rem}.view-episodes-button:hover{background:var(--secondary-color);transform:translateY(-2px);box-shadow:0 4px 12px #646cff4d}.episodes-header .pagination{display:flex;align-items:center;gap:1rem}.episodes-header .pagination-btn{padding:.5rem 1rem;background:var(--primary-color);border:none;border-radius:4px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9rem}.episodes-header .pagination-btn:hover:not(:disabled){background:var(--secondary-color);transform:translateY(-1px);box-shadow:0 2px 8px #646cff4d}.episodes-header .pagination-btn:disabled{background:#ffffff1a;color:var(--text-secondary);cursor:not-allowed;opacity:.5}.episodes-header .pagination-info{color:var(--text-primary);font-size:.9rem;white-space:nowrap}.confirm-dialog{background:var(--surface);border-radius:var(--border-radius);padding:2rem;max-width:500px;box-shadow:0 8px 32px #0006;animation:slideUp .3s ease-out}.confirm-dialog h3{margin:0 0 1rem;color:#ff6b6b;font-size:1.5rem}.confirm-dialog p{margin:0 0 1.5rem;color:var(--text-primary);line-height:1.6}.dialog-buttons{display:flex;gap:1rem;justify-content:flex-end}.delete-confirm-button{padding:.75rem 1.5rem;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9rem;background:#ff6b6b;color:#fff}.delete-confirm-button:hover{background:#ff5252;transform:translateY(-1px);box-shadow:0 4px 12px #ff6b6b4d}@media(max-width:1200px){.datasets-container{grid-template-columns:1fr}}@media(max-width:768px){.datasets-main,.datasets-header{padding:1rem}.header-content{flex-direction:column;align-items:flex-start;gap:1rem}.datasets-header h1{font-size:1.5rem}.dataset-details{padding:1rem}.details-metadata{grid-template-columns:1fr}.episodes-table{font-size:.8rem}.episodes-table th,.episodes-table td{padding:.5rem}}.storage-locations-page{min-height:100vh;background:var(--background);color:var(--text-primary)}.storage-header{position:sticky;top:0;z-index:100}.storage-main{max-width:1800px;margin:0 auto;padding:2rem}.action-buttons{display:flex;gap:1rem;margin-bottom:2rem}.storage-locations-section{background:var(--surface);border-radius:var(--border-radius);padding:2rem;box-shadow:0 2px 8px #0000001a}.storage-locations-section h2{margin-top:0;margin-bottom:1.5rem;color:var(--text-primary);font-size:1.5rem;font-weight:600}.locations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.location-card{background:var(--background);border:1px solid var(--border);border-radius:var(--border-radius);padding:1.5rem;transition:all .2s ease}.location-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026;border-color:var(--primary-color)}.location-card h3{margin:0 0 1rem;color:var(--primary-color);font-size:1.25rem;font-weight:600}.location-details{display:flex;flex-direction:column;gap:.75rem}.detail-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.detail-row .label{font-weight:500;color:var(--text-secondary)}.detail-row .value{color:var(--text-primary);font-family:Monaco,Courier New,monospace;background:var(--surface);padding:.25rem .5rem;border-radius:4px;font-size:.9rem}.loading{text-align:center;padding:3rem;color:var(--text-secondary);font-size:1.1rem}.empty-state{text-align:center;padding:4rem 2rem;background:var(--surface);border-radius:var(--border-radius);margin:2rem auto;max-width:600px}.empty-state p{color:var(--text-secondary);font-size:1.1rem}.error-message{background-color:#ff6b6b1a;color:#ff6b6b;padding:1rem;border-radius:var(--border-radius);margin-bottom:1rem;border:1px solid rgba(255,107,107,.3)}.success-message{text-align:center;padding:2rem}.success-message h3{color:#51cf66;margin-bottom:1rem;font-size:1.5rem}.success-message p{color:var(--text-primary);font-size:1.1rem;margin-bottom:1.5rem}.result-details{background:var(--background);border-radius:var(--border-radius);padding:1.5rem;margin:1.5rem 0;text-align:left;border:1px solid var(--border)}.result-details .detail-row{margin-bottom:.75rem;flex-direction:column;align-items:flex-start;gap:.25rem}.result-details .value{word-break:break-all;font-size:.9rem;width:100%}.modal-buttons{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.admin-page{min-height:100vh;background-color:var(--background)}.admin-header{position:sticky;top:0;z-index:100}.admin-content{max-width:1400px;margin:0 auto;padding:2rem}.error-message,.success-message{padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center}.error-message{background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.success-message{background-color:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#86efac}.error-message button,.success-message button{background:none;border:none;color:inherit;font-size:1.5rem;cursor:pointer;padding:0 .5rem;opacity:.7}.error-message button:hover,.success-message button:hover{opacity:1}.admin-section{background-color:var(--surface);border-radius:12px;padding:1.5rem;margin-bottom:2rem;border:1px solid rgba(255,255,255,.1)}.admin-section h2{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{margin:0}.users-table-container{overflow-x:auto}.users-table{width:100%;border-collapse:collapse;table-layout:fixed}.users-table th{text-align:left;padding:1rem;color:var(--text-secondary);font-weight:600;border-bottom:2px solid rgba(255,255,255,.1);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.users-table th:nth-child(1){width:40%}.users-table th:nth-child(2){width:20%}.users-table th:nth-child(3){width:40%}.users-table td{padding:1rem;color:var(--text-primary);border-bottom:1px solid rgba(255,255,255,.05)}.users-table tbody tr:hover:not(.add-user-button-row):not(.add-user-row){background-color:#ffffff05}.add-user-row{background-color:#646cff14;border-top:2px solid var(--primary);border-bottom:2px solid var(--primary)}.add-user-row td{padding:1rem}.add-user-input{width:100%;padding:.5rem;background-color:var(--background);border:1px solid rgba(255,255,255,.2);border-radius:6px;color:var(--text-primary);font-size:.875rem}.add-user-input:focus{outline:none;border-color:var(--primary)}.add-user-button-row{background-color:#ffffff03}.add-user-button-row:hover{background-color:#ffffff08}.add-user-button-row td{padding:0}.btn-add-user{width:100%;padding:1rem;background:none;border:none;color:var(--primary);font-size:.875rem;font-weight:500;cursor:pointer;text-align:center;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-add-user:hover{background-color:#646cff1a;color:var(--primary-hover)}.role-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.role-badge.role-admin{background-color:#ef444433;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.role-badge.role-curator{background-color:#3b82f633;color:#93c5fd;border:1px solid rgba(59,130,246,.3)}.role-select{background-color:var(--background);color:var(--text-primary);border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:.5rem;font-size:.875rem;cursor:pointer}.role-select:focus{outline:none;border-color:var(--primary)}.actions-cell{display:flex;gap:.5rem}.btn-primary,.btn-secondary,.btn-danger{padding:.5rem 1rem;border-radius:6px;border:none;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:#ffffff1a;color:var(--text-primary);border:1px solid rgba(255,255,255,.2)}.btn-secondary:hover{background-color:#ffffff26}.btn-danger{background-color:#ef444433;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.btn-danger:hover{background-color:#ef44444d}.admin-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.admin-action-card{background-color:#ffffff05;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1.5rem;transition:all .2s;display:flex;flex-direction:column}.admin-action-card:hover{border-color:#fff3;background-color:#ffffff08}.admin-action-card.danger{border-color:#ef44444d;background-color:#ef44440d}.admin-action-card.danger:hover{border-color:#ef444466;background-color:#ef444414}.admin-action-card h3{color:var(--text-primary);margin:0 0 .5rem;font-size:1.125rem}.admin-action-card p{color:var(--text-secondary);margin:0 0 1rem;font-size:.875rem;line-height:1.5;flex:1}.admin-action-card button{width:100%;margin-top:auto}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:var(--surface);border-radius:12px;padding:2rem;max-width:500px;width:90%;border:1px solid rgba(255,255,255,.1)}.modal-content.modal-large{max-width:700px}.modal-content h2{color:var(--text-primary);margin:0 0 1.5rem;font-size:1.5rem}.modal-description{color:var(--text-secondary);margin-bottom:1rem;line-height:1.6}.code-example{background-color:var(--background);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:1rem;margin-bottom:1.5rem;overflow-x:auto;color:var(--text-primary);font-family:Monaco,Menlo,Courier New,monospace;font-size:.875rem;line-height:1.5}.confirm-dialog p{color:var(--text-primary);margin-bottom:1.5rem;line-height:1.6}.form-group label{display:block;color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;background-color:var(--background);border:1px solid rgba(255,255,255,.2);border-radius:6px;color:var(--text-primary);font-size:1rem;font-family:inherit}.form-group textarea{font-family:Monaco,Menlo,Courier New,monospace;font-size:.875rem;resize:vertical;min-height:200px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary)}.form-group textarea.error{border-color:#ef444480}.field-error{color:#fca5a5;font-size:.875rem;margin-top:.5rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.modal-actions button{min-width:100px}.loading{text-align:center;padding:3rem;color:var(--text-secondary);font-size:1.125rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background-color:#ffffff05;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1rem;text-align:center;cursor:pointer;transition:all .2s}.stat-card:hover{border-color:#fff3;background-color:#ffffff0a}.stat-card.active{border-color:var(--primary);background-color:#646cff1a}.stat-label{color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:600}.stat-card-pending .stat-value{color:#fbbf24}.stat-card-session-metadata-received .stat-value{color:#60a5fa}.stat-card-session-metadata-missing-files .stat-value{color:#f97316}.stat-card-processing .stat-value{color:#a78bfa}.stat-card-processed .stat-value{color:#34d399}.stat-card-failed .stat-value{color:#f87171}.ingest-filters{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem;padding:1rem;background-color:#ffffff05;border-radius:8px;border:1px solid rgba(255,255,255,.05)}.ingest-filters .filter-group{display:flex;align-items:center;gap:.75rem}.ingest-filters .filter-group label{color:var(--text-secondary);font-size:.875rem;font-weight:500;white-space:nowrap}.hours-select,.storage-select{background-color:var(--background);color:var(--text-primary);border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:.5rem .75rem;font-size:.875rem;cursor:pointer;min-width:120px}.hours-select:focus,.storage-select:focus{outline:none;border-color:var(--primary)}.status-multi-select{position:relative;min-width:250px}.status-select-trigger{background-color:var(--background);border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:.5rem .75rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:38px}.status-select-trigger:hover{border-color:#ffffff4d}.status-select-trigger .placeholder{color:var(--text-secondary);font-size:.875rem}.status-select-trigger .dropdown-arrow{color:var(--text-secondary);font-size:.625rem}.selected-tags{display:flex;flex-wrap:wrap;gap:.375rem;flex:1}.status-tag{background-color:#646cff33;color:var(--primary);padding:.25rem .5rem;border-radius:4px;font-size:.75rem;display:flex;align-items:center;gap:.25rem;border:none;cursor:pointer}.filter-label{color:var(--text-secondary);font-size:.875rem;font-weight:500;white-space:nowrap}.status-tag .tag-remove{cursor:pointer;opacity:.7;font-size:.875rem}.status-tag .tag-remove:hover{opacity:1}.status-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background-color:var(--surface);border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:.5rem;z-index:100;box-shadow:0 4px 12px #0000004d}.status-option{display:flex;align-items:center;gap:.5rem;padding:.5rem;cursor:pointer;border-radius:4px;color:var(--text-primary);font-size:.875rem}.status-option:hover{background-color:#ffffff0d}.status-option input[type=checkbox]{cursor:pointer}.selection-bar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:8px;margin-bottom:1rem}.selection-info{display:flex;align-items:center;gap:1rem}.select-all-checkbox{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);font-size:.875rem;cursor:pointer}.select-all-checkbox input{cursor:pointer}.selected-count{color:var(--primary);font-weight:500;font-size:.875rem}.sessions-table-container{overflow-x:auto;margin-bottom:1rem}.sessions-table{width:100%;border-collapse:collapse;min-width:900px}.sessions-table th{text-align:left;padding:.75rem;color:var(--text-secondary);font-weight:600;border-bottom:2px solid rgba(255,255,255,.1);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.sessions-table td{padding:.75rem;color:var(--text-primary);border-bottom:1px solid rgba(255,255,255,.05);font-size:.875rem;vertical-align:top}.sessions-table tbody tr:hover{background-color:#ffffff05}.sessions-table tbody tr.selected{background-color:#646cff1a}.checkbox-col{width:40px;text-align:center}.id-col{width:60px}.uri-col{min-width:300px}.uri-text{word-break:break-all;font-family:Monaco,Menlo,Courier New,monospace;font-size:.8125rem}.status-col{width:120px}.count-col{width:80px;text-align:center}.age-col{width:70px;text-align:right}.error-col{min-width:150px}.error-text{color:#f87171;font-size:.8125rem}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.status-pending{background-color:#fbbf2433;color:#fbbf24}.status-session-metadata-received{background-color:#60a5fa33;color:#60a5fa}.status-session-metadata-missing-files{background-color:#f9731633;color:#f97316}.status-processing{background-color:#a78bfa33;color:#a78bfa}.status-processed{background-color:#34d39933;color:#34d399}.status-failed{background-color:#f8717133;color:#f87171}.no-sessions{text-align:center;padding:3rem;color:var(--text-secondary)}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem}.page-info{color:var(--text-secondary);font-size:.875rem}.promotion-modal{max-width:500px}.progress-info{text-align:center;color:var(--text-primary);margin-bottom:1rem;font-size:.875rem}.progress-bar-container{height:8px;background-color:#ffffff1a;border-radius:4px;overflow:hidden;margin-bottom:1rem}.progress-bar{height:100%;background-color:var(--primary);transition:width .3s ease;border-radius:4px}.progress-stats{display:flex;justify-content:center;gap:2rem;font-size:.875rem}.stat-success{color:#34d399}.stat-failed{color:#f87171}.promotion-summary{text-align:center;margin-bottom:1.5rem}.promotion-summary p{color:var(--text-primary);font-size:1rem}.promotion-errors{margin-bottom:1.5rem}.promotion-errors h3{color:#f87171;font-size:1rem;margin-bottom:.75rem}.errors-list{max-height:200px;overflow-y:auto;background-color:#f871710d;border:1px solid rgba(248,113,113,.2);border-radius:6px;padding:.75rem}.error-item{padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:.8125rem}.error-item:last-child{border-bottom:none}.error-session{color:var(--text-secondary);margin-right:.5rem}.error-msg{color:#fca5a5}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(3,1fr)}.ingest-filters{flex-direction:column;gap:1rem}.ingest-filters .filter-group{width:100%}.status-multi-select{min-width:100%}.selection-bar{flex-direction:column;gap:1rem;align-items:stretch}.selection-info{flex-direction:column;align-items:flex-start}}.login-page{min-height:100vh;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);display:flex;align-items:center;justify-content:center;padding:2rem}.login-container{max-width:500px;width:100%}.login-header{text-align:center;margin-bottom:2rem;color:#fff}.login-header h1{margin:0 0 .5rem;font-size:2.5rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.2)}.login-subtitle{margin:0;font-size:1.1rem;color:#ffffffe6}.login-card{background:var(--surface);border-radius:var(--border-radius);padding:3rem;box-shadow:0 8px 32px #0000004d}.login-card h2{margin:0 0 .5rem;color:var(--text-primary);font-size:1.75rem}.login-description{margin:0 0 2rem;color:var(--text-secondary);line-height:1.6}.login-button-container{display:flex;justify-content:center;margin-bottom:2rem}.login-info{padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.info-text{margin:0;font-size:.9rem;color:var(--text-secondary);line-height:1.5}.info-text strong{color:var(--text-primary)}.login-footer{text-align:center;margin-top:2rem;color:#ffffffb3;font-size:.9rem}.login-footer p{margin:0}@media(max-width:768px){.login-page{padding:1rem}.login-header h1{font-size:2rem}.login-card{padding:2rem 1.5rem}}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;color:#ffffffde}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--surface);border-radius:var(--border-radius);box-shadow:0 8px 32px #0006;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out;overflow-y:auto}.modal-content.large{max-width:700px}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h2{margin:0;color:var(--primary-color);font-size:1.5rem;font-weight:600}.modal-close{background:none;border:none;color:var(--text-primary);font-size:2rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s ease;line-height:1}.modal-close:hover{background:#ffffff1a}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.primary-button{padding:.75rem 2rem;background:var(--primary-color);border:none;border-radius:4px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:1rem}.primary-button:hover:not(:disabled){background:var(--secondary-color);transform:translateY(-2px);box-shadow:0 4px 12px #646cff4d}.primary-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.secondary-button{padding:.75rem 2rem;background:var(--surface);border:2px solid var(--primary-color);border-radius:4px;color:var(--primary-color);font-weight:600;cursor:pointer;transition:all .2s ease;font-size:1rem}.secondary-button:hover{background:var(--primary-color);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #646cff4d}.cancel-button{padding:.75rem 2rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:var(--text-primary);font-weight:600;cursor:pointer;transition:all .2s ease;font-size:1rem}.cancel-button:hover:not(:disabled){background:#ffffff26;border-color:var(--text-secondary)}.cancel-button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{padding:.75rem 1.5rem;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9rem;background:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background:var(--secondary-color);transform:translateY(-1px);box-shadow:0 4px 8px #646cff4d}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:.75rem 1.5rem;background:#ffffff1a;color:var(--text-primary);border:1px solid rgba(255,255,255,.2);border-radius:4px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9rem}.btn-secondary:hover{background:#ffffff26}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary);font-size:.9rem}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid rgba(255,255,255,.1);border-radius:4px;font-size:1rem;box-sizing:border-box;background:#ffffff0d;color:var(--text-primary);transition:border-color .2s ease,background .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);background:#ffffff14;box-shadow:0 0 0 3px #646cff1a}.form-group small{display:block;margin-top:.25rem;color:var(--text-secondary);font-size:.875rem}.page-header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);padding:2rem;box-shadow:0 4px 6px #0000001a}.page-header .header-content{max-width:1800px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:2rem;width:100%}.page-header h1{margin:0;font-size:2rem;font-weight:700;color:#fff}.page-header .subtitle{margin:.5rem 0 0;font-size:1rem;color:#ffffffe6}.info-box{background-color:#646cff1a;border-left:4px solid var(--primary-color);padding:1rem;margin-bottom:1.5rem;border-radius:4px}.info-box strong{color:var(--primary-color)}@media(max-width:768px){.modal-content{width:95%;max-height:90vh}.modal-header,.modal-body,.modal-footer{padding:1rem}.modal-header h2{font-size:1.25rem}.page-header{padding:1rem}.page-header .header-content{flex-direction:column;align-items:flex-start;gap:1rem}.page-header h1{font-size:1.5rem}}
